summaryrefslogtreecommitdiff
path: root/Makefile.am
AgeCommit message (Collapse)Author
2014-07-07add new systemd-escape toolMichael Biebl
2014-07-07networkd: add support for modeSusant Sahani
This patch adds supports networkd to configure bond mode during creation via persistent conf. Mode can be configured with conf param 'Mode'. A new section Bond is added to the conf to support bond mode. These modes can be configured now. balance-rr active-backup balance-xor broadcast 802.3ad balance-tlb balance-alb Example conf file: test-bond.conf [NetDev] Name=bond1 Kind=bond [Bond] Mode=balance-xor Test case: 1. start networkd service: 12: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default link/ether 22:89:6c:47:23:d2 brd ff:ff:ff:ff:ff:ff 2. find bond mode: cat /proc/net/bonding/bond1 Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: load balancing (xor) Transmit Hash Policy: layer2 (0) MII Status: up MII Polling Interval (ms): 0 Up Delay (ms): 0 Down Delay (ms): 0 Changes: 1. Added file networkd-bond.c 2. Bond mode enum BondMode 3. conf section [Bond] [tomegun: whitespace]
2014-07-07firstboot: get rid of firstboot generator again, introduce ↵Lennart Poettering
ConditionFirstBoot= instead As Zbigniew pointed out a new ConditionFirstBoot= appears like the nicer way to hook in systemd-firstboot.service on first boots (those with /etc unpopulated), so let's do this, and get rid of the generator again.
2014-07-07firstboot: add new component to query basic system settings on first boot, ↵Lennart Poettering
or when creating OS images offline A new tool "systemd-firstboot" can be used either interactively on boot, where it will query basic locale, timezone, hostname, root password information and set it. Or it can be used non-interactively from the command line when prepareing disk images for booting. When used non-inertactively the tool can either copy settings from the host, or take settings on the command line. $ systemd-firstboot --root=/path/to/my/new/root --copy-locale --copy-root-password --hostname=waldi The tool will be automatically invoked (interactively) now on first boot if /etc is found unpopulated. This also creates the infrastructure for generators to be notified via an environment variable whether they are running on the first boot, or not.
2014-07-07shared: make timezone and locale enumeration and validation genericLennart Poettering
This way we can reuse it other code thatn just localectl/localed + timedatectl/timedated.
2014-07-06compress: add benchmark-style testZbigniew Jędrzejewski-Szmek
This is useful to test the behaviour of the compressor for various buffer sizes. Time is limited to a minute per compression, since otherwise, when LZ4 takes more than a second which is necessary to reduce the noise, XZ takes more than 10 minutes. % build/test-compress-benchmark (without time limit) XZ: compressed & decompressed 2535300963 bytes in 794.57s (3.04MiB/s), mean compresion 99.95%, skipped 3570 bytes LZ4: compressed & decompressed 2535303543 bytes in 1.56s (1550.07MiB/s), mean compresion 99.60%, skipped 990 bytes % build/test-compress-benchmark (with time limit) XZ: compressed & decompressed 174321481 bytes in 60.02s (2.77MiB/s), mean compresion 99.76%, skipped 3570 bytes LZ4: compressed & decompressed 2535303543 bytes in 1.63s (1480.83MiB/s), mean compresion 99.60%, skipped 990 bytes It appears that there's a bug in lzma_end where it leaks 32 bytes.
2014-07-06journal: add LZ4 as optional compressorZbigniew Jędrzejewski-Szmek
Add liblz4 as an optional dependency when requested with --enable-lz4, and use it in preference to liblzma for journal blob and coredump compression. To retain backwards compatibility, XZ is used to decompress old blobs. Things will function correctly only with lz4-119. Based on the benchmarks found on the web, lz4 seems to be the best choice for "quick" compressors atm. For pkg-config status, see http://code.google.com/p/lz4/issues/detail?id=135.
2014-07-03build-sys: bump package and library versionssystemd/v215Lennart Poettering
2014-07-03networkd: Introduce tun/tap deviceSusant Sahani
This patch introduces TUN/TAP device creation support to networkd. Example conf to create a tap device: file: tap.netdev ------------------ [NetDev] Name=tap-test Kind=tap [Tap] OneQueue=true MultiQueue=true PacketInfo=true User=sus Group=sus ------------------ Test: 1. output of ip link tap-test: tap pi one_queue UNKNOWN_FLAGS:900 user 1000 group 1000 id: uid=1000(sus) gid=10(wheel) groups=10(wheel),1000(sus) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 Modifications: Added: 1. file networkd-tuntap.c 3. netdev kind NETDEV_KIND_TUN and NETDEV_KIND_TAP 2. Tun and Tap Sections and config params to parse conf and gperf conf parameters [tomegun: tweak the 'kind' checking for received ifindex]
2014-07-03networkd: split out vlan and macvlan handlingTom Gundersen
2014-07-02path: add new "systemd-path" utility for querying paths described in ↵Lennart Poettering
file-hierarchy(7) This new tool is based on "sd-path", a new (so far unexported) API for libsystemd, that can hopefully grow into a workable API covering /opt and more one day.
2014-07-01networkd: netdev - add dummy supportTom Gundersen
2014-06-30Move x-systemd-device.timeout handling from core to fstab-generatorZbigniew Jędrzejewski-Szmek
Instead of adjusting job timeouts in the core, let fstab-generator write out a dropin snippet with the appropriate JobTimeout. x-systemd-device.timeout option is removed from Options= line in the generated unit. The functions to write dropins are moved from core/unit.c to shared/dropin.c, to make them available outside of core. generator.c is moved to libsystemd-label, because it now uses functions defined in dropin.c, which are in libsystemd-label.
2014-06-30pc: expose more drop-in dirs in the .pc fileLennart Poettering
2014-06-29sysusers: split up default sysusers snippetLennart Poettering
This ways, distributions have an easier way to replace the OS specific generic groups/users while keeping systemd's own.
2014-06-27coredump: add simple coredump vacuumingLennart Poettering
When disk space taken up by coredumps grows beyond a configured limit start removing the oldest coredump of the user with the most coredumps, until we get below the limit again.
2014-06-26build-sys: include PolicyKit files as part of distributionFilipe Brandenburger
So that building from an archive works even if intltool is not present. The README file already mentioned that intltool should only be required when building from git. Tested: Built it from the distribution archive on a host without intltool. $ ./configure --enable-polkit $ make
2014-06-26install: enable timesyncd by defaultMichael Olbrich
This treats it similarly to networkd, resolved and others and it matches what 90-systemd.preset does.
2014-06-25tests: add test-compressRonny Chevalier
2014-06-24nspawn: create essential base directories at system bootupKay Sievers
This allows us to bootup a rootfs with a /usr directory only.
2014-06-24build-sys: do not run coverage if build failedRonny Chevalier
2014-06-24tests: add test-ratelimitRonny Chevalier
2014-06-22Add systemd-coredumpctl as an alias for coredumpctlZbigniew Jędrzejewski-Szmek
Should make the transition easier for exisiting users.
2014-06-22tests: add test-asyncRonny Chevalier
2014-06-22tests: add test-capabilityRonny Chevalier
2014-06-22build-sys: add -pthread flag for libsystemd-sharedRonny Chevalier
src/shared/async.c uses pthread so it will fail at link time if we link only to libsystemd-shared and use async
2014-06-21build-sys: replace nm with $(NM)Kay Sievers
2014-06-21gudev: replace regex with sym fileKay Sievers
2014-06-21pam_systemd: replace regex with sym fileKay Sievers
2014-06-21pam_systemd: rename source file to match the moduleKay Sievers
2014-06-20build-sys: check that compat-libs are enabled for "make dist"Filipe Brandenburger
Running "make dist" requires --enable-compat-libs since DIST_SOURCES will list generated files such as libsystemd-daemon.c. Tested: $ ./configure && make && make dist *** compat-libs must be enabled in order to make dist make: *** [dist-check-compat-libs] Error 1
2014-06-20build-sys: check that python is enabled for "make dist"Filipe Brandenburger
Running "make dist" requires Python support since some of the man page sources (such as man/systemd.index.xml and man/systemd.directives.xml) are generated by Python scripts, so break "make dist" and give an useful error message when Python or the Python lxml module is not available. Tested: $ ./configure --without-python && make && make dist *** python and python-lxml module must be installed and enabled in order to make dist make: *** [dist-check-python] Error 1
2014-06-20build-sys: configure --with-python when running distcheckFilipe Brandenburger
Python support is pretty much essential to create man pages, so we should make sure that distcheck will request it during configure. Tested: Successfully ran "make distcheck" and confirmed --with-python was present in the ./configure run inside the unpacked distribution directory.
2014-06-20build-sys: do not include id128-constants.h in the dist archiveFilipe Brandenburger
File src/python-systemd/id128-constants.h is auto generated and its generation does not require special tools, only sed. There is no point in bundling it in the distribution archive, so let's mark it as nodist_ to have it excluded. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=80006 Tested: Successfully ran "make dist" after ./configure --without-python.
2014-06-20build-sys: add sysusers.d/systemd.conf to CLEANFILESFilipe Brandenburger
The sysusers.d/systemd.conf configuration file was originally introduced in commit 1b99214789101, but it was not marked for cleanup. This caused distcheck to complain about the file not being removed by distcleam. Tested: Successfully ran "make distcheck" with this patchset.
2014-06-20test: ensure conf_files_list returns absolute pathsMichael Marineau
2014-06-20sd-dhcp6-client: include dhcp6-protocol.h in the list of sourcesFilipe Brandenburger
If the file is not listed, then "make dist" will not include it. Tested: "make distcheck" works after this fix is applied. Fixes: 139b011ab81ccea1d51f09e0261a1c390115c6ff
2014-06-20sd-dhcp6-client: fix path of sd-icmp6-nd.h in Makefile.amFilipe Brandenburger
It was incorrectly looking for a file in src/libsystemd-network/ when the file was actually deployed to src/systemd/ instead. This broke "make dist". Tested: "make dist" works again after this patchset is applied. Fixes: f20a35cc0d537dd4cfc1054cf7936b04a1700f3a
2014-06-20sd-dhcp6-client: remove bogus dependency on dhcp6-icmp6.hFilipe Brandenburger
Makefile.am had a reference to it but it none of the sources included it. Tested: "make dist" works again after this patchset is applied. Fixes: 2ea8857effb833615b16d10fc7a19a7104c19e13
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-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 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 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-icmp6-nd: Add initial Router Advertisement test casePatrik Flykt
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.
2014-06-19sd-icmp6-nd: Add Router Solicitation and Advertisement supportPatrik Flykt
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.
2014-06-19coredump: coredumpctl is so useful now, make it a first-class citizenLennart Poettering
Drop the "systemd-" prefix, renaming it from "systemd-coredumpctl" to "coredumpctl".
2014-06-19coredump: include stacktrace of coredumps in the log messageLennart Poettering
elfutils' libdw is maintained, can read DWARF debug data and appears to be the library of choice for generating backtraces today.
2014-06-19coredump: optionally store coredumps on disk, not in the journalLennart Poettering
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.
2014-06-18networkd: add address pool supportLennart Poettering
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.