Merge pull request #7608 from poettering/more-news-v236

This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2017-12-12 21:11:31 +01:00
17 changed files with 97 additions and 46 deletions
+9
View File
@@ -132,3 +132,12 @@ Dmitriy Geels <dmitriy.geels@gmail.com>
Beniamino Galvani <bgalvani@redhat.com> <bengal@users.noreply.github.com>
Justin Capella <justincapella@gmail.com> <b1tninja@users.noreply.github.com>
Daniel Șerbănescu <dasj19@users.noreply.github.com>
Stanislav Angelovič <angelovic.s@gmail.com>
Torsten Hilbrich <torsten.hilbrich@gmx.net>
Tinu Weber <takeya@bluewin.ch>
Gwendal Grignou <gwendal@chromium.org>
José Bollo <jose.bollo@iot.bzh> <jobol@nonadev.net>
Patryk Kocielnik <longer44@gmail.com>
Lukáš Říha <cedel@centrum.cz>
Alan Robertson <aroberts@zen.iomart.com> <alanjrobertson@gmail.com>
Martin Steuer <martinsteuer@gmx.de>
+51 -23
View File
@@ -7,12 +7,13 @@ CHANGES WITH 236 in spe:
numdummies=0, preventing the kernel from automatically creating
dummy0. All dummy interfaces must now be explicitly created.
* Unknown specifiers are now rejected. This applies to units and
tmpfiles.d configuration. Any percent characters that are followed by
a letter or digit that are not supposed to be interpreted as the
beginning of a specifier should be escaped by doubling ("%%").
(So "size=5%" is still accepted, as well as "size=5%,foo=bar", but
not "LABEL=x%y%z" since %y and %z are not valid specifiers today.)
* Unknown '%' specifiers in configuration files are now rejected. This
applies to units and tmpfiles.d configuration. Any percent characters
that are followed by a letter or digit that are not supposed to be
interpreted as the beginning of a specifier should be escaped by
doubling ("%%"). (So "size=5%" is still accepted, as well as
"size=5%,foo=bar", but not "LABEL=x%y%z" since %y and %z are not
valid specifiers today.)
* systemd-resolved now maintains a new dynamic
/run/systemd/resolve/stub-resolv.conf compatibility file. It is
@@ -32,6 +33,17 @@ CHANGES WITH 236 in spe:
enabled in /etc/nsswitch.conf to ensure the UIDs assigned to these
services are resolved properly.
* In /etc/fstab two new mount options are now understood:
x-systemd.makefs and x-systemd.growfs. The former has the effect that
the configured file system is formatted before it is mounted, the
latter that the file system is resized to the full block device size
after it is mounted (i.e. if the file system is smaller than the
partition it resides on, it's grown). This is similar to the fsck
logic in /etc/fstab, and pulls in systemd-makefs@.service and
systemd-growfs@.service as necessary, similar to
systemd-fsck@.service. Resizing is currently only supported on ext4
and btrfs.
* In systemd-networkd, the IPv6 RA logic now optionally may announce
DNS server and domain information.
@@ -155,23 +167,39 @@ CHANGES WITH 236 in spe:
store again, ahead of POLLHUP or POLLERR when they are removed
anyway.
Contributions from: aeywalee, Alan Jenkins, Alessandro Ghedini, Andrew
Jeddeloh, Antonio Rojas, Ari, bleep_blop, Carsten Strotmann, Christian
Brauner, Christian Hesse, Collin Eggert, Daniel Lockyer, Daniel Rusek,
Dimitri John Ledkov, Evgeny Vereshchagin, Florian Klink, Franck Bui,
gwendalcr, Hans de Goede, Jakub Wilk, Jérémy Rosen, jobol, John Lin,
juga0, Krzysztof Nowicki, Lars Karlitski, Lars Kellogg-Stedman, Lauri
Tirkkonen, Lennart Poettering, longersson, Lubomir Rintel, Lucas
Werkmeister, lukas, Lukáš Nykrýn, Lukasz Rubaszewski, Maciej
S. Szmigiero, macrothian, Mantas Mikulėnas, martingh, Mathieu
Trudel-Lapierre, Matija Skala, Michael Biebl, Michael Vogt, Michal
Sekletar, Mike Gilbert, Muhammet Kara, myrkr, Neil Brown, Ondrej
Kozina, Patrik Flykt, Peter Hutterer, Piotr Drąg, Razvan Cojocaru,
Robin McCorkell, Roland Hieber, Sergey Ptashnick, Shawn Landden, Shuang
Liu, Simon Arlott, Simon Peeters, Stefan Agner, Susant Sahani, Sylvain
Plantefève, Thomas Blume, Tom Stellard, Topi Miettinen, Vito Caputo,
Vladislav Vishnyakov, WaLyong Cho, Yu Watanabe, Zbigniew
Jędrzejewski-Szmek, Zeal Jagannatha
* A new document UIDS-GIDS.md has been added to the source tree, that
documents the UID/GID range and assignment assumptions and
requirements of systemd.
* The watchdog device PID 1 will ping may now be configured through the
WatchdogDevice= configuration file setting, or by setting the
systemd.watchdog_service= kernel commandline option.
* systemd-resolved's gained support for registering DNS-SD services on
the local network using MulticastDNS. Services may either be
registered by dropping in a .dnssd file in /etc/systemd/dnssd/ (or
the same dir below /run, /usr/lib), or through its D-Bus API.
Contributions from: Alan Jenkins, Alan Robertson, Alessandro Ghedini,
Andrew Jeddeloh, Antonio Rojas, Ari, asavah, bleep_blop, Carsten
Strotmann, Christian Brauner, Christian Hesse, Clinton Roy, Collin
Eggert, Daniel Lockyer, Daniel Rusek, Dimitri John Ledkov, Dmitry
Rozhkov, Edward A. James, Evgeny Vereshchagin, Florian Klink, Franck
Bui, Gwendal Grignou, Hans de Goede, Harald Hoyer, Hristo Venev, Ikey
Doherty, Jakub Wilk, Jérémy Rosen, Jiahui Xie, John Lin, José Bollo,
Josef Andersson, juga0, Krzysztof Nowicki, Lars Karlitski, Lars
Kellogg-Stedman, Lauri Tirkkonen, Lennart Poettering, Lubomir Rintel,
Lucas Werkmeister, Lukáš Nykrýn, Lukáš Říha, Lukasz Rubaszewski, Maciej
S. Szmigiero, Mantas Mikulėnas, Marcus Folkesson, Martin Steuer,
Mathieu Trudel-Lapierre, Matija Skala, Max Resch, Michael Biebl,
Michael Vogt, Michal Koutný, Michal Sekletar, Mike Gilbert, Muhammet
Kara, Neil Brown, Olaf Hering, Ondrej Kozina, Patrik Flykt, Patryk
Kocielnik, Peter Hutterer, Piotr Drąg, Razvan Cojocaru, Robin
McCorkell, Roland Hieber, Sergey Ptashnick, Shawn Landden, Shuang Liu,
Simon Arlott, Simon Peeters, Stanislav Angelovič, Stefan Agner, Susant
Sahani, Sylvain Plantefève, Thomas Blume, Tinu Weber, Tom Stellard,
Topi Miettinen, Torsten Hilbrich, Vito Caputo, Vladislav Vishnyakov,
WaLyong Cho, Yu Watanabe, Zbigniew Jędrzejewski-Szmek, Zeal Jagannatha
— Berlin, 2017-12-XX
+14
View File
@@ -0,0 +1,14 @@
@@
expression e;
statement s;
@@
- if (e == NULL)
+ if (!e)
s
@@
expression e;
statement s;
@@
- if (e != NULL)
+ if (e)
s
+1 -1
View File
@@ -147,7 +147,7 @@ static int verify_socket(Unit *u) {
}
static int verify_executable(Unit *u, ExecCommand *exec) {
if (exec == NULL)
if (!exec)
return 0;
if (access(exec->path, X_OK) < 0)
+4 -4
View File
@@ -416,7 +416,7 @@ static int acquire_time_data(sd_bus *bus, struct unit_times **out) {
continue;
t->name = strdup(u.id);
if (t->name == NULL) {
if (!t->name) {
r = log_oom();
goto fail;
}
@@ -820,7 +820,7 @@ static int list_dependencies_get_dependencies(sd_bus *bus, const char *name, cha
assert(deps);
path = unit_dbus_path_from_name(name);
if (path == NULL)
if (!path)
return -ENOMEM;
return bus_get_unit_property_strv(bus, path, "After", deps);
@@ -878,7 +878,7 @@ static int list_dependencies_one(sd_bus *bus, const char *name, unsigned int lev
}
}
if (service_longest == 0 )
if (service_longest == 0)
return r;
STRV_FOREACH(c, deps) {
@@ -937,7 +937,7 @@ static int list_dependencies(sd_bus *bus, const char *name) {
assert(bus);
path = unit_dbus_path_from_name(name);
if (path == NULL)
if (!path)
return -ENOMEM;
r = sd_bus_get_property(
+1 -1
View File
@@ -73,7 +73,7 @@ int clock_set_hwclock(const struct tm *tm) {
int clock_is_localtime(const char* adjtime_path) {
_cleanup_fclose_ FILE *f;
if (adjtime_path == NULL)
if (!adjtime_path)
adjtime_path = "/etc/adjtime";
/*
+1 -1
View File
@@ -40,7 +40,7 @@ int whitelisted_char_for_devnode(char c, const char *white) {
int encode_devnode_name(const char *str, char *str_enc, size_t len) {
size_t i, j;
if (str == NULL || str_enc == NULL)
if (!str || !str_enc)
return -EINVAL;
for (i = 0, j = 0; str[i] != '\0'; i++) {
+2 -2
View File
@@ -71,7 +71,7 @@ int ether_addr_from_string(const char *s, struct ether_addr *ret, size_t *offset
if (s[pos] == '\0') \
break; \
hexoff = strchr(hex, s[pos]); \
if (hexoff == NULL) \
if (!hexoff) \
break; \
assert(hexoff >= hex); \
x = hexoff - hex; \
@@ -99,7 +99,7 @@ int ether_addr_from_string(const char *s, struct ether_addr *ret, size_t *offset
sep = s[strspn(s, hex)];
if (sep == '\n')
return -EINVAL;
if (strchr(":.-", sep) == NULL)
if (!strchr(":.-", sep))
return -EINVAL;
if (sep == '.') {
+2 -2
View File
@@ -140,7 +140,7 @@ int write_string_file_ts(
return r;
} else
assert(ts == NULL);
assert(!ts);
if (flags & WRITE_STRING_FILE_CREATE) {
f = fopen(fn, "we");
@@ -1191,7 +1191,7 @@ int tempfn_xxxxxx(const char *p, const char *extra, char **ret) {
if (!filename_is_valid(fn))
return -EINVAL;
if (extra == NULL)
if (!extra)
extra = "";
t = new(char, strlen(p) + 2 + strlen(extra) + 6 + 1);
+3 -3
View File
@@ -96,7 +96,7 @@ static int get_line(JournalImporter *imp, char **line, size_t *size) {
assert(imp->state == IMPORTER_STATE_LINE);
assert(imp->offset <= imp->filled);
assert(imp->filled <= imp->size);
assert(imp->buf == NULL || imp->size > 0);
assert(!imp->buf || imp->size > 0);
assert(imp->fd >= 0);
for (;;) {
@@ -159,8 +159,8 @@ static int fill_fixed_size(JournalImporter *imp, void **data, size_t size) {
assert(size <= DATA_SIZE_MAX);
assert(imp->offset <= imp->filled);
assert(imp->filled <= imp->size);
assert(imp->buf != NULL || imp->size == 0);
assert(imp->buf == NULL || imp->size > 0);
assert(imp->buf || imp->size == 0);
assert(!imp->buf || imp->size > 0);
assert(imp->fd >= 0);
assert(data);
+1 -1
View File
@@ -538,7 +538,7 @@ bool paths_check_timestamp(const char* const* paths, usec_t *timestamp, bool upd
assert(timestamp);
if (paths == NULL)
if (!paths)
return false;
STRV_FOREACH(i, paths) {
+1 -1
View File
@@ -893,7 +893,7 @@ int parse_timestamp(const char *t, usec_t *usec) {
if (last_space != NULL && timezone_is_valid(last_space + 1))
tz = last_space + 1;
if (tz == NULL || endswith_no_case(t, " UTC"))
if (!tz || endswith_no_case(t, " UTC"))
return parse_timestamp_impl(t, usec, false);
shared = mmap(NULL, sizeof *shared, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, -1, 0);
+2 -2
View File
@@ -201,7 +201,7 @@ static EFI_STATUS tpm1_measure_to_pcr_and_event_log(const EFI_TCG *tcg, UINT32 p
tcg_event = AllocateZeroPool(desc_len + sizeof(TCG_PCR_EVENT));
if (tcg_event == NULL)
if (!tcg_event)
return EFI_OUT_OF_RESOURCES;
tcg_event->EventSize = desc_len;
@@ -255,7 +255,7 @@ static EFI_STATUS tpm2_measure_to_pcr_and_event_log(const EFI_TCG2 *tcg, UINT32
tcg_event = AllocateZeroPool(sizeof(*tcg_event) - sizeof(tcg_event->Event) + desc_len + 1);
if (tcg_event == NULL)
if (!tcg_event)
return EFI_OUT_OF_RESOURCES;
tcg_event->Size = sizeof(*tcg_event) - sizeof(tcg_event->Event) + desc_len + 1;
+1 -1
View File
@@ -3854,7 +3854,7 @@ int exec_context_load_environment(Unit *unit, const ExecContext *c, char ***l) {
p = strv_env_clean_with_callback(p, invalid_env, &info);
}
if (r == NULL)
if (!r)
r = p;
else {
char **m;
+1 -1
View File
@@ -1479,7 +1479,7 @@ static int become_shutdown(
int r;
assert(shutdown_verb);
assert(command_line[pos] == NULL);
assert(!command_line[pos]);
env_block = strv_copy(environ);
xsprintf(log_level, "%d", log_get_max_level());
+1 -1
View File
@@ -559,7 +559,7 @@ static int compose_open_fds(pid_t pid, char **open_fds) {
continue;
fdinfo = fdopen(fd, "re");
if (fdinfo == NULL) {
if (!fdinfo) {
close(fd);
continue;
}
+2 -2
View File
@@ -335,7 +335,7 @@ static int find_source_vc(char **ret_path, unsigned *ret_idx) {
int ret_fd, r, err = 0;
path = new(char, sizeof("/dev/tty63"));
if (path == NULL)
if (!path)
return log_oom();
for (i = 1; i <= 63; i++) {
@@ -396,7 +396,7 @@ static int verify_source_vc(char **ret_path, const char *src_vc) {
return log_error_errno(r, "Virtual console %s is not in K_XLATE or K_UNICODE: %m", src_vc);
path = strdup(src_vc);
if (path == NULL)
if (!path)
return log_oom();
*ret_path = path;