openwrt-packages/net/iodine/patches
Jo-Philipp Wich 175cf9e985 iodine: workaround incomplete musl nameser.h header
The arpa/nameser.h header of musl libc indirectly depends on the endian.h
header but fails to explicitely include it to properly define
`__BYTE_ORDER` and `__BIG_ENDIAN` prior to declaring the DNS `HEADER`
structure.

When both the appropriate `__BYTE_ORDER` and `__BIG_ENDIAN` defines are
unset, the `#if __BYTE_ORDER == __BIG_ENDIAN` condition in `nameser.h`
evaluates to true, causing it to declare a bad (big endian) DNS packet
header structure on little endian systems.

Work around this musl bug by forcibly passing `-include endian.h` through
the `osflags` file.

An upstream fix for musl libc has been submitted with
http://www.openwall.com/lists/musl/2017/12/04/3

This should solve iodine packet corruption on little endian musl systems
reported at
http://lists.infradead.org/pipermail/lede-dev/2017-November/010085.html

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-12-12 23:41:44 +01:00
..
010-cross-compile.patch net/iodine: upgrade to version 0.7.0 2014-07-21 21:29:40 +02:00
100-musl-compatibility.patch iodine: fix musl compatibility 2015-06-25 19:57:50 +03:00
101-musl-workaround-incomplete-nameser-h.patch iodine: workaround incomplete musl nameser.h header 2017-12-12 23:41:44 +01:00