svn commit: samba r2882 - in branches/SAMBA_4_0/source/smbd: .

metze at samba.org metze at samba.org
Sat Oct 9 22:34:18 GMT 2004


Author: metze
Date: 2004-10-09 22:34:18 +0000 (Sat, 09 Oct 2004)
New Revision: 2882

WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_4_0/source/smbd&rev=2882&nolog=1

Log:
fix mistake that caused a failure on a bind to a dynamic tcp port

metze

Modified:
   branches/SAMBA_4_0/source/smbd/service.c


Changeset:
Modified: branches/SAMBA_4_0/source/smbd/service.c
===================================================================
--- branches/SAMBA_4_0/source/smbd/service.c	2004-10-09 22:25:24 UTC (rev 2881)
+++ branches/SAMBA_4_0/source/smbd/service.c	2004-10-09 22:34:18 UTC (rev 2882)
@@ -97,18 +97,7 @@
 	struct fd_event fde;
 	int i;
 
-	if (*port == 0) {
-		for (i=SERVER_TCP_LOW_PORT;i<= SERVER_TCP_HIGH_PORT;i++) {
-			status = socket_create("ipv4", SOCKET_TYPE_STREAM, &socket_ctx, 0);
-			if (NT_STATUS_IS_OK(status)) {
-				*port = i;
-				break;
-			}
-		}
-	} else {
-		status = socket_create("ipv4", SOCKET_TYPE_STREAM, &socket_ctx, 0);
-	}
-
+	status = socket_create("ipv4", SOCKET_TYPE_STREAM, &socket_ctx, 0);
 	if (!NT_STATUS_IS_OK(status)) {
 		DEBUG(0,("Failed to open socket on %s:%u - %s\n",
 			sock_addr, *port, nt_errstr(status)));
@@ -135,7 +124,18 @@
 
 	/* TODO: set socket ACL's here when they're implemented */
 
-	status = socket_listen(socket_ctx, sock_addr, *port, SERVER_LISTEN_BACKLOG, 0);
+	if (*port == 0) {
+		for (i=SERVER_TCP_LOW_PORT;i<= SERVER_TCP_HIGH_PORT;i++) {
+			status = socket_listen(socket_ctx, sock_addr, i, SERVER_LISTEN_BACKLOG, 0);
+			if (NT_STATUS_IS_OK(status)) {
+				*port = i;
+				break;
+			}
+		}
+	} else {
+		status = socket_listen(socket_ctx, sock_addr, *port, SERVER_LISTEN_BACKLOG, 0);
+	}
+
 	if (!NT_STATUS_IS_OK(status)) {
 		DEBUG(0,("Failed to listen on %s:%u - %s\n",
 			sock_addr, *port, nt_errstr(status)));



More information about the samba-cvs mailing list