summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-06-20debug-generator: add new kernel cmdline option systemd.wants= to add units ↵Lennart Poettering
to the initial transaction
2014-06-20networkd: link - fix memleak of icmp6 structTom Gundersen
2014-06-20networkd: veth - fix creation of veth netdevTom Gundersen
Avoid freeing the netdev structure in the cleanup macro.
2014-06-20shared: fix search_and_fopen with alternate rootsMichael Marineau
Update for the current behavior of path_strv_resolve which now returns paths relative to the given root, not the full absolute paths.
2014-06-20test: ensure conf_files_list returns absolute pathsMichael Marineau
2014-06-20conf-files: include root in returned file pathsMichael Marineau
This restores the original root handling logic that was present prior to 112cfb18 when path expansion moved to path_strv_canonicalize_absolute. That behavior partially went away in 12ed81d9. Alternatively all users of conf_files_list* could be updated to concatenate the paths themselves as unit_file_query_preset did but since no user needs the un-concatenated form that is pointless duplication.
2014-06-20test: unit test for using alternate roots with path_strv_resolveMichael Marineau
2014-06-20shared: rename path_strv_canonicalize_absolute functionsMichael Marineau
Since 12ed81d9 path_strv_canonicalize_absolute leaves the search list relative to the given root directory instead of resolving paths to their true location as the name implies. To better reflect this behavior rename to the less strongly worded path_strv_resolve.
2014-06-19getty-generator: properly escape instance namesZbigniew Jędrzejewski-Szmek
Otherwise the add_symlink() function tries to make directories for each slash even for the slash after the @ symbol in the final link name, failing for /dev/3270/tty1. Based on a patch by Werner Fink <werner@suse.de>.
2014-06-19getty-generator: use strappendaZbigniew Jędrzejewski-Szmek
Allocating on the stack should be fine for the fixed number of items.
2014-06-19util.c: simplify rm_rf_children_dangerousZbigniew Jędrzejewski-Szmek
2014-06-19tests: add tests for strv_extendfRonny Chevalier
2014-06-19tests: add tests to test-utilRonny Chevalier
add tests for: - filename_is_safe - ascii_strlower - files_same - is_valid_documentation_url - file_in_same_dir - endswith - close_nointr - unlink_noerrno - readlink_and_make_absolute - read_one_char - ignore_signals - strshorten
2014-06-19tests: add missing returnRonny Chevalier
2014-06-20tests: fix test-icmp6-rsRonny Chevalier
Don't close the fd given to sd-icmp6-nd, since it will be aynschonously closed by sd_icmp6_nd_unref
2014-06-20sd-icmp6-nd: fix uninitialized fdRonny Chevalier
2014-06-20sd-dhcp6-client: fix uninitialized variablesRonny Chevalier
2014-06-20coredump: fix include of xattr.hFilipe Brandenburger
The correct path is now <sys/xattr.h> (from glibc-headers) and no longer <attr/xattr.h> (from libattr-devel.) Fixes: 34c10968cbe3b5591b3c0ce225b8694edd9709d0
2014-06-20copy: don't eat up error from chown()/chmod()Lennart Poettering
The idea was to not fail on, nor to ignore errors from chown()/chmod(), but to proceed and simply return the most recent error...
2014-06-19networkd: fix refcounting with UseMTU=yesSteven Noonan
The link was unintentionally being unreferenced instead of referenced for the MTU setup.
2014-06-19tmpfiles: make sure "C" doesn't copy anything if the destination already existsLennart Poettering
Previously it would recursively copy the entire tree in, and descend into subdirectories even if the destination already exists. Let's do what the documentation says and not do that. If files down the tree shall be copied too, they should get their own "C" lines.
2014-06-19tmpfiles: do not fail when copying an empty directoryKay Sievers
2014-06-19coredumpctl: add missing entries to --helpLennart Poettering
2014-06-19coredumpctl: fix columns sizing for timestampLennart Poettering
2014-06-19stop complaining about unknown kernel cmdline optionsLennart Poettering
Also stop warning about unknown kernel cmdline options in the various tools, not just in PID 1
2014-06-19main: don't show help text anymore when we detect an unknown kernel cmdline ↵Lennart Poettering
value starting with "systemd." As generators and other components started to maintain their own kernel command line options this help text needed more and more exceptions and wasn't complete anyway. Fixing that would leak more information about specific generators into PID 1, which we should avoid. Given that kernel cmdline handling traditionally doesn't generate errors or show help texts, let's just remove the logic for it for systemd too.
2014-06-19main: honour rd.systemd.unit= only in the initrd, not the hostLennart Poettering
2014-06-19debug-generator: add new generatorLennart Poettering
debug-generator can mask specific units if they are specified on the kernel command line with systemd.mask=. debug-generator can pull in debug-shell.service is systemd.debug-shell is passed on the kernel command line.
2014-06-19sd-dhcp6-client: Initialize fd to -1 and rename functionZbigniew Jędrzejewski-Szmek
client_initialize name is misleading, since the function is actually useful at the *end*, to reinitialize the object. But reset is shorter, so rename it to client_reset.
2014-06-19journal-send.c: use automatic cleanupZbigniew Jędrzejewski-Szmek
2014-06-19networkd: Add initial DHCPv6 supportPatrik Flykt
Enable DHCPv6 support by creating a DHCPv6 boolean in the Network section. Add necessary DHCPv6 structures and initial function calls.
2014-06-19sd-dhcp6-client: Add reply sending for testPatrik Flykt
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.
2014-06-19sd-dhcp6-client: Receive and parse a reply and set T1 and T2 timersPatrik Flykt
Receive and parse a Reply from the server. Set up T1 and T2 timers and notify the library user of an acquired DHCPv6 lease.
2014-06-19sd-dhcp6-client: Add Advertise sending for test casePatrik Flykt
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.
2014-06-19sd-dhcp6-client: Add Request message sendingPatrik Flykt
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.
2014-06-19sd-dhcp6-client: Update start function to take a statePatrik Flykt
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.
2014-06-19sd-dhcp6-client: Add test case for Advertise message parsingPatrik Flykt
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.
2014-06-19sd-dhcp6-lease: Add functions for accessing lease and addressesPatrik Flykt
Add support functions for accessing the current client lease as well as iterating over the addresses and get their preferred and valid lifetimes.
2014-06-19sd-dhcp6-client: Receive and parse Advertise messagesPatrik Flykt
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.
2014-06-19sd-dhcp6-client: Add IA Address option parsingPatrik Flykt
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.
2014-06-19sd-dhcp6-lease: Add DHCPv6 lease handlingPatrik Flykt
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.
2014-06-19sd-dhcp6-client: Add DHCPv6 Solicit test casePatrik Flykt
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.
2014-06-19sd-dhcp6-client: Add DHCPv6 Solicit message creation and sendingPatrik Flykt
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.
2014-06-19sd-dhcp6-client: Add functions to bind to DHCPv6 UDP socketPatrik Flykt
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.
2014-06-19sd-dhcp6-client: Add basic DHCPv6 option handlingPatrik Flykt
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.
2014-06-19sd-dhcp6-client: Add DHCPv6 client Solicitation timeout handlingPatrik Flykt
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.
2014-06-19sd-dhcp6-client: Add basic DHCPv6 test casesPatrik Flykt
Add test cases for basic DHCPv6 client handling, e.g. setting interface index, mac address and attaching event loop.
2014-06-19sd-dhcp6-client: Add DHCPv6 IAID functionalityPatrik Flykt
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 have.]
2014-06-19network-internal: split out net_get_name()Tom Gundersen
2014-06-19sd-dhcp6-client: Initialize DUIDTom Gundersen
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.