summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkrw <krw@openbsd.org>2020-11-21 18:34:25 +0000
committerkrw <krw@openbsd.org>2020-11-21 18:34:25 +0000
commit4570332c80d3f71cdd580c915dfbe65aaee9274e (patch)
treeda980e09f22f500d422f5832a31fba97c0d03cd3
parentWhen REBOOT'ing it is necessary to apply_defaults() to the recorded (diff)
downloadwireguard-openbsd-4570332c80d3f71cdd580c915dfbe65aaee9274e.tar.xz
wireguard-openbsd-4570332c80d3f71cdd580c915dfbe65aaee9274e.zip
No need to update resolv.conf when renewing a lease does not result in any
configuration changges.
-rw-r--r--sbin/dhclient/dhclient.c3
-rw-r--r--sbin/dhclient/kroute.c8
-rw-r--r--sbin/dhclient/privsep.c5
-rw-r--r--sbin/dhclient/privsep.h4
4 files changed, 11 insertions, 9 deletions
diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhclient.c
index 46c30079297..beb5d65459f 100644
--- a/sbin/dhclient/dhclient.c
+++ b/sbin/dhclient/dhclient.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: dhclient.c,v 1.684 2020/11/21 14:56:28 krw Exp $ */
+/* $OpenBSD: dhclient.c,v 1.685 2020/11/21 18:34:25 krw Exp $ */
/*
* Copyright 2004 Henning Brauer <henning@openbsd.org>
@@ -1066,7 +1066,6 @@ newlease:
* place when dhclient(8) goes daemon.
*/
write_lease_db(&ifi->lease_db);
- write_resolv_conf();
free_client_lease(lease);
free(effective_proposal);
diff --git a/sbin/dhclient/kroute.c b/sbin/dhclient/kroute.c
index d068b788db0..1e0753a05db 100644
--- a/sbin/dhclient/kroute.c
+++ b/sbin/dhclient/kroute.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kroute.c,v 1.191 2020/11/19 22:30:19 krw Exp $ */
+/* $OpenBSD: kroute.c,v 1.192 2020/11/21 18:34:25 krw Exp $ */
/*
* Copyright 2012 Kenneth R Westerback <krw@openbsd.org>
@@ -900,7 +900,8 @@ propose(struct proposal *proposal)
void
priv_propose(char *name, int ioctlfd, struct proposal *proposal,
- size_t sz, char **resolv_conf, int routefd, int rdomain, int index)
+ size_t sz, char **resolv_conf, int routefd, int rdomain, int index,
+ int *lastidx)
{
struct unwind_info unwind_info;
struct ifreq ifr;
@@ -961,6 +962,9 @@ priv_propose(char *name, int ioctlfd, struct proposal *proposal,
set_routes(name, index, rdomain, routefd, proposal->address,
proposal->netmask, routes, proposal->routes_len);
+
+ *lastidx = 0;
+ priv_write_resolv_conf(index, routefd, rdomain, *resolv_conf, lastidx);
}
/*
diff --git a/sbin/dhclient/privsep.c b/sbin/dhclient/privsep.c
index a17d9046812..dfddbe6ca26 100644
--- a/sbin/dhclient/privsep.c
+++ b/sbin/dhclient/privsep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: privsep.c,v 1.78 2020/05/20 18:27:16 krw Exp $ */
+/* $OpenBSD: privsep.c,v 1.79 2020/11/21 18:34:25 krw Exp $ */
/*
* Copyright (c) 2004 Henning Brauer <henning@openbsd.org>
@@ -82,8 +82,7 @@ dispatch_imsg(char *name, int rdomain, int ioctlfd, int routefd,
else {
priv_propose(name, ioctlfd, imsg.data,
imsg.hdr.len - IMSG_HEADER_SIZE - sizeof(struct proposal),
- &resolv_conf, routefd, rdomain, index);
- lastidx = 0; /* Next IMSG_WRITE_RESOLV_CONF */
+ &resolv_conf, routefd, rdomain, index, &lastidx);
}
break;
diff --git a/sbin/dhclient/privsep.h b/sbin/dhclient/privsep.h
index 4e7e9f644b8..84a40a02d8f 100644
--- a/sbin/dhclient/privsep.h
+++ b/sbin/dhclient/privsep.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: privsep.h,v 1.69 2020/05/28 15:23:46 krw Exp $ */
+/* $OpenBSD: privsep.h,v 1.70 2020/11/21 18:34:25 krw Exp $ */
/*
* Copyright (c) 2004 Henning Brauer <henning@openbsd.org>
@@ -42,7 +42,7 @@ void dispatch_imsg(char *, int, int, int, struct imsgbuf *);
void priv_write_resolv_conf(int, int, int, char *, int *);
void priv_propose(char *, int, struct proposal *, size_t, char **, int, int,
- int);
+ int, int *);
void priv_revoke_proposal(char *, int, struct proposal *, char **);