Commit Graph

2234 Commits

Author SHA1 Message Date
Thomas Bernard b8d9f66890 miniupnpd.c: 2024 2024-01-15 00:59:33 +01:00
Thomas Bernard 8f53b12f81 upnphttp.c: 2024 2024-01-15 00:54:13 +01:00
Thomas Bernard bfd51459fe pfpinhole.c: 2024 2024-01-15 00:50:55 +01:00
Thomas Bernard b334253fa6
setup*.py: 2024 2024-01-15 00:30:01 +01:00
Thomas Bernard 53d4cdd2da
CACHE-CONTROL: max-age=1800 in M-SEARCH response
to be compliant with UPnP UDA 1.0, 1.1 and 2.0

fixes #698

UDA 1.0 1.2.3 Discovery: Search: Response (p21) :
CACHE-CONTROL
Required. Must have max-age directive that specifies number of seconds
the advertisement is valid. After this duration, control points should
assume the device (or service) is no longer available. Should be greater
than or equal to 1800 seconds (30 minutes), although exceptions are defined
in the text above. Specified by UPnP vendor. Integer.

UDA 1.1 1.3.3 Search response (p34) :
CACHE-CONTROL
REQUIRED. Field value MUST have the max-age directive (“max-age=”) followed
by an integer that specifies the number of seconds the advertisement
is valid. After this duration, control points SHOULD assume the device
(or service) is no longer available; as long as a control point has
received at least one advertisement that is still valid from a root
device, any of its embedded devices or any of its services, then the
control point can assume that all are available. The number of seconds
SHOULD be greater than or equal to 1800 seconds (30 minutes), although
exceptions are defined in the text above. Specified by UPnP vendor.
Other directives MUST NOT be sent and MUST be ignored when received.

UDA 2.0 1.3.3 Search response (p40) :
CACHE-CONTROL
Required. Field value shall have the max-age directive (“max-age=”) followed
by an integer that specifies the number of seconds the advertisement
is valid. After this duration, control points should assume the device
(or service) is no longer available; as long as a control point has
received at least one advertisement that is still valid from a root
device, any of its embedded devices or any of its services, then the
control point can assume that all are available. The number of seconds
should be greater than or equal to 1800 seconds (30 minutes), although
exceptions are defined in the text above. Specified by UPnP vendor.
Other directives shall not be sent and shall be ignored when received.
2024-01-15 00:15:32 +01:00
Thomas BERNARD ac693ff933
Merge pull request #691 from Self-Hosting-Group/upnpc_show_hint_to_use_ipv6_(option_-6)_for_pinhole_commands
upnpc: Show hint to use IPv6 (option -6) for pinhole commands
2024-01-14 23:03:33 +01:00
Thomas Bernard 468b12dd43 Merge remote-tracking branch 'self-hosting-group/miniupnpc_fix_upnp_uda_1.1_content-type_charset_compliance'
see #688
2024-01-14 22:54:39 +01:00
Self-Hosting-Group 30baf316b4
miniupnpd: Fix UPnP UDA 1.1 subscribe timeout compliance
SHOULD be greater than or equal to 1800 seconds (30 minutes).
http://upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v1.1.pdf
4.1.2 p91.

see https://github.com/miniupnp/miniupnp/pull/686
2024-01-14 17:49:50 +01:00
Self-Hosting-Group e165af32ae upnpc: Show hint to use IPv6 (option -6) for pinhole commands
Control points that have not been authenticated and authorized as defined in IGDv2 SHOULD use their IPv6 GUA when calling this action.
http://upnp.org/specs/gw/UPnP-gw-WANIPv6FirewallControl-v1-Service.pdf
2024-01-13 10:10:13 +01:00
Self-Hosting-Group 4fbe3ce431 miniupnpc: Fix UPnP UDA 1.1 content-type charset compliance
and user-agent also in asynchronous sample code. The commits a6aa371166 and b557fdf4db were incomplete.

Field value MUST be "text/xml; charset="utf-8"".
Field value MUST be "text/xml; charset="utf-8"" for description documents.
https://openconnectivity.org/upnp-specs/UPnP-arch-DeviceArchitecture-v1.1.pdf
2024-01-08 20:32:51 +01:00
Thomas Bernard e98515ac5e
miniupnpd.conf: document pcp_allow_thirdparty option
this option was introduced by c801138c63

fixes #679
2024-01-08 00:27:00 +01:00
Thomas Bernard aefebb18cb
miniupnpd.c: fix enforcing min_lifetime minimum of 120secs 2024-01-08 00:24:07 +01:00
Thomas Bernard 93b44ed36d upnpc.c: Usage: / Notes: / Options: 2024-01-08 00:09:32 +01:00
Thomas Bernard ed5b0ad4f3
upnpc.c: reformat usage 2024-01-07 23:56:24 +01:00
Thomas Bernard 78afeed634 upnpc: update printed "banner" 2024-01-07 23:55:30 +01:00
Thomas Bernard e0fd153469
Changelog.txt: Fix for OpenBSD 7.4
see #674 (and #676)
2024-01-07 01:25:57 +01:00
Thomas Bernard 0a8224d2fe Merge branch 'pull-request-674'
see #674
2024-01-07 01:24:05 +01:00
Thomas Bernard 0206bc0051 obsdrdr.c: fixes to 6e8b02b715
two missing `break` statements, a missed goto and a missed return -1
see https://github.com/miniupnp/miniupnp/pull/674#issuecomment-1877957466
2024-01-06 20:12:17 +01:00
Self-Hosting-Group c91689cfcd Use the HTTPS-enabled URL of the project website and a small update to
the Python client library description.
2024-01-04 15:09:42 +01:00
Thomas Bernard c8b2e1a619 add a comment about ignoring 713 SpecifiedArrayIndexInvalid
see #682
2024-01-04 02:56:13 +01:00
Thomas BERNARD c6fc63ead0
Merge pull request #682 from Self-Hosting-Group/upnpc_do_not_show_the_normally_occurring_error_713
upnpc: Do not show the normally occurring error 713
2024-01-04 02:53:55 +01:00
Thomas Bernard 1e608d8fd5
Deny secure mode violation with 606 action not authorized if supported
606 was added in IGDv2.

closes #677
2024-01-04 02:36:38 +01:00
Self-Hosting-Group d995a37598 correct 501, 715 and 716 error descriptions 2024-01-04 02:30:35 +01:00
Thomas Bernard e370f25e91 2024 2024-01-04 02:14:00 +01:00
Thomas Bernard fc9d39b012
Makefile.mingw: listdevices-*.exe => upnp-listdevices-*.exe
Commit ed16f24 was incomplete.

fixes #685
2024-01-04 02:12:48 +01:00
Thomas Bernard f22a96b469 miniupnpd version 2.3.4 2024-01-04 01:54:52 +01:00
Thomas Bernard faad29d730 miniupnpc version 2.2.6 2024-01-04 01:30:01 +01:00
Thomas Bernard 32c0fda01c upnpc.c: 2023 => 2024 2024-01-04 01:23:27 +01:00
Thomas Bernard 3c7b8c0cc3 upnpc.c: improve usage text 2024-01-04 01:19:58 +01:00
Thomas Bernard 7761f03b94
update miniupnpc/Changelog.txt 2024-01-04 01:19:12 +01:00
Thomas Bernard a6aa371166
minisoap.c: Content type with charset=utf-8
UPnP Device Architecture 1.0 (3.2.1 p48)
CONTENT-TYPE
Required. Must be text/xml. Should include character coding used, which must be “utf-8”.

UPnP Device Architecture 1.1 (3.2.1 p75)
CONTENT-TYPE
REQUIRED. Field value MUST be “text/xml; charset="utf-8" ”
2024-01-04 01:13:31 +01:00
Self-Hosting-Group 847380967c upnpc: Do not show the normally occurring error 713
SpecifiedArrayIndexInvalid when listing port mappings with -l.
2024-01-01 21:36:28 +01:00
Thomas Bernard d135bd3f6d
move definition of release_ticket() to rtickets.h 2023-12-30 00:30:06 +01:00
Thomas Bernard 6e8b02b715
obsdrdr.c: replace a few goto by break
see https://github.com/miniupnp/miniupnp/pull/674
2023-12-30 00:23:30 +01:00
Thomas Bernard ee89fb5fa3
obsdrdr.c: check errors of inet_ntop() 2023-12-29 23:59:28 +01:00
Thomas Bernard 5380a08693
upnpsoap.c: fix ExecuteSoapAction
do not use strchr() to locate the " character at the end of the
string.

fixes #675
2023-12-29 18:24:50 +01:00
Thomas Bernard 84cd9e6289
upnpsoap.c: ExecuteSoapAction() use memchr() instead of strchr() 2023-12-29 18:22:38 +01:00
Michael Nickerson b16787cd5f Fix for OpenBSD 7.4
Fixes a change made in OpenBSD 7.4
2023-12-07 19:12:11 -05:00
Thomas BERNARD a5fd382e95
Merge pull request #666 from ben-31/fix_malloc_error
minissdpc.c: fix memory allocation error
2023-11-15 00:22:28 +01:00
Thomas Bernard 096478dce1 fix getifaddr() error case
see #670
2023-11-14 21:15:58 +01:00
Thomas BERNARD fb5c328a5e
Merge pull request #667 from yangfl/master
Quote paths in nft scripts to prevent word splitting.
2023-08-07 00:50:37 +02:00
yangfl 2c0c73a081 Quote paths in nft scripts to prevent word splitting. 2023-08-07 05:30:41 +08:00
Benoit Maricau 9698973600 minissdpc.c: fix memory allocation error
No room allocated for end of strings ("\0")
2023-07-14 14:04:39 +02:00
Thomas Bernard a765292fd7
upnpc.c: Rewrite usage 2023-06-29 11:49:11 +02:00
Thomas Bernard 46bcbff321 Do not advertise DeviceProtection if it is disabled 2023-06-29 11:36:49 +02:00
Thomas Bernard e8f8208e24
miniupnpd: Disable DeviceProtection service by default 2023-06-29 02:08:02 +02:00
Thomas Bernard a1ade4532e
fix get_portmappings_in_range() 2023-06-27 01:50:31 +02:00
Thomas Bernard 1865947a57 fix and complete error messages for errors 7xx 2023-06-27 01:12:36 +02:00
Thomas Bernard ad3a610748 error 709 = NoTrafficReceived 2023-06-27 01:12:20 +02:00
Thomas Bernard 3a6feb49c0
configure: http => https 2023-06-27 01:00:07 +02:00