Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 90858 Details for
Bug 139179
net-misc/dhcpcd-2.0.7 + ppc gcc-4.1.1 with -O3 has breakages.
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
2.0.5 - 2.0.6 arp only patch
arp.patch (text/plain), 6.52 KB, created by
Roy Marples (RETIRED)
on 2006-07-04 08:12:30 UTC
(
hide
)
Description:
2.0.5 - 2.0.6 arp only patch
Filename:
MIME Type:
Creator:
Roy Marples (RETIRED)
Created:
2006-07-04 08:12:30 UTC
Size:
6.52 KB
patch
obsolete
>diff -u dhcpcd-2.0.5/src/arp.c dhcpcd-2.0.6/src/arp.c >--- dhcpcd-2.0.5/src/arp.c 2006-04-27 22:18:29.000000000 +0100 >+++ dhcpcd-2.0.6/src/arp.c 2006-06-05 11:47:11.000000000 +0100 >@@ -59,7 +59,6 @@ > > const int inaddr_broadcast = INADDR_BROADCAST; > /*****************************************************************************/ >-#ifdef ARPCHECK > int arpCheck() > { > arpMessage ArpMsgSend,ArpMsgRecv; >@@ -159,7 +158,6 @@ > while ( 1 ); > return 0; > } >-#endif > /*****************************************************************************/ > int arpRelease() /* sends UNARP message, cf. RFC1868 */ > { >diff -u dhcpcd-2.0.5/src/buildmsg.c dhcpcd-2.0.6/src/buildmsg.c >--- dhcpcd-2.0.5/src/buildmsg.c 2006-04-27 22:18:29.000000000 +0100 >+++ dhcpcd-2.0.6/src/buildmsg.c 2006-06-05 11:47:11.000000000 +0100 >@@ -576,7 +576,6 @@ > sizeof(dhcpMessage)); > } > /*****************************************************************************/ >-#ifdef ARPCHECK > void buildDhcpDecline(xid) > unsigned xid; > { >@@ -620,7 +619,6 @@ > DhcpIface.siaddr,htons(DHCP_CLIENT_PORT),htons(DHCP_SERVER_PORT), > sizeof(dhcpMessage)); > } >-#endif > /*****************************************************************************/ > void buildDhcpInform(xid) > unsigned xid; >diff -u dhcpcd-2.0.5/src/client.c dhcpcd-2.0.6/src/client.c >--- dhcpcd-2.0.5/src/client.c 2006-04-27 22:18:29.000000000 +0100 >+++ dhcpcd-2.0.6/src/client.c 2006-06-05 11:47:11.000000000 +0100 >@@ -75,6 +75,7 @@ > extern int InitialHostName_len,InitialDomainName_len; > extern char *InitialHostName,*InitialDomainName; > extern int DownIfaceOnStop; >+extern int DoARP; > > extern char resolv_file[128]; > extern char resolv_file_sv[128]; >@@ -90,9 +91,7 @@ > > extern int SetFQDNHostName; > >-#ifdef ARPCHECK >-int arpCheck(); >-#endif >+int arpCheck(); > int arpRelease(); > int dhcpConfig(); > int readDhcpCache(); >@@ -1088,27 +1085,28 @@ > ((unsigned char *)DhcpOptions.val[dhcpServerIdentifier])[1], > ((unsigned char *)DhcpOptions.val[dhcpServerIdentifier])[2], > ((unsigned char *)DhcpOptions.val[dhcpServerIdentifier])[3]); >-#ifdef ARPCHECK > /* check if the offered IP address already in use */ >- if ( arpCheck() ) >+ if ( DoARP ) > { >- logger(LOG_ERR, >- "requested %u.%u.%u.%u address is in use", >- ((unsigned char *)&DhcpIface.ciaddr)[0], >- ((unsigned char *)&DhcpIface.ciaddr)[1], >- ((unsigned char *)&DhcpIface.ciaddr)[2], >- ((unsigned char *)&DhcpIface.ciaddr)[3]); >- dhcpDecline(); >- DhcpIface.ciaddr = 0; >- return &dhcpInit; >+ if ( arpCheck() ) >+ { >+ logger(LOG_ERR, >+ "requested %u.%u.%u.%u address is in use", >+ ((unsigned char *)&DhcpIface.ciaddr)[0], >+ ((unsigned char *)&DhcpIface.ciaddr)[1], >+ ((unsigned char *)&DhcpIface.ciaddr)[2], >+ ((unsigned char *)&DhcpIface.ciaddr)[3]); >+ dhcpDecline(); >+ DhcpIface.ciaddr = 0; >+ return &dhcpInit; >+ } >+ logger(LOG_INFO, >+ "verified %u.%u.%u.%u address is not in use", >+ ((unsigned char *)&DhcpIface.ciaddr)[0], >+ ((unsigned char *)&DhcpIface.ciaddr)[1], >+ ((unsigned char *)&DhcpIface.ciaddr)[2], >+ ((unsigned char *)&DhcpIface.ciaddr)[3]); > } >- logger(LOG_INFO, >- "verified %u.%u.%u.%u address is not in use", >- ((unsigned char *)&DhcpIface.ciaddr)[0], >- ((unsigned char *)&DhcpIface.ciaddr)[1], >- ((unsigned char *)&DhcpIface.ciaddr)[2], >- ((unsigned char *)&DhcpIface.ciaddr)[3]); >-#endif > if ( dhcpConfig() ) > { > dhcpStop(); >@@ -1169,6 +1167,9 @@ > if (FD_ISSET(dhcpSocket, &rset)) > while (recvfrom(dhcpSocket,(void *)foobuf,sizeof(foobuf),0,NULL,NULL) != -1 ); > } >+ >+ /* Sleep for 2 seconds so we don't gobble CPU time */ >+ sleep(2); > } > } > /*****************************************************************************/ >@@ -1333,7 +1332,6 @@ > return &dhcpStart; > } > /*****************************************************************************/ >-#ifdef ARPCHECK > void *dhcpDecline() > { > struct sockaddr addr; >@@ -1353,7 +1351,6 @@ > logger(LOG_ERR,"dhcpDecline: sendto: %s",strerror(errno)); > return &dhcpInit; > } >-#endif > /*****************************************************************************/ > void *dhcpInform() > { >@@ -1422,26 +1419,27 @@ > ((unsigned char *)DhcpOptions.val[dhcpServerIdentifier])[1], > ((unsigned char *)DhcpOptions.val[dhcpServerIdentifier])[2], > ((unsigned char *)DhcpOptions.val[dhcpServerIdentifier])[3]); >-#ifdef ARPCHECK > /* check if the offered IP address already in use */ >- if ( arpCheck() ) >+ if ( DoARP ) > { >- logger(LOG_ERR, >- "requested %u.%u.%u.%u address is in use", >- ((unsigned char *)&DhcpIface.ciaddr)[0], >- ((unsigned char *)&DhcpIface.ciaddr)[1], >- ((unsigned char *)&DhcpIface.ciaddr)[2], >- ((unsigned char *)&DhcpIface.ciaddr)[3]); >- dhcpDecline(); >- return 0; >+ if ( arpCheck() ) >+ { >+ logger(LOG_ERR, >+ "requested %u.%u.%u.%u address is in use", >+ ((unsigned char *)&DhcpIface.ciaddr)[0], >+ ((unsigned char *)&DhcpIface.ciaddr)[1], >+ ((unsigned char *)&DhcpIface.ciaddr)[2], >+ ((unsigned char *)&DhcpIface.ciaddr)[3]); >+ dhcpDecline(); >+ return 0; >+ } >+ logger(LOG_INFO, >+ "verified %u.%u.%u.%u address is not in use", >+ ((unsigned char *)&DhcpIface.ciaddr)[0], >+ ((unsigned char *)&DhcpIface.ciaddr)[1], >+ ((unsigned char *)&DhcpIface.ciaddr)[2], >+ ((unsigned char *)&DhcpIface.ciaddr)[3]); > } >- logger(LOG_INFO, >- "verified %u.%u.%u.%u address is not in use", >- ((unsigned char *)&DhcpIface.ciaddr)[0], >- ((unsigned char *)&DhcpIface.ciaddr)[1], >- ((unsigned char *)&DhcpIface.ciaddr)[2], >- ((unsigned char *)&DhcpIface.ciaddr)[3]); >-#endif > if ( dhcpConfig() ) return 0; > exit(0); > } >diff -u dhcpcd-2.0.5/src/client.h dhcpcd-2.0.6/src/client.h >--- dhcpcd-2.0.5/src/client.h 2006-04-27 22:18:29.000000000 +0100 >+++ dhcpcd-2.0.6/src/client.h 2006-06-05 11:47:11.000000000 +0100 >@@ -217,8 +217,6 @@ > void *dhcpRelease(); > void *dhcpStop(); > void *dhcpInform(); >-#ifdef ARPCHECK > void *dhcpDecline(); >-#endif > > #endif >diff -u dhcpcd-2.0.5/src/dhcpcd.c dhcpcd-2.0.6/src/dhcpcd.c >--- dhcpcd-2.0.5/src/dhcpcd.c 2006-04-27 22:18:29.000000000 +0100 >+++ dhcpcd-2.0.6/src/dhcpcd.c 2006-06-05 11:47:11.000000000 +0100 >@@ -77,6 +77,7 @@ > int SetDHCPDefaultRoutes= 1; > int Persistent = 0; > int DownIfaceOnStop = 1; >+int DoARP = 1; > > #if 0 > unsigned char ClientMACaddr[ETH_ALEN]; >@@ -158,6 +159,10 @@ > i++; > s=1; > break; >+ case 'a': >+ s++; >+ DoARP = 0; >+ goto prgs; > case 'p': > s++; > Persistent = 1;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 139179
:
90849
|
90850
|
90851
|
90852
|
90853
|
90854
| 90858 |
90859
|
91522
|
91702
|
91703
|
92504