- Don't permanently fail on bind() if getaddrinfo has more choices left for
us. Needed to work around messy IPv6 on Linux. Patch from Arkadiusz Miskiewicz <misiek@pld.org.pl>
This commit is contained in:
parent
4095f894dc
commit
3c7eeb2af5
1
CREDITS
1
CREDITS
|
@ -6,6 +6,7 @@ Theo de Raadt, and Dug Song - Creators of OpenSSH
|
||||||
Andrew Stribblehill <a.d.stribblehill@durham.ac.uk> - Bugfixes
|
Andrew Stribblehill <a.d.stribblehill@durham.ac.uk> - Bugfixes
|
||||||
Andre Lucas <andre.lucas@dial.pipex.com> - build, login and many other fixes
|
Andre Lucas <andre.lucas@dial.pipex.com> - build, login and many other fixes
|
||||||
Andy Sloane <andy@guildsoftware.com> - bugfixes
|
Andy Sloane <andy@guildsoftware.com> - bugfixes
|
||||||
|
Arkadiusz Miskiewicz <misiek@pld.org.pl> - IPv6 compat fixes
|
||||||
Ben Taylor <bent@clark.net> - Solaris debugging and fixes
|
Ben Taylor <bent@clark.net> - Solaris debugging and fixes
|
||||||
Chip Salzenberg <chip@valinux.com> - Assorted patches
|
Chip Salzenberg <chip@valinux.com> - Assorted patches
|
||||||
Chris Saia <csaia@wtower.com> - SuSE packaging
|
Chris Saia <csaia@wtower.com> - SuSE packaging
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
20000303
|
20000303
|
||||||
- Added "make host-key" target, Suggestion from Dominik Brettnacher
|
- Added "make host-key" target, Suggestion from Dominik Brettnacher
|
||||||
<domi@saargate.de>
|
<domi@saargate.de>
|
||||||
|
- Don't permanently fail on bind() if getaddrinfo has more choices left for
|
||||||
|
us. Needed to work around messy IPv6 on Linux. Patch from Arkadiusz
|
||||||
|
Miskiewicz <misiek@pld.org.pl>
|
||||||
|
|
||||||
20000302
|
20000302
|
||||||
- Big cleanup of autoconf code
|
- Big cleanup of autoconf code
|
||||||
|
|
12
channels.c
12
channels.c
|
@ -16,7 +16,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
RCSID("$Id: channels.c,v 1.16 2000/01/17 02:22:55 damien Exp $");
|
RCSID("$Id: channels.c,v 1.17 2000/03/03 11:35:33 damien Exp $");
|
||||||
|
|
||||||
#include "ssh.h"
|
#include "ssh.h"
|
||||||
#include "packet.h"
|
#include "packet.h"
|
||||||
|
@ -935,7 +935,11 @@ channel_request_local_forwarding(u_short port, const char *host,
|
||||||
/* Bind the socket to the address. */
|
/* Bind the socket to the address. */
|
||||||
if (bind(sock, ai->ai_addr, ai->ai_addrlen) < 0) {
|
if (bind(sock, ai->ai_addr, ai->ai_addrlen) < 0) {
|
||||||
/* address can be in use ipv6 address is already bound */
|
/* address can be in use ipv6 address is already bound */
|
||||||
verbose("bind: %.100s", strerror(errno));
|
if (!ai->ai_next)
|
||||||
|
error("bind: %.100s", strerror(errno));
|
||||||
|
else
|
||||||
|
verbose("bind: %.100s", strerror(errno));
|
||||||
|
|
||||||
close(sock);
|
close(sock);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -1199,6 +1203,10 @@ x11_create_display_inet(int screen_number, int x11_display_offset)
|
||||||
debug("bind port %d: %.100s", port, strerror(errno));
|
debug("bind port %d: %.100s", port, strerror(errno));
|
||||||
shutdown(sock, SHUT_RDWR);
|
shutdown(sock, SHUT_RDWR);
|
||||||
close(sock);
|
close(sock);
|
||||||
|
|
||||||
|
if (ai->ai_next)
|
||||||
|
continue;
|
||||||
|
|
||||||
for (n = 0; n < num_socks; n++) {
|
for (n = 0; n < num_socks; n++) {
|
||||||
shutdown(socks[n], SHUT_RDWR);
|
shutdown(socks[n], SHUT_RDWR);
|
||||||
close(socks[n]);
|
close(socks[n]);
|
||||||
|
|
3
sshd.c
3
sshd.c
|
@ -558,7 +558,8 @@ main(int ac, char **av)
|
||||||
debug("Bind to port %s on %s.", strport, ntop);
|
debug("Bind to port %s on %s.", strport, ntop);
|
||||||
|
|
||||||
/* Bind the socket to the desired port. */
|
/* Bind the socket to the desired port. */
|
||||||
if (bind(listen_sock, ai->ai_addr, ai->ai_addrlen) < 0) {
|
if ((bind(listen_sock, ai->ai_addr, ai->ai_addrlen) < 0) &&
|
||||||
|
(!ai->ai_next)) {
|
||||||
error("Bind to port %s on %s failed: %.200s.",
|
error("Bind to port %s on %s failed: %.200s.",
|
||||||
strport, ntop, strerror(errno));
|
strport, ntop, strerror(errno));
|
||||||
close(listen_sock);
|
close(listen_sock);
|
||||||
|
|
Loading…
Reference in New Issue