Hi, On Tue, Aug 23, 2016 at 03:43:36PM +0200, Gert Doering wrote: > ... which looks like "the IP header ends up where the ethernet header > should be" (every ping packet shows up as "new source address" on the > openvpn server). > > I have no idea what this could be, but since we want 2.3.12 out *today*, > we'll need to back it out of 2.3 for the time being. > > Lev, do you have time to investigate?
is_ipv_X() in proto.c is to blame here, as it breaks the buffer
for tap mode...
...
/* IP version is stored in the same bits for IPv4 or IPv6 header */
if (OPENVPN_IPH_GET_VER (ih->version_len) == ip_ver)
return buf_advance (buf, offset);
...
... and "offset" is only set != 0 in tap mode - so in tun mode, it works,
and the code itself looks totally reasonable.
David, please revert both release/2.3 and master, and we'll need to
rethink this, not using "is_ipv4()"...
gert
--
USENET is *not* the non-clickable part of WWW!
//www.muc.de/~gert/
Gert Doering - Munich, Germany [email protected]
fax: +49-89-35655025 [email protected]
signature.asc
Description: PGP signature
------------------------------------------------------------------------------
_______________________________________________ Openvpn-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openvpn-devel
