X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;ds=sidebyside;f=src%2Fdiscovery.c;h=cf1dd5e214fb19c34271fa9af540b4edb9331ebf;hb=0d98bd49718a6622d5ef2d17455c60cc075f938e;hp=dd35bebdf6a73332e6d5f2e05a7dd219f30b99f0;hpb=ba799a101d57c55d4cbf602511aa24c32a5b735e;p=meshlink diff --git a/src/discovery.c b/src/discovery.c index dd35bebd..cf1dd5e2 100644 --- a/src/discovery.c +++ b/src/discovery.c @@ -281,7 +281,7 @@ static void discovery_resolve_callback(AvahiSServiceResolver *resolver, AvahiIfI case AVAHI_PROTO_INET: { naddress.in.sin_family = AF_INET; - naddress.in.sin_port = port; + naddress.in.sin_port = htons(port); naddress.in.sin_addr.s_addr = address->data.ipv4.address; } break; @@ -289,7 +289,7 @@ static void discovery_resolve_callback(AvahiSServiceResolver *resolver, AvahiIfI case AVAHI_PROTO_INET6: { naddress.in6.sin6_family = AF_INET6; - naddress.in6.sin6_port = port; + naddress.in6.sin6_port = htons(port); memcpy(naddress.in6.sin6_addr.s6_addr, address->data.ipv6.address, sizeof(naddress.in6.sin6_addr.s6_addr)); } break; @@ -536,6 +536,13 @@ void discovery_stop(meshlink_handle_t *mesh) mesh->avahi_browser = NULL; } + if(mesh->avahi_group) + { + avahi_s_entry_group_reset(mesh->avahi_group); + avahi_s_entry_group_free(mesh->avahi_group); + mesh->avahi_group = NULL; + } + if(mesh->avahi_server != NULL) { avahi_server_free(mesh->avahi_server);