From 70f2e78de151241dd84c4cbd046c1ee44d674f20 Mon Sep 17 00:00:00 2001 From: markus <> Date: Fri, 9 May 2008 09:00:11 +0000 Subject: try SO_BINDANY for -s, but do not insist; ok bob, reyk --- src/usr.bin/nc/netcat.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/usr.bin/nc/netcat.c b/src/usr.bin/nc/netcat.c index 4228326bdd..48b2b673ba 100644 --- a/src/usr.bin/nc/netcat.c +++ b/src/usr.bin/nc/netcat.c @@ -1,4 +1,4 @@ -/* $OpenBSD: netcat.c,v 1.90 2008/05/06 05:47:39 djm Exp $ */ +/* $OpenBSD: netcat.c,v 1.91 2008/05/09 09:00:11 markus Exp $ */ /* * Copyright (c) 2001 Eric Jackson * @@ -487,7 +487,7 @@ int remote_connect(const char *host, const char *port, struct addrinfo hints) { struct addrinfo *res, *res0; - int s, error; + int s, error, on = 1; if ((error = getaddrinfo(host, port, &hints, &res))) errx(1, "getaddrinfo: %s", gai_strerror(error)); @@ -502,6 +502,8 @@ remote_connect(const char *host, const char *port, struct addrinfo hints) if (sflag || pflag) { struct addrinfo ahints, *ares; + /* try SO_BINDANY, but don't insist */ + setsockopt(s, SOL_SOCKET, SO_BINDANY, &on, sizeof(on)); memset(&ahints, 0, sizeof(struct addrinfo)); ahints.ai_family = res0->ai_family; ahints.ai_socktype = uflag ? SOCK_DGRAM : SOCK_STREAM; -- cgit v1.2.3-55-g6feb