=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/Attic/opacket.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- src/usr.bin/ssh/Attic/opacket.c 2015/01/19 19:52:16 1.1 +++ src/usr.bin/ssh/Attic/opacket.c 2015/01/28 21:15:47 1.2 @@ -253,8 +253,20 @@ u_char type; int r; - if ((r = ssh_packet_read_seqnr(active_state, &type, seqnr))) - fatal("%s: %s", __func__, ssh_err(r)); + if ((r = ssh_packet_read_seqnr(active_state, &type, seqnr)) != 0) { + switch (r) { + case SSH_ERR_CONN_CLOSED: + logit("Connection closed by %.200s", + ssh_remote_ipaddr(active_state)); + cleanup_exit(255); + case SSH_ERR_CONN_TIMEOUT: + logit("Connection to %.200s timed out while " + "waiting to read", ssh_remote_ipaddr(active_state)); + cleanup_exit(255); + default: + fatal("%s: %s", __func__, ssh_err(r)); + } + } return type; } @@ -274,4 +286,13 @@ { ssh_packet_close(active_state); active_state = NULL; +} + +void +packet_process_incoming(const char *buf, u_int len) +{ + int r; + + if ((r = ssh_packet_process_incoming(active_state, buf, len)) != 0) + fatal("%s: %s", __func__, ssh_err(r)); }