]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
5 years agojournal: do not hide options in help message 9830/head
Yu Watanabe [Wed, 8 Aug 2018 06:29:07 +0000 (15:29 +0900)] 
journal: do not hide options in help message

Even if built without gcrypt, show the relevant options in help message.
Otherwise, the help message diverges from the man page or suggestions
by the shell completion.

5 years agobash-completion: journalctl: add --grep and --case-sensitive
Yu Watanabe [Wed, 8 Aug 2018 01:47:44 +0000 (10:47 +0900)] 
bash-completion: journalctl: add --grep and --case-sensitive

5 years agolink: fix type for link-config's "features" array of tristates
Thomas Haller [Tue, 7 Aug 2018 06:55:07 +0000 (08:55 +0200)] 
link: fix type for link-config's "features" array of tristates

The "features" fields is parsed as a tristate value. The values
are thus not of type NetDevFeature enum but int. The NetDevFeature
enum is instead the index for the features array.

Adjust the type. In practice, this had no impact because NetDevFeature
enum commonly has size of int.

Also, don't use memset() 0xFF to initilize the int with -1. While
it works correctly in practice, it feels ugly.

5 years agotest: cast values in proper type to suppress warnings
Yu Watanabe [Tue, 7 Aug 2018 09:25:00 +0000 (18:25 +0900)] 
test: cast values in proper type to suppress warnings

Follow-up for #9789.

5 years agoMerge pull request #9817 from yuwata/shorten-error-logging
Lennart Poettering [Tue, 7 Aug 2018 08:44:44 +0000 (10:44 +0200)] 
Merge pull request #9817 from yuwata/shorten-error-logging

tree-wide: Shorten error logging and several code cleanups

5 years agoMerge pull request #9744 from yuwata/fix-9737
Lennart Poettering [Tue, 7 Aug 2018 07:55:07 +0000 (09:55 +0200)] 
Merge pull request #9744 from yuwata/fix-9737

Make RootImage= work with PrivateDevices=

5 years agohwdb: redefine Lenovo ThinkPad X140e touchpad dimensions (#9818)
Michael 'pbone' Pobega [Tue, 7 Aug 2018 07:41:49 +0000 (03:41 -0400)] 
hwdb: redefine Lenovo ThinkPad X140e touchpad dimensions (#9818)

The default setup for the Lenovo ThinkPad X140e is 104x104mm, and the kernel
claims that it's 64x21. The default 104x104mm dimensions causes the vertical
axis to act oddly, causing random vertical jitters and higher vertical
sensitivity.

Measuring it showed that it was 74x32, and these touchpad dimensions provide
a better (if a little bit slower) experience but a consistent sensitivity
in all directions.

These values were obtained using the `touchpad-edge-detector` tool.

5 years agoMerge pull request #9789 from filbranden/cmp1
Lennart Poettering [Tue, 7 Aug 2018 07:39:26 +0000 (09:39 +0200)] 
Merge pull request #9789 from filbranden/cmp1

Add new CMP(a, b) macro

5 years agosystemctl: add support for --wait to is-system-running
Filipe Brandenburger [Sat, 4 Aug 2018 06:10:54 +0000 (23:10 -0700)] 
systemctl: add support for --wait to is-system-running

This makes it possible to wait until boot is finished without having to poll
for this command repeatedly, instead using the syntax:

  $ systemctl is-system-running --wait

Waiting is implemented by waiting for the StartupFinished signal to be posted
on the bus.

Register the matcher before checking for the property to avoid race conditions.

Tested by artificially delaying startup with a oneshot service and calling this
command, checked that it emitted `running` and exited with a 0 return code as
soon as the delay service completed startup.

Also tested that booting to degraded state unblocks the command.

Inserted a delay between getting the property and waiting for the signal and
confirmed this seems to work free of race conditions.

Updated the --help text (under --wait) and the man page to document the new
feature.

5 years agotree-wide: use returned value from log_*_errno() 9817/head
Yu Watanabe [Tue, 7 Aug 2018 06:48:37 +0000 (15:48 +0900)] 
tree-wide: use returned value from log_*_errno()

5 years agodns-domain: use CMP() in dns_name_compare_func 9789/head
Filipe Brandenburger [Tue, 7 Aug 2018 02:23:41 +0000 (19:23 -0700)] 
dns-domain: use CMP() in dns_name_compare_func

5 years agoresolve: use CMP() in dns_resource_record_compare_func
Filipe Brandenburger [Tue, 7 Aug 2018 02:21:38 +0000 (19:21 -0700)] 
resolve: use CMP() in dns_resource_record_compare_func

This function doesn't really implement ordering, but CMP() is still fine to use
there. Keep the comment in place, just update it slightly to indicate that.

5 years agotree-wide: Convert compare_func's to use CMP() macro wherever possible.
Filipe Brandenburger [Thu, 2 Aug 2018 23:43:37 +0000 (16:43 -0700)] 
tree-wide: Convert compare_func's to use CMP() macro wherever possible.

Looked for definitions of functions using the *_compare_func() suffix.

Tested:
- Unit tests passed (ninja -C build/ test)
- Installed this build and booted with it.

5 years agonetwork: Use CMP() macro for comparison.
Filipe Brandenburger [Thu, 2 Aug 2018 23:00:53 +0000 (16:00 -0700)] 
network: Use CMP() macro for comparison.

Follow up for PRs #9764 and #9760.

5 years agomacros: add CMP(a, b) macro.
Filipe Brandenburger [Thu, 2 Aug 2018 21:37:42 +0000 (14:37 -0700)] 
macros: add CMP(a, b) macro.

Macro returns -1, 0, 1 depending on whether a < b, a == b or a > b.

It's safe to use on unsigned types.

Add tests to confirm corner cases are properly covered.

5 years agomacro: drop __extension__, reformat and reindent
Filipe Brandenburger [Tue, 7 Aug 2018 02:15:02 +0000 (19:15 -0700)] 
macro: drop __extension__, reformat and reindent

Drop __extension__, since we don't use gcc -Wpedantic or -ansi.

Reformat code for spacing. Add spaces after commas almost everywhere.
Reindent code blocks in macro definitions, for consistency.

5 years agotree-wide: shorten error logging a bit
Yu Watanabe [Tue, 7 Aug 2018 01:14:30 +0000 (10:14 +0900)] 
tree-wide: shorten error logging a bit

Continuation of 4027f96aa08c73f109aa46b89842ca0e25c9c0e9.

5 years agoresolve: use _cleanup_ attribute
Yu Watanabe [Tue, 7 Aug 2018 01:13:44 +0000 (10:13 +0900)] 
resolve: use _cleanup_ attribute

5 years agomachine: use free_and_replace() and TAKE_PTR()
Yu Watanabe [Tue, 7 Aug 2018 01:11:56 +0000 (10:11 +0900)] 
machine: use free_and_replace() and TAKE_PTR()

5 years agologin: use free_and_replace() and TAKE_PTR()
Yu Watanabe [Tue, 7 Aug 2018 01:10:12 +0000 (10:10 +0900)] 
login: use free_and_replace() and TAKE_PTR()

5 years agoinitctl: do not ignore errors in function
Yu Watanabe [Tue, 7 Aug 2018 01:06:49 +0000 (10:06 +0900)] 
initctl: do not ignore errors in function

5 years agomachinectl: shorten error logging a bit
Lennart Poettering [Mon, 6 Aug 2018 13:47:03 +0000 (15:47 +0200)] 
machinectl: shorten error logging a bit

5 years agosmack-util: use 'path' paremeter as is if it's already absolute in mac_smack_fix_at()
Franck Bui [Mon, 6 Aug 2018 09:31:04 +0000 (11:31 +0200)] 
smack-util: use 'path' paremeter as is if it's already absolute in mac_smack_fix_at()

5 years agoMerge pull request #9792 from poettering/hashmap-mempool
Zbigniew Jędrzejewski-Szmek [Mon, 6 Aug 2018 12:13:30 +0000 (14:13 +0200)] 
Merge pull request #9792 from poettering/hashmap-mempool

minor hashmap fixes

5 years agoresolve: treat some icmp errors as disconnected
Yu Watanabe [Thu, 2 Aug 2018 06:36:32 +0000 (15:36 +0900)] 
resolve: treat some icmp errors as disconnected

Fixes #9773.

5 years agoresolve: sort headers
Yu Watanabe [Thu, 2 Aug 2018 06:41:48 +0000 (15:41 +0900)] 
resolve: sort headers

5 years agoMerge pull request #9775 from yuwata/follow-up-9766
Zbigniew Jędrzejewski-Szmek [Mon, 6 Aug 2018 05:58:50 +0000 (07:58 +0200)] 
Merge pull request #9775 from yuwata/follow-up-9766

5 years agonamespace: implicitly adds DeviceAllow= when RootImage= is set 9744/head
Yu Watanabe [Mon, 6 Aug 2018 05:02:28 +0000 (14:02 +0900)] 
namespace: implicitly adds DeviceAllow= when RootImage= is set

RootImage= may require the following settings
```
DeviceAllow=/dev/loop-control rw
DeviceAllow=block-loop rwm
DeviceAllow=block-blkext rwm
```
This adds the following settings implicitly when RootImage= is
specified.

Fixes #9737.

5 years agocore: introduce cgroup_add_device_allow()
Yu Watanabe [Mon, 6 Aug 2018 04:42:14 +0000 (13:42 +0900)] 
core: introduce cgroup_add_device_allow()

5 years agocore/namespace: drop mount points outside of root even if RootDirectory= is not set
Yu Watanabe [Sat, 28 Jul 2018 15:42:41 +0000 (00:42 +0900)] 
core/namespace: drop mount points outside of root even if RootDirectory= is not set

5 years agocore/namespace: drop conditions depends on `root` is empty or not
Yu Watanabe [Sat, 28 Jul 2018 15:38:36 +0000 (00:38 +0900)] 
core/namespace: drop conditions depends on `root` is empty or not

After 0722b359342d2a9f9e0d453875624387a0ba1be2, the variable `root`
is always set.

5 years agoresolve: fix error handling of dns_name_is_valid() 9775/head
Yu Watanabe [Thu, 2 Aug 2018 07:54:27 +0000 (16:54 +0900)] 
resolve: fix error handling of dns_name_is_valid()

5 years agoman: mention that Hostname= for DHCP must be a valid DNS domain name
Yu Watanabe [Thu, 2 Aug 2018 07:32:42 +0000 (16:32 +0900)] 
man: mention that Hostname= for DHCP must be a valid DNS domain name

5 years agonetwork: DHCP: ignore error in setting hostname when it is given by uname()
Yu Watanabe [Thu, 2 Aug 2018 07:31:10 +0000 (16:31 +0900)] 
network: DHCP: ignore error in setting hostname when it is given by uname()

C.f. #9759.

5 years agonetwork: use free_and_replace()
Yu Watanabe [Thu, 2 Aug 2018 07:28:44 +0000 (16:28 +0900)] 
network: use free_and_replace()

5 years agonetwork: also check that Hostname= is a valid DNS domain name
Yu Watanabe [Thu, 2 Aug 2018 07:28:23 +0000 (16:28 +0900)] 
network: also check that Hostname= is a valid DNS domain name

5 years agoMerge pull request #8822 from fbuihuu/rfc-tmpfiles-safe-upstream
Lennart Poettering [Fri, 3 Aug 2018 16:11:36 +0000 (18:11 +0200)] 
Merge pull request #8822 from fbuihuu/rfc-tmpfiles-safe-upstream

Make tmpfiles safe

5 years agoman: include libsystemd-pkgconfig.xml in a few more man pages 9792/head
Lennart Poettering [Fri, 3 Aug 2018 15:34:40 +0000 (17:34 +0200)] 
man: include libsystemd-pkgconfig.xml in a few more man pages

for some reason this was forgotten for a couple of sd_bus man pages,
let's fix that.

5 years agotest-resolved: follow coding style, use fopen() with 'e'
Lennart Poettering [Fri, 3 Aug 2018 14:48:53 +0000 (16:48 +0200)] 
test-resolved: follow coding style, use fopen() with 'e'

5 years agohashmap: add an explicit assert() for detecting when objects migrated between threads
Lennart Poettering [Fri, 3 Aug 2018 14:46:26 +0000 (16:46 +0200)] 
hashmap: add an explicit assert() for detecting when objects migrated between threads

When clients don't follow protocol and use the same object from
different threads, then we previously would silently corrupt memory.
With this assert we'll fail with an assert(). This doesn't fix anything
but certainly makes mis-uses easier to detect and debug.

Triggered by https://bugzilla.redhat.com/show_bug.cgi?id=1609349

5 years agohashmap: add an environment variable to turn off the memory pool used by hashmaps
Lennart Poettering [Fri, 3 Aug 2018 14:45:21 +0000 (16:45 +0200)] 
hashmap: add an environment variable to turn off the memory pool used by hashmaps

Triggered by https://bugzilla.redhat.com/show_bug.cgi?id=1609349

5 years agoman: be more explicit about thread safety of sd_journal
Lennart Poettering [Fri, 3 Aug 2018 14:43:30 +0000 (16:43 +0200)] 
man: be more explicit about thread safety of sd_journal

Triggered by https://bugzilla.redhat.com/show_bug.cgi?id=1609349

This adds two generic paragaphs we include via xinclude. One is the
"strict" version, which contains wording saying that we are thread
agnostic and what that means. And the other is the "safe" version, for
the cases we provide fully safety.

Let's then change most man pages to use either of these generic
paragraphs. With one exception: man/sd_journal_get_catalog.xml contains
both kinds of function, we hence use manual wording.

5 years agoupdate TODO
Lennart Poettering [Fri, 3 Aug 2018 14:41:42 +0000 (16:41 +0200)] 
update TODO

5 years agoMerge pull request #9791 from poettering/user-runtime-dir-fixes
Zbigniew Jędrzejewski-Szmek [Fri, 3 Aug 2018 11:32:01 +0000 (13:32 +0200)] 
Merge pull request #9791 from poettering/user-runtime-dir-fixes

user-runtime-dir@.service fixes

5 years agoMerge pull request #9787 from yuwata/dns-over-tls-log
Lennart Poettering [Fri, 3 Aug 2018 11:11:18 +0000 (13:11 +0200)] 
Merge pull request #9787 from yuwata/dns-over-tls-log

DNS-over-TLS(openssl): fix error handling

5 years agounits: assign user-runtime-dir@.service to user-%i.slice 9791/head
Lennart Poettering [Fri, 3 Aug 2018 08:45:31 +0000 (10:45 +0200)] 
units: assign user-runtime-dir@.service to user-%i.slice

This service won't use much resources, but it's certainly nicer to see
it attached th the user's slice along with user@.service, so that
everything we run for a specific user is properly bound into one unit.

5 years agounits: order user-runtime-dir@.service after systemd-user-sessions.service
Lennart Poettering [Fri, 3 Aug 2018 08:42:09 +0000 (10:42 +0200)] 
units: order user-runtime-dir@.service after systemd-user-sessions.service

We use systemd-user-sessions.service as barrier when to allow login
sessions. With this patch user@.service is ordered after that too, so
that any login related code (which user-runtime-dir@.service is) is
guaranteed to run after the barrier, and never before.

5 years agounits: make sure user-runtime-dir@.service is Type=oneshot
Lennart Poettering [Thu, 2 Aug 2018 18:57:56 +0000 (20:57 +0200)] 
units: make sure user-runtime-dir@.service is Type=oneshot

We order user@.service after it, hence we need to properly know when it
finished starting up.

5 years agouser-runtime-dir: downgrade a few log messages to LOG_DEBUG that we ignore
Lennart Poettering [Thu, 2 Aug 2018 18:56:34 +0000 (20:56 +0200)] 
user-runtime-dir: downgrade a few log messages to LOG_DEBUG that we ignore

As the comments already say it might be quite likely that
$XDG_RUNTIME_DIR is not set up as mount, and we shouldn't complain about
that.

Moreover, let's make this idempotent, so that a runtime dir that is
already gone and is removed again doesn't cause failure.

5 years agoresolve: openssl: make dnstls_stream_{write,read}() may return zero 9787/head
Yu Watanabe [Thu, 2 Aug 2018 22:18:43 +0000 (07:18 +0900)] 
resolve: openssl: make dnstls_stream_{write,read}() may return zero

5 years agoresolve: fix error handling of SSL_shutdown()
Yu Watanabe [Thu, 2 Aug 2018 21:34:19 +0000 (06:34 +0900)] 
resolve: fix error handling of SSL_shutdown()

5 years agoresolve: fix typo and coding style cleanups
Yu Watanabe [Thu, 2 Aug 2018 21:29:38 +0000 (06:29 +0900)] 
resolve: fix typo and coding style cleanups

5 years agoresolve: clear error queue before calling SSL_*()
Yu Watanabe [Thu, 2 Aug 2018 21:26:58 +0000 (06:26 +0900)] 
resolve: clear error queue before calling SSL_*()

5 years agoman: document that 'nofail' also has an effect on ordering
Lennart Poettering [Thu, 2 Aug 2018 18:05:51 +0000 (20:05 +0200)] 
man: document that 'nofail' also has an effect on ordering

Prompted by #9765

5 years agoMerge pull request #9776 from keszybz/sd-bus-docs
Lennart Poettering [Thu, 2 Aug 2018 15:07:03 +0000 (17:07 +0200)] 
Merge pull request #9776 from keszybz/sd-bus-docs

More man pages for sd-bus and related changes

5 years agoresolve: fix error handling of dns_stream_read()
Yu Watanabe [Thu, 2 Aug 2018 13:38:22 +0000 (22:38 +0900)] 
resolve: fix error handling of dns_stream_read()

5 years agoMerge pull request #9764 from yuwata/hash_ops-cleanups
Zbigniew Jędrzejewski-Szmek [Thu, 2 Aug 2018 13:53:05 +0000 (15:53 +0200)] 
Merge pull request #9764 from yuwata/hash_ops-cleanups

Hash ops cleanups

5 years agoman: add sd_bus_message_rewind(3) 9776/head
Zbigniew Jędrzejewski-Szmek [Thu, 2 Aug 2018 08:38:51 +0000 (10:38 +0200)] 
man: add sd_bus_message_rewind(3)

5 years agoman: document sd_bus_slot_get_bus in sd_bus_slot_ref(3)
Zbigniew Jędrzejewski-Szmek [Wed, 1 Aug 2018 22:00:15 +0000 (00:00 +0200)] 
man: document sd_bus_slot_get_bus in sd_bus_slot_ref(3)

Similar reasoning as for sd_bus_message_get_bus().

5 years agoman: add sd_bus_slot_set_description(3)
Zbigniew Jędrzejewski-Szmek [Wed, 1 Aug 2018 21:56:36 +0000 (23:56 +0200)] 
man: add sd_bus_slot_set_description(3)

5 years agoman: add sd_bus_slot_set_userdata(3)
Zbigniew Jędrzejewski-Szmek [Wed, 1 Aug 2018 21:41:49 +0000 (23:41 +0200)] 
man: add sd_bus_slot_set_userdata(3)

5 years agoman: add sd_bus_message_set_expect_reply(3)
Zbigniew Jędrzejewski-Szmek [Wed, 1 Aug 2018 15:27:31 +0000 (17:27 +0200)] 
man: add sd_bus_message_set_expect_reply(3)

5 years agoman: document sd_bus_message_get_bus() in sd_bus_message_new(3)
Zbigniew Jędrzejewski-Szmek [Fri, 27 Jul 2018 15:47:17 +0000 (17:47 +0200)] 
man: document sd_bus_message_get_bus() in sd_bus_message_new(3)

It's not a particularly obvious place, but it's a trivial function that isn't
worth a man page of its own, and it doesn't fit anywhere else either.

5 years agoman: add sd_bus_message_verify_type(3)
Zbigniew Jędrzejewski-Szmek [Fri, 27 Jul 2018 14:33:02 +0000 (16:33 +0200)] 
man: add sd_bus_message_verify_type(3)

5 years agosd-bus: verify destination and sender values when setting
Zbigniew Jędrzejewski-Szmek [Fri, 27 Jul 2018 13:39:46 +0000 (15:39 +0200)] 
sd-bus: verify destination and sender values when setting

We would verify destination e.g. in sd_bus_message_new_call, but allow setting
any value later on with sd_bus_message_set_destination. I assume this check was
omitted not on purpose.

5 years agoman: add sd_bus_message_get_type(3)
Zbigniew Jędrzejewski-Szmek [Fri, 27 Jul 2018 12:58:41 +0000 (14:58 +0200)] 
man: add sd_bus_message_get_type(3)

sd_bus_message{get_type,is_signal,is_method_call,is_method_error} get one man
page.

sd_bus_message_{set,get}_{destination,path,interface,member,sender} are put in
the second one.

5 years agoman: add sd_bus_slot_ref(3)
Zbigniew Jędrzejewski-Szmek [Fri, 27 Jul 2018 12:15:50 +0000 (14:15 +0200)] 
man: add sd_bus_slot_ref(3)

5 years agoman: document sd_bus_message_new_method_return
Zbigniew Jędrzejewski-Szmek [Fri, 27 Jul 2018 12:07:02 +0000 (14:07 +0200)] 
man: document sd_bus_message_new_method_return

5 years agomeson: print stats in check-api-docs
Zbigniew Jędrzejewski-Szmek [Fri, 27 Jul 2018 08:32:20 +0000 (10:32 +0200)] 
meson: print stats in check-api-docs

5 years agoman: document *_with_description functions
Zbigniew Jędrzejewski-Szmek [Fri, 27 Jul 2018 07:56:43 +0000 (09:56 +0200)] 
man: document *_with_description functions

5 years agoman: add sd_bus_message_new(3)
Zbigniew Jędrzejewski-Szmek [Fri, 27 Jul 2018 07:03:04 +0000 (09:03 +0200)] 
man: add sd_bus_message_new(3)

5 years agoman: move more examples to stand-alone files and use 2-space indentation consistenty
Zbigniew Jędrzejewski-Szmek [Fri, 27 Jul 2018 06:24:45 +0000 (08:24 +0200)] 
man: move more examples to stand-alone files and use 2-space indentation consistenty

Moving them out makes it easier to run them through a compiler, use automatic
indentation, and opens the possibility to provide a download link in the
future. I verified that all examples compile cleanly.

(2-space indentation is used because the examples are already significantly
indented in the man page, and we need to keep them narrow so that they display
well on standard terminals.)

5 years agoman: clarify what can be NULL in an sd_bus_unrefp call
Zbigniew Jędrzejewski-Szmek [Fri, 27 Jul 2018 06:06:07 +0000 (08:06 +0200)] 
man: clarify what can be NULL in an sd_bus_unrefp call

Confusingly, the argument is called 'bus' in all cases. Let's not give people
the idea to call sd_bus_unrefp(NULL).

5 years agoman: add sd_bus_message_new_call(3)
Zbigniew Jędrzejewski-Szmek [Thu, 26 Jul 2018 18:00:36 +0000 (20:00 +0200)] 
man: add sd_bus_message_new_call(3)

5 years agoman: add sd_bus_message_new_signal(3)
Zbigniew Jędrzejewski-Szmek [Tue, 24 Jul 2018 21:23:29 +0000 (23:23 +0200)] 
man: add sd_bus_message_new_signal(3)

5 years agobasic: use FAMILY_ADDRESS_SIZE() macro in hash_ops for in_addr_data 9764/head
Yu Watanabe [Tue, 31 Jul 2018 16:18:57 +0000 (01:18 +0900)] 
basic: use FAMILY_ADDRESS_SIZE() macro in hash_ops for in_addr_data

5 years agonetwork: make compare functions safe
Yu Watanabe [Tue, 31 Jul 2018 16:15:23 +0000 (01:15 +0900)] 
network: make compare functions safe

As the variable 'line' is unsigned.

5 years agoMerge pull request #9624 from poettering/service-state-flush
Zbigniew Jędrzejewski-Szmek [Thu, 2 Aug 2018 07:50:39 +0000 (09:50 +0200)] 
Merge pull request #9624 from poettering/service-state-flush

flush out ExecStatus structures when a new service cycle begins

5 years agonetwork: add more log messages in configuring DHCP6 client
Yu Watanabe [Wed, 1 Aug 2018 01:42:49 +0000 (10:42 +0900)] 
network: add more log messages in configuring DHCP6 client

5 years agonetwork: add more log messages in configuring DHCP4 client
Yu Watanabe [Wed, 1 Aug 2018 01:35:17 +0000 (10:35 +0900)] 
network: add more log messages in configuring DHCP4 client

5 years agoMerge pull request #9770 from keszybz/etc-resolved-no-address
Yu Watanabe [Thu, 2 Aug 2018 03:54:50 +0000 (12:54 +0900)] 
Merge pull request #9770 from keszybz/etc-resolved-no-address

Slightly more efficient handling of /etc/hosts blacklist entries

5 years agoresolved: change error handling for manager_etc_hosts_read() 9770/head
Zbigniew Jędrzejewski-Szmek [Wed, 1 Aug 2018 10:41:54 +0000 (12:41 +0200)] 
resolved: change error handling for manager_etc_hosts_read()

The choice what errors to ignore is left to the caller, and the caller is
changed to ignore all errors.

On error, previously read data is kept. So if e.g. an oom error happens, we
will continue to return slightly stale data instead of pretending we have no
entries for the given address. I think that's better, for example when
/etc/hosts contains some important overrides that external DNS should not be
queried for.

5 years agoresolved: keep addresses mapped to ::0 in a separate set
Zbigniew Jędrzejewski-Szmek [Tue, 31 Jul 2018 13:09:13 +0000 (15:09 +0200)] 
resolved: keep addresses mapped to ::0 in a separate set

We'd store every 0.0.0.0 and ::0 entry as a structure without any addresses
allocated. This is a somewhat common use case, let's optimize it a bit.

This gives some memory savings and a bit faster response time too:
'time build/test-resolved-etc-hosts hosts' goes from 7.7s to 5.6s, and
memory use as reported by valgrind for ~10000 hosts is reduced
==18097==   total heap usage: 29,902 allocs, 29,902 frees, 2,136,437 bytes allocated
==18240==   total heap usage: 19,955 allocs, 19,955 frees, 1,556,021 bytes allocated

Also rename 'suppress' to 'found' (with reverse meaning). I think this makes
the intent clearer.

5 years agotest-resolved-etc-hosts: add tests for /etc/hosts parsing
Zbigniew Jędrzejewski-Szmek [Tue, 31 Jul 2018 09:01:21 +0000 (11:01 +0200)] 
test-resolved-etc-hosts: add tests for /etc/hosts parsing

Calling 'build/test-resolved-etc-hosts filename' parses just that file.
This is useful to test against https://hosts.ubuntu101.co.za/hosts.

5 years agoresolved: put /etc/hosts hashmaps in a structure and pass that around
Zbigniew Jędrzejewski-Szmek [Tue, 31 Jul 2018 08:01:46 +0000 (10:01 +0200)] 
resolved: put /etc/hosts hashmaps in a structure and pass that around

This hides the details of juggling the two hashmaps from the callers a bit.
It also makes memory management a bit easier, because those two hashmaps share
some strings, so we can only free them together.

etc_hosts_parse() is made responsible to free the half-filled data structures
on error, which makes the caller a bit simpler.

No functional change. A refactoring to prepare for later changes.

5 years agotest-nss-files: simplify module name handling
Zbigniew Jędrzejewski-Szmek [Tue, 31 Jul 2018 14:06:43 +0000 (16:06 +0200)] 
test-nss-files: simplify module name handling

- drop compatibility with autotools (/.libs/ directory)
- don't special-case "libnss_dns", just try build/libnss_foo.so.2 and libnss_foo.so.2.
  This makes it possible to call e.g. build/test-nss files google.com.

5 years agomeson: drop parens when appending to list
Zbigniew Jędrzejewski-Szmek [Tue, 31 Jul 2018 07:44:11 +0000 (09:44 +0200)] 
meson: drop parens when appending to list

Meson does not care either way, so let's use the simpler syntax. And files()
already gives a list, so nesting this in a list wouldn't be necessary even
if meson did not flatten everything.

5 years agoMerge pull request #9760 from yuwata/resolve-etc-hosts-cleanup
Lennart Poettering [Tue, 31 Jul 2018 08:52:34 +0000 (10:52 +0200)] 
Merge pull request #9760 from yuwata/resolve-etc-hosts-cleanup

resolve: several cleanups of handing /etc/hosts

5 years agoudev: net_id: document predictable names for SR-IOV virtual devices
Evgeni Golov [Mon, 30 Jul 2018 11:56:07 +0000 (13:56 +0200)] 
udev: net_id: document predictable names for SR-IOV virtual devices

5 years agoresolve: support address with ifname in /etc/hosts 9760/head
Yu Watanabe [Tue, 31 Jul 2018 07:12:13 +0000 (16:12 +0900)] 
resolve: support address with ifname in /etc/hosts

5 years agoresolve: use in_addr_data type for storing address
Yu Watanabe [Tue, 31 Jul 2018 06:46:28 +0000 (15:46 +0900)] 
resolve: use in_addr_data type for storing address

5 years agobasic: introduce in_addr_data_hash_ops
Yu Watanabe [Tue, 31 Jul 2018 06:45:38 +0000 (15:45 +0900)] 
basic: introduce in_addr_data_hash_ops

5 years agopath-util: make use of path_join() in path_make_absolute_cwd() 8822/head
Franck Bui [Mon, 16 Jul 2018 15:57:41 +0000 (17:57 +0200)] 
path-util: make use of path_join() in path_make_absolute_cwd()

5 years agotmpfiles: add more tests
Franck Bui [Fri, 13 Apr 2018 13:32:25 +0000 (15:32 +0200)] 
tmpfiles: add more tests

5 years agotmpfiles: don't follow unsafe transitions in path_set_*()
Franck Bui [Tue, 20 Mar 2018 07:58:48 +0000 (08:58 +0100)] 
tmpfiles: don't follow unsafe transitions in path_set_*()

Since all path_set_*() helpers don't follow symlinks, it's possible to use
chase_symlinks(CHASE_NOFOLLOW) flag to both open the files specified by the
passed paths and check their validity (unlike their counterpart fd_set_*()
helpers).

5 years agofs-util: add new CHASE_NOFOLLOW flag to chase_symlinks()
Franck Bui [Thu, 26 Apr 2018 20:46:55 +0000 (22:46 +0200)] 
fs-util: add new CHASE_NOFOLLOW flag to chase_symlinks()

This flag mimics what "O_NOFOLLOW|O_PATH" does for open(2) that is
chase_symlinks() will not resolve the final pathname component if it's a
symlink and instead will return a file descriptor referring to the symlink
itself.

Note: if CHASE_SAFE is also passed, no safety checking is performed on the
transition done if the symlink would have been followed.

5 years agotmpfiles: make create_fifo() safe
Franck Bui [Fri, 27 Apr 2018 16:17:32 +0000 (18:17 +0200)] 
tmpfiles: make create_fifo() safe

5 years agofs-util: introduce mkfifoat_atomic() helper
Franck Bui [Fri, 27 Apr 2018 16:20:38 +0000 (18:20 +0200)] 
fs-util: introduce mkfifoat_atomic() helper

5 years agofileio: make tempfn_random_child() accept empty string as path
Franck Bui [Mon, 30 Jul 2018 13:10:49 +0000 (15:10 +0200)] 
fileio: make tempfn_random_child() accept empty string as path

In this case it simply returns the random generated filename with anything
prefixed.

5 years agotmpfiles: introduce create_fifo()
Franck Bui [Fri, 27 Apr 2018 16:11:26 +0000 (18:11 +0200)] 
tmpfiles: introduce create_fifo()