- SCO compile fixes from Gary E. Miller <gem@rellim.com>
diff --git a/ChangeLog b/ChangeLog
index 9cfe0a7..6b6dd40 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,5 @@
 20000119
+ - SCO compile fixes from Gary E. Miller <gem@rellim.com>
  - Compile fix from Darren_Hall@progressive.com
 
 20000118
diff --git a/bsd-rresvport.c b/bsd-rresvport.c
index c29165f..99c150e 100644
--- a/bsd-rresvport.c
+++ b/bsd-rresvport.c
@@ -61,18 +61,18 @@
 	struct sockaddr *sa;
 	u_int16_t *portp;
 	int s;
-	int sa_len;
+	int salen;
 
 	bzero(&ss, sizeof ss);
 	sa = (struct sockaddr *)&ss;
 
 	switch (af) {
 	case AF_INET:
-		sa_len = sizeof(struct sockaddr_in);
+		salen = sizeof(struct sockaddr_in);
 		portp = &((struct sockaddr_in *)sa)->sin_port;
 		break;
 	case AF_INET6:
-		sa_len = sizeof(struct sockaddr_in6);
+		salen = sizeof(struct sockaddr_in6);
 		portp = &((struct sockaddr_in6 *)sa)->sin6_port;
 		break;
 	default:
@@ -87,7 +87,7 @@
 
 	*portp = htons(*alport);
 	if (*alport < IPPORT_RESERVED - 1) {
-		if (bind(s, sa, sa_len) >= 0)
+		if (bind(s, sa, salen) >= 0)
 			return (s);
 		if (errno != EADDRINUSE) {
 			(void)close(s);
diff --git a/configure.in b/configure.in
index a5da0db..d11c519 100644
--- a/configure.in
+++ b/configure.in
@@ -141,7 +141,7 @@
 fi
 
 dnl Checks for header files.
-AC_CHECK_HEADERS(bstring.h endian.h lastlog.h login.h maillock.h netdb.h netgroup.h paths.h poll.h pty.h shadow.h security/pam_appl.h sys/bitypes.h sys/bsdtty.h sys/cdefs.h sys/poll.h sys/select.h sys/stropts.h sys/time.h sys/ttcompat.h util.h utmp.h utmpx.h)
+AC_CHECK_HEADERS(bstring.h endian.h lastlog.h login.h maillock.h netdb.h netgroup.h paths.h poll.h pty.h shadow.h security/pam_appl.h sys/bitypes.h sys/bsdtty.h sys/cdefs.h sys/poll.h sys/select.h sys/stropts.h sys/sysmacros.h sys/time.h sys/ttcompat.h util.h utmp.h utmpx.h)
 
 dnl Checks for library functions.
 AC_CHECK_FUNCS(arc4random bindresvport_af freeaddrinfo gai_strerror getaddrinfo getpagesize getnameinfo innetgr md5_crypt mkdtemp openpty rresvport_af setenv seteuid setlogin setproctitle setreuid snprintf strlcat strlcpy updwtmpx vsnprintf _getpty)
@@ -188,7 +188,7 @@
 	[AC_MSG_RESULT(no)]
 ) 
 
-if test -z "$have_u_intxx_t" -a -z "$have_intxx_t" -a \
+if test -z "$have_u_intxx_t" -o -z "$have_intxx_t" -a \
            "x$ac_cv_header_sys_bitypes_h" = "xyes"
 then
 	AC_MSG_CHECKING([for intXX_t and u_intXX_t types in sys/bitypes.h])
diff --git a/includes.h b/includes.h
index b4af0c2..3abf285 100644
--- a/includes.h
+++ b/includes.h
@@ -86,6 +86,9 @@
 #  include <sys/poll.h>
 # endif
 #endif
+#ifdef HAVE_SYS_SYSMACROS_H
+# include <sys/sysmacros.h>
+#endif
 
 #include "version.h"
 
diff --git a/sshconnect.c b/sshconnect.c
index fb6af67..068c230 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -8,7 +8,7 @@
  */
 
 #include "includes.h"
-RCSID("$Id: sshconnect.c,v 1.21 2000/01/14 04:45:52 damien Exp $");
+RCSID("$Id: sshconnect.c,v 1.22 2000/01/19 02:45:07 damien Exp $");
 
 #ifdef HAVE_OPENSSL
 #include <openssl/bn.h>
@@ -1070,7 +1070,7 @@
 	HostStatus host_status;
 	HostStatus ip_status;
 	int local = 0, host_ip_differ = 0;
-	int sa_len;
+	int salen;
 	char ntop[NI_MAXHOST];
 
 	/*
@@ -1084,15 +1084,15 @@
 	switch (hostaddr->sa_family) {
 	case AF_INET:
 		local = (ntohl(((struct sockaddr_in *)hostaddr)->sin_addr.s_addr) >> 24) == IN_LOOPBACKNET;
-		sa_len = sizeof(struct sockaddr_in);
+		salen = sizeof(struct sockaddr_in);
 		break;
 	case AF_INET6:
 		local = IN6_IS_ADDR_LOOPBACK(&(((struct sockaddr_in6 *)hostaddr)->sin6_addr));
-		sa_len = sizeof(struct sockaddr_in6);
+		salen = sizeof(struct sockaddr_in6);
 		break;
 	default:
 		local = 0;
-		sa_len = sizeof(struct sockaddr_storage);
+		salen = sizeof(struct sockaddr_storage);
 		break;
 	}
 	if (local) {
@@ -1108,7 +1108,7 @@
 		options.check_host_ip = 0;
 
 	if (options.check_host_ip) {
-		if (getnameinfo(hostaddr, sa_len, ntop, sizeof(ntop),
+		if (getnameinfo(hostaddr, salen, ntop, sizeof(ntop),
 		    NULL, 0, NI_NUMERICHOST) != 0)
 			fatal("check_host_key: getnameinfo failed");
 		ip = xstrdup(ntop);