Merge pull request #5923 from aparcar/bmx7-dnsupdate

bmx7-dnsupdate: add package
This commit is contained in:
Daniel Golle 2018-04-17 21:13:14 +02:00 committed by GitHub
commit b1bd165886
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 70 additions and 0 deletions

View File

@ -0,0 +1,27 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bmx7-dnsupdate
PKG_VERSION:=0.1
PKG_RELEASE:=1
include $(INCLUDE_DIR)/package.mk
define Package/bmx7-dnsupdate
SECTION:=utils
CATEGORY:=Utilities
TITLE:=bmx7-dnsupdate
MAINTAINER:=Paul Spooren <spooren@informatik.uni-leipzig.de>
DEPENDS:=+bmx7 +bmx7-json inotifywait jshn
endef
define Build/Compile
endef
define Build/Configure
endef
define Package/bmx7-dnsupdate/install
$(CP) files/* $(1)/
endef
$(eval $(call BuildPackage,bmx7-dnsupdate))

View File

@ -0,0 +1,14 @@
#!/bin/sh /etc/rc.common
START=92
USE_PROCD=1
BIN=/usr/bin/bmx7-dnsupdate
start_service() {
procd_open_instance "bmx7-dnsupdate"
procd_set_param command "$BIN"
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param respawn
procd_close_instance
}

View File

@ -0,0 +1,29 @@
#!/bin/sh
. /usr/share/libubox/jshn.sh
while true; do
json_load "$(bmx7 -c jshow=originators)"
json_select "originators"
idx="1"
# clean all bmx7 dns entries
> /tmp/hosts/bmx7
while json_get_type Type "$idx" && [ "$Type" == object ]; do
json_select "$idx"
json_get_var shortId shortId
json_get_var name name
json_get_var primaryIp primaryIp
printf "$primaryIp $name\n$primaryIp $shortId\n" >> /tmp/hosts/bmx7
json_select ..
$((idx++)) 2> /dev/null
done
# reload dnsmasq to apply changes
logger -t bmx7-dnsupdate "dnsmasq updated due to new hosts"
killall -HUP dnsmasq
# block until originators changes
inotifywait -e create -e delete -q /var/run/bmx7/json/originators/
done