summaryrefslogtreecommitdiff
path: root/src/shared
AgeCommit message (Collapse)Author
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
2012-10-19util: unify usage of on_tty() in util.cLennart Poettering
2012-10-19util: simplify column caching logicLennart Poettering
2012-10-18journalctl: unify ellipsation handling between journalctl and systemctlLennart Poettering
2012-10-18journalctl: don't ellipsize unless on a ttyLennart Poettering
2012-10-18journal: add ability to list unique fields to gatewaydLennart Poettering
2012-10-18journal: add ability to list values a specified field can take in all ↵Lennart Poettering
entries of the journal The new 'unique' API allows listing all unique field values that a field specified by a field name can take in all entries of the journal. This allows answering queries such as "What units logged to the journal?", "What hosts have logged into the journal?", "Which boot IDs have logged into the journal?". Ultimately this allows implementation of tools similar to lastlog based on journal data. Note that listing these field values will not work for journal files created with older journald, as the field values are not indexed in older files.
2012-10-17hostnamed: allow UTF8 chars in pretty hostname againLennart Poettering
2012-10-17timedatectl: introduce new command line client for timedatedLennart Poettering
Much like logind has a client in loginctl, and journald in journalctl introduce timedatectl, to change the system time (incl. RTC), timezones and related settings.
2012-10-16journal: don't export MESSAGE_ID() macroLennart Poettering
If it is exported it would need to be prefixed, but since we need it exclusively internally so far, simply move it to an internal header.
2012-10-16systemctl: append .service when unit does not have valid suffixLukas Nykryn
systemctl status a and systemctl status a.service lead to same output but systemctl status a.b and systemctl status a.b.service do not.
2012-10-16selinux: selabel_lookup_raw can return ENOENT and be a non failure mode.Daniel J Walsh
2012-10-16build-sys: check for name_to_handle_at declaration instead of its definitionMichael Olbrich
AC_CHECK_FUNCS may be successful, even though name_to_handle_at and 'struct file_handle' are not available.
2012-10-16util: properly handle -1 timespec/timevalLennart Poettering
2012-10-11journalctl: implement --since= and --until for filtering by timeLennart Poettering
2012-10-11journal: support epxorting the journal in a format suitable for ↵Lennart Poettering
text/event-stream
2012-10-09detect-virt: install with fs caps by default to allow unprivileged accessLennart Poettering
2012-10-08shared: fix broken string_is_safeMartin Mikkelsen
2012-10-03man: document behaviour of ListenStream= with only a port number in regards ↵Lennart Poettering
to IPv4/IPv6
2012-10-03dbus: add some more safety checks before accepting data from bus clientsLennart Poettering
2012-10-03build-sys: fix !HAVE_SELINUX caseColin Walters
2012-10-02audit: turn the audit fd into a static variableLennart Poettering
As audit is pretty much just a special kind of logging we should treat it similar, and manage the audit fd in a static variable. This simplifies the audit fd sharing with the SELinux access checking code quite a bit.
2012-10-02selinux: rework selinux access check logicLennart Poettering
a) Instead of parsing the bus messages inside of selinux-access.c simply pass everything pre-parsed in the functions b) implement the access checking with a macro that resolves to nothing on non-selinux builds c) split out the selinux checks into their own sources selinux-util.[ch] d) this unifies the job creation code behind the D-Bus calls Manager.StartUnit() and Unit.Start().
2012-10-02shared: fail mkdir_p if the target exists and is not a directoryZbigniew Jędrzejewski-Szmek
This makes mkdir_p actually behave like mkdir -p.