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

Reply via email to