version 1.101, 2018/07/09 13:37:10 |
version 1.102, 2018/07/09 21:26:02 |
|
|
extern z_stream incoming_stream; |
extern z_stream incoming_stream; |
extern z_stream outgoing_stream; |
extern z_stream outgoing_stream; |
extern struct monitor *pmonitor; |
extern struct monitor *pmonitor; |
extern Buffer loginmsg; |
extern struct sshbuf *loginmsg; |
extern ServerOptions options; |
extern ServerOptions options; |
|
|
void |
void |
|
|
{ |
{ |
Buffer m; |
Buffer m; |
char *p, *msg; |
char *p, *msg; |
int success = 0, tmp1 = -1, tmp2 = -1; |
int success = 0, tmp1 = -1, tmp2 = -1, r; |
|
|
/* Kludge: ensure there are fds free to receive the pty/tty */ |
/* Kludge: ensure there are fds free to receive the pty/tty */ |
if ((tmp1 = dup(pmonitor->m_recvfd)) == -1 || |
if ((tmp1 = dup(pmonitor->m_recvfd)) == -1 || |
|
|
strlcpy(namebuf, p, namebuflen); /* Possible truncation */ |
strlcpy(namebuf, p, namebuflen); /* Possible truncation */ |
free(p); |
free(p); |
|
|
buffer_append(&loginmsg, msg, strlen(msg)); |
if ((r = sshbuf_put(loginmsg, msg, strlen(msg))) != 0) |
|
fatal("%s: buffer error: %s", __func__, ssh_err(r)); |
free(msg); |
free(msg); |
|
|
if ((*ptyfd = mm_receive_fd(pmonitor->m_recvfd)) == -1 || |
if ((*ptyfd = mm_receive_fd(pmonitor->m_recvfd)) == -1 || |