Supporting broken TFTP clients with tftpd-hpa

tftpd-hpa can easily be configured to support broken TFTP clients by using a remap file. You can verify that your TFTP server supports a remap file by typing

  /usr/sbin/in.tftpd -V

You should see output such as

  tftp-hpa 0.40, with remap, with tcpwrappers

If the “with remap” text is not present, then you need to rebuild your TFTP server with remapping support before proceeding.

Create the file /etc/tftpd.map containing

  # Convert backslashes to slashes
  rg \\ /

Edit /etc/xinetd.d/tftp and append

  -m /etc/tftpd.map

to the server_args line. Your modified /etc/xinetd.d/tftp file should look something like

  service tftp
  {
      disable                 = no
      socket_type             = dgram
      protocol                = udp
      wait                    = yes
      user                    = root
      server                  = /usr/sbin/in.tftpd
      server_args             = -s /var/lib/tftpboot -m /etc/tftpd.map
  }

Kill off any existing tftpd processes and restart xinetd:

  killall tftpd
  killall in.tftpd
  /etc/init.d/xinetd restart

The TFTP server should now accept paths using either the usual forward slash (/) or a backslash (\) as a path separator.

A smile

 
appnote/tftpd-hpa.txt · Last modified: 2015/11/05 12:44 by mcb30
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
All uses of this content must include an attribution to the iPXE project and the URL http://ipxe.org
References to "iPXE" may not be altered or removed.