- Jun 29, 2016
-
-
Philip Withnall authored
• Replace UNRELEASED with 0.4.0 in documentation • Update symbols files to include all 0.4.0 symbols • Bump library SONAME, rename packages accordingly • Update NEWS Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3534
-
Philip Withnall authored
This one will accumulate forever, so is fairly important to fix. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3532
-
- Jun 28, 2016
-
-
Philip Withnall authored
Also fix the return type on one of the error paths to return a NULL pointer instead of FALSE. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3521
-
Philip Withnall authored
Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3520
-
Philip Withnall authored
Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3519
-
Philip Withnall authored
They all need to be cleared before the GArray memory block itself can be freed. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3518
-
Philip Withnall authored
Otherwise there is no way to free the memory inside an RsdAttribute which is on the stack. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3517
-
Philip Withnall authored
Document that clients can expect to receive notifications about some attributes which they have not subscribed to, if it is more efficient for the server to emit those alongside attributes the client //has// subscribed to. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3500
-
Philip Withnall authored
The code which references it is in libcroesor. For comparison, the example .rules files remain in the daemon directory, as the policies they implement are relevant only to the daemon’s use of our polkit actions. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3515
-
Philip Withnall authored
One of the test vectors below the comment tests timestamps. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3514
-
Philip Withnall authored
Eliminate a TODO. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3513
-
Philip Withnall authored
It doesn’t exist any more, and hence can’t be packaged. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3512
-
Philip Withnall authored
Add documentation on the details which may be passed to them. There are definitely improvements which could be made to the set of polkit actions, and what they actually mean — but that’s under the scope of T1732. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3511
-
Philip Withnall authored
Validate zone paths and attribute names. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3510
-
Philip Withnall authored
Make it a little clearer that they are logically two parts of the same operation; an idempotent and a non-idempotent part. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3516
-
Philip Withnall authored
It does not make sense for a wildcard subscription to restrict its signal emissions by period — a period criterion can only apply to a single attribute, otherwise we can end up with pathological cases where one attribute is emitted often enough to cause rate limiting; and all other attributes are emitted rarely enough to be accidentally dropped on one of the attribute emissions which is rate limited. RsdSubscription is not set up to allow the emission rates for each attribute to be tracked individually, which is what’s needed to implement period criteria for wildcard attributes properly. Instead, acknowledge that if the client has chosen to use a wildcard, they aren’t particularly fussy about what attributes they receive, and just give them everything, with no period limiting. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3509
-
Philip Withnall authored
Test that the new utility functions in libcroesor work correctly; and add an integration test for end-to-end unicast signalling. Note that this requires the teardown check in integration.py to be removed as it was failing. I have not investigated this yet; disabling it for now is fairly harmless, but in the long run it should be investigated to see whether it’s possible to describe the system’s behaviour down to individual main context iterations, or whether that’s not worth pursuing. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3507
-
Philip Withnall authored
Instead of broadcast signals. This should reduce wakeups for clients when attributes they have not subscribed to change value. It should not increase context switching overhead as the unicast signals should end up being batched in the D-Bus daemon’s buffer for the connection with the Rhosydd daemon. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3506
-
Philip Withnall authored
It needs to do this to start and stop various Rhosydd services. We allow systemctl to run unconfined because it has no profile, and adding all the profile rules for the various things it does would bloat the integration.py profile. It’s only an integration test. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3505
-
Philip Withnall authored
Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3504
-
Philip Withnall authored
Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3503
-
Philip Withnall authored
While this was a nice optimisation, we can’t assume that the elements in the GPtrArray we receive have actually got an additional reference — the GPtrArray may have been created with no destroy function. So we must add references ourselves. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3502
-
Philip Withnall authored
Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3501
-
Philip Withnall authored
Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3491
-
Philip Withnall authored
It was never set anywhere. I think it’s a remnant from gnome-common. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3420
-
Philip Withnall authored
These unit tests are not comprehensive, but cover the important new functionality for adjusting attributes’ last-updated times in order to coalesce clock domains from all the source vehicles into a single aggregate vehicle. A few other basic tests are also included. These tests are installed as installed-tests, using a statically-linked copy of libdaemon.la which should be identical to the code in the daemon executable itself. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3419
-
Philip Withnall authored
This allows its clock domain to be controlled (rather than being hard-coded to g_get_monotonic_time()). This will be useful for unit testing, and is not expected to be used in production code. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3418
-
Philip Withnall authored
If get_zones() is called before the cache has been populated, it will not return any zones. Fix that by querying the source vehicles for their zones. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3417
-
Philip Withnall authored
Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3416
-
Philip Withnall authored
This will be useful for some new unit tests for VddAggregateVehicle, to be added in a later commit. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3415
-
Philip Withnall authored
Called libdaemon, this will allow unit tests to easily be added for the daemon code. It will not be installed. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3414
-
Philip Withnall authored
This will be used in a following commit. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3413
-
Philip Withnall authored
This will be used in a following commit. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3412
-
Philip Withnall authored
This moves them to the same part of the file as the rest of the RsdVehicle method implementations. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3411
-
Philip Withnall authored
Track the validity of the values and structure of the cache in VddAggregateVehicle separately. This is because get_zones() needs to ensure the cache structure is up to date, even if it can ignore the validity of values in the cache. This will be fixed in a following commit. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3410
-
Philip Withnall authored
This should not not result in any behavioural change. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3409
-
Philip Withnall authored
Merge the logging headers from the various parts of the codebase into a single header in libinternal. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3408
-
Philip Withnall authored
Each vehicle has its own clock domain, which all timestamps for attributes from that vehicle are relative to. This means that the timestamps for two attributes from a given vehicle can be compared to see which was updated more recently (and how much more recently, in microseconds). However, there was previously no way to compare timestamps between vehicles, or to compare the timestamp for a given attribute to the current time. Given that the clock domain for a vehicle could differ arbitrarily from the system clock domain (g_get_monotonic_time()), this meant that clients could never work out how long ago (in system clock terms) an attribute was modified. Fix that by exposing the current time in the vehicle’s clock domain with the return value from each RsdVehicle getter which returns a property or property metadata. This allows each attribute in those results to be compared to the clock at the time of returning the results, to find out how old that attribute value is, in microseconds. This patch deliberately does not expose the current value of each vehicle’s clock domain as a value by itself (for example, as a get_current_time() method) as that would both tempt clients to poll it, and would introduce unavoidable race conditions between getting the current time and getting a set of attributes. This breaks a lot of API. The implementation in VddAggregateVehicle is worth paying attention to when reviewing, as it needs to aggregate attributes from multiple vehicles into a single aggregate vehicle. That means adjusting their last-updated times to be in a single aggregate clock domain. This is done by defining the aggregate clock domain to be g_get_monotonic_time() and tracking the difference between that and each of the source vehicles’ clocks with each value returned from those source vehicles. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3407
-
Philip Withnall authored
libinternal is for use by all the code in Rhosydd, and will not be installed. To begin with, it contains a closure for binding timestamps to arbitrary pointers, which will be used in a following commit for tracking the clocks in different vehicles. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3406
-
- Jun 24, 2016
-
-
Philip Withnall authored
Since the polkit authorisation checks have moved entirely into the daemon, the backends no longer need to talk to polkit, so remove rules allowing that from their AppArmor profiles. Also remove the backend user as an owner of the polkit rules, so polkit itself will deny the backends permission to check for authorisation using them. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3201
-