From 516c369291c7b5b606c5406c1e02e6e3933b5e61 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 3 Oct 2017 10:32:34 +0200 Subject: [PATCH] build-sys: change all HAVE_DECL_ macros to HAVE_ This is a legacy of autotools, where one detection routine used a different prefix then the others. $ git grep -e HAVE_DECL_ -l|xargs sed -i s/HAVE_DECL_/HAVE_/g --- .mailmap | 7 + NEWS | 257 +++++++++++++++++++++++++++++++++--- TODO | 30 ++++- meson.build | 15 ++- src/basic/missing.h | 42 +++--- src/basic/missing_syscall.h | 22 +-- src/basic/string-util.c | 2 +- src/basic/string-util.h | 2 +- 8 files changed, 318 insertions(+), 59 deletions(-) diff --git a/.mailmap b/.mailmap index fb64c767e..5f021b6b7 100644 --- a/.mailmap +++ b/.mailmap @@ -125,3 +125,10 @@ Josef Andersson Hendrik Westerberg Stefan Pietsch Jérémy Rosen +Vasilis Liaskovitis +Daniel Kahn Gillmor +Tomasz Pala +Dmitriy Geels +Beniamino Galvani +Justin Capella +Daniel Șerbănescu diff --git a/NEWS b/NEWS index 32c01bb8d..d4d45c237 100644 --- a/NEWS +++ b/NEWS @@ -2,24 +2,249 @@ systemd System and Service Manager CHANGES WITH 235: - * modprobe.d drop-in is now shipped by default that sets bonding module - option max_bonds=0. This overrides the kernel default, to avoid - conflicts and ambiguity as to whether or not bond0 should be managed - by networkd or not. This resolves multiple bugs of bond0 properties - not being applied, when bond0 is configured with - networkd. Distributors may choose to not package this, however in - that case users will be prevented from correctly managing bond0 - interface using networkd. + * A new modprobe.d drop-in is now shipped by default that sets the + bonding module option max_bonds=0. This overrides the kernel default, + to avoid conflicts and ambiguity as to whether or not bond0 should be + managed by systemd-networkd or not. This resolves multiple issues + with bond0 properties not being applied, when bond0 is configured + with systemd-networkd. Distributors may choose to not package this, + however in that case users will be prevented from correctly managing + bond0 interface using systemd-networkd. * systemd-analyze gained new verbs "get-log-level" and "get-log-target" - which print the logging level and target of the system manager, - respectively. They complement the existing "set-log-level" and - "set-log-target" verbs, which can be used to change those values. - - * systemd-networkd .network DHCP setting UseMTU default has changed - from false to true. Meaning, DHCP server advertised mtu setting is - now applied by default. This resolves networking issues on low-mtu - networks. + which print the logging level and target of the system manager. They + complement the existing "set-log-level" and "set-log-target" verbs + used to change those values. + + * journald.conf gained a new boolean setting ReadKMsg= which defaults + to on. If turned off kernel log messages will not be read by + systemd-journald or included in the logs. It also gained a new + setting LineMax= for configuring the maximum line length in + STDOUT/STDERR log streams. The new default for this value is 48K, up + from the previous hardcoded 2048. + + * A new unit setting RuntimeDirectoryPreserve= has been added, which + allows more detailed control of what to do with a runtime directory + configured with RuntimeDirectory= (i.e. a directory below /run or + $XDG_RUNTIME_DIR) after a unit is stopped. + + * The RuntimeDirectory= setting for units gained support for creating + deeper subdirectories below /run or $XDG_RUNTIME_DIR, instead of just + one top-level directory. + + * Units gained new options StateDirectory=, CacheDirectory=, + LogsDirectory= and ConfigurationDirectory= which are closely related + to RuntimeDirectory= but manage per-service directories below + /var/lib, /var/cache, /var/log and /etc. By making use of them it is + possible to write unit files which when activated automatically gain + properly owned service specific directories in these locations, thus + making unit files self-contained and increasing compatibility with + stateless systems and factory reset where /etc or /var are + unpopulated at boot. Matching these new settings there's also + StateDirectoryMode=, CacheDirectoryMode=, LogsDirectoryMode=, + ConfigurationDirectoryMode= for configuring the access mode of these + directories. These settings are particularly useful in combination + with DynamicUser=yes as they provide secure, properly-owned, + writable, and stateful locations for storage, excluded from the + sandbox that such services live in otherwise. + + * Automake support has been removed from this release. systemd is now + Meson-only. + + * systemd-journald will now aggressively cache client metadata during + runtime, speeding up log write performance under pressure. This comes + at a small price though: as much of the metadata is read + asynchronously from /proc/ (and isn't implicitly attached to log + datagrams by the kernel, like UID/GID/PID/SELinux are) this means the + metadata stored alongside a log entry might be slightly + out-of-date. Previously it could only be slightly newer than the log + message. The time window is small however, and given that the kernel + is unlikely to be improved anytime soon in this regard, this appears + acceptable to us. + + * nss-myhostname/systemd-resolved will now by default synthesize an + A/AAAA resource record for the "_gateway" hostname, pointing to the + current default IP gateway. Previously it did that for the "gateway" + name, hampering adoption, as some distributions wanted to leave that + host name open for local use. The old behaviour may still be + requested at build time. + + * systemd-networkd's [Address] section in .network files gained a new + Scope= setting for configuring the IP address scope. The [Network] + section gained a new boolean setting ConfigureWithoutCarrier= that + tells systemd-networkd to ignore link sensing when configuring the + device. The [DHCP] section gained a new Anonymize= boolean option for + turning on a number of options suggested in RFC 7844. A new + [RoutingPolicyRule] section has been added for configuring the IP + routing policy. The [Route] section has gained support for a new + Type= setting which permits configuring + blackhole/unreachable/prohibit routes. + + * The [VRF] section in .netdev files gained a new Table= setting for + configuring the routing table to use. The [Tunnel] section gained a + new Independent= boolean field for configuring tunnels independent of + an underlying network interface. The [Bridge] section gained a new + GroupForwardMask= option for configuration of propagation of link + local frames between bridge ports. + + * The WakeOnLan= setting in .link files gained support for a number of + new modes. A new TCP6SegmentationOffload= setting has been added for + configuring TCP/IPv6 hardware segmentation offload. + + * The IPv6 RA sender implementation may now optionally send out RDNSS + and RDNSSL records to supply DNS configuration to peers. + + * systemd-nspawn gained support for a new --system-call-filter= command + line option for adding and removing entries in the default system + call filter it applies. Moreover systemd-nspawn has been changed to + implement a system call whitelist instead of a blacklist. + + * systemd-run gained support for a new --pipe command line option. If + used the STDIN/STDOUT/STDERR file descriptors passed to systemd-run + are directly passed on to the activated transient service + executable. This allows invoking arbitrary processes as systemd + services (for example to take benefit of dependency management, + accounting management, resource management or log management that is + done automatically for services) — while still allowing them to be + integrated in a classic UNIX shell pipeline. + + * When a service sends RELOAD=1 via sd_notify() and reload propagation + using ReloadPropagationTo= is configured, a reload is now propagated + to configured units. (Previously this was only done on explicitly + requested reloads, using "systemctl reload" or an equivalent + command.) + + * For each service unit a restart counter is now kept: it is increased + each time the service is restarted due to Restart=, and may be + queried using "systemctl show -p NRestarts …". + + * New system call filter groups @aio, @sync, @chown, @setuid, @memlock, + @signal and @timer have been added, for usage with SystemCallFilter= + in unit files and the new --system-call-filter= command line option + of systemd-nspawn (see above). + + * ExecStart= lines in unit files gained two new modifiers: when a + command line is prefixed with "!" the command will be executed as + configured, except for the credentials applied by + setuid()/setgid()/setgroups(). It is very similar to the pre-existing + "+", but does still apply namespacing options unlike "+". There's + also "!!" now, which is mostly identical, but becomes a NOP on + systems that support ambient capabilities. This is useful to write + unit files that work with ambient capabilities where possible but + automatically fall back to traditional privilege dropping mechanisms + on systems where this is not supported. + + * ListenNetlink= settings in socket units now support RDMA netlink + sockets. + + * A new unit file setting LockPersonality= has been added which permits + locking down the chosen execution domain ("personality") of a service + during runtime. + + * A new special target "getty-pre.target" has been added, which is + ordered before all text logins, and may be used to order services + before textual logins acquire access to the console. + + * systemd will now attempt to load the virtio-rng.ko kernel module very + early on if a VM environment supporting this is detected. This should + improve entropy during early boot in virtualized environments. + + * A _netdev option is now supported in /etc/crypttab that operates in a + similar way as the same option in /etc/fstab: it permits configuring + encrypted devices that need to be ordered after the network is up. + Following this logic, two new special targets + remote-cryptsetup-pre.target and remote-cryptsetup.target have been + added that are to cryptsetup.target what remote-fs.target and + remote-fs-pre.target are to local-fs.target. + + * Service units gained a new UnsetEnvironment= setting which permits + unsetting specific environment variables for services that are + normally passed to it (for example in order to mask out locale + settings for specific services that can't deal with it). + + * Units acquired a new boolean option IPAccounting=. When turned on, IP + traffic accounting (packet count as well as byte count) is done for + the service, and shown as part of "systemctl status" or "systemd-run + --wait". + + * Service units acquired two new options IPAddressAllow= and + IPAddressDeny=, taking a list of IPv4 or IPv6 addresses and masks, + for configuring a simple IP access control list for all sockets of + the unit. These options are available also on .slice and .socket + units, permitting flexible access list configuration for individual + services as well as groups of services (as defined by a slice unit), + including system-wide. Note that IP ACLs configured this way are + enforced on every single IPv4 and IPv6 socket created by any process + of the service unit, and apply to ingress as well as egress traffic. + + * If CPUAccounting= or IPAccounting= is turned on for a unit a new + structured log message is generated each time the unit is stopped, + containing information about the consumed resources of this + invocation. + + * A new setting KeyringMode= has been added to unit files, which may be + used to control how the kernel keyring is set up for executed + processes. + + * "systemctl poweroff", "systemctl reboot", "systemctl halt", + "systemctl kexec" and "systemctl exit" are now always asynchronous in + behaviour (that is: these commands return immediately after the + operation was enqueued instead of waiting for the operation to + complete). Previously, "systemctl poweroff" and "systemctl reboot" + were asynchronous on systems using systemd-logind (i.e. almost + always, and like they were on sysvinit), and the other three commands + were unconditionally synchronous. With this release this is cleaned + up, and callers will see the same asynchronous behaviour on all + systems for all five operations. + + * systemd-logind gained new Halt() and CanHalt() bus calls for halting + the system. + + * .timer units now accept calendar specifications in other timezones + than UTC or the local timezone. + + * The tmpfiles snippet var.conf has been changed to create + /var/log/btmp with access mode 0660 instead of 0600. It was owned by + the "utmp" group already, and it appears to be generally understood + that members of "utmp" can modify/flush the utmp/wtmp/lastlog/btmp + databases. Previously this was implemented correctly for all these + databases excepts btmp, which has been opened up like this now + too. Note that while the other databases are world-readable + (i.e. 0644), btmp is not and remains more restrictive. + + * The systemd-resolve tool gained a new --reset-server-features + switch. When invoked like this systemd-resolved will forget + everything it learnt about the features supported by the configured + upstream DNS servers, and restarts the feature probing logic on the + next resolver look-up for them at the highest feature level + again. + + * The status dump systemd-resolved sends to the logs upon receiving + SIGUSR1 now also includes information about all DNS servers it is + configured to use, and the features levels it probed for them. + + Contributions from: Abdó Roig-Maranges, Alan Jenkins, Alexander + Kuleshov, Andreas Rammhold, Andrew Jeddeloh, Andrew Soutar, Ansgar + Burchardt, Beniamino Galvani, Benjamin Berg, Benjamin Robin, Charles + Huber, Christian Hesse, Daniel Berrange, Daniel Kahn Gillmor, Daniel + Mack, Daniel Rusek, Daniel Șerbănescu, Davide Cavalca, Dimitri John + Ledkov, Diogo Pereira, Djalal Harouni, Dmitriy Geels, Dmitry Torokhov, + ettavolt, Evgeny Vereshchagin, Fabio Kung, Felipe Sateler, Franck Bui, + Hans de Goede, Harald Hoyer, Insun Pyo, Ivan Kurnosov, Ivan Shapovalov, + Jakub Wilk, Jan Synacek, Jason Gunthorpe, Jeremy Bicha, Jérémy Rosen, + John Lin, jonasBoss, Jonathan Lebon, Jonathan Teh, Jon Ringle, Jörg + Thalheim, Jouke Witteveen, juga0, Justin Capella, Justin Michaud, + Kai-Heng Feng, Lennart Poettering, Lion Yang, Luca Bruno, Lucas + Werkmeister, Lukáš Nykrýn, Marcel Hollerbach, Marcus Lundblad, Martin + Pitt, Michael Biebl, Michael Grzeschik, Michal Sekletar, Mike Gilbert, + Neil Brown, Nicolas Iooss, Patrik Flykt, pEJipE, Piotr Drąg, Russell + Stuart, S. Fan, Shengyao Xue, Stefan Pietsch, Susant Sahani, Tejun Heo, + Thomas Miller, Thomas Sailer, Tobias Hunger, Tomasz Pala, Tom + Gundersen, Tommi Rantala, Topi Miettinen, Torstein Husebø, userwithuid, + Vasilis Liaskovitis, Vito Caputo, WaLyong Cho, William Douglas, Xiang + Fan, Yu Watanabe, Zbigniew Jędrzejewski-Szmek + + — Berlin, 2017-10-06 CHANGES WITH 234: diff --git a/TODO b/TODO index 2de99823a..81f009918 100644 --- a/TODO +++ b/TODO @@ -24,8 +24,33 @@ Janitorial Clean-ups: Features: +* maybe set a new set of env vars for services, based on RuntimeDirectory=, + StateDirectory=, LogsDirectory=, CacheDirectory= and ConfigurationDirectory= + automatically. For example, there could be $RUNTIME_DIRECTORY, + $STATE_DIRECTORY, $LOGS_DIRECTORY=, $CACHE_DIRECTORY and + $CONFIGURATION_DIRECTORY or so. This could be useful to write services that + can adapt to varying directories for these purposes. Special care has to be + taken if multiple dirs are configured. Maybe avoid setting the env vars in + that case? + +* In a similar vein, consider adding unit specifiers that resolve to the root + directory used for state, logs, cache and configuration + directory. i.e. similar to %t, but for the root of the other special dirs. + +* expose IO accounting data on the bus, show it in systemd-run --wait and log + about it in the resource log message + +* add "systemctl purge" for flushing out configuration, state, logs, ... of a + unit when it is stopped + +* show whether a service has out-of-date configuration in "systemctl status" by + using mtime data of ConfigurationDirectory=. + * replace all uses of fgets() + LINE_MAX by read_line() +* set IPAddressDeny=any on all services that shouldn't do networking (possibly + combined with IPAddressAllow=localhost). + * dissect: when we discover squashfs, don't claim we had a "writable" partition in systemd-dissect @@ -160,9 +185,6 @@ Features: * DeviceAllow= should also generate seccomp filters for mknod() -* Add DataDirectory=, CacheDirectory= and LogDirectory= to match - RuntimeDirectory=, and create it as necessary when starting a service, owned by the right user. - * make sure the ratelimit object can deal with USEC_INFINITY as way to turn off things * journalctl: make sure -f ends when the container indicated by -M terminates @@ -714,6 +736,8 @@ Features: * create /sbin/init symlinks from the build system +* add a dependency on standard-conf.xml and other included files to man pages + * MountFlags=shared acts as MountFlags=slave right now. * properly handle loop back mounts via fstab, especially regards to fsck/passno diff --git a/meson.build b/meson.build index ecc72c0fe..7e0890404 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('elogind', 'c', - version : '234', + version : '235', license : 'LGPLv2+', default_options: [ 'c_std=gnu99', @@ -10,6 +10,9 @@ project('elogind', 'c', meson_version : '>= 0.40', ) +libsystemd_version = '0.19.0' +libudev_version = '1.6.6' + # We need the same data in three different formats, ugh! # Also, for hysterical reasons, we use different variable # names, sometimes. Not all variables are included in every @@ -469,7 +472,7 @@ foreach decl : [['IFLA_INET6_ADDR_GEN_MODE', 'linux/if_link.h'], ] prefix = decl.length() > 2 ? decl[2] : '' have = cc.has_header_symbol(decl[1], decl[0], prefix : prefix) - conf.set10('HAVE_DECL_' + decl[0], have) + conf.set10('HAVE_' + decl[0], have) endforeach skip = false @@ -502,15 +505,15 @@ foreach ident : [ ] have = cc.has_function(ident[0], prefix : ident[1]) - conf.set10('HAVE_DECL_' + ident[0].to_upper(), have) + conf.set10('HAVE_' + ident[0].to_upper(), have) endforeach if cc.has_function('getrandom', prefix : '''#include ''') conf.set('USE_SYS_RANDOM_H', true) - conf.set10('HAVE_DECL_GETRANDOM', true) + conf.set10('HAVE_GETRANDOM', true) else have = cc.has_function('getrandom', prefix : '''#include ''') - conf.set10('HAVE_DECL_GETRANDOM', have) + conf.set10('HAVE_GETRANDOM', have) endif ##################################################################### @@ -1289,7 +1292,7 @@ subdir('src/login') # 'systemd', # libsystemd_internal_sources, # journal_internal_sources, -# version : '0.19.0', +# version : libsystemd_version, # include_directories : includes, # link_args : ['-shared', # '-Wl,--version-script=' + libsystemd_sym_path], diff --git a/src/basic/missing.h b/src/basic/missing.h index 4007e10a5..f2f727822 100644 --- a/src/basic/missing.h +++ b/src/basic/missing.h @@ -620,7 +620,7 @@ struct input_mask { #define O_TMPFILE (__O_TMPFILE | O_DIRECTORY) #endif -#if !HAVE_DECL_LO_FLAGS_PARTSCAN +#if !HAVE_LO_FLAGS_PARTSCAN #define LO_FLAGS_PARTSCAN 8 #endif @@ -632,7 +632,7 @@ struct input_mask { #define LOOP_CTL_GET_FREE 0x4C82 #endif -#if !HAVE_DECL_IFLA_INET6_ADDR_GEN_MODE +#if !HAVE_IFLA_INET6_ADDR_GEN_MODE #define IFLA_INET6_UNSPEC 0 #define IFLA_INET6_FLAGS 1 #define IFLA_INET6_CONF 2 @@ -650,11 +650,11 @@ struct input_mask { #define IN6_ADDR_GEN_MODE_NONE 1 #endif -#if !HAVE_DECL_IN6_ADDR_GEN_MODE_STABLE_PRIVACY +#if !HAVE_IN6_ADDR_GEN_MODE_STABLE_PRIVACY #define IN6_ADDR_GEN_MODE_STABLE_PRIVACY 2 #endif -#if !HAVE_DECL_IFLA_MACVLAN_FLAGS +#if !HAVE_IFLA_MACVLAN_FLAGS #define IFLA_MACVLAN_UNSPEC 0 #define IFLA_MACVLAN_MODE 1 #define IFLA_MACVLAN_FLAGS 2 @@ -663,7 +663,7 @@ struct input_mask { #define IFLA_MACVLAN_MAX (__IFLA_MACVLAN_MAX - 1) #endif -#if !HAVE_DECL_IFLA_IPVLAN_MODE +#if !HAVE_IFLA_IPVLAN_MODE #define IFLA_IPVLAN_UNSPEC 0 #define IFLA_IPVLAN_MODE 1 #define __IFLA_IPVLAN_MAX 2 @@ -675,7 +675,7 @@ struct input_mask { #define IPVLAN_MAX 2 #endif -#if !HAVE_DECL_IFLA_VTI_REMOTE +#if !HAVE_IFLA_VTI_REMOTE #define IFLA_VTI_UNSPEC 0 #define IFLA_VTI_LINK 1 #define IFLA_VTI_IKEY 2 @@ -687,7 +687,7 @@ struct input_mask { #define IFLA_VTI_MAX (__IFLA_VTI_MAX - 1) #endif -#if !HAVE_DECL_IFLA_PHYS_PORT_ID +#if !HAVE_IFLA_PHYS_PORT_ID #define IFLA_EXT_MASK 29 #undef IFLA_PROMISCUITY #define IFLA_PROMISCUITY 30 @@ -700,7 +700,7 @@ struct input_mask { #define IFLA_MAX (__IFLA_MAX - 1) #endif -#if !HAVE_DECL_IFLA_BOND_AD_INFO +#if !HAVE_IFLA_BOND_AD_INFO #define IFLA_BOND_UNSPEC 0 #define IFLA_BOND_MODE 1 #define IFLA_BOND_ACTIVE_SLAVE 2 @@ -730,7 +730,7 @@ struct input_mask { #define IFLA_BOND_MAX (__IFLA_BOND_MAX - 1) #endif -#if !HAVE_DECL_IFLA_VLAN_PROTOCOL +#if !HAVE_IFLA_VLAN_PROTOCOL #define IFLA_VLAN_UNSPEC 0 #define IFLA_VLAN_ID 1 #define IFLA_VLAN_FLAGS 2 @@ -742,7 +742,7 @@ struct input_mask { #define IFLA_VLAN_MAX (__IFLA_VLAN_MAX - 1) #endif -#if !HAVE_DECL_IFLA_VXLAN_GPE +#if !HAVE_IFLA_VXLAN_GPE #define IFLA_VXLAN_UNSPEC 0 #define IFLA_VXLAN_ID 1 #define IFLA_VXLAN_GROUP 2 @@ -777,7 +777,7 @@ struct input_mask { #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) #endif -#if !HAVE_DECL_IFLA_GENEVE_LABEL +#if !HAVE_IFLA_GENEVE_LABEL #define IFLA_GENEVE_UNSPEC 0 #define IFLA_GENEVE_ID 1 #define IFLA_GENEVE_REMOTE 2 @@ -796,7 +796,7 @@ struct input_mask { #define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1) #endif -#if !HAVE_DECL_IFLA_IPTUN_ENCAP_DPORT +#if !HAVE_IFLA_IPTUN_ENCAP_DPORT #define IFLA_IPTUN_UNSPEC 0 #define IFLA_IPTUN_LINK 1 #define IFLA_IPTUN_LOCAL 2 @@ -822,7 +822,7 @@ struct input_mask { #define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1) #endif -#if !HAVE_DECL_IFLA_GRE_ENCAP_DPORT +#if !HAVE_IFLA_GRE_ENCAP_DPORT #define IFLA_GRE_UNSPEC 0 #define IFLA_GRE_LINK 1 #define IFLA_GRE_IFLAGS 2 @@ -847,7 +847,7 @@ struct input_mask { #define IFLA_GRE_MAX (__IFLA_GRE_MAX - 1) #endif -#if !HAVE_DECL_IFLA_BRIDGE_VLAN_INFO +#if !HAVE_IFLA_BRIDGE_VLAN_INFO #define IFLA_BRIDGE_FLAGS 0 #define IFLA_BRIDGE_MODE 1 #define IFLA_BRIDGE_VLAN_INFO 2 @@ -864,7 +864,7 @@ struct input_mask { #define BRIDGE_VLAN_INFO_RANGE_END (1<<4) /* VLAN is end of vlan range */ #endif -#if !HAVE_DECL_IFLA_BR_VLAN_DEFAULT_PVID +#if !HAVE_IFLA_BR_VLAN_DEFAULT_PVID #define IFLA_BR_UNSPEC 0 #define IFLA_BR_FORWARD_DELAY 1 #define IFLA_BR_HELLO_TIME 2 @@ -910,7 +910,7 @@ struct input_mask { #define IFLA_BR_MAX (__IFLA_BR_MAX - 1) #endif -#if !HAVE_DECL_IFLA_BRPORT_LEARNING_SYNC +#if !HAVE_IFLA_BRPORT_LEARNING_SYNC #define IFLA_BRPORT_UNSPEC 0 #define IFLA_BRPORT_STATE 1 #define IFLA_BRPORT_PRIORITY 2 @@ -927,7 +927,7 @@ struct input_mask { #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1) #endif -#if !HAVE_DECL_FRA_UID_RANGE +#if !HAVE_FRA_UID_RANGE #define FRA_UNSPEC 0 #define FRA_DST 1 #define FRA_SRC 2 @@ -954,15 +954,15 @@ struct input_mask { #define FRA_MAX (__FRA_MAX - 1) #endif -#if !HAVE_DECL_IFLA_BRPORT_PROXYARP +#if !HAVE_IFLA_BRPORT_PROXYARP #define IFLA_BRPORT_PROXYARP 10 #endif -#if !HAVE_DECL_IFLA_VRF_TABLE +#if !HAVE_IFLA_VRF_TABLE #define IFLA_VRF_TABLE 1 #endif -#if !HAVE_DECL_NDA_IFINDEX +#if !HAVE_NDA_IFINDEX #define NDA_UNSPEC 0 #define NDA_DST 1 #define NDA_LLADDR 2 @@ -1046,7 +1046,7 @@ struct input_mask { #define LOOPBACK_IFINDEX 1 #endif -#if !HAVE_DECL_IFA_FLAGS +#if !HAVE_IFA_FLAGS #define IFA_FLAGS 8 #endif diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h index 2f596cf54..b0ce5725e 100644 --- a/src/basic/missing_syscall.h +++ b/src/basic/missing_syscall.h @@ -25,7 +25,7 @@ #if 0 /// UNNEEDED by elogind #include -#if !HAVE_DECL_PIVOT_ROOT +#if !HAVE_PIVOT_ROOT static inline int pivot_root(const char *new_root, const char *put_old) { return syscall(SYS_pivot_root, new_root, put_old); } @@ -34,7 +34,7 @@ static inline int pivot_root(const char *new_root, const char *put_old) { /* ======================================================================= */ -#if !HAVE_DECL_MEMFD_CREATE +#if !HAVE_MEMFD_CREATE # ifndef __NR_memfd_create # if defined __x86_64__ # define __NR_memfd_create 319 @@ -75,7 +75,7 @@ static inline int memfd_create(const char *name, unsigned int flags) { /* ======================================================================= */ -#if !HAVE_DECL_GETRANDOM +#if !HAVE_GETRANDOM # ifndef __NR_getrandom # if defined __x86_64__ # define __NR_getrandom 318 @@ -122,7 +122,7 @@ static inline int getrandom(void *buffer, size_t count, unsigned flags) { /* ======================================================================= */ -#if !HAVE_DECL_GETTID +#if !HAVE_GETTID static inline pid_t gettid(void) { return (pid_t) syscall(SYS_gettid); } @@ -130,7 +130,7 @@ static inline pid_t gettid(void) { /* ======================================================================= */ -#if !HAVE_DECL_NAME_TO_HANDLE_AT +#if !HAVE_NAME_TO_HANDLE_AT # ifndef __NR_name_to_handle_at # if defined(__x86_64__) # define __NR_name_to_handle_at 303 @@ -165,7 +165,7 @@ static inline int name_to_handle_at(int fd, const char *name, struct file_handle /* ======================================================================= */ -#if !HAVE_DECL_SETNS +#if !HAVE_SETNS # ifndef __NR_setns # if defined(__x86_64__) # define __NR_setns 308 @@ -200,7 +200,7 @@ static inline pid_t raw_getpid(void) { /* ======================================================================= */ -#if !HAVE_DECL_RENAMEAT2 +#if !HAVE_RENAMEAT2 # ifndef __NR_renameat2 # if defined __x86_64__ # define __NR_renameat2 316 @@ -243,7 +243,7 @@ static inline int renameat2(int oldfd, const char *oldname, int newfd, const cha /* ======================================================================= */ -#if !HAVE_DECL_KCMP +#if !HAVE_KCMP static inline int kcmp(pid_t pid1, pid_t pid2, int type, unsigned long idx1, unsigned long idx2) { # ifdef __NR_kcmp return syscall(__NR_kcmp, pid1, pid2, type, idx1, idx2); @@ -256,7 +256,7 @@ static inline int kcmp(pid_t pid1, pid_t pid2, int type, unsigned long idx1, uns /* ======================================================================= */ -#if !HAVE_DECL_KEYCTL +#if !HAVE_KEYCTL static inline long keyctl(int cmd, unsigned long arg2, unsigned long arg3, unsigned long arg4,unsigned long arg5) { # ifdef __NR_keyctl return syscall(__NR_keyctl, cmd, arg2, arg3, arg4, arg5); @@ -287,7 +287,7 @@ static inline key_serial_t request_key(const char *type, const char *description /* ======================================================================= */ -#if !HAVE_DECL_COPY_FILE_RANGE +#if !HAVE_COPY_FILE_RANGE # ifndef __NR_copy_file_range # if defined(__x86_64__) # define __NR_copy_file_range 326 @@ -321,7 +321,7 @@ static inline ssize_t copy_file_range(int fd_in, loff_t *off_in, } #endif -#if !HAVE_DECL_BPF +#if !HAVE_BPF # ifndef __NR_bpf # if defined __i386__ # define __NR_bpf 357 diff --git a/src/basic/string-util.c b/src/basic/string-util.c index a2569a5b0..9101d1daa 100644 --- a/src/basic/string-util.c +++ b/src/basic/string-util.c @@ -830,7 +830,7 @@ int free_and_strdup(char **p, const char *s) { return 1; } -#if !HAVE_DECL_EXPLICIT_BZERO +#if !HAVE_EXPLICIT_BZERO /* * Pointer to memset is volatile so that compiler must de-reference * the pointer and can't assume that it points to any function in diff --git a/src/basic/string-util.h b/src/basic/string-util.h index 19c8d8bb3..f68b5f2f3 100644 --- a/src/basic/string-util.h +++ b/src/basic/string-util.h @@ -197,7 +197,7 @@ static inline void *memmem_safe(const void *haystack, size_t haystacklen, const return memmem(haystack, haystacklen, needle, needlelen); } -#if !HAVE_DECL_EXPLICIT_BZERO +#if !HAVE_EXPLICIT_BZERO void explicit_bzero(void *p, size_t l); #endif -- 2.30.2