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
2022-10-22 20:44:00 +02:00
2021-01-07 19:43:54 +01:00
2017-07-05 23:53:58 +02:00
2024-01-04 02:14:00 +01:00
2022-10-11 07:51:44 +02:00
2022-10-16 08:14:06 +02:00

 -= MiniUPnP project =-

Main author : Thomas BERNARD

Web site : http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
Gitlab : https://framagit.org/miniupnp/miniupnp/
GitHub : https://github.com/miniupnp/miniupnp/
Appveyor : https://ci.appveyor.com/project/miniupnp/miniupnp

miniupnpc/ : MiniUPnP client - an UPnP IGD control point
miniupnpd/ : MiniUPnP daemon - an implementation of a UPnP IGD
                               + NAT-PMP / PCP gateway
minissdpd/ : SSDP managing daemon. Designed to work with miniupnpc,
             miniupnpd, ReadyMedia (formerly MiniDLNA), etc.
miniupnpc-async/    : Proof of concept for a UPnP IGD control point using
                      asynchronous (non blocking) sockets.
miniupnpc-libevent/ : UPnP IGD control point using libevent2
                      http://libevent.org/

Thanks to :
    * Ryan Wagoner
    * João Paulo Barraca
    * Craig Kadziolka
    * Seth Mos
    * Rick Richard
    * Michael van Tellingen
    * Julien Wajsberg
    * Jeremy Collake
    * Matthew Sporleder
    * Greg Hazel
    * Rico Huber
    * Jelle Huitema
    * Xavier Martin
    * Thomas Goirand
    * Darren Reed
    * Robbie Hanson
    * Nikos Mavrogiannopoulos
    * Elsö András
    * Justin Maggard
    * David Wu
    * Michael Trebilcock
    * Soren Dreijer
    * Colin McFarlane
    * Daniel Dickinson
    * Guillaume Habault
    * Alexey Osipov
    * Alexey Kuznetsov
    * Chiaki Ishikawa
    * David Kerr
    * Jardel Weyrich
    * Leah X. Schmidt
    * Peter Tatrai
    * Leo Moll
    * Daniel Becker
    * Yonetani Tomokazu
    * Markus Stenberg
    * Tomofumi Hayashi
    * Konstantin Tokarev
    * Mike Tzou
    * Nevo Hed
    * Salva Peiró
    * Stephan Zeisberg
    * Ben Barnea of VDOO
    * Sven Auhagen
    * Paul Chambers
    * Pali Rohár
    * Brian John
Description
Languages
C 94%
Makefile 1.9%
Shell 1.5%
CMake 0.9%
Python 0.7%
Other 1%