summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update READMEHEADmasterRobert Dower2021-09-151-0/+11
|
* Merge pull request #161 from jtojnar/gupnp-1.2Rick Bell2019-04-043-8/+6
|\ | | | | | | Port to gupnp-1.2 This has been approved
| * Port to gupnp-1.2Jan Tojnar2019-03-163-8/+6
|/ | | | | | | gupnp_context_get_host_ip has been deprecated for a long time, as the host-ip property moved to gssdp. There is also a ton of new deprecations but I will address that separately.
* [Release] Version 0.6.0v0.6.00.6.0Rick Bell2017-03-041-10/+35
|
* Changed the Copyright to 2017Rick Bell2017-02-2733-33/+33
|
* Merge pull request #159 from DimStar77/includesRick Bell2016-12-221-0/+1
|\ | | | | Include libgupnp/gupnp-context-manager.h
| * Include libgupnp/gupnp-context-manager.hDominique Leuenberger2016-11-141-0/+1
|/ | | | | | As we make use of the type 'GUPnPContextManager' we need to ensure that this is known here. Relying on any other random header to being this in for us is unreliable (and has been seen failing in the wild).
* Merge pull request #158 from 01org/ljsachs-patch-2Rick Bell2016-10-121-3/+3
|\ | | | | fix for issues #154 and #155
| * fix for issues #154 and #155ljsachs-patch-2ljsachs2016-10-111-3/+3
|/
* Merge pull request #157 from 01org/ljsachs-patch-1Rick Bell2016-10-111-2/+2
|\ | | | | fix for issue #156
| * fix for issue #156ljsachs2016-10-111-2/+2
|/
* Merge pull request #151 from debarshiray/masterRick Bell2016-01-042-1/+7
|\ | | | | Fix possible use-after-free on exit
| * Fix possible use-after-free on exitBastien Nocera2015-12-092-1/+7
|/ | | | | | | | | | When the last client of dleyna-server exits, and dleyna-server tries to exit, it might use the "upnp" pointer after it was freed as we receive a signal where the user_data is invalid. Avoid that by zero'ing freed pointers and disconnecting from the signal for which "upnp" is user_data. See https://retrace.fedoraproject.org/faf/reports/855440/
* Merge pull request #149 from puleglot/masterRick Bell2015-08-042-42/+33
|\ | | | | m4: use portable shell
| * [m4] Use AS_VAR_APPEND macro instead of "+="Alexander Tsoy2015-07-021-24/+24
| | | | | | | | | | | | Also get rid of unnecessary subshells. Signed-off-by: Alexander Tsoy <alexander@tsoy.me>
| * [m4] Don't use bash "let" builtinAlexander Tsoy2015-07-021-2/+2
| | | | | | | | Signed-off-by: Alexander Tsoy <alexander@tsoy.me>
| * [m4] Don't use bash arrays in m4 macrosJussi Kukkonen2015-07-021-18/+9
|/ | | | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
* Merge branch 'master' of https://github.com/01org/dleyna-serverLarry Sachs2015-06-092-0/+35
|\
| * Add Artist and AlbumArtURL to MediaContainer2Rick Bell2015-05-082-0/+35
| |
* | ifaddrs.h for Andriod compileLarry Sachs2015-06-092-0/+38
|/
* Added new core.c and core.h to Makefile.am.Rick Bell2015-05-0124-31/+34
| | | | Updated Copyright from 2013 to 2015
* [Props] Fix ChildCount property typeJussi Kukkonen2015-02-241-1/+1
| | | | | | It's a uint32, not a signed int. Fixes #145.
* [Configuration] Post-release version bumpRick Bell2014-12-061-2/+2
|
* [Release] Version 0.5.0v0.5.0Rick Bell2014-12-061-0/+27
|
* [Build] Fix out-of-source-tree buildsJussi Kukkonen2014-07-141-1/+1
| | | | | | | | | | The libdleyna-server include path seems to be entirely wrong: Even with in-tree-builds it wasn't actually useful. Use -I$(top_srcdir) instead so out-of-source-tree builds succeed. Fixes #143. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
* [Autoconf] Sub Makefile: Remove ACLOCAL_AMFLAGSLudovic Ferrandis2014-07-083-7/+1
| | | | | | | | | | | According to Automake.pdf: ACLOCAL_AMFLAGS: This variable is only useful in the top-level ‘Makefile.am’. Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com> Fixes #127. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
* [Autoconf] Add --no-undefined to compiler optionLudovic Ferrandis2014-07-081-0/+1
| | | | | | | | | Update the compiler flags to enable the check of undefined function at link time. It seems the option '-no-undefined' pass in libdleyna_server_1_0_la_LDFLAGS is not enough. Using libtool, this option should be set to the compiler flags. Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
* [upnp] Use "port" setting when creating GUPnPContextManagerJussi Kukkonen2014-07-085-2/+7
| | | | | | Fixes #140. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
* [Deprecated API] Use new API instead of deprecatedLudovic Ferrandis2014-07-081-2/+2
| | | | | | | | Use instead gssdp_client_get_host_ip of gupnp_context_get_host_ip Fix issue #104: <https://github.com/01org/dleyna-server/issues/104> Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
* [Device] Fix wake-on ip address used for broadcastChristophe Guiraud2013-12-121-0/+88
| | | | | | | | | When the wake-on method is UDP broadcast, we now use the broadcast IP address of the active context newtork interface. if the broadcast IP address can't be retrieved, we use the IP address provided in the network interface info. Signed-off-by: Christophe Guiraud <christophe.guiraud@intel.com>
* [Device] Sleeping devices cache cleanupChristophe Guiraud2013-12-126-2/+90
| | | | | | | | | | | | | When a sleeping device is removed from the network we persist it in our memory cache device->sleeping_context to keep possible the call of its wake method. This patch delete a sleeping device persisted in memory cache if after we call its wake method (successfully or not) we have not received any alive sign from the device for a timeout based on the device LPE estimated wake-on delay if it can be retrieved or a default one (30 seconds) if none is provided. Signed-off-by: Christophe Guiraud <christophe.guiraud@intel.com>
* [Device] Improve sleeping context lookupChristophe Guiraud2013-12-121-9/+11
| | | | | | | | - Add missing context Ip address idx initialization. - Use UDP-Broadcast as default wake transport if none is provided in the network interface info data. Signed-off-by: Christophe Guiraud <christophe.guiraud@intel.com>
* [Device] Move the network interface info storageChristophe Guiraud2013-12-122-9/+7
| | | | | | | | | | | The network interface info which is used for the device wake-on is now stored in the dls_device_t structure instead of the dls_device_context_t structure. This makes more sense since we only store the one network interface info element (the best matching) whatever the device context count of a device. Signed-off-by: Christophe Guiraud <christophe.guiraud@intel.com>
* [Device] Improve Network Interface info and device context matchingChristophe Guiraud2013-12-122-68/+95
| | | | | | | | | | | | | | - The matching of the Network Interface information with the device context was previously based on both the IP address and the device UUID. In the case where no matching is found with this method, another try is done by just using the device UUID match. - Optimize the lookup by only adding to the network info list the element matching the device UUID. - The device context Network interface info IP address is used for the wake-on packet sending. - Fix UDP error initialization. Signed-off-by: Christophe Guiraud <christophe.guiraud@intel.com>
* [Device] Retrieve sleeping state via GetInterfaceInfo actionChristophe Guiraud2013-12-125-32/+283
| | | | | | | | | Some devices may continue to send SSDP messages even if they are asleep. Thus we cannot assume that a device is awake just because we can discover it. If a device is dicovered we need to retrieve it's sleeping state via the UPnP GetInterfaceInfo action. Signed-off-by: Christophe Guiraud <christophe.guiraud@intel.com>
* [Device] Add sleeping device memory cacheChristophe Guiraud2013-12-127-34/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | when the last context of a sleeping device is notified as unavailable, instead of having the device and its context deleted, the device is kept alive, the lost server notification is not broadcasted, the device is moved from the "device_udn_map" to a "sleeping device udn" map and the context is stored in a new device structure context field "sleeping_device_context". All pending operations related to the device will also be cancelled. The GetServer() request returns now the devices available in the "sleeping device udn" map in addition to those in the "device udn map". when a get_prop request is done on a device with a sleeping_device_context available this one is used to perform the request. all Dbus requests other than "get_prop" and "wake" invoked on a device with a sleeping_device_context available fail with an error "DLEYNA_ERROR_OPERATION_FAILED". when a new device proxy is notified as available, if it belongs to the "sleeping device udn" map, then it is removed from the "sleeping device udn" map and detroyed, the lost server notification is then broadcasted. The new proxy device is then constructed as usual. Signed-off-by: Christophe Guiraud <christophe.guiraud@intel.com>
* [Device] Add wake packet sending supportChristophe Guiraud2013-12-121-9/+324
| | | | | | | | | | | | | | | - Add the wake method implementation A bytes buffer is computed from the wake on pattern hex string. The buffer is sent according to the device wake transport method. Wake transport methods TCP/UDP unicast and UDP broadcast are supported. If the device is not sleeping, the function returns with no error. The TCP data sending is implemented with GSocketClient. It is done asynchronously and so can be cancelled. UDP data sending uses GSocket. The default wake packet port 9 is used. Signed-off-by: Christophe Guiraud <christophe.guiraud@intel.com>
* [Device] Add Energy Management featuresChristophe Guiraud2013-12-1216-223/+1006
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add a Wake method to DBus MediaDevice interface, this method can be invoked to wake-up a sleeping device by sending the appropriate WOL magic packet. Information to be used for the magic packet formatting will be retrieved from the device context. - Add a DLS_INTERFACE_PROP_SLEEPING boolean property to DBus MediaDevice interface, this property reflects the sleeping state of the MediaServer. The property is not present if the Energy Management service isn't supported by the device embedding the MediaServer. The DLS_INTERFACE_PROP_SLEEPING property is updated based on the EM service NetworkInterfaceInfo evented state variable. The DLS_INTERFACE_PROP_SLEEPING property is set to FALSE by default at the device construction. NetworkInterfaceInfo information are XML encoded, relevant information are parsed with the help of libxml2. dleyna-server has now a direct dependency on libxml2. a new xml-util.c file with its header provides libxml2 helpers. XML extracted information are stored into the matching device context. The matching device context is selected based on the interface ip address and the device uuid. A device is considered as in sleeping state if its network interface is up. - Add a DLS_INTERFACE_PROP_ROOT_UDN string property, if present this property contains the UDN of the root device embedding a MediaServer sub-device. - Update the device contruction to allow the usage of a MediaServer even if it is sub-device, in the same as way if it was the root device from the application layer perpective. We ask now to be notified for all upnp:rootdevice and we filter those who are MediaServer or have a sub device of this type. (recursive lookup in the device child hierarchy if any). Only the first MediaServer device found will be considered. we also retrieve the Energy Management service proxy from the root device if it is available and else we use the first one that we found by doing a recursive lookup in the device child hierarchy. we use it to be notified of its NetworkInterfaceInfo evented state variable changes. - As we have now to handle multiple device proxies (CDS, EMS), we use now a struct dls_service_t to gather cds and ems services related information (GUPnPServiceProxy *proxy, gboolean subscribed, guint timeout_id) in the device context. - Add the Wake Method to the python test application. - Documentation updated. Signed-off-by: Christophe Guiraud <christophe.guiraud@intel.com>
* [Server] cosmeticsChristophe Guiraud2013-12-121-11/+13
| | | | | | - Some identation fixes Signed-off-by: Christophe Guiraud <christophe.guiraud@intel.com>
* [Configuration] Remove libdleyna-server .pc fileLudovic Ferrandis2013-12-124-22/+7
| | | | | | Fix issue #113: <https://github.com/01org/dleyna-server/issues/113> Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
* [Documentation] Fix URL to MediaServer2SpecMartin Flaska2013-12-121-1/+1
| | | | | | This page does not exist yet. Signed-off-by: Martin Flaska <flegy@flegy.sk>
* [test] Save changed ServiceResetToken in configurationJussi Kukkonen2013-12-121-4/+6
| | | | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
* [test] Survive a missing ServiceResetToken in dscJussi Kukkonen2013-12-121-2/+2
| | | | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
* [Tests] Fix a typo in the Upload Sync Controller's error managementRegis Merlino2013-12-121-5/+5
| | | | Signed-off-by: Regis Merlino <regis.merlino@intel.com>
* [Configuration] Post-release version bumpRegis Merlino2013-10-031-1/+1
| | | | Signed-off-by: Regis Merlino <regis.merlino@intel.com>
* [Release] Version 0.4.0v0.4.0Regis Merlino2013-10-032-2/+18
| | | | Signed-off-by: Regis Merlino <regis.merlino@intel.com>
* [Property] Add 'Never Quit' property to ManagerLudovic Ferrandis2013-10-025-3/+50
| | | | | | | It is now possible to manage the 'Never Quit' option via the Set() methode. Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
* [Network Filtering] New API and saveLudovic Ferrandis2013-10-0210-260/+278
| | | | | | | | - Remove all WhiteListxxx API - Add Set() to 'org.freedesktop.DBus.Properties' interface to 'com.intel.dLeynaServer.Manager' root interface Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
* [Error] Get better error message for BrowseObjectsLudovic Ferrandis2013-09-261-1/+6
| | | | | | Fix #123: <https://github.com/01org/dleyna-server/issues/123> Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
* [BrowseObject]: Support Of ChildCount propertyLudovic Ferrandis2013-09-262-21/+195
| | | | | | Fix issue #122: <https://github.com/01org/dleyna-server/issues/122> Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>