--- sshconnect.c.orig	Wed Jul  8 09:40:38 1998
+++ sshconnect.c	Sun Jul 12 17:48:14 1998
@@ -339,6 +339,12 @@
     {
       struct sockaddr_in sin;
       int p;
+#if defined(__FreeBSD__) || defined(__OpenBSD__)  && !defined(SOCKS)
+	p = 1023;	/* Compat with old FreeBSD */
+      sock = rresvport(&p);
+      if (sock < 0)
+	fatal("rresvport: %.100s", strerror(errno));
+#else
       for (p = 1023; p > 512; p--)
 	{
 	  sock = socket(AF_INET, SOCK_STREAM, 0);
@@ -366,6 +372,7 @@
 	    }
 	  fatal("bind: %.100s", strerror(errno));
 	}
+#endif
       debug("Allocated local port %d.", p);
     }
   else
