summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* linux: Fix possible double-close on exitBastien Nocera2018-06-191-2/+3
| | | | | | | | | Fix double-close on exit. If we created a GIOChannel from the file descriptor, then g_io_channel_shutdown() will close that file descriptor as well. Close the channel first, so that the file descriptor is only closed manually if we didn't manage to create a GIOChannel from it. https://gitlab.freedesktop.org/upower/upower/issues/60
* Merge branch 'wip/hadess/add-ci' into 'master'Bastien Nocera2018-06-191-0/+19
|\ | | | | | | | | build: Add CI See merge request upower/upower!9
| * build: Add CIBastien Nocera2018-06-191-0/+19
|/
* linux: Clean up after running test suite in "distcheck"Bastien Nocera2018-06-181-0/+6
| | | | | | Don't leave the history files installed when running "make uninstall". Those files will likely have been created by the test suite when running "make distcheck"
* linux: Remove extra linefeedBastien Nocera2018-06-181-1/+0
|
* linux: Better error reporting from sysfs_get_double_with_error()Bastien Nocera2018-06-183-10/+19
| | | | | | sysfs_get_double_with_error() used to return -1.0 for errors, but in some cases, we might want -1.0 to be a valid value, such as for negative discharge rates. Return FALSE on error instead.
* Add COMMITMENT file as part of GPL Common Cure Rights CommitmentRichard Hughes2018-06-181-0/+45
| | | | | | | | | | This is part of more broader commitment Red Hat along with IBM, Google, and Facebook made in November 2017. More on this can be found online: https://www.redhat.com/en/blog/fostering-greater-open-source-development & https://www.redhat.com/en/about/gplv3-enforcement-statement
* Merge branch 'get-devices-unref' into 'master'Richard Hughes2018-06-053-5/+27
|\ | | | | | | | | lib: Add a new version of up_client_get_devices which unrefs contents See merge request upower/upower!1
| * lib: Add a new version of up_client_get_devices which unrefs contentsRobert Ancell2018-05-313-5/+27
|/ | | | | | The existing function didn't set the free function on the GPtrArray. This means a libupower user can easily make a mistake in the reference counting of the array contents.
* lib: Mention that battery level is preferred when present14-lib-add-a-new-version-of-up_client_get_devices-which-unrefs-contentsBastien Nocera2018-04-191-6/+16
| | | | | | And print "should be ignored" next to the percentage. https://bugs.freedesktop.org/show_bug.cgi?id=97484
* linux: Add a test for Logitech HID++ charging statesBastien Nocera2018-04-191-0/+18
| | | | | | | | The current power_supply support in the kernel will advertise an unknown capacity when a device is being charged. This tests this state as well as the expected behaviour when the device is fully charged. https://bugs.freedesktop.org/show_bug.cgi?id=97484
* daemon: Add battery-level specific iconsBastien Nocera2018-04-191-11/+35
| | | | | | | Rather than relying on the percentage equivalence, which just doesn't work for "Unknown" battery levels. https://bugs.freedesktop.org/show_bug.cgi?id=97484
* linux: Add support for "Unknown" capacity levelBastien Nocera2018-04-191-1/+2
| | | | | | | | | | Rather than leaving the percentage untouched, set the battery level at 50.0 as a "middle-ground". This percentage is supposed to be ignored if a BatteryLevel is set so this is better than showing "0%" which makes it look like a bug. https://bugs.freedesktop.org/show_bug.cgi?id=97484
* linux: Add a README with a couple of debugging commandsBastien Nocera2018-04-181-0/+8
|
* lib: Simplify resource destructionBastien Nocera2018-04-183-15/+7
| | | | Use g_clear_pointer() and g_clear_object() when possible.
* daemon: Lock down systemd service fileBastien Nocera2018-04-162-1/+24
| | | | | | | Use systemd's service file to lockdown the UPower daemon to stop eventual security problems. https://bugs.freedesktop.org/show_bug.cgi?id=102898
* linux: lower severity of "unhandled action" messagesDmitry Torokhov2018-04-121-1/+1
| | | | | | | | Newer kernels emit bind/unbind uevents that are not of interest to powerd. To avoid littering logs with scary messages, let's lower their severity to "debug". https://bugs.freedesktop.org/show_bug.cgi?id=106018
* linux: Fix memory leak if logind returns an errorBastien Nocera2018-04-121-0/+1
|
* linux: Fix crash if logind doesn't return an errorBastien Nocera2018-04-121-1/+2
| | | | For example, when using an incomplete mock logind.
* linux: Check "HasBattery" key for newer iOS versionsMartin Szulecki2018-03-201-1/+10
| | | | | | | | | This adds an extra check to query if the iOS device has a battery at all before actually trying to retrieve the battery status. Should still work for older iOS versions which do not provide this key. https://bugzilla.freedesktop.org/show_bug.cgi?id=105625
* linux: Prevent crash after attaching an Apple TVMartin Szulecki2018-03-201-0/+4
| | | | | | | | As Apple TVs do not have a battery and do not provide the "BatteryIsCharging" lockdown key, upower would crash due to a missing check whether the retrieved node is actually valid. https://bugzilla.freedesktop.org/show_bug.cgi?id=105625
* lib: Fix warnings when D-Bus related properties changeBastien Nocera2018-03-022-1/+13
| | | | | | | | | | | | | | | When UPower would appear, or disappear, we'd get warnings like: g_object_notify: object class 'UpDevice' has no property named 'g-name-owner' or: g_object_notify: object class 'UpClient' has no property named 'g-name-owner' This was caused by the property proxying added in 7531dbd and 28438a7 being too lax about which properties it tried to proxy, which included ones that didn't apply to the object types in question. See https://bugs.freedesktop.org/show_bug.cgi?id=43001 https://bugs.freedesktop.org/show_bug.cgi?id=102350
* trivial: post release version bumpRichard Hughes2017-11-282-5/+5
|
* Released UPower 0.99.7UPOWER_0_99_7Richard Hughes2017-11-282-1/+13
|
* linux: Add test for Bluetooth LE battery supportBastien Nocera2017-11-021-0/+70
| | | | https://bugs.freedesktop.org/show_bug.cgi?id=92370
* linux: Add support for Bluetooth LE device batteriesBastien Nocera2017-11-025-4/+462
| | | | | | | | | | | | As exported through BlueZ's org.bluez.Battery1 D-Bus interface. This interface is only used for device where the battery information cannot be processed in the kernel. This is the first UpDevice type that doesn't use UdevDevice for the Linux backend, and it is also the first that does not poll() status at all. https://bugs.freedesktop.org/show_bug.cgi?id=92370
* docs: Better documentation for the BatteryLevel propBastien Nocera2017-10-312-3/+16
| | | | https://bugs.freedesktop.org/show_bug.cgi?id=103361
* main: Use g_clear_object() when possibleBastien Nocera2017-10-311-8/+3
| | | | | | Rather than using != NULL, followed by unref(). https://bugs.freedesktop.org/show_bug.cgi?id=103380
* linux: Use g_clear_object() when possibleBastien Nocera2017-10-313-44/+19
| | | | | | Rather than using != NULL, followed by unref(). https://bugs.freedesktop.org/show_bug.cgi?id=103380
* linux: Add example to run a single testBastien Nocera2017-10-311-1/+3
| | | | https://bugs.freedesktop.org/show_bug.cgi?id=103380
* linux: Remove empty API docsBastien Nocera2017-10-311-25/+0
| | | | | | | Those "API documentation" don't document the function below it, they just name it, so aren't needed. https://bugs.freedesktop.org/show_bug.cgi?id=103380
* daemon: allow to be replaced via --replace,-rChristian Kellner2017-10-311-1/+8
| | | | https://bugs.freedesktop.org/show_bug.cgi?id=99906
* linux: Fix compilation with libimobiledevice gitBastien Nocera2017-09-211-2/+4
| | | | | | Since libimobiledevice 5a8449a, LOCKDOWN_E_NOT_ENOUGH_DATA was renamed to LOCKDOWN_E_RECEIVE_TIMEOUT. We'll use "-7" to avoid having to use build glue.
* daemon: Fix critical action after resume from hibernateMiroslav Sustek2017-09-212-1/+65
| | | | | | | | | | The take_action_timeout_cb() function returns G_SOURCE_REMOVE which makes GLib destroy the timeout. However the action_timeout_id stayed != 0 so when warning level turned to "action" again the daemon assumed that the timeout is already set and did nothing. (It only logged: "Not taking action, timeout id already set") https://bugs.freedesktop.org/show_bug.cgi?id=87791
* trivial: post release version bumpRichard Hughes2017-09-112-5/+5
|
* Released UPower 0.99.6UPOWER_0_99_6Richard Hughes2017-09-111-0/+14
|
* Revert bug 99862 patchsetBastien Nocera2017-09-081-42/+32
| | | | The patchset was pushed by mistake and is still being reviewed.
* openbsd: Remove SENSOR_MAX_TYPES upper boundJasper Lievisse Adriaanse2017-09-081-1/+1
| | | | | | | | | Remove pointless upperbound, SENSOR_MAX_TYPES has no meaning here and we break from the loop anyway when needed (i.e. when ENOENT is returned). This aligns the code with other sensor device walkers in OpenBSD. https://bugs.freedesktop.org/show_bug.cgi?id=95257
* daemon: more efficient poll resettingChristian Kellner2017-09-081-2/+2
| | | | | | | | If the poll timeout is actually changed because the warning level has changed, only reset the actual poll code, not the warning level notifications and the booking structures. https://bugs.freedesktop.org/show_bug.cgi?id=99862
* daemon: move two functions upChristian Kellner2017-09-081-32/+27
| | | | | | No semantic change. https://bugs.freedesktop.org/show_bug.cgi?id=99862
* daemon: only reset poll if warning-level changedChristian Kellner2017-09-081-2/+17
| | | | | | | | | | | When a device is refreshed because the poll timeout has been reached, the warning-level change notification can also be fired, which then will reset (i.e. disable, re-enable) polling. For batteries this can happen three times in a row. Now we reset polling only if the calculated timeout actually differs from the current one. https://bugs.freedesktop.org/show_bug.cgi?id=99862
* linux: Add test for crash when battery has funky nameBastien Nocera2017-09-081-0/+16
| | | | https://bugs.freedesktop.org/show_bug.cgi?id=93095
* daemon: Fix crash when '@' is present in the device nameoleid@mescharet.de2017-09-081-0/+2
| | | | | | GDBus doesn't like '@' in the object path, so escape it. https://bugs.freedesktop.org/show_bug.cgi?id=93095
* daemon: Remove [Install] section commentBastien Nocera2017-09-081-4/+0
| | | | https://bugs.freedesktop.org/show_bug.cgi?id=92487
* HACKING: Mention "make check" in the fileBastien Nocera2017-09-081-0/+6
| | | | https://bugs.freedesktop.org/show_bug.cgi?id=101923
* linux: Add better debug to sysfs_get_capacity_level()Bastien Nocera2017-09-081-1/+13
| | | | | Remove the trailing linefeed from the sysfs attribute to be able to print it, and simplify the loop by the same token.
* linux: Don't throw an error if there's no data to readBastien Nocera2017-09-081-33/+19
| | | | | | The initial "refresh" for devices would fail if there was no data to read. Instead, we should set the level to unknown, so that the device appears in the Power panel, and in the "upower -d" output.
* freebsd: Fix lid detection on FreeBSDAlberto Villa2017-09-081-1/+1
| | | | | | | | | | | | | UPower sets property LidIsPresent to true only if hw.acpi.lid_switch_state is different from "NONE", "NONE" being the default value for FreeBSD. Thus, the property is always false on default configurations. Force UPower not to care about the value of the sysctl, making it check only for its existence. See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=175531 https://bugs.freedesktop.org/show_bug.cgi?id=101828
* lib: Fix API docs for *-level propertiesBastien Nocera2017-09-081-2/+2
| | | | | One was referencing a non-existent enum member, the other was missing a link altogether.
* linux: Grab model name from device if unavailable from batteryBastien Nocera2017-09-042-1/+20
| | | | | | | | | | | | The "model_name" and "serial_number" information that upower exports for batteries that supply a laptop or UPS are supposed to be that of the battery. But that's very unlikely to happen for devices, such as wireless mice, keyboards or joysticks. Look for a sibling input device if a device battery does not contain model information so as to avoid generic names in UIs. https://bugs.freedesktop.org/show_bug.cgi?id=102493