summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2012-11-20socket: improve error message when we cannot spawn the socket's service unitLennart Poettering
2012-11-19core/load-fragment: fix (potential) bad memory accessZbigniew Jędrzejewski-Szmek
strncmp() could be used with size bigger then the size of the string, because MAX was used instead of MIN. If failing, print just the offending mount flag.
2012-11-19core/load-fragment: be more precise in error messagesZbigniew Jędrzejewski-Szmek
Whenever a message fails, mention the offending word, instead of just giving the whole line. If one bad word causes just this word to be rejected, print only the word. If one bad word causes the whole line to be rejected, print the whole line too. https://bugs.freedesktop.org/show_bug.cgi?id=56874
2012-11-19shared/utils: systemd-cgls shows 'n/a' when piping outputAnders Olofsson
-1 was used to signal failure, but the type was unsigned. https://bugs.freedesktop.org/show_bug.cgi?id=56644
2012-11-17journalctl: add option to forgo ellipsizationZbigniew Jędrzejewski-Szmek
Sometimes it is better to see messages in full, and the existing set of options didn't allow this easily. E.g. now journalctl -f --full will behave like tail -f /var/log/messages of yore. Long option only for now, since small letters are becoming scarce, and this doesn't feel like a capital-letter-option. '-u' would be nice, and the above command would be spelled journalctl -fu
2012-11-16rpm: udevadm is actually in bindirZbigniew Jędrzejewski-Szmek
2012-11-16hwdb: use $(localstatedir)/lib/udev/hwdb.bin for the binary databaseZbigniew Jędrzejewski-Szmek
It's not configuration, so it doesn't belong in udev. Also, remove the catalog when uninstalling udev.
2012-11-16journal: use $(localstatedir)/lib/systemd/catalog for the catalogZbigniew Jędrzejewski-Szmek
The path doesn't change in the standard configuration. Also, give full path to the journalctl binary in the hook, since it might be installed outside of $PATH. Also, add uninstall hook to remove the binary catalog.
2012-11-16journal, shared: fix warnings during compilation on 32 bitsZbigniew Jędrzejewski-Szmek
Some filesystem magics are too big to fit in 31 bits, and are wrapped to negative. f_type is an int on 32 bits, so it is signed, and we get a warning on comparison.
2012-11-16rpm: update RPM macros to include definitions for more drop-in directories ↵Lennart Poettering
and for reloading/rebuilding configuration More specifically this adds a number of macros that resolve to directories for udev rules, hwdb entries, tmpfiles and sysctl. Thsi also includes three new macros for rebuilding the hwbd/catalog index when a package drops in new files
2012-11-16journal: catalog - silent output, it's usually only called by package managementKay Sievers
2012-11-16service: drop support for SysV scripts for the early bootLennart Poettering
This remove distro-specific support for early-boot SysV init scripts. (And leaves support for normal SysV scripts untouched). If distributions wish to continue to allow early-boot SysV scripts in their distribution-specific way they should either maintain this patch downstream manually, or write a generator for them, or simply ship all those scripts with a .service wrapper.
2012-11-16umount: always remount read-only before unmounting in final shutdown loopLennart Poettering
2012-11-16switch-root: try pivot_root() before overmounting /Lennart Poettering
We should always try to umount the old root dir if possible, instead of overmounting it -- if that's possible. The initial ("first") kernel rootfs can never be umounted, hence for the usual nitrd case we never bothered using pivot_root() and hence with fully unmounting it. However, fedup now tranisitions twice during boot, and in that case it is highly desirable that the "second" root dir is entirely unmounted when we switch to the "third". This patch makes that possible. The pivot_root() needs a directory in the "third" root dir, to move the "second" root dir to. We use /mnt for that, under the assumption that this directory is likely to exist, and is not itself a mount point.
2012-11-16udev: firmware - disable firmware loading when firmware file is 0 byteUmut Tezduyar
If firmware file is not found in the file system, udev terminates firmware loading. This is not the case if firmware file exists in the file system but doesn't have any data in it.
2012-11-16journalctl: better error messages for --update-catalogZbigniew Jędrzejewski-Szmek
Also add informational message about catalog size.
2012-11-16journal: recommend journalctl -x more oftenLennart Poettering
2012-11-16catalog: add catalog entries for all of systemd's own journal messagesLennart Poettering
2012-11-16journal: extend catalog header to 64bit for all fields, just to be safe and ↵Lennart Poettering
follow the rest of the file formats
2012-11-16shutdown: readd explicit sync() when shutting downLennart Poettering
As it turns out reboot() doesn't actually imply a file system sync, but only a disk sync. Accordingly, readd explicit sync() invocations immediately before we invoke reboot(). This is much less dramatic than it might sounds as we umount all disks/read-only remount them anyway before going down.
2012-11-16udev: make blkid optionalAnders Olofsson
I'm building systemd for an embedded system and we would prefer not having to include the entire util-linux package just to get a libblkid whose functionality we don't need.
2012-11-15journal: implement message catalogLennart Poettering
The message catalog can be used to attach short help texts to log lines, keyed by their MESSAGE_ID= fields. This is useful to help the administrator understand the context and cause of a message, find possible solutions and find further related documentation. Since this is keyed off MESSAGE_ID= this will only work for native journal messages. The message catalog supports i18n, and is useful to augment english language system messages with explanations in the local language. This commit only includes short explanatory messages for a few example message IDs, we'll add more complete documentation for the relevant systemd messages later on.
2012-11-15hostnamectl: fix parsing of --no-ask-passwordLennart Poettering
2012-11-15polkit: if PK is not around, consider this a permission denied errorLennart Poettering
Uninstalling PK should cleanly disable PK authorization but not result in further runtime errors.
2012-11-15udev: hwdb - properly handle a missing databaseKay Sievers
On Thu, Nov 15, 2012 at 5:05 PM, Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> wrote: > Something like this appeared with latest git: > > Nov 15 16:55:46 fedora-15 systemd-udevd[334]: worker [364] terminated by signal 11 (Segmentation fault) > Nov 15 16:55:46 fedora-15 [387]: Process 364 (systemd-udevd) dumped core. > Nov 15 16:55:46 fedora-15 systemd-udevd[334]: worker [364] failed while handling '/devices/virtual/net/lo' > Nov 15 16:55:46 fedora-15 systemd-udevd[334]: worker [360] terminated by signal 11 (Segmentation fault) > Nov 15 16:55:46 fedora-15 systemd-udevd[334]: worker [360] failed while handling '/devices/pci0000:00/0000:00:03.0/virtio0/net > Nov 15 16:55:46 fedora-15 [389]: Process 360 (systemd-udevd) dumped core. > > Core was generated by usr/lib/systemd/systemd-udevd'. > Program terminated with signal 11, Segmentation fault. > #0 0x0000000000423c87 in udev_hwdb_get_properties_list_entry (hwdb=0x0, modalias=0x7fffbcd155f0
2012-11-15dbus-manager: modernize styleZbigniew Jędrzejewski-Szmek
2012-11-15dbus-manager: fix a fatal dbus abort in bus_manager_message_handler()Eelco Dolstra
If ListUnitFiles fails, or an OOM occurs, then dbus_message_unref() will be called twice on "reply", causing systemd to crash. So remove the call to dbus_message_unref(); it is unnecessary because of the cleanup attribute on "reply". [zj: modified to leave one dbus_message_unref() alone, per Colin Walters' comment.]
2012-11-15sched: Only setting CPUSchedulingPriority=rr doesn't workHolger Hans Peter Freyther
A service that only sets the scheduling policy to round-robin fails to be started. This is because the cpu_sched_priority is initialized to 0 and is not adjusted when the policy is changed. Clamp the cpu_sched_priority when the scheduler policy is set. Use the current policy to validate the new priority. Change the manual page to state that the given range only applies to the real-time scheduling policies. Add a testcase that verifies this change: $ make test-sched-prio; ./test-sched-prio [test/sched_idle_bad.service:6] CPU scheduling priority is out of range, ignoring: 1 [test/sched_rr_bad.service:7] CPU scheduling priority is out of range, ignoring: 0 [test/sched_rr_bad.service:8] CPU scheduling priority is out of range, ignoring: 100
2012-11-15journalctl: require argument for --priorityLekensteyn
This fixes a segfault due to a missing value for --priority. -p is unaffected because it is specified in the getopt_long parameter list.
2012-11-15core: lift restriction on order of - and @ in ExecStartZbigniew Jędrzejewski-Szmek
2012-11-15core: interpret \; token in ExecStart as escaped ;Oleksii Shevchuk
Some commands (like 'find') take a semicolon as separate arg. With current parser implementation there is no way to pass one. Patch adds token \;
2012-11-15tests: add tests for config_parse_execZbigniew Jędrzejewski-Szmek
2012-11-15core/load-fragment-gperf: add missing CONDITION_FILE_NOT_EMPTYOleksii Shevchuk
Unit files couldn't be properly parsed, because of absent ConditionFileNotEmpty in load-fragment table.
2012-11-15core: fix %h, %s, %p handling in templates in user sessionOleksii Shevchuk
2012-11-15systemd: highlight ordering cycle deletionsOlivier Brunel
Having unit(s) removed/not started, even if it solved the issue and allowed to boot successfully, should still be considered an error, as something clearly isn't right. This patch elevates the log message from warning to error, and adds a status message to make things more obvious.
2012-11-15systemctl: add help for --type/-tZbigniew Jędrzejewski-Szmek
The list of types and load states if lengthy, so a little reminder can be sometimes useful.
2012-11-15systemctl: remove empty line in case of no unitsZbigniew Jędrzejewski-Szmek
2012-11-14build-sys: store journald code in a noinst libraryZbigniew Jędrzejewski-Szmek
The point is to allow the use of journald functions by other binaries. Before, journald code was split into multiple files (journald-*.[ch]), but all those files all required functions from journald.c. And journald.c has its own main(). Now, it is possible to link against those functions, e.g. from test binaries. This constitutes a fix for https://bugzilla.redhat.com/show_bug.cgi?id=872638. The patch does the following: 1. rename journald.h to journald-server.h and move corresponding code to journald-server.c. 2. add journald-server.c and other journald-*.c parts to libsystemd-journal-internal. 3. remove journald-syslog.c from test_journal_syslog_SOURCES, since it is now contained in libsystemd-journal-internal. There are no code changes, apart from the removal of a few static's, to allow function calls between files.
2012-11-14timedatectl: break line to not exceed 80 columnsZbigniew Jędrzejewski-Szmek
2012-11-14shared: add API for replacing @FOO@ style variables in stringsLennart Poettering
2012-11-14util: add strreplace() to replace a substring by another stringLennart Poettering
2012-11-14specifier: minor modernizationsLennart Poettering
2012-11-14polkit: fix type on comparisonLennart Poettering
2012-11-14delta.c: fix option '-t'Thomas Hindoe Paaboel Andersen
Both the help and man page claims that it accepts -t with an argument so let's do that.
2012-11-13delta.c: use _cleanup_Thomas Hindoe Paaboel Andersen
2012-11-13python: add journal backend for the logging frameworkMarti Raudsepp
Supports Python versions 2.6 through 3.3 (tested on 2.7 and 3.2). See JournalHandler docstring for usage details. [zj: - use send() instead of using sendv() directly - do exception handling like in the logging module - bumped min version to python2.6, since the module does not work with python2.5 anyway ]
2012-11-13systemd-analyze: use argparse instead of getoptZbigniew Jędrzejewski-Szmek
Makes the output way nicer with shorter code. Also brings systemd-analyze behaviour more in line with other systemd-programs. Argparse is in Python since 2.6, and is available as a package for previous versions, if someone is stuck with very old Python.
2012-11-13systemd-python: fix nesting of #ifs and #pragmasZbigniew Jędrzejewski-Szmek
2012-11-13shared/socket-util: kill gcc warning about uninitialized variableZbigniew Jędrzejewski-Szmek
The warning was invalid, but distracting.
2012-11-13udev: properly handle symlink removal by 'change' eventKay Sievers
If a 'change' event is supposed to remove created symlinks, we create a new device structure from the sysfs device and fill it with the list of links, to compute the delta of the old and new list of links to apply. If the device is already 'remove'd by the kernel though, udev fails to create the device structure, so the links are not removed properly. > From: Neil Brown <nfbrown@suse.com> > Date: Thu, 8 Nov 2012 10:39:06 +0100 > Subject: [PATCH] If a 'change' event does not get handled by udev until > after the device has subsequently disappeared, udev mis-handles > it. This can happen with 'md' devices which emit a change > event and then a remove event when they are stopped. It is > normally only noticed if udev is very busy (lots of arrays > being stopped at once) or the machine is otherwise loaded > and reponding slowly. > > There are two problems. > > 1/ udev_device_new_from_syspath() will refuse to create the device > structure if the device does not exist in /sys, and particularly if > the uevent file does not exist. > If a 'db' file does exist, that is sufficient evidence that the device > is genuine and should be created. Equally if we have just received an > event from the kernel about the device, it must be real. > > This patch just disabled the test for the 'uevent' file, it doesn't > try imposing any other tests - it isn't clear that they are really > needed. > > 2/ udev_event_execute_rules() calls udev_device_read_db() on a 'device' > structure that is largely uninitialised and in particular does not > have the 'subsystem' set. udev_device_read_db() needs the subsystem > so it tries to read the 'subsystem' symlink out of sysfs. If the > device is already deleted, this naturally fails. > udev_event_execute_rules() knows the subsystem (as it was in the > event message) so this patch simply sets the subsystem for the device > structure to be loaded to match the subsystem of the device structure > that is handling the event. > > With these two changes, deleted handling of change events will still > correctly remove any symlinks that are not needed any more. Use udev_device_new() instead of allowing udev_device_new_from_syspath() to proceed without a sysfs device.