mirror of
https://github.com/OpenVPN/openvpn.git
synced 2024-09-20 12:02:28 +02:00
0f904615bd
This surprising breakage results from the fact that Linux basically uses a different structure from the *BSD: For exmaple, macOS has: struct sockaddr_in { __uint8_t sin_len; sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr; char sin_zero[8]; }; with sa_family_t also uint8_t and Linux has stupidly complex definition that boils down to: struct sockaddr_in { uint16_t sin_family; in_port_t sin_port; struct in_addr sin_addr char sin_zero[8]; }; So Linux basically has a 16 bit uint16 instead of two uint8_t. Because s390x is big endian, this happens to be same in memory layout as on all BSDs with first byte being 0 and second byte being the family. Introduce a second array to check against, if we are on little endian Linux. This is a bit fragile but this is also just a unit test. This also fixes compiling test_pkt with windows. Signed-off-by: Arne Schwabe <arne@rfc2549.org> Acked-by: Gert Doering <gert@greenie.muc.de> Message-Id: <20221207140259.1083577-1-arne@rfc2549.org> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg25633.html Signed-off-by: Gert Doering <gert@greenie.muc.de> |
||
---|---|---|
.. | ||
unit_tests | ||
Makefile.am | ||
t_client.rc-sample | ||
t_client.sh.in | ||
t_cltsrv-down.sh | ||
t_cltsrv.sh | ||
t_lpback.sh | ||
t_net.sh | ||
update_t_client_ips.sh |