Ok I managed to setup the latest SVN revision of OpenSLP now. I had to modify the start script a little bit, like this:
start-stop-daemon --pidfile /var/run/$NAME.pid \ --exec $DAEMON --start -- -p /var/run/$NAME.pid Now the bad news is that I'm experiencing exactly the same port hijacking behaviour as before :( Am 16.10.2012 08:59, schrieb Robert Hegner: > Yes it happens with any port. > > I want to try it with version 2.0 but I have some problems getting it to > work (I'm new to the Linux world...). I managed to build it but I > couldn't start/stop slpd properly. I'll have a look at this again today. > > You might have noticed in the lsof -i listings in my original post that > the PID of slpd changes. The reason is that my application restarts slpd > under certain conditions to make sure its service is published on all > available network interfaces. The application starts and stops slpd by > calling (as root): > int ret = system("/bin/sh -e /etc/init.d/slpd stop"); > int ret = system("/bin/sh -e /etc/init.d/slpd start"); > > Do you think this could cause the problem? Is this the proper way to > programmatically restart slpd under Linux (Debian)? Under Windows I use > the scmanager API and it works like a charm (with version 2.0, I've > never tested it with version 1.x under Windows). I'll try and check how > version 2.0 behaves in this scenario later today. > > Gavin Lambert posted a patch in the developers newsgroup to make slpd > re-initialize its interfaces by sending it a signal. It would be great > if some mechanism like this made it into the release version of OpenSLP > 2.0. In my scenario I would not have to restart spld anymore. > > PS: It would make things much easier if version 2.0 came as a prebuilt > Debian package, so I'm glad to hear that it will soon reach release > status. Do you think it will make it into Debian Wheezy (which I think > will soon change from testing to stable)? > > Thanks, > Robert > > > Am 15.10.2012 16:51, schrieb Nick Wagner: >> If you try some other port, does SLP hijack that too? We're nearing >> release on version 2.0, would you like to try that and see if if you >> have a similar problem? I don't believe we're doing anything in the >> current code that would cause that side effect, and 1.2.1 was a long >> time ago. >> >> --Nick >> >> On Fri, Oct 12, 2012 at 3:35 AM, Robert Hegner >> <rheg...@hsr.ch <mailto:rheg...@hsr.ch>> wrote: >> >> I recently ported my application from Windows to Linux and now I'm >> experiencing some strange problem when running it under Debian >> together with OpenSLP 1.2.1-9 (this is the version that comes out of >> the box with Debian). >> >> The problem is that slpd seems to occupy the port I'm using for my >> application. Let me explain... >> >> Before I start my application, "lsof -i" lists the following spld >> related entries: >> >> COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME >> slpd 2786 daemon 4u IPv4 6415 0t0 TCP >> localhost:svrloc (LISTEN) >> slpd 2786 daemon 5u IPv4 6416 0t0 TCP >> DebianWheezy.local:svrloc (LISTEN) >> slpd 2786 daemon 6u IPv4 6417 0t0 UDP >> 239.255.255.253:svrloc >> slpd 2786 daemon 7u IPv4 6418 0t0 UDP >> DebianWheezy.local:svrloc >> slpd 2786 daemon 8u IPv4 6419 0t0 TCP >> 3724G-21104-2.hsr.ch:svrloc (LISTEN) >> slpd 2786 daemon 9u IPv4 6420 0t0 UDP >> 239.255.255.253:svrloc >> slpd 2786 daemon 10u IPv4 6421 0t0 UDP >> 3724G-21104-2.hsr.ch:svrloc >> >> Then I start my application which registers the following two >> services with SLP: >> >> service:TrackingNode.ADEC:CP://10.0.2.15:1234/1c736ed2-e8b7-545c-998a-2ce095e600ea >> <http://10.0.2.15:1234/1c736ed2-e8b7-545c-998a-2ce095e600ea> >> >> service:TrackingNode.ADEC:CP://192.168.0.24:1234/1c736ed2-e8b7-545c-998a-2ce095e600ea >> <http://192.168.0.24:1234/1c736ed2-e8b7-545c-998a-2ce095e600ea> >> >> Of course my application opens a socket to listen to port 1234. Now >> comes the part that surprised me: slpd also begins to listen to port >> 1234 (why??). "lsof -i" shows this: >> >> COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME >> *TrackingN 4795 root 6u IPv4 12170 0t0 TCP *:1234 >> (LISTEN)* >> TrackingN 4795 root 7u IPv4 12186 0t0 TCP >> localhost:45272->localhost:svrloc (ESTABLISHED) >> slpd 4805 daemon 0u IPv4 12189 0t0 TCP >> localhost:svrloc->localhost:45272 (ESTABLISHED) >> slpd 4805 daemon 1u IPv4 12204 0t0 UDP *:37734 >> slpd 4805 daemon 2u IPv4 12199 0t0 UDP *:49554 >> slpd 4805 daemon 4u IPv4 12176 0t0 TCP >> localhost:svrloc (LISTEN) >> slpd 4805 daemon 5u IPv4 12177 0t0 TCP >> DebianWheezy.local:svrloc (LISTEN) >> *slpd 4805 daemon 6u IPv4 12170 0t0 TCP *:1234 >> (LISTEN)* >> slpd 4805 daemon 7u IPv4 12178 0t0 UDP >> 239.255.255.253:svrloc >> slpd 4805 daemon 8u IPv4 12179 0t0 UDP >> DebianWheezy.local:svrloc >> slpd 4805 daemon 9u IPv4 12180 0t0 TCP >> 3724G-21104-2.hsr.ch:svrloc (LISTEN) >> slpd 4805 daemon 10u IPv4 12181 0t0 UDP >> 239.255.255.253:svrloc >> slpd 4805 daemon 11u IPv4 12182 0t0 UDP >> 3724G-21104-2.hsr.ch:svrloc >> >> And then, when I quit my application, slpd keeps listening on port 1234: >> >> COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME >> slpd 4816 daemon 4u IPv4 12317 0t0 TCP >> localhost:svrloc (LISTEN) >> slpd 4816 daemon 5u IPv4 12318 0t0 TCP >> DebianWheezy.local:svrloc (LISTEN) >> *slpd 4816 daemon 6u IPv4 12170 0t0 TCP *:1234 >> (LISTEN)* >> slpd 4816 daemon 7u IPv4 12319 0t0 UDP >> 239.255.255.253:svrloc >> slpd 4816 daemon 8u IPv4 12320 0t0 UDP >> DebianWheezy.local:svrloc >> slpd 4816 daemon 9u IPv4 12321 0t0 TCP >> 3724G-21104-2.hsr.ch:svrloc (LISTEN) >> slpd 4816 daemon 10u IPv4 12322 0t0 UDP >> 239.255.255.253:svrloc >> slpd 4816 daemon 11u IPv4 12323 0t0 UDP >> 3724G-21104-2.hsr.ch:svrloc >> slpd 4816 daemon 13u IPv4 12326 0t0 UDP *:47496 >> >> Now when I restart my application and it tries to open a socket to >> listen to port 1234 again, I get an "Address already in use" error, >> since slpd still occupies that port. >> >> Can anyone explain what's happening here? Why does slpd hijack my port? >> >> >> ------------------------------------------------------------------------------ >> Don't let slow site performance ruin your business. Deploy New Relic APM >> Deploy New Relic app performance management and know exactly >> what is happening inside your Ruby, Python, PHP, Java, and .NET app >> Try New Relic at no cost today and get our sweet Data Nerd shirt too! >> http://p.sf.net/sfu/newrelic-dev2dev >> _______________________________________________ >> Openslp-users mailing list >> Openslp-users@lists.sourceforge.net >> <mailto:Openslp-users@lists.sourceforge.net> >> https://lists.sourceforge.net/lists/listinfo/openslp-users >> >> >> >> >> ------------------------------------------------------------------------------ >> Don't let slow site performance ruin your business. Deploy New Relic APM >> Deploy New Relic app performance management and know exactly >> what is happening inside your Ruby, Python, PHP, Java, and .NET app >> Try New Relic at no cost today and get our sweet Data Nerd shirt too! >> http://p.sf.net/sfu/newrelic-dev2dev >> >> >> >> _______________________________________________ >> Openslp-users mailing list >> Openslp-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/openslp-users >> > > > > ------------------------------------------------------------------------------ > Don't let slow site performance ruin your business. Deploy New Relic APM > Deploy New Relic app performance management and know exactly > what is happening inside your Ruby, Python, PHP, Java, and .NET app > Try New Relic at no cost today and get our sweet Data Nerd shirt too! > http://p.sf.net/sfu/newrelic-dev2dev > ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct _______________________________________________ Openslp-users mailing list Openslp-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openslp-users