> Arne Schwabe <a...@rfc2549.org> hat am 14.12.2021 23:38 geschrieben:
> Am 14.12.21 um 18:10 schrieb Frank Lichtenheld:
> > 
> > 
> >> Arne Schwabe <a...@rfc2549.org> hat am 14.12.2021 16:09 geschrieben:
> >> diff --git a/src/openvpn/forward.c b/src/openvpn/forward.c
> >> index 29efcd3b9..f82386a1d 100644
> >> --- a/src/openvpn/forward.c
> >> +++ b/src/openvpn/forward.c
> >> @@ -1493,7 +1493,7 @@ process_ip_header(struct context *c, unsigned int 
> >> flags, struct buffer *buf)
> >>                   /* possibly alter the TCP MSS */
> >>                   if (flags & PIP_MSSFIX)
> >>                   {
> >> -                    mss_fixup_ipv4(&ipbuf, 
> >> MTU_TO_MSS(TUN_MTU_SIZE_DYNAMIC(&c->c2.frame)));
> >> +                    mss_fixup_ipv4(&ipbuf, c->c2.frame.mss_fix);
> > 
> > I still think this will badly explode in the ce.mssfix == 0 code path. In 
> > that case frame.mss_fix == 0 AFAICT
> > and I see no handling of that possibility in mss_fixup_ipv4/6.
> 
> I won't. This is part of the older parts of OpenVPN that are more 
> obscure. You overlooking the implicit assumption that PIP_MSSFIX is only 
> set if also c->c2.frame.mssfix is != 0
> 
> See the top of the function. If ce.mssfix is 0 then you never have the 
> PIP_MSSFIX flag in the flags:

You're right. Should've not only looked at mss_fixup_*, but also at 
process_ip_header...

Regards,
--
Frank Lichtenheld


_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to