summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-04-16core: fix spurious warning about cpuacct-usage-base deserializationZbigniew Jędrzejewski-Szmek
The key was parsed properly, but the warning was still generated.
2015-04-15udev-builtin-usb_id: fix inverted conditionZbigniew Jędrzejewski-Szmek
Fix for 4beac74e69. Thanks, Ronny!
2015-04-14selinux: use different log priorites for log messagesZbigniew Jędrzejewski-Szmek
When selinux calls our callback with a log message, it specifies the type as AVC or INFO/WARNING/ERROR. The question is how to map this to audit types and/or log priorities. SELINUX_AVC maps to AUDIT_USER_AVC reasonably, but for the other messages we have no idea, hence we use AUDIT_USER_AVC for everything. When not using audit logging, we can map those selinux levels to LOG_INFO/WARNING/ERROR etc. Also update comment which was not valid anymore in light of journald sucking in audit logs, and was actually wrong from the beginning — libselinux uses the callback for everything, not just avcs. This stemmed out of https://bugzilla.redhat.com/show_bug.cgi?id=1195330, but does not solve it.
2015-04-14systemctl: avoid bumping NOFILE rlimit unless neededZbigniew Jędrzejewski-Szmek
We actually only use the journal when showing status. Move setrlimit call so it is only called for status. https://bugzilla.redhat.com/show_bug.cgi?id=1184712
2015-04-14sd-device: fix typoZbigniew Jędrzejewski-Szmek
2015-04-14udev-builtin-usb_id: simplificationZbigniew Jędrzejewski-Szmek
2015-04-14test-dhcp6-client: don't unref the event twiceThomas Hindoe Paaboel Andersen
2015-04-14sd-dhcp6-client: unref lease when freeing the clientThomas Hindoe Paaboel Andersen
2015-04-14sd-devcie: fix typoTom Gundersen
2015-04-14sd-device: fix reading of subsystemTom Gundersen
2015-04-14sd-device: allow uevent files to be write-onlyTom Gundersen
2015-04-14udev: downgrade a few warnings to debug messagesLennart Poettering
https://bugs.freedesktop.org/show_bug.cgi?id=89885
2015-04-14input_id: Identify scroll-wheel device on Trust TB7300 tablet as keyboardHans de Goede
The Trust TB7300 (relabelled Waltop?) tablet has a scrollwheel which shows up as a /dev/input/event# node all by itself. Currently input_id does not set any ID_INPUT_FOO attr on this causing it it to not be recognized by Xorg / libinput. This commit fixes this by marking it with ID_INPUT_KEY. Reported-by: Sjoerd Timmer <themba@randomdata.nl>
2015-04-14udev: input_id: Make test_pointer / test_keys return if they've found anythingHans de Goede
Make test_pointer / test_keys return a boolean indicating whether or not they've set any properties on the device.
2015-04-14udev: input_id: whitespace fixesPeter Hutterer
Remove whitespaces before opening parentheses, mostly before test_bit.
2015-04-13test-ipv4ll: clean up the eventThomas Hindoe Paaboel Andersen
shuts up valgrind/sanitizers
2015-04-13tmpfiles: Add +C attrib to the journal files directoriesGoffredo Baroncelli
Add the +C file attribute (NOCOW) to the journal directories, so that the flag is inherited automatically for new journal files created in them. The journal write pattern is problematic on btrfs file systems as it results in badly fragmented files when copy-on-write (COW) is used: the performances decreases substantially over time. To avoid this issue, this tmpfile.d snippet sets the NOCOW attribute to the journal files directories, so newly created journal files inherit the NCOOW attribute that disables copy-on-write. Be aware that the NOCOW file attribute also disables btrfs checksumming for these files, and thus prevents btrfs from rebuilding corrupted files on a RAID filesystem. In a single disk filesystems (or filesystems without redundancy) it is safe to use the NOCOW flags without drawbacks, since the journal files contain their own checksumming.
2015-04-13update TODOLennart Poettering
2015-04-13man: slightly fewer paragraphs can help readabilityLennart Poettering
2015-04-13man: fix examples indentation in tmpfiles.d(5)Lennart Poettering
2015-04-13man: add information about more lines to explanation of argument fieldLennart Poettering
2015-04-13man: document which tmpfiles line types follow symlinksLennart Poettering
Generally, we will not follow symlinks, except for "w". Avoid documentation for now for fifo, device node, directory lines, which currently follow symlinks but better shouldn't.
2015-04-13tmpfiles: don't follow symlinks when adjusting ACLs, fille attributes, ↵Lennart Poettering
access modes or ownership
2015-04-13hwdb: Fix wireless switch on Dell LatitudeMartin Pitt
It does not generate a release event. https://launchpad.net/bugs/1441849
2015-04-12journal-gatewayd: use (void) to silence coverityZbigniew Jędrzejewski-Szmek
CID #996297.
2015-04-12journal: use (void) to silence coverityZbigniew Jędrzejewski-Szmek
This shouldn't really fail and anyway not much we can do about it. CID #996292, #996294, #996295.
2015-04-12pam_system: use (void) to silence coverityZbigniew Jędrzejewski-Szmek
CID #996284.
2015-04-12man: add link to glib in sd_event_run(3)Zbigniew Jędrzejewski-Szmek
2015-04-12po: update Polish translationPiotr Drąg
https://bugs.freedesktop.org/show_bug.cgi?id=89989
2015-04-12sysv-generator: free memory allocated for service stubsZbigniew Jędrzejewski-Szmek
2015-04-12shared/hashmap: normalize whitespaceZbigniew Jędrzejewski-Szmek
2015-04-12sysv-generator: always log on oomZbigniew Jędrzejewski-Szmek
This code appears to follow the following convention: - all errors are logged at point of origin - oom errors abort execution, non-oom errors are logged but execution continues. Make sure all ooms result in a log message, and remove warning which could not be reached. Downgrade non-fatal errors to warnings.
2015-04-12sysv-generator: split out two nested blocks into functionsZbigniew Jędrzejewski-Szmek
No functional change intended. Just splitting this out to make it easier to edit in the future.
2015-04-12dhcp: yes, infiniband has the larger MAC address length, but let the ↵Lennart Poettering
compuler figure that out...
2015-04-12efi-boot-generator: need need to proceed if /boot is already a mount pointLennart Poettering
2015-04-12gpt-generator: Find device on a stateless systemTobias Hunger
A stateless system has a tmpfs as root file system. That obviously does not have any block device associated with it. So try falling back to the device of the /usr filesystem if the root filesystem fails.
2015-04-12python-systemd: fix is_socket_inet to cope with portsSimon Farnsworth
Just a couple of trivial oversights.
2015-04-12efi-boot-generator: Continue if /boot does not existTobias Hunger
/boot does not exist on a stateless system, so do not get confused by that.
2015-04-12bus-util: add articles to explanation messagesZbigniew Jędrzejewski-Szmek
We are talking about one member of a group of things (resource limits, signals, timeouts), without specifying which one. An indenfinite article is in order. When we are talking about the control process, it's a specific one, so the definite article is used.
2015-04-12sysv-generator: free LookupPaths also on errorZbigniew Jędrzejewski-Szmek
Followup for 7a03974a6f.
2015-04-12udev-builtin-keyboard: make error messages more standardZbigniew Jędrzejewski-Szmek
- No need to add "Error, " prefix, we already have that as metadata. - Also use double quotes for path names, as in most other places. - Remove stray newline at end of message. - Downgrade error messages after which we continue to warnings.
2015-04-12rules: finish incomplete renameZbigniew Jędrzejewski-Szmek
Fixup for 51c0c2869845a058268d54c3111d55d0dd485704.
2015-04-12tmpfiles: use qsort_safeZbigniew Jędrzejewski-Szmek
2015-04-11sysv-generator: fix mem leaksThomas Hindoe Paaboel Andersen
2015-04-11bus: implement bus_path_{en,de}code_unique()David Herrmann
Whenever we provide a bus API that allows clients to create and manage server-side objects, we need to provide a unique name for these objects. There are two ways to provide them: 1) Let the server choose a name and return it as method reply. 2) Let the client pass its name of choice in the method arguments. The first method is the easiest one to implement. However, it suffers from a race condition: If a client creates an object asynchronously, it cannot destroy that object until it received the method reply. It cannot know the name of the new object, thus, it cannot destroy it. Furthermore, this method enforces a round-trip. If the client _depends_ on the method call to succeed (eg., it would close() the connection if it failed), the client usually has no reason to wait for the method reply. Instead, the client can immediately schedule further method calls on the newly created object (in case the API guarantees in-order method-call handling). The second method fixes both problems: The client passes an object name with the method-call. The server uses it to create the object. Therefore, the client can schedule object destruction even if the object-creation hasn't finished, yet (again, requiring in-order method-call handling). Furthermore, the client can schedule further method calls on the newly created object, before the constructor returned. There're two problems to solve, though: 1) Object names are usually defined via dbus object paths, which are usually globally namespaced. Therefore, multiple clients must be able to choose unique object names without interference. 2) If multiple libraries share the same bus connection, they must be able to choose unique object names without interference. The first problem is solved easily by prefixing a name with the unique-bus-name of a connection. The server side must enforce this and reject any other name. The second problem is solved by providing unique suffixes from within sd-bus. As long as sd-bus always returns a fresh new ID, if requested, multiple libraries will never interfere. This implementation re-uses bus->cookie as ID generator, which already provides unique IDs for each bus connection. This patch introduces two new helpers: bus_path_encode_unique(sd_bus *bus, const char *prefix, const char *sender_id, const char *external_id, char **ret_path); This creates a new object-path via the template '/prefix/sender_id/external_id'. That is, it appends two new labels to the given prefix. If 'sender_id' is NULL, it will use bus->unique_name, if 'external_id' is NULL, it will allocate a fresh, unique cookie from bus->cookie. bus_path_decode_unique(const char *path, const char *prefix, char **ret_sender, char **ret_external); This reverses what bus_path_encode_unique() did. It parses 'path' from the template '/prefix/sender/external' and returns both suffix-labels in 'ret_sender' and 'ret_external'. In case the template does not match, 0 is returned and both output arguments are set to NULL. Otherwise, 1 is returned and the output arguments contain the decoded labels. Note: Client-side allocated IDs are inspired by the Wayland protocol (which itself was inspired by X11). Wayland uses those IDs heavily to avoid round-trips. Clients can create server-side objects and send method calls without any round-trip and waiting for any object IDs to be returned. But unlike Wayland, DBus uses gobally namespaced object names. Therefore, we have to add the extra step by adding the unique-name of the bus connection.
2015-04-11bus: implement bus_label_unescape_n()David Herrmann
This is like bus_label_unescape() but takes a maximum length instead of relying on NULL-terminated strings. This is highly useful to unescape labels that are not at the end of a path.
2015-04-11hashmap: return NULL from destructorDavid Herrmann
We _always_ return NULL from destructors to allow direct assignments to the variable holding the object. Especially on hashmaps, which treat NULL as empty hashmap, this is pretty neat.
2015-04-11udevd: fix synchronization with settle when handling inotify eventsDaniel Drake
udev uses inotify to implement a scheme where when the user closes a writable device node, a change uevent is forcefully generated. In the case of block devices, it actually requests a partition rescan. This currently can't be synchronized with "udevadm settle", i.e. this is not reliable in a script: sfdisk --change-id /dev/sda 1 81 udevadm settle mount /dev/sda1 /foo The settle call doesn't synchronize there, so at the same time we try to mount the device, udevd is busy removing the partition device nodes and readding them again. The mount call often happens in that moment where the partition node has been removed but not readded yet. This exact issue was fixed long ago: http://git.kernel.org/cgit/linux/hotplug/udev.git/commit/?id=bb38678e3ccc02bcd970ccde3d8166a40edf92d3 but that fix is no longer valid now that sequence numbers are no longer used. Fix this by forcing another mainloop iteration after handling inotify events before unblocking settle. If the inotify event caused us to generate a "change" event, we'll pick that up in the following loop iteration, before we reach the end of the loop where we respond to settle's control message, unblocking it.
2015-04-11hwdb: add Samsung ATIV Book 6 / 8Gavin Li
This adds support for the keyboard illumination keys and fixes Fn+F1.
2015-04-11build: allow setting OBJCOPYMarc-Antoine Perennou