-
Notifications
You must be signed in to change notification settings - Fork 43
Conversation
Not all routers return a <serviceList> element in the root of the IGD response, so the parser terminated too early (before trying to look for a list of services in <deviceList>)
Unfortunately my ISP provided router has broken UPNP support, so I can't test it. I'm gonna try to trust you on this. |
Yeah, unfortunately routers show very different behaviour and it's very hard to test |
Hey. So I dusted off an old router I had laying around and I tried it with that router, and it didn't work with that old router. And it used to work on it! So I started thinking, "this used to work well on my dual boot machine!". And it dawned on me that I am now using VirtualBox instead of dual booting for development. And my virtual machine was configured in NAT mode instead of bridge mode. So it was broadcasting to some stupid VirtualBox virtual NAT instead of my real router... So I was able to test your branch by switching the VM to bridged mode. Everything looks good, thank you. |
Cool, thank you very much for testing & reviewing this! |
As far as the quality of this library goes, it's probably not up to par with miniupnpc. This project started as just a simple thing for me to get my router's external ip, and then people asked to add more methods to add port mappings, remove port mappings, etc. and it grew organically. I haven't had an actual use for this library in years, I'm sort of just maintaining it when something pops up. If someone wanted to prop it up and make it more standards compliant I'd happily transfer ownership, or just merge pull requests. I personally don't have the time or energy to give it more love at the moment. |
I'll publish a new release, version 0.10.1 |
It's out, thanks again! |
Hey @sbstp, as I use this library for P2P-related projects a lot, I'd love to help with maintenance! |
For now I'll keep merging and testing what you send me. Eventually we can look at transferring it to you or MaidSafe, what ever you prefer! I know MaidSafe has been the primary user of this library for quite a while! |
Not all routers return a
<serviceList>
element in the root of the IGD response, so the parser terminated too early (before trying to look for a list of services in<deviceList>
).This PR fixes the bug and adds a new test case for a device with such a response.