Thread: [Openslp-users] Cannot get OpenSLP to work on Windows 7
Brought to you by:
jcalcote
From: Robert H. <rh...@hs...> - 2013-05-10 11:57:05
|
Hello, I've been using OpenSLP in my project for a while now. This week I set up a new computer (Windows 7 64Bit) and I tried to build and run my application and OpenSLP on this new machine with VC++2010. Even though I have a 64Bit OS I'm building OpenSLP as a 32Bit application, since my own application is also 32Bit. First I tried the latest version from the Mercurial repository (cdaeb8). I was able to build it and slpd seems to work, since slptool findsrvs service:service-agent returns one entry with my IP address. However, when I try this: slptool register service:myserv.x://myhost.com (as in the examples of slptool), I get an access violation (Unhandled exception at 0x00401643 in slptool.exe: 0xC0000005: Access violation reading location 0x00000000.) Then I tried an older version (the latest version from the SVN repository, rev. 1701). I can also build and install slpd, and I can also find the service-agent. But when I try to register a service using slptool I get error code -19. As far as I know this indicates a problem with the communication between slpd and slptool, right? However, slpd seems to be running (otherwise I wouldn't find the service-agent). So I guess it is a problem with missing privileges or a firewall problem. What rules do I need in the Windows Firewall to get OpenSLP to work? (do I need rules for slpd or slptool?, ingoing or outgoing? which port and protocol?). Unfortunately I cannot completely disable the firewall for a test due to group policies, but I can add rules. Any hints on how to solve or debug at least one of these problems would be much appreciated! Cheers, Robert |
From: Robert H. <rh...@hs...> - 2013-05-10 16:09:54
|
Update: I think the access violation in the latest version of slptool is caused in line 285 of slptool.c I believe it should be if (cmdline->scopes != 0) instead of if (*cmdline->scopes != 0) But I still have the problem that I get error code -19 when I try to register a service. Am 10.05.2013 13:56, schrieb Robert Hegner: > Hello, > > I've been using OpenSLP in my project for a while now. This week I set > up a new computer (Windows 7 64Bit) and I tried to build and run my > application and OpenSLP on this new machine with VC++2010. Even though I > have a 64Bit OS I'm building OpenSLP as a 32Bit application, since my > own application is also 32Bit. > > First I tried the latest version from the Mercurial repository (cdaeb8). > I was able to build it and slpd seems to work, since > slptool findsrvs service:service-agent > returns one entry with my IP address. However, when I try this: > slptool register service:myserv.x://myhost.com > (as in the examples of slptool), I get an access violation (Unhandled > exception at 0x00401643 in slptool.exe: 0xC0000005: Access violation > reading location 0x00000000.) > > Then I tried an older version (the latest version from the SVN > repository, rev. 1701). I can also build and install slpd, and I can > also find the service-agent. But when I try to register a service using > slptool I get error code -19. As far as I know this indicates a problem > with the communication between slpd and slptool, right? However, slpd > seems to be running (otherwise I wouldn't find the service-agent). So I > guess it is a problem with missing privileges or a firewall problem. > What rules do I need in the Windows Firewall to get OpenSLP to work? (do > I need rules for slpd or slptool?, ingoing or outgoing? which port and > protocol?). Unfortunately I cannot completely disable the firewall for a > test due to group policies, but I can add rules. > > Any hints on how to solve or debug at least one of these problems would > be much appreciated! > > Cheers, > Robert > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and > their applications. This 200-page book is written by three acclaimed > leaders in the field. The early access version is available now. > Download your free book today! http://p.sf.net/sfu/neotech_d2d_may > |
From: Robert H. <rh...@hs...> - 2013-05-13 07:30:19
|
I also did some more investigation on the second issue (error code -19). When I use the beta 2 installer, it seems to work (I can register a service using slptool without getting the -19 error). Then I stopped slpd and replaced the binaries with the ones I built from the latest Mercurial revision (cdaeb8) and restarted slpd. Then I got the -19 error again. Then I uninstalled OpenSLP, built the installer with the latest Mercurial revision, and installed it with my own installer again. Also in this case I get the -19 error. So for me this looks like I can confirm the problem that Ren described in January (he suspected that a problem was introduced somewhere between beta 2 and the current revision). Am 10.05.2013 13:56, schrieb Robert Hegner: > Hello, > > I've been using OpenSLP in my project for a while now. This week I set > up a new computer (Windows 7 64Bit) and I tried to build and run my > application and OpenSLP on this new machine with VC++2010. Even though I > have a 64Bit OS I'm building OpenSLP as a 32Bit application, since my > own application is also 32Bit. > > First I tried the latest version from the Mercurial repository (cdaeb8). > I was able to build it and slpd seems to work, since > slptool findsrvs service:service-agent > returns one entry with my IP address. However, when I try this: > slptool register service:myserv.x://myhost.com > (as in the examples of slptool), I get an access violation (Unhandled > exception at 0x00401643 in slptool.exe: 0xC0000005: Access violation > reading location 0x00000000.) > > Then I tried an older version (the latest version from the SVN > repository, rev. 1701). I can also build and install slpd, and I can > also find the service-agent. But when I try to register a service using > slptool I get error code -19. As far as I know this indicates a problem > with the communication between slpd and slptool, right? However, slpd > seems to be running (otherwise I wouldn't find the service-agent). So I > guess it is a problem with missing privileges or a firewall problem. > What rules do I need in the Windows Firewall to get OpenSLP to work? (do > I need rules for slpd or slptool?, ingoing or outgoing? which port and > protocol?). Unfortunately I cannot completely disable the firewall for a > test due to group policies, but I can add rules. > > Any hints on how to solve or debug at least one of these problems would > be much appreciated! > > Cheers, > Robert > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and > their applications. This 200-page book is written by three acclaimed > leaders in the field. The early access version is available now. > Download your free book today! http://p.sf.net/sfu/neotech_d2d_may > |
From: Robert H. <rh...@hs...> - 2013-05-13 12:31:09
|
Ok I spent some more hours on this issue. I can successfully run revisions 1715 to 1731. But with revision 1732 I get the error -19. Revision 1732 contains some changes in slp_network.c (among others). Below you can see how SLPNetworkRecvMessage() (in slp_network.c) behaves in revision 1731 and 1732: Revision 1732: - select() on line 237 returns 1 - recvfrom() on line 243 returns -1 - therefore the condition on line 276 is false and SLPNetworkRecvMessage() sets errno to EINVAL and returns -1 Revision 1731: - select() on line 237 returns 1 - recvfrom() on line 243 returns -1 - but now on line 276 the condition is true since it does not check xferbytes as in revision 1732. SLPNetworkRecvMessage() then continues without causing any errors. I don't know what the intention of the changes of revision 1732 was. And I don't know if recvfrom() on line 243 should not return -1 to begin with, or if the condition on line 276 in revision 1732 is incorrect. But I think someone should have a closer look at SLPNetworkRecvMessage() again. Attached you can find my suggested patches based on the latest Mercurial revision. With these patches it works for me. Am 13.05.2013 09:29, schrieb Robert Hegner: > I also did some more investigation on the second issue (error code -19). > > When I use the beta 2 installer, it seems to work (I can register a > service using slptool without getting the -19 error). > > Then I stopped slpd and replaced the binaries with the ones I built from > the latest Mercurial revision (cdaeb8) and restarted slpd. Then I got > the -19 error again. > > Then I uninstalled OpenSLP, built the installer with the latest > Mercurial revision, and installed it with my own installer again. Also > in this case I get the -19 error. > > So for me this looks like I can confirm the problem that Ren described > in January (he suspected that a problem was introduced somewhere between > beta 2 and the current revision). > > > > Am 10.05.2013 13:56, schrieb Robert Hegner: >> Hello, >> >> I've been using OpenSLP in my project for a while now. This week I set >> up a new computer (Windows 7 64Bit) and I tried to build and run my >> application and OpenSLP on this new machine with VC++2010. Even though I >> have a 64Bit OS I'm building OpenSLP as a 32Bit application, since my >> own application is also 32Bit. >> >> First I tried the latest version from the Mercurial repository (cdaeb8). >> I was able to build it and slpd seems to work, since >> slptool findsrvs service:service-agent >> returns one entry with my IP address. However, when I try this: >> slptool register service:myserv.x://myhost.com >> (as in the examples of slptool), I get an access violation (Unhandled >> exception at 0x00401643 in slptool.exe: 0xC0000005: Access violation >> reading location 0x00000000.) >> >> Then I tried an older version (the latest version from the SVN >> repository, rev. 1701). I can also build and install slpd, and I can >> also find the service-agent. But when I try to register a service using >> slptool I get error code -19. As far as I know this indicates a problem >> with the communication between slpd and slptool, right? However, slpd >> seems to be running (otherwise I wouldn't find the service-agent). So I >> guess it is a problem with missing privileges or a firewall problem. >> What rules do I need in the Windows Firewall to get OpenSLP to work? (do >> I need rules for slpd or slptool?, ingoing or outgoing? which port and >> protocol?). Unfortunately I cannot completely disable the firewall for a >> test due to group policies, but I can add rules. >> >> Any hints on how to solve or debug at least one of these problems would >> be much appreciated! >> >> Cheers, >> Robert >> >> >> ------------------------------------------------------------------------------ >> Learn Graph Databases - Download FREE O'Reilly Book >> "Graph Databases" is the definitive new guide to graph databases and >> their applications. This 200-page book is written by three acclaimed >> leaders in the field. The early access version is available now. >> Download your free book today! http://p.sf.net/sfu/neotech_d2d_may >> > > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and > their applications. This 200-page book is written by three acclaimed > leaders in the field. The early access version is available now. > Download your free book today! http://p.sf.net/sfu/neotech_d2d_may > |
From: Nick W. <ne...@wi...> - 2013-05-13 15:07:29
|
What is WSAGetLastError returning when you see the recvfrom error? And as far as the first patch goes, I believe Jon's intent was to check for an empty string, not just a null pointer. So I would try: if ((cmdline->scopes != 0) && (*cmdline->scopes != 0)) SLPSetProperty("net.slp.useScopes", cmdline->scopes); On Mon, May 13, 2013 at 7:30 AM, Robert Hegner <rh...@hs...> wrote: > Ok I spent some more hours on this issue. I can successfully run revisions > 1715 to 1731. But with revision 1732 I get the error -19. Revision 1732 > contains some changes in slp_network.c (among others). Below you can see > how SLPNetworkRecvMessage() (in slp_network.c) behaves in revision 1731 and > 1732: > > Revision 1732: > - select() on line 237 returns 1 > - recvfrom() on line 243 returns -1 > - therefore the condition on line 276 is false and SLPNetworkRecvMessage() > sets errno to EINVAL and returns -1 > > Revision 1731: > - select() on line 237 returns 1 > - recvfrom() on line 243 returns -1 > - but now on line 276 the condition is true since it does not check > xferbytes as in revision 1732. SLPNetworkRecvMessage() then continues > without causing any errors. > > I don't know what the intention of the changes of revision 1732 was. And I > don't know if recvfrom() on line 243 should not return -1 to begin with, or > if the condition on line 276 in revision 1732 is incorrect. But I think > someone should have a closer look at SLPNetworkRecvMessage() again. > > Attached you can find my suggested patches based on the latest Mercurial > revision. With these patches it works for me. > > > > Am 13.05.2013 09:29, schrieb Robert Hegner: > > I also did some more investigation on the second issue (error code -19). >> >> When I use the beta 2 installer, it seems to work (I can register a >> service using slptool without getting the -19 error). >> >> Then I stopped slpd and replaced the binaries with the ones I built from >> the latest Mercurial revision (cdaeb8) and restarted slpd. Then I got >> the -19 error again. >> >> Then I uninstalled OpenSLP, built the installer with the latest >> Mercurial revision, and installed it with my own installer again. Also >> in this case I get the -19 error. >> >> So for me this looks like I can confirm the problem that Ren described >> in January (he suspected that a problem was introduced somewhere between >> beta 2 and the current revision). >> >> >> >> Am 10.05.2013 13:56, schrieb Robert Hegner: >> >>> Hello, >>> >>> I've been using OpenSLP in my project for a while now. This week I set >>> up a new computer (Windows 7 64Bit) and I tried to build and run my >>> application and OpenSLP on this new machine with VC++2010. Even though I >>> have a 64Bit OS I'm building OpenSLP as a 32Bit application, since my >>> own application is also 32Bit. >>> >>> First I tried the latest version from the Mercurial repository (cdaeb8). >>> I was able to build it and slpd seems to work, since >>> slptool findsrvs service:service-agent >>> returns one entry with my IP address. However, when I try this: >>> slptool register service:myserv.x://myhost.com >>> (as in the examples of slptool), I get an access violation (Unhandled >>> exception at 0x00401643 in slptool.exe: 0xC0000005: Access violation >>> reading location 0x00000000.) >>> >>> Then I tried an older version (the latest version from the SVN >>> repository, rev. 1701). I can also build and install slpd, and I can >>> also find the service-agent. But when I try to register a service using >>> slptool I get error code -19. As far as I know this indicates a problem >>> with the communication between slpd and slptool, right? However, slpd >>> seems to be running (otherwise I wouldn't find the service-agent). So I >>> guess it is a problem with missing privileges or a firewall problem. >>> What rules do I need in the Windows Firewall to get OpenSLP to work? (do >>> I need rules for slpd or slptool?, ingoing or outgoing? which port and >>> protocol?). Unfortunately I cannot completely disable the firewall for a >>> test due to group policies, but I can add rules. >>> >>> Any hints on how to solve or debug at least one of these problems would >>> be much appreciated! >>> >>> Cheers, >>> Robert >>> >>> >>> ------------------------------**------------------------------** >>> ------------------ >>> Learn Graph Databases - Download FREE O'Reilly Book >>> "Graph Databases" is the definitive new guide to graph databases and >>> their applications. This 200-page book is written by three acclaimed >>> leaders in the field. The early access version is available now. >>> Download your free book today! http://p.sf.net/sfu/neotech_**d2d_may<http://p.sf.net/sfu/neotech_d2d_may> >>> >>> >> >> >> ------------------------------**------------------------------** >> ------------------ >> Learn Graph Databases - Download FREE O'Reilly Book >> "Graph Databases" is the definitive new guide to graph databases and >> their applications. This 200-page book is written by three acclaimed >> leaders in the field. The early access version is available now. >> Download your free book today! http://p.sf.net/sfu/neotech_**d2d_may<http://p.sf.net/sfu/neotech_d2d_may> >> >> > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and > their applications. This 200-page book is written by three acclaimed > leaders in the field. The early access version is available now. > Download your free book today! http://p.sf.net/sfu/neotech_d2d_may > _______________________________________________ > Openslp-users mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openslp-users > > |
From: Robert H. <rh...@hs...> - 2013-05-13 15:23:07
|
Yes I guess your fix for slptool makes more sense. WSAGetLastError() returns 10054 (WSAECONNRESET) http://msdn.microsoft.com/en-us/library/windows/desktop/ms740668%28v=vs.85%29.aspx Am 13.05.2013 17:07, schrieb Nick Wagner: > What is WSAGetLastError returning when you see the recvfrom error? > > And as far as the first patch goes, I believe Jon's intent was to check > for an empty string, not just a null pointer. So I would try: > > if ((cmdline->scopes != 0) && (*cmdline->scopes != 0)) > SLPSetProperty("net.slp.useScopes", cmdline->scopes); > > > > > > On Mon, May 13, 2013 at 7:30 AM, Robert Hegner > <rh...@hs... > <mailto:rh...@hs...>> wrote: > > Ok I spent some more hours on this issue. I can successfully run > revisions 1715 to 1731. But with revision 1732 I get the error -19. > Revision 1732 contains some changes in slp_network.c (among others). > Below you can see how SLPNetworkRecvMessage() (in slp_network.c) > behaves in revision 1731 and 1732: > > Revision 1732: > - select() on line 237 returns 1 > - recvfrom() on line 243 returns -1 > - therefore the condition on line 276 is false and > SLPNetworkRecvMessage() sets errno to EINVAL and returns -1 > > Revision 1731: > - select() on line 237 returns 1 > - recvfrom() on line 243 returns -1 > - but now on line 276 the condition is true since it does not check > xferbytes as in revision 1732. SLPNetworkRecvMessage() then > continues without causing any errors. > > I don't know what the intention of the changes of revision 1732 was. > And I don't know if recvfrom() on line 243 should not return -1 to > begin with, or if the condition on line 276 in revision 1732 is > incorrect. But I think someone should have a closer look at > SLPNetworkRecvMessage() again. > > Attached you can find my suggested patches based on the latest > Mercurial revision. With these patches it works for me. > > > > Am 13.05.2013 09:29, schrieb Robert Hegner: > > I also did some more investigation on the second issue (error > code -19). > > When I use the beta 2 installer, it seems to work (I can register a > service using slptool without getting the -19 error). > > Then I stopped slpd and replaced the binaries with the ones I > built from > the latest Mercurial revision (cdaeb8) and restarted slpd. Then > I got > the -19 error again. > > Then I uninstalled OpenSLP, built the installer with the latest > Mercurial revision, and installed it with my own installer > again. Also > in this case I get the -19 error. > > So for me this looks like I can confirm the problem that Ren > described > in January (he suspected that a problem was introduced somewhere > between > beta 2 and the current revision). > > > > Am 10.05.2013 13:56, schrieb Robert Hegner: > > Hello, > > I've been using OpenSLP in my project for a while now. This > week I set > up a new computer (Windows 7 64Bit) and I tried to build and > run my > application and OpenSLP on this new machine with VC++2010. > Even though I > have a 64Bit OS I'm building OpenSLP as a 32Bit application, > since my > own application is also 32Bit. > > First I tried the latest version from the Mercurial > repository (cdaeb8). > I was able to build it and slpd seems to work, since > slptool findsrvs service:service-agent > returns one entry with my IP address. However, when I try this: > slptool register service:myserv.x://myhost.com > <http://myhost.com> > (as in the examples of slptool), I get an access violation > (Unhandled > exception at 0x00401643 in slptool.exe: 0xC0000005: Access > violation > reading location 0x00000000.) > > Then I tried an older version (the latest version from the SVN > repository, rev. 1701). I can also build and install slpd, > and I can > also find the service-agent. But when I try to register a > service using > slptool I get error code -19. As far as I know this > indicates a problem > with the communication between slpd and slptool, right? > However, slpd > seems to be running (otherwise I wouldn't find the > service-agent). So I > guess it is a problem with missing privileges or a firewall > problem. > What rules do I need in the Windows Firewall to get OpenSLP > to work? (do > I need rules for slpd or slptool?, ingoing or outgoing? > which port and > protocol?). Unfortunately I cannot completely disable the > firewall for a > test due to group policies, but I can add rules. > > Any hints on how to solve or debug at least one of these > problems would > be much appreciated! > > Cheers, > Robert > > > ------------------------------__------------------------------__------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph > databases and > their applications. This 200-page book is written by three > acclaimed > leaders in the field. The early access version is available now. > Download your free book today! > http://p.sf.net/sfu/neotech___d2d_may > <http://p.sf.net/sfu/neotech_d2d_may> > > > > > ------------------------------__------------------------------__------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and > their applications. This 200-page book is written by three acclaimed > leaders in the field. The early access version is available now. > Download your free book today! > http://p.sf.net/sfu/neotech___d2d_may > <http://p.sf.net/sfu/neotech_d2d_may> > > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and > their applications. This 200-page book is written by three acclaimed > leaders in the field. The early access version is available now. > Download your free book today! http://p.sf.net/sfu/neotech_d2d_may > _______________________________________________ > Openslp-users mailing list > Ope...@li... > <mailto:Ope...@li...> > https://lists.sourceforge.net/lists/listinfo/openslp-users > > > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and > their applications. This 200-page book is written by three acclaimed > leaders in the field. The early access version is available now. > Download your free book today! http://p.sf.net/sfu/neotech_d2d_may > > > > _______________________________________________ > Openslp-users mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openslp-users > |
From: Nick W. <ne...@wi...> - 2013-05-13 16:00:04
|
What is confusing me here is why this only happens when registering? An slptool findsrvs doesn't appear to exhibit the problem. On Mon, May 13, 2013 at 10:22 AM, Robert Hegner <rh...@hs...> wrote: > Yes I guess your fix for slptool makes more sense. > > WSAGetLastError() returns 10054 (WSAECONNRESET) > > > http://msdn.microsoft.com/en-us/library/windows/desktop/ms740668%28v=vs.85%29.aspx > > > > > Am 13.05.2013 17:07, schrieb Nick Wagner: > > What is WSAGetLastError returning when you see the recvfrom error? > > > > And as far as the first patch goes, I believe Jon's intent was to check > > for an empty string, not just a null pointer. So I would try: > > > > if ((cmdline->scopes != 0) && (*cmdline->scopes != 0)) > > SLPSetProperty("net.slp.useScopes", cmdline->scopes); > > > > > > > > > > > > On Mon, May 13, 2013 at 7:30 AM, Robert Hegner > > <rh...@hs... > > <mailto:rh...@hs...>> wrote: > > > > Ok I spent some more hours on this issue. I can successfully run > > revisions 1715 to 1731. But with revision 1732 I get the error -19. > > Revision 1732 contains some changes in slp_network.c (among others). > > Below you can see how SLPNetworkRecvMessage() (in slp_network.c) > > behaves in revision 1731 and 1732: > > > > Revision 1732: > > - select() on line 237 returns 1 > > - recvfrom() on line 243 returns -1 > > - therefore the condition on line 276 is false and > > SLPNetworkRecvMessage() sets errno to EINVAL and returns -1 > > > > Revision 1731: > > - select() on line 237 returns 1 > > - recvfrom() on line 243 returns -1 > > - but now on line 276 the condition is true since it does not check > > xferbytes as in revision 1732. SLPNetworkRecvMessage() then > > continues without causing any errors. > > > > I don't know what the intention of the changes of revision 1732 was. > > And I don't know if recvfrom() on line 243 should not return -1 to > > begin with, or if the condition on line 276 in revision 1732 is > > incorrect. But I think someone should have a closer look at > > SLPNetworkRecvMessage() again. > > > > Attached you can find my suggested patches based on the latest > > Mercurial revision. With these patches it works for me. > > > > > > > > Am 13.05.2013 09:29, schrieb Robert Hegner: > > > > I also did some more investigation on the second issue (error > > code -19). > > > > When I use the beta 2 installer, it seems to work (I can > register a > > service using slptool without getting the -19 error). > > > > Then I stopped slpd and replaced the binaries with the ones I > > built from > > the latest Mercurial revision (cdaeb8) and restarted slpd. Then > > I got > > the -19 error again. > > > > Then I uninstalled OpenSLP, built the installer with the latest > > Mercurial revision, and installed it with my own installer > > again. Also > > in this case I get the -19 error. > > > > So for me this looks like I can confirm the problem that Ren > > described > > in January (he suspected that a problem was introduced somewhere > > between > > beta 2 and the current revision). > > > > > > > > Am 10.05.2013 13:56, schrieb Robert Hegner: > > > > Hello, > > > > I've been using OpenSLP in my project for a while now. This > > week I set > > up a new computer (Windows 7 64Bit) and I tried to build and > > run my > > application and OpenSLP on this new machine with VC++2010. > > Even though I > > have a 64Bit OS I'm building OpenSLP as a 32Bit application, > > since my > > own application is also 32Bit. > > > > First I tried the latest version from the Mercurial > > repository (cdaeb8). > > I was able to build it and slpd seems to work, since > > slptool findsrvs service:service-agent > > returns one entry with my IP address. However, when I try > this: > > slptool register service:myserv.x://myhost.com > > <http://myhost.com> > > (as in the examples of slptool), I get an access violation > > (Unhandled > > exception at 0x00401643 in slptool.exe: 0xC0000005: Access > > violation > > reading location 0x00000000.) > > > > Then I tried an older version (the latest version from the > SVN > > repository, rev. 1701). I can also build and install slpd, > > and I can > > also find the service-agent. But when I try to register a > > service using > > slptool I get error code -19. As far as I know this > > indicates a problem > > with the communication between slpd and slptool, right? > > However, slpd > > seems to be running (otherwise I wouldn't find the > > service-agent). So I > > guess it is a problem with missing privileges or a firewall > > problem. > > What rules do I need in the Windows Firewall to get OpenSLP > > to work? (do > > I need rules for slpd or slptool?, ingoing or outgoing? > > which port and > > protocol?). Unfortunately I cannot completely disable the > > firewall for a > > test due to group policies, but I can add rules. > > > > Any hints on how to solve or debug at least one of these > > problems would > > be much appreciated! > > > > Cheers, > > Robert > > > > > > > ------------------------------__------------------------------__------------------ > > Learn Graph Databases - Download FREE O'Reilly Book > > "Graph Databases" is the definitive new guide to graph > > databases and > > their applications. This 200-page book is written by three > > acclaimed > > leaders in the field. The early access version is available > now. > > Download your free book today! > > http://p.sf.net/sfu/neotech___d2d_may > > <http://p.sf.net/sfu/neotech_d2d_may> > > > > > > > > > > > ------------------------------__------------------------------__------------------ > > Learn Graph Databases - Download FREE O'Reilly Book > > "Graph Databases" is the definitive new guide to graph databases > and > > their applications. This 200-page book is written by three > acclaimed > > leaders in the field. The early access version is available now. > > Download your free book today! > > http://p.sf.net/sfu/neotech___d2d_may > > <http://p.sf.net/sfu/neotech_d2d_may> > > > > > > > > > ------------------------------------------------------------------------------ > > Learn Graph Databases - Download FREE O'Reilly Book > > "Graph Databases" is the definitive new guide to graph databases and > > their applications. This 200-page book is written by three acclaimed > > leaders in the field. The early access version is available now. > > Download your free book today! http://p.sf.net/sfu/neotech_d2d_may > > _______________________________________________ > > Openslp-users mailing list > > Ope...@li... > > <mailto:Ope...@li...> > > https://lists.sourceforge.net/lists/listinfo/openslp-users > > > > > > > > > > > ------------------------------------------------------------------------------ > > Learn Graph Databases - Download FREE O'Reilly Book > > "Graph Databases" is the definitive new guide to graph databases and > > their applications. This 200-page book is written by three acclaimed > > leaders in the field. The early access version is available now. > > Download your free book today! http://p.sf.net/sfu/neotech_d2d_may > > > > > > > > _______________________________________________ > > Openslp-users mailing list > > Ope...@li... > > https://lists.sourceforge.net/lists/listinfo/openslp-users > > > > > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and > their applications. This 200-page book is written by three acclaimed > leaders in the field. The early access version is available now. > Download your free book today! http://p.sf.net/sfu/neotech_d2d_may > _______________________________________________ > Openslp-users mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openslp-users > |
From: Robert H. <rh...@hs...> - 2013-05-14 06:51:57
Attachments:
1767.patch
1768.patch
|
When I checked the return value of WSAGetLastError() yesterday I forgot to start slpd before. I'm sorry for the confusion. When slpd is running, WSAGetLastError() returns 10040 (WSAEMSGSIZE). This return value seems to be expected and is explicitly ignored in the code. But then, since xferbytes is -1, the new condition on line 298 fails (talking about the latest revision 1766 now). So since under Windows this error is expected, and since this error says that we received more than the 16 bytes we're interested in, we could just set xferbytes to 16 in this case, right? Attached you can find my updated patches. That this didn't cause any problems with findsrvs is strange indeed. For registering, SLPNetworkRecvMessage() was called five times, and then slptool returned with -19. For findsrvs, SLPNetworkRecvMessage() was also called five times and also failed to meet the condition on line 298 every time, but finally slptool returned the services. Strange... Am 13.05.2013 17:59, schrieb Nick Wagner: > What is confusing me here is why this only happens when registering? An > slptool findsrvs doesn't appear to exhibit the problem. > > > On Mon, May 13, 2013 at 10:22 AM, Robert Hegner > <rh...@hs... > <mailto:rh...@hs...>> wrote: > > Yes I guess your fix for slptool makes more sense. > > WSAGetLastError() returns 10054 (WSAECONNRESET) > > http://msdn.microsoft.com/en-us/library/windows/desktop/ms740668%28v=vs.85%29.aspx > > > > > Am 13.05.2013 17:07, schrieb Nick Wagner: > > What is WSAGetLastError returning when you see the recvfrom error? > > > > And as far as the first patch goes, I believe Jon's intent was to > check > > for an empty string, not just a null pointer. So I would try: > > > > if ((cmdline->scopes != 0) && (*cmdline->scopes != 0)) > > SLPSetProperty("net.slp.useScopes", cmdline->scopes); > > > > > > > > > > > > On Mon, May 13, 2013 at 7:30 AM, Robert Hegner > > <rh...@hs... > <mailto:rh...@hs...> > > <mailto:rh...@hs... > <mailto:rh...@hs...>>> wrote: > > > > Ok I spent some more hours on this issue. I can successfully run > > revisions 1715 to 1731. But with revision 1732 I get the > error -19. > > Revision 1732 contains some changes in slp_network.c (among > others). > > Below you can see how SLPNetworkRecvMessage() (in slp_network.c) > > behaves in revision 1731 and 1732: > > > > Revision 1732: > > - select() on line 237 returns 1 > > - recvfrom() on line 243 returns -1 > > - therefore the condition on line 276 is false and > > SLPNetworkRecvMessage() sets errno to EINVAL and returns -1 > > > > Revision 1731: > > - select() on line 237 returns 1 > > - recvfrom() on line 243 returns -1 > > - but now on line 276 the condition is true since it does not > check > > xferbytes as in revision 1732. SLPNetworkRecvMessage() then > > continues without causing any errors. > > > > I don't know what the intention of the changes of revision > 1732 was. > > And I don't know if recvfrom() on line 243 should not return > -1 to > > begin with, or if the condition on line 276 in revision 1732 is > > incorrect. But I think someone should have a closer look at > > SLPNetworkRecvMessage() again. > > > > Attached you can find my suggested patches based on the latest > > Mercurial revision. With these patches it works for me. > > > > > > > > Am 13.05.2013 09:29, schrieb Robert Hegner: > > > > I also did some more investigation on the second issue (error > > code -19). > > > > When I use the beta 2 installer, it seems to work (I can > register a > > service using slptool without getting the -19 error). > > > > Then I stopped slpd and replaced the binaries with the ones I > > built from > > the latest Mercurial revision (cdaeb8) and restarted > slpd. Then > > I got > > the -19 error again. > > > > Then I uninstalled OpenSLP, built the installer with the > latest > > Mercurial revision, and installed it with my own installer > > again. Also > > in this case I get the -19 error. > > > > So for me this looks like I can confirm the problem that Ren > > described > > in January (he suspected that a problem was introduced > somewhere > > between > > beta 2 and the current revision). > > > > > > > > Am 10.05.2013 13:56, schrieb Robert Hegner: > > > > Hello, > > > > I've been using OpenSLP in my project for a while > now. This > > week I set > > up a new computer (Windows 7 64Bit) and I tried to > build and > > run my > > application and OpenSLP on this new machine with > VC++2010. > > Even though I > > have a 64Bit OS I'm building OpenSLP as a 32Bit > application, > > since my > > own application is also 32Bit. > > > > First I tried the latest version from the Mercurial > > repository (cdaeb8). > > I was able to build it and slpd seems to work, since > > slptool findsrvs service:service-agent > > returns one entry with my IP address. However, when I > try this: > > slptool register service:myserv.x://myhost.com > <http://myhost.com> > > <http://myhost.com> > > (as in the examples of slptool), I get an access > violation > > (Unhandled > > exception at 0x00401643 in slptool.exe: 0xC0000005: > Access > > violation > > reading location 0x00000000.) > > > > Then I tried an older version (the latest version > from the SVN > > repository, rev. 1701). I can also build and install > slpd, > > and I can > > also find the service-agent. But when I try to register a > > service using > > slptool I get error code -19. As far as I know this > > indicates a problem > > with the communication between slpd and slptool, right? > > However, slpd > > seems to be running (otherwise I wouldn't find the > > service-agent). So I > > guess it is a problem with missing privileges or a > firewall > > problem. > > What rules do I need in the Windows Firewall to get > OpenSLP > > to work? (do > > I need rules for slpd or slptool?, ingoing or outgoing? > > which port and > > protocol?). Unfortunately I cannot completely disable the > > firewall for a > > test due to group policies, but I can add rules. > > > > Any hints on how to solve or debug at least one of these > > problems would > > be much appreciated! > > > > Cheers, > > Robert > > > > > > > ------------------------------__------------------------------__------------------ > > Learn Graph Databases - Download FREE O'Reilly Book > > "Graph Databases" is the definitive new guide to graph > > databases and > > their applications. This 200-page book is written by > three > > acclaimed > > leaders in the field. The early access version is > available now. > > Download your free book today! > > http://p.sf.net/sfu/neotech___d2d_may > > <http://p.sf.net/sfu/neotech_d2d_may> > > > > > > > > > > > ------------------------------__------------------------------__------------------ > > Learn Graph Databases - Download FREE O'Reilly Book > > "Graph Databases" is the definitive new guide to graph > databases and > > their applications. This 200-page book is written by > three acclaimed > > leaders in the field. The early access version is > available now. > > Download your free book today! > > http://p.sf.net/sfu/neotech___d2d_may > > <http://p.sf.net/sfu/neotech_d2d_may> > > > > > > > > > ------------------------------------------------------------------------------ > > Learn Graph Databases - Download FREE O'Reilly Book > > "Graph Databases" is the definitive new guide to graph > databases and > > their applications. This 200-page book is written by three > acclaimed > > leaders in the field. The early access version is available now. > > Download your free book today! > http://p.sf.net/sfu/neotech_d2d_may > > _______________________________________________ > > Openslp-users mailing list > > Ope...@li... > <mailto:Ope...@li...> > > > <mailto:Ope...@li... > <mailto:Ope...@li...>> > > https://lists.sourceforge.net/lists/listinfo/openslp-users > > > > > > > > > > > ------------------------------------------------------------------------------ > > Learn Graph Databases - Download FREE O'Reilly Book > > "Graph Databases" is the definitive new guide to graph databases and > > their applications. This 200-page book is written by three acclaimed > > leaders in the field. The early access version is available now. > > Download your free book today! http://p.sf.net/sfu/neotech_d2d_may > > > > > > > > _______________________________________________ > > Openslp-users mailing list > > Ope...@li... > <mailto:Ope...@li...> > > https://lists.sourceforge.net/lists/listinfo/openslp-users > > > > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and > their applications. This 200-page book is written by three acclaimed > leaders in the field. The early access version is available now. > Download your free book today! http://p.sf.net/sfu/neotech_d2d_may > _______________________________________________ > Openslp-users mailing list > Ope...@li... > <mailto:Ope...@li...> > https://lists.sourceforge.net/lists/listinfo/openslp-users > > > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and > their applications. This 200-page book is written by three acclaimed > leaders in the field. The early access version is available now. > Download your free book today! http://p.sf.net/sfu/neotech_d2d_may > > > > _______________________________________________ > Openslp-users mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openslp-users > |
From: Nick W. <ne...@wi...> - 2013-05-14 16:16:04
|
Thanks, Robert, for your work in tracking this down. I've applied the patches, revision 1767, assuming I used mercurial correctly. :) --Nick On Tue, May 14, 2013 at 1:51 AM, Robert Hegner <rh...@hs...> wrote: > When I checked the return value of WSAGetLastError() yesterday I forgot to > start slpd before. I'm sorry for the confusion. > > When slpd is running, WSAGetLastError() returns 10040 (WSAEMSGSIZE). This > return value seems to be expected and is explicitly ignored in the code. > But then, since xferbytes is -1, the new condition on line 298 fails > (talking about the latest revision 1766 now). > > So since under Windows this error is expected, and since this error says > that we received more than the 16 bytes we're interested in, we could just > set xferbytes to 16 in this case, right? Attached you can find my updated > patches. > > That this didn't cause any problems with findsrvs is strange indeed. For > registering, SLPNetworkRecvMessage() was called five times, and then > slptool returned with -19. For findsrvs, SLPNetworkRecvMessage() was also > called five times and also failed to meet the condition on line 298 every > time, but finally slptool returned the services. Strange... > > > > Am 13.05.2013 17:59, schrieb Nick Wagner: > >> What is confusing me here is why this only happens when registering? An >> slptool findsrvs doesn't appear to exhibit the problem. >> >> >> On Mon, May 13, 2013 at 10:22 AM, Robert Hegner >> <rh...@hs... >> <mailto:rh...@hs...>> wrote: >> >> Yes I guess your fix for slptool makes more sense. >> >> WSAGetLastError() returns 10054 (WSAECONNRESET) >> >> http://msdn.microsoft.com/en-**us/library/windows/desktop/** >> ms740668%28v=vs.85%29.aspx<http://msdn.microsoft.com/en-us/library/windows/desktop/ms740668%28v=vs.85%29.aspx> >> >> >> >> >> Am 13.05.2013 17:07, schrieb Nick Wagner: >> > What is WSAGetLastError returning when you see the recvfrom error? >> > >> > And as far as the first patch goes, I believe Jon's intent was to >> check >> > for an empty string, not just a null pointer. So I would try: >> > >> > if ((cmdline->scopes != 0) && (*cmdline->scopes != 0)) >> > SLPSetProperty("net.slp.**useScopes", cmdline->scopes); >> > >> > >> > >> > >> > >> > On Mon, May 13, 2013 at 7:30 AM, Robert Hegner >> > <rh...@hs... >> <mailto:rh...@hs...> >> > <mailto:rh...@hs... >> >> <mailto:rh...@hs...>>> wrote: >> > >> > Ok I spent some more hours on this issue. I can successfully >> run >> > revisions 1715 to 1731. But with revision 1732 I get the >> error -19. >> > Revision 1732 contains some changes in slp_network.c (among >> others). >> > Below you can see how SLPNetworkRecvMessage() (in >> slp_network.c) >> > behaves in revision 1731 and 1732: >> > >> > Revision 1732: >> > - select() on line 237 returns 1 >> > - recvfrom() on line 243 returns -1 >> > - therefore the condition on line 276 is false and >> > SLPNetworkRecvMessage() sets errno to EINVAL and returns -1 >> > >> > Revision 1731: >> > - select() on line 237 returns 1 >> > - recvfrom() on line 243 returns -1 >> > - but now on line 276 the condition is true since it does not >> check >> > xferbytes as in revision 1732. SLPNetworkRecvMessage() then >> > continues without causing any errors. >> > >> > I don't know what the intention of the changes of revision >> 1732 was. >> > And I don't know if recvfrom() on line 243 should not return >> -1 to >> > begin with, or if the condition on line 276 in revision 1732 is >> > incorrect. But I think someone should have a closer look at >> > SLPNetworkRecvMessage() again. >> > >> > Attached you can find my suggested patches based on the latest >> > Mercurial revision. With these patches it works for me. >> > >> > >> > >> > Am 13.05.2013 09:29, schrieb Robert Hegner: >> > >> > I also did some more investigation on the second issue >> (error >> > code -19). >> > >> > When I use the beta 2 installer, it seems to work (I can >> register a >> > service using slptool without getting the -19 error). >> > >> > Then I stopped slpd and replaced the binaries with the >> ones I >> > built from >> > the latest Mercurial revision (cdaeb8) and restarted >> slpd. Then >> > I got >> > the -19 error again. >> > >> > Then I uninstalled OpenSLP, built the installer with the >> latest >> > Mercurial revision, and installed it with my own installer >> > again. Also >> > in this case I get the -19 error. >> > >> > So for me this looks like I can confirm the problem that >> Ren >> > described >> > in January (he suspected that a problem was introduced >> somewhere >> > between >> > beta 2 and the current revision). >> > >> > >> > >> > Am 10.05.2013 13:56, schrieb Robert Hegner: >> > >> > Hello, >> > >> > I've been using OpenSLP in my project for a while >> now. This >> > week I set >> > up a new computer (Windows 7 64Bit) and I tried to >> build and >> > run my >> > application and OpenSLP on this new machine with >> VC++2010. >> > Even though I >> > have a 64Bit OS I'm building OpenSLP as a 32Bit >> application, >> > since my >> > own application is also 32Bit. >> > >> > First I tried the latest version from the Mercurial >> > repository (cdaeb8). >> > I was able to build it and slpd seems to work, since >> > slptool findsrvs service:service-agent >> > returns one entry with my IP address. However, when I >> try this: >> > slptool register service:myserv.x://myhost.com >> <http://myhost.com> >> > <http://myhost.com> >> > (as in the examples of slptool), I get an access >> violation >> > (Unhandled >> > exception at 0x00401643 in slptool.exe: 0xC0000005: >> Access >> > violation >> > reading location 0x00000000.) >> > >> > Then I tried an older version (the latest version >> from the SVN >> > repository, rev. 1701). I can also build and install >> slpd, >> > and I can >> > also find the service-agent. But when I try to >> register a >> > service using >> > slptool I get error code -19. As far as I know this >> > indicates a problem >> > with the communication between slpd and slptool, right? >> > However, slpd >> > seems to be running (otherwise I wouldn't find the >> > service-agent). So I >> > guess it is a problem with missing privileges or a >> firewall >> > problem. >> > What rules do I need in the Windows Firewall to get >> OpenSLP >> > to work? (do >> > I need rules for slpd or slptool?, ingoing or outgoing? >> > which port and >> > protocol?). Unfortunately I cannot completely disable >> the >> > firewall for a >> > test due to group policies, but I can add rules. >> > >> > Any hints on how to solve or debug at least one of >> these >> > problems would >> > be much appreciated! >> > >> > Cheers, >> > Robert >> > >> > >> > >> ------------------------------**__----------------------------** >> --__------------------ >> > Learn Graph Databases - Download FREE O'Reilly Book >> > "Graph Databases" is the definitive new guide to graph >> > databases and >> > their applications. This 200-page book is written by >> three >> > acclaimed >> > leaders in the field. The early access version is >> available now. >> > Download your free book today! >> > http://p.sf.net/sfu/neotech___**d2d_may<http://p.sf.net/sfu/neotech___d2d_may> >> > <http://p.sf.net/sfu/neotech_**d2d_may<http://p.sf.net/sfu/neotech_d2d_may> >> > >> > >> > >> > >> > >> > >> ------------------------------**__----------------------------** >> --__------------------ >> > Learn Graph Databases - Download FREE O'Reilly Book >> > "Graph Databases" is the definitive new guide to graph >> databases and >> > their applications. This 200-page book is written by >> three acclaimed >> > leaders in the field. The early access version is >> available now. >> > Download your free book today! >> > http://p.sf.net/sfu/neotech___**d2d_may<http://p.sf.net/sfu/neotech___d2d_may> >> > <http://p.sf.net/sfu/neotech_**d2d_may<http://p.sf.net/sfu/neotech_d2d_may> >> > >> > >> > >> > >> > >> ------------------------------**------------------------------** >> ------------------ >> > Learn Graph Databases - Download FREE O'Reilly Book >> > "Graph Databases" is the definitive new guide to graph >> databases and >> > their applications. This 200-page book is written by three >> acclaimed >> > leaders in the field. The early access version is available >> now. >> > Download your free book today! >> http://p.sf.net/sfu/neotech_**d2d_may<http://p.sf.net/sfu/neotech_d2d_may> >> > ______________________________**_________________ >> > Openslp-users mailing list >> > Openslp-users@lists.**sourceforge.net<Ope...@li...> >> <mailto:Openslp-users@lists.**sourceforge.net<Ope...@li...> >> > >> > >> <mailto:Openslp-users@lists.**sourceforge.net<Ope...@li...> >> >> <mailto:Openslp-users@lists.**sourceforge.net<Ope...@li...> >> >> >> > https://lists.sourceforge.net/**lists/listinfo/openslp-users<https://lists.sourceforge.net/lists/listinfo/openslp-users> >> > >> > >> > >> > >> > >> ------------------------------**------------------------------** >> ------------------ >> > Learn Graph Databases - Download FREE O'Reilly Book >> > "Graph Databases" is the definitive new guide to graph databases >> and >> > their applications. This 200-page book is written by three >> acclaimed >> > leaders in the field. The early access version is available now. >> > Download your free book today! http://p.sf.net/sfu/neotech_** >> d2d_may <http://p.sf.net/sfu/neotech_d2d_may> >> > >> > >> > >> > ______________________________**_________________ >> > Openslp-users mailing list >> > Openslp-users@lists.**sourceforge.net<Ope...@li...> >> <mailto:Openslp-users@lists.**sourceforge.net<Ope...@li...> >> > >> > https://lists.sourceforge.net/**lists/listinfo/openslp-users<https://lists.sourceforge.net/lists/listinfo/openslp-users> >> > >> >> >> >> ------------------------------**------------------------------** >> ------------------ >> Learn Graph Databases - Download FREE O'Reilly Book >> "Graph Databases" is the definitive new guide to graph databases and >> their applications. This 200-page book is written by three acclaimed >> leaders in the field. The early access version is available now. >> Download your free book today! http://p.sf.net/sfu/neotech_**d2d_may<http://p.sf.net/sfu/neotech_d2d_may> >> ______________________________**_________________ >> Openslp-users mailing list >> Openslp-users@lists.**sourceforge.net<Ope...@li...> >> <mailto:Openslp-users@lists.**sourceforge.net<Ope...@li...> >> > >> https://lists.sourceforge.net/**lists/listinfo/openslp-users<https://lists.sourceforge.net/lists/listinfo/openslp-users> >> >> >> >> >> ------------------------------**------------------------------** >> ------------------ >> Learn Graph Databases - Download FREE O'Reilly Book >> "Graph Databases" is the definitive new guide to graph databases and >> their applications. This 200-page book is written by three acclaimed >> leaders in the field. The early access version is available now. >> Download your free book today! http://p.sf.net/sfu/neotech_**d2d_may<http://p.sf.net/sfu/neotech_d2d_may> >> >> >> >> ______________________________**_________________ >> Openslp-users mailing list >> Openslp-users@lists.**sourceforge.net<Ope...@li...> >> https://lists.sourceforge.net/**lists/listinfo/openslp-users<https://lists.sourceforge.net/lists/listinfo/openslp-users> >> >> > > > ------------------------------------------------------------------------------ > AlienVault Unified Security Management (USM) platform delivers complete > security visibility with the essential security capabilities. Easily and > efficiently configure, manage, and operate all of your security controls > from a single console and one unified framework. Download a free trial. > http://p.sf.net/sfu/alienvault_d2d > _______________________________________________ > Openslp-users mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openslp-users > > |