diff options
author | ache <ache@FreeBSD.org> | 1996-10-18 07:00:41 +0800 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1996-10-18 07:00:41 +0800 |
commit | 47be1ef64c2aa5c26386d65675354bd7fed20524 (patch) | |
tree | 339374dd08733e7ad4b5d32d4a265d52c7e2fa2d /security/ssh | |
parent | e2e1d5f2588874de23c4a541e83c583f402b6469 (diff) | |
download | freebsd-ports-gnome-47be1ef64c2aa5c26386d65675354bd7fed20524.tar.gz freebsd-ports-gnome-47be1ef64c2aa5c26386d65675354bd7fed20524.tar.zst freebsd-ports-gnome-47be1ef64c2aa5c26386d65675354bd7fed20524.zip |
It fixes a really annoying error
reporting bug which happens if the remote end uses tcp_wrappers to control
sshd access (it says something like "read: no such file or directory" or
"read: permission denied" instead of "connection closed"). I already sent it
in to the ssh mailing list.
Submitted by: fenner
Diffstat (limited to 'security/ssh')
-rw-r--r-- | security/ssh/files/patch-ad | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/security/ssh/files/patch-ad b/security/ssh/files/patch-ad new file mode 100644 index 000000000000..5eeb34a2e22e --- /dev/null +++ b/security/ssh/files/patch-ad @@ -0,0 +1,32 @@ +*** sshconnect.c.orig Wed Oct 16 10:10:26 1996 +--- sshconnect.c Wed Oct 16 10:23:49 1996 +*************** +*** 797,802 **** +--- 797,803 ---- + char buf[256], remote_version[256]; /* must be same size! */ + int remote_major, remote_minor, i; + int my_major, my_minor; ++ int len; + int connection_in = packet_get_connection_in(); + int connection_out = packet_get_connection_out(); + +*************** +*** 803,809 **** + /* Read other side\'s version identification. */ + for (i = 0; i < sizeof(buf) - 1; i++) + { +! if (read(connection_in, &buf[i], 1) != 1) + fatal("read: %.100s", strerror(errno)); + if (buf[i] == '\r') + { +--- 804,813 ---- + /* Read other side\'s version identification. */ + for (i = 0; i < sizeof(buf) - 1; i++) + { +! len = read(connection_in, &buf[i], 1); +! if (len == 0) +! fatal("Connection closed by foreign host."); +! else if (len < 0) + fatal("read: %.100s", strerror(errno)); + if (buf[i] == '\r') + {
\ No newline at end of file |