]> www.infradead.org Git - users/dwmw2/openconnect.git/commit
fix a bug leading to incorrect split-include netmasks
authorDaniel Lenski <dlenski@gmail.com>
Tue, 27 Feb 2018 10:11:16 +0000 (12:11 +0200)
committerDavid Woodhouse <dwmw2@infradead.org>
Tue, 27 Feb 2018 10:28:53 +0000 (11:28 +0100)
commit30e25df137e1cb2ce9eacbd943d8d42e963f72fb
tree84ba3a80f219fc1fee158057fe28b9fdfff864fa
parent69226f400666677e751c65a8c27a9e5b65ee3cd2
fix a bug leading to incorrect split-include netmasks

This bug was my fault. Introduced in 881eb286499baf78afbaeff4dbc5f055d23f1e4f on 15 Oct 2016 ("Correctly handle IPv4 route specified as either 10.1.2.0/255.255.255.0 or 10.1.2.0/24")

Left shift of >=32 bits is undefined on x86 (https://stackoverflow.com/a/7471843/20789), and it was causing split-includes of 0.0.0.0/0 to output inconsistent values to
the vpnc-script variables for split-includes:

CISCO_SPLIT_INC_12_MASKLEN=0
CISCO_SPLIT_INC_12_ADDR=0.0.0.0
CISCO_SPLIT_INC_12_MASK=255.255.255.255   # generated by netmaskbits() in script.c -- WRONG!

Caught due to an assertion failing in vpn-slice: https://github.com/dlenski/vpn-slice/issues/9

Signed-off-by: Daniel Lenski <dlenski@gmail.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
script.c