aboutsummaryrefslogtreecommitdiff
path: root/forward.c
diff options
context:
space:
mode:
authorJames Yonan2011-11-03 02:03:35 +0000
committerDavid Sommerseth2011-12-14 17:04:05 +0100
commit840799182c0769c8ac9d014d09a497563516fc0d (patch)
treededdc036a7ccebde4aa757bd43b25b707e2892c1 /forward.c
parentffea644ce62a67ea06e375c17277cea4e9cb9873 (diff)
downloadopenvpn-840799182c0769c8ac9d014d09a497563516fc0d.zip
openvpn-840799182c0769c8ac9d014d09a497563516fc0d.tar.gz
Fixed client issues with DHCP Router option extraction/deletion when
using layer 2 with DHCP proxy: * Extract/delete Router option from both DHCPOFFER and DHCPACK messages. Prevously we only considered DHCPACK messages. With DHCPACK messages, we extract the Router IP for use as the vpn_gateway, as well as delete the Router option from the DHCP message. For DHCPOFFER, we only delete the Router message. * Monitor all DHCPOFFER and DHCPACK messages for possible Router options needing to be extracted/deleted. Previously, we turned off monitoring after the first successful extraction/deletion from a DHCPACK message. * Previously, we deleted Router options by padding them with DHCP PAD options. This has proven not to work with some DHCP clients, so we now delete the message entirely, and add PADs to the end of the message so as not to change its length. * In some cases, UDP checksum was not being correctly updated for modified DHCP packets. To properly use this feature on Linux, after tunnel comes up, run these commands: ifconfig tap0 up dhclient tap0 Version 2.1.17 git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@7682 e7ae566f-a301-0410-adde-c780ea21d3b5
Diffstat (limited to 'forward.c')
-rw-r--r--forward.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/forward.c b/forward.c
index c66031f..dfef4ef 100644
--- a/forward.c
+++ b/forward.c
@@ -1011,7 +1011,7 @@ process_ipv4_header (struct context *c, unsigned int flags, struct buffer *buf)
if (!c->options.passtos)
flags &= ~PIPV4_PASSTOS;
#endif
- if (!c->options.route_gateway_via_dhcp || !route_list_vpn_gateway_needed (c->c1.route_list))
+ if (!c->options.route_gateway_via_dhcp)
flags &= ~PIPV4_EXTRACT_DHCP_ROUTER;
if (buf->len > 0)