If binding to a low-numbered port fails with EACCES, then the error
authorMartin Pool <mbp@samba.org>
Thu, 21 Jun 2001 06:19:00 +0000 (06:19 +0000)
committerMartin Pool <mbp@samba.org>
Thu, 21 Jun 2001 06:19:00 +0000 (06:19 +0000)
message should explain that you probably need to be root.

(Why leave off the final S?  Kernighan must have been a *really* slow
typist.)

socket.c

index 7865e31..ad208ef 100644 (file)
--- a/socket.c
+++ b/socket.c
@@ -210,6 +210,10 @@ static int open_socket_in(int type, int port, struct in_addr *address)
        if (bind(res, (struct sockaddr * ) &sock,sizeof(sock)) == -1) { 
                rprintf(FERROR,"bind failed on port %d: %s\n", port,
                        strerror(errno));
+               if (errno == EACCES && port < 1024) {
+                       rprintf(FERROR, "Note: you must be root to bind "
+                               "to low-numbered ports");
+               }
                close(res); 
                return -1;
        }