tree bc98fcd6c416ea1bf4a1b1255e5b1e4b9d79bbfc
parent b5d1b207276300d551cb5c904a89e23d3a6dac00
author Simon Kelley <simon@thekelleys.org.uk> 1617135669 +0100
committer Simon Kelley <simon@thekelleys.org.uk> 1617136327 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE1urL1u5GuDQkjRESFc3aauGRNaIFAmBjis8ACgkQFc3aauGR
 NaLOEA//UmMYfVAWBtUq7e4jIpsoCzR+fnfRPCL3cZXT6D5S3/WPF1XROQOP7M1/
 C9DeKW8YBN7aawe0PxULubhBwfOvW9eaEoAs8KO8aFLuJ1Sc6WwWw6Kb+plpW6a9
 7c2Y+xiYtm5TrDHyFbhmP6ix2WjKJKbdqBXDHpWWAK6ZAeDYncuaHAgPPIJxl/+c
 wrn+BZ66HUeICwFDLQy1+q4qzcJLDMMhmOCa9agzbexk+x2U2f65pzm+AQ66w8cZ
 UB0WKkTPO8QyW6khSd+V5k5Wll8tE3KCyC53GsI8K1Y2G0l1qK/w8ZqQ9aFNxPd7
 PWwf/cNjsqmqx/DteKpWyHwraEa/dj3WF9ODlfO44WLfaqNTRLcUYbUOHxL3JBBK
 Kw7zS1/qWXo/tgv9YJMBDJgDIyn8t0yS0ZrFX3fiDuQNV++r0smtOWlep69vm2rF
 Kf9TllpEDETvs9ni+ZxDv+JxH+GopfEyBnlf7a0pFWTM7xhIrk3Rk+3B5q7CUVhK
 1xNqnWxcF0jT2HVoQNiue1HJk/GYHfU+ziS+n8YkBJMHRitkHPtPselzQ5dXT1m4
 V5KgX2ih1HF2OOz2XEzMkiUNuUQadcrmOFXLfm0vk24P4kT05LQU0cyVVQi6V8TM
 RG4a6EyIglf+6sIXYbcAwKbgRYqgU6JF+/u2OeazB0zoHKvfQzk=
 =lPI3
 -----END PGP SIGNATURE-----

TFTP tweak.

Check sender of all received packets, as specified in RFC 1350 para 4.

My understanding of the example in the RFC is that it in fact only
applies to server-to-client packets, and packet loss or duplication
cannot result in a client sending from more than one port to a server.
This check is not, therefore, strictly needed on the server side.
It's still useful, and adds a little security against packet
spoofing. (though if you're running TFTP on a public network with
bad actors, nothing can really save you.)
