Diff for /embedaddon/miniupnpc/README between versions 1.1 and 1.1.1.3

version 1.1, 2012/02/21 23:16:22 version 1.1.1.3, 2023/09/27 11:21:37
Line 1 Line 1
 Project: miniupnp  Project: miniupnp
Project web page: http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/Project web page: http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
 github: https://github.com/miniupnp/miniupnp
 Author: Thomas Bernard  Author: Thomas Bernard
Copyright (c) 2005-2011 Thomas BernardCopyright (c) 2005-2023 Thomas Bernard
 This software is subject to the conditions detailed in the  This software is subject to the conditions detailed in the
 LICENSE file provided within this distribution.  LICENSE file provided within this distribution.
   
 For the comfort of Win32 users, bsdqueue.h is included in the distribution.  
 Its licence is included in the header of the file.  
 bsdqueue.h is a copy of the sys/queue.h of an OpenBSD system.  
   
* miniupnp Client ** miniUPnP Client - miniUPnPc *
   
 To compile, simply run 'gmake' (could be 'make' on your system).  To compile, simply run 'gmake' (could be 'make' on your system).
 Under win32, to compile with MinGW, type "mingw32make.bat".  Under win32, to compile with MinGW, type "mingw32make.bat".
   MS Visual C solution and project files are supplied in the msvc/ subdirectory.
   The miniupnpc library is available as a static library or as a DLL :
   define MINIUPNP_STATICLIB if you want to link against the static library.
   
 The compilation is known to work under linux, FreeBSD,  The compilation is known to work under linux, FreeBSD,
 OpenBSD, MacOS X, AmigaOS and cygwin.  OpenBSD, MacOS X, AmigaOS and cygwin.
 The official AmigaOS4.1 SDK was used for AmigaOS4 and GeekGadgets for AmigaOS3.  The official AmigaOS4.1 SDK was used for AmigaOS4 and GeekGadgets for AmigaOS3.
Line 23  To install the library and headers on the system use : Line 25  To install the library and headers on the system use :
 > make install  > make install
 > exit  > exit
   
alternatively, to install in a specific location, use :alternatively, to install into a specific location, use :
 > INSTALLPREFIX=/usr/local make install  > INSTALLPREFIX=/usr/local make install
   
 upnpc.c is a sample client using the libminiupnpc.  upnpc.c is a sample client using the libminiupnpc.
Line 31  To use the libminiupnpc in your application, link it w Line 33  To use the libminiupnpc in your application, link it w
 libminiupnpc.a (or .so) and use the following functions found in miniupnpc.h,  libminiupnpc.a (or .so) and use the following functions found in miniupnpc.h,
 upnpcommands.h and miniwget.h :  upnpcommands.h and miniwget.h :
 - upnpDiscover()  - upnpDiscover()
   - UPNP_GetValidIGD()
 - miniwget()  - miniwget()
 - parserootdesc()  - parserootdesc()
 - GetUPNPUrls()  - GetUPNPUrls()
Line 41  and -lminiupnpc for the link Line 44  and -lminiupnpc for the link
   
 Discovery process is speeded up when MiniSSDPd is running on the machine.  Discovery process is speeded up when MiniSSDPd is running on the machine.
   
   
 * Python module *  * Python module *
   
you can build a python module with 'make pythonmodule' you can build a python module with 'make pythonmodule'
 and install it with 'make installpythonmodule'.  and install it with 'make installpythonmodule'.
 setup.py (and setupmingw32.py) are included in the distribution.  setup.py (and setupmingw32.py) are included in the distribution.
   
Line 55  If you are using libminiupnpc in your application, ple Line 59  If you are using libminiupnpc in your application, ple
 send me an email !  send me an email !
   
 For any question, you can use the web forum :  For any question, you can use the web forum :
http://miniupnp.tuxfamily.org/forum/https://miniupnp.tuxfamily.org/forum/
   
   Bugs should be reported on GitHub :
   https://github.com/miniupnp/miniupnp/issues
   
   * Linux firewall configuration for UPnP clients *
   
   Due to how UPnP protocol is designed, unicast responses to UPnP multicast client
   requests are not tracked by Linux netfilter. And therefore netfilter executes
   default action for them (which is in most cases DROP response packet).
   
   To workaround this limitation, custom ipset hash table can be used. It is
   supported since Linux kernel >= 2.6.39.
   
   Rules for IPv4:
   $ ipset create upnp hash:ip,port timeout 3
   $ iptables -A OUTPUT -d 239.255.255.250/32 -p udp -m udp --dport 1900 -j SET --add-set upnp src,src --exist
   $ iptables -A INPUT -p udp -m set --match-set upnp dst,dst -j ACCEPT
   $ iptables -A INPUT -d 239.255.255.250/32 -p udp -m udp --dport 1900 -j ACCEPT
   
   Rules for IPv6:
   $ ipset create upnp6 hash:ip,port timeout 3 family inet6
   $ ip6tables -A OUTPUT -d ff02::c/128 -p udp -m udp --dport 1900 -j SET --add-set upnp6 src,src --exist
   $ ip6tables -A OUTPUT -d ff05::c/128 -p udp -m udp --dport 1900 -j SET --add-set upnp6 src,src --exist
   $ ip6tables -A INPUT -p udp -m set --match-set upnp6 dst,dst -j ACCEPT
   $ ip6tables -A INPUT -d ff02::c/128 -p udp -m udp --dport 1900 -j ACCEPT
   $ ip6tables -A INPUT -d ff05::c/128 -p udp -m udp --dport 1900 -j ACCEPT
   
   Detailed description is available on:
   https://serverfault.com/a/911286
   https://unix.stackexchange.com/a/444804

Removed from v.1.1  
changed lines
  Added in v.1.1.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>