NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
bin/45308: ntpd doens't listen to broadcast anymore
>Number: 45308
>Category: bin
>Synopsis: ntpd doens't listen to broadcast anymore
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: bin-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Aug 29 16:30:00 +0000 2011
>Originator: Manuel.Bouyer%lip6.fr@localhost
>Release: NetBSD 5.99.52
>Organization:
>Environment:
System: NetBSD comore.lip6.fr 5.99.52 NetBSD 5.99.52 (XEN3_DOMU) #59: Mon Jun
20 21:32:56 CEST 2011
bouyer@roll:/dsk/l1/misc/bouyer/tmp/amd64/obj/dsk/l1/misc/bouyer/current/src/sys/arch/amd64/compile/XEN3_DOMU
amd64
Architecture: x86_64
Machine: amd64
>Description:
I'm running ntpd with '-A -b' on most of my client systems;
I have 2 servers broadcasting ntp packets on local nets.
This works fine for netbsd-5 (and previous) hosts but I noticed
this doesn't work with HEAD: ntpd logs
Aug 29 18:04:08 comore ntpd[530]: Unable to listen for broadcasts, no
broadcast interfaces available
and no ntp packets are accepted.
debug (ntpd -A -b -d -d) shows that this message shows up
*before* ntpd has probed any interface, so indeed there's no
broadcast interface because there's no interface at all at this time.
Adding -I iface to the command line doesn't help.
>How-To-Repeat:
ntpd -A -b, notice ntpd doesn't sync although tcpdump shows incoming
broadcast ntpd messages
>Fix:
The patch below makes -b works as expected: after probing
interfaces, call io_setbclient() again so it can work on a non-empty
interface list.
I've no idea if this is the right way of fixing this though ...
Index: ntpd/ntp_io.c
===================================================================
RCS file: /cvsroot/src/external/bsd/ntp/dist/ntpd/ntp_io.c,v
retrieving revision 1.5
diff -u -p -u -r1.5 ntp_io.c
--- ntpd/ntp_io.c 9 Jan 2011 14:49:40 -0000 1.5
+++ ntpd/ntp_io.c 29 Aug 2011 16:18:00 -0000
@@ -1782,6 +1782,9 @@ create_sockets(
create_wildcards(port);
update_interfaces(port, NULL, NULL);
+
+ if (sys_bclient)
+ io_setbclient();
/*
* Now that we have opened all the sockets, turn off the reuse
>Unformatted:
(also checked on up do date HEAD)
Home |
Main Index |
Thread Index |
Old Index