1
0
mirror of https://git.openwrt.org/feed/packages.git synced 2024-06-20 23:58:38 +02:00
openwrt-packages/net/iodine/Makefile
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

74 lines
1.6 KiB
Makefile

#
# Copyright (C) 2006-2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=iodine
PKG_VERSION:=0.7.0
PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://code.kryo.se/iodine/
PKG_HASH:=ad2b40acf1421316ec15800dcde0f587ab31d7d6f891fa8b9967c4ded93c013e
PKG_MAINTAINER:=Uwe Kleine-König <uwe+openwrt@kleine-koenig.org>
PKG_LICENSE:=ISC
PKG_LICENSE_FILES:=README
include $(INCLUDE_DIR)/package.mk
define Package/iodine/Default
SECTION:=net
CATEGORY:=Network
SUBMENU:=Firewall Tunnel
DEPENDS:= +kmod-tun +zlib
TITLE:=IP over DNS tunneling
URL:=http://code.kryo.se/iodine/
endef
define Package/iodine
$(call Package/iodine/Default)
TITLE+= client version
endef
define Package/iodine/description
iodine client version
endef
define Package/iodined
$(call Package/iodine/Default)
TITLE+= server version
endef
define Package/iodined/description
iodine server version
endef
define Build/Configure
endef
define Package/iodine/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/iodine $(1)/usr/sbin
endef
define Package/iodined/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/iodined.init $(1)/etc/init.d/iodined
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DATA) ./files/iodined.config $(1)/etc/config/iodined
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/iodined $(1)/usr/sbin
endef
define Package/iodined/conffiles
/etc/config/iodined
endef
$(eval $(call BuildPackage,iodine))
$(eval $(call BuildPackage,iodined))