Red Hat Bugzilla – Bug 16970
inetd's internal time server will not talk to an HP4000M, firmware C.08.03
Last modified: 2008-05-01 11:37:58 EDT
This is not a bug, but I am reporting it for the record in case anyone else runs into it.
My HP Procurve 4000M switch has an option to synchronize its clock to a
time (RFC 868) server. I enabled the internal time service in inetd (the switch
uses the UDP flavor) on my RedHat 6.2 box, but the switch reported that it
was unable to contact the server. The server, on the other hand, logged
internal failures (exit code -1) to the syslog every time the switch polled it. It
turns out that the switch was using source port 4, and a quick check of the
inetd source shows that its internal services gratuitously reject UDP requests
from privileged ports. Apparently inetd's internal time server is unusual in
this regard, for HP seemed unaware of the problem. Nevertheless, I think
inetd's behavior is reasonable.
The best solution would be for HP to fix their firmware, and I have contacted
them about it, but it is unclear whether they will do so any time soon. I
originally solved the problem by writing my own standalone RFC 868 server
(which wasn't as picky as inetd's), but after I figured out what was going on
I was able to patch inetd to let in time requests from source port 4. I do not
provide the patch here, as I don't necessarilly consider it to be a reasonable
solution, but I can provide it upon request.