mupnp updated

September 22, 2008

mupnp has been updated to version 0.1.1.

The point is that i was experimenting problems with firehol firewall wich had UPnP ports enabled but I still wasn’t retriving any answer.

To fix this i had to hack a little on miniupnp library and finished searching when i found the TX_FROM_UPNP_PORT constant wich wasn’t set by default due to compatibility problems with Windows XP. I just made a slight change and converted it in a runtime check instead of a compile time one. This changed the C api of the library for the upnpDiscover function, and added a value to the initialization of the high level interface written to interface with the library which is automatically set to send data from the upnp port.

I have sent the patch to the mainstream developer, but it would require api changes and more modification to make it work correctly on the full fledged library.

With this last fix the rtorrent ruby controller is almost ready, i just have to comment the code and write a post about it

The gem is already available for upgrade on the rubyforge webstite or gem utility.


UPnP Gem!

July 1, 2008

I have just discovered the power of the mkmf package in Ruby.
It simplify the way to build the upnp module a lot!
I just had to move the files to be compiled in a folder (called miniupnpc) and then just call this

require 'mkmf'
create_makefile("MiniUPNP","miniupnpc")

And i’ll have a makefile ready to compile the module, no matter which is you platform! With theis new knowledge and the immense usefulness of the ferret’s Rakefile i’have built and published a ruby gem that will install the UPnP module and the wrapper.

The name is simply mupnp. Installable with the gem utility. For windows the library must be precompiled, so it may not be immidiatly upated or released when needed.

There have been some API changes, to make it more ruby style, anyway it is nothing big, just check at the documentation of the methods and check for differences.
[Only addPortMapping and the initialize method had a change in the order of the arguments]

To install it just do:

gem install mupnp

And it will be downloaded and compiled on your mac/linux box. For windows version i’ll have to find someone to trust that will build it for me.