cron2 has uploaded a new patch set (#2) to the change originally created by d12fk. ( http://gerrit.openvpn.net/c/openvpn/+/835?usp=email )
The following approvals got outdated and were removed: Code-Review+2 by flichtenheld Change subject: dns: clone options via pointer instead of copy ...................................................................... dns: clone options via pointer instead of copy Change-Id: I12b8bb26c0cb70e50b2d42b1c69018894e9f080c Signed-off-by: Heiko Hund <he...@ist.eigentlich.net> Acked-by: Frank Lichtenheld <fr...@lichtenheld.com> Message-Id: <20241213164630.266045-1-fr...@lichtenheld.com> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg30112.html Signed-off-by: Gert Doering <g...@greenie.muc.de> --- M src/openvpn/dns.c M src/openvpn/dns.h M src/openvpn/options.c 3 files changed, 10 insertions(+), 7 deletions(-) git pull ssh://gerrit.openvpn.net:29418/openvpn refs/changes/35/835/2 diff --git a/src/openvpn/dns.c b/src/openvpn/dns.c index 15e7322..e22ea00 100644 --- a/src/openvpn/dns.c +++ b/src/openvpn/dns.c @@ -248,13 +248,15 @@ } struct dns_options -clone_dns_options(const struct dns_options o, struct gc_arena *gc) +clone_dns_options(const struct dns_options *o, struct gc_arena *gc) { struct dns_options clone; + memset(&clone, 0, sizeof(clone)); - clone.search_domains = clone_dns_domains(o.search_domains, gc); - clone.servers = clone_dns_servers(o.servers, gc); - clone.servers_prepull = clone_dns_servers(o.servers_prepull, gc); + clone.search_domains = clone_dns_domains(o->search_domains, gc); + clone.servers = clone_dns_servers(o->servers, gc); + clone.servers_prepull = clone_dns_servers(o->servers_prepull, gc); + return clone; } diff --git a/src/openvpn/dns.h b/src/openvpn/dns.h index a4ccb95..838ebe1 100644 --- a/src/openvpn/dns.h +++ b/src/openvpn/dns.h @@ -129,7 +129,8 @@ * @param gc Pointer to the gc_arena to use for the clone * @return The dns_options clone */ -struct dns_options clone_dns_options(const struct dns_options o, struct gc_arena *gc); +struct dns_options clone_dns_options(const struct dns_options *o, + struct gc_arena *gc); /** * Saves and resets the server options, so that pulled ones don't mix in. diff --git a/src/openvpn/options.c b/src/openvpn/options.c index d8dd518..b2a3a8b 100644 --- a/src/openvpn/options.c +++ b/src/openvpn/options.c @@ -3311,7 +3311,7 @@ o->pre_connect->route_default_gateway = o->route_default_gateway; o->pre_connect->route_ipv6_default_gateway = o->route_ipv6_default_gateway; - o->pre_connect->dns_options = clone_dns_options(o->dns_options, &o->gc); + o->pre_connect->dns_options = clone_dns_options(&o->dns_options, &o->gc); /* NCP related options that can be overwritten by a push */ o->pre_connect->ciphername = o->ciphername; @@ -3364,7 +3364,7 @@ /* Free DNS options and reset them to pre-pull state */ gc_free(&o->dns_options.gc); struct gc_arena dns_gc = gc_new(); - o->dns_options = clone_dns_options(pp->dns_options, &dns_gc); + o->dns_options = clone_dns_options(&pp->dns_options, &dns_gc); o->dns_options.gc = dns_gc; if (pp->client_nat_defined) -- To view, visit http://gerrit.openvpn.net/c/openvpn/+/835?usp=email To unsubscribe, or for help writing mail filters, visit http://gerrit.openvpn.net/settings Gerrit-Project: openvpn Gerrit-Branch: master Gerrit-Change-Id: I12b8bb26c0cb70e50b2d42b1c69018894e9f080c Gerrit-Change-Number: 835 Gerrit-PatchSet: 2 Gerrit-Owner: d12fk <he...@openvpn.net> Gerrit-Reviewer: flichtenheld <fr...@lichtenheld.com> Gerrit-Reviewer: plaisthos <arne-open...@rfc2549.org> Gerrit-CC: openvpn-devel <openvpn-devel@lists.sourceforge.net> Gerrit-MessageType: newpatchset
_______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel