Things on the table to do:
-- Define a coding convention and reformat all sources
-- Auto generate UUIDs on first execution (as per upnp recommendation)
-- Add command line options to the program to run as a daemon, change directory info, have it give better feedback to stdout, etc.
and basically make it run like a real program. Haha.
-- Clean up the control branches and the code to make it a little more readable and followable
(you can never have too clean of code).
-- Modularize some of the low level stuff like the firewall code interface, etc., to allow
people to have different firewall software packages, etc. This is one of the main goals,
allowing people to use this software with different types of programs.
-- Figure out at least some sort of rudimentary way to implement security.
-- Implement some more of the UPnP IGD specs, such as DHCP hooks to the program to give clients an IP address, etc.
-- Fix the "issues" with two UPnP aware messenger clients communicating with each other from behind the same
NAT box. Some features work, but others, such as "Ask For Remote Assistance" do not.
-- Make the daemon work properly with a default FORWARD policy of DENY.
-- Add more stuff to the to do list!!!