chiark / gitweb /
3 years agolog: move log_syntax() into src/shared/log.c, and make it more similar to the other...
Lennart Poettering [Tue, 21 Apr 2015 15:26:04 +0000 (17:26 +0200)]
log: move log_syntax() into src/shared/log.c, and make it more similar to the other log functions

3 years agosd-device: set_syspath - return ENODEV when passed something that is not a device
Tom Gundersen [Tue, 21 Apr 2015 12:41:13 +0000 (14:41 +0200)]
sd-device: set_syspath - return ENODEV when passed something that is not a device

3 years agosd-bus: when augmenting creds, remember which ones were augmented
Lennart Poettering [Mon, 20 Apr 2015 22:58:08 +0000 (00:58 +0200)]
sd-bus: when augmenting creds, remember which ones were augmented

Also, when we do permissions checks using creds, verify that we don't do
so based on augmented creds, as extra safety check.

3 years agosd-bus: augmenting cgroups-based creds when we have the cgroup path already is free
Lennart Poettering [Mon, 20 Apr 2015 22:53:43 +0000 (00:53 +0200)]
sd-bus: augmenting cgroups-based creds when we have the cgroup path already is free

3 years agosd-bus: when augmenting creds, don't override any creds in any case
Lennart Poettering [Mon, 20 Apr 2015 22:52:24 +0000 (00:52 +0200)]
sd-bus: when augmenting creds, don't override any creds in any case

Let's better be safe than sorry.

3 years agosd-bus: when copying creds objects, make sure we copy even the implicit well known...
Lennart Poettering [Mon, 20 Apr 2015 22:50:43 +0000 (00:50 +0200)]
sd-bus: when copying creds objects, make sure we copy even the implicit well known names

3 years agologind: add .ScheduleShutdown and .CancelScheduledShutdown methods
Daniel Mack [Mon, 20 Apr 2015 13:27:15 +0000 (15:27 +0200)]
logind: add .ScheduleShutdown and .CancelScheduledShutdown methods

Add a method called ScheduleShutdown in org.freedesktop.login1.Manager
which adds a timer to shut down the system at a later point in time.

The first argument holds the type of the schedule that is about to
happen, and must be one of 'reboot', 'halt' or 'poweroff'.

The second argument specifies the absolute time, based on
CLOCK_REALTIME in nanoseconds, at which the the operation should be

To cancel a previously scheduled shutdown, the CancelScheduledShutdown()
can be called, which returns a bool, indicating whether a scheduled
timeout was cancelled.

Also add a new property called ScheduledShutdown which returns the
equivalent to what was passed in via ScheduleShutdown, as '(st)' type.

3 years agologind: factor out polkit checks
Daniel Mack [Mon, 20 Apr 2015 13:19:26 +0000 (15:19 +0200)]
logind: factor out polkit checks

Factor out the code to ask polkit for authorization from
method_do_shutdown_or_sleep() into an own function called

This is needed in order to also use the same checks when shutdown
operations are scheduled. For that, it's also necessary to allow
NULL values for that action{,_multiple_sessions,_ignore_inhibit)
arguments, which will suppress the call if no action string is

3 years agoutil: fix typo
Raul Gutierrez S [Mon, 20 Apr 2015 05:27:45 +0000 (22:27 -0700)]
util: fix typo

3 years agoexit-status: Fix "NOTINSSTALLED" typo
Martin Pitt [Sat, 18 Apr 2015 21:38:13 +0000 (22:38 +0100)]
exit-status: Fix "NOTINSSTALLED" typo

3 years agosd-device: uniformly handle missing devices
Tom Gundersen [Fri, 17 Apr 2015 12:53:02 +0000 (14:53 +0200)]
sd-device: uniformly handle missing devices

sd_device_new_from_* now returns -ENODEV when the device does not exist, and the enumerator
silently drops these errors as missing devices is exepected.

3 years agosd-device: enumerator - match only on initialized devices by default
Tom Gundersen [Fri, 17 Apr 2015 12:11:00 +0000 (14:11 +0200)]
sd-device: enumerator - match only on initialized devices by default

It is still possible to include uninitialized ones, but now that is opt-in. In most
cases people only want initialized devices. Exception is if you want to work without
udev running.

Suggested by David Herrmann.

3 years agosd-device: enumerator - don't expose add_device()
Tom Gundersen [Fri, 17 Apr 2015 11:50:10 +0000 (13:50 +0200)]
sd-device: enumerator - don't expose add_device()

This is rarely, if ever, used. Drop it from the new public API and only keep it for
the legacy API.

Suggested by David Herrmann.

3 years agosd-bus: add more comments to the credential decision logic
Lennart Poettering [Thu, 16 Apr 2015 15:27:51 +0000 (17:27 +0200)]
sd-bus: add more comments to the credential decision logic

3 years agoautomount: add expire support
Michael Olbrich [Tue, 14 Apr 2015 20:01:48 +0000 (22:01 +0200)]
automount: add expire support

3 years agosd-device: fix typo
Zbigniew Jędrzejewski-Szmek [Tue, 14 Apr 2015 16:39:40 +0000 (12:39 -0400)]
sd-device: fix typo

3 years agosd-devcie: fix typo
Tom Gundersen [Tue, 14 Apr 2015 14:55:18 +0000 (16:55 +0200)]
sd-devcie: fix typo

3 years agojournal: use audit event names instead of numbers
Zbigniew Jędrzejewski-Szmek [Tue, 14 Apr 2015 14:29:03 +0000 (10:29 -0400)]
journal: use audit event names instead of numbers

<audit-1400> is replaced by AVC, etc.

A fallback mechanism is provided for unlisted event types.
Occasionally new types are added to the kernel, but not too often.

Add a simple "test", which simply prints the mapping.

3 years agolibudev: make libudev-enumerate a thin wrapper around sd-device
Tom Gundersen [Tue, 14 Apr 2015 14:25:06 +0000 (16:25 +0200)]
libudev: make libudev-enumerate a thin wrapper around sd-device

3 years agosd-device: add device-enumerator library
Tom Gundersen [Tue, 14 Apr 2015 14:22:39 +0000 (16:22 +0200)]
sd-device: add device-enumerator library

3 years agosd-device: fix reading of subsystem
Tom Gundersen [Tue, 14 Apr 2015 14:05:53 +0000 (16:05 +0200)]
sd-device: fix reading of subsystem

3 years agosd-device: allow uevent files to be write-only
Tom Gundersen [Tue, 14 Apr 2015 13:15:49 +0000 (15:15 +0200)]
sd-device: allow uevent files to be write-only

3 years agopam_system: use (void) to silence coverity
Zbigniew Jędrzejewski-Szmek [Mon, 13 Apr 2015 02:41:20 +0000 (22:41 -0400)]
pam_system: use (void) to silence coverity

CID #996284.

3 years agoshared/hashmap: normalize whitespace
Zbigniew Jędrzejewski-Szmek [Sun, 12 Apr 2015 20:04:51 +0000 (16:04 -0400)]
shared/hashmap: normalize whitespace

3 years agopo: update Polish translation
Piotr Drąg [Sat, 11 Apr 2015 23:45:11 +0000 (01:45 +0200)]
po: update Polish translation

3 years agobus-util: add articles to explanation messages
Zbigniew Jędrzejewski-Szmek [Sat, 11 Apr 2015 23:39:30 +0000 (19:39 -0400)]
bus-util: add articles to explanation messages

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.

3 years agologind: make local functions static
Daniel Mack [Sat, 11 Apr 2015 17:47:12 +0000 (19:47 +0200)]
logind: make local functions static

make manager_gc(), manager_startup(), manager_new(), manager_free()
and manager_run() static, and kill their forward declarations.

3 years agologind: use sd_event timer source for inhibitor logic
Daniel Mack [Sat, 11 Apr 2015 16:44:51 +0000 (18:44 +0200)]
logind: use sd_event timer source for inhibitor logic

Instead of open-coding the delayed action and inhibit timeout logic,
switch over to a real sd_event_source based implementation.

This is not only easier to read but also allows us to add more timers
in the future.

3 years agoshared: move replace_env* from util to env-util
Ronny Chevalier [Fri, 10 Apr 2015 22:25:43 +0000 (00:25 +0200)]
shared: move replace_env* from util to env-util

3 years agoshared: add terminal-util.[ch]
Ronny Chevalier [Fri, 10 Apr 2015 21:15:59 +0000 (23:15 +0200)]
shared: add terminal-util.[ch]

3 years agoshared: add random-util.[ch]
Ronny Chevalier [Fri, 10 Apr 2015 20:27:10 +0000 (22:27 +0200)]
shared: add random-util.[ch]

3 years agoshared: add formats-util.h
Ronny Chevalier [Fri, 10 Apr 2015 18:43:52 +0000 (20:43 +0200)]
shared: add formats-util.h

3 years agoshared: move assert_return_errno() from libudev
Tom Gundersen [Fri, 10 Apr 2015 18:39:43 +0000 (20:39 +0200)]
shared: move assert_return_errno() from libudev

This should not be used for any new code, as we don't set errno in new code,
but there are several legacy users, so let's keep it in shared.

3 years agoshared: add process-util.[ch]
Ronny Chevalier [Fri, 10 Apr 2015 17:10:00 +0000 (19:10 +0200)]
shared: add process-util.[ch]

3 years agosd-event: simplify sd_event_run()
Lennart Poettering [Fri, 10 Apr 2015 16:45:39 +0000 (18:45 +0200)]
sd-event: simplify sd_event_run()

3 years agobus: implement bus_path_{en,de}code_unique()
David Herrmann [Fri, 10 Apr 2015 15:44:30 +0000 (17:44 +0200)]
bus: implement bus_path_{en,de}code_unique()

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

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.

3 years agobus: implement bus_label_unescape_n()
David Herrmann [Fri, 10 Apr 2015 15:43:04 +0000 (17:43 +0200)]
bus: implement bus_label_unescape_n()

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.

3 years agocore: set_put never returns -EEXIST
Ronny Chevalier [Fri, 10 Apr 2015 14:53:17 +0000 (16:53 +0200)]
core: set_put never returns -EEXIST

When the value is already there it returns 0.

Also add a test to ensure this

3 years agobus-util: be more verbose if dbus job fails
Michal Sekletar [Fri, 10 Apr 2015 13:56:52 +0000 (15:56 +0200)]
bus-util: be more verbose if dbus job fails

Users might have hard time figuring out why exactly their systemctl request
failed. If dbus job fails try to figure out more details about failure by
examining Result property of the service.

3 years agoshared: fix memleak
Ronny Chevalier [Fri, 10 Apr 2015 13:44:02 +0000 (15:44 +0200)]
shared: fix memleak

path was used for 2 purposes but it was not freed before being reused.

3 years agodevice-nodes: minor simplifications
Lennart Poettering [Fri, 10 Apr 2015 12:43:37 +0000 (14:43 +0200)]
device-nodes: minor simplifications

3 years agoutil: unify how we parse mode_t strings
Lennart Poettering [Fri, 10 Apr 2015 12:43:06 +0000 (14:43 +0200)]
util: unify how we parse mode_t strings

3 years agoutil: remove normalize_env_assignment(), it's unused
Lennart Poettering [Fri, 10 Apr 2015 10:21:44 +0000 (12:21 +0200)]
util: remove normalize_env_assignment(), it's unused

3 years agoutil: mark unquote() static, so that new code doesn't use this anymore
Lennart Poettering [Fri, 10 Apr 2015 10:16:54 +0000 (12:16 +0200)]
util: mark unquote() static, so that new code doesn't use this anymore

3 years agoutil: fix unicode decoding in unquote_first_word()
Lennart Poettering [Fri, 10 Apr 2015 09:56:04 +0000 (11:56 +0200)]
util: fix unicode decoding in unquote_first_word()

3 years agoutil: when unescaping C escape sequences support C++11 \u and \U unicode literals
Lennart Poettering [Fri, 10 Apr 2015 09:27:47 +0000 (11:27 +0200)]
util: when unescaping C escape sequences support C++11 \u and \U unicode literals

We simply recode them in utf8.

3 years agohashmap: return NULL from destructor
David Herrmann [Fri, 10 Apr 2015 09:15:12 +0000 (11:15 +0200)]
hashmap: return NULL from destructor

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.

3 years agoutil: fix a typo in comment
Thomas Hindoe Paaboel Andersen [Thu, 9 Apr 2015 21:57:35 +0000 (23:57 +0200)]
util: fix a typo in comment

3 years agoutil: add shell_maybe_quote() call for preparing a string for shell cmdline inclusion
Lennart Poettering [Thu, 9 Apr 2015 16:32:21 +0000 (18:32 +0200)]
util: add shell_maybe_quote() call for preparing a string for shell cmdline inclusion

If necessary the passed string is enclosed in "", and all special
characters escapes.

This also ports over usage in bus-util.c and job.c to use this, instead
of a incorrect local implementation that forgets to properly escape.

3 years agologind: drop unused argument from method_do_shutdown_or_sleep()
Daniel Mack [Thu, 9 Apr 2015 14:44:51 +0000 (16:44 +0200)]
logind: drop unused argument from method_do_shutdown_or_sleep()

3 years agoutil: cunescape - fix memleak in error path
Ronny Chevalier [Thu, 9 Apr 2015 09:00:35 +0000 (11:00 +0200)]
util: cunescape - fix memleak in error path

3 years agoutil: merge change_attr_fd() and chattr_fd()
Lennart Poettering [Wed, 8 Apr 2015 18:47:35 +0000 (20:47 +0200)]
util: merge change_attr_fd() and chattr_fd()

3 years agomissing.h: Define IFA_F_NOPREFIXROUTE
Alexander Sverdlin [Wed, 8 Apr 2015 10:59:40 +0000 (12:59 +0200)]
missing.h: Define IFA_F_NOPREFIXROUTE

Fixes second systemd compilation problem against Linux 3.12 uapi

IFA_F_NOPREFIXROUTE is a usual #define appeared in Linux 3.14, so
AC_CHECK_DECLS is not necessary.

3 years agosd-rtnl: properly size attribute array if IFA_FLAGS was missing
Lennart Poettering [Wed, 8 Apr 2015 10:53:50 +0000 (12:53 +0200)]
sd-rtnl: properly size attribute array if IFA_FLAGS was missing

3 years agobus: simplify bus_message_read_strv_extend()
David Herrmann [Wed, 8 Apr 2015 09:20:10 +0000 (11:20 +0200)]
bus: simplify bus_message_read_strv_extend()

Avoid unbound for(;;) loop and use the established coding-style:
  while ((r = sd_bus_message_read*(...)) > 0) {
  if (r < 0)
          return r;

This is much easier to read and used all over the code base.

3 years agoremove duplicated includes
Ronny Chevalier [Tue, 7 Apr 2015 23:15:32 +0000 (01:15 +0200)]
remove duplicated includes

3 years agopo: update French translation
Sylvain Plantefève [Tue, 7 Apr 2015 22:40:33 +0000 (00:40 +0200)]
po: update French translation

Add strings introduced by 5bdf22430e367799dfa66c724144b624c5479518

3 years agologind: drop "interactive" parameter from SetRebootToFirmwareSetup() bus call
Lennart Poettering [Tue, 7 Apr 2015 19:08:07 +0000 (21:08 +0200)]
logind: drop "interactive" parameter from SetRebootToFirmwareSetup() bus call

Newer dbus versions have an "allow interactive authentication" bit in
the message header, hence it is not necessary to take a boolean for this

3 years agomissing.h: define IFA_FLAGS if it is missing
Lennart Poettering [Tue, 7 Apr 2015 19:07:19 +0000 (21:07 +0200)]
missing.h: define IFA_FLAGS if it is missing

3 years agozsh-completion: update loginctl
Ronny Chevalier [Tue, 7 Apr 2015 17:35:13 +0000 (19:35 +0200)]
zsh-completion: update loginctl

3 years agopath-util: fix more path_is_mount e792e890f fallout
Lennart Poettering [Tue, 7 Apr 2015 14:03:45 +0000 (16:03 +0200)]
path-util: fix more path_is_mount e792e890f fallout

3 years agobus: use free_and_strdup()
David Herrmann [Tue, 7 Apr 2015 13:20:54 +0000 (15:20 +0200)]
bus: use free_and_strdup()

Save some LOCs by replacing strdup()+error-handling+free+assign with

3 years agodevice: fix sysattr newline cutter
David Herrmann [Tue, 7 Apr 2015 11:11:18 +0000 (13:11 +0200)]
device: fix sysattr newline cutter

Right now, we always drop the last character of all values we write to
sysfs. Fix this!

3 years agopolkit: rename bus_verify_polkit() to bus_test_polkit() and make it strictly non...
Lennart Poettering [Mon, 6 Apr 2015 18:25:56 +0000 (20:25 +0200)]
polkit: rename bus_verify_polkit() to bus_test_polkit() and make it strictly non-interactive

Interactive authorization should only happen asynchronously, hence
disallow it in synchronous bus_verify_polkit(), and rename it to
bus_test_polkit(). This way even if the bus message header asks for
interactive authorization, we'll ask for non-interactive authorization
which is actually the desired behaviour if CanSuspend, CanHibernate and
friends, which call this function.

3 years agoutil: rework cunescape(), improve error handling
Lennart Poettering [Mon, 6 Apr 2015 18:11:41 +0000 (20:11 +0200)]
util: rework cunescape(), improve error handling

Change cunescape() to return a normal error code, so that we can
distuingish OOM errors from parse errors.

This also adds a flags parameter to control whether "relaxed" or normal
parsing shall be done. If set no parse failures are generated, and the
only reason why cunescape() can fail is OOM.

3 years agobtrfs: add support for recursive btrfs snapshotting
Lennart Poettering [Mon, 6 Apr 2015 13:26:59 +0000 (15:26 +0200)]
btrfs: add support for recursive btrfs snapshotting

3 years agobtrfs: missing endian conversion fix
Lennart Poettering [Mon, 6 Apr 2015 12:55:45 +0000 (14:55 +0200)]
btrfs: missing endian conversion fix

3 years agobtrfs: make btrfs_subvol_snapshot() parameters a flags field
Lennart Poettering [Mon, 6 Apr 2015 09:47:25 +0000 (11:47 +0200)]
btrfs: make btrfs_subvol_snapshot() parameters a flags field

3 years agobtrfs: support recursively removing btrfs snapshots
Lennart Poettering [Mon, 6 Apr 2015 08:57:17 +0000 (10:57 +0200)]
btrfs: support recursively removing btrfs snapshots

3 years agosd-device: don't use alloca() within loops
Tom Gundersen [Sun, 5 Apr 2015 10:17:29 +0000 (12:17 +0200)]
sd-device: don't use alloca() within loops

 I shall not use alloca() within loops
 I shall not use alloca() within loops
 I shall not use alloca() within loops
 I shall not use alloca() within loops

3 years agomachined: drop btrfs subvolumes when removing container images
Lennart Poettering [Sun, 5 Apr 2015 09:28:04 +0000 (11:28 +0200)]
machined: drop btrfs subvolumes when removing container images

3 years agopath-util: don't eat up ENOENT in path_is_mount_point()
Lennart Poettering [Sun, 5 Apr 2015 09:26:58 +0000 (11:26 +0200)]
path-util: don't eat up ENOENT in path_is_mount_point()

There's no reason to eat up ENOENT, it should be OK to simply report the
error back.

3 years agopath-util: make sure fd_is_mount_point() returns true for root directory
Lennart Poettering [Sun, 5 Apr 2015 09:12:16 +0000 (11:12 +0200)]
path-util: make sure fd_is_mount_point() returns true for root directory

3 years agopath-util: if parent can do name_to_handle() but relevant dir not, it's a mount point
Lennart Poettering [Sat, 4 Apr 2015 17:20:56 +0000 (19:20 +0200)]
path-util: if parent can do name_to_handle() but relevant dir not, it's a mount point

3 years agorm-rf: never cross mount points
Lennart Poettering [Sat, 4 Apr 2015 12:42:39 +0000 (14:42 +0200)]
rm-rf: never cross mount points

3 years agoutil: rework rm_rf() logic
Lennart Poettering [Sat, 4 Apr 2015 09:52:57 +0000 (11:52 +0200)]
util: rework rm_rf() logic

- Move to its own file rm-rf.c

- Change parameters into a single flags parameter

- Remove "honour sticky" logic, it's unused these days

3 years agosd-device,udevd: fix spelling /ammend/amend/
Tom Gundersen [Fri, 3 Apr 2015 20:51:09 +0000 (22:51 +0200)]
sd-device,udevd: fix spelling /ammend/amend/

3 years agosd-device: get_properties_{nulstr,strv} - don't recreate the buffer unnecessarily
Tom Gundersen [Fri, 3 Apr 2015 19:05:42 +0000 (21:05 +0200)]
sd-device: get_properties_{nulstr,strv} - don't recreate the buffer unnecessarily

3 years agosd-device: fix deserialization from netlink
Tom Gundersen [Fri, 3 Apr 2015 19:04:48 +0000 (21:04 +0200)]
sd-device: fix deserialization from netlink

Use the standard FOREACH_WORD* macros.

The current code was broken in the devlink case so the last one received
was being dropped, causing

3 years agologind,systemctl: add reboot to EFI firmware support
Jan Janssen [Fri, 3 Apr 2015 16:03:06 +0000 (18:03 +0200)]
logind,systemctl: add reboot to EFI firmware support

3 years agoudev: input_id: tag accelerometers as ID_INPUT_ACCELEROMETER
Hans de Goede [Fri, 3 Apr 2015 10:07:32 +0000 (12:07 +0200)]
udev: input_id: tag accelerometers as ID_INPUT_ACCELEROMETER

input_id already (tries to) tag accelerometers as such, but this only works
for absolute accelerometers. Recent kernels mark accelerometers through an
input prop. Trust that prop and always tag devices with it with

Note that detection by the prop bit works the same as the existing detection
and will ensure that no other tags get set on the device.

3 years agoSeparate the % sign from the number
Pablo Lezaeta Reyes [pˈaβ̞lo lˌe̞θaˈeta rˈejɛ] [Tue, 31 Mar 2015 05:47:39 +0000 (02:47 -0300)]
Separate the % sign from the number

In spanish the % sign is supposed to be separated from the number [1 and 2 both in spanish] so I separated the %% that draw the percentage sign from the number.


PD: I know that probably this is not the propper place but I don't know where submit the fix or if I do it right

3 years agoudev: input_id: tag pointing sticks as ID_INPUT_POINTINGSTICK
Peter Hutterer [Thu, 26 Mar 2015 04:08:35 +0000 (14:08 +1000)]
udev: input_id: tag pointing sticks as ID_INPUT_POINTINGSTICK

Also referred to as trackpoint, trackstick. These are marked by recent kernels
through an input prop. Forward that prop as udev property so userspace can
easily determine whether there is a pointing stick present.

These devices were previously marked as ID_INPUT_MOUSE, for backwards
compatibility we keep that in place, the new property is an addition.

3 years agoudev: builtin-keyboard: add support for EVDEV_ABS_*
Peter Hutterer [Thu, 19 Mar 2015 04:19:58 +0000 (14:19 +1000)]
udev: builtin-keyboard: add support for EVDEV_ABS_*

Parse properties in the form

and apply them to the kernel device. Future processes that open that device
will see the updated EV_ABS range.

This is particularly useful for touchpads that don't provide a resolution in
the kernel driver but can be fixed up through hwdb entries (e.g. bcm5974).

All values in the property are optional, e.g. a string of "::45" is valid to
set the resolution to 45.

The order intentionally orders resolution before fuzz and flat despite it
being the last element in the absinfo struct. The use-case for setting
fuzz/flat is almost non-existent, resolution is probably the most common case
we'll need.

To avoid multiple hwdb invocations for the same device, replace the
hwdb "keyboard:" prefix with "evdev:" and drop the separate 60-keyboard.rules
file. The new 60-evdev.rules is called for all event nodes
anyway, we don't need a separate rules file and second callout to the hwdb

3 years agobootctl: modernization
Zbigniew Jędrzejewski-Szmek [Wed, 18 Mar 2015 02:29:31 +0000 (22:29 -0400)]
bootctl: modernization

Use strjoina to avoid error handling, and openat to simplify things.

Some fixes on the way:
- ferror does not set errno, so the return value was wrong in some cases
- errors are propagated in more cases
- EFI/systemd was created, but EFI/systemd-boot was deleted
- something is always printed on error
- when checking the version, comparison was done against "systemd-bo" for some reason
- return value was converted from negative to EXIT_SUCCESS/EXIT_FAILURE twice,
  resulting in EXIT_SUCCESS all the time

3 years agojournal: add int↔audit type name mapping
Zbigniew Jędrzejewski-Szmek [Mon, 16 Mar 2015 17:14:18 +0000 (13:14 -0400)]
journal: add int↔audit type name mapping

3 years agonetworkd: Add support for bond option.
Susant Sahani [Mon, 9 Mar 2015 09:58:29 +0000 (15:28 +0530)]
networkd: Add support for bond option.

This patch adds configurational support for bond option.

Test conf:




$cat /proc/net/bonding/bond1
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0
ARP Polling Interval (ms): 10000
ARP IP target/s (n.n.n.n form):,,

3 years agonetworkd vxlan: Add support for enabling UDP checksums
Susant Sahani [Thu, 5 Mar 2015 16:32:47 +0000 (22:02 +0530)]
networkd vxlan: Add support for enabling UDP checksums

Add UDPCheckSum option to enable transmitting UDP checksums when doing
VXLAN/IPv4. Add UDP6ZeroChecksumRx, and UDP6ZeroChecksumTx
options to enable sending zero checksums and receiving zero
checksums in VXLAN/IPv6

[tomegun: rebase manpage due to whitespace changes]

3 years agosd-bus: teach bus_print_property() how to print SD_BUS_TYPE_INT64
Daniel Mack [Fri, 20 Feb 2015 14:16:02 +0000 (15:16 +0100)]
sd-bus: teach bus_print_property() how to print SD_BUS_TYPE_INT64

4 years agoRelease version 219.14.
Andy Wingo [Wed, 16 Mar 2016 21:47:59 +0000 (22:47 +0100)]
Release version 219.14.

4 years agoClear pending action after resume from delayed sleep.
Andy Wingo [Thu, 17 Mar 2016 08:21:53 +0000 (09:21 +0100)]
Clear pending action after resume from delayed sleep.

4 years agoEmit PrepareForSleep when resuming.
Andy Wingo [Wed, 16 Mar 2016 21:47:37 +0000 (22:47 +0100)]
Emit PrepareForSleep when resuming.

5 years agov219.13
Andy Wingo [Sun, 6 Mar 2016 15:03:03 +0000 (16:03 +0100)]

5 years agoFixes to user and session saving
Andy Wingo [Sun, 6 Mar 2016 15:56:33 +0000 (16:56 +0100)]
Fixes to user and session saving

* src/login/logind-dbus.c (method_create_session): No need to save
  session here, as session_send_create_reply will do it.
* src/login/logind-session-dbus.c (session_send_create_reply): On the
  other hand we do need to save the user here, so the file marks them as
  being active.

5 years agoClassify processes from sessions into cgroups
Andy Wingo [Sun, 6 Mar 2016 15:02:31 +0000 (16:02 +0100)]
Classify processes from sessions into cgroups

Create a private cgroup tree associated with no controllers, and use it
to map PIDs to sessions.  Since we use our own path structure, remove
internal cgroup-related helpers that interpret the cgroup path structure
to pull out users, slices, and scopes.

5 years agoSet up cgroups when logind starts
Andy Wingo [Wed, 2 Mar 2016 19:50:35 +0000 (20:50 +0100)]
Set up cgroups when logind starts

This code is from systemd.

5 years agoRe-add cgroups agent to the build
Andy Wingo [Wed, 2 Mar 2016 19:44:29 +0000 (20:44 +0100)]
Re-add cgroups agent to the build

The helper is now named logind-cgroups-agent.

5 years agoRevert "Remove src/cgroups-agent"
Andy Wingo [Wed, 2 Mar 2016 19:36:32 +0000 (20:36 +0100)]
Revert "Remove src/cgroups-agent"

This reverts commit 024e2f0da33fa05f4d5aa696e9f715264e9cd41f.

5 years agoFix check for libcap to re-set LIBS; add -lrt for mq_unlink
Andy Wingo [Sun, 6 Mar 2016 11:47:17 +0000 (12:47 +0100)]
Fix check for libcap to re-set LIBS; add -lrt for mq_unlink

5 years agoUpdate README
Andy Wingo [Wed, 2 Sep 2015 10:45:47 +0000 (12:45 +0200)]