version 1.30, 2000/08/13 08:37:07 |
version 1.31, 2000/08/13 19:39:01 |
|
|
char *srp = 0; |
char *srp = 0; |
int srlen; |
int srlen; |
#endif |
#endif |
int retry; |
|
char *cmd, *hostp = 0, *portp = 0, *user = 0, *aliasp = 0; |
char *cmd, *hostp = 0, *portp = 0, *user = 0, *aliasp = 0; |
int family, port; |
int family, port; |
|
int retry; |
|
#ifdef NI_WITHSCOPEID |
|
const int niflags = NI_NUMERICHOST | NI_WITHSCOPEID; |
|
#else |
|
const int niflags = NI_NUMERICHOST; |
|
#endif |
|
|
/* clear the socket address prior to use */ |
/* clear the socket address prior to use */ |
memset((char *)&sin, 0, sizeof(sin)); |
memset((char *)&sin, 0, sizeof(sin)); |
|
|
retry = 0; |
retry = 0; |
for (res = res0; res; res = res->ai_next) { |
for (res = res0; res; res = res->ai_next) { |
if (1 /* retry */) { |
if (1 /* retry */) { |
char hbuf[MAXHOSTNAMELEN]; |
char hbuf[NI_MAXHOST]; |
#ifdef NI_WITHSCOPEID |
|
const int niflags = NI_NUMERICHOST | NI_WITHSCOPEID; |
|
#else |
|
const int niflags = NI_NUMERICHOST; |
|
#endif |
|
|
|
getnameinfo(res->ai_addr, res->ai_addrlen, hbuf, sizeof(hbuf), |
if (getnameinfo(res->ai_addr, res->ai_addrlen, hbuf, sizeof(hbuf), |
NULL, 0, niflags); |
NULL, 0, niflags) != 0) { |
|
strcpy(hbuf, "(invalid)"); |
|
} |
printf("Trying %s...\r\n", hbuf); |
printf("Trying %s...\r\n", hbuf); |
} |
} |
net = socket(res->ai_family, res->ai_socktype, res->ai_protocol); |
net = socket(res->ai_family, res->ai_socktype, res->ai_protocol); |
|
|
freeaddrinfo(ares); |
freeaddrinfo(ares); |
continue; |
continue; |
} |
} |
if (bind(net, ares->ai_addr, ares->ai_addrlen) < 0) { |
if (bind(net, res->ai_addr, res->ai_addrlen) < 0) { |
perror(aliasp); |
perror(aliasp); |
(void) close(net); /* dump descriptor */ |
(void) close(net); /* dump descriptor */ |
freeaddrinfo(ares); |
freeaddrinfo(ares); |
continue; |
continue; |
} |
} |
|
|
} |
} |
|
|
if (connect(net, res->ai_addr, res->ai_addrlen) < 0) { |
if (connect(net, res->ai_addr, res->ai_addrlen) < 0) { |
char hbuf[MAXHOSTNAMELEN]; |
char hbuf[NI_MAXHOST]; |
|
|
getnameinfo(res->ai_addr, res->ai_addrlen, hbuf, sizeof(hbuf), |
if (getnameinfo(res->ai_addr, res->ai_addrlen, hbuf, sizeof(hbuf), |
NULL, 0, NI_NUMERICHOST); |
NULL, 0, niflags) != 0) { |
|
strcpy(hbuf, "(invalid)"); |
|
} |
fprintf(stderr, "telnet: connect to address %s: %s\n", hbuf, |
fprintf(stderr, "telnet: connect to address %s: %s\n", hbuf, |
strerror(errno)); |
strerror(errno)); |
|
|