#include <errno.h>
/* Win32 defines. */
-#if defined(_WIN32) && !defined(__CYGWIN32__)
+#if defined(_WIN16) || (defined(_WIN32) && !defined(__CYGWIN32__))
#ifndef ECONNABORTED
#define ECONNABORTED WSAECONNABORTED
#endif
struct sockaddr_in *sin_p;
struct hostent *hp;
struct servent *sp;
-#ifdef KRB5_USE_INET
+#ifdef HAVE_NETINET_IN_H
u_short udpport = htons(KRB5_DEFAULT_PORT);
#endif
int cc, local_result_code, tmp_len;
else if (code)
return code;
-#ifdef KRB5_USE_INET
+#ifdef HAVE_NETINET_IN_H
/* XXX should look for "kpasswd" in /etc/services */
udpport = htons(DEFAULT_KPASSWD_PORT);
#endif
if (hp != 0) {
switch (hp->h_addrtype) {
-#ifdef KRB5_USE_INET
+#ifdef HAVE_NETINET_IN_H
case AF_INET:
for (j=0; hp->h_addr_list[j]; j++) {
sin_p = (struct sockaddr_in *) &addr_p[out++];
if ((s1 = socket(AF_INET, SOCK_DGRAM, 0)) == INVALID_SOCKET) {
free(addr_p);
- return(errno);
+ return(SOCKET_ERRNO);
}
if ((s2 = socket(AF_INET, SOCK_DGRAM, 0)) == INVALID_SOCKET) {
free(addr_p);
- return(errno);
+ return(SOCKET_ERRNO);
}
for (i=0; i<out; i++) {
if (connect(s2, &addr_p[i], sizeof(addr_p[i])) == SOCKET_ERROR) {
-#ifndef HAVE_MACSOCK_H
- if ((cc < 0) && ((errno == ECONNREFUSED) ||
- (errno == EHOSTUNREACH)))
-#endif
+ if ((cc < 0) && ((SOCKET_ERRNO == ECONNREFUSED) ||
+ (SOCKET_ERRNO == EHOSTUNREACH)))
continue; /* try the next addr */
free(addr_p);
closesocket(s1);
closesocket(s2);
- return(errno);
+ return(SOCKET_ERRNO);
}
addrlen = sizeof(local_addr);
if (getsockname(s2, &local_addr, &addrlen) < 0) {
-#ifndef HAVE_MACSOCK_H
- if ((errno == ECONNREFUSED) ||
- (errno == EHOSTUNREACH))
-#endif
+ if ((SOCKET_ERRNO == ECONNREFUSED) ||
+ (SOCKET_ERRNO == EHOSTUNREACH))
continue; /* try the next addr */
free(addr_p);
closesocket(s1);
closesocket(s2);
- return(errno);
+ return(SOCKET_ERRNO);
}
/* some brain-dead OS's don't return useful information from
local_kaddr.length =
sizeof(((struct sockaddr_in *) &local_addr)->sin_addr);
local_kaddr.contents =
- (char *) &(((struct sockaddr_in *) &local_addr)->sin_addr);
+ (krb5_octet *) &(((struct sockaddr_in *) &local_addr)->sin_addr);
} else {
krb5_address **addrs;
addrlen = sizeof(remote_addr);
if (getpeername(s2, &remote_addr, &addrlen) < 0) {
-#ifndef HAVE_MACSOCK_H
- if ((errno == ECONNREFUSED) ||
- (errno == EHOSTUNREACH))
-#endif
+ if ((SOCKET_ERRNO == ECONNREFUSED) ||
+ (SOCKET_ERRNO == EHOSTUNREACH))
continue; /* try the next addr */
free(addr_p);
closesocket(s1);
closesocket(s2);
- return(errno);
+ return(SOCKET_ERRNO);
}
remote_kaddr.addrtype = ADDRTYPE_INET;
remote_kaddr.length =
sizeof(((struct sockaddr_in *) &remote_addr)->sin_addr);
remote_kaddr.contents =
- (char *) &(((struct sockaddr_in *) &remote_addr)->sin_addr);
+ (krb5_octet *) &(((struct sockaddr_in *) &remote_addr)->sin_addr);
/* mk_priv requires that the local address be set.
getsockname is used for this. rd_priv requires that the
(struct sockaddr *) &addr_p[i],
sizeof(addr_p[i]))) !=
chpw_req.length) {
-#ifndef HAVE_MACSOCK_H
- if ((cc < 0) && ((errno == ECONNREFUSED) ||
- (errno == EHOSTUNREACH)))
-#endif
+ if ((cc < 0) && ((SOCKET_ERRNO == ECONNREFUSED) ||
+ (SOCKET_ERRNO == EHOSTUNREACH)))
continue; /* try the next addr */
free(addr_p);
closesocket(s1);
closesocket(s2);
- return((cc < 0)?errno:ECONNABORTED);
+ return((cc < 0)?SOCKET_ERRNO:ECONNABORTED);
}
krb5_xfree(chpw_req.data);
free(addr_p);
closesocket(s1);
closesocket(s2);
- return(errno);
+ return(SOCKET_ERRNO);
}
closesocket(s1);
free(addr_p);
closesocket(s1);
closesocket(s2);
- return(errno);
+ return(SOCKET_ERRNO);
}