From: Lev Stipakov <l...@openvpn.net> Commit
2dfc4f8 ("dns: deal with --dhcp-options when --dns is active") has changed the way how --dhcp-option values are stored. Instead of storing them directly in tuntap_options, they are now stored in dns_options->from_dhcp. Before connect, we save options before --pull is applied, for that we call clone_dns_options(). However, this routing was missing cloning of from_dhcp struct, and as a result, the values of --dhcp-option from' the local config have been lost. Fix by adding shallow-copying of dhcp_options to clone_dns_options(). It is safe to do because it only contains fixed-size arrays, scalar types and pointers to the strings which this struct doesn't own. GitHub: https://github.com/OpenVPN/openvpn/issues/839 Change-Id: I815e68dd5d365743faff2b80783b776d9e8a645c Signed-off-by: Lev Stipakov <l...@openvpn.net> Acked-by: Frank Lichtenheld <fr...@lichtenheld.com> --- This change was reviewed on Gerrit and approved by at least one developer. I request to merge it to master. Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1181 This mail reflects revision 1 of this Change. Acked-by according to Gerrit (reflected above): Frank Lichtenheld <fr...@lichtenheld.com> diff --git a/src/openvpn/dns.c b/src/openvpn/dns.c index 8554089..5421004 100644 --- a/src/openvpn/dns.c +++ b/src/openvpn/dns.c @@ -264,6 +264,7 @@ clone.servers_prepull = clone_dns_servers(o->servers_prepull, gc); clone.updown = o->updown; clone.updown_flags = o->updown_flags; + clone.from_dhcp = o->from_dhcp; return clone; } _______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel