mirror of https://github.com/hak5/openwrt.git
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>openwrt-18.06
parent
748e701b74
commit
2a6fbce121
|
@ -7,14 +7,14 @@
|
|||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=mdns
|
||||
PKG_NAME:=umdns
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_URL=$(LEDE_GIT)/project/mdnsd.git
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_DATE:=2017-01-31
|
||||
PKG_SOURCE_VERSION:=9cbbb141068c12ed032736e20f982e2a0fb43edc
|
||||
PKG_MIRROR_HASH:=2b981bd2f695f4da63b51be33b42dcda132c6adab227eda2f68a5c534284aea9
|
||||
PKG_SOURCE_DATE:=2017-02-15
|
||||
PKG_SOURCE_VERSION:=0d545ed7287026584722a3f9aa855c29bd24d59f
|
||||
PKG_MIRROR_HASH:=9670680a31f8eca5724da4cd12efedcbc27563b09ed4d94218f5debee1673abc
|
||||
|
||||
PKG_MAINTAINER:=John Crispin <john@phrozen.org>
|
||||
PKG_LICENSE:=LGPL-2.1
|
||||
|
@ -23,7 +23,7 @@ include $(INCLUDE_DIR)/package-seccomp.mk
|
|||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/cmake.mk
|
||||
|
||||
define Package/mdns
|
||||
define Package/umdns
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
TITLE:=OpenWrt Multicast DNS Daemon
|
||||
|
@ -32,16 +32,16 @@ endef
|
|||
|
||||
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
|
||||
|
||||
define Package/mdns/conffiles
|
||||
/etc/config/mdns
|
||||
define Package/umdns/conffiles
|
||||
/etc/config/umdns
|
||||
endef
|
||||
|
||||
define Package/mdns/install
|
||||
define Package/umdns/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/init.d $(1)/etc/config
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/mdns $(1)/usr/sbin/
|
||||
$(INSTALL_BIN) ./files/mdns.init $(1)/etc/init.d/mdns
|
||||
$(INSTALL_CONF) ./files/mdns.config $(1)/etc/config/mdns
|
||||
$(call InstallSeccomp,$(1),./files/mdns.json)
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/umdns $(1)/usr/sbin/
|
||||
$(INSTALL_BIN) ./files/umdns.init $(1)/etc/init.d/umdns
|
||||
$(INSTALL_CONF) ./files/umdns.config $(1)/etc/config/umdns
|
||||
$(call InstallSeccomp,$(1),./files/umdns.json)
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,mdns))
|
||||
$(eval $(call BuildPackage,umdns))
|
|
@ -1,3 +1,3 @@
|
|||
config mdns
|
||||
config umdns
|
||||
option jail 1
|
||||
list network lan
|
|
@ -6,11 +6,11 @@
|
|||
START=80
|
||||
|
||||
USE_PROCD=1
|
||||
PROG=/usr/sbin/mdns
|
||||
PROG=/usr/sbin/umdns
|
||||
IFACES=""
|
||||
|
||||
load_ifaces() {
|
||||
local network="$(uci get mdns.@mdns[-1].network)"
|
||||
local network="$(uci get umdns.@umdns[-1].network)"
|
||||
for n in $network; do
|
||||
local device
|
||||
json_load "$(ifstatus $n)"
|
||||
|
@ -27,28 +27,28 @@ reload_service() {
|
|||
done
|
||||
json_close_array
|
||||
|
||||
ubus call mdns set_config "$(json_dump)"
|
||||
ubus call umdns set_config "$(json_dump)"
|
||||
}
|
||||
|
||||
start_service() {
|
||||
local network="$(uci get mdns.@mdns[-1].network)"
|
||||
local network="$(uci get umdns.@umdns[-1].network)"
|
||||
|
||||
procd_open_instance
|
||||
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_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
|
||||
procd_add_interface_trigger "interface.*" $n /etc/init.d/mdns reload
|
||||
procd_add_interface_trigger "interface.*" $n /etc/init.d/umdns reload
|
||||
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
|
||||
[ "$(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
|
||||
}
|
||||
|
||||
service_started() {
|
||||
ubus -t 10 wait_for mdns
|
||||
ubus -t 10 wait_for umdns
|
||||
[ $? = 0 ] && reload_service
|
||||
}
|
Loading…
Reference in New Issue