diff options
author | 2012-11-04 03:36:39 +0000 | |
---|---|---|
committer | 2012-11-04 03:36:39 +0000 | |
commit | 67447e84d5ee95d9aa3bcfa578503c58bd247ae8 (patch) | |
tree | 9cb6c6bfa110c25b8774ae0c30b75cfad8b78b50 | |
parent | No need to pass interface name around when creating routes. (diff) | |
download | wireguard-openbsd-67447e84d5ee95d9aa3bcfa578503c58bd247ae8.tar.xz wireguard-openbsd-67447e84d5ee95d9aa3bcfa578503c58bd247ae8.zip |
No need to pass interface name around when flushing routes.
-rw-r--r-- | sbin/dhclient/dhclient.c | 6 | ||||
-rw-r--r-- | sbin/dhclient/dhcpd.h | 6 | ||||
-rw-r--r-- | sbin/dhclient/kroute.c | 11 | ||||
-rw-r--r-- | sbin/dhclient/privsep.c | 23 |
4 files changed, 11 insertions, 35 deletions
diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhclient.c index 07f7b26eb27..5783d7fb809 100644 --- a/sbin/dhclient/dhclient.c +++ b/sbin/dhclient/dhclient.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dhclient.c,v 1.165 2012/11/04 03:25:31 krw Exp $ */ +/* $OpenBSD: dhclient.c,v 1.166 2012/11/04 03:36:39 krw Exp $ */ /* * Copyright 2004 Henning Brauer <henning@openbsd.org> @@ -257,7 +257,7 @@ routehandler(void) return; die: - flush_routes_and_arp_cache(ifi->name, ifi->rdomain); + flush_routes_and_arp_cache(ifi->rdomain); error("routehandler: %s", errmsg); } @@ -662,7 +662,7 @@ bind_lease(void) char *domainname, *nameservers; delete_old_addresses(ifi->name, ifi->rdomain); - flush_routes_and_arp_cache(ifi->name, ifi->rdomain); + flush_routes_and_arp_cache(ifi->rdomain); lease = apply_defaults(client->new); options = lease->options; diff --git a/sbin/dhclient/dhcpd.h b/sbin/dhclient/dhcpd.h index 4107cb0cce5..fd458280bf7 100644 --- a/sbin/dhclient/dhcpd.h +++ b/sbin/dhclient/dhcpd.h @@ -1,4 +1,4 @@ -/* $OpenBSD: dhcpd.h,v 1.86 2012/11/04 03:25:31 krw Exp $ */ +/* $OpenBSD: dhcpd.h,v 1.87 2012/11/04 03:36:39 krw Exp $ */ /* * Copyright (c) 2004 Henning Brauer <henning@openbsd.org> @@ -342,8 +342,8 @@ void priv_delete_old_address(char *, int, struct iaddr); void add_new_address(char *, int, struct iaddr, in_addr_t *); void priv_add_new_address(char *, int, struct iaddr, in_addr_t); -void flush_routes_and_arp_cache(char *, int); -void priv_flush_routes_and_arp_cache(char *, int); +void flush_routes_and_arp_cache(int); +void priv_flush_routes_and_arp_cache(int); void add_default_route(int, struct iaddr, struct iaddr); void priv_add_default_route(int, struct iaddr, struct iaddr); diff --git a/sbin/dhclient/kroute.c b/sbin/dhclient/kroute.c index 4f5a96978ef..ab43c76c776 100644 --- a/sbin/dhclient/kroute.c +++ b/sbin/dhclient/kroute.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kroute.c,v 1.6 2012/11/04 03:25:31 krw Exp $ */ +/* $OpenBSD: kroute.c,v 1.7 2012/11/04 03:36:39 krw Exp $ */ /* * Copyright 2012 Kenneth R Westerback <krw@openbsd.org> @@ -38,7 +38,7 @@ * arp -dan */ void -flush_routes_and_arp_cache(char *ifname, int rdomain) +flush_routes_and_arp_cache(int rdomain) { size_t len; struct imsg_hdr hdr; @@ -46,16 +46,11 @@ flush_routes_and_arp_cache(char *ifname, int rdomain) hdr.code = IMSG_FLUSH_ROUTES; hdr.len = sizeof(hdr) + - sizeof(len) + strlen(ifname) + sizeof(len) + sizeof(rdomain); buf = buf_open(hdr.len); buf_add(buf, &hdr, sizeof(hdr)); - len = strlen(ifname); - buf_add(buf, &len, sizeof(len)); - buf_add(buf, ifname, len); - len = sizeof(rdomain); buf_add(buf, &len, sizeof(len)); buf_add(buf, &rdomain, len); @@ -64,7 +59,7 @@ flush_routes_and_arp_cache(char *ifname, int rdomain) } void -priv_flush_routes_and_arp_cache(char *ifname, int rdomain) +priv_flush_routes_and_arp_cache(int rdomain) { struct sockaddr *rti_info[RTAX_MAX]; int mib[7]; diff --git a/sbin/dhclient/privsep.c b/sbin/dhclient/privsep.c index b2d9e52b713..cb2978a7fe0 100644 --- a/sbin/dhclient/privsep.c +++ b/sbin/dhclient/privsep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: privsep.c,v 1.19 2012/11/04 03:25:31 krw Exp $ */ +/* $OpenBSD: privsep.c,v 1.20 2012/11/04 03:36:39 krw Exp $ */ /* * Copyright (c) 2004 Henning Brauer <henning@openbsd.org> @@ -231,24 +231,6 @@ dispatch_imsg(int fd) case IMSG_FLUSH_ROUTES: totlen = sizeof(hdr); - ifname = NULL; - addr = NULL; - if (hdr.len < totlen + sizeof(len)) - error("IMSG_FLUSH_ROUTES missing ifname length"); - buf_read(fd, &len, sizeof(len)); - totlen += sizeof(len); - if (len == SIZE_T_MAX) { - error("IMSG_FLUSH_ROUTES invalid ifname length"); - } else if (len > 0) { - if (hdr.len < totlen + len) - error("IMSG_FLUSH_ROUTES short ifname"); - if ((ifname = calloc(1, len + 1)) == NULL) - error("%m"); - buf_read(fd, ifname, len); - totlen += len; - } else - error("IMSG_FLUSH_ROUTES ifname missing"); - if (hdr.len < totlen + sizeof(len)) error("IMSG_FLUSH_ROUTES missing rdomain length"); buf_read(fd, &len, sizeof(len)); @@ -263,8 +245,7 @@ dispatch_imsg(int fd) } else error("IMSG_FLUSH_ROUTES rdomain missing"); - priv_flush_routes_and_arp_cache(ifname, rdomain); - free(ifname); + priv_flush_routes_and_arp_cache(rdomain); break; case IMSG_ADD_DEFAULT_ROUTE: |