Hi all, Christophe Giuraud and I have been working on implementing UPnP BasicManagement service for rygel and would like to get comments on it and hopefully get the code integrated into Rygel.
* Background BasicManagement:2 service [1] contains a bunch of tools to indicate overall device status, perform maintenance functions (e.g. reboot) and to run some diagnostic tools (e.g. Ping). Typically this service would be running on the same device as a renderer. There is ongoing work at DLNA in this area but unfortunately that is not public yet. I will post again with more info when that changes. * Status We have working code for Ping and NSLookup and the infrastructure needed to start these tasks, query their state, and query the results. The plan is to implement Traceroute next and leave the rest for later. The feature is currently implemented in rygel-core and then used in rygel-renderer (much like ConnectionManager), but we're naturally open to suggestions on the design. We've been working in github so far but I've just pushed a "wip/basic-management" branch [2] to rygel git (based on a chat with Jens last week) and plan to continue there until it hopefully is good enough for master. * Open issues / To-do list - How to enable/disable the feature: We're thinking this should be disabled by default as it's not very useful until it gets used in DLNA environments, and because adding UPnP APIs invariably makes the 'attack surface' bigger. A setting to enable it for the renderer in the config file perhaps? - See if replacing system calls with own code is worth it: currently we just call e.g. system "ping" and expect it to support the options we use and have the output we can parse. The problem with doing ping and traceroute in code is not only the complexity but also that they require CAP_NET_RAW capability (or suid) for the binary. - Make sure the system calls we do work at least on busybox - Implement Traceroute - Add tests That's it. Comments on design and/or bug reports are welcome. - Jussi [1] http://upnp.org/specs/dm/UPnP-dm-BasicManagement-v2-Service.pdf [2] https://git.gnome.org/browse/rygel/?h=wip%2Fbasic-management _______________________________________________ rygel-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/rygel-list
