Hi there
I found when I registered a service on a ipv6 box, 3 sockets got created,
but after de-registration, one one of them was removed ...
I poked around the code and saw this snippet in SLPDIncomingRemoveService()
(slpd_incoming.c)
...
while (sock_next)
{
sock = sock_next;
sock_next = (SLPDSocket *) sock->listitem.next;
res = SLPNetGetSrvMcastAddr(srvtype, len, SLP_SCOPE_SITE_LOCAL,
&srvaddr_node);
if (res != 0)
return -1;
res = SLPNetGetSrvMcastAddr(srvtype, len, SLP_SCOPE_SITE_LOCAL,
&srvaddr_link);
if (res != 0)
return -1;
res = SLPNetGetSrvMcastAddr(srvtype, len, SLP_SCOPE_SITE_LOCAL,
&srvaddr_site);
if (res != 0)
return -1;
if (sock
&& (SLPDSocketIsMcastOn(sock, &srvaddr_node)
|| SLPDSocketIsMcastOn(sock,
&srvaddr_link)
|| SLPDSocketIsMcastOn(sock,
&srvaddr_site)))
{
SLPDSocketFree((SLPDSocket *)
SLPListUnlink(&G_IncomingSocketList, (SLPListItem *) sock));
sock = NULL;
}
}
...
All of the scopes in SLPNetGetSrvMcastAddr invocation are
SLP_SCOPE_SITE_LOCAL, I think two of them should be node_local and
link_local? I saw this in both 1.3 and 2.0 so not sure if I'm correct, any
one could help to confirm?
--
All I want is peace in mind.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Openslp-devel mailing list
Openslp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openslp-devel