diff options
author | Borja Salazar <borja.salazar@fon.com> | 2017-11-29 09:32:36 +0100 |
---|---|---|
committer | Hans Dedecker <dedeckeh@gmail.com> | 2017-11-29 22:03:39 +0100 |
commit | 759785c01ad85fe560019d315011960fe987e73b (patch) | |
tree | 4476d7ab8df80a87df4e09ac5ebd3d47835594b7 | |
parent | e966ed236f12b55ca98fa8c86a2e6c56ebd61f90 (diff) | |
download | upstream-759785c01ad85fe560019d315011960fe987e73b.tar.gz upstream-759785c01ad85fe560019d315011960fe987e73b.tar.bz2 upstream-759785c01ad85fe560019d315011960fe987e73b.zip |
dnsmasq: add interface to ubus notification
Signed-off-by: Borja Salazar <borja.salazar@fon.com>
-rw-r--r-- | package/network/services/dnsmasq/patches/240-ubus.patch | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/package/network/services/dnsmasq/patches/240-ubus.patch b/package/network/services/dnsmasq/patches/240-ubus.patch index 0e0b1dd1b0..0a380ca824 100644 --- a/package/network/services/dnsmasq/patches/240-ubus.patch +++ b/package/network/services/dnsmasq/patches/240-ubus.patch @@ -9,7 +9,7 @@ struct daemon *daemon; static volatile pid_t pid = 0; -@@ -32,6 +34,62 @@ static void fatal_event(struct event_des +@@ -32,6 +34,64 @@ static void fatal_event(struct event_des static int read_event(int fd, struct event_desc *evp, char **msg); static void poll_resolv(int force, int do_reload, time_t now); @@ -25,7 +25,7 @@ + .type = &ubus_object_type, +}; + -+void ubus_event_bcast(const char *type, const char *mac, const char *ip, const char *name) ++void ubus_event_bcast(const char *type, const char *mac, const char *ip, const char *name, const char *interface) +{ + if (!ubus || !ubus_object.has_subscribers) + return; @@ -37,6 +37,8 @@ + blobmsg_add_string(&b, "ip", ip); + if (name) + blobmsg_add_string(&b, "name", name); ++ if (interface) ++ blobmsg_add_string(&b, "interface", interface); + ubus_notify(ubus, &ubus_object, type, b.head, -1); +} + @@ -106,7 +108,7 @@ # endif #endif -+void ubus_event_bcast(const char *type, const char *mac, const char *ip, const char *name); ++void ubus_event_bcast(const char *type, const char *mac, const char *ip, const char *name, const char *interface); + /* ipset.c */ #ifdef HAVE_IPSET @@ -118,9 +120,9 @@ string ? string : "", err ? err : ""); + if (!strcmp(type, "DHCPACK")) -+ ubus_event_bcast("dhcp.ack", daemon->namebuff, addr ? inet_ntoa(a) : NULL, string ? string : NULL); ++ ubus_event_bcast("dhcp.ack", daemon->namebuff, addr ? inet_ntoa(a) : NULL, string ? string : NULL, interface); + else if (!strcmp(type, "DHCPRELEASE")) -+ ubus_event_bcast("dhcp.release", daemon->namebuff, addr ? inet_ntoa(a) : NULL, string ? string : NULL); ++ ubus_event_bcast("dhcp.release", daemon->namebuff, addr ? inet_ntoa(a) : NULL, string ? string : NULL, interface); } static void log_options(unsigned char *start, u32 xid) |