summaryrefslogtreecommitdiff
path: root/src/shared
AgeCommit message (Collapse)Author
2012-11-21journal: by default do not decompress dat objects larger than 64KLennart Poettering
This introduces a new data threshold setting for sd_journal objects which controls the maximum size of objects to decompress. This is relieves the library from having to decompress full data objects even if a client program is only interested in the initial part of them. This speeds up "systemd-coredumpctl" drastically when invoked without parameters.
2012-11-20dbus-common: Add helper method to handle no-reply messagesColin Walters
[Tested in latest gnome-ostree; if accepted, I'll look at a followup patch which fixes the other dbus_connection_send(reply, ...) calls besides logind] DBus messages can have a flag NO_REPLY associated that means "I don't need a reply". This is for efficiency reasons - for one-off requests that can't return an error, etc. However, it's up to users to manually check dbus_message_get_no_reply() from a message. libdbus will happily send out a reply if you don't. Unfortunately, doing so is not just less efficient - it also triggers a security error, for complex reasons. This is something that will eventually be fixed in dbus, but it's also correct to handle it in client applications. This new helper API is slightly nicer in that you don't have to pass NULL to say you don't want a reply serial for your reply. This patch also tweaks logind to use the API - there are more areas of the code that need this treatment too.
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-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-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-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-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-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-13shared/socket-util: kill gcc warning about uninitialized variableZbigniew Jędrzejewski-Szmek
The warning was invalid, but distracting.
2012-11-12util: nicer tree drawingsMichal Schmidt
Draw trees more similar to pstree/findmnt/lsblk/...
2012-11-12use the same email address everywhereKay Sievers
2012-11-11timedatectl: properly print 30 minutes DST transitionsKay Sievers
2012-11-09dbus: when verifying PK privs, bypass PK if uid=0 of clientLennart Poettering
This reduces the number of roundtrips when the client is privileged and makes the PK dep optional for root clients.
2012-11-06Revert "Implement SocketUser= and SocketGroup= for [Socket]"Dave Reisner
This was never intended to be pushed. This reverts commit aea54018a5e66a41318afb6c6be745b6aef48d9e.
2012-11-05Implement SocketUser= and SocketGroup= for [Socket]Dave Reisner
Since we already allow defining the mode of AF_UNIX sockets and FIFO, it makes sense to also allow specific user/group ownership of the socket file for restricting access.
2012-11-04shared: add is_efiboot()Kay Sievers
2012-11-02util : fallback to plain ASCII drawing if locale is not UTF-8Michal Schmidt
When printing cgroup and sysfs hierarchies, avoid using UTF-8 box drawing characters if the locale is not UTF-8. https://bugzilla.redhat.com/show_bug.cgi?id=871153
2012-11-02util: add is_locale_utf8()Michal Schmidt
journalctl and vconsole-setup both implement utf8 locale detection. Let's have a common function for it. The next patch will add another use.
2012-11-02timedatectl: show "DST active: n/a" if no DST data is availableKay Sievers
2012-11-02shared: add timer_get_dst()Kay Sievers
2012-10-30strv: cleanup error path loopsLennart Poettering
https://bugzilla.redhat.com/show_bug.cgi?id=858799
2012-10-30shared: "max" in the string->number conversion is meant to be inclusiveMichal Schmidt
2012-10-30shared, core: do not always accept numbers in string lookupsMichal Schmidt
The behaviour of the common name##_from_string conversion is surprising. It accepts not only the strings from name##_table but also any number that falls within the range of the table. The order of items in most of our tables is an internal affair. It should not be visible to the user. I know of a case where the surprising numeric conversion leads to a crash. We will allow the direct numeric conversion only for the tables where the mapping of strings to numeric values has an external meaning. This holds for the following lookup tables: - netlink_family, ioprio_class, ip_tos, sched_policy - their numeric values are stable as they are defined by the Linux kernel interface. - log_level, log_facility_unshifted - the well-known syslog interface. We allow the user to use numeric values whose string names systemd does not know. For instance, the user may want to test a new kernel featuring a scheduling policy that did not exist when his systemd version was released. A slightly unpleasant effect of this is that the name##_to_string conversion cannot return pointers to constant strings anymore. The strings have to be allocated on demand and freed by the caller.
2012-10-30shared, libsystemd-daemon: check for empty strings in strto*l conversionsMichal Schmidt
strtol() and friends may set EINVAL if no conversion was performed, but they are not required to do so. In practice they don't. We need to check for it. https://bugzilla.redhat.com/show_bug.cgi?id=870577
2012-10-29util: improve overflow checksMichal Schmidt
commit 49371bb fixed the observed division by zero, but missed another occurrence of the same bug. It was also not the optimal fix. We can simply make the divisor a constant by swapping it with the compared value.
2012-10-29util: avoid divide by zero FPEDave Reisner
In early userspace, if kernel initialization happens extremely quickly, a call to systemd-timestamp can potentially result in division by zero. Ensure that the check in timespec_load, which only makes sense if tv_sec is greater than zero, is guarded by this condition.
2012-10-28util: fix possible integer overflowsMichal Sekletar
2012-10-28logind: support for hybrid sleep (i.e. suspend+hibernate at the same time)Lennart Poettering
2012-10-27hwclock: do not seal the kernel's time-warp call from inside the initrdKay Sievers
2012-10-27util: return the remaining string in startswith()Lennart Poettering
2012-10-26coredumpctl: show timestamps in listLennart Poettering
2012-10-26journal: provide an API that allows client to figure out whether they need ↵Lennart Poettering
to recheck the journal manually for changes in regular intervals Network file systems generally do not offer inotify() that would work across the network. We hence cannot rely on inotify() exclusiely in those case. Provide an API to determine these cases, and suggest doing manual regular rechecks. Note that this is not complete yet, as we need to rescan journal dirs on network file systems explicitly to find new/removed files
2012-10-26journal: introduce entry array chain cacheLennart Poettering
When traversing entry array chains for a bisection or for retrieving an item by index we previously always started at the beginning of the chain. Since we tend to look at the same chains repeatedly, let's cache where we have been the last time, and maybe we can skip ahead with this the next time. This turns most bisections and index lookups from O(log(n)*log(n)) into O(log(n)). More importantly however, we seek around on disk much less, which is good to reduce buffer cache and seek times on rotational disks.
2012-10-25udev: hwdb - remove run_onceKay Sievers
2012-10-25journal: properly serialize fields with multiple values into JSONLennart Poettering
This now matches the JSON serialization spec from: http://www.freedesktop.org/wiki/Software/systemd/json
2012-10-23cgls: correctly ellipsize command lines for PIDs >= 1000000Mantas Mikulėnas
2012-10-22shared: strbuf - add descriprionKay Sievers
2012-10-22shared: move sparse-endian.h from journalKay Sievers
2012-10-22shared: strbuf - add descriptionKay Sievers
2012-10-22shared: strbuf - add string de-duplication facilityKay Sievers
2012-10-22util: add (x)bsearch_r(), the missing counterpart of qsort_r()Kay Sievers
2012-10-19shared/install: fix typo in commentChristian Hesse
2012-10-19make sure __NR_name_to_handle_at is correctly definedMichael Olbrich
341 is only valid for x86, so don't use it for other architectures. Add the correct numbers for ARM and PowerPC while at it.
2012-10-19util: change endswith() to return a pointer to the suffixLennart Poettering
2012-10-19set: introduce strv_sort()Lennart Poettering
2012-10-19set: introduce set_get_strv()Lennart Poettering
2012-10-19util: unify line caching and column cachingLennart Poettering