View | Details | Raw Unified | Return to bug 2483 | Differences between
and this patch

Collapse All | Expand All

(-)a/configure.ac (+1 lines)
Lines 905-910 Link Here
905
        AC_DEFINE([USE_GSS_STORE_CRED])
905
        AC_DEFINE([USE_GSS_STORE_CRED])
906
        AC_DEFINE([GSSAPI_STORECREDS_NEEDS_RUID])
906
        AC_DEFINE([GSSAPI_STORECREDS_NEEDS_RUID])
907
        AC_DEFINE([HAVE_PAM_AUSER])
907
        AC_DEFINE([HAVE_PAM_AUSER])
908
        AC_DEFINE([HAVE_AI_ADDRCONFIG])
908
	;;
909
	;;
909
*-*-sunos4*)
910
*-*-sunos4*)
910
	CPPFLAGS="$CPPFLAGS -DSUNOS4"
911
	CPPFLAGS="$CPPFLAGS -DSUNOS4"
(-)a/configure (+1 lines)
Lines 10873-10878 Link Here
10873
#define	USE_GSS_STORE_CRED 1
10873
#define	USE_GSS_STORE_CRED 1
10874
#define	GSSAPI_STORECREDS_NEEDS_RUID 1
10874
#define	GSSAPI_STORECREDS_NEEDS_RUID 1
10875
#define HAVE_PAM_AUSER 1
10875
#define HAVE_PAM_AUSER 1
10876
#define HAVE_AI_ADDRCONFIG 1
10876
_ACEOF
10877
_ACEOF
10877
10878
10878
	TEST_SHELL=$SHELL	# let configure find us a capable shell
10879
	TEST_SHELL=$SHELL	# let configure find us a capable shell
(-)a/config.h.in (+3 lines)
Lines 177-182 Link Here
177
/* Define if you have ut_addr_v6 in utmpx.h */
177
/* Define if you have ut_addr_v6 in utmpx.h */
178
#undef HAVE_ADDR_V6_IN_UTMPX
178
#undef HAVE_ADDR_V6_IN_UTMPX
179
179
180
/* Define if you have AI_ADDRCONFIG flag for getaddrinfo() hints  */
181
#undef HAVE_AI_ADDRCONFIG
182
180
/* Define to 1 if you have the `arc4random' function. */
183
/* Define to 1 if you have the `arc4random' function. */
181
#undef HAVE_ARC4RANDOM
184
#undef HAVE_ARC4RANDOM
182
185
(-)a/canohost.c (+4 lines)
Lines 113-118 Link Here
113
	memset(&hints, 0, sizeof(hints));
113
	memset(&hints, 0, sizeof(hints));
114
	hints.ai_family = from.ss_family;
114
	hints.ai_family = from.ss_family;
115
	hints.ai_socktype = SOCK_STREAM;
115
	hints.ai_socktype = SOCK_STREAM;
116
#ifdef HAVE_AI_ADDRCONFIG
117
	if (hints.ai_family == AF_UNSPEC)
118
		hints.ai_flags = AI_ADDRCONFIG;
119
#endif /* HAVE_AI_ADDRCONFIG */
116
	if (getaddrinfo(name, NULL, &hints, &aitop) != 0) {
120
	if (getaddrinfo(name, NULL, &hints, &aitop) != 0) {
117
		logit("reverse mapping checking getaddrinfo for %.700s "
121
		logit("reverse mapping checking getaddrinfo for %.700s "
118
		    "[%s] failed - POSSIBLE BREAK-IN ATTEMPT!", name, ntop);
122
		    "[%s] failed - POSSIBLE BREAK-IN ATTEMPT!", name, ntop);
(-)a/channels.c (-2 / +18 lines)
Lines 2830-2837 Link Here
2830
	 */
2830
	 */
2831
	memset(&hints, 0, sizeof(hints));
2831
	memset(&hints, 0, sizeof(hints));
2832
	hints.ai_family = IPv4or6;
2832
	hints.ai_family = IPv4or6;
2833
	hints.ai_flags = wildcard ? AI_PASSIVE : 0;
2834
	hints.ai_socktype = SOCK_STREAM;
2833
	hints.ai_socktype = SOCK_STREAM;
2834
	hints.ai_flags = wildcard ? AI_PASSIVE : 0;
2835
#ifdef HAVE_AI_ADDRCONFIG
2836
	if (hints.ai_family == AF_UNSPEC)
2837
		hints.ai_flags |= AI_ADDRCONFIG;
2838
#endif /* HAVE_AI_ADDRCONFIG */
2835
	snprintf(strport, sizeof strport, "%d", fwd->listen_port);
2839
	snprintf(strport, sizeof strport, "%d", fwd->listen_port);
2836
	if ((r = getaddrinfo(addr, strport, &hints, &aitop)) != 0) {
2840
	if ((r = getaddrinfo(addr, strport, &hints, &aitop)) != 0) {
2837
		if (addr == NULL) {
2841
		if (addr == NULL) {
Lines 3713-3718 Link Here
3713
		memset(&hints, 0, sizeof(hints));
3717
		memset(&hints, 0, sizeof(hints));
3714
		hints.ai_family = IPv4or6;
3718
		hints.ai_family = IPv4or6;
3715
		hints.ai_socktype = SOCK_STREAM;
3719
		hints.ai_socktype = SOCK_STREAM;
3720
#ifdef HAVE_AI_ADDRCONFIG
3721
		if (hints.ai_family == AF_UNSPEC)
3722
			hints.ai_flags = AI_ADDRCONFIG;
3723
#endif /* HAVE_AI_ADDRCONFIG */
3716
		snprintf(strport, sizeof strport, "%d", port);
3724
		snprintf(strport, sizeof strport, "%d", port);
3717
		if ((gaierr = getaddrinfo(name, strport, &hints, &cctx.aitop)) != 0) {
3725
		if ((gaierr = getaddrinfo(name, strport, &hints, &cctx.aitop)) != 0) {
3718
			error("connect_to %.100s: unknown host (%s)", name,
3726
			error("connect_to %.100s: unknown host (%s)", name,
Lines 3885-3892 Link Here
3885
		port = 6000 + display_number;
3893
		port = 6000 + display_number;
3886
		memset(&hints, 0, sizeof(hints));
3894
		memset(&hints, 0, sizeof(hints));
3887
		hints.ai_family = IPv4or6;
3895
		hints.ai_family = IPv4or6;
3888
		hints.ai_flags = x11_use_localhost ? 0: AI_PASSIVE;
3889
		hints.ai_socktype = SOCK_STREAM;
3896
		hints.ai_socktype = SOCK_STREAM;
3897
		hints.ai_flags = x11_use_localhost ? 0: AI_PASSIVE;
3898
#ifdef HAVE_AI_ADDRCONFIG
3899
		if (hints.ai_family == AF_UNSPEC)
3900
			hints.ai_flags |= AI_ADDRCONFIG;
3901
#endif /* HAVE_AI_ADDRCONFIG */
3890
		snprintf(strport, sizeof strport, "%d", port);
3902
		snprintf(strport, sizeof strport, "%d", port);
3891
		if ((gaierr = getaddrinfo(NULL, strport, &hints, &aitop)) != 0) {
3903
		if ((gaierr = getaddrinfo(NULL, strport, &hints, &aitop)) != 0) {
3892
			error("getaddrinfo: %.100s", ssh_gai_strerror(gaierr));
3904
			error("getaddrinfo: %.100s", ssh_gai_strerror(gaierr));
Lines 4067-4072 Link Here
4067
	memset(&hints, 0, sizeof(hints));
4079
	memset(&hints, 0, sizeof(hints));
4068
	hints.ai_family = IPv4or6;
4080
	hints.ai_family = IPv4or6;
4069
	hints.ai_socktype = SOCK_STREAM;
4081
	hints.ai_socktype = SOCK_STREAM;
4082
#ifdef HAVE_AI_ADDRCONFIG
4083
	if (hints.ai_family == AF_UNSPEC)
4084
		hints.ai_flags = AI_ADDRCONFIG;
4085
#endif /* HAVE_AI_ADDRCONFIG */
4070
	snprintf(strport, sizeof strport, "%u", 6000 + display_number);
4086
	snprintf(strport, sizeof strport, "%u", 6000 + display_number);
4071
	if ((gaierr = getaddrinfo(buf, strport, &hints, &aitop)) != 0) {
4087
	if ((gaierr = getaddrinfo(buf, strport, &hints, &aitop)) != 0) {
4072
		error("%.100s: unknown host. (%s)", buf,
4088
		error("%.100s: unknown host. (%s)", buf,
(-)a/servconf.c (+4 lines)
Lines 694-699 Link Here
694
	hints.ai_family = options->address_family;
694
	hints.ai_family = options->address_family;
695
	hints.ai_socktype = SOCK_STREAM;
695
	hints.ai_socktype = SOCK_STREAM;
696
	hints.ai_flags = (addr == NULL) ? AI_PASSIVE : 0;
696
	hints.ai_flags = (addr == NULL) ? AI_PASSIVE : 0;
697
#ifdef HAVE_AI_ADDRCONFIG
698
	if (hints.ai_family == AF_UNSPEC)
699
		hints.ai_flags |= AI_ADDRCONFIG;
700
#endif /* HAVE_AI_ADDRCONFIG */
697
	snprintf(strport, sizeof strport, "%d", port);
701
	snprintf(strport, sizeof strport, "%d", port);
698
	if ((gaierr = getaddrinfo(addr, strport, &hints, &aitop)) != 0)
702
	if ((gaierr = getaddrinfo(addr, strport, &hints, &aitop)) != 0)
699
		fatal("bad addr or host: %s (%s)",
703
		fatal("bad addr or host: %s (%s)",
(-)a/ssh-keyscan.c (+4 lines)
Lines 323-328 Link Here
323
	memset(&hints, 0, sizeof(hints));
323
	memset(&hints, 0, sizeof(hints));
324
	hints.ai_family = IPv4or6;
324
	hints.ai_family = IPv4or6;
325
	hints.ai_socktype = SOCK_STREAM;
325
	hints.ai_socktype = SOCK_STREAM;
326
#ifdef HAVE_AI_ADDRCONFIG
327
	if (hints.ai_family == AF_UNSPEC)
328
		hints.ai_flags = AI_ADDRCONFIG;
329
#endif /* HAVE_AI_ADDRCONFIG */
326
	if ((gaierr = getaddrinfo(host, strport, &hints, &aitop)) != 0) {
330
	if ((gaierr = getaddrinfo(host, strport, &hints, &aitop)) != 0) {
327
		error("getaddrinfo %s: %s", host, ssh_gai_strerror(gaierr));
331
		error("getaddrinfo %s: %s", host, ssh_gai_strerror(gaierr));
328
		return -1;
332
		return -1;
(-)a/ssh.c (+8 lines)
Lines 258-263 Link Here
258
	hints.ai_socktype = SOCK_STREAM;
258
	hints.ai_socktype = SOCK_STREAM;
259
	if (cname != NULL)
259
	if (cname != NULL)
260
		hints.ai_flags = AI_CANONNAME;
260
		hints.ai_flags = AI_CANONNAME;
261
#ifdef HAVE_AI_ADDRCONFIG
262
	if (hints.ai_family == AF_UNSPEC)
263
		hints.ai_flags |= AI_ADDRCONFIG;
264
#endif /* HAVE_AI_ADDRCONFIG */
261
	if ((gaierr = getaddrinfo(name, strport, &hints, &res)) != 0) {
265
	if ((gaierr = getaddrinfo(name, strport, &hints, &res)) != 0) {
262
		if (logerr || (gaierr != EAI_NONAME && gaierr != EAI_NODATA))
266
		if (logerr || (gaierr != EAI_NONAME && gaierr != EAI_NODATA))
263
			loglevel = SYSLOG_LEVEL_ERROR;
267
			loglevel = SYSLOG_LEVEL_ERROR;
Lines 297-302 Link Here
297
	    AF_UNSPEC : options.address_family;
301
	    AF_UNSPEC : options.address_family;
298
	hints.ai_socktype = SOCK_STREAM;
302
	hints.ai_socktype = SOCK_STREAM;
299
	hints.ai_flags = AI_NUMERICHOST|AI_NUMERICSERV;
303
	hints.ai_flags = AI_NUMERICHOST|AI_NUMERICSERV;
304
#ifdef HAVE_AI_ADDRCONFIG
305
	if (hints.ai_family == AF_UNSPEC)
306
		hints.ai_flags |= AI_ADDRCONFIG;
307
#endif /* HAVE_AI_ADDRCONFIG */
300
	if ((gaierr = getaddrinfo(name, strport, &hints, &res)) != 0) {
308
	if ((gaierr = getaddrinfo(name, strport, &hints, &res)) != 0) {
301
		debug2("%s: could not resolve name %.100s as address: %s",
309
		debug2("%s: could not resolve name %.100s as address: %s",
302
		    __func__, name, ssh_gai_strerror(gaierr));
310
		    __func__, name, ssh_gai_strerror(gaierr));
(-)a/sshconnect.c (+4 lines)
Lines 292-297 Link Here
292
		hints.ai_socktype = ai->ai_socktype;
292
		hints.ai_socktype = ai->ai_socktype;
293
		hints.ai_protocol = ai->ai_protocol;
293
		hints.ai_protocol = ai->ai_protocol;
294
		hints.ai_flags = AI_PASSIVE;
294
		hints.ai_flags = AI_PASSIVE;
295
#ifdef HAVE_AI_ADDRCONFIG
296
		if (hints.ai_family == AF_UNSPEC)
297
			hints.ai_flags |= AI_ADDRCONFIG;
298
#endif /* HAVE_AI_ADDRCONFIG */
295
		gaierr = getaddrinfo(options.bind_address, NULL, &hints, &res);
299
		gaierr = getaddrinfo(options.bind_address, NULL, &hints, &res);
296
		if (gaierr) {
300
		if (gaierr) {
297
			error("getaddrinfo: %s: %s", options.bind_address,
301
			error("getaddrinfo: %s: %s", options.bind_address,
(-)a/regress/netcat.c (-1 / +17 lines)
Lines 365-370 Link Here
365
		hints.ai_protocol = uflag ? IPPROTO_UDP : IPPROTO_TCP;
365
		hints.ai_protocol = uflag ? IPPROTO_UDP : IPPROTO_TCP;
366
		if (nflag)
366
		if (nflag)
367
			hints.ai_flags |= AI_NUMERICHOST;
367
			hints.ai_flags |= AI_NUMERICHOST;
368
#ifdef HAVE_AI_ADDRCONFIG
369
		if (hints.ai_family == AF_UNSPEC)
370
			hints.ai_flags |= AI_ADDRCONFIG;
371
#endif /* HAVE_AI_ADDRCONFIG */
368
	}
372
	}
369
373
370
	if (xflag) {
374
	if (xflag) {
Lines 393-398 Link Here
393
		proxyhints.ai_protocol = IPPROTO_TCP;
397
		proxyhints.ai_protocol = IPPROTO_TCP;
394
		if (nflag)
398
		if (nflag)
395
			proxyhints.ai_flags |= AI_NUMERICHOST;
399
			proxyhints.ai_flags |= AI_NUMERICHOST;
400
#ifdef HAVE_AI_ADDRCONFIG
401
		if (proxyhints.ai_family == AF_UNSPEC)
402
			proxyhints.ai_flags |= AI_ADDRCONFIG;
403
#endif /* HAVE_AI_ADDRCONFIG */
396
	}
404
	}
397
405
398
	if (lflag) {
406
	if (lflag) {
Lines 667-672 Link Here
667
			ahints.ai_socktype = uflag ? SOCK_DGRAM : SOCK_STREAM;
675
			ahints.ai_socktype = uflag ? SOCK_DGRAM : SOCK_STREAM;
668
			ahints.ai_protocol = uflag ? IPPROTO_UDP : IPPROTO_TCP;
676
			ahints.ai_protocol = uflag ? IPPROTO_UDP : IPPROTO_TCP;
669
			ahints.ai_flags = AI_PASSIVE;
677
			ahints.ai_flags = AI_PASSIVE;
678
#ifdef HAVE_AI_ADDRCONFIG
679
			if (ahints.ai_family == AF_UNSPEC)
680
				ahints.ai_flags |= AI_ADDRCONFIG;
681
#endif /* HAVE_AI_ADDRCONFIG */
670
			if ((error = getaddrinfo(sflag, pflag, &ahints, &ares)))
682
			if ((error = getaddrinfo(sflag, pflag, &ahints, &ares)))
671
				errx(1, "getaddrinfo: %s", gai_strerror(error));
683
				errx(1, "getaddrinfo: %s", gai_strerror(error));
672
684
Lines 1416-1423 Link Here
1416
1428
1417
	bzero(&hints, sizeof(hints));
1429
	bzero(&hints, sizeof(hints));
1418
	hints.ai_family = v4only ? PF_INET : PF_UNSPEC;
1430
	hints.ai_family = v4only ? PF_INET : PF_UNSPEC;
1419
	hints.ai_flags = numeric ? AI_NUMERICHOST : 0;
1420
	hints.ai_socktype = SOCK_STREAM;
1431
	hints.ai_socktype = SOCK_STREAM;
1432
	hints.ai_flags = numeric ? AI_NUMERICHOST : 0;
1433
#ifdef HAVE_AI_ADDRCONFIG
1434
	if (hints.ai_family == AF_UNSPEC)
1435
		hints.ai_flags |= AI_ADDRCONFIG;
1436
#endif /* HAVE_AI_ADDRCONFIG */
1421
	r = getaddrinfo(h, p, &hints, &res);
1437
	r = getaddrinfo(h, p, &hints, &res);
1422
	/* Don't fatal when attempting to convert a numeric address */
1438
	/* Don't fatal when attempting to convert a numeric address */
1423
	if (r != 0) {
1439
	if (r != 0) {

Return to bug 2483