tftpd confuses clients on multihomed hosts: When the tftpd receives a connection from the client it answers on a new connection. This connection is bound to INADDR_ANY. On a multihomed host the routing may select another interface closer to the client as its source IP address. This confuses the client (they are trivial afterall!) because it may think the reply is coming from another host. This enhancement extracts the original destination IP address on a multihomed host from the first arriving packet, and uses that as the ip address to bind the new connection to. Fix: Patch /usr/src/libexec/tftpd.c with this diff -u: (diff.out.gz.uue) How-To-Repeat: Connect from a tftp client to the IP address of an interface on the server host that is not the closest one to the client. The return connection will have the IP address of the closer interface. You can watch this with tcpdump.
The patch attached to the PR is horrid and needs much improvement. Off to look at something else... BMS
Responsible Changed From-To: freebsd-bugs->edwin I'll take TFTP PRs
Responsible Changed From-To: edwin->freebsd-bugs Give back into the pool until later.
For bugs matching the following criteria: Status: In Progress Changed: (is less than) 2014-06-01 Reset to default assignee and clear in-progress tags. Mail being skipped
Keyword: patch or patch-ready – in lieu of summary line prefix: [patch] * bulk change for the keyword * summary lines may be edited manually (not in bulk). Keyword descriptions and search interface: <https://bugs.freebsd.org/bugzilla/describekeywords.cgi>