diff --git a/package/dnsmasq/Config.in b/package/dnsmasq/Config.in index f434b8ba5d..e67aa46170 100644 --- a/package/dnsmasq/Config.in +++ b/package/dnsmasq/Config.in @@ -21,13 +21,14 @@ config BR2_PACKAGE_DNSMASQ_DHCP Enable DHCP server support in dnsmasq. config BR2_PACKAGE_DNSMASQ_IDN - bool "IDN support (BIG!)" + bool "IDN support" depends on BR2_USE_WCHAR - select BR2_PACKAGE_LIBINTL select BR2_PACKAGE_LIBIDN + select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE + select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE help Enable IDN support in dnsmasq. - This option is a big space taker since is pulls in many libraries. + This option is a big space taker since it pulls in many libraries. config BR2_PACKAGE_DNSMASQ_LUA bool "Lua scripting support" @@ -35,4 +36,10 @@ config BR2_PACKAGE_DNSMASQ_LUA help Enable lua scripting for dnsmasq +config BR2_PACKAGE_DNSMASQ_CONNTRACK + bool "conntrack marking support" + select BR2_PACKAGE_LIBNETFILTER_CONNTRACK + help + Enable DNS query connection marking in netfilter. + endif diff --git a/package/dnsmasq/dnsmasq.mk b/package/dnsmasq/dnsmasq.mk index c1995a0a61..2e3575ccb6 100644 --- a/package/dnsmasq/dnsmasq.mk +++ b/package/dnsmasq/dnsmasq.mk @@ -4,7 +4,7 @@ # ############################################################# -DNSMASQ_VERSION = 2.60 +DNSMASQ_VERSION = 2.61 DNSMASQ_SITE = http://thekelleys.org.uk/dnsmasq DNSMASQ_MAKE_ENV = CC="$(TARGET_CC)" DNSMASQ_MAKE_OPT = COPTS="$(DNSMASQ_COPTS)" PREFIX=/usr CFLAGS="$(TARGET_CFLAGS)" @@ -22,10 +22,23 @@ ifneq ($(BR2_PACKAGE_DNSMASQ_TFTP),y) DNSMASQ_COPTS += -DNO_TFTP endif +# NLS requires IDN so only enable it (i18n) when IDN is true ifeq ($(BR2_PACKAGE_DNSMASQ_IDN),y) - DNSMASQ_MAKE_OPT += all-i18n - DNSMASQ_DEPENDENCIES += libidn libintl - DNSMASQ_MAKE_OPT += LDFLAGS+="-lintl -lidn" + DNSMASQ_DEPENDENCIES += libidn $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) + DNSMASQ_MAKE_OPT += LDFLAGS+="-lidn $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),-lintl)" + DNSMASQ_COPTS += -DHAVE_IDN + DNSMASQ_I18N = $(if $(BR2_ENABLE_LOCALE),-i18n) +endif + +ifeq ($(BR2_PACKAGE_DNSMASQ_CONNTRACK),y) + DNSMASQ_DEPENDENCIES += host-pkg-config libnetfilter_conntrack +endif + +ifeq ($(BR2_PACKAGE_DNSMASQ_CONNTRACK),y) +define DNSMASQ_ENABLE_CONNTRACK + $(SED) 's^.*#define HAVE_CONNTRACK.*^#define HAVE_CONNTRACK^' \ + $(DNSMASQ_DIR)/src/config.h +endef endif ifeq ($(BR2_PACKAGE_DNSMASQ_LUA),y) @@ -70,11 +83,12 @@ define DNSMASQ_BUILD_CMDS $(DNSMASQ_FIX_PKGCONFIG) $(DNSMASQ_ENABLE_DBUS) $(DNSMASQ_ENABLE_LUA) - $(DNSMASQ_MAKE_ENV) $(MAKE) -C $(@D) $(DNSMASQ_MAKE_OPT) + $(DNSMASQ_ENABLE_CONNTRACK) + $(DNSMASQ_MAKE_ENV) $(MAKE) -C $(@D) $(DNSMASQ_MAKE_OPT) all$(DNSMASQ_I18N) endef define DNSMASQ_INSTALL_TARGET_CMDS - $(DNSMASQ_MAKE_ENV) $(MAKE) -C $(@D) $(DNSMASQ_MAKE_OPT) install + $(DNSMASQ_MAKE_ENV) $(MAKE) -C $(@D) $(DNSMASQ_MAKE_OPT) install$(DNSMASQ_I18N) mkdir -p $(TARGET_DIR)/var/lib/misc/ endef