mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-19 13:48:06 +00:00
dnsmasq: add interface to ubus notification
Signed-off-by: Borja Salazar <borja.salazar@fon.com>
This commit is contained in:
parent
e966ed236f
commit
759785c01a
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user