summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2013-07-16Do not set LANG=C in every child environment.Harald Hoyer
LANG does not have to be set and setting it to default to the default does not add any value.
2013-07-16journalctl: Add support for showing messages from a previous bootJan Janssen
Hi, I redid the boot ID look up to use enumerate_unique. This is quite fast if the cache is warm but painfully slow if it isn't. It has a slight chance of returning the wrong order if realtime clock jumps around. This one has to do n searches for every boot ID there is plus a sort, so it depends heavily on cache hotness. This is in contrast to the other way of look-up through filtering by a MESSAGE_ID, which only needs about 1 seek + whatever amount of relative IDs you want to walk. I also have a linked-list + (in-place) mergesort version of this patch, which has pretty much the same runtime. But since this one is using libc sorting and armortized allocation, I prefer this one. To summarize: The MESSAGE_ID way is a *lot* faster but can be incomplete due to rotation, while the enumerate+sort will find every boot ID out there but will be painfully slow for large journals and cold caches. You choose :P Jan
2013-07-16switch from udev keymaps to hwdbKay Sievers
2013-07-16detect-virt: detect User-Mode LinuxRamkumar Ramachandra
In a User-Mode Linux session: $ systemd-detect-virt none Although it is possible to reliably detect virtualization: $ cat /proc/cpuinfo processor : 0 vendor_id : User Mode Linux model name : UML mode : skas host : Linux kytes 3.11.0-rc1-00009-ge5fd680 (...) bogomips : 7007.43 So, grep for the string "\nvendor_id\t: User Mode Linux\n" in /proc/cpuinfo, and say "uml" when asked.
2013-07-16keymap: Drop non-existant Samsung 900XC3Martin Pitt
Revert commit 90fc91d0065 again. There is no 900XC3 model, that's 900X3C and already covered by the 900X3* match. See https://launchpad.net/bugs/1012365
2013-07-15build-sys: discover the path to kexec during build timeZbigniew Jędrzejewski-Szmek
https://bugs.freedesktop.org/show_bug.cgi?id=55248
2013-07-16journal: add logging of effective capabilities _CAP_EFFECTIVEShawn Landden
I think this is the most important of the capabilities bitmasks to log.
2013-07-15man: add FILES section to systemd-journald.service(8)Zbigniew Jędrzejewski-Szmek
2013-07-15systemd: do not output status messages once gettys are runningZbigniew Jędrzejewski-Szmek
Make Type=idle communication bidirectional: when bootup is finished, the manager, as before, signals idling Type=idle jobs to continue. However, if the boot takes too long, idling jobs signal the manager that they have had enough, wait a tiny bit more, and continue, taking ownership of the console. The manager, when signalled that Type=idle jobs are done, makes a note and will not write to the console anymore. This is a cosmetic issue, but quite noticable, so let's just fix it. Based on Harald Hoyer's patch. https://bugs.freedesktop.org/show_bug.cgi?id=54247 http://unix.stackexchange.com/questions/51805/systemd-messages-after-starting-login/
2013-07-16cryptsetup: Add tcrypt supportJan Janssen
Tcrypt uses a different approach to passphrases/key files. The passphrase and all key files are incorporated into the "password" to open the volume. So, the idea of slots that provide a way to open the volume with different passphrases/key files that are independent from each other like with LUKS does not apply. Therefore, we use the key file from /etc/crypttab as the source for the passphrase. The actual key files that are combined with the passphrase into a password are provided as a new option in /etc/crypttab and can be given multiple times if more than one key file is used by a volume.
2013-07-16cryptsetup: Move attaching of the device out of mainJan Janssen
2013-07-16cryptsetup: Move password query out of mainJan Janssen
Also use _cleanup_free_ where possible.
2013-07-16util: recognize 'ncp' as an alias to 'ncpfs'Frederic Crozat
ncp is also used for Netware mount point, recognize it as such. Fixes https://bugzilla.novell.com/show_bug.cgi?id=828905.
2013-07-16tests: add more tests for shared/util.cThomas Hindoe Paaboel Andersen
2013-07-14journalctl: add --force option to recreate FSSShawn Landden
2013-07-14systemd: fix NULL dereference when disabling a nonexistent instanceZbigniew Jędrzejewski-Szmek
Assertion 'p' failed at src/shared/path-util.c:51, function path_get_file_name(). Aborting. The unit file could not be found, and i->path would not be set. In 02b9e969 a code path was added which attempts to remove symlinks to a nonexistent (removed) unit file. This worked OK in case of non-instance services, but broke in the case of instance services. Behaviour wrt. to instance units is changed in the way that 02b9e969 changed it for non-instance units: it is now possible to remove instance symlinks to a template unit that has been removed. This patch isn't a full fix, because the behaviour wrt. to enabling and disabling instance units is still broken: e.g it is possible to start autovt@tty5.service, but it is not possible to enable it, because autovt@.service is a symlink, and on the other hand, disabling getty@tty5.service removes all symlinks to getty@.service, which is wrong too. But segfaults make bad pr, so let's add at least this partial fix for now.
2013-07-13test: add trivial test for syscall table and extend table tests to error pathsZbigniew Jędrzejewski-Szmek
2013-07-13Add test coverage and generate report with lcovThomas H.P. Andersen
Enable coverage with --enable-coverage. "make coverage" will create the report locally, "make coverage-sync" will upload the report to http://www.freedesktop.org/software/systemd/coverage/. Requires lcov version 1.10 to handle naming in systemd and to use the --no-external option. [zj: make the coverage at least generate something with separate build dir, simplify rules a bit: all errors are mine. ]
2013-07-13install: make "reenable" work with templated unitsRoss Lagerwall
Before, "systemctl reenable getty@tty1.service" would fail with: Failed to issue method call: File exists To fix this, reimplement "reenable" explicitly as a disable followed by an enable. This is shorter and is how the man page documents its behavior.
2013-07-13journalctl: have a useful --setup-keys error message when using ↵Shawn Landden
non-persistant logging Generating seed... Generating key pair... Generating sealing key... Failed to open /var/log/journal/33f46101703a10c5fc6fa4f451840101/fss.tmp.k2wDDU: No such file or directory
2013-07-12shared/install: fix trivial memleakZbigniew Jędrzejewski-Szmek
We lost the reference when setting path second time.
2013-07-12test-path-util,test-sched-prio: uninitialize manager to appease valgrindZbigniew Jędrzejewski-Szmek
2013-07-12journald-server: r should be checked after journal_file_open_reliablyLukas Nykryn
2013-07-12systemctl: remove unused variableLukas Nykryn
2013-07-12unit: check correct variable after strdupLukas Nykryn
2013-07-11core: simplify drop-in writing logic a bitLennart Poettering
let's make use of some format string magic!
2013-07-11core: when writing drop-in files, name them directly after the property we setLennart Poettering
Mapping from "FooBar" to "foo-bar" is unnecessary and makes it hard to handle many different properties with the same code, hence, let's just not do it.
2013-07-11cgroup: split out per-device BlockIOWeight= setting into BlockIODeviceWeight=Lennart Poettering
This way we can nicely map the configuration directive to properties and back, without requiring two different signatures for the same property.
2013-07-11machined: forward scope properties array from client to systemdLennart Poettering
This makes nspawn's --scope= switch work again.
2013-07-11systemctl: show cgroup tree if cgroup is empty but has non-empty childrenLennart Poettering
This makes sure "systemctl status user.slice" shows a nice cgroup tree of all logged in users.
2013-07-11loginctl: suppress cgroup tree output if cgroup is emptyLennart Poettering
same for machinectl
2013-07-11cgroup: simplify how instantiated units are mapped to cgroupsLennart Poettering
Previously for an instantiated unit foo@bar.service we created a cgroup foo@.service/foo@bar.service, in order to place all instances of the same template inside the same subtree. As we now implicitly add all instantiated units into one per-template slice we don't need this complexity anymore, and instance units can map directly to the cgroups of their full name.
2013-07-11cgroup: don't ever try to destroy the cgroup of the root sliceLennart Poettering
The root slice is after all the root cgroup, so don't attempt to delete it.
2013-07-11cgroup: don't move systemd into systems.slice when running as --user instanceLennart Poettering
2013-07-11core: implicitly create a per-template slice for all instantiated units by ↵Lennart Poettering
default If no explicit slice is configured for an instantiated unit, create an implicit one for all instances of the same template.
2013-07-11kernel-install/90-loaderentry.install: do not fail for missing initrdHarald Hoyer
2013-07-11basic SO_REUSEPORT supportShawn Landden
2013-07-11core: grant user@.service instances write access to their own cgroupLennart Poettering
2013-07-11core: rearrange if blocks a bitLennart Poettering
2013-07-11shutdown: avoid malloc() if we canLennart Poettering
2013-07-11loginctl: restore cgroup display for status outputLennart Poettering
Same for machinectl.
2013-07-11shutdown: fix /proc/cmdline reading of 'quiet'Kay Sievers
2013-07-10core: uninstall cgroup agent only if we are running outside of a containerLennart Poettering
Since the cgroupfs is currently not virtualized for containers we shouldn't reset the hosts agent from the container.
2013-07-10cgroup: when uninstalling agent, actually turn it off firstLennart Poettering
2013-07-10user-sessions: rely on PID 1 to kill sessionsLennart Poettering
As we want to centralized cgroup access we should stop killing the user sessions directly from the systemd-user-sessions service. Instead, rely on PID 1 doing this by adding the right ordering dependencies to the session scope units.
2013-07-10logind: when creating the scope job fails, return this immediately to the ↵Lennart Poettering
client that wants to register the session Otherwise we'll hanging for the job to finish without any job existing. Similar, for machined.
2013-07-10logind: don't misunderstand UnitRemoved signals during reloadingLennart Poettering
When PID 1 reloads the units logind/machined will see UnitRemoved signals for all units. Instead of trusting these immediately, let's check the actual unit state before considering a unit gone, so that reloading PID 1 is not mistaken as the end of all sessions.
2013-07-10unit: when deserializing cgroup path add it back into cgroup hashmapLennart Poettering
Also, properly remove cgroup path from hashmap when freeing unit.
2013-07-10unit: save description/slice of transient units to /runLennart Poettering
This is necessary so that these properties survive a daemon reload.
2013-07-10core: send out "Reloading" signal before and after doing a full ↵Lennart Poettering
reload/reexec of PID 1 Since we'll unload all units/job during a reload, and then readd them it is really useful for clients to be aware of this phase hence sent a signal out before and after. This signal is called "Reloading" (despite the fact that it is also sent out during reexecution, which we consider a special case in this context) and has one boolean parameter which is true for the signal sent before the reload, and false for the signal after the reload. The UnitRemoved/JobRremoved and UnitNew/JobNew due to the reloading are guranteed to be between the pair of Reloading messages.