--- src/socket.cpp.orig	Fri Jan  4 16:25:00 2002
+++ src/socket.cpp	Mon Jan 28 15:15:22 2002
@@ -13,6 +13,7 @@
 #include <netdb.h>
 #include <fcntl.h>
 #include <unistd.h>
+#include <osreldate.h>
 
 #ifdef HAVE_INET_ATON
 #include <arpa/inet.h>
@@ -294,6 +295,8 @@
   // Setup the local structure
 #ifdef USE_SOCKS5
   int sizeofSockaddr = sizeof(struct sockaddr_in);
+#elif __FreeBSD_version < 400013
+  int sizeofSockaddr = sizeof(struct sockaddr_in);
 #else
   socklen_t sizeofSockaddr = sizeof(struct sockaddr_in);
 #endif
@@ -380,7 +383,11 @@
   m_sRemoteAddr.sin_family = AF_INET;
 
   // if connect fails then call CloseConnection to clean up before returning
+#if __FreeBSD_version < 400013
+  int sizeofSockaddr = sizeof(struct sockaddr);
+#else
   socklen_t sizeofSockaddr = sizeof(struct sockaddr);
+#endif
   if (connect(m_nDescriptor, (struct sockaddr *)&m_sRemoteAddr, sizeofSockaddr) < 0)
   {
     // errno has been set
@@ -640,6 +647,8 @@
 void TCPSocket::RecvConnection(TCPSocket &newSocket)
 {
 #ifdef USE_SOCKS5
+  int sizeofSockaddr = sizeof(struct sockaddr_in);
+#elif __FreeBSD_version < 400013
   int sizeofSockaddr = sizeof(struct sockaddr_in);
 #else
   socklen_t sizeofSockaddr = sizeof(struct sockaddr_in);
