summaryrefslogtreecommitdiff
path: root/Makefile.am
AgeCommit message (Collapse)Author
2014-12-10util: introduce our own gperf based capability listLennart Poettering
This way, we can ensure we have a more complete, up-to-date list of capabilities around, always.
2014-12-10build-sys: fix CLEANFILES= for dns_type listLennart Poettering
2014-12-10build-sys: don't fail if CAP_SETFCAP is missingLennart Poettering
2014-12-09bus-proxy: cloning smack labelPrzemyslaw Kedzierski
When dbus client connects to systemd-bus-proxyd through Unix domain socket proxy takes client's smack label and sets for itself. It is done before and independent of dropping privileges. The reason of such soluton is fact that tests of access rights performed by lsm may take place inside kernel, not only in userspace of recipient of message. The bus-proxyd needs CAP_MAC_ADMIN to manipulate its label. In case of systemd running in system mode, CAP_MAC_ADMIN should be added to CapabilityBoundingSet in service file of bus-proxyd. In case of systemd running in user mode ('systemd --user') it can be achieved by addition Capabilities=cap_mac_admin=i and SecureBits=keep-caps to user@.service file and setting cap_mac_admin+ei on bus-proxyd binary.
2014-12-04bootchart: add standalone bootchart serviceWaLyong Cho
2014-12-04vconsole: don't hard-code systemd-vconsole-setup binary pathMichael Biebl
2014-12-03nss-myhostname: always resolve the host name "gateway" to the local default ↵Lennart Poettering
gateway This is useful inside of containers or local networks to intrdouce a stable name of the default gateway host (in case of containers usually the host, in case of LANs usually local router).
2014-12-03machine-id-commit: add unit fileDidier Roche
The unit file only active the machine-id-commit helper if /etc is mounted writable and /etc/machine-id is an independant mount point (should be a tmpfs).
2014-12-03machine-id-commit: Introduce machine-id-commit binaryDidier Roche
This binary enables to commit transient machine-id on disk if it becomes writable.
2014-12-02shared: add format helpers for printing MAC addressesTom Gundersen
Use these in networctl.
2014-11-30build-sys: configure the list of system users, files and directoriesŁukasz Stelmach
Choose which system users defined in sysusers.d/systemd.conf and files or directories in tmpfiles.d/systemd.conf, should be provided depending on comile-time configuration.
2014-11-30build-sys: add missing tests files to EXTRA_DISTRonny Chevalier
2014-11-28mount: use libmount to enumerate /proc/self/mountinfoChris Leech
This lets libmount add in user options from /run/mount/utab, like _netdev which is needed to get proper ordering against remote-fs.target
2014-11-27hwdb: add a new db for the DPI/frequency settings of micePeter Hutterer
Pointer acceleration for relative input devices (mice, trackballs, etc.) applies to the deltas of the device. Alas, those deltas have no physical reference point - a delta of 10 may be caused by a large movement of a low-dpi mouse or by a minute movement of a high-dpi mouse. Which makes pointer acceleration a bit useless and high-dpi devices essentially unusable. In an ideal world, we could read the DPI from the device directly and work with that. In the world we actually live in, we need to compile this list manually. This patch introduces the database, with the usual match formats and a single property to be set on a device: MOUSE_DPI That is either a single value for most mice, or a list of values for mice that can change resolution at runtime. The exact format is detailed in the hwdb file. Note that we're explicitly overshooting the requirements we have for libinput atm. Frequency could be detected in software and we don't actually use the list of multiple resolutions (because we can't detect when they change anyway). However, we might as well collect those values from the get-go, adding/modifying what will eventually amount to hundreds of entries is a bit cumbersome. Note: we rely on the input_id builtin to tag us as mouse first, ordering of the rules is important. (David: fixed up typos and moved hwdb file into ./hwdb/)
2014-11-27build-sys: do not install tmpfiles and sysusers files by defaultŁukasz Stelmach
2014-11-26bus-policy: also add in other bus policy tests from dbus1Lennart Poettering
dbus1 only checks if these files parse correctly so let's do the same for now.
2014-11-26bus-policy: steal a test case for prefix ownership from dbus1, and make sure ↵Lennart Poettering
it passes with the bus proxy enforcement
2014-11-25udevadm: split out find_device helperZbigniew Jędrzejewski-Szmek
The idea is to unify the way that devices can be specified.
2014-11-24localed: validate xkb keymapsDavid Herrmann
Introduce a new optional dependency on libxkbcommon for systemd-localed. Whenever the x11 keymap settings are changed, use libxkbcommon to compile the keymap. If the compilation fails, print a warning so users will get notified. On compilation failure, we still update the keymap settings for now. This patch just introduces the xkbcommon infrastructure to have keymap validation in place. We can later decide if/how we want to enforce this.
2014-11-20busctl: split out introspection parser from tree logic so that we can reuse ↵Lennart Poettering
it for a future "busctl introspect" command
2014-11-14kmod: move #ifdef checks for kmod-setup out of main.c into kmod-setup.cLennart Poettering
2014-11-13tests: add test-executeRonny Chevalier
add tests for the following directives: - WorkingDirectory - Personality - IgnoreSIGPIPE - PrivateTmp - SystemCallFilter: It makes test/TEST-04-SECCOMP obsolete, so it has been removed. - SystemCallErrorNumber - User - Group - Environment
2014-11-11build-sys: move libsystemd-capability into libsystemd-sharedKay Sievers
2014-11-10build-sys: do not use "label" functions in libsystemd-sharedKay Sievers
2014-11-10build-sys: test-fdset - add libsystemd-internalKay Sievers
2014-11-10build-sys: add libcap to libsystemd-sharedKay Sievers
2014-11-08build-sys: do not include tests in code coverageRonny Chevalier
2014-11-08build-sys: link to libsystemd-core only when neededRonny Chevalier
Multiple executables do not need libsystemd-core
2014-11-08build-sys: avoid duplication of macro definitionRonny Chevalier
TEST_DIR is already defined in AM_CFLAGS
2014-11-08tests: add test-pathRonny Chevalier
It tests all available directives of Path units: - PathChanged - PathModified - PathExists - PathExisysGlob - DirectoryNotEmpty - MakeDirectory - DirectoryMode - Unit
2014-11-06shared: rename condition-util.[ch] to condition.[ch]Lennart Poettering
Now that we only have one file with condition implementations around, we can drop the -util suffix and simplify things a bit.
2014-11-06core: get rid of condition.c and move the remaining call into util.cLennart Poettering
That way only one file with condition code remaining, in src/shared/, rather than src/core/. Next step: dropping the "-util" suffix from condition-util.[ch].
2014-11-06condition: internalize condition test functionsLennart Poettering
Also, implement the negation check inside of condition_test() instead of individually in each test function.
2014-11-06condition: unify condition logic in one fileLennart Poettering
2014-11-06login: rerun vconsole-setup when switching from vgacon to fbconRay Strode
The initialization performed by systemd-vconsole-setup is reset when changing console drivers (say from vgacon to fbcon), so we need to run it in that case. See http://lists.freedesktop.org/archives/systemd-devel/2014-October/023919.html http://lists.freedesktop.org/archives/systemd-devel/2014-October/024423.html http://lists.freedesktop.org/archives/systemd-devel/2014-November/024881.html This commit adds a udev rule to make systemd-vconsole-setup get run when the fbcon device becomes available. (david: moved into new file 90-vconsole.rules instead of 71-seats.rules; build-failures are on me, not on Ray)
2014-11-05buildsys: test-util needs -lm for fabs()Cristian Rodríguez
2014-11-03journald: if available pull audit messages from the kernel into journal logsLennart Poettering
2014-11-01libsystemd-networkd: introduce sd-pppoe libraryTom Gundersen
This library negotiates a PPPoE channel. It handles the discovery stage and leaves the session stage to the kernel. A further PPP library is needed to actually set up a PPP unit (negotatie LCP, IPCP and do authentication), so in isolation this is not yet very useful. The test program has two modes: # ./test-pppoe will create a veth tunnel in a new network namespace, start pppoe-server on one end and this client library on the other. The pppd server will time out as no LCP is performed, and the client will then shut down gracefully. # ./test-pppoe eth0 will run the client on eth0 (or any other netdev), and requires a PPPoE server to be reachable on the local link.
2014-11-01shared: add helpers for unaligend BE read/writeTom Gundersen
2014-10-31tests: add test-copyRonny Chevalier
2014-10-31tests: add test-locale-utilRonny Chevalier
2014-10-30Convert the rest to sd_bus_errnomapZbigniew Jędrzejewski-Szmek
I tried to preserve most errno values, but in some cases they were inconsistent (different errno values for the same error name) or just mismatched.
2014-10-30bus: add sd_bus_errnomap sectionZbigniew Jędrzejewski-Szmek
This allows custom "name" ↔ errno mappings to be registered. Tables from all compilation units are concatenated.
2014-10-30tools: add gdb command to dump hashmap informationMichal Schmidt
$ sudo gdb -p 1 ... (gdb) source gdb-sd_dump_hashmaps.py (gdb) sd_dump_hashmaps ... lists allocated hashmaps ... (gdb) sd_dump_hashmaps 1 ... lists allocated hashmaps, their DIB histograms and contiguous blocks statistics ...
2014-10-30hashmap: rewrite the implementationMichal Schmidt
This is a rewrite of the hashmap implementation. Its advantage is lower memory usage. It uses open addressing (entries are stored in an array, as opposed to linked lists). Hash collisions are resolved with linear probing and Robin Hood displacement policy. See the references in hashmap.c. Some fun empirical findings about hashmap usage in systemd on my laptop: - 98 % of allocated hashmaps are Sets. - Sets contain 78 % of all entries, plain Hashmaps 17 %, and OrderedHashmaps 5 %. - 60 % of allocated hashmaps contain only 1 entry. - 90 % of allocated hashmaps contain 5 or fewer entries. - 75 % of all entries are in hashmaps that use trivial_hash_ops. Clearly it makes sense to: - store entries in distinct entry types. Especially for Sets - their entries are the most numerous and they require the least information to store an entry. - have a way to store small numbers of entries directly in the hashmap structs, and only allocate the usual entry arrays when the direct storage is full. The implementation has an optional debugging feature (enabled by defining the ENABLE_HASHMAP_DEBUG macro), where it: - tracks all allocated hashmaps in a linked list so that one can easily find them in gdb, - tracks which function/line allocated a given hashmap, and - checks for invalid mixing of hashmap iteration and modification. Since entries are not allocated one-by-one anymore, mempools are not used for entries. Originally I meant to drop mempools entirely, but it's still worth it to use them for the hashmap structs. My testing indicates that it makes loading of units about 5 % faster (a test with 10000 units where more than 200000 hashmaps are allocated - pure malloc: 449±4 ms, mempools: 427±7 ms). Here are some memory usage numbers, taken on my laptop with a more or less normal Fedora setup after booting with SELinux disabled (SELinux increases systemd's memory usage significantly): systemd (PID 1) Original New Change dirty memory (from pmap -x 1) [KiB] 2152 1264 -41 % total heap allocations (from gdb-heap) [KiB] 1623 756 -53 %
2014-10-30memfd: rename memfd.h to memfd-util.h to avoid any confusion with any libc ↵Lennart Poettering
provided headers
2014-10-28build-sys: do not use "label" functions in libsystemd_sharedsystemd/v217Kay Sievers
2014-10-28build-sys: bump library versions in preparation for 217 releaseLennart Poettering
2014-10-28login: remove multi-seat-xTimofey Titovets
2014-10-23shared: split mempool implementation from hashmapsMichal Schmidt