summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* sd-dhcp6-client: Receive and parse Advertise messagesPatrik Flykt2014-06-19
| | | | | | | | | | | | 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.
* sd-dhcp6-client: Add IA Address option parsingPatrik Flykt2014-06-19
| | | | | | | | | | | | | | 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.
* sd-dhcp6-lease: Add DHCPv6 lease handlingPatrik Flykt2014-06-19
| | | | | | | | | 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.
* sd-dhcp6-client: Add DHCPv6 Solicit test casePatrik Flykt2014-06-19
| | | | | | | | | | 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.
* sd-dhcp6-client: Add DHCPv6 Solicit message creation and sendingPatrik Flykt2014-06-19
| | | | | | | | 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.
* sd-dhcp6-client: Add functions to bind to DHCPv6 UDP socketPatrik Flykt2014-06-19
| | | | | | | | | | | | | 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.
* sd-dhcp6-client: Add basic DHCPv6 option handlingPatrik Flykt2014-06-19
| | | | | | | | 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.
* sd-dhcp6-client: Add DHCPv6 client Solicitation timeout handlingPatrik Flykt2014-06-19
| | | | | | | | | | 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.
* sd-dhcp6-client: Add basic DHCPv6 test casesPatrik Flykt2014-06-19
| | | | | Add test cases for basic DHCPv6 client handling, e.g. setting interface index, mac address and attaching event loop.
* sd-dhcp6-client: Add DHCPv6 IAID functionalityPatrik Flykt2014-06-19
| | | | | | | | | | 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.]
* network-internal: split out net_get_name()Tom Gundersen2014-06-19
|
* sd-dhcp6-client: Initialize DUIDTom Gundersen2014-06-19
| | | | | | | | 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.
* sd-icmp6-nd: Add initial Router Advertisement test casePatrik Flykt2014-06-19
| | | | | | 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.
* sd-icmp6-nd: Add Router Solicitation and Advertisement supportPatrik Flykt2014-06-19
| | | | | | | | | | | | | | | 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 DHCPv6.
* sd-dhcp6-client: Add initial DHCPv6 client filesPatrik Flykt2014-06-19
| | | | | Add initial structure definition and functions for setting index, MAC address, callback and event loop. Define protocol values and states.
* build-sys: run forgotten 'make update-man-list'Lennart Poettering2014-06-19
|
* coredump: coredumpctl is so useful now, make it a first-class citizenLennart Poettering2014-06-19
| | | | | Drop the "systemd-" prefix, renaming it from "systemd-coredumpctl" to "coredumpctl".
* update TODOLennart Poettering2014-06-19
|
* journald: make SplitMode=uid the defaultLennart Poettering2014-06-19
| | | | | | | | | 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.
* update TODOLennart Poettering2014-06-19
|
* coredumpctl: introduce new -1 switch for showing a single, most recent entry ↵Lennart Poettering2014-06-19
| | | | | | | only "coredumpctl info -1" is now incredibly useful for showing the most recent stacktrace.
* coredump: simplify how we apply extended attributes to coredumpsLennart Poettering2014-06-19
|
* coredump: include stacktrace of coredumps in the log messageLennart Poettering2014-06-19
| | | | | elfutils' libdw is maintained, can read DWARF debug data and appears to be the library of choice for generating backtraces today.
* bootchart: add assertThomas Hindoe Paaboel Andersen2014-06-19
| | | | | | | 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.
* coredump: add 3 more metadata fields to coredump entriesLennart Poettering2014-06-19
|
* coredump: add new "info" verb to coredumpctl showing detailed information ↵Lennart Poettering2014-06-19
| | | | about a coredump
* coredump: make sure coredumpctl can handle externally stored coredumpsLennart Poettering2014-06-19
|
* tmpfiles: automatically clean up /var/lib/systemd/coredump after 3dLennart Poettering2014-06-19
|
* coredump: optionally store coredumps on disk, not in the journalLennart Poettering2014-06-19
| | | | | | | | 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 disk.
* dhcp-server: simplify dhcp server unref callLennart Poettering2014-06-19
| | | | No need to use HASHMAP_ITERATE when we destruct all entries anyway.
* TODO: updateThomas Hindoe Paaboel Andersen2014-06-18
|
* socket: check return from exec_spawnThomas Hindoe Paaboel Andersen2014-06-18
|
* sd-dhcp-client: check return from dhcp_option_appendThomas Hindoe Paaboel Andersen2014-06-18
|
* sd-dhcp-server: fix a leakThomas Hindoe Paaboel Andersen2014-06-18
| | | | | We must use free instead of dhcp_lease_free here to avoid freeing client_id.data.
* network: automatically assign each container veth link a /28 IP address rangeLennart Poettering2014-06-18
|
* networkd: configure dhcp server range only after successfully setting an IP ↵Lennart Poettering2014-06-18
| | | | | | address on the interface This way we can make use of the addresses of the IP pool.
* networkd: add address pool supportLennart Poettering2014-06-18
| | | | | | | | | | | | | | | | 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 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 and fc00::/7, i.e. the network ranges for private networks. They are compiled in, but should be configurable eventually. 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.
* networkd: add a number of calls to manipulate in_addr_union structsLennart Poettering2014-06-18
|
* socket-util: introduce in_addr_union similar to sockaddr_union and make use ↵Lennart Poettering2014-06-18
| | | | of it everywhere
* dhcp-network: remove TODOMichal Sekletar2014-06-18
| | | | | | 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.
* hwdb: Update database of Bluetooth company identifiersMarcel Holtmann2014-06-18
|
* TODO: updateKay Sievers2014-06-18
|
* rules: add loop-control and btrfs-control to "disk" groupKay Sievers2014-06-18
|
* cryptsetup: introduce new cryptsetup-pre.traget unit so that services can ↵Lennart Poettering2014-06-18
| | | | | | make sure they are started before and stopped after any LUKS setup https://bugzilla.redhat.com/show_bug.cgi?id=1097938
* tmpfiles: create directories already with the right label, instead of ↵Lennart Poettering2014-06-18
| | | | creating them first, and relabeling them afterwards
* tmpfiles: w lines should allow following symlinksLennart Poettering2014-06-18
|
* update TODOLennart Poettering2014-06-18
|
* namespace: properly label device nodes we createLennart Poettering2014-06-18
| | | | https://bugzilla.redhat.com/show_bug.cgi?id=1081429
* tmpfiles: add "+" modifier support to b, c, p lines in addition to LLennart Poettering2014-06-18
|
* man: fix typoZbigniew Jędrzejewski-Szmek2014-06-17
|