The problem turns out to be that it works if you specify a port, but
no address to bind to in daemon mode.  Once you specify an address
and specify a port, it fails to use the specified port.  Specifying an
address but not a port works if services contains the right port number.

Here is a small patch to make it actually use the requested port number
in the case it is running in daemon mode and an IP has been specified.

--- atftp-0.7.dfsg/tftpd.c      2011-01-12 12:55:23.000000000 -0500
+++ atftp-0.7.dfsg.fixed/tftpd.c        2011-01-12 12:54:06.000000000 -0500
@@ -256,6 +256,10 @@
 
                if (!tftpd_port)
                     tftpd_port = sockaddr_get_port(&sa);
+               else {
+                    sa.ss_family = AF_INET;
+                    sockaddr_set_port(&sa, tftpd_port);
+               }
 
                freeaddrinfo(result);
           }


So essentially if a port was not specified, use the one looked up from
services, otherwise use the one specified (it does the same thing already
below in the case no IP was specified).

-- 
Len Sorensen



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to