On 09/19/2011 06:24 PM, Jim Marshall wrote: > John Calcote wrote: >> I wasn't aware of it Jim - looks like you found a bug. Should be pretty easy >> to fix, though. > It appears that the OpenSLP C code is not escaping the characters: > > [bin]$ ./slptool register service:foo:http://192.168.5.113:2268 > "(attribute=one,two,three)" > > Raw dump from WireShark: > > ....r...@........en....%service:foo:http://192.168.5.113:2268...service:foo:http..default..(attribute=one,two,three)...............en.. > > Also if I modify the Java API to not do any escaping, my test program > (and the register example) register properly. > > Is it possible that OpenSLP is not escaping/unescpaing the characters > per the RFC? The way I understand section 6.4 of http://www.openslp.org/doc/rfc/rfc2608.txt is that commas only need to be escaped when they are part of the data strings, not when they are used as delimiter.
If so, the java implementation should be modified not to escape the delimiters. BR, Roel > > Thanks >> -----Original Message----- >> From: Jim Marshall [mailto:jim.marsh...@wbemsolutions.com] >> Sent: Friday, September 16, 2011 12:42 PM >> To: openslp-users@lists.sourceforge.net >> Subject: [Openslp-users] Attribute values with comma's treated differently >> between Java and C >> >> >> Message body >> >> Hi, >> I was doing some testing with SLP (java API 1.0, SLP 1.2.1). I wrote a >> fairly simple program which registers a dummy service with one >> attribute, this attribute is a comma delineated string. >> >> When I use slptool (or a C program) to register it works as expected: >> >> $ slptool.bat register service:foo:http://192.168.5.113:2268 >> "(Attribute=one,two,three)" >> $ slptool findattrs service:foo:http://192.168.5.113:2268 >> (Attribute=one,two,three) >> >> Now doing the same thing with the Java API results in the following: >> >> $ slptool findattrs service:foo:http://192.168.5.113:2268 >> (Atrribute=one\2ctwo\2cthree) >> >> Notice the ',' have been converted to '\2c'. The issue can be duplicated >> with the "Register" Java example. >> >> What I believe is happening is that the Java API is calling >> ServiceLocationAttribute.escapeString before sending the data over the >> wire (RFC 2165 section 17.1.1) but the server is not un-escaping it >> and/or the client is also not un-escaping the value. The resulting >> registration is not valid for clients that need to examine the attributes. >> >> Is this a known issue? Is there a work-around? >> >> Thank you >> >> C:\test>java -classpath ".;slp.jar;log4j.jar" >> com.solers.slp.test.Register service:foo:http://192.168.5.113:2268 >> one,two,three >> Sep 16, 2011 2:34:41 PM com.solers.slp.ServiceLocationEnumerationImpl >> transmitDatagram >> INFO: Sending: ServiceRequest: Type: service:directory-agent Filter: >> Sep 16, 2011 2:34:44 PM com.solers.slp.ServiceLocationEnumerationImpl >> transmitDatagram >> INFO: Sending: ServiceRequest: Type: service:directory-agent Filter: >> Sep 16, 2011 2:34:47 PM com.solers.slp.ServiceLocationEnumerationImpl >> transmitDatagram >> INFO: Sending: ServiceRequest: Type: service:directory-agent Filter: >> Sep 16, 2011 2:34:47 PM com.solers.slp.NetworkManager saMessage >> INFO: Sending: ServiceRegistration: URL: >> service:foo:http://192.168.5.113:2268 Attributes: >> Attribute1=(java.lang.String)one\2ctwo\2cthree >> Sep 16, 2011 2:34:47 PM com.solers.slp.NetworkManager saMessage >> INFO: Sent registration to slpd. >> >> C:\tests>slptool findattrs service:foo:http://192.168.5.113:2268 >> (Attribute1=one\2ctwo\2cthree) >> >> >> ---------------------------------------------------------------------------- >> -- >> BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA >> http://p.sf.net/sfu/rim-devcon-copy2 >> _______________________________________________ >> Openslp-users mailing list >> Openslp-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/openslp-users >> >> > > ------------------------------------------------------------------------------ > BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA > Learn about the latest advances in developing for the > BlackBerry® mobile platform with sessions, labs& more. > See new tools and technologies. Register for BlackBerry® DevCon today! > http://p.sf.net/sfu/rim-devcon-copy1 > _______________________________________________ > Openslp-users mailing list > Openslp-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/openslp-users ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2dcopy1 _______________________________________________ Openslp-users mailing list Openslp-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openslp-users