aboutsummaryrefslogtreecommitdiffstats
path: root/configure.c
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2010-01-08 10:47:26 -0800
committerDmitry Shmidt <dimitrysh@google.com>2010-01-08 10:47:26 -0800
commit938bc384f44031877543765a9ae18c764f5da9c8 (patch)
tree3c5d3e2749b7b1bef613a1283373d61945db7421 /configure.c
parentb22386a3de85d94030c7071760f4a5e3368bfbe5 (diff)
downloadexternal_dhcpcd-938bc384f44031877543765a9ae18c764f5da9c8.zip
external_dhcpcd-938bc384f44031877543765a9ae18c764f5da9c8.tar.gz
external_dhcpcd-938bc384f44031877543765a9ae18c764f5da9c8.tar.bz2
dhcpcd: Upgrade from 4.0.1 to 4.0.15
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'configure.c')
-rw-r--r--configure.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/configure.c b/configure.c
index dad3bce..1e6daeb 100644
--- a/configure.c
+++ b/configure.c
@@ -181,7 +181,7 @@ reverse_routes(struct rt *routes)
}
static int
-delete_route(const char *iface, struct rt *rt, int metric)
+delete_route(const struct interface *iface, struct rt *rt, int metric)
{
char *addr;
int retval;
@@ -206,7 +206,7 @@ delete_routes(struct interface *iface, int metric)
rt = reverse_routes(iface->routes);
while (rt) {
rtn = rt->next;
- retval += delete_route(iface->name, rt, metric);
+ retval += delete_route(iface, rt, metric);
free(rt);
rt = rtn;
}
@@ -272,7 +272,7 @@ configure_routes(struct interface *iface, const struct dhcp_message *dhcp,
iface->routes = reverse_routes(iface->routes);
for (rt = iface->routes; rt; rt = rt->next)
if (in_routes(ort, rt) != 0)
- delete_route(iface->name, rt, options->metric);
+ delete_route(iface, rt, options->metric);
for (rt = ort; rt; rt = rt->next) {
/* Don't set default routes if not asked to */
@@ -285,7 +285,7 @@ configure_routes(struct interface *iface, const struct dhcp_message *dhcp,
logger(LOG_DEBUG, "adding route to %s/%d via %s",
addr, inet_ntocidr(rt->net), inet_ntoa(rt->gate));
free(addr);
- remember = add_route(iface->name, &rt->dest,
+ remember = add_route(iface, &rt->dest,
&rt->net, &rt->gate,
options->metric);
retval += remember;
@@ -357,9 +357,9 @@ configure(struct interface *iface, const char *reason,
if (addr.s_addr == 0)
addr.s_addr = lease->addr.s_addr;
/* Ensure we have all the needed values */
- if (get_option_addr(&net.s_addr, dhcp, DHO_SUBNETMASK) == -1)
+ if (get_option_addr(&net, dhcp, DHO_SUBNETMASK) == -1)
net.s_addr = get_netmask(addr.s_addr);
- if (get_option_addr(&brd.s_addr, dhcp, DHO_BROADCAST) == -1)
+ if (get_option_addr(&brd, dhcp, DHO_BROADCAST) == -1)
brd.s_addr = addr.s_addr | ~net.s_addr;
}
@@ -400,21 +400,17 @@ configure(struct interface *iface, const char *reason,
{
dest.s_addr = addr.s_addr & net.s_addr;
gate.s_addr = 0;
- add_route(iface->name, &dest, &net, &gate, options->metric);
- del_route(iface->name, &dest, &net, &gate, 0);
+ add_route(iface, &dest, &net, &gate, options->metric);
+ del_route(iface, &dest, &net, &gate, 0);
}
#endif
- configure_routes(iface, dhcp, options);
- up = (iface->addr.s_addr != addr.s_addr ||
- iface->net.s_addr != net.s_addr);
iface->addr.s_addr = addr.s_addr;
iface->net.s_addr = net.s_addr;
-
+ configure_routes(iface, dhcp, options);
if (!lease->frominfo)
if (write_lease(iface, dhcp) == -1)
logger(LOG_ERR, "write_lease: %s", strerror(errno));
-
run_script(options, iface->name, reason, dhcp, old);
return 0;
}