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 g...@greenie.muc.de fax: +49-89-35655025 g...@net.informatik.tu-muenchen.de
signature.asc
Description: PGP signature
------------------------------------------------------------------------------
_______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel