X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fmdnsd.git;a=blobdiff_plain;f=service.c;h=e375fced85ffb8f1a13a8d0b4cd8933a06c79f56;hp=45b93459034c44c9234255916cb0f0f2b6ddaa56;hb=9879d5fcafed84a912baa8e2e2d3e73df1a9236d;hpb=3d85c9cd70ec502ac134e218504f8ba7795231f4;ds=inline diff --git a/service.c b/service.c index 45b9345..e375fce 100644 --- a/service.c +++ b/service.c @@ -65,8 +65,8 @@ service_update(struct vlist_tree *tree, struct vlist_node *node_new, static struct blob_buf b; static VLIST_TREE(services, avl_strcmp, service_update, false, false); -static char *sdudp = "_services._dns-sd._udp.local"; -static char *sdtcp = "_services._dns-sd._tcp.local"; +char *sdudp = "_services._dns-sd._udp.local"; +char *sdtcp = "_services._dns-sd._tcp.local"; static int service_init_announce; static const char * @@ -155,15 +155,9 @@ service_reply(struct interface *iface, const char *match, int ttl) } void -service_announce_services(struct interface *iface, const char *service, int ttl) +service_announce_services(struct interface *iface, int tcp, int ttl) { struct service *s; - int tcp = 1; - - if (!strcmp(service, sdudp)) - tcp = 0; - else if (strcmp(service, sdtcp)) - return; vlist_for_each_element(&services, s, node) { if (!strstr(s->service, "._tcp") && tcp) @@ -186,8 +180,8 @@ service_announce_services(struct interface *iface, const char *service, int ttl) void service_announce(struct interface *iface, int ttl) { - service_announce_services(iface, sdudp, ttl); - service_announce_services(iface, sdtcp, ttl); + service_announce_services(iface, 0, ttl); + service_announce_services(iface, 1, ttl); } static void