chiark / gitweb /
7 years agosd-dhcp6-client: Add reply sending for test
Patrik Flykt [Thu, 19 Jun 2014 12:39:58 +0000 (15:39 +0300)]
sd-dhcp6-client: Add reply sending for test

Enhance the test case by generating a Reply. With a properly formed
Reply the callback function will be called and the additional
earlier event loop exit can now be removed.

7 years agosd-dhcp6-client: Receive and parse a reply and set T1 and T2 timers
Patrik Flykt [Thu, 19 Jun 2014 12:39:57 +0000 (15:39 +0300)]
sd-dhcp6-client: Receive and parse a reply and set T1 and T2 timers

Receive and parse a Reply from the server. Set up T1 and T2 timers and
notify the library user of an acquired DHCPv6 lease.

7 years agosd-dhcp6-client: Add Advertise sending for test case
Patrik Flykt [Thu, 19 Jun 2014 12:39:54 +0000 (15:39 +0300)]
sd-dhcp6-client: Add Advertise sending for test case

Enhance the test case by replying with an Advertise message to the
client. Copy the transaction id, IAID and DUID from the Solicit
message. Verify the Request message created by the DHCPv6 client
implementation and move the main loop exit to the end of the Request
message verification.

7 years agosd-dhcp6-client: Add Request message sending
Patrik Flykt [Thu, 19 Jun 2014 12:39:53 +0000 (15:39 +0300)]
sd-dhcp6-client: Add Request message sending

As described in RFC 3315, Section 17.1.2, a client has to wait until the
first timeout has elapsed before it is allowed to request IPv6 addresses
from the DHCPv6 server. This is indicated by a non-NULL lease and a
non-zero resend count. Should the Advertisement contain a preference
value of 255 or be received after the first timeout, IPv6 address
requesting is started immediately.

In response to these events, create a Request message and set up proper
resend timers to send the message to the server.

7 years agosd-dhcp6-client: Update start function to take a state
Patrik Flykt [Thu, 19 Jun 2014 12:39:49 +0000 (15:39 +0300)]
sd-dhcp6-client: Update start function to take a state

Update the start function so that the client state can be conveniently
changed with the previous message resend timers cleared. On initial
startup also create and bind to the UDP socket.

7 years agosd-dhcp6-client: Add test case for Advertise message parsing
Patrik Flykt [Thu, 19 Jun 2014 12:39:46 +0000 (15:39 +0300)]
sd-dhcp6-client: Add test case for Advertise message parsing

Add a basic test case excersising once more option parsing function
in addition to lease handling. Check that the address iteration
functions return the correct IPv6 address and lifetimes and that
only one address is returned. Also verify that the server ID and
preference values are read correctly.

7 years agosd-dhcp6-lease: Add functions for accessing lease and addresses
Patrik Flykt [Thu, 19 Jun 2014 12:39:45 +0000 (15:39 +0300)]
sd-dhcp6-lease: Add functions for accessing lease and addresses

Add support functions for accessing the current client lease as well
as iterating over the addresses and get their preferred and valid

7 years agosd-dhcp6-client: Receive and parse Advertise messages
Patrik Flykt [Thu, 19 Jun 2014 12:39:42 +0000 (15:39 +0300)]
sd-dhcp6-client: Receive and parse Advertise messages

When receiving DHCPv6 messages, discard the ones that are not meant
for DHCPv6 clients and verify the transaction id. Once that is done,
process the Advertise message and select the Advertise with the
highest preference.

Create a separate function for lease information parsing so that it
can be reused in other parts of the protocol. Verify both DUID and
IAID in the received message and store other necessary information
with the lease structure.

7 years agosd-dhcp6-client: Add IA Address option parsing
Patrik Flykt [Thu, 19 Jun 2014 12:39:39 +0000 (15:39 +0300)]
sd-dhcp6-client: Add IA Address option parsing

Add functionality to parse DHCPv6 Identity Association for
Non-temporary (IA_NA) and Temporary Addresses (IA_TA) options.
Both of them contain one or more IA Address (IAADDR) options
and optinally a status code option. Only the IA_NA option
contains lease lifetimes. See RFC 3315, sections 22.4., 22.5.,
22.6., 22.13. and appendix B. for details. If the lease
timeouts are not set, use the ones recommended for servers in
section 22.4.

Factor out common code in the form of an option header parsing
helper function.

7 years agosd-dhcp6-lease: Add DHCPv6 lease handling
Patrik Flykt [Thu, 19 Jun 2014 12:39:35 +0000 (15:39 +0300)]
sd-dhcp6-lease: Add DHCPv6 lease handling

Create a structure describing a DHCPv6 lease. Add internal functions
for creating a new lease and accessing the server ID, preference and
IAID. Provide functions for clearing addresses and associated timers.

External users are initially given only the capabilities of
referencing and unreferencing the lease structure.

7 years agosd-dhcp6-client: Add DHCPv6 Solicit test case
Patrik Flykt [Thu, 19 Jun 2014 12:39:30 +0000 (15:39 +0300)]
sd-dhcp6-client: Add DHCPv6 Solicit test case

Verify the Solicit message created by the DHCPv6 client code.

Provide local variants for detect_vm(), detect_container() and
detect_virtualization() defined in virt.h. This makes the DHCPv6
library believe it is run in a container and does not try to request
interface information from udev for the non-existing interface index
used by the test case code.

7 years agosd-dhcp6-client: Add DHCPv6 Solicit message creation and sending
Patrik Flykt [Thu, 19 Jun 2014 12:39:27 +0000 (15:39 +0300)]
sd-dhcp6-client: Add DHCPv6 Solicit message creation and sending

Implement the initial functionality used for creating a DHCPv6 Solicit
message containing the needed options and send it to the DHCPv6
broadcast address. Increase the sent message count and ensure that
the Solicit Initial Retransmission Time is strictly greater than
the Solicitation IRT as described in RFC 3315, section 17.1.2.

7 years agosd-dhcp6-client: Add functions to bind to DHCPv6 UDP socket
Patrik Flykt [Thu, 19 Jun 2014 12:39:23 +0000 (15:39 +0300)]
sd-dhcp6-client: Add functions to bind to DHCPv6 UDP socket

Add a function that creates a UDP socket bound to the given interface
and optionally to an IPv6 address. Add another function that will
send the DHCPv6 UDP packet to its destination.

Using IPV6_PKTINFO in setsockopt to bind the IPv6 socket to an
interface is documented in section 4. of RFC 3542, "Advanced Sockets
Application Program Interface (API) for IPv6"

Add a define for DHCPv6 Relay Agents and Servers multicast address as
its not available elsewhere.

7 years agosd-dhcp6-client: Add basic DHCPv6 option handling
Patrik Flykt [Thu, 19 Jun 2014 12:39:20 +0000 (15:39 +0300)]
sd-dhcp6-client: Add basic DHCPv6 option handling

Add option appending and parsing. DHCPv6 options are not aligned, thus
the option handling code must be able to handle options starting at
any byte boundary.

Add a test case for the basic option handling.

7 years agosd-dhcp6-client: Add DHCPv6 client Solicitation timeout handling
Patrik Flykt [Thu, 19 Jun 2014 12:39:15 +0000 (15:39 +0300)]
sd-dhcp6-client: Add DHCPv6 client Solicitation timeout handling

Add the core of DHCPv6 client message retransmission and upper bound
timer and message count handling according to RFC 3315 Secions 7.1.2
and 14. Omit the DHCPv6 initial delay; for now it is assumed that
systemd-networkd will provide decent startup randomization that will
desynchronize the clients.

When reinitializing the client, clear all timers.

7 years agosd-dhcp6-client: Add basic DHCPv6 test cases
Patrik Flykt [Thu, 19 Jun 2014 12:39:12 +0000 (15:39 +0300)]
sd-dhcp6-client: Add basic DHCPv6 test cases

Add test cases for basic DHCPv6 client handling, e.g. setting
interface index, mac address and attaching event loop.

7 years agosd-dhcp6-client: Add DHCPv6 IAID functionality
Patrik Flykt [Thu, 19 Jun 2014 12:39:08 +0000 (15:39 +0300)]
sd-dhcp6-client: Add DHCPv6 IAID functionality

Create structures describing Identity Association IDentifiers and
IPv6 lease addresses.

[tomegun: initialize the IAID when client is started. Base this off of the
predictable udev names, if available, as these satisfy the requirement of
the IAID, and base it off the mac addres otherwise, as that is the best we

7 years agonetwork-internal: split out net_get_name()
Tom Gundersen [Thu, 19 Jun 2014 12:39:05 +0000 (15:39 +0300)]
network-internal: split out net_get_name()

7 years agosd-dhcp6-client: Initialize DUID
Tom Gundersen [Thu, 19 Jun 2014 12:39:01 +0000 (15:39 +0300)]
sd-dhcp6-client: Initialize DUID

Initialize DHCP Unique Identifier when creating the client. The
DUID is generated based on the machine-id, which satisfies all the
requirements of what an DUID should be. The DUID type is DUID-EN.

Based on patch by Patrik Flykt.

7 years agosd-icmp6-nd: Add initial Router Advertisement test case
Patrik Flykt [Thu, 19 Jun 2014 12:38:59 +0000 (15:38 +0300)]
sd-icmp6-nd: Add initial Router Advertisement test case

Feed a Router Advertisement to the code and expect proper events
each time. The sending part is ignored, as all of it is static code
in the real dhcp_network_icmp6_send_rs() function.

7 years agosd-icmp6-nd: Add Router Solicitation and Advertisement support
Patrik Flykt [Thu, 19 Jun 2014 12:38:55 +0000 (15:38 +0300)]
sd-icmp6-nd: Add Router Solicitation and Advertisement support

Provide functions to bind the ICMPv6 socket to the approriate interface
and set multicast sending and receiving according to RFC 3493, section
5.2. and RFC 3542, sections 3. and 3.3. Filter out all ICMPv6 messages
except Router Advertisements for the socket in question according to
RFC 3542, section 3.2.

Send Router Solicitations to the all routers multicast group as
described in RFC 4861, section 6. and act on the received Router
Advertisments according to section 6.3.7.

Implement a similar API for ICMPv6 handling as is done for DHCPv4 and

7 years agosd-dhcp6-client: Add initial DHCPv6 client files
Patrik Flykt [Thu, 19 Jun 2014 12:38:50 +0000 (15:38 +0300)]
sd-dhcp6-client: Add initial DHCPv6 client files

Add initial structure definition and functions for setting index, MAC
address, callback and event loop. Define protocol values and states.

7 years agobuild-sys: run forgotten 'make update-man-list'
Lennart Poettering [Thu, 19 Jun 2014 11:47:07 +0000 (13:47 +0200)]
build-sys: run forgotten 'make update-man-list'

7 years agocoredump: coredumpctl is so useful now, make it a first-class citizen
Lennart Poettering [Thu, 19 Jun 2014 11:46:01 +0000 (13:46 +0200)]
coredump: coredumpctl is so useful now, make it a first-class citizen

Drop the "systemd-" prefix, renaming it from "systemd-coredumpctl" to

7 years agoupdate TODO
Lennart Poettering [Thu, 19 Jun 2014 10:38:22 +0000 (12:38 +0200)]
update TODO

7 years agojournald: make SplitMode=uid the default
Lennart Poettering [Thu, 19 Jun 2014 10:36:35 +0000 (12:36 +0200)]
journald: make SplitMode=uid the default

Now that we actually can distuingish system and normal users there's no
point in taking session information into account anymore when splitting
up logs.

This has the beenfit with that coredump information will actually end up
in each user's own journal.

7 years agoupdate TODO
Lennart Poettering [Thu, 19 Jun 2014 10:25:42 +0000 (12:25 +0200)]
update TODO

7 years agocoredumpctl: introduce new -1 switch for showing a single, most recent entry only
Lennart Poettering [Thu, 19 Jun 2014 10:24:00 +0000 (12:24 +0200)]
coredumpctl: introduce new -1 switch for showing a single, most recent entry only

"coredumpctl info -1" is now incredibly useful for showing the most recent

7 years agocoredump: simplify how we apply extended attributes to coredumps
Lennart Poettering [Thu, 19 Jun 2014 10:13:09 +0000 (12:13 +0200)]
coredump: simplify how we apply extended attributes to coredumps

7 years agocoredump: include stacktrace of coredumps in the log message
Lennart Poettering [Thu, 19 Jun 2014 10:07:12 +0000 (12:07 +0200)]
coredump: include stacktrace of coredumps in the log message

elfutils' libdw is maintained, can read DWARF debug data and appears to
be the library of choice for generating backtraces today.

7 years agobootchart: add assert
Thomas Hindoe Paaboel Andersen [Wed, 18 Jun 2014 21:35:01 +0000 (23:35 +0200)]
bootchart: add assert

since 376cd3b89c62f580a6f576cecfbbb28d3944118f LIST_FIND_TAIL accepts
an empty list. That removed an assert in LIST_FIND_TAIL and we now
theoretically risk a null pointer deref. This adds the assert directly
to protect against that.

7 years agocoredump: add 3 more metadata fields to coredump entries
Lennart Poettering [Wed, 18 Jun 2014 21:55:36 +0000 (23:55 +0200)]
coredump: add 3 more metadata fields to coredump entries

7 years agocoredump: add new "info" verb to coredumpctl showing detailed information about a...
Lennart Poettering [Wed, 18 Jun 2014 21:34:59 +0000 (23:34 +0200)]
coredump: add new "info" verb to coredumpctl showing detailed information about a coredump

7 years agocoredump: make sure coredumpctl can handle externally stored coredumps
Lennart Poettering [Wed, 18 Jun 2014 21:05:15 +0000 (23:05 +0200)]
coredump: make sure coredumpctl can handle externally stored coredumps

7 years agotmpfiles: automatically clean up /var/lib/systemd/coredump after 3d
Lennart Poettering [Wed, 18 Jun 2014 20:06:25 +0000 (22:06 +0200)]
tmpfiles: automatically clean up /var/lib/systemd/coredump after 3d

7 years agocoredump: optionally store coredumps on disk, not in the journal
Lennart Poettering [Wed, 18 Jun 2014 20:02:18 +0000 (22:02 +0200)]
coredump: optionally store coredumps on disk, not in the journal

Introduce a new configuration file /etc/systemd/coredump.conf to
configure when to place coredumps in the journal and when on disk.

Since the coredumps are quite large, default to storing them only on

7 years agodhcp-server: simplify dhcp server unref call
Lennart Poettering [Wed, 18 Jun 2014 16:54:52 +0000 (18:54 +0200)]
dhcp-server: simplify dhcp server unref call

No need to use HASHMAP_ITERATE when we destruct all entries anyway.

7 years agoTODO: update
Thomas Hindoe Paaboel Andersen [Wed, 18 Jun 2014 21:18:19 +0000 (23:18 +0200)]
TODO: update

7 years agosocket: check return from exec_spawn
Thomas Hindoe Paaboel Andersen [Wed, 18 Jun 2014 18:34:52 +0000 (20:34 +0200)]
socket: check return from exec_spawn

7 years agosd-dhcp-client: check return from dhcp_option_append
Thomas Hindoe Paaboel Andersen [Wed, 18 Jun 2014 18:26:54 +0000 (20:26 +0200)]
sd-dhcp-client: check return from dhcp_option_append

7 years agosd-dhcp-server: fix a leak
Thomas Hindoe Paaboel Andersen [Fri, 13 Jun 2014 20:54:22 +0000 (22:54 +0200)]
sd-dhcp-server: fix a leak

We must use free instead of dhcp_lease_free here to avoid freeing

7 years agonetwork: automatically assign each container veth link a /28 IP address range
Lennart Poettering [Wed, 18 Jun 2014 16:27:55 +0000 (18:27 +0200)]
network: automatically assign each container veth link a /28 IP address range

7 years agonetworkd: configure dhcp server range only after successfully setting an IP address...
Lennart Poettering [Wed, 18 Jun 2014 16:26:03 +0000 (18:26 +0200)]
networkd: configure dhcp server range only after successfully setting an IP address on the interface

This way we can make use of the addresses of the IP pool.

7 years agonetworkd: add address pool support
Lennart Poettering [Wed, 18 Jun 2014 16:22:14 +0000 (18:22 +0200)]
networkd: add address pool support

When an address is configured to be all zeroes, networkd will now
automatically find a locally unused network of the right size from a
list of pre-configured pools. Currently those pools are,, and fc00::/7, i.e. the network ranges for
private networks. They are compiled in, but should be configurable

This allows applying the same configuration to a large number of
interfaces with each time a different IP range block, and management of
these IP ranges is fully automatic.

When allocating an address range from the pool it is made sure the range
is not used otherwise.

7 years agonetworkd: add a number of calls to manipulate in_addr_union structs
Lennart Poettering [Wed, 18 Jun 2014 16:17:39 +0000 (18:17 +0200)]
networkd: add a number of calls to manipulate in_addr_union structs

7 years agosocket-util: introduce in_addr_union similar to sockaddr_union and make use of it...
Lennart Poettering [Wed, 18 Jun 2014 10:34:02 +0000 (12:34 +0200)]
socket-util: introduce in_addr_union similar to sockaddr_union and make use of it everywhere

7 years agodhcp-network: remove TODO
Michal Sekletar [Wed, 18 Jun 2014 16:14:51 +0000 (18:14 +0200)]
dhcp-network: remove TODO

There is no need to explicitly check version of L3 protocol in the
ethernet header because we bind socket with .sll_protocol set to
ETH_P_IP, thus we only receive IPv4 packets on the socket.

7 years agohwdb: Update database of Bluetooth company identifiers
Marcel Holtmann [Wed, 18 Jun 2014 11:55:32 +0000 (13:55 +0200)]
hwdb: Update database of Bluetooth company identifiers

7 years agoTODO: update
Kay Sievers [Wed, 18 Jun 2014 01:46:44 +0000 (03:46 +0200)]
TODO: update

7 years agorules: add loop-control and btrfs-control to "disk" group
Kay Sievers [Wed, 18 Jun 2014 01:37:32 +0000 (03:37 +0200)]
rules: add loop-control and btrfs-control to "disk" group

7 years agocryptsetup: introduce new cryptsetup-pre.traget unit so that services can make sure...
Lennart Poettering [Tue, 17 Jun 2014 22:07:56 +0000 (00:07 +0200)]
cryptsetup: introduce new cryptsetup-pre.traget unit so that services can make sure they are started before and stopped after any LUKS setup

7 years agotmpfiles: create directories already with the right label, instead of creating them...
Lennart Poettering [Tue, 17 Jun 2014 22:02:08 +0000 (00:02 +0200)]
tmpfiles: create directories already with the right label, instead of creating them first, and relabeling them afterwards

7 years agotmpfiles: w lines should allow following symlinks
Lennart Poettering [Tue, 17 Jun 2014 22:01:39 +0000 (00:01 +0200)]
tmpfiles: w lines should allow following symlinks

7 years agoupdate TODO
Lennart Poettering [Tue, 17 Jun 2014 22:01:07 +0000 (00:01 +0200)]
update TODO

7 years agonamespace: properly label device nodes we create
Lennart Poettering [Tue, 17 Jun 2014 21:51:21 +0000 (23:51 +0200)]
namespace: properly label device nodes we create

7 years agotmpfiles: add "+" modifier support to b, c, p lines in addition to L
Lennart Poettering [Tue, 17 Jun 2014 21:50:22 +0000 (23:50 +0200)]
tmpfiles: add "+" modifier support to b, c, p lines in addition to L

7 years agoman: fix typo
Zbigniew Jędrzejewski-Szmek [Sat, 7 Jun 2014 20:37:50 +0000 (16:37 -0400)]
man: fix typo

7 years agobuild-sys: add missing backslash
Ronny Chevalier [Tue, 17 Jun 2014 17:26:14 +0000 (19:26 +0200)]
build-sys: add missing backslash

7 years agonetworkd: veth - fix parsing verification
Tom Gundersen [Tue, 17 Jun 2014 17:42:30 +0000 (19:42 +0200)]
networkd: veth - fix parsing verification

7 years agonetworkd: vxlan - fix parsing verification
Tom Gundersen [Tue, 17 Jun 2014 17:40:40 +0000 (19:40 +0200)]
networkd: vxlan - fix parsing verification

7 years agonetworkd: veth - fix memleak
Tom Gundersen [Tue, 17 Jun 2014 17:40:12 +0000 (19:40 +0200)]
networkd: veth - fix memleak

7 years agoinstall: remove unused variable
Thomas Hindoe Paaboel Andersen [Tue, 17 Jun 2014 19:22:01 +0000 (21:22 +0200)]
install: remove unused variable

7 years agotmpfiles: remove line for automatic clean-ups for /var/cache/man/
Lennart Poettering [Tue, 17 Jun 2014 10:58:32 +0000 (12:58 +0200)]
tmpfiles: remove line for automatic clean-ups for /var/cache/man/

Management of /var/cache/man should move to the distribution package
owning the directory (for example, man-db). As man pages are a
non-essential part of the system and unnecessary for minimal setups,
there's no point in having systemd ship these lines.

Distribution packages should make sure the appropriate package for their
distribution adopts this line. Ideally, the line is adopted by the
upstream package.

For Fedora I have filed this bug:

7 years agobootchart: set white background
Frederic Crozat [Mon, 16 Jun 2014 16:49:12 +0000 (18:49 +0200)]
bootchart: set white background

 In programs like eog and gimp the transparant background did not
look very good.

Similar fix from the one done in systemd-analyze (418e3750)

7 years agonetworkd: link - fix carrier check on new link
Tom Gundersen [Tue, 17 Jun 2014 06:54:44 +0000 (08:54 +0200)]
networkd: link - fix carrier check on new link

We were comparing against our own internal enum rather than the kernel exposed one.

Found by Thomas Ritter.

7 years agosd-dhcp: checksum - make endianess-neutral
Tom Gundersen [Mon, 16 Jun 2014 13:24:28 +0000 (15:24 +0200)]
sd-dhcp: checksum - make endianess-neutral

For efficiency, we group bytes together before adding them up. This
is guaranteed to always work (regardless of the byte order) as long
as the i-th byte in each group lign up with the i-th byte in each
other group.

On big-endian machines this broke when handling the trailing few bytes
which did not make up a full group of 4 bytes. This patch fixes the
problem by explicitly creating a 4 byte zero-padded group out of the
trailing bytes.

Reported and tested by Thomas Ritter <>.

7 years agosystemctl: reverse order of args when verbosely creating symlinks
Dave Reisner [Tue, 17 Jun 2014 03:29:27 +0000 (23:29 -0400)]
systemctl: reverse order of args when verbosely creating symlinks

This was backwards. The symlink itself points to the source unit, not
the other way around.

7 years agotimesyncd: do not start in virtualized environments
Kay Sievers [Tue, 17 Jun 2014 01:34:09 +0000 (03:34 +0200)]
timesyncd: do not start in virtualized environments

7 years agoupdate TODO
Lennart Poettering [Tue, 17 Jun 2014 01:30:11 +0000 (03:30 +0200)]
update TODO

7 years agocore: populate unit file set with preset data if we boot with empty /etc
Lennart Poettering [Tue, 17 Jun 2014 01:25:34 +0000 (03:25 +0200)]
core: populate unit file set with preset data if we boot with empty /etc

7 years agomachine-id-setup: allow passing NULL as function argument, for simplicity
Lennart Poettering [Tue, 17 Jun 2014 01:25:02 +0000 (03:25 +0200)]
machine-id-setup: allow passing NULL as function argument, for simplicity

7 years agokmod: conditionalize kmod setup on CAP_SYS_MODULE, not whether we run in a container
Lennart Poettering [Tue, 17 Jun 2014 01:23:23 +0000 (03:23 +0200)]
kmod: conditionalize kmod setup on CAP_SYS_MODULE, not whether we run in a container

It's generally preferrable to conditionalize on the actual ability to do
something then the context we run in.

7 years agobuild-sys: touch /usr on "make install"
Lennart Poettering [Tue, 17 Jun 2014 01:09:27 +0000 (03:09 +0200)]
build-sys: touch /usr on "make install"

this way, the "make install" will be detected as offline update on next

7 years agounits: minor cleanups
Lennart Poettering [Tue, 17 Jun 2014 00:18:33 +0000 (02:18 +0200)]
units: minor cleanups

7 years agoinstall: improve paths we show the user when enabling/disabling
Lennart Poettering [Tue, 17 Jun 2014 00:15:03 +0000 (02:15 +0200)]
install: improve paths we show the user when enabling/disabling

7 years agonetworkd: don't pull in systemd-networkd-wait-online service from systemd-networkd...
Lennart Poettering [Tue, 17 Jun 2014 00:13:08 +0000 (02:13 +0200)]
networkd: don't pull in systemd-networkd-wait-online service from systemd-networkd when enabling

networkd-wait-online should never exist in the default transaction,
unless explicitly enable or pulled in via things like NFS. However, just
enabling networkd shouldn't enable networkd-wait-online, since it's
common to use the former without the latter.

7 years agoconf-files: fix when for --root= logic
Lennart Poettering [Mon, 16 Jun 2014 23:56:44 +0000 (01:56 +0200)]
conf-files: fix when for --root= logic

This is based on parts of similar patches from Michael Marineau and
Lukas Nykrin, but simply uses strappenda3().

7 years agosystemctl: output human readable strings in "systemctl enable" and "systemctl disable"
Lennart Poettering [Mon, 16 Jun 2014 23:38:07 +0000 (01:38 +0200)]
systemctl: output human readable strings in "systemctl enable" and "systemctl disable"

7 years agoinstall: simplify symlink --root= logic
Lennart Poettering [Mon, 16 Jun 2014 23:37:54 +0000 (01:37 +0200)]
install: simplify symlink --root= logic

7 years agoinstall: "systemctl enable" should be a nop for template units lacking a DefaultInsta...
Lennart Poettering [Mon, 16 Jun 2014 23:22:55 +0000 (01:22 +0200)]
install: "systemctl enable" should be a nop for template units lacking a DefaultInstance= setting

7 years agopreset: ship a minimal preset file upstream
Lennart Poettering [Mon, 16 Jun 2014 23:14:44 +0000 (01:14 +0200)]
preset: ship a minimal preset file upstream

This is useful so that distros have something to base their own policy
of. It also useful to make sure that minimal installs always get useful
configuration in place.

7 years agolog: don't downgrade log level in non-PID 1 if "quiet" is passed on kernel cmdline
Lennart Poettering [Mon, 16 Jun 2014 23:05:39 +0000 (01:05 +0200)]
log: don't downgrade log level in non-PID 1 if "quiet" is passed on kernel cmdline

"debug" should apply to all tools, but "quiet" only to PID1.

7 years agoinstall: make sure that --root= mode doesn't make us consider all units outside of...
Lennart Poettering [Mon, 16 Jun 2014 22:53:49 +0000 (00:53 +0200)]
install: make sure that --root= mode doesn't make us consider all units outside of search path

7 years agoinstall: make sure "systemctl disable foobar@.service" actually removes all instances
Lennart Poettering [Mon, 16 Jun 2014 22:33:39 +0000 (00:33 +0200)]
install: make sure "systemctl disable foobar@.service" actually removes all instances

7 years agoinstall: introduce new DefaultInstance= field for [Install] sections
Lennart Poettering [Mon, 16 Jun 2014 22:15:31 +0000 (00:15 +0200)]
install: introduce new DefaultInstance= field for [Install] sections

The DefaultInstance= name is used when enabling template units when only
specifying the template name, but no instance.

Add DefaultInstance=tty1 to getty@.service, so that when the template
itself is enabled an instance for tty1 is created.

This is useful so that we "systemctl preset-all" can work properly,
because we can operate on getty@.service after finding it, and the right
instance is created.

7 years agoinstall: when looking for a unit file for enabling, search for templates only after...
Lennart Poettering [Mon, 16 Jun 2014 22:13:48 +0000 (00:13 +0200)]
install: when looking for a unit file for enabling, search for templates only after traversing all search directories

Let's always make sure to look in all search directories for the full
unit names first, before looking for templates for them.

7 years agoinstall: use symlink_atomic() instead of unlink()+symlink() when force creating a...
Lennart Poettering [Mon, 16 Jun 2014 22:11:47 +0000 (00:11 +0200)]
install: use symlink_atomic() instead of unlink()+symlink() when force creating a symlink

7 years agoinstall: various modernizations
Lennart Poettering [Mon, 16 Jun 2014 22:10:54 +0000 (00:10 +0200)]
install: various modernizations

7 years agoinstall: teach preset query logic --root= support
Lennart Poettering [Mon, 16 Jun 2014 18:33:29 +0000 (20:33 +0200)]
install: teach preset query logic --root= support

7 years agoinstall: beef up preset logic to limit to only enable or only disable, and do all...
Lennart Poettering [Mon, 16 Jun 2014 17:49:31 +0000 (19:49 +0200)]
install: beef up preset logic to limit to only enable or only disable, and do all-unit preset operations

The new "systemctl preset-all" command may now be used to put all
installed units back into the enable/disable state the vendor/admin
encoded in preset files.

Also, introduce "systemctl --preset-mode=enable-only" and "systemctl
--preset-mode=disable-only" to only apply the enable or only the disable
operations of a "systemctl preset" or "systemctl preset-all" operation.

"systemctl preset-all" implements this RFE:

7 years agoinstall: simplify and clarify disabling logic for instanced units
Lennart Poettering [Mon, 16 Jun 2014 17:48:31 +0000 (19:48 +0200)]
install: simplify and clarify disabling logic for instanced units

7 years agoinstall: various modernizations
Lennart Poettering [Mon, 16 Jun 2014 15:19:30 +0000 (17:19 +0200)]
install: various modernizations

7 years agoupdate TODO
Lennart Poettering [Mon, 16 Jun 2014 15:04:49 +0000 (17:04 +0200)]
update TODO

7 years agounit-name: various modernizations
Lennart Poettering [Mon, 16 Jun 2014 15:04:30 +0000 (17:04 +0200)]
unit-name: various modernizations

7 years agounit-name: fix detection of unit templates/instances
Lennart Poettering [Mon, 16 Jun 2014 15:01:26 +0000 (17:01 +0200)]
unit-name: fix detection of unit templates/instances

We need to check for the last dot, not the first one in a unit name, for
the suffix. Correct that.

7 years agojournal-remote: fix memleak
Thomas Hindoe Paaboel Andersen [Mon, 16 Jun 2014 21:49:10 +0000 (23:49 +0200)]
journal-remote: fix memleak

7 years agotests: unlink temp file used in test
Ronny Chevalier [Sun, 15 Jun 2014 20:47:49 +0000 (22:47 +0200)]
tests: unlink temp file used in test

7 years agotests: add tests to test-hashmap
Ronny Chevalier [Sun, 15 Jun 2014 20:46:05 +0000 (22:46 +0200)]
tests: add tests to test-hashmap

add tests for:
  - hashmap_remove_and_put
  - hashmap_first_key
  - hashmap_last
  - hashmap_steal_first_key
  - hashmap_clear_free_free

7 years agotests: add test-fdset
Ronny Chevalier [Sat, 14 Jun 2014 20:10:45 +0000 (22:10 +0200)]
tests: add test-fdset

7 years agotests: add test-socket-util
Ronny Chevalier [Sat, 14 Jun 2014 20:10:44 +0000 (22:10 +0200)]
tests: add test-socket-util