Terminal Controll...
Web Server forum
Back To The Forum Home!Search!Private Messaging System

Web Server Talk Web Server Talk > Unix and Linux reviews > Free Unix support > Unix Programming > Terminal Controll...




  Last Thread   Next Thread Next
  Show Printable Version Email this Page Subscribe to this Thread      Post New Thread    Post A Reply      

    Terminal Controll...  
Brendan zerofor0je


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
01-23-04 10:17 PM

Hello,

I've written a small reverse-telnet client that connects to a server that
handles all the clients.

the reverse telnet node ( whitch i will refer to as rtn from now on) works
by opening up a pty, and with a simple select() it passes data between the
sockets and the pty that /bin/sh runs on.

Meanwihle, the server program( that i will refer to as trc from now on)
sits and listens for nodes running rtn, once a node connects trc takes
controll over it; my problem?

once a rtn node connects to trc2, it works fine, but im having problems on
the input line ( i've tryed 'nc' in listen mode and it works fine, even
the mangled prompt )

Anyway, my problem is the terminal doesnt work properly for example tpying
on the trc prompt i get this undesired result;

hardk0re$ ls -lah /u    lo      bi      mo ls -lah /usr/local/bin/mozilla
-rwxr-xr-x    1 root     root         2.9k Jun 19 17:51
/usr/local/bin/mozilla hardk0re$

As you can see, when i type text it does not 'expand' but after i press
'enter' the desired output that i want on the terminal line is printed
out.

Zhivago from #C freenode aksed me to compile this small program;
---
#include <stdio.h>
#include <stdlib.h>

int main(){
int c;
c = getchar();
printf("%c\n",c);
}
---
As you would expect on a normal terminal ( not my cruddy trc :-P ) it
prints out;
hardk0re$ ./a.out
m                  <- the letter you typed
m                  <- the letter printf'd back
hardk0re$

But on trc it behaves oddly,

hardk0re$ ./a.out
./a.out
m
m
m
hardk0re$

If anyone knows how to rememdy this i would be very pleased to hear it,
thank you in advance.





[ Post a follow-up to this message ]



    Re: Terminal Controll...  
Fletcher Glenn


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
01-23-04 10:17 PM

It sounds like you're using cbreak mode instead of raw mode.
Cbreak mode forces input to be delimited with newlines.  Raw
mode allows you to handle things one character at a time, but
it also requires you to handle such things as backspaces and
other forms of input line editing.

--

Fletcher Glenn

Brendan zerofor0je wrote:
quote:
> Hello, > > I've written a small reverse-telnet client that connects to a server that > handles all the clients. > > the reverse telnet node ( whitch i will refer to as rtn from now on) works > by opening up a pty, and with a simple select() it passes data between the > sockets and the pty that /bin/sh runs on. > > Meanwihle, the server program( that i will refer to as trc from now on) > sits and listens for nodes running rtn, once a node connects trc takes > controll over it; my problem? > > once a rtn node connects to trc2, it works fine, but im having problems on > the input line ( i've tryed 'nc' in listen mode and it works fine, even > the mangled prompt ) > > Anyway, my problem is the terminal doesnt work properly for example tpying > on the trc prompt i get this undesired result; > > hardk0re$ ls -lah /u lo bi mo ls -lah /usr/local/bin/mozilla > -rwxr-xr-x 1 root root 2.9k Jun 19 17:51 > /usr/local/bin/mozilla hardk0re$ > > As you can see, when i type text it does not 'expand' but after i press > 'enter' the desired output that i want on the terminal line is printed > out. > > Zhivago from #C freenode aksed me to compile this small program; > --- > #include <stdio.h> > #include <stdlib.h> > > int main(){ > int c; > c = getchar(); > printf("%c\n",c); > } > --- > As you would expect on a normal terminal ( not my cruddy trc :-P ) it > prints out; > hardk0re$ ./a.out > m <- the letter you typed > m <- the letter printf'd back > hardk0re$ > > But on trc it behaves oddly, > > hardk0re$ ./a.out > ./a.out > m > m > m > hardk0re$ > > If anyone knows how to rememdy this i would be very pleased to hear it, > thank you in advance.




[ Post a follow-up to this message ]



    Re: Terminal Controll...  
Brendan zerofor0je


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
01-23-04 10:17 PM

On Sat, 08 Nov 2003 00:50:46 +0000, Fletcher Glenn wrote:
[QUOTE]
> It sounds like you're using cbreak mode instead of raw mode.
> Cbreak mode forces input to be delimited with newlines.  Raw
> mode allows you to handle things one character at a time, but
> it also requires you to handle such things as backspaces and
> other forms of input line editing.
>
> --
>
> Fletcher Glenn
>
> Brendan zerofor0je wrote: 

Thanks, It worked!





[ Post a follow-up to this message ]



    Sponsored Links  




 





   All times are GMT. The time now is 01:30 PM.      Post New Thread    Post A Reply      
  Last Thread   Next Thread Next


Most Popular forums 

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is OFF
 
Medical and Health forum | Computer Games Reviews | Graphics design forum

Back To The Top
Home | Usercp | Faq | Register