Fixed compilation without ENABLE_L3F_SERVICE
correct UNSUBSCRIBE processing
changed iptables_removeall.sh and iptables_init.sh in order
to remove IP from the rules
VERSION 1.1 :
Eventing is allmost completly implemented
Correct event handling ?
enabling tag in PF rules. quick can be set off.
implementing event notify
fixing a command line parsing error
optimisations in upnpsoap.c
optimizing upnpsoap.c for size
Worked on the Eventing : generating XML event notifications
Send initial notification after subscribe
Improved pretty print of testupnpdescgen
Reduced Memory usage of upnpdescgen
fixed a small bug in the description
Fixed miniupnpd.c for compiling without natpmp support
fixed presentationURL not there with L3F
fixing lease file creation/modification
Rewrite of Send501() and Send404()
More work on events
genconfig.sh autodetects pf/ipf
Started to implement UPnP Events. do NOT use it at the moment !
Added support for the Layer3Forwarding Service
added init_redirect() and shutdown_redirect() functions
Removed Ext: HTTP header when useless
enabled the dummy service by default to please windows XP !
upnp_enable patch by Nikos Mavrogiannopoulos.
lease_file patch by Nikos Mavrogiannopoulos.
some changes to Makefile.openwrt
use daemon() - daemonize() is still available for systems lacking daemon()
VERSION 1.0 :
moved lan_addr to upnpglobalvars.h/.c
Adding experimental multiple external IP support.
removed dummy service from description to improve compatibility
with emule client
Add "secure mode". put runtime flags in the same variable
Fixed a bug in options.c for the parsing of empty lines.
Adding a queue parameter for setting ALTQ in pf
improving some stuff with the PF_ENABLE_FILTER_RULE.
Adding a runtime option to enable/disable NAT-PMP
Added a cache in linux getifstats(). Please enable by editing config.h
Updating an existing NAT-PMP mapping now works
NAT-PMP code now remove expired mappings
TCP/UDP where swapped in NAT-PMP code
Adding details to the error message for sendto(udp_notify)
pf code doesn't generate filter rules by default anymore. The
#ifdef PF_ENABLE_FILTER_RULES must be uncommented in config.h.
moved some of the prototypes common to all firewalls to commonrdr.h
Added functionalities to NAT-PMP
Debugged NAT-PMP code
Cleaning and improving NAT-PMP code
improved the NAT-PMP experimental support
updated README and INSTALL files
Adding support for NAT-PMP (from apple !)
Checking the commandline for errors.
Improved the BSD/Solaris Makefile
Merging last code from Darren Reed. Solaris/IPF should work now !
added a man page.
Adding Darren Reed code for ipf.
Adding SunOS support thanks to Darren Reed.
Reorganizing os/firewall dependent code thanks to Darren Reed.
linux make install support PREFIX variable
reorganizing LAN sockets/address to improve multi LAN support.
SSDP announces are sent to all configured networks.
SSDP responses are "customized" by subnetwork.
prototype code to remove unused rules
miniupnpdctl now display current rules
synchronised add_filter_rule2() prototype between pf and netfilter code.
Correctly filling the Cache-control header in SSDP packets
update PFRULE_INOUT_COUNTS detection for FreeBSD
update version in genconfig.sh
do not error when a duplicate redirection is requested.
really fixed the compilation bug with linux>=2.6.22
fixed an error in options.c that prevented to use packet_log option
fixed a compilation bug with linux>=2.6.22
added PFRULE_INOUT_COUNTS macro to enable separate in/out packet and
bytes counts in pf for OpenBSD >= 3.8
removed a possible racecondition in writepidfile()
improved genconfig.sh : no more "echo -e", use lsb_release when available
get_redirect_rule*() functions now return some statistics about
rule usage (bytes and packets)
Fixed the get_redirect_desc() in the linux/netfilter code
Clean up init code in miniupnpd.c
Added a syslog message in SoapError()
Now store redirection descriptions in the linux/netfilter code
Answers to SSDP M-SEARCH requests with ST: ssdp:all
added make install to Makefile.linux
Fixed a bug int the DeletePortMapping linux/netfilter implementation
It was allways the 1st rule that was deleted.
added something in the INSTALL file about the FreeBSD send(udp_notify)
problem fix (allowing 188.8.131.52/8 explicitely in pf.conf)
added setsockopt(s, SOL_SOCKET, SO_BROADCAST ...) for broadcasting
Fixed filter rule under linux : it was using wrong port !
thanks to Wesley W. Terpstra
Moved some of the SSDP code from miniupnpd.c to minissdp.c
use LOG_MINIUPNPD macro for openlog()
Added stuff to change the pf rule "rdr" to "rdr pass"
Corrected Bytes per seconds to bits per second.
Ryan cleaned up comments and typos.
Ryan cleaned up daemonize stuff.
Ryan added possibility to configure model number and serial number
ryan improved the robustness of most UPnP Soap methods
I added a target in the Makefiles to properly generate an uuid using
command line tools.
Improved configuration file parsing.
Adding uuid option in miniupnpd.conf
Added upnppermissions stuff : adding some security to UPnP !
fixed XML description thanks to Ryan Wagoner
improved QueryStateVariable thanks to Ryan Wagoner
use getifaddr() for each GetExtenalIPAddress() Call.
We can change the ip during execution without pb
Lots of code cleanup
Fixed a nasty bug in the linux/netfilter version of get_filter_rule()
Improved the handling of the miniupnpd.conf file.
added -f option to choose which config file to read.
Fixed potential bugs with ClearNameValueList()
All by Ryan Wagoner :
- coding style and comments cleanup
- using now option file miniupnpd.conf
changed "xx active incoming HTTP connections" msg
Patch from Ryan Wagoner :
- no need to open sockets if we can't set the error handlers
- format the usage so it fits nicely on a standard size terminal
- fix up log_err message so they have the same format and you know what
they are related to
- use same "white space" style throughout
- on shutdown no need to continue if opening socket or setsockopt fails
reduce amount of log lines (keeping the same information)
fixed typos in logs
version 1.0-RC1 released
moved strings from upnpdescgen.c to upnpdescstrings.h for
Server: HTTP header now comes from a #define
added a compilation-time generated config.h
minixml updated. should have no impact
Added support for presentationURL with -w switch
implemented getifstats() for linux. Added testgetifstats program
improved error handling in getifstats() BSD
no need to have miniupnpc sources to compile miniupnpd.
Closing sockets on exit thanks to Ryan Wagoner
now handling signal SIGINT
setting HTTP socket with REUSEADDR thanks to Ryan Wagoner
daemon now tested on a Linksys WRT54G device running OpenWRT !
disabling rtableid in pf code.
Also responds on M-SEARCH with the uuid
gaining some space in upnpsoap.c
Cleaning up code to comply with ANSI C89
Linux version now deleting both nat and accept rules
implemented -U option under Linux
implemented delete_redirect_rule() for linux
returning error 714 in DeletePortMapping() when needed
The linux/netfilter version should now WORK !
fix in the writepidfile() function. open with a mode !
fixing the XML description generation for big endian machines
working on the linux/netfilter port
improved a lot the handling of HTTP error cases
Tried to make the Makefile compatible with both BSDmake
and GNUmake. It was hard because of $^ and $<
Makefile compatible with BSD make
make install target.
getifstats.c compatible with both OpenBSD and FreeBSD.
added getifstats.c for openBSD. May not work under FreeBSD ?
now reports bytes/packets sent/received
possibility to report system uptime
added a -L option to enable loggin (is off by default now).
Patch by Ryan Wagoner to correct the XML description (was NewUpTime
instead of NewUptime) and implement uptime.
Trying to fix the memory leak. Added some comments
added a -d option for debugging purpose
Tnaks to valgrind (under linux!) I removed a small memory access error.
Thanks to a patch sent by Michael van Tellingen, miniupnpd is
now ignoring NOTIFY packets sent by other devices and is
writing is own pid to /var/run/miniupnpd.pid
Allways set sendEvents="no" in XML description (was causing
pb with winXP as SUBSCRIBE is not implemented)
added translation from hostname to IP in the AddPortMapping() method
Thanks to Ryan Wagoner.
Added an INSTALL file
Added the possibility to change the notify interval
Improved compliance of the XML Descriptions
pretty print for testupnpdescgen
improved the Error 404 response.
Better serviceType and serviceId for dummy service...
updating the XML description generator
Thanks to Rick Richard, support for SSDP "alive" and "byebye" notifications
was added. The -u options was also added. The SSDP response are now
The -o option is now working (to force a specific external IP address).
The Soap Methods errors are correctly responded (401 Invalid Action)
Added code to handle filter rules. Thanks to Seth Mos (pfsense.com)
storing the descriptions in the label of the rule
improved the generation of the XML descriptions.
I still need to add allowed values to variables.
filtering SSDP requests and responding with same ST: field
Added a dummy description for the WANDevice
Command line arguments processing
Added possibility to listen internally on several interfaces