gaim developers,

     I am new to Open Source development, but have started developing some code that is trying to solve the direct-connect and file-transfer problem that I have when using gaim from behind a NAT.  The basics for the infrastructure is there now, and a very simple test has been successful.  I have been able to open up port 22 (ssh) from the world and can log into my local machine!  By changing 4 variables in main(), it should be very easy to test your NAT as well!  I am using a D-Link NAT, but it would be good to receive some response output from other NAT devices as well, especially those that do not work with this program in it's current state!  String handling is a mess right now, and there are quite a few areas where this code can be improved.  Are there specific ways that glib/gaim manipulate strings?  My static strings are a huge security problem, but, if there are better ways to do this, I will be able to fix it!  Suggestions and comments are welcome!

       The program is currently stand-alone.  There have been some suggestions on #gaim that I look for a good way to integrate this into the main gaim tree, and not as a plugin.  Nevertheless I am only now getting a feel for how gaim is put together.  I wanted to get a feel for if this is wanted, and if so, where is should belong!

For quick viewing:
http://www.geocities.com/moonunittt/code/upnp-test/upnp-test.c

For downloading:
http://www.geocities.com/moonunittt/code/upnp-test/upnp-test.tar.gz

Thanks,
Trevor