mdns: update and rename package to the umdns
This update includes numerous small fixes for: 1) Interfaces setup 2) Packets parsing 3) Sending replies Without this there were multiple problems with exchanging information between (u)mdns and other implementations (including (u)mdns as well). This also follows project rename to umdns which was required to avoid confusion with Apple's mdnsd from mDNSResponder project. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
This commit is contained in:
parent
72d045b2a6
commit
df49e49bc7
@ -7,14 +7,14 @@
|
|||||||
|
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=mdns
|
PKG_NAME:=umdns
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE_URL=$(LEDE_GIT)/project/mdnsd.git
|
PKG_SOURCE_URL=$(LEDE_GIT)/project/mdnsd.git
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_DATE:=2017-01-31
|
PKG_SOURCE_DATE:=2017-02-15
|
||||||
PKG_SOURCE_VERSION:=9cbbb141068c12ed032736e20f982e2a0fb43edc
|
PKG_SOURCE_VERSION:=0d545ed7287026584722a3f9aa855c29bd24d59f
|
||||||
PKG_MIRROR_HASH:=2b981bd2f695f4da63b51be33b42dcda132c6adab227eda2f68a5c534284aea9
|
PKG_MIRROR_HASH:=9670680a31f8eca5724da4cd12efedcbc27563b09ed4d94218f5debee1673abc
|
||||||
|
|
||||||
PKG_MAINTAINER:=John Crispin <john@phrozen.org>
|
PKG_MAINTAINER:=John Crispin <john@phrozen.org>
|
||||||
PKG_LICENSE:=LGPL-2.1
|
PKG_LICENSE:=LGPL-2.1
|
||||||
@ -23,7 +23,7 @@ include $(INCLUDE_DIR)/package-seccomp.mk
|
|||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
include $(INCLUDE_DIR)/cmake.mk
|
include $(INCLUDE_DIR)/cmake.mk
|
||||||
|
|
||||||
define Package/mdns
|
define Package/umdns
|
||||||
SECTION:=net
|
SECTION:=net
|
||||||
CATEGORY:=Network
|
CATEGORY:=Network
|
||||||
TITLE:=OpenWrt Multicast DNS Daemon
|
TITLE:=OpenWrt Multicast DNS Daemon
|
||||||
@ -32,16 +32,16 @@ endef
|
|||||||
|
|
||||||
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
|
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
|
||||||
|
|
||||||
define Package/mdns/conffiles
|
define Package/umdns/conffiles
|
||||||
/etc/config/mdns
|
/etc/config/umdns
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/mdns/install
|
define Package/umdns/install
|
||||||
$(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/init.d $(1)/etc/config
|
$(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/init.d $(1)/etc/config
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/mdns $(1)/usr/sbin/
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/umdns $(1)/usr/sbin/
|
||||||
$(INSTALL_BIN) ./files/mdns.init $(1)/etc/init.d/mdns
|
$(INSTALL_BIN) ./files/umdns.init $(1)/etc/init.d/umdns
|
||||||
$(INSTALL_CONF) ./files/mdns.config $(1)/etc/config/mdns
|
$(INSTALL_CONF) ./files/umdns.config $(1)/etc/config/umdns
|
||||||
$(call InstallSeccomp,$(1),./files/mdns.json)
|
$(call InstallSeccomp,$(1),./files/umdns.json)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,mdns))
|
$(eval $(call BuildPackage,umdns))
|
@ -1,3 +1,3 @@
|
|||||||
config mdns
|
config umdns
|
||||||
option jail 1
|
option jail 1
|
||||||
list network lan
|
list network lan
|
@ -6,11 +6,11 @@
|
|||||||
START=80
|
START=80
|
||||||
|
|
||||||
USE_PROCD=1
|
USE_PROCD=1
|
||||||
PROG=/usr/sbin/mdns
|
PROG=/usr/sbin/umdns
|
||||||
IFACES=""
|
IFACES=""
|
||||||
|
|
||||||
load_ifaces() {
|
load_ifaces() {
|
||||||
local network="$(uci get mdns.@mdns[-1].network)"
|
local network="$(uci get umdns.@umdns[-1].network)"
|
||||||
for n in $network; do
|
for n in $network; do
|
||||||
local device
|
local device
|
||||||
json_load "$(ifstatus $n)"
|
json_load "$(ifstatus $n)"
|
||||||
@ -27,28 +27,28 @@ reload_service() {
|
|||||||
done
|
done
|
||||||
json_close_array
|
json_close_array
|
||||||
|
|
||||||
ubus call mdns set_config "$(json_dump)"
|
ubus call umdns set_config "$(json_dump)"
|
||||||
}
|
}
|
||||||
|
|
||||||
start_service() {
|
start_service() {
|
||||||
local network="$(uci get mdns.@mdns[-1].network)"
|
local network="$(uci get umdns.@umdns[-1].network)"
|
||||||
|
|
||||||
procd_open_instance
|
procd_open_instance
|
||||||
procd_set_param command "$PROG"
|
procd_set_param command "$PROG"
|
||||||
procd_set_param seccomp /etc/seccomp/mdns.json
|
procd_set_param seccomp /etc/seccomp/umdns.json
|
||||||
procd_set_param respawn
|
procd_set_param respawn
|
||||||
procd_open_trigger
|
procd_open_trigger
|
||||||
procd_add_config_trigger "config.change" "mdns" /etc/init.d/mdns reload
|
procd_add_config_trigger "config.change" "umdns" /etc/init.d/umdns reload
|
||||||
for n in $network; do
|
for n in $network; do
|
||||||
procd_add_interface_trigger "interface.*" $n /etc/init.d/mdns reload
|
procd_add_interface_trigger "interface.*" $n /etc/init.d/umdns reload
|
||||||
done
|
done
|
||||||
procd_add_raw_trigger "instance.update" 5000 "/bin/ubus" "call" "mdns" "reload"
|
procd_add_raw_trigger "instance.update" 5000 "/bin/ubus" "call" "umdns" "reload"
|
||||||
procd_close_trigger
|
procd_close_trigger
|
||||||
[ "$(uci get mdns.@mdns[-1].jail)" = 1 ] && procd_add_jail mdns ubus log
|
[ "$(uci get umdns.@umdns[-1].jail)" = 1 ] && procd_add_jail umdns ubus log
|
||||||
procd_close_instance
|
procd_close_instance
|
||||||
}
|
}
|
||||||
|
|
||||||
service_started() {
|
service_started() {
|
||||||
ubus -t 10 wait_for mdns
|
ubus -t 10 wait_for umdns
|
||||||
[ $? = 0 ] && reload_service
|
[ $? = 0 ] && reload_service
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user