search for: stdin_buff

Displaying 6 results from an estimated 6 matches for "stdin_buff".

Did you mean: stdin_buffer
2002 Feb 04
1
forkoff()
...0) { /* This is the parent. */ /* The parent just exits. */ exit(0); } c = channel_lookup(session_ident); if (c == NULL) error("couldn't lookup session channel"); /* The child continues serving connections. */ /* fake EOF on stdin */ if (compat20) { buffer_append(&stdin_buffer, "\004", 1); } else if (!stdin_eof) { /* * Sending SSH_CMSG_EOF alone does not always appear * to be enough. So we try to send an EOF character * first. */ packet_start(SSH_CMSG_STDIN_DATA); packet_put_string("\004", 1); packet_send(); /* Close stdin. *...
2000 May 15
0
OpenSSH (1.2.3) sshd hanging when using rsync over ssh (retry)
...nssh/sshd.c:970 #7 0x804aae1 in _start () The code around frame #1 was 361 { 362 int len; 363 364 /* Write buffered data to program stdin. */ 365 if (fdin != -1 && FD_ISSET(fdin, writeset)) { 366 len = write(fdin, buffer_ptr(&stdin_buffer), 367 buffer_len(&stdin_buffer)); 368 if (len <= 0) { 369 #ifdef USE_PIPES 370 close(fdin); and stdin_buffer contains $2 = {buf = 0x80b1000 "?\004\212D\204?c?", alloc = 45056, offset = 0, end = 8192}...
2002 Feb 01
1
FEATURE: -f -f - fork after successful open of fwd port/display/agent
...s is the parent. */ + /* The parent just exits. */ + exit(0); + } + + c = channel_lookup(session_ident); + if (c == NULL) + error("couldn't lookup session channel"); + + /* The child continues serving connections. */ + /* fake EOF on stdin */ + if (compat20) { + buffer_append(&stdin_buffer, "\004", 1); + } else if (!stdin_eof) { + /* + * Sending SSH_CMSG_EOF alone does not always appear + * to be enough. So we try to send an EOF character + * first. + */ + packet_start(SSH_CMSG_STDIN_DATA); + packet_put_string("\004", 1); + packet_send(); + /* Clos...
2002 Jan 11
1
X11 forwarding, -f, error handling
I'd like a feature whereby ssh puts itself in the background after the first successful X11 (or other port) forwarding. The reason for this is simple: error handling. If the application fails to open the X display and exits, then the client can still exit with the application's exit code. But if the application opens the X display successfully, then it can just display any errors by
2001 Oct 31
2
suggested fix for the sigchld race
..._done: reading"); +} + static void sigchld_handler(int sig) { @@ -99,6 +138,7 @@ debug("Received SIGCHLD."); child_terminated = 1; signal(SIGCHLD, sigchld_handler); + notify_parent(); errno = save_errno; } @@ -242,6 +282,7 @@ if (fdin != -1 && buffer_len(&stdin_buffer) > 0) FD_SET(fdin, *writesetp); } + notify_prepare(*readsetp); /* * If we have buffered packet data going to the client, mark that @@ -278,6 +319,8 @@ error("select: %.100s", strerror(errno)); } else if (ret == 0 && client_alive_scheduled) client_alive_c...
2002 Feb 05
0
New forkoff() and chan_wont_read/write() API
...+ /* + * Sending SSH_CMSG_EOF alone does not always appear + * to be enough. So we try to send an EOF character + * first. + */ + packet_start(SSH_CMSG_STDIN_DATA); + packet_put_string("\004", 1); + packet_send(); + /* Close stdin. */ + stdin_eof = 1; + if (buffer_len(&stdin_buffer) == 0) { + packet_start(SSH_CMSG_EOF); + packet_send(); + } + } + + if (!compat20) + return; + + c = channel_lookup(session_ident); + if (c == NULL) + error("couldn't lookup session channel"); + + if (detach) { + chan_wont_read(c); + chan_wont_write(c); + channel_close_fds...