- Patch from Christos Zoulas <christos@zoulas.com>
   - Try $prefix first when looking for OpenSSL.
   - Include sys/types.h when including sys/socket.h in test programs
diff --git a/configure.in b/configure.in
index 7c0b149..e7524cd 100644
--- a/configure.in
+++ b/configure.in
@@ -96,7 +96,7 @@
 
 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
+for ssldir in $prefix /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"
@@ -246,7 +246,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)
@@ -280,6 +283,7 @@
 AC_MSG_CHECKING([for struct addrinfo])
 AC_TRY_COMPILE(
 	[
+		#include <sys/types.h>
 		#include <sys/socket.h>
 		#include <netdb.h>
 	],
@@ -432,7 +436,10 @@
 
 AC_MSG_CHECKING([whether struct sockaddr_storage has ss_family field])
 AC_TRY_COMPILE(
-	[#include <sys/socket.h>],
+	[
+		#include <sys/types.h>
+		#include <sys/socket.h>
+	],
 	[struct sockaddr_storage s; s.ss_family = 1;],
 	[
 		AC_DEFINE(HAVE_SS_FAMILY_IN_SS)
@@ -442,7 +449,10 @@
 )
 AC_MSG_CHECKING([whether struct sockaddr_storage has __ss_family field])
 AC_TRY_COMPILE(
-	[#include <sys/socket.h>],
+	[
+		#include <sys/types.h>
+		#include <sys/socket.h>
+	],
 	[struct sockaddr_storage s; s.__ss_family = 1;],
 	[
 		AC_DEFINE(HAVE___SS_FAMILY_IN_SS)
@@ -636,7 +646,7 @@
 AC_ARG_WITH(ipaddr-display,
 	[  --with-ipaddr-display   Use ip address instead of hostname in \$DISPLAY],
 	[
-		if test "x$withval" != "xno" ; then	
+		if test "x$withval" = "xno" ; then	
 			AC_DEFINE(IPADDR_IN_DISPLAY)
 		fi
 	]