Mailing List Archive

More NetBSD patches
Here's a unified diff, proposed by Christos Zoulas (with a little
reworking to get the configure.in part a bit cleaner). The main target of
the patches are NetBSD compatability, although there are some changes
making
if (pointer X)
into
if (X != NULL)
as well. Christos also proposed a change to Makefile.in, but I'll send
that as a seperate mail.

Thanks,
David


Index: configure.in
===================================================================
RCS file: /usr/local/cvs/openssh/configure.in,v
retrieving revision 1.22
diff -u -r1.22 configure.in
--- configure.in 2000/01/17 19:34:14 1.22
+++ configure.in 2000/01/18 15:16:18
@@ -51,6 +51,31 @@

AC_C_INLINE

+dnl Check for OpenSSL/SSLeay directories.
+AC_MSG_CHECKING([for OpenSSL/SSLeay directory])
+for ssldir in $prefix /usr /usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/lib/ssl /usr/local /usr/pkg ; do
+ if test -f "$ssldir/include/openssl/crypto.h"; then
+ AC_DEFINE(HAVE_OPENSSL)
+ GOT_SSL="yes"
+ break
+ fi
+ if test -f "$ssldir/include/ssl/crypto.h"; then
+ AC_DEFINE(HAVE_SSL)
+ GOT_SSL="yes"
+ break
+ fi
+done
+if test -z "$GOT_SSL" ; then
+ AC_MSG_ERROR([Could not find SSLeay / OpenSSL libraries, please install])
+fi
+AC_SUBST(ssldir)
+AC_DEFINE_UNQUOTED(ssldir, "$ssldir")
+if test "$ssldir" != "/usr"; then
+ CFLAGS="$CFLAGS -I$ssldir/include"
+ LDFLAGS="$LDFLAGS -L$ssldir/lib"
+fi
+AC_MSG_RESULT($ssldir)
+
dnl Check for some target-specific stuff
case "$host" in
*-*-aix*)
@@ -92,32 +117,12 @@
*-*-sysv*)
LIBS="$LIBS -lgen -lsocket"
;;
-esac
-
-dnl Check for OpenSSL/SSLeay directories.
-AC_MSG_CHECKING([for OpenSSL/SSLeay directory])
-for ssldir in /usr /usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/lib/ssl /usr/local $prefix /usr/pkg ; do
- if test -f "$ssldir/include/openssl/crypto.h"; then
- AC_DEFINE(HAVE_OPENSSL)
- GOT_SSL="yes"
- break
- fi
- if test -f "$ssldir/include/ssl/crypto.h"; then
- AC_DEFINE(HAVE_SSL)
- GOT_SSL="yes"
- break
+*-*-netbsd*)
+ if test "$GOT_SSL" = "yes"; then
+ LDFLAGS="$LDFLAGS -R$ssldir/lib"
fi
-done
-if test -z "$GOT_SSL" ; then
- AC_MSG_ERROR([Could not find SSLeay / OpenSSL libraries, please install])
-fi
-AC_SUBST(ssldir)
-AC_DEFINE_UNQUOTED(ssldir, "$ssldir")
-if test "$ssldir" != "/usr"; then
- CFLAGS="$CFLAGS -I$ssldir/include"
- LDFLAGS="$LDFLAGS -L$ssldir/lib"
-fi
-AC_MSG_RESULT($ssldir)
+ ;;
+esac

dnl Check for RSAref library.
AC_MSG_CHECKING([for RSAref library])
@@ -246,7 +251,10 @@

AC_MSG_CHECKING([for struct sockaddr_storage])
AC_TRY_COMPILE(
- [#include <sys/socket.h>],
+ [
+#include <sys/types.h>
+#include <sys/socket.h>
+ ],
[struct sockaddr_storage s;],
[
AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE)
@@ -257,7 +265,10 @@

AC_MSG_CHECKING([for struct sockaddr_in6])
AC_TRY_COMPILE(
- [#include <netinet/in.h>],
+ [
+#include <sys/types.h>
+#include <netinet/in.h>
+ ],
[struct sockaddr_in6 s; s.sin6_family = 0;],
[
AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN6)
@@ -268,7 +279,10 @@

AC_MSG_CHECKING([for struct in6_addr])
AC_TRY_COMPILE(
- [#include <netinet/in.h>],
+ [
+#include <sys/types.h>
+#include <netinet/in.h>
+ ],
[struct in6_addr s; s.s6_addr[0] = 0;],
[
AC_DEFINE(HAVE_STRUCT_IN6_ADDR)
@@ -280,6 +294,7 @@
AC_MSG_CHECKING([for struct addrinfo])
AC_TRY_COMPILE(
[
+ #include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
],
Index: fake-getaddrinfo.c
===================================================================
RCS file: /usr/local/cvs/openssh/fake-getaddrinfo.c,v
retrieving revision 1.1
diff -u -r1.1 fake-getaddrinfo.c
--- fake-getaddrinfo.c 2000/01/17 19:24:04 1.1
+++ fake-getaddrinfo.c 2000/01/18 15:16:49
@@ -41,7 +41,7 @@
do {
next = ai->ai_next;
free(ai);
- } while (ai = next);
+ } while ((ai = next) != NULL);
}
#endif /* !HAVE_FREEADDRINFO */

@@ -53,8 +53,8 @@
{
struct addrinfo *ai;

- if (ai = (struct addrinfo *)malloc(sizeof(struct addrinfo) +
- sizeof(struct sockaddr_in))) {
+ if ((ai = (struct addrinfo *)malloc(sizeof(struct addrinfo) +
+ sizeof(struct sockaddr_in))) != NULL) {
memset(ai, 0, sizeof(struct addrinfo) + sizeof(struct sockaddr_in));
ai->ai_addr = (struct sockaddr *)(ai + 1);
/* XXX -- ssh doesn't use sa_len */
@@ -83,25 +83,27 @@
else
port = 0;
if (hints && hints->ai_flags & AI_PASSIVE)
- if (*res = malloc_ai(port, htonl(0x00000000)))
+ if ((*res = malloc_ai(port, htonl(0x00000000))) != NULL)
return 0;
else
return EAI_MEMORY;
- if (!hostname)
- if (*res = malloc_ai(port, htonl(0x7f000001)))
+ if (!hostname) {
+ if ((*res = malloc_ai(port, htonl(0x7f000001))) != NULL)
return 0;
else
return EAI_MEMORY;
- if (inet_addr(hostname) != -1)
- if (*res = malloc_ai(port, inet_addr(hostname)))
+ }
+ if (inet_addr(hostname) != -1) {
+ if ((*res = malloc_ai(port, inet_addr(hostname))) != NULL)
return 0;
else
return EAI_MEMORY;
+ }
if ((hp = gethostbyname(hostname)) &&
hp->h_name && hp->h_name[0] && hp->h_addr_list[0]) {
for (i = 0; hp->h_addr_list[i]; i++)
- if (cur = malloc_ai(port,
- ((struct in_addr *)hp->h_addr_list[i])->s_addr)) {
+ if ((cur = malloc_ai(port,
+ ((struct in_addr *)hp->h_addr_list[i])->s_addr)) != NULL) {
if (prev)
prev->ai_next = cur;
else
Index: fake-getnameinfo.c
===================================================================
RCS file: /usr/local/cvs/openssh/fake-getnameinfo.c,v
retrieving revision 1.1
diff -u -r1.1 fake-getnameinfo.c
--- fake-getnameinfo.c 2000/01/17 19:24:05 1.1
+++ fake-getnameinfo.c 2000/01/18 15:21:32
@@ -46,8 +46,8 @@
return 0;
}
else
- if (hp = gethostbyaddr((char *)&sin->sin_addr, sizeof(struct in_addr),
- AF_INET))
+ if ((hp = gethostbyaddr((char *)&sin->sin_addr, sizeof(struct in_addr),
+ AF_INET)) != NULL)
if (strlen(hp->h_name) > hostlen)
return EAI_MEMORY;
else {
Index: log-client.c
===================================================================
RCS file: /usr/local/cvs/openssh/log-client.c,v
retrieving revision 1.3
diff -u -r1.3 log-client.c
--- log-client.c 2000/01/17 16:53:09 1.3
+++ log-client.c 2000/01/18 15:21:54
@@ -45,12 +45,12 @@
}
}

-#define MSGBUFSIZE 1024
+#define SSH_MSGBUFSIZE 1024

void
do_log(LogLevel level, const char *fmt, va_list args)
{
- char msgbuf[MSGBUFSIZE];
+ char msgbuf[SSH_MSGBUFSIZE];

if (level > log_level)
return;
Index: log-server.c
===================================================================
RCS file: /usr/local/cvs/openssh/log-server.c,v
retrieving revision 1.4
diff -u -r1.4 log-server.c
--- log-server.c 2000/01/17 16:53:10 1.4
+++ log-server.c 2000/01/18 15:22:24
@@ -97,13 +97,13 @@
log_on_stderr = on_stderr;
}

-#define MSGBUFSIZE 1024
+#define SSH_MSGBUFSIZE 1024

void
do_log(LogLevel level, const char *fmt, va_list args)
{
- char msgbuf[MSGBUFSIZE];
- char fmtbuf[MSGBUFSIZE];
+ char msgbuf[SSH_MSGBUFSIZE];
+ char fmtbuf[SSH_MSGBUFSIZE];
char *txt = NULL;
int pri = LOG_INFO;

Index: uidswap.c
===================================================================
RCS file: /usr/local/cvs/openssh/uidswap.c,v
retrieving revision 1.2
diff -u -r1.2 uidswap.c
--- uidswap.c 2000/01/17 16:53:38 1.2
+++ uidswap.c 2000/01/18 15:23:27
@@ -27,8 +27,10 @@
#define SAVED_IDS_WORK_WITH_SETEUID
#endif /* _POSIX_SAVED_IDS */

+#ifdef SAVED_IDS_WORK_WITH_SETEUID
/* Saved effective uid. */
static uid_t saved_euid = 0;
+#endif

/*
* Temporarily changes to the given uid. If the effective user