Lennart Poettering [Tue, 19 Aug 2014 00:09:14 +0000 (02:09 +0200)]
update TODO
Lennart Poettering [Mon, 18 Aug 2014 23:57:24 +0000 (01:57 +0200)]
sysusers: also update /etc/shadow and /etc/gshadow when creating new system users
This should resolve problems with tools like "grpck" and suchlike.
Lennart Poettering [Mon, 18 Aug 2014 22:04:46 +0000 (00:04 +0200)]
hashmap: try to use the existing 64bit hash functions for dev_t if it is 64bit
David Herrmann [Mon, 18 Aug 2014 21:54:10 +0000 (23:54 +0200)]
bus: map sealed memfds as MAP_PRIVATE
Mapping files as MAP_SHARED is handled by the kernel as 'writable'
mapping. Always! Even with PROT_READ. Reason for that is,
mprotect(PROT_WRITE) could change the mapping underneath and currently
there is no kernel infrastructure to add protection there. This might
change in the future, but until then, map sealed files as MAP_PRIVATE so
we don't get EPERM.
Lennart Poettering [Mon, 18 Aug 2014 21:16:18 +0000 (23:16 +0200)]
Update TODO
Lennart Poettering [Mon, 18 Aug 2014 21:15:51 +0000 (23:15 +0200)]
util: try to be a bit more NFS compatible when checking whether an FS is writable
https://bugs.freedesktop.org/show_bug.cgi?id=81169
Lennart Poettering [Mon, 18 Aug 2014 20:25:24 +0000 (22:25 +0200)]
core: minor modernizations
Lennart Poettering [Mon, 18 Aug 2014 20:21:42 +0000 (22:21 +0200)]
units: fix BindsTo= logic when applied relative to services with Type=oneshot
Start jobs for Type=oneshot units are successful when the unit state
transition activating → inactive took place. In such a case all units
that BindsTo= on it previously would continue to run, even though the unit
they dependet on was actually already gone.
Ronny Chevalier [Mon, 18 Aug 2014 19:00:23 +0000 (21:00 +0200)]
man: fix typo
Ronny Chevalier [Mon, 18 Aug 2014 18:59:11 +0000 (20:59 +0200)]
bootchart: use NSEC_PER_SEC
Denis Kenzior [Mon, 18 Aug 2014 18:21:55 +0000 (13:21 -0500)]
bus-control: Fix cgroup handling
On systems without properly setup systemd, cg_get_root_path returns
-ENOENT. This means that busctl doesn't display much information.
busctl monitor also fails whenever it intercepts messages.
This fix fakes creates a fake "/" root cgroup which lets busctl work
on such systems.
Lennart Poettering [Mon, 18 Aug 2014 17:08:03 +0000 (19:08 +0200)]
man: mention that "units" are commonly system services
Also, provide an example for -u.
Lennart Poettering [Mon, 18 Aug 2014 16:59:48 +0000 (18:59 +0200)]
networkd: fix how we generate lists in link_save()
https://bugs.freedesktop.org/show_bug.cgi?id=82721
Ronny Chevalier [Sat, 16 Aug 2014 12:19:12 +0000 (14:19 +0200)]
tests: add missing entry to test-tables
Ronny Chevalier [Sat, 16 Aug 2014 12:19:11 +0000 (14:19 +0200)]
tests: add tests for time-util.c
add tests for:
- timezone_is_valid
- get_timezones
Ronny Chevalier [Sat, 16 Aug 2014 12:19:10 +0000 (14:19 +0200)]
tests: add test-condition-util
Ronny Chevalier [Sat, 16 Aug 2014 12:19:09 +0000 (14:19 +0200)]
tests: add tests for util.c
add tests for:
- is_symlink
- pid_is_unwaited
- pid_is_alive
- search_and_fopen
- search_and_fopen_nulstr
- glob_exists
- execute_directory
Ronny Chevalier [Sat, 16 Aug 2014 12:19:08 +0000 (14:19 +0200)]
tests: add test for fdset_iterate
Ronny Chevalier [Sat, 16 Aug 2014 12:19:07 +0000 (14:19 +0200)]
tests: add tests for fileio.c
add tests for:
- write_string_stream
- write_string_file
- sendfile_full
Ronny Chevalier [Sat, 16 Aug 2014 12:19:06 +0000 (14:19 +0200)]
tests: add missing unlink
Ronny Chevalier [Sat, 16 Aug 2014 12:19:05 +0000 (14:19 +0200)]
tests: add tests for socket-util.c
add tests for:
- socket_address_is
- socket_address_is_netlink
- sockaddr_equal
Ronny Chevalier [Sat, 16 Aug 2014 12:24:27 +0000 (14:24 +0200)]
man: fix typo
Michael Olbrich [Sun, 17 Aug 2014 07:45:00 +0000 (09:45 +0200)]
tmpfiles: only execute chmod()/chown() when needed
This avoids errors like this, when the paths are already there with the
correct permissions and owner:
chmod(/var/spool) failed: Read-only file system
Lennart Poettering [Mon, 18 Aug 2014 16:12:55 +0000 (18:12 +0200)]
Merge remote-tracking branch 'origin/master'
Tom Gundersen [Mon, 18 Aug 2014 10:29:45 +0000 (12:29 +0200)]
networkd: warn when ignoring unsupported tuntap options
The interface for creating tuntap devices should be ported to rtnl so it would support the same settings
as other kinds. In the meantime, the best one can do is to drop in a .link file to set the desired options.
Stef Walter [Wed, 6 Aug 2014 09:45:36 +0000 (11:45 +0200)]
core: Verify systemd1 DBus method callers via polkit
DBus methods that retrieve information can be called by anyone.
DBus methods that modify state of units are verified via polkit
action: org.freedesktop.systemd1.manage-units
DBus methods that modify state of unit files are verified via polkit
action: org.freedesktop.systemd1.manage-unit-files
DBus methods that reload the entire daemon state are verified via polkit
action: org.freedesktop.systemd1.reload-daemon
DBus methods that modify job state are callable from the clients
that started the job.
root (ie: CAP_SYS_ADMIN) can continue to perform all calls, property
access etc. There are several DBus methods that can only be
called by root.
Open up the dbus1 policy for the above methods.
(Heavily modified by Lennart, making use of the new
bus_verify_polkit_async() version that doesn't force us to always
pass the original callback around. Also, interactive auhentication must
be opt-in, not unconditional, hence I turned this off.)
Lennart Poettering [Mon, 18 Aug 2014 15:44:17 +0000 (17:44 +0200)]
bus-util: simplify bus_verify_polkit_async() a bit
First, let's drop the "bus" argument, we can determine it from the
message anyway.
Secondly, determine the right callback/userdata pair automatically from
what is currently is being dispatched. This should simplify things a lot
for us, since it makes it unnecessary to pass pointers through the
original handlers through all functions when we process messages, which
might require authentication.
Lennart Poettering [Mon, 18 Aug 2014 15:41:56 +0000 (17:41 +0200)]
sd-bus: add API to query which handler/callback is currently being dispatched
Daniel Mack [Mon, 18 Aug 2014 11:28:43 +0000 (13:28 +0200)]
memfd: internalize functions, drop sd_memfd type
Remove the sd_ prefix from internal functions and get rid of the sd_memfd
type. As a memfd is now just a native file descriptor, we can get rid of our
own wrapper type, and also use close() and dup() on them directly.
David Herrmann [Mon, 18 Aug 2014 11:07:43 +0000 (13:07 +0200)]
memfd: use _cleanup_ if applicable
We now have a sd_memfd_freep helper, use it if applicable.
David Herrmann [Mon, 18 Aug 2014 11:05:48 +0000 (13:05 +0200)]
memfd: map unsealed files as MAP_SHARED
We need to map sealed files as MAP_PRIVATE so far as the kernel treats
MAP_SHARED as writable mapping (you can run mprotect(PROT_WRITE) at any
time on those). However, unsealed files must be mapped as MAP_SHARED.
Otherwise, we never end up writing to the real file.
David Herrmann [Mon, 18 Aug 2014 11:03:09 +0000 (13:03 +0200)]
memfd: disallow importing memfds without sealing
We use memfds for sealing. Lets not bother with memfds created without
MFD_ALLOW_SEALING for now. They're equivalent to random shmem files, so
don't bother treating them as sealable memfds.
David Herrmann [Mon, 18 Aug 2014 10:57:55 +0000 (12:57 +0200)]
memfd: don't open kdbus for memfd
No reason to open /dev/kdbus/control if we want memfds. memfd_create() is
always available.
David Herrmann [Mon, 18 Aug 2014 10:57:03 +0000 (12:57 +0200)]
memfd: internalize header
Fix the memfd.h header to use handy features like #pragma, cleanup-funcs
and util.h. Also drop the EXTERN-C macros.
Daniel Mack [Mon, 18 Aug 2014 10:24:04 +0000 (12:24 +0200)]
memfd: fix memfd_create() syscall wrapper
Unlike earlier versions, the syscall only takes 2 arguments in its
final version, not 3.
Daniel Mack [Mon, 18 Aug 2014 08:55:49 +0000 (10:55 +0200)]
memfd: move code from public library to src/shared
Don't expose generic kernel API via libsystemd, but keep the code internal
for our own usage.
Daniel Mack [Mon, 18 Aug 2014 08:45:49 +0000 (10:45 +0200)]
Makefile.am: test-bus-memfd went away. Kill its residues in Makefile.am
Daniel Mack [Mon, 12 May 2014 23:28:09 +0000 (01:28 +0200)]
kdbus: switch over to generic memfd implementation (ABI+API break)
Thomas Hindoe Paaboel Andersen [Sat, 16 Aug 2014 21:18:32 +0000 (23:18 +0200)]
networkctl: use safe_qsort in case no links are present
Unlikely to happen but still...
Thomas Hindoe Paaboel Andersen [Fri, 15 Aug 2014 22:31:23 +0000 (00:31 +0200)]
sd-bus,log: remove unused variables
Tom Gundersen [Fri, 15 Aug 2014 17:15:30 +0000 (19:15 +0200)]
sd-event: return 'r' rather than '-errno'
Lennart Poettering [Fri, 15 Aug 2014 18:25:10 +0000 (20:25 +0200)]
Tom Gundersen [Fri, 15 Aug 2014 16:21:18 +0000 (18:21 +0200)]
sd-event: fix missing needs_rearm
Lennart Poettering [Fri, 15 Aug 2014 18:08:51 +0000 (20:08 +0200)]
sd-bus: add API to check if a client has privileges
This is a generalization of the vtable privilege check we already have,
but exported, and hence useful when preparing for a polkit change.
This will deal with the complexity that on dbus1 one cannot trust the
capability field we retrieve via the bus, since it is read via
/proc/$$/stat (and thus might be out-of-date) rather than directly from
the message (like on kdbus) or bus connection (as for uid creds on
dbus1).
Also, port over all code to this new API.
Lennart Poettering [Fri, 15 Aug 2014 16:29:21 +0000 (18:29 +0200)]
update TODO
Lennart Poettering [Fri, 15 Aug 2014 16:14:37 +0000 (18:14 +0200)]
cgroup: only generate warnings if actually writing to cgroup attributes failed
Lennart Poettering [Fri, 15 Aug 2014 16:07:36 +0000 (18:07 +0200)]
main,log: parse the log related kernel command line parameters at one place only, and for all tools
Previously, we ended up parsing some of them three times: in main.c when
processing the kernel cmdline, in main.c when processing the process
cmdline (only for containers), and in log.c again.
Let's streamline this, and only parse them in log.c
In PID 1 also make sure we parse "quiet" first, and then override this
with the more specific checks in log.c
Lennart Poettering [Fri, 15 Aug 2014 16:01:52 +0000 (18:01 +0200)]
main: minor code modernization for initializing the console
Lennart Poettering [Fri, 15 Aug 2014 16:01:30 +0000 (18:01 +0200)]
update TODO
Lennart Poettering [Fri, 15 Aug 2014 15:06:10 +0000 (17:06 +0200)]
hostnamectl: actually implement location support
David Herrmann [Fri, 15 Aug 2014 14:58:16 +0000 (16:58 +0200)]
resolve: fix compilation on LLVM+clang
LLVM+clang does not allow statement-expressions inside of
type-declarations (file-scope). Use CONST_MAX() to avoid this.
David Herrmann [Fri, 15 Aug 2014 14:54:52 +0000 (16:54 +0200)]
macro: add CONST_MAX() macro
The CONST_MAX() macro is similar to MAX(), but verifies that both
arguments have the same type and are constant expressions. Furthermore,
the result of CONST_MAX() is again a constant-expression.
CONST_MAX() avoids any statement-expressions and other non-trivial
expression-types. This avoids rather arbitrary restrictions in both GCC
and LLVM, which both either fail with statement-expressions inside
type-declarations or statement-expressions inside static-const
initializations.
If anybody knows how to circumvent this, please feel free to unify
CONST_MAX() and MAX().
David Herrmann [Fri, 15 Aug 2014 14:16:30 +0000 (16:16 +0200)]
macro: const'ify MIN/MAX/... macros
We must add 'const' to local variables in statement-expressions to
guarantee that the macros can produce constant-expressions if given such.
GCC seems to ignore this, but LLVM/clang requires it (understandably).
Lennart Poettering [Fri, 15 Aug 2014 14:42:06 +0000 (16:42 +0200)]
resolved: fix assertion when joining llmnr mcast group
Lennart Poettering [Fri, 15 Aug 2014 14:21:19 +0000 (16:21 +0200)]
networkd: print nice warnings if people configure invalid domain names
Lennart Poettering [Fri, 15 Aug 2014 14:04:46 +0000 (16:04 +0200)]
util: make is_localhost() check for 'localdomain' too, so that we can use it for both validating domains and host names
Lennart Poettering [Fri, 15 Aug 2014 14:02:42 +0000 (16:02 +0200)]
networkd: fix minor memory leak
Lennart Poettering [Fri, 15 Aug 2014 14:02:29 +0000 (16:02 +0200)]
networkctl: show acquired system domains
Lennart Poettering [Fri, 15 Aug 2014 14:02:14 +0000 (16:02 +0200)]
sd-network: add system-wide sd_network_get_domains() API
Lennart Poettering [Fri, 15 Aug 2014 13:42:56 +0000 (15:42 +0200)]
networkd: always write out locally configured settings first, dhcp-acquired ones later
This is primarily important for the domains list, as we really should
prefer the locally configured domain over the dhcp supplied ones when we
use it as a search list.
Lennart Poettering [Fri, 15 Aug 2014 13:36:17 +0000 (15:36 +0200)]
networkd: remove "*" from domains list
Also, simplify things a bit and make sure we don't forget looking at one
of the entries.
Lennart Poettering [Fri, 15 Aug 2014 13:34:56 +0000 (15:34 +0200)]
networkctl: two OOM fixes
Lennart Poettering [Fri, 15 Aug 2014 13:34:33 +0000 (15:34 +0200)]
sd-nework: be more careful with error codes, return ENODATA if you lack information
Tom Gundersen [Fri, 15 Aug 2014 12:49:31 +0000 (14:49 +0200)]
sd-network: add support for wildcard domains
Tom Gundersen [Fri, 15 Aug 2014 12:21:08 +0000 (14:21 +0200)]
networkd: add support for Domains= to .network files
This allows the search/routing domanis to be specified per link/network and be passed
on to resolved.
Harald Hoyer [Fri, 15 Aug 2014 12:39:05 +0000 (14:39 +0200)]
kernel-install/90-loaderentry.install: fixed cmdline parsing
If /etc/kernel/cmdline is missing or empty, we read /proc/cmdline and
want to filter out the initrd line. Due to a bug, the whole contents was
filtered out.
Stef Walter [Wed, 6 Aug 2014 09:53:00 +0000 (11:53 +0200)]
core: Rename Job.subscribed field to Job.clients
This reflects how this field will be used, to not only track where
to send signals, but also which callers (other than root) are allowed
to call DBus methods on the Job.
Stef Walter [Wed, 6 Aug 2014 09:34:40 +0000 (11:34 +0200)]
core: Common code for DBus methods that Cancel a job
Both ofs.Job.Cancel() and ofs.Manager.CancelJob() now use same
implementation. So we can add caller verify logic appropriately.
Stef Walter [Wed, 6 Aug 2014 05:57:43 +0000 (07:57 +0200)]
sd-bus: Remove bus arg from bus_verify_polkit_async_registry_free()
It's unneccessary, not used, and complicates callers of the
function.
David Herrmann [Fri, 15 Aug 2014 11:20:18 +0000 (13:20 +0200)]
test: fix strtod test for real
The "0,5" syntax was actually right. The real problem is, the test should
only run if the local system has the de_DE.UTF-8 locale. Therefore, skip
the tests if setlocale() fails. This is kinda ugly, as it is done
silently, but we cannot skip partial tests with the current
infrastructure. Should be fine this way.
Lennart Poettering [Fri, 15 Aug 2014 11:18:50 +0000 (13:18 +0200)]
util: never use ether_ntoa(), since it formats with %x, not %02x, which makes ethernet addresses look funny
Lennart Poettering [Fri, 15 Aug 2014 10:57:46 +0000 (12:57 +0200)]
unit: remove spurious newline
Lennart Poettering [Fri, 15 Aug 2014 10:57:33 +0000 (12:57 +0200)]
networkctl: increase column width for link type to 18, to accomodate for 'ieee80211_radiotap'
Tom Gundersen [Fri, 15 Aug 2014 10:45:59 +0000 (12:45 +0200)]
networkd: rename UseDomainName to UseDomains
This option will also apply to the search domains, so make it plural.
Lennart Poettering [Fri, 15 Aug 2014 10:07:33 +0000 (12:07 +0200)]
sysctl: always write net.ipv4.conf.all.xyz= in addition to net.ipv4.conf.default.xyz=
Otherwise we have a boot-time race, where interfaces that popped up
after the sysctl service would get the settings applied, but all others
wouldn't.
Lennart Poettering [Fri, 15 Aug 2014 09:56:36 +0000 (11:56 +0200)]
cgroup: downgrade log messages about non-existant cgroup attributes to LOG_DEBUG
Lennart Poettering [Fri, 15 Aug 2014 09:55:43 +0000 (11:55 +0200)]
cgroup: never try to create files in cgroupfs, only open them for writing
This should have the benefit that cg_set_attribute() returns ENOENT
instead of EACCESS when we use it for non-existing attributes.
David Herrmann [Fri, 15 Aug 2014 08:44:43 +0000 (10:44 +0200)]
test: fix strtod() test
One strtod() test is broken since:
commit
8e211000025940b770794abf5754de61b4add0af
Author: Thomas Hindoe Paaboel Andersen <phomes@gmail.com>
Date: Mon Aug 4 23:13:31 2014 +0200
test: use fabs on doubles
The commit was right, so no reason to revert it, but the test was broken
before and only worked by coincidence. Convert "0,5" to "0.5" so we don't
depend on locales for double conversion (or well, we depend on "C" which
seems reasonable).
Lennart Poettering [Fri, 15 Aug 2014 01:06:11 +0000 (03:06 +0200)]
networkctl: print local domain name in status output
Lennart Poettering [Fri, 15 Aug 2014 01:05:44 +0000 (03:05 +0200)]
dhcp: the localhost isn't valid as hostname either
Umut Tezduyar Lindskog [Tue, 8 Jul 2014 14:16:14 +0000 (16:16 +0200)]
coredump: display libdw fail string on stack trace fail
- systemd[1]: hello.service: main process exited, code= dumped, status=3/QUIT
- systemd-coredump[2541]: Failed to generate stack trace: Unwinding not supported for this architecture
- systemd-coredump[2541]: Process 1024 (hello) of user 154 dumped core.
Lennart Poettering [Fri, 15 Aug 2014 00:41:14 +0000 (02:41 +0200)]
man: drop references to removed and obsolete 'systemctl load' command
Susant Sahani [Thu, 14 Aug 2014 17:36:13 +0000 (23:06 +0530)]
socket: add bus property for bus property NoDelay
Missed to add the SD_BUS_PROPERTY for no_delay.
Susant Sahani [Thu, 14 Aug 2014 17:36:12 +0000 (23:06 +0530)]
socket: Add support for TCP defer accept
TCP_DEFER_ACCEPT Allow a listener to be awakened only when data
arrives on the socket. If TCP_DEFER_ACCEPT set on a server-side
listening socket, the TCP/IP stack will not to wait for the final
ACK packet and not to initiate the process until the first packet
of real data has arrived. After sending the SYN/ACK, the server will
then wait for a data packet from a client. Now, only three packets
will be sent over the network, and the connection establishment delay
will be significantly reduced.
Susant Sahani [Thu, 14 Aug 2014 17:36:11 +0000 (23:06 +0530)]
socket: Add Support for TCP keep alive variables
The tcp keep alive variables now can be configured via conf
parameter. Follwing variables are now supported by this patch.
tcp_keepalive_intvl: The number of seconds between TCP keep-alive probes
tcp_keepalive_probes: The maximum number of TCP keep-alive probes to
send before giving up and killing the connection if no response is
obtained from the other end.
tcp_keepalive_time: The number of seconds a connection needs to be
idle before TCP begins sending out keep-alive probes.
Lennart Poettering [Thu, 14 Aug 2014 23:25:36 +0000 (01:25 +0200)]
update TODO
Timofey Titovets [Thu, 14 Aug 2014 23:05:47 +0000 (02:05 +0300)]
core: Refuse mount on symlink
Tom Gundersen [Thu, 14 Aug 2014 23:08:46 +0000 (01:08 +0200)]
networkd: don't respect domainname from DHCP by default
Most routers will send garbage, so make this opt-in only.
Tom Gundersen [Thu, 14 Aug 2014 23:04:53 +0000 (01:04 +0200)]
sd-dhcp-lease: verify hostname and domainnames we receive
Tom Gundersen [Thu, 14 Aug 2014 20:18:22 +0000 (22:18 +0200)]
resolved: pull in domain names from sd-network
Tom Gundersen [Thu, 14 Aug 2014 18:35:37 +0000 (20:35 +0200)]
sd-network: add sd_network_linkg_get_domains()
For now this only exposes the domain name (DHCP Option 15), and not
the search string (DHCP Option 119), which will be implemented in
a follow-up patch.
Eelco Dolstra [Thu, 14 Aug 2014 17:59:16 +0000 (19:59 +0200)]
machine_kill(): Don't kill the unit when killing the leader
If "machinectl poweroff" or "machinectl reboot" is used on a
systemd-nspawn container started with --keep-unit and --register, it
should *only* send the appropriate signal to the leader PID (i.e. the
container's systemd process). It shouldn't fall through to
manager_kill_unit() to also send the signal to the unit. The latter
ends up killing systemd-nspawn, which takes down the container
prematurely.
Lennart Poettering [Thu, 14 Aug 2014 17:56:22 +0000 (19:56 +0200)]
resolved: clarify that LLMNR scopes must have a link assigned
This is supposed to remove some compiler warnings:
http://lists.freedesktop.org/archives/systemd-devel/2014-July/021393.html
Lennart Poettering [Thu, 14 Aug 2014 17:02:48 +0000 (19:02 +0200)]
update TODO
Jon Severinsson [Mon, 21 Jul 2014 22:39:13 +0000 (00:39 +0200)]
core: do not add default dependencies to /usr mount unit
This makes no difference if /usr was mounted in the initrd,
and brings the behaviour of legacy systems closer to those
with a propper initrd.
Lennart Poettering [Thu, 14 Aug 2014 15:16:37 +0000 (17:16 +0200)]
update TODO
Lennart Poettering [Thu, 14 Aug 2014 15:15:09 +0000 (17:15 +0200)]
core: move status line ellipsation to 50% of the line
http://lists.freedesktop.org/archives/systemd-devel/2014-July/021591.html
Lennart Poettering [Thu, 14 Aug 2014 14:36:25 +0000 (16:36 +0200)]
update TODO
Lennart Poettering [Thu, 14 Aug 2014 14:36:18 +0000 (16:36 +0200)]
analyze: some fixes to the --help text
Lennart Poettering [Thu, 14 Aug 2014 14:34:47 +0000 (16:34 +0200)]
Revert "socket: add support for TCP fast Open"
This reverts commit
9528592ff8d7ff361da430285deba8196e8984d5.
Apparently TFO is actually the default at least for the server side now.
Also the setsockopt doesn't actually take a bool, but a qlen integer.