Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 257897 Details for
Bug 349305
net-misc/dhcpcd-5.2.* ignores the -r command line option
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Fix request
dhcpcd-request.diff (text/plain), 2.85 KB, created by
Roy Marples
on 2010-12-23 22:03:50 UTC
(
hide
)
Description:
Fix request
Filename:
MIME Type:
Creator:
Roy Marples
Created:
2010-12-23 22:03:50 UTC
Size:
2.85 KB
patch
obsolete
>diff --git a/dhcp.c b/dhcp.c >index 8a61a0f..81c2a72 100644 >--- a/dhcp.c >+++ b/dhcp.c >@@ -915,6 +915,9 @@ make_message(struct dhcp_message **message, > p += len; > } > >+ if (type == DHCP_DISCOVER && ifo->options & DHCPCD_REQUEST) >+ PUTADDR(DHO_IPADDRESS, ifo->req_addr); >+ > if (type == DHCP_DISCOVER || > type == DHCP_INFORM || > type == DHCP_REQUEST) >diff --git a/dhcpcd.c b/dhcpcd.c >index 80bdd94..704cbb5 100644 >--- a/dhcpcd.c >+++ b/dhcpcd.c >@@ -1107,9 +1107,6 @@ start_interface(void *arg) > return; > } > >- /* We don't want to read the old lease if we NAK an old test */ >- nolease = iface->state->offer && options & DHCPCD_TEST; >- > iface->start_uptime = uptime(); > free(iface->state->offer); > iface->state->offer = NULL; >@@ -1134,21 +1131,9 @@ start_interface(void *arg) > delete_timeout(NULL, iface); > return; > } >- if (ifo->req_addr.s_addr) { >- iface->state->offer = >- dhcp_message_new(&ifo->req_addr, &ifo->req_mask); >- if (ifo->options & DHCPCD_REQUEST) >- ifo->req_addr.s_addr = 0; >- else { >- iface->state->reason = "STATIC"; >- iface->state->new = iface->state->offer; >- iface->state->offer = NULL; >- get_lease(&iface->state->lease, iface->state->new); >- configure(iface); >- start_inform(iface); >- return; >- } >- } else if (!nolease) >+ /* We don't want to read the old lease if we NAK an old test */ >+ nolease = iface->state->offer && options & DHCPCD_TEST; >+ if (!nolease) > iface->state->offer = read_lease(iface); > if (iface->state->offer) { > get_lease(&iface->state->lease, iface->state->offer); >@@ -1207,6 +1192,10 @@ init_state(struct interface *iface, int argc, char **argv) > configure_interface(iface, argc, argv); > if (!(options & DHCPCD_TEST)) > run_script(iface); >+ /* We need to drop the leasefile so that start_interface >+ * doesn't load it. */ >+ if (ifs->options->options & DHCPCD_REQUEST) >+ unlink(iface->leasefile); > > if (ifs->options->options & DHCPCD_LINK) { > switch (carrier_status(iface)) { >diff --git a/if-options.c b/if-options.c >index 3367b41..88b43d7 100644 >--- a/if-options.c >+++ b/if-options.c >@@ -420,14 +420,12 @@ parse_option(struct if_options *ifo, int opt, const char *arg) > ifo->options |= DHCPCD_QUIET; > break; > case 'r': >- ifo->options |= DHCPCD_REQUEST; > if (parse_addr(&ifo->req_addr, NULL, arg) != 0) > return -1; >+ ifo->options |= DHCPCD_REQUEST; > ifo->req_mask.s_addr = 0; > break; > case 's': >- ifo->options |= DHCPCD_INFORM | DHCPCD_PERSISTENT; >- ifo->options &= ~(DHCPCD_ARP | DHCPCD_STATIC); > if (arg && *arg != '\0') { > if (parse_addr(&ifo->req_addr, &ifo->req_mask, > arg) != 0) >@@ -436,6 +434,8 @@ parse_option(struct if_options *ifo, int opt, const char *arg) > ifo->req_addr.s_addr = 0; > ifo->req_mask.s_addr = 0; > } >+ ifo->options |= DHCPCD_INFORM | DHCPCD_PERSISTENT; >+ ifo->options &= ~(DHCPCD_ARP | DHCPCD_STATIC); > break; > case 't': > ifo->timeout = atoint(arg);
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 Raw
Actions:
View
Attachments on
bug 349305
: 257897 |
257997
|
258043