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 CC Attribution-Share Alike 4.0 International Driven by DokuWiki
All uses of this content must include an attribution to the iPXE project and the URL https://ipxe.org
References to "iPXE" may not be altered or removed.