with the upcoming update on Network Filtering settings, some changes
will be introduce to settings management.
First, we will add the support of the Set() methode for the
'org.freedesktop.DBus.Properties' interface to manage properties of
'com.intel.dLeynaServer.Manager' and 'com.intel.dLeynaRenderer.Manager'
interfaces. These properties are 'WhiteListEnable' and 'WhiteListEntries'.
These properties are read from the configuration files
(dleyna-server-service.conf & dleyna-renderer-service.conf) when the
server is started.
The Set() method will also save the new values in these files.
As a side effect, we will remove all WhiteList methods in Manager
interface, as they will become obsolete (We can do the same with Get() &
*** What's the current implementation ***
When launched, the server will try to copy the configuration file (from
default location when the package has been installed, default is /etc)
to a local configuration folder (defined by a XDG_ glib macro, by
If the copy succeed, the 'local' file is opened and monitored (any
change to the settings file trigger a reload of the settings).
The 'system' file was never monitored.
*** The new implementation ***
The server will still try to copy the configuration file.
That is succeed or not, the configuration file will be monitored: the
'system' or 'local' one.
That mean if it's not possible to create a local copy for any reasons,
but that we still have the right to modify the 'system' configuration
file, we will be able to reload the settings if they are updated (using
the Set() API or by editing the file with an external application)
When Set() is called, and the save in the configuration file failed, an
error is returned and the settings is not applied in memory.
Open Source Technology Center
Running dleyna-renderer-0.1.3's dleyna-renderer-service gets a segmentation
fault. Tracing back the problem it was found that using
dleyna-connector-dbus-0.2.0 causes the issue. Using
dleyna-connector-dbus-0.1.0 with the same (latest)
dleyna-renderer-0.1.3/core-0.2.0/server-0.1.2 versions the problem is not
Doing a compare, a while statement was introduced which might be the cause.