chiark / gitweb /
Allow bind() to port 0 ! debian_version_1_1_4
authorian <ian>
Mon, 31 Aug 1998 14:24:02 +0000 (14:24 +0000)
committerian <ian>
Mon, 31 Aug 1998 14:24:02 +0000 (14:24 +0000)
debian/changelog
libauthbind.c

index 0e2152ffb15f9737866573b49f794ed739c457c5..e7453edd194941bf7a40c2510c28a7fa8c3e46fe 100644 (file)
@@ -1,3 +1,9 @@
+authbind (1.1.4) unstable; urgency=low
+
+  * Allow bind() to port 0 !
+
+ -- Ian Jackson <ian@davenant.greenend.org.uk>  Mon, 31 Aug 1998 15:23:30 +0100
+
 authbind (1.1.3) unstable; urgency=low
 
   * Make IPPORT_RESERVED check work (oops!).
 authbind (1.1.3) unstable; urgency=low
 
   * Make IPPORT_RESERVED check work (oops!).
index dd5c4841c314ff22f3d14768deb1e4926e9a4302..c8f34227388659c4743b8b706c77a269f34da761 100644 (file)
@@ -149,7 +149,8 @@ int bind(int fd, const struct sockaddr *addr, socklen_t addrlen) {
   int status;
 
   if (addr->sa_family != AF_INET || addrlen != sizeof(struct sockaddr_in) ||
   int status;
 
   if (addr->sa_family != AF_INET || addrlen != sizeof(struct sockaddr_in) ||
-      ntohs(((struct sockaddr_in*)addr)->sin_port) >= IPPORT_RESERVED/2 || !geteuid())
+      !geteuid() || ((struct sockaddr_in*)addr)->sin_port == 0 ||
+      ntohs(((struct sockaddr_in*)addr)->sin_port) >= IPPORT_RESERVED/2)
     return old_bind(fd,addr,addrlen);
 
   sprintf(addrarg,"%08lx",
     return old_bind(fd,addr,addrlen);
 
   sprintf(addrarg,"%08lx",