aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services
diff options
context:
space:
mode:
authorBorja Salazar <borja.salazar@fon.com>2017-11-29 09:32:36 +0100
committerHans Dedecker <dedeckeh@gmail.com>2017-11-29 22:03:39 +0100
commit759785c01ad85fe560019d315011960fe987e73b (patch)
tree4476d7ab8df80a87df4e09ac5ebd3d47835594b7 /package/network/services
parente966ed236f12b55ca98fa8c86a2e6c56ebd61f90 (diff)
downloadupstream-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>
Diffstat (limited to 'package/network/services')
-rw-r--r--package/network/services/dnsmasq/patches/240-ubus.patch12
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)