Supporting broken TFTP clients with tftpd-hpa
tftpd-hpa can easily be configured to support broken TFTP clients by using a remap file. Verify that your TFTP server supports a remap file by typing
/usr/sbin/in.tftpd -V
You should see output such as
[root@dolphin ~]# /usr/sbin/in.tftpd -V 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.