Zbigniew Jędrzejewski-Szmek [Tue, 20 Feb 2018 20:36:25 +0000 (21:36 +0100)]
Merge pull request #8222 from poettering/journal-by-inode
make sure we detect journal rotation even on inotify q overrun
Lennart Poettering [Tue, 20 Feb 2018 11:48:33 +0000 (12:48 +0100)]
xattr-util: use crtime/btime if statx() is available for implementation of fd_setcrtime() and friends
The Linux kernel exposes the birth time now for files through statx()
hence make use of it where available. We keep the xattr logic in place
for this however, since only a subset of file systems on Linux currently
expose the birth time. NFS and tmpfs for example do not support it. OTOH
there are other file systems that do support the birth time but might
not support xattrs (smb…), hence make the best of the two, in particular
in order to deal with journal files copied between file system types and
to maintain compatibility with older file systems that are updated to
newer version of the file system.
Lennart Poettering [Tue, 20 Feb 2018 11:46:14 +0000 (12:46 +0100)]
xattr-util: support AT_EMPTY_PATH in fgetxattrat_fake()
Let's expose fstatat() like behaviour if AT_EMPTY_PATH is defined.
Also, check the specified flags returning EINVAL on the flags we don't
emulate.
Lennart Poettering [Tue, 20 Feb 2018 10:40:07 +0000 (11:40 +0100)]
journal-file: fix typo in log message
Lennart Poettering [Mon, 19 Feb 2018 17:37:50 +0000 (18:37 +0100)]
io-util: add an unlikely decorator for a test that should never hold
Lennart Poettering [Mon, 19 Feb 2018 17:24:36 +0000 (18:24 +0100)]
tree-wide: make use of fsync_directory_of_file() all over the place
Let's make use this at various places we call fsync(), to make things
fully reliable, as the kernel devs suggest to first fsync() files and
then fsync() the directories they are located in.
Lennart Poettering [Mon, 19 Feb 2018 17:23:38 +0000 (18:23 +0100)]
fs-util: move fsync_directory_of_file() into generic code
This function used by the journal code is pretty useful generically,
let's move it to fs-util.c to make it useful for other code too.
Lennart Poettering [Mon, 19 Feb 2018 17:01:05 +0000 (18:01 +0100)]
stat-util: unify code that checks whether something is a regular file
Let's add a common implementation for regular file checks, that are
careful to return the right error code (EISDIR/EISLNK/EBADFD) when we
are encountering a wrong file node.
Lennart Poettering [Mon, 19 Feb 2018 16:42:47 +0000 (17:42 +0100)]
sd-journal: when picking up a new file, compare inode/device info with previous open file by same name
Let's make sure we aren't confused if a journal file is replaced by a
different one (for example due to rotation) if we are in a q overflow:
let's compare the inode/device information, and if it changed replace
any open file object as needed.
Fixes: #8198
Lennart Poettering [Mon, 19 Feb 2018 16:40:01 +0000 (17:40 +0100)]
sd-journal: rename add_file() → add_file_by_name()
Let's be more careful with the naming, and indicate that the function
is about *named* journal files, and will validate the name as needed.
(in opposition to add_any_file() which doesn't care about names)
Lennart Poettering [Mon, 19 Feb 2018 16:37:47 +0000 (17:37 +0100)]
journal-file: add O_NONBLOCK for paranoia when opening journal files
Lennart Poettering [Mon, 19 Feb 2018 16:35:36 +0000 (17:35 +0100)]
journal-file: refuse opening non-regular journal files
Let's check the file node type when we open/stat journal files: refuse
anything that is not a regular file...
Lennart Poettering [Tue, 20 Feb 2018 07:53:34 +0000 (08:53 +0100)]
core: change KeyringMode= to "shared" by default for non-service units in the system manager (#8172)
Before this change all unit types would default to "private" in the
system service manager and "inherit" to in the user service manager.
With this change this is slightly altered: non-service units of the
system service manager are now run with KeyringMode=shared. This appears
to be the more appropriate choice as isolation is not as desirable for
mount tools, which regularly consume key material. After all mounts are
a shared resource themselves as they appear system-wide hence it makes a
lot of sense to share their key material too.
Fixes: #8159
Peter Hutterer [Tue, 20 Feb 2018 07:27:48 +0000 (17:27 +1000)]
hwdb: add axis override for Dell Inspiron MM061 touchpad (#8226)
https://bugzilla.redhat.com/show_bug.cgi?id=1545389
Alexis Jeandet [Tue, 20 Feb 2018 01:36:41 +0000 (02:36 +0100)]
meson: Multi-lines string should use ''' with meson (#8225)
This breaks with latest version of meson:
https://hephaistos.lpp.polytechnique.fr/teamcity/viewLog.html?buildId=11653&buildTypeId=mesonbuild_SystemdNightly&tab=buildLog&state=1059#_state=1059&guest=true
Yu Watanabe [Tue, 20 Feb 2018 01:34:53 +0000 (10:34 +0900)]
Merge pull request #8223 from jwrdegoede/hwdb-keyboard-touchpad-toggle
hwdb: 60-keyboard add mapping for the touchpad-toggle hotkey on 2 laptops
Daniel Mouritzen [Tue, 20 Feb 2018 01:33:10 +0000 (02:33 +0100)]
hwdb: Logitech M305 Wireless Optical Mouse dpi data (#8217)
Closes #8208
Hans de Goede [Mon, 19 Feb 2018 17:24:09 +0000 (18:24 +0100)]
hwdb: Add quirk to fix mapping of T-bao Tbook air touchpad toggle key
The touchpad toggle key (Fn + Esc) on the T-bao Tbook air sends CTRL +
META + scancode 0x76 without this quirk. With this quirk it sends CTRL +
META + F21, with F21 mapping to XF86TouchpadToggle, which is what we want.
Note that the CTRL + META modifiers being send together with the F21 are
still somewhat unusual, userspace will need to be thought to deal with
this as there is nothing we can do about this at the hwdb level. Note at
least one other laptop also sends CTRL + META + F21 instead of just F21.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Hans de Goede [Mon, 19 Feb 2018 17:11:30 +0000 (18:11 +0100)]
hwdb: Add quirk to fix mapping of VIOS LTH17 touchpad toggle key
The touchpad toggle key (Fn + F6) on the VIOS LTH17 sends CTRL + META + F24
without this quirk. With this quirk it sends CTRL + META + F21, with F21
mapping to XF86TouchpadToggle, which is what we want.
Note that the CTRL + META modifiers being send together with the F21 are
still somewhat unusual, userspace will need to be thought to deal with
this as there is nothing we can do about this at the hwdb level. Note at
least one other laptop also sends CTRL + META + F21 instead of just F21.
Lennart Poettering [Mon, 19 Feb 2018 15:55:10 +0000 (16:55 +0100)]
Merge pull request #8199 from keszybz/small-things
Sundry small cleanups
Zbigniew Jędrzejewski-Szmek [Fri, 16 Feb 2018 09:34:00 +0000 (10:34 +0100)]
tests: add a simple test for utf8_n_codepoints()
Zbigniew Jędrzejewski-Szmek [Fri, 16 Feb 2018 09:27:47 +0000 (10:27 +0100)]
Some comment adjustments
Follow up for review of #8184.
Zbigniew Jędrzejewski-Szmek [Fri, 16 Feb 2018 09:23:16 +0000 (10:23 +0100)]
core: drop obsolete comment
https://github.com/systemd/systemd/pull/8125#pullrequestreview-
96894581
Zbigniew Jędrzejewski-Szmek [Fri, 16 Feb 2018 09:17:46 +0000 (10:17 +0100)]
pid1: do not initialize join_controllers by default
We're moving towards unified cgroup hierarchy where this is not necessary.
This makes main.c a bit simpler.
Zbigniew Jędrzejewski-Szmek [Fri, 16 Feb 2018 08:56:29 +0000 (09:56 +0100)]
Move config_parse_join_controllers to shared, add test
config_parse_join_controllers would free the destination argument on failure,
which is contrary to our normal style, where failed parsing has no effect.
Moving it to shared also allows a test to be added.
Zbigniew Jędrzejewski-Szmek [Fri, 16 Feb 2018 08:29:57 +0000 (09:29 +0100)]
shared/conf-parser: define a macro for the repeating argument set
The arguments have to be indentical everywhere, so let's use a macro to
make things more readable. But only in the headers, in the .c files let's
keep them verbose so that it's easy to see the argument list.
Zbigniew Jędrzejewski-Szmek [Fri, 16 Feb 2018 06:03:13 +0000 (07:03 +0100)]
test-process-util: one more (void)
Zbigniew Jędrzejewski-Szmek [Fri, 16 Feb 2018 06:00:22 +0000 (07:00 +0100)]
Add some handling to remaining unlinkat calls
Coverity now started warning about this ("Calling unlinkat without checking
return value (as is done elsewhere 12 out of 15 times).", and it is right:
most of the time we should at list print a log message so people can figure
out something is wrong when this happens.
v2:
- use warning level in journald too (this is unlikely to happen ever, so it
should be safe to something that is visible by default).
Yu Watanabe [Mon, 19 Feb 2018 13:26:01 +0000 (22:26 +0900)]
bootspec: accept tab as the separataor in sd-boot config (#8165)
In the parse logic `line_get_key_value()` in sd-boot treats spaces
and tabs are valid spacing between key and value in the line.
So, let's use the same logic for `bootctl` and the others which read
sd-boot configs.
Fixes #8154.
Caio Marcelo de Oliveira Filho [Mon, 19 Feb 2018 02:33:16 +0000 (18:33 -0800)]
meson: apply defaults if /etc/login.defs doesn't exist
Apply defaults for system_{uid,gid}_max even if the /etc/login.defs file
doesn't exist (e.g. in Clear Linux with no changes).
awk returns an empty string in case the file doesn't exist, causing meson to
fail in to_int(). So set the default if output is empty. This makes the BEGIN{}
blocks unnecessary, so remove them.
Iago López Galeiras [Fri, 16 Feb 2018 13:32:44 +0000 (14:32 +0100)]
job: truncate unit description
The comment above says we're truncating the string but that's not true,
an assert will fail in xsprintf if the description is longer than
LINE_MAX.
Let's use snprintf instead of xsprintf to make sure it's truncated.
We'll cast its result to void to tell static checkers we're fine with
truncation.
Марко М. Костић (Marko M. Kostić) [Sun, 18 Feb 2018 21:04:22 +0000 (22:04 +0100)]
po: update Serbian translation
Caio Marcelo de Oliveira Filho [Mon, 19 Feb 2018 09:37:19 +0000 (01:37 -0800)]
meson: use multiline string syntax (#8214)
The single quote working with multiple lines is likely to be unintended. With
current versions of meson, it also causes error messages after it to report the
wrong line number. Use the documented syntax instead.
Michael Biebl [Sun, 18 Feb 2018 18:56:50 +0000 (19:56 +0100)]
Merge pull request #8202 from keszybz/avoid-msgmerge
Replace msgmerge use by gettext-domain= references
Zbigniew Jędrzejewski-Szmek [Sun, 18 Feb 2018 16:39:08 +0000 (17:39 +0100)]
meson: fix systemd-pot target when polkit-devel is not installed
To successfully extract strings from our .policy files, gettext needs
polkit.{its,loc} files provided by policykit-devel. When that package is not
installed, systemd-pot would fail to extract strings:
[0/1] Running external command systemd-pot.
xgettext: warning: file 'src/core/org.freedesktop.systemd1.policy.in.in' extension 'policy' is unknown; will try C
xgettext: warning: file 'src/hostname/org.freedesktop.hostname1.policy.in' extension 'policy' is unknown; will try C
...
We now don't need the .its and .loc files for normal building, but they are
still useful when generating the .pot file, because that way we avoid the
dependency on sufficiently new polkit. We just need to tell i18n to pass their
location to xgettext.
Michael Biebl [Fri, 16 Feb 2018 13:25:32 +0000 (14:25 +0100)]
l10n: Update POTFILES.in and POTFILES.skip
We no longer use .in suffixes for .policy files.
Follow-up for commit
9b3cff199dd3827a9f2df9a7f5874d6ef18880f2 and
70886abbde59a45cfabe0769c0cdb3af1e5f7790.
Evgeny Vereshchagin [Fri, 16 Feb 2018 13:26:26 +0000 (16:26 +0300)]
tests: reset _found at the end of each iteration (#8195)
This makes `inst_rules` really print all rules it skips.
Zbigniew Jędrzejewski-Szmek [Thu, 15 Feb 2018 20:38:15 +0000 (21:38 +0100)]
mkosi: remove intltool from deps
intltool is unnecessary since
c81217920effddc93fb780cf8f9eb699d6fe1319.
But we still need gettext, because we use msgformat to generate .mo files.
(I tried to make meson depend on it, at least in Fedora:
https://bugzilla.redhat.com/show_bug.cgi?id=1545926, but that didn't fly,
and in Debian at least meson also has no dependency on the tools used by
its i18n module, so we need to add our own dependency anyway.)
Closes #8192.
Zbigniew Jędrzejewski-Szmek [Fri, 16 Feb 2018 11:48:55 +0000 (12:48 +0100)]
meson: drop unnecessary "transformation" of policy files
Those files don't contain any @variables@, so the configuration step was just
copying them to build/. Let's avoid that, and fix their suffixes while at it.
Zbigniew Jędrzejewski-Szmek [Fri, 16 Feb 2018 11:37:42 +0000 (12:37 +0100)]
meson: drop double .in suffix for o.fd.systemd1.policy file
This file is now undergoing just one transformation, so drop the unnecessary
suffix.
Gunnar Hjalmarsson [Thu, 15 Feb 2018 20:21:58 +0000 (21:21 +0100)]
Gettextize policy files
* Don't merge translations into the files
* Add gettext-domain="systemd" to description and message
Closes #8162, replaces #8118.
Zbigniew Jędrzejewski-Szmek [Fri, 16 Feb 2018 05:58:33 +0000 (06:58 +0100)]
login,user-sessions: always warn when we fail to remove nologin file
This usually is very annoying to users who then cannot log in, so
make sure we always warn if that happens (selinux, or whatever other reason).
This reverts
a790812cb349c5cef95d1b4a20fc80ca08d3a145.
Dimitri John Ledkov [Wed, 14 Feb 2018 20:34:55 +0000 (20:34 +0000)]
test/test-functions: Debian/Ubuntu, now ship 95-dm-notify.rules, copy it
This fixes cryptsetup tests on recent Ubuntu/Debian systems (current
development series).
Bug-Launchpad: https://launchpad.net/bugs/1749432
Lennart Poettering [Thu, 15 Feb 2018 16:47:37 +0000 (17:47 +0100)]
Merge pull request #8175 from keszybz/gc-cleanup
Garbage collection cleanup
Lennart Poettering [Thu, 15 Feb 2018 16:23:03 +0000 (17:23 +0100)]
Merge pull request #8188 from keszybz/coverity-fixes
Coverity fixes
Lennart Poettering [Thu, 15 Feb 2018 16:22:36 +0000 (17:22 +0100)]
Merge pull request #8150 from poettering/memory-accounting-by-default
pid1: turn memory accounting on by default now
Zbigniew Jędrzejewski-Szmek [Thu, 15 Feb 2018 16:14:59 +0000 (17:14 +0100)]
Merge pull request #8184 from poettering/color-ask-pw
Trivial merge conflict resolved locally.
Zbigniew Jędrzejewski-Szmek [Thu, 15 Feb 2018 15:15:45 +0000 (16:15 +0100)]
Merge pull request #8125 from poettering/cgroups-migrate
Trivial merge conflict resolved locally.
Zbigniew Jędrzejewski-Szmek [Thu, 15 Feb 2018 12:15:45 +0000 (13:15 +0100)]
machined: change check_gc to may_gc everywhere
Zbigniew Jędrzejewski-Szmek [Thu, 15 Feb 2018 12:14:35 +0000 (13:14 +0100)]
logind: change check_gc to may_gc everywhere
Zbigniew Jędrzejewski-Szmek [Tue, 13 Feb 2018 23:52:21 +0000 (00:52 +0100)]
pid1: also show gc status for jobs like we do for units
Zbigniew Jędrzejewski-Szmek [Tue, 13 Feb 2018 23:39:06 +0000 (00:39 +0100)]
pid1: rename job_check_gc to job_may_gc
The reasoning is the same as for unit_can_gc.
v2:
- rename can_gc to may_gc
Zbigniew Jędrzejewski-Szmek [Tue, 13 Feb 2018 22:57:43 +0000 (23:57 +0100)]
pid1: properly remove references to the unit from gc queue during final cleanup
When various references to the unit were dropped during cleanup in unit_free(),
add_to_gc_queue() could be called on this unit. If the unit was previously in
the gc queue (at the time when unit_free() was called on it), this wouldn't
matter, because it'd have in_gc_queue still set even though it was already
removed from the queue. But if it wasn't set, then the unit could be added to
the queue. Then after unit_free() would deallocate the unit, we would be left
with a dangling pointer in gc_queue.
A unit could be added to the gc queue in two places called from unit_free():
in the job_install calls, and in unit_ref_unset(). The first was OK, because
it was above the LIST_REMOVE(gc_queue,...) call, but the second was not, because
it was after that. Move the all LIST_REMOVE() calls down.
Zbigniew Jędrzejewski-Szmek [Tue, 13 Feb 2018 23:01:05 +0000 (00:01 +0100)]
pid1: free basic unit information at the very end, before freeing the unit
We would free stuff like the names of the unit first, and then recurse
into other structures to remove the unit from there. Technically this
was OK, since the code did not access the name, but this makes debugging
harder. And if any log messages are added in any of those functions, they
are likely to access u->id and such other basic information about the unit.
So let's move the removal of this "basic" information towards the end
of unit_free().
Zbigniew Jędrzejewski-Szmek [Tue, 13 Feb 2018 13:37:11 +0000 (14:37 +0100)]
pid1: fix collection of cycles of units which reference one another
A .socket will reference a .service unit, by registering a UnitRef with the
.service unit. If this .service unit has the .socket unit listed in Wants or
Sockets or such, a cycle will be created. We would not free this cycle
properly, because we treated any unit with non-empty refs as uncollectable. To
solve this issue, treats refs with UnitRef in u->refs_by_target similarly to
the refs in u->dependencies, and check if the "other" unit is known to be
needed. If it is not needed, do not treat the reference from it as preventing
the unit we are looking at from being freed.
Zbigniew Jędrzejewski-Szmek [Tue, 13 Feb 2018 12:12:43 +0000 (13:12 +0100)]
pid1: include the source unit in UnitRef
No functional change.
The source unit manages the reference. It allocates the UnitRef structure and
registers it in the target unit, and then the reference must be destroyed
before the source unit is destroyed. Thus, is should be OK to include the
pointer to the source unit, it should be live as long as the reference exists.
v2:
- rename refs to refs_by_target
Zbigniew Jędrzejewski-Szmek [Tue, 13 Feb 2018 09:50:13 +0000 (10:50 +0100)]
pid1: rename unit_check_gc to unit_may_gc
"check" is unclear: what is true, what is false? Let's rename to "can_gc" and
revert the return value ("positive" values are easier to grok).
v2:
- rename from unit_can_gc to unit_may_gc
Jakub Filak [Thu, 15 Feb 2018 11:12:46 +0000 (12:12 +0100)]
coredump: accept hostname on command line (#8033)
This commint adds a new command line parameter to sytemd-coredump. The
parameter should be mappend to core_pattern's placeholder %h - hostname.
The field _HOSTNAME holds the name from the kernel's namespaces which might be
different then the one comming from process' namespaces.
It is true that the real hostname is usually available in the field
COREDUMP_ENVIRON (environment variables) but I believe it is more reliable to
use the value passed by kernel.
----
The length of iovec is no longer static and hence I corrected the declarations
of the functions set_iovec_field and set_iovec_field_free.
Thank you @yuwata and @poettering!
Zbigniew Jędrzejewski-Szmek [Thu, 15 Feb 2018 10:43:08 +0000 (11:43 +0100)]
meson: add -Dmemory-accounting-default=true|false
This makes it easy to set the default for distributions and users which want to
default to off because they primarily use older kernels.
Zbigniew Jędrzejewski-Szmek [Thu, 15 Feb 2018 09:30:46 +0000 (10:30 +0100)]
udevadm: fix fd leak on oom
Unlikely, but let's be correct.
CID #1386003.
Thomas Haller [Thu, 15 Feb 2018 09:49:55 +0000 (10:49 +0100)]
dhcp6: fix uninitialized variable in returning from client_parse_message() (#8187)
Compiler warns about this with -Werror=maybe-uninitialized.
Fixes:
3bc424a3cc0bacc688ec2f4f93a5560fb4ca393b
Zbigniew Jędrzejewski-Szmek [Thu, 15 Feb 2018 09:18:25 +0000 (10:18 +0100)]
nspawn: make sure we don't leak the fd in chase_symlinks_and_update
No callers use CHASE_OPEN right now, but let's be defensive.
Zbigniew Jędrzejewski-Szmek [Thu, 15 Feb 2018 09:10:01 +0000 (10:10 +0100)]
core: move very long argument to a separate statement
I like compact, but this was a bit too much.
Zbigniew Jędrzejewski-Szmek [Thu, 15 Feb 2018 08:37:44 +0000 (09:37 +0100)]
sd-dhcp6: fix check if serverid is set
Ever since the initial implementation in
631bbe71298ec892f77f44f94feb612646fe6853,
client_parse_message() was supposed to check that the message contains exactly
one serverid. The check that no more than one is given was implemented
correctly, but the check that at least one is given was not. Simplify the whole
thing by making dhcp6_lease_get_serverid() return an error if the id is not
set, and do not require the arguments to be present if the contents of the id
are not needed.
Zbigniew Jędrzejewski-Szmek [Thu, 15 Feb 2018 08:20:36 +0000 (09:20 +0100)]
libsystemd-network: unitialized return value
r will *usually* be set, but for some packets it might not.
CID #1385308.
Lennart Poettering [Wed, 14 Feb 2018 18:56:24 +0000 (19:56 +0100)]
mkosi: add pcre2 to our build deps, as we can now link to it
Lennart Poettering [Wed, 14 Feb 2018 17:41:37 +0000 (18:41 +0100)]
ask-password-api: many fixes to ask_password_tty()
A couple of fixes:
1. always bzero_explicit() away what we remove from the passphrase
buffer. The UTF-8 code assumes the string remains NUL-terminated, and
we hence should enforce that. memzero() would do too here, but let's
be paranoid after all this is key material.
2. when clearing '*' characters from string, do so counting UTF-8
codepoints properly. We already have code in place to count UTF-8
codepoints when generating '*' characters, hence we should take the
same care when clearing them again.
3. Treat NUL on input as an alternative terminator to newline or EOF.
4. When removing characters from the password always also reset the
"codepoint" index properly.
Lennart Poettering [Wed, 14 Feb 2018 17:41:03 +0000 (18:41 +0100)]
utf8: add utf8_n_codepoints() for counting complete utf8 codepoints in a string
Lennart Poettering [Wed, 14 Feb 2018 16:30:37 +0000 (17:30 +0100)]
terminal-util: make resolve_dev_console() less weird
Let's normalize the behaviour: return a negative errno style error code,
and return the resolved string directly as argument.
Lennart Poettering [Wed, 14 Feb 2018 13:56:17 +0000 (14:56 +0100)]
terminal-util: modernize get_kernel_consoles() a bit
Also, make sure when we run in a container, we don't use the data from
/sys at all, but immediately fall back to /dev/console itself.
Lennart Poettering [Wed, 14 Feb 2018 13:30:30 +0000 (14:30 +0100)]
tty-ask-password-agent: reenable color for boot-time password prompt
The password prompt used to be highlighted, and that was a good thing.
Let's fix things to make the prompt highlighted again.
Fixes: #3853
Lennart Poettering [Wed, 14 Feb 2018 13:28:17 +0000 (14:28 +0100)]
terminal-util: add some explanatory comments
Lennart Poettering [Wed, 14 Feb 2018 13:28:00 +0000 (14:28 +0100)]
update TODO
Lennart Poettering [Wed, 14 Feb 2018 13:27:31 +0000 (14:27 +0100)]
process: shortcut getenv_for_pid() for our own process
Lucas Werkmeister [Wed, 14 Feb 2018 13:11:24 +0000 (14:11 +0100)]
man: make systemd-socket-activate point to systemd-run (#8151)
Now that systemd-run also supports socket units, it makes sense to link
to that command from the systemd-socket-activate manpage.
Boucman [Wed, 14 Feb 2018 13:10:07 +0000 (14:10 +0100)]
Allow timers to trigger timers (#8043)
Unlike any other unit type, it makes sense for a timer to start another
timer. It is an easy way to crate logical "and" between time conditions
for instance, every day but no less than 5' after boot can easily be
implemented by a OnBootSec triggering an OnCalendar.
This is particulary usefull with Persistant timers which tend to all fire
together at startup
Davide Cavalca [Wed, 14 Feb 2018 13:08:50 +0000 (05:08 -0800)]
meson: factor out daemon/event/id128 sources into variables (#8170)
Piotr Drąg [Wed, 14 Feb 2018 13:06:14 +0000 (14:06 +0100)]
po: update Polish translation (#8169)
Zbigniew Jędrzejewski-Szmek [Wed, 14 Feb 2018 12:52:17 +0000 (13:52 +0100)]
Merge pull request #8144 from poettering/journal-inotify-fixes
various journal fixes
Jan Synacek [Wed, 14 Feb 2018 10:34:47 +0000 (11:34 +0100)]
man: link latest FHS spec in file-hierarchy(7) (#8178)
Sylvain Plantefève [Tue, 13 Feb 2018 19:45:54 +0000 (20:45 +0100)]
po: update French translation
Zbigniew Jędrzejewski-Szmek [Wed, 14 Feb 2018 08:34:46 +0000 (09:34 +0100)]
Lennart Poettering [Tue, 13 Feb 2018 23:13:26 +0000 (00:13 +0100)]
ask-password: pretty flags enum definition a bit
Lennart Poettering [Tue, 13 Feb 2018 23:10:00 +0000 (00:10 +0100)]
tty-ask-password-agent: don't open terminal multiple times
We already have the terminal open, hence pass the fd we got to
ask_password_tty(), so that it doesn't have to reopen it a second time.
This is mostly an optimization, but it has the nice benefit of making us
independent from RLIMIT_NOFILE issues and so on, as we don't need to
allocate another fd needlessly.
Lennart Poettering [Tue, 13 Feb 2018 23:02:23 +0000 (00:02 +0100)]
ask-password: derive pollfd array from enum
It's prettier that way!
Lennart Poettering [Tue, 13 Feb 2018 22:57:57 +0000 (23:57 +0100)]
ask-password: round up when determining sleep time
We should rather sleep to much than too little. This otherwise might
result in a busy loop, because we slept too little and then recheck
again coming to the conclusion we need to go to sleep again, and so on.
Lennart Poettering [Tue, 13 Feb 2018 22:57:40 +0000 (23:57 +0100)]
ask-password: let's use structure initialization properly
Lennart Poettering [Tue, 13 Feb 2018 22:57:13 +0000 (23:57 +0100)]
ask-password: let's (void) cast where appropriate
Lennart Poettering [Tue, 13 Feb 2018 22:56:57 +0000 (23:56 +0100)]
ask-password: bypass clean-up if we don't need it
Lennart Poettering [Tue, 13 Feb 2018 22:55:58 +0000 (23:55 +0100)]
ask-password: don't use ttyfd if it is not set
Lennart Poettering [Tue, 13 Feb 2018 22:55:19 +0000 (23:55 +0100)]
tty-ask-password-agent: show right TTY path in error message
Lennart Poettering [Tue, 13 Feb 2018 22:53:59 +0000 (23:53 +0100)]
tty-ask-password-agent: assing sendto() result to a ssize_t variable, not an int
We should be careful with these types, and if we do convert between
"int" and "ssize_t" we should do so explicitly rather than implicitly.
Otherwise this just looks like a bug.
Lennart Poettering [Tue, 13 Feb 2018 22:53:34 +0000 (23:53 +0100)]
terminal-util: minor, trivial fixes and improvements
Lennart Poettering [Tue, 13 Feb 2018 22:50:26 +0000 (23:50 +0100)]
terminal-util: when making /dev/null or the console stdio, forget cached terminal features
Let's forget all relevant terminal features we learnt when we make a
console or /dev/null stdin/stdout/stderr.
Also, while we are at it, let's drop the various _unlikely_ and
_likely_ annotiations around the terminal feature caches. In many cases
we call the relevant functions only once in which cases the annotations
are likely to do just harm and no good. After all we can't know if the
specific code will call us just once or many times...
Lennart Poettering [Tue, 13 Feb 2018 20:24:37 +0000 (21:24 +0100)]
terminal-util: rework acquire_terminal()
This modernizes acquire_terminal() in a couple of ways:
1. The three boolean arguments are replaced by a flags parameter, that
should be more descriptive in what it does.
2. We now properly handle inotify queue overruns
3. We use _cleanup_ for closing the fds now, to shorten the code quite a
bit.
Behaviour should not be altered by this.
Lennart Poettering [Tue, 13 Feb 2018 18:17:17 +0000 (19:17 +0100)]
tty-ask-password-agent: make code a tiny bit shorter
Alan Jenkins [Tue, 13 Feb 2018 18:04:31 +0000 (18:04 +0000)]
manager: avoid infinite loop for unexpected waitid() error (#8168)
I think if we log the error as being _ignored_, we should also consider
the event as handled and clear it. This was the behaviour prior to
575b300b (PR #7968).
I don't think we particularly wanted to change behaviour and keep retrying.
Sometimes that's useful, other times you cause more problems by filling the
logs.
Plus a nearby typo fix.
Zbigniew Jędrzejewski-Szmek [Tue, 13 Feb 2018 09:03:09 +0000 (10:03 +0100)]
analyze: fix typo in error message
Zbigniew Jędrzejewski-Szmek [Tue, 13 Feb 2018 07:57:31 +0000 (08:57 +0100)]
test-strv: add a simple test for strv_free_free()
AsciiWolf [Tue, 13 Feb 2018 03:05:22 +0000 (04:05 +0100)]
l10n: update POTFILES.in (#8163)