diff options
author | james <james@e7ae566f-a301-0410-adde-c780ea21d3b5> | 2009-11-19 16:42:51 +0000 |
---|---|---|
committer | james <james@e7ae566f-a301-0410-adde-c780ea21d3b5> | 2009-11-19 16:42:51 +0000 |
commit | 5c30df12ae98c0289cdfb2a24aefba2a9d2cc52e (patch) | |
tree | b900adb66ca9a3c7d57fb89fe647f6772df027f9 /forward.c | |
parent | Increase MAX_CERT_DEPTH to 16 (from 8), and when exceeded, (diff) | |
download | openvpn-5c30df12ae98c0289cdfb2a24aefba2a9d2cc52e.tar.xz |
Fixed a client-side bug that occurred when the "dhcp-pre-release"
or "dhcp-renew" options were combined with "route-gateway dhcp".
The problem is that the IP Helper functions for DHCP release and
renew are blocking, and so calling them from a single-threaded
client stops tunnel traffic forwarding, and hence breaks
"route-gateway dhcp" which requires an active tunnel. The fix is
to call the IP Helper functions for DHCP release and renew from
another process.
Version 2.1_rc21b.
git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@5164 e7ae566f-a301-0410-adde-c780ea21d3b5
Diffstat (limited to 'forward.c')
-rw-r--r-- | forward.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -1040,7 +1040,8 @@ process_ipv4_header (struct context *c, unsigned int flags, struct buffer *buf) if (flags & PIPV4_EXTRACT_DHCP_ROUTER) { const in_addr_t dhcp_router = dhcp_extract_router_msg (&ipbuf); - route_list_add_default_gateway (c->c1.route_list, c->c2.es, dhcp_router); + if (dhcp_router) + route_list_add_default_gateway (c->c1.route_list, c->c2.es, dhcp_router); } } } |