Replacement JAR for b89 for UPNP testing (Apr 12)

Notes on testing the latest builds of MapTool

Moderators: dorpond, trevor, Azhrei

User avatar
jfrazierjr
Deity
Posts: 5176
Joined: Tue Sep 11, 2007 7:31 pm

Re: Replacement JAR for b89 for UPNP testing

Post by jfrazierjr »

Azhrei wrote:Thanks, wolph.
wolph42 wrote:I also tried lees dev version again (which still works and connects nicely) and checked the log, but nothing there...
And did you put this upnp JAR file into Lee's dev version? If you use the instructions in the OP on Lee's dev version, and put the logging.xml into place, then his dev version should produce the same logging output.
jfrazierjr wrote:And both of those boxes that fail are Fritz(you and CiF) brand machines. And both fail on the iconList section. My guess is that this section of code is wrong and it only manifest with routers that expose that information(where as the two that do NOT fail did NOT return an iconList element in the XML...)
I also checked the official UPNP XML schema. It does not include the iconList element (or subelements, of course) which means the router is not adhering to the spec.
So... My question is WAS this field a part of the spec at one point and the vendor has just not updated? It's clear that the library is EXPLICITLY looking for the icon stuff in it. It would see quite odd to do that if there was not some supported reason for it(perhaps non computer platform devices support choosing from an icon list???) In either way, if we have access to the actual code being used, it would be childs play to create a mock response while debugging and figure out the cause of the issue(and if a fix can be made.)
Azhrei wrote: I don't understand why the 1.0.4 JAR would be more lenient than 1.0.5, when the only changes should have been to the XML namespace support, but there could be a subtle interaction with the latest Apache JXPath library (and its dependencies). Hopefully wolph will be able to produce a log from the dev version and we can see the differences.
Well... there are plenty of possible reasons for that. XML namespaces are notoriously implemented wrongly in older libraries(anything older than 6-7 years could be suspect) and from what I understand this library is quite old... If 1.0.4 did NOT support XML namespaces, then it could work just fine with xml elements that have namespaces declared without issue(since everything would just be all in the same "empty" namespace.)

Azhrei wrote: In the mean time, I'll see if the 1.0.5 version of the library has some way to skip unrecognized elements...
Don't we have the source? If so, and we have the legal license to modify, we could easily disable the method that is causing the issue outright and build it. This would make the most sense anyway if that stuff is no longer supported by the XSD anyway AND with MapTool being the only "client", it would not hurt anything....
I save all my Campaign Files to DropBox. Not only can I access a campaign file from pretty much any OS that will run Maptool(Win,OSX, linux), but each file is versioned, so if something goes crazy wild, I can always roll back to a previous version of the same file.

Get your Dropbox 2GB via my referral link, and as a bonus, I get an extra 250 MB of space. Even if you don't don't use my link, I still enthusiastically recommend Dropbox..

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: Replacement JAR for b89 for UPNP testing

Post by Azhrei »

jfrazierjr wrote:Don't we have the source? If so, and we have the legal license to modify, we could easily disable the method that is causing the issue outright and build it. This would make the most sense anyway if that stuff is no longer supported by the XSD anyway AND with MapTool being the only "client", it would not hurt anything....
We do. This would be fine in the short term, but I'd feel better about it to fix it correctly. The code is copyright 2002 the Apache Foundation with a license that looks like the Apache v2.0 license (I didn't check it word for word).

Also, I found an XML schema for UPNP. I had been "guessing" at the schema since they don't appear to host an .xsd file anywhere on their site. But this PDF has the actual schema starting on page 117. I plan to extract it and use xmllint to verify the data returned from the routers.

User avatar
jfrazierjr
Deity
Posts: 5176
Joined: Tue Sep 11, 2007 7:31 pm

Re: Replacement JAR for b89 for UPNP testing

Post by jfrazierjr »

Azhrei wrote:
jfrazierjr wrote:Don't we have the source? If so, and we have the legal license to modify, we could easily disable the method that is causing the issue outright and build it. This would make the most sense anyway if that stuff is no longer supported by the XSD anyway AND with MapTool being the only "client", it would not hurt anything....
We do. This would be fine in the short term, but I'd feel better about it to fix it correctly. The code is copyright 2002 the Apache Foundation with a license that looks like the Apache v2.0 license (I didn't check it word for word).
That's what I thought. If you want to host the code some where, I can check it out. XML is what I do for my day job(well... xml/web services....) If both versions are already in a repository somewhere, just point me the way...
I save all my Campaign Files to DropBox. Not only can I access a campaign file from pretty much any OS that will run Maptool(Win,OSX, linux), but each file is versioned, so if something goes crazy wild, I can always roll back to a previous version of the same file.

Get your Dropbox 2GB via my referral link, and as a bonus, I get an extra 250 MB of space. Even if you don't don't use my link, I still enthusiastically recommend Dropbox..

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: Replacement JAR for b89 for UPNP testing

Post by Azhrei »

I found the problem. :)

There were about a half-dozen sections of code that use subscripts in XPath expressions and there was an off-by-one error in the loops! When I found the first one I assumed that the same error would exist in other pieces of code and sure enough it did.

I also did a quick scan through the entire library (well, minus the JMX console stuff) just to make sure there weren't any other similarly glaring problems.

As you might guess, one of those loops was the one that handled the iconList children. The new library should correct that issue and others.

I've uploaded the new jar file in the OP. But I'm bumping the version number by one to make it more obvious that there has been an update. The new one is 1.0.6. The instructions in the OP have been edited as well to compensate.

User avatar
jfrazierjr
Deity
Posts: 5176
Joined: Tue Sep 11, 2007 7:31 pm

Re: Replacement JAR for b89 for UPNP testing

Post by jfrazierjr »

Azhrei wrote:I found the problem. :)

There were about a half-dozen sections of code that use subscripts in XPath expressions and there was an off-by-one error in the loops! When I found the first one I assumed that the same error would exist in other pieces of code and sure enough it did.
Heh... that's pretty much exactly what I expected the issue might be in one of my previous posts. Hopefully, this will greatly assist users in being able to connect to UPnP routers!!!
I save all my Campaign Files to DropBox. Not only can I access a campaign file from pretty much any OS that will run Maptool(Win,OSX, linux), but each file is versioned, so if something goes crazy wild, I can always roll back to a previous version of the same file.

Get your Dropbox 2GB via my referral link, and as a bonus, I get an extra 250 MB of space. Even if you don't don't use my link, I still enthusiastically recommend Dropbox..

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: Replacement JAR for b89 for UPNP testing

Post by wolph42 »

ok tried the 1.0.6 no go.

attached log with three attempts:
- first just paste it in there
- second replaced the existing file and renamed it 1.0.5
-third also removed the other upnp .jar file (-debug)

all three resulted in a upnp not found error.

User avatar
jfrazierjr
Deity
Posts: 5176
Joined: Tue Sep 11, 2007 7:31 pm

Re: Replacement JAR for b89 for UPNP testing

Post by jfrazierjr »

wolph42 wrote:ok tried the 1.0.6 no go.

attached log with three attempts:
- first just paste it in there
- second replaced the existing file and renamed it 1.0.5
-third also removed the other upnp .jar file (-debug)

all three resulted in a upnp not found error.
It's the exact same error... so either you did not "install" it properly or Azhrei did not build(or fix) the new jar correctly.
I save all my Campaign Files to DropBox. Not only can I access a campaign file from pretty much any OS that will run Maptool(Win,OSX, linux), but each file is versioned, so if something goes crazy wild, I can always roll back to a previous version of the same file.

Get your Dropbox 2GB via my referral link, and as a bonus, I get an extra 250 MB of space. Even if you don't don't use my link, I still enthusiastically recommend Dropbox..


User avatar
jfrazierjr
Deity
Posts: 5176
Joined: Tue Sep 11, 2007 7:31 pm

Re: Replacement JAR for b89 for UPNP testing

Post by jfrazierjr »

wolph42 wrote:Well I tried three different types of installment (that's bad English I know) and this is the result...

Ok.. so let's go over this.

DELETE OR MOVE to a backup folder any file named /lib/sbbi*. The Manifest file includes references for TWO version and BOTH versions are included in the lib directory. Copy your newly downloaded version to the lib directory and rename it to lib/sbbi-upnplib-1.0.5-nodebug.jar. Try again.
I save all my Campaign Files to DropBox. Not only can I access a campaign file from pretty much any OS that will run Maptool(Win,OSX, linux), but each file is versioned, so if something goes crazy wild, I can always roll back to a previous version of the same file.

Get your Dropbox 2GB via my referral link, and as a bonus, I get an extra 250 MB of space. Even if you don't don't use my link, I still enthusiastically recommend Dropbox..


User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: Replacement JAR for b89 for UPNP testing

Post by wolph42 »

jfrazierjr wrote:
wolph42 wrote:Well I tried three different types of installment (that's bad English I know) and this is the result...

Ok.. so let's go over this.

DELETE OR MOVE to a backup folder any file named /lib/sbbi*. The Manifest file includes references for TWO version and BOTH versions are included in the lib directory. Copy your newly downloaded version to the lib directory and rename it to lib/sbbi-upnplib-1.0.5-nodebug.jar. Try again.
but for good measure I did it *again* anyway, redownloaded the .jar and did these EXACT steps. And got a upnp error:
Spoiler
2013-04-11 23:32:12,249 [upnp.Discovery:271] DEBUG - Sending discovery message on 239.255.255.250:1900 multicast address form ip 192.168.178.29:
M-SEARCH * HTTP/1.1
HOST: 239.255.255.250:1900
MAN: "ssdp:discover"
MX: 3
ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1


2013-04-11 23:32:12,251 [upnp.Discovery:271] DEBUG - Sending discovery message on 239.255.255.250:1900 multicast address form ip 192.168.178.64:
M-SEARCH * HTTP/1.1
HOST: 239.255.255.250:1900
MAN: "ssdp:discover"
MX: 3
ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1


2013-04-11 23:32:12,253 [upnp.HttpResponse:79] DEBUG - Response: LOCATION: http://192.168.178.1:49000/igddesc.xml

2013-04-11 23:32:12,254 [upnp.HttpResponse:79] DEBUG - Response: SERVER: FRITZ!Box Fon WLAN 7360 UPnP/1.0 AVM FRITZ!Box Fon WLAN 7360 111.05.23

2013-04-11 23:32:12,254 [upnp.HttpResponse:79] DEBUG - Response: CACHE-CONTROL: max-age=1800

2013-04-11 23:32:12,254 [upnp.HttpResponse:79] DEBUG - Response: EXT:

2013-04-11 23:32:12,254 [upnp.HttpResponse:79] DEBUG - Response: ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1

2013-04-11 23:32:12,255 [upnp.HttpResponse:79] DEBUG - Response: USN: uuid:75802409-bccb-40e7-8e6c-C02506880A1E::urn:schemas-upnp-org:device:InternetGatewayDevice:1

2013-04-11 23:32:12,256 [upnp.DiscoveryListener:251] DEBUG - Processing http://192.168.178.1:49000/igddesc.xml device description location
2013-04-11 23:32:12,362 [upnp.JXPathParser:73] DEBUG - Raw xml doc:
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device:InternetGatewayDevice:1</deviceType>
<friendlyName>FRITZ!Box Fon WLAN 7360</friendlyName>
<manufacturer>AVM Berlin</manufacturer>
<manufacturerURL>http://www.avm.de</manufacturerURL>
<modelDescription>FRITZ!Box Fon WLAN 7360</modelDescription>
<modelName>FRITZ!Box Fon WLAN 7360</modelName>
<modelNumber>avme</modelNumber>
<modelURL>http://www.avm.de</modelURL>
<UDN>uuid:75802409-bccb-40e7-8e6c-C02506880A1E</UDN>
<iconList>
<icon>
<mimetype>image/gif</mimetype>
<width>118</width>
<height>119</height>
<depth>8</depth>
<url>/ligd.gif</url>
</icon>
</iconList>
<serviceList>
<service>
<serviceType>urn:schemas-any-com:service:Any:1</serviceType>
<serviceId>urn:any-com:serviceId:any1</serviceId>
<controlURL>/upnp/control/any</controlURL>
<eventSubURL>/upnp/control/any</eventSubURL>
<SCPDURL>/any.xml</SCPDURL>
</service>
</serviceList>
<deviceList>
<device>
<deviceType>urn:schemas-upnp-org:device:WANDevice:1</deviceType>
<friendlyName>WANDevice - FRITZ!Box Fon WLAN 7360</friendlyName>
<manufacturer>AVM Berlin</manufacturer>
<manufacturerURL>www.avm.de</manufacturerURL>
<modelDescription>WANDevice - FRITZ!Box Fon WLAN 7360</modelDescription>
<modelName>WANDevice - FRITZ!Box Fon WLAN 7360</modelName>
<modelNumber>avme</modelNumber>
<modelURL>www.avm.de</modelURL>
<UDN>uuid:75802409-bccb-40e7-8e6b-C02506880A1E</UDN>
<UPC>AVM IGD</UPC>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1</serviceType>
<serviceId>urn:upnp-org:serviceId:WANCommonIFC1</serviceId>
<controlURL>/upnp/control/WANCommonIFC1</controlURL>
<eventSubURL>/upnp/control/WANCommonIFC1</eventSubURL>
<SCPDURL>/igdicfgSCPD.xml</SCPDURL>
</service>
</serviceList>
<deviceList>
<device>
<deviceType>urn:schemas-upnp-org:device:WANConnectionDevice:1</deviceType>
<friendlyName>WANConnectionDevice - FRITZ!Box Fon WLAN 7360</friendlyName>
<manufacturer>AVM Berlin</manufacturer>
<manufacturerURL>www.avm.de</manufacturerURL>
<modelDescription>WANConnectionDevice - FRITZ!Box Fon WLAN 7360</modelDescription>
<modelName>WANConnectionDevice - FRITZ!Box Fon WLAN 7360</modelName>
<modelNumber>avme</modelNumber>
<modelURL>www.avm.de</modelURL>
<UDN>uuid:75802409-bccb-40e7-8e6a-C02506880A1E</UDN>
<UPC>AVM IGD</UPC>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:WANDSLLinkConfig:1</serviceType>
<serviceId>urn:upnp-org:serviceId:WANDSLLinkC1</serviceId>
<controlURL>/upnp/control/WANDSLLinkC1</controlURL>
<eventSubURL>/upnp/control/WANDSLLinkC1</eventSubURL>
<SCPDURL>/igddslSCPD.xml</SCPDURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:WANIPConnection:1</serviceType>
<serviceId>urn:upnp-org:serviceId:WANIPConn1</serviceId>
<controlURL>/upnp/control/WANIPConn1</controlURL>
<eventSubURL>/upnp/control/WANIPConn1</eventSubURL>
<SCPDURL>/igdconnSCPD.xml</SCPDURL>
</service>
</serviceList>
</device>
</deviceList>
</device>
</deviceList>
<presentationURL>http://fritz.box</presentationURL>
</device>
</root>

2013-04-11 23:32:12,371 [devices.UPNPRootDevice:273] DEBUG - parsing device urn:schemas-upnp-org:device:InternetGatewayDevice:1
2013-04-11 23:32:12,374 [devices.UPNPRootDevice:369] DEBUG - device services count is 1.0
2013-04-11 23:32:12,377 [devices.UPNPRootDevice:403] DEBUG - device icons count is 1.0
2013-04-11 23:32:12,378 [upnp.Discovery$1:186] ERROR - Error occurred during UPNP root device object creation from location http://192.168.178.1:49000/igddesc.xml
org.apache.commons.jxpath.JXPathNotFoundException: No pointer for xpath: upnp:icon[0]
at org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.getPointer(JXPathContextReferenceImpl.java:468)
at org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.getPointer(JXPathContextReferenceImpl.java:452)
at net.sbbi.upnp.devices.UPNPRootDevice.fillUPNPDeviceIconsList(UPNPRootDevice.java:408)
at net.sbbi.upnp.devices.UPNPRootDevice.fillUPNPDevice(UPNPRootDevice.java:306)
at net.sbbi.upnp.devices.UPNPRootDevice.<init>(UPNPRootDevice.java:192)
at net.sbbi.upnp.devices.UPNPRootDevice.<init>(UPNPRootDevice.java:98)
at net.sbbi.upnp.Discovery$1.discoveredDevice(Discovery.java:183)
at net.sbbi.upnp.DiscoveryListener.listenBroadCast(DiscoveryListener.java:285)
at net.sbbi.upnp.DiscoveryListener.run(DiscoveryListener.java:197)
at java.lang.Thread.run(Unknown Source)
2013-04-11 23:32:12,378 [upnp.HttpResponse:79] DEBUG - Response: LOCATION: http://192.168.178.1:49000/igddesc.xml

2013-04-11 23:32:12,379 [upnp.HttpResponse:79] DEBUG - Response: SERVER: FRITZ!Box Fon WLAN 7360 UPnP/1.0 AVM FRITZ!Box Fon WLAN 7360 111.05.23

2013-04-11 23:32:12,379 [upnp.HttpResponse:79] DEBUG - Response: CACHE-CONTROL: max-age=1800

2013-04-11 23:32:12,379 [upnp.HttpResponse:79] DEBUG - Response: EXT:

2013-04-11 23:32:12,379 [upnp.HttpResponse:79] DEBUG - Response: ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1

2013-04-11 23:32:12,379 [upnp.HttpResponse:79] DEBUG - Response: USN: uuid:75802409-bccb-40e7-8e6c-C02506880A1E::urn:schemas-upnp-org:device:InternetGatewayDevice:1

2013-04-11 23:32:12,380 [upnp.DiscoveryListener:251] DEBUG - Processing http://192.168.178.1:49000/igddesc.xml device description location
2013-04-11 23:32:12,384 [upnp.JXPathParser:73] DEBUG - Raw xml doc:
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device:InternetGatewayDevice:1</deviceType>
<friendlyName>FRITZ!Box Fon WLAN 7360</friendlyName>
<manufacturer>AVM Berlin</manufacturer>
<manufacturerURL>http://www.avm.de</manufacturerURL>
<modelDescription>FRITZ!Box Fon WLAN 7360</modelDescription>
<modelName>FRITZ!Box Fon WLAN 7360</modelName>
<modelNumber>avme</modelNumber>
<modelURL>http://www.avm.de</modelURL>
<UDN>uuid:75802409-bccb-40e7-8e6c-C02506880A1E</UDN>
<iconList>
<icon>
<mimetype>image/gif</mimetype>
<width>118</width>
<height>119</height>
<depth>8</depth>
<url>/ligd.gif</url>
</icon>
</iconList>
<serviceList>
<service>
<serviceType>urn:schemas-any-com:service:Any:1</serviceType>
<serviceId>urn:any-com:serviceId:any1</serviceId>
<controlURL>/upnp/control/any</controlURL>
<eventSubURL>/upnp/control/any</eventSubURL>
<SCPDURL>/any.xml</SCPDURL>
</service>
</serviceList>
<deviceList>
<device>
<deviceType>urn:schemas-upnp-org:device:WANDevice:1</deviceType>
<friendlyName>WANDevice - FRITZ!Box Fon WLAN 7360</friendlyName>
<manufacturer>AVM Berlin</manufacturer>
<manufacturerURL>www.avm.de</manufacturerURL>
<modelDescription>WANDevice - FRITZ!Box Fon WLAN 7360</modelDescription>
<modelName>WANDevice - FRITZ!Box Fon WLAN 7360</modelName>
<modelNumber>avme</modelNumber>
<modelURL>www.avm.de</modelURL>
<UDN>uuid:75802409-bccb-40e7-8e6b-C02506880A1E</UDN>
<UPC>AVM IGD</UPC>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1</serviceType>
<serviceId>urn:upnp-org:serviceId:WANCommonIFC1</serviceId>
<controlURL>/upnp/control/WANCommonIFC1</controlURL>
<eventSubURL>/upnp/control/WANCommonIFC1</eventSubURL>
<SCPDURL>/igdicfgSCPD.xml</SCPDURL>
</service>
</serviceList>
<deviceList>
<device>
<deviceType>urn:schemas-upnp-org:device:WANConnectionDevice:1</deviceType>
<friendlyName>WANConnectionDevice - FRITZ!Box Fon WLAN 7360</friendlyName>
<manufacturer>AVM Berlin</manufacturer>
<manufacturerURL>www.avm.de</manufacturerURL>
<modelDescription>WANConnectionDevice - FRITZ!Box Fon WLAN 7360</modelDescription>
<modelName>WANConnectionDevice - FRITZ!Box Fon WLAN 7360</modelName>
<modelNumber>avme</modelNumber>
<modelURL>www.avm.de</modelURL>
<UDN>uuid:75802409-bccb-40e7-8e6a-C02506880A1E</UDN>
<UPC>AVM IGD</UPC>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:WANDSLLinkConfig:1</serviceType>
<serviceId>urn:upnp-org:serviceId:WANDSLLinkC1</serviceId>
<controlURL>/upnp/control/WANDSLLinkC1</controlURL>
<eventSubURL>/upnp/control/WANDSLLinkC1</eventSubURL>
<SCPDURL>/igddslSCPD.xml</SCPDURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:WANIPConnection:1</serviceType>
<serviceId>urn:upnp-org:serviceId:WANIPConn1</serviceId>
<controlURL>/upnp/control/WANIPConn1</controlURL>
<eventSubURL>/upnp/control/WANIPConn1</eventSubURL>
<SCPDURL>/igdconnSCPD.xml</SCPDURL>
</service>
</serviceList>
</device>
</deviceList>
</device>
</deviceList>
<presentationURL>http://fritz.box</presentationURL>
</device>
</root>

2013-04-11 23:32:12,387 [devices.UPNPRootDevice:273] DEBUG - parsing device urn:schemas-upnp-org:device:InternetGatewayDevice:1
2013-04-11 23:32:12,387 [devices.UPNPRootDevice:369] DEBUG - device services count is 1.0
2013-04-11 23:32:12,388 [devices.UPNPRootDevice:403] DEBUG - device icons count is 1.0
2013-04-11 23:32:12,388 [upnp.Discovery$1:186] ERROR - Error occurred during UPNP root device object creation from location http://192.168.178.1:49000/igddesc.xml
org.apache.commons.jxpath.JXPathNotFoundException: No pointer for xpath: upnp:icon[0]
at org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.getPointer(JXPathContextReferenceImpl.java:468)
at org.apache.commons.jxpath.ri.JXPathContextReferenceImpl.getPointer(JXPathContextReferenceImpl.java:452)
at net.sbbi.upnp.devices.UPNPRootDevice.fillUPNPDeviceIconsList(UPNPRootDevice.java:408)
at net.sbbi.upnp.devices.UPNPRootDevice.fillUPNPDevice(UPNPRootDevice.java:306)
at net.sbbi.upnp.devices.UPNPRootDevice.<init>(UPNPRootDevice.java:192)
at net.sbbi.upnp.devices.UPNPRootDevice.<init>(UPNPRootDevice.java:98)
at net.sbbi.upnp.Discovery$1.discoveredDevice(Discovery.java:183)
at net.sbbi.upnp.DiscoveryListener.listenBroadCast(DiscoveryListener.java:285)
at net.sbbi.upnp.DiscoveryListener.run(DiscoveryListener.java:197)
at java.lang.Thread.run(Unknown Source)
2013-04-11 23:32:17,254 [client.MapTool:291] ERROR - UPnP Error - No Internet Gateway Devices found.<br><br>UPnP port mapping will not be available.

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: Replacement JAR for b89 for UPNP testing

Post by Azhrei »

I'm working on this one, guys. Honest.

My OpenWRT router seems unable to even run the miniupnpd daemon, so I can't test with it. And the TL-Link router doesn't reply with the iconList/icon elements, so I can't test against it.

I believe I built the 1.0.6 library correctly (!). All I can suggest is to redo the INSTALL steps from the beginning: put a fresh copy of MT in a directory and go through the steps. :?

I'm working to get my router up and running so I can test against it, but I'm not having much luck. I may need to downgrade to a previous OpenWRT flash. (That's what I get for going with a beta build: OpenWrt Attitude Adjustment 12.09-beta2. ;))

User avatar
jfrazierjr
Deity
Posts: 5176
Joined: Tue Sep 11, 2007 7:31 pm

Re: Replacement JAR for b89 for UPNP testing

Post by jfrazierjr »

Azhrei wrote:I'm working on this one, guys. Honest.

My OpenWRT router seems unable to even run the miniupnpd daemon, so I can't test with it. And the TL-Link router doesn't reply with the iconList/icon elements, so I can't test against it.

I believe I built the 1.0.6 library correctly (!). All I can suggest is to redo the INSTALL steps from the beginning: put a fresh copy of MT in a directory and go through the steps. :?

I'm working to get my router up and running so I can test against it, but I'm not having much luck. I may need to downgrade to a previous OpenWRT flash. (That's what I get for going with a beta build: OpenWrt Attitude Adjustment 12.09-beta2. ;))
Since you have the source, why not just step into the code and reload the XML document while debugging "right" after it gets sucked from the router?
I save all my Campaign Files to DropBox. Not only can I access a campaign file from pretty much any OS that will run Maptool(Win,OSX, linux), but each file is versioned, so if something goes crazy wild, I can always roll back to a previous version of the same file.

Get your Dropbox 2GB via my referral link, and as a bonus, I get an extra 250 MB of space. Even if you don't don't use my link, I still enthusiastically recommend Dropbox..

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: Replacement JAR for b89 for UPNP testing

Post by Azhrei »

jfrazierjr wrote:Since you have the source, why not just step into the code and reload the XML document while debugging "right" after it gets sucked from the router?
It doesn't come from the router as a String. It comes as an InputStream (not even a Reader). That makes it more difficult to fake.

However... I could set up a web page to deliver that content, then modify the URL that the UPNP library goes to go get the data (while single-stepping, of course). Yeah, that would work a lot better. Thanks for the idea. ;)

User avatar
jfrazierjr
Deity
Posts: 5176
Joined: Tue Sep 11, 2007 7:31 pm

Re: Replacement JAR for b89 for UPNP testing

Post by jfrazierjr »

Azhrei wrote:
jfrazierjr wrote:Since you have the source, why not just step into the code and reload the XML document while debugging "right" after it gets sucked from the router?
It doesn't come from the router as a String. It comes as an InputStream (not even a Reader). That makes it more difficult to fake.

However... I could set up a web page to deliver that content, then modify the URL that the UPNP library goes to go get the data (while single-stepping, of course). Yeah, that would work a lot better. Thanks for the idea. ;)
Well.. I don't have the source, but at some point it has to be turned into some type of XML document object. At that point while it's that(I can't remember off the top of my head the object name), it should be something like DomDocument which would have an load() method that would take a string as one of it's overrides which could be used to replace the existing content of the object. I do this far more often in .Net or Perl while debugging, but I have done it in the past many times in Eclipse with the Axis Soap Client... It takes a bit more doing in Java since the object model is not quite as easy to figure out as it is in .Net(though... the original MS XML 3 or 4 was FAR easier than the .Net versions!!!!)
I save all my Campaign Files to DropBox. Not only can I access a campaign file from pretty much any OS that will run Maptool(Win,OSX, linux), but each file is versioned, so if something goes crazy wild, I can always roll back to a previous version of the same file.

Get your Dropbox 2GB via my referral link, and as a bonus, I get an extra 250 MB of space. Even if you don't don't use my link, I still enthusiastically recommend Dropbox..

Post Reply

Return to “Testing”