Hello community, here is the log from the commit of package dhcpcd checked in at Wed Dec 20 18:05:23 CET 2006. -------- --- dhcpcd/dhcpcd.changes 2006-01-31 12:57:10.000000000 +0100 +++ /mounts/work_src_done/STABLE/dhcpcd/dhcpcd.changes 2006-12-20 14:25:37.000000000 +0100 @@ -1,0 +2,6 @@ +Wed Dec 20 14:24:29 CET 2006 - poeml@suse.de + +- allow other programs to use the port which dhcpcd uses [#117090] + dhcpcd-1.3.22pl4-reuseaddr.dif + +------------------------------------------------------------------- New: ---- dhcpcd-1.3.22pl4-reuseaddr.dif ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dhcpcd.spec ++++++ --- /var/tmp/diff_new_pack.qyNQFJ/_old 2006-12-20 18:02:47.000000000 +0100 +++ /var/tmp/diff_new_pack.qyNQFJ/_new 2006-12-20 18:02:47.000000000 +0100 @@ -5,17 +5,17 @@ # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # -# Please submit bugfixes or comments via http://bugs.opensuse.org +# Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: dhcpcd Version: 1.3.22pl4 -Release: 212 +Release: 243 Summary: A DHCP Client Daemon URL: http://www.phystech.com/download/dhcpcd.html -License: GPL +License: GNU General Public License (GPL) Group: Productivity/Networking/Boot/Clients Provides: dhcp_client Requires: net-tools @@ -45,6 +45,7 @@ Patch14: dhcpcd-1.3.22pl4-dnsSearchPath.dif Patch15: dhcpcd-1.3.22pl4-dhcpMsgSize.dif Patch16: dhcpcd-alignment +Patch17: dhcpcd-1.3.22pl4-reuseaddr.dif BuildRoot: %{_tmppath}/%{name}-%{version}-build %define localstatedir /var/lib/dhcpcd/ #define debugging 1 @@ -77,6 +78,7 @@ %patch14 -p1 %patch15 -p1 %patch16 -p1 +%patch17 -p1 cp %{S:3} %{S:4} %{S:5} . for i in README dhcpcd.8 pathnames.h; do cp -p $i $i.orig @@ -119,6 +121,9 @@ rm -rf $RPM_BUILD_ROOT %changelog -n dhcpcd +* Wed Dec 20 2006 - poeml@suse.de +- allow other programs to use the port which dhcpcd uses [#117090] + dhcpcd-1.3.22pl4-reuseaddr.dif * Tue Jan 31 2006 - ak@suse.de - fix unalignment messages on ia64 (#146764) * Wed Jan 25 2006 - mls@suse.de @@ -196,19 +201,19 @@ time intensive (calling external scripts, resolving hostname) * Thu Jan 02 2003 - poeml@suse.de - update to dhcpcd-1.3.22pl4, relevant changes: -- set the netmask properly for static routes provided by the server -- randomize XID better by including CLientHwAddr into the seed + - set the netmask properly for static routes provided by the server + - randomize XID better by including CLientHwAddr into the seed for srandom() -- fix dhcpcd cache overriding command line options -I and -i -- replace getuid() call with geteuid() in dhcpcd.c to enable + - fix dhcpcd cache overriding command line options -I and -i + - replace getuid() call with geteuid() in dhcpcd.c to enable setuid tools to launch dhcpcd. -- fix a case of dhcpcd client crash because of some DHCP server + - fix a case of dhcpcd client crash because of some DHCP server sending no dhcpMessageType field in DHCP message. -- all strings in *.info file are quoted now, and single quotes + - all strings in *.info file are quoted now, and single quotes stripped from the strings -- potential race condition between setting up the setjmp for + - potential race condition between setting up the setjmp for dhcpReboot and the sigalarm handler eliminated -- handle situations with DHCP server changing lease or T1,T2 + - handle situations with DHCP server changing lease or T1,T2 times from renewal to renewal. - rename our -S switch to -K - re-diff patches (much code has moved to dhcpconfig.c), and drop @@ -258,7 +263,7 @@ previous lease) to the INIT state (acquire a new lease), if it can't get the old lease before the timeout. Since even the default of 60 seconds seem much too long for this, I have added --z <reboot timeout> specifically for this state (default 10 s). + -z <reboot timeout> specifically for this state (default 10 s). This is good when there is no authoritative server to reply with DHCPNAK, and an old cache file is present. It works also in the rebinding state. So a large value for -t can still be used, to @@ -279,25 +284,25 @@ - set the *NIS* domainname if one was supplied * Mon Feb 04 2002 - poeml@suse.de - update to dhcpcd-1.3.22pl1 -- ntp.conf and yp.conf is written by default now, unless -N and --Y are specified on the commandline -- -T behaviour has changed, the cache will be written and dhcpcd + - ntp.conf and yp.conf is written by default now, unless -N and + -Y are specified on the commandline + - -T behaviour has changed, the cache will be written and dhcpcd forks into background -- dhcpcd saves the hostname and domainname of the host and + - dhcpcd saves the hostname and domainname of the host and restores it upon exit -- dhcpcd.exe script calling convention has changed. Now dhcpcd + - dhcpcd.exe script calling convention has changed. Now dhcpcd will pass the path to *.info file as first argument and "up/down/new" keyword as second argument, and optional -d as third one. -c can be used to specify an alternative script. -- added workaround for starting multiple dhcpcd processes -- nisDomainName is no longer used for resolv.conf -- added support for virtual interfaces -- added support for token ring (may work or not) -- secs field is increased to 10 (needed for some NT servers) -- dhcpcd sets umask to 022 -- dhcpcd tries to set optionally supplied static routes -- possible loop in lease renewal code fixed -- fixed setting wrong netmask in class A network + - added workaround for starting multiple dhcpcd processes + - nisDomainName is no longer used for resolv.conf + - added support for virtual interfaces + - added support for token ring (may work or not) + - secs field is increased to 10 (needed for some NT servers) + - dhcpcd sets umask to 022 + - dhcpcd tries to set optionally supplied static routes + - possible loop in lease renewal code fixed + - fixed setting wrong netmask in class A network - drop obsolete dhcpcd-1.3.19pl8.dif - fillup template into /etc/sysconfig/dhcp (which is shared with dhclient now) @@ -349,9 +354,9 @@ where garbage was appended) - set the default for KeepSearchlist to "no" - start script: -- get try-restart (meaning "restart when running") right -- replace meaningless ${2+"$2"} with $2 -- fix probe section to take the correct pid file(s) + - get try-restart (meaning "restart when running") right + - replace meaningless ${2+"$2"} with $2 + - fix probe section to take the correct pid file(s) - update info header for resolv.conf acc. to guidelines * Thu Apr 12 2001 - poeml@suse.de - fix start script [#6961] (-D and -H were mixed up) @@ -425,9 +430,9 @@ - removed a lost and lonly "fi" from rcdhclient (Bug 3208) * Tue Jul 04 2000 - zoz@suse.de - changed /sbin/init.d/dhclient: -- It now starts without "DHCLIENT". + - It now starts without "DHCLIENT". Just setting IFCONFIG_x with NETCONFIG contains _x is enough. -- It does not stop the demon, if it was set up by pcmcia-scripts + - It does not stop the demon, if it was set up by pcmcia-scripts but writes a message what to do then. - changed rc.config.dhclient: removed "DHCLIENT", but left the comment. ++++++ dhcpcd-1.3.22pl4-reuseaddr.dif ++++++ Allow other programs to use the same port Novell bugzilla #129019 poeml@suse.de Index: dhcpcd-1.3.22pl4/client.c =================================================================== --- dhcpcd-1.3.22pl4.orig/client.c 2006-12-20 14:21:10.000000000 +0100 +++ dhcpcd-1.3.22pl4/client.c 2006-12-20 14:21:35.647169000 +0100 @@ -836,9 +836,14 @@ void *dhcpStart() if ( DebugFlag ) syslog(LOG_DEBUG,"found NIC of link layer type %d\n",ifr.ifr_hwaddr.sa_family); } + if ( setsockopt(dhcpSocket,SOL_SOCKET,SO_REUSEADDR,&o,sizeof(o)) == -1 ) + { + syslog(LOG_ERR,"dhcpStart: setsockopt SO_REUSEADDR: %m\n"); + exit(1); + } if ( setsockopt(dhcpSocket,SOL_SOCKET,SO_BROADCAST,&o,sizeof(o)) == -1 ) { - syslog(LOG_ERR,"dhcpStart: setsockopt: %m\n"); + syslog(LOG_ERR,"dhcpStart: setsockopt SO_BROADCAST: %m\n"); exit(1); } if ( ioctl(dhcpSocket,SIOCGIFFLAGS,&ifr) ) @@ -873,9 +878,14 @@ void *dhcpStart() syslog(LOG_ERR,"dhcpStart: interface %s is not Ethernet or 802.2 Token Ring\n",ifr.ifr_name); exit(1); } + if ( setsockopt(dhcpSocket,SOL_SOCKET,SO_REUSEADDR,&o,sizeof(o)) == -1 ) + { + syslog(LOG_ERR,"dhcpStart: setsockopt SO_REUSEADDR: %m\n"); + exit(1); + } if ( setsockopt(dhcpSocket,SOL_SOCKET,SO_BROADCAST,&o,sizeof(o)) == -1 ) { - syslog(LOG_ERR,"dhcpStart: setsockopt: %m\n"); + syslog(LOG_ERR,"dhcpStart: setsockopt SO_BROADCAST: %m\n"); exit(1); } ifr.ifr_flags = saved_if_flags | IFF_UP | IFF_BROADCAST | IFF_NOTRAILERS | IFF_RUNNING; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org