1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-07 09:56:51 +03:00
Commit Graph

12306 Commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek
116cc02874 path-util.c: small modernization 2013-09-09 13:49:30 -04:00
Zbigniew Jędrzejewski-Szmek
a6fde35332 systemd-run: properly escape arguments
Spaces, quotes, and such, were not properly escaped. We should
write them like we read them.

https://bugs.freedesktop.org/show_bug.cgi?id=67971
2013-09-09 13:49:29 -04:00
Dave Reisner
a012ab5293 TODO: update todo 2013-09-06 16:26:55 -04:00
Zbigniew Jędrzejewski-Szmek
32ce5ae22b man: fix typo
https://bugs.freedesktop.org/show_bug.cgi?id=68723
2013-09-06 13:15:23 +02:00
Andrew Cook
92f2ff4415 systemd-coredump: Log crashes without coredumps on failure
Make a best-effort attempt to store information about crashes during
failure, currently if these are encountered the crash is completely
silenced.

ideally coredumpctl would show if a coredump is available.
2013-09-06 10:09:55 +02:00
Andrew Cook
ca0ceb6f3e systemd-coredump: Ignore coredumps larger than COREDUMP_MAX
Currently this check happens when the coredump has been collected in
it's entirety and being received by journald. this is not ideal
behaviour when the crashing process is consuming significant percentage
of physical memory such as a large instance of firefox or a java
application.
2013-09-06 10:09:54 +02:00
George McCollister
489798614c journald: fix fd leak in journal_file_empty
Before my previous patch, journal_file_empty wasn't be called with the
correct filename. Now that it's being called with the correct filename
it leaks file descriptors. This patch closes the file descriptors before
returning.

Signed-off-by: George McCollister <george.mccollister@gmail.com>

[Edit harald@redhat.com: make use of _cleanup_close_ instead]
2013-09-06 07:11:25 +02:00
George McCollister
629bfc5a7f journald: fix vacuuming of archived journals
d_name is modified on line 227 so if the entire journal name is needed
again p must be used. Before this change when journal_file_empty was called
on archived journals it would always return with -2.

Signed-off-by: George McCollister <george.mccollister@gmail.com>
2013-09-06 07:07:54 +02:00
Kay Sievers
756c9a2499 libudev: enumerate - do not try to match against an empty subsystem 2013-09-04 17:59:14 +02:00
David Herrmann
f9e84da678 libudev: enumerate: fix NULL-deref for subsystem-matches
udev_device_get_subsystem() may return NULL if no subsystem could be
figured out by libudev. This might be due to OOM or if the device
disconnected between the udev_device_new() call and
udev_device_get_subsystem(). Therefore, we need to handle subsystem==NULL
safely.

Instead of testing for it in each helper, we treat subsystem==NULL as
empty subsystem in match_subsystem().

Backtrace of udev_enumerate with an input-device disconnecting in exactly
this time-frame:
 (gdb) bt
 #0  0x00007ffff569dc24 in strnlen () from /usr/lib/libc.so.6
 #1  0x00007ffff56d9e04 in fnmatch@@GLIBC_2.2.5 () from /usr/lib/libc.so.6
 #2  0x00007ffff5beb83d in match_subsystem (udev_enumerate=0x7a05f0, subsystem=0x0) at src/libudev/libudev-enumerate.c:727
 #3  0x00007ffff5bebb30 in parent_add_child (enumerate=enumerate@entry=0x7a05f0, path=<optimized out>) at src/libudev/libudev-enumerate.c:834
 #4  0x00007ffff5bebc3f in parent_crawl_children (enumerate=enumerate@entry=0x7a05f0, path=0x7a56b0 "/sys/devices/<shortened>/input/input97", maxdepth=maxdepth@entry=254) at src/libudev/libudev-enumerate.c:866
 #5  0x00007ffff5bebc54 in parent_crawl_children (enumerate=enumerate@entry=0x7a05f0, path=0x79e8c0 "/sys/devices/<shortened>/input", maxdepth=maxdepth@entry=255) at src/libudev/libudev-enumerate.c:868
 #6  0x00007ffff5bebc54 in parent_crawl_children (enumerate=enumerate@entry=0x7a05f0, path=path@entry=0x753190 "/sys/devices/<shortened>", maxdepth=maxdepth@entry=256) at src/libudev/libudev-enumerate.c:868
 #7  0x00007ffff5bec7df in scan_devices_children (enumerate=0x7a05f0) at src/libudev/libudev-enumerate.c:882
 #8  udev_enumerate_scan_devices (udev_enumerate=udev_enumerate@entry=0x7a05f0) at src/libudev/libudev-enumerate.c:919
 #9  0x00007ffff5df8777 in <random_caller> () at some/file.c:181
2013-09-04 17:58:56 +02:00
Brandon Philips
c851f34ba1 cgtop: fixup the online help
The online help shows the keys as uppercase but the code and manpage say
lower case. Make the online help follow reality.
2013-09-04 15:02:06 +02:00
David Herrmann
51cc07576e libudev: fix memleak when enumerating childs
We need to free udev-devices again if they don't match. Funny that no-one
noticed it yet since valgrind is quite verbose about it.
Fix it and free non-matching devices.
2013-09-04 14:56:06 +02:00
Martin Pitt
ee2babf4c3 keymap: Explicitly match "any product name" for "all models from vendor" rules
Without this, the hwdb trie gets mis-sorted to match the more specific rules
first, as ":pvr" is lexicographically after ":pn". So ensure that all our
matches have some ":pn" match to avoid this trap.
2013-09-02 08:15:49 +02:00
Martin Pitt
78f66c2151 keymap: Fix typo in Latitude/Precision rules
We actually want to match the product name, "pn:" makes no sense.
2013-09-02 07:37:06 +02:00
Harald Hoyer
31c885e9ae main: drop capabilities of userhelpers before ours
First drop the capabilities of the userhelpers before dropping our own,
otherwise we might not be allowed to drop the capabilities of the
userhelpers. Especially, if we want to drop CAP_SYS_MODULE.

Credits: Matteo Sasso
2013-08-30 10:26:49 +02:00
Martin Pitt
b534166eae keymap: Don't use spaces in DMI modalias matches
Spaces get dropped from DMI modaliases. Replace them with '*' to make them
robust against future changes in space escaping.
2013-08-30 06:55:47 +02:00
Martin Pitt
db7c6e6fc8 keymap: Fix Dell vendor names
Spaces are dropped from vendor and product names in DMI modaliases, so a match
like "svnDell Inc.:" will never happen. Also, some machines use "Dell", some
"Dell Inc", some "Dell Inc.", so just match on "Dell*" to avoid all these
traps.

https://launchpad.net/bugs/1218433
2013-08-30 06:55:40 +02:00
Martin Pitt
3f42b51f21 keymap: Don't erase previous assignments
Don't use "KEYBOARD_KEY_xx=!" assignments (i. e. only enabling force-release)
if more general matches already explicitly set a key code before, to not
override the previously set value.

https://launchpad.net/bugs/1218433
2013-08-29 17:48:42 +02:00
Harald Hoyer
b58b8e11c5 Do not realloc strings, which are already in the hashmap as keys
This prevents corruption of the hashmap, because we would free() the
keys in the hashmap, if the unit is already in there, with the same
cgroup path.
2013-08-28 16:02:57 +02:00
Harald Hoyer
3d040cf244 Revert "cgroup.c: check return value of unit_realize_cgroup_now()"
This reverts commit 1f11a0cdfe.
2013-08-28 16:02:39 +02:00
Gao feng
a255a7f144 cgroup: only check once when mode is UNIT_CHECK
If the mode is UNIT_CHECK,it means we only want to check if
the paramaters are valid. the first round of cycle already
did this check, no need to check again.
2013-08-28 08:04:56 -04:00
Gao feng
ad7bfffde5 device cgroup: don't create a new CGroupDeviceAllow when it already in the list
If a device node is already in the device_allow list of
CGroupContext, we should replace it instead of create a
new one and append this new one to the end of device_allow
list.

change from v1: use streq to replace !strcmp
2013-08-28 08:04:56 -04:00
Gao feng
e862b60f1c blcokio bandwidth: add missing set of CGroupBlockIODeviceBandwidth's read
BlockIOReadBandwidth and BlockIOWriteBandwidth both use
config_parse_blockio_bandwidth to set up CGroupBlockIODeviceBandwidth,
We should set the read value based on the left values
in config files.
2013-08-28 08:04:56 -04:00
Zbigniew Jędrzejewski-Szmek
5af726cced logind-session.c: use _cleanup_ 2013-08-28 08:04:56 -04:00
Zbigniew Jędrzejewski-Szmek
042f598892 logind: be more verbose on errors 2013-08-28 08:04:56 -04:00
Zbigniew Jędrzejewski-Szmek
335c46b598 Disallow invalid UTF-8 configuration
It is best to catch such errors early. If invalid UTF-8 ends up being
given to dbus methods, the program will crash:

process 20801: arguments to dbus_message_iter_append_basic() were incorrect, assertion "_dbus_check_is_valid_utf8 (*string_p)" failed in file dbus-message.c line 2598.
2013-08-28 08:04:56 -04:00
Zbigniew Jędrzejewski-Szmek
fe05567c31 shell-completions: systemd-analyze set-log-level 2013-08-28 08:04:56 -04:00
Kay Sievers
bd6d296339 log to kmsg when "debug" is used on the kernel command line 2013-08-27 18:25:06 +02:00
Martin Pitt
792d616391 keymap: Add Logitech Internet Navigator variant [PID C309]
By Albrecht Kolthoff <kolthoff@gmx.net> via linux-hotplug@.
2013-08-27 12:57:01 +02:00
Martin Pitt
64b2a4da97 keymap: Add Samsung NP53U3C
https://launchpad.net/bugs/1203853
2013-08-26 16:49:10 +02:00
William Giokas
9e15a18acd zsh_completion: Fix --user-unit completion
_SYSTEMD_USER_UNIT in the --user-unit flag argument should instead be
USER_UNIT. It should also have an optional `=` between the flag and the
argument.
2013-08-24 13:17:43 -04:00
Herczeg Zsolt
93a279e34a Keyboard map for Samsung NP700Z3C
I'm using Ubuntu 13.04 on a Samsung Series 5 computer and found that that
Fn hotkeys does not work.
2013-08-23 15:17:15 -04:00
Zbigniew Jędrzejewski-Szmek
0f85cbe105 man: Small grammar fix
Use Oxford comma.
2013-08-23 13:13:12 -04:00
Zbigniew Jędrzejewski-Szmek
f1a5d37e08 keyboard: add eMachines E725
Information supplied by Ludvig <enthymeme@lavabit.com>.
2013-08-23 13:00:43 -04:00
William Giokas
862f4963c6 zsh_completion: Fix single letter args
Things like -n to specify the lines to show with systemctl and
journalctl accepts syntax like:

  journalctl -n4
  systemctl -n14

Previously, typing `-nXX <tab>` where XX is a number, zsh would try to
complete an integer. Now it will see the XX and use the _journalctl_none
completion. This is also how any of the single letter options that take
arguments work as well.
2013-08-23 12:48:14 -04:00
Maciej Wereski
ea92ae33e0 "-" prefix for InaccessibleDirectories and ReadOnlyDirectories 2013-08-23 12:48:14 -04:00
Shawn Landden
ac8e20c6e9 man: make reference to bind(2) explicit 2013-08-23 12:48:14 -04:00
Shawn Landden
7c902b1468 udev: fix printf(3) type specifier
src/udev/udev-rules.c: In function 'add_rule':
src/udev/udev-rules.c:1078:33: warning: format '%lu' expects argument of type 'long unsigned int', but argument 8 has type 'int' [-Wformat=]
                                 log_error("invalid key/value pair in file %s on line %u,"
                                 ^
2013-08-23 12:48:14 -04:00
Gao feng
f236910365 blkio: fix incorrect setting of cpu_shares
We should set up blockio_weight not cpu_shares.
2013-08-23 12:48:14 -04:00
Zbigniew Jędrzejewski-Szmek
d182614649 nspawn: trivial simplification 2013-08-23 12:48:14 -04:00
Harald Hoyer
1f11a0cdfe cgroup.c: check return value of unit_realize_cgroup_now()
do not recurse further, if unit_realize_cgroup_now() failed
2013-08-23 18:46:51 +02:00
Colin Walters
73814ca287 Revert "udevd: simplify sigterm check"
This reverts commit 47e737dc13 - it
introduced a use-after-free.  The only way the code would get simpler
is with a cleanup function, but eh, not worth it for just this one
bit.

Reviewed by kay on IRC.
2013-08-22 17:07:02 -04:00
Kay Sievers
df89481a35 Optimize startswith() to macro
I guess it's easier and cleaner anyway to use simple static inline
functions instead of defines.
2013-08-22 00:52:14 -04:00
Shawn Landden
2a0e069256 remove hasprefix(), use startswith() 2013-08-22 00:52:14 -04:00
Khem Raj
67c15b9a7a use CAP_MKNOD ConditionCapability
Fixes errors seen when booting VMs on QEMU like

systemd[1]: kmod-static-nodes.service: main process exited, code=exited, status=203/EXEC
systemd[1]: Failed to start Create list of required static device nodes for the current kernel.
systemd[1]: Unit kmod-static-nodes.service entered failed state.

Make sure that mknod capability is available

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2013-08-22 00:52:14 -04:00
Zbigniew Jędrzejewski-Szmek
d83c224da0 man: typo
ohsix> ooh theres a typo in the example
2013-08-22 00:52:14 -04:00
Holger Hans Peter Freyther
143bfdaf0b test: Make testing work on systems without or old systemd
* Introduce a macro to conditionally execute tests. This avoids
  skipping the entire test if some parts require systemd
* Skip the journal tests when no /etc/machine-id is present
* Change test-catalog to load the catalog from the source directory
  of systemd.
* /proc/PID/comm got introduced in v2.6.33 but travis is still
  using v2.6.32.
* Enable make check and make distcheck on the travis build
* Use -D"CATALOG_DIR=STR($(abs_top_srcdir)/catalog)" as a STRINGIY
  would result in the path '/home/ich/source/linux' to be expanded
  to '/home/ich/source/1' as linux is defined to 1.
2013-08-22 00:52:14 -04:00
Kay Sievers
67ccd1c4b8 remove freenode verification file 2013-08-21 14:11:43 +02:00
Kay Sievers
0611ef5cc1 add freenode verification 2013-08-21 13:10:40 +02:00
Zbigniew Jędrzejewski-Szmek
2526d62691 logs-show: fix condition for ellipsizing multi-line messages
falconindy> the ellipsizing seems a bit wrong here....

I got a bit carried away with putting dots everywhere :)
2013-08-21 01:36:51 -04:00