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.