| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #!/bin/sh
- [ -f "$USER_DHCPSCRIPT" ] && . "$USER_DHCPSCRIPT" "$@"
- . /usr/share/libubox/jshn.sh
- json_init
- json_add_array env
- hotplugobj=""
- oldIFS=$IFS
- IFS=$'\n'
- for var in $(env); do
- if [ "${var}" != "${var#DNSMASQ_}" ]; then
- json_add_string "" "${var%%=*}=${var#*=}"
- fi
- done
- IFS=$oldIFS
- case "$1" in
- add | del | old | arp-add | arp-del)
- json_add_string "" "MACADDR=$2"
- json_add_string "" "IPADDR=$3"
- ;;
- esac
- case "$1" in
- add)
- json_add_string "" "ACTION=add"
- json_add_string "" "HOSTNAME=$4"
- hotplugobj="dhcp"
- ;;
- del)
- json_add_string "" "ACTION=remove"
- json_add_string "" "HOSTNAME=$4"
- hotplugobj="dhcp"
- ;;
- old)
- json_add_string "" "ACTION=update"
- json_add_string "" "HOSTNAME=$4"
- hotplugobj="dhcp"
- ;;
- arp-add)
- json_add_string "" "ACTION=add"
- hotplugobj="neigh"
- ;;
- arp-del)
- json_add_string "" "ACTION=remove"
- hotplugobj="neigh"
- ;;
- tftp)
- json_add_string "" "ACTION=add"
- json_add_string "" "TFTP_SIZE=$2"
- json_add_string "" "TFTP_ADDR=$3"
- json_add_string "" "TFTP_PATH=$4"
- hotplugobj="tftp"
- ;;
- esac
- json_close_array env
- [ -n "$hotplugobj" ] && ubus call hotplug.${hotplugobj} call "$(json_dump)"
|