summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2012-09-17logind: make sure there's always a getty available on TTY6Lennart Poettering
Previously, if X allocated all 6 TTYs (for multi-session for example) no getty would be available anymore to guarantee console-based logins. With the new ReserveVT= switch in logind.conf we can now choose one VT (6 by default) that will always be subject to autovt-style activation, i.e. we'll always have a getty on TTY6, and X will never take possession of it.
2012-09-17build-sys: __secure_getenv lost dunder in libc 2.17Zbigniew Jędrzejewski-Szmek
2012-09-16tmpfiles: use write(2) for the 'w' actionDave Reisner
This resolves problems with filesystems which do not implement the aio_write file operation. In this case, the kernel will fall back using a loop writing technique for each pointer in a received iovec. The result is strange errors in dmesg such as: [ 31.855871] elevator: type not found [ 31.856262] elevator: switch to [ 31.856262] failed It does not make sense to implement a synchronous aio_write method for sysfs as this isn't a real filesystem where a reasonable use case for using writev exists, nor is there an expectation that tmpfiles will be used to write more data than can be reasonably written in a single write syscall. In addition, some sysfs attrs are currently buggy and will NOT reject the second write with the newline, causing the sysfs value to be zeroed out. This of course should be fixed in the kernel regardless of any wrongdoing in userspace, but this simple change makes us immune to such a bug. This change means that we do not write a trailing newline by default, as the expected use case of 'w' is for sysfs and procfs. In exchange, honor C-style backslash escapes so that if the newline is really needed, the user can add it.
2012-09-16socket: prevent signed integer overflowDave Reisner
src/core/socket.c:588:25: error: overflow in implicit constant conversion src/core/socket.c:589:17: error: overflow in implicit constant conversion
2012-09-16nspawn: fix memleak introduced with automatic cleanupZbigniew Jędrzejewski-Szmek
6b2d0e8 introduced a memleak instead of fixing one. Fix both.
2012-09-16nspawn: use automatic cleanup for umaskZbigniew Jędrzejewski-Szmek
2012-09-16nspawn: _cleanup_free_ moreZbigniew Jędrzejewski-Szmek
2012-09-16nspawn: use automatic cleanupZbigniew Jędrzejewski-Szmek
This one actually clears up a (totally harmless) memleak.
2012-09-16nspawn: mount tmpfs on /dev/shmZbigniew Jędrzejewski-Szmek
Most things seem to function fine without /dev/shm, but it is expected to be there (quoting linux/Documentation/filesystems/tmpfs.txt: glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for POSIX shared memory (shm_open, shm_unlink)). Since /tmp/ is already mounted as tmpfs, it would be enough to mkdir /tmp/shm and chmod it. Mounting it separately has the advantage that it can be easily remounted to change the quota.
2012-09-16install: use automatic cleanupZbigniew Jędrzejewski-Szmek
2012-09-16install: treat non-existent directory as emptyZbigniew Jędrzejewski-Szmek
When looking for symlinks, it doesn't make sense to error-out if the directory is missing. The user might delete an empty directory. This check caused test-unit-file to fail when run before installation.
2012-09-16logind: redefine idleness to start at last activityZbigniew Jędrzejewski-Szmek
Before, after the timeout, a session would be timestamped as idle since 'last activity' + 'idle timeout'. Now, it is timestamped as idle since 'last activity'. Before, after all sessions were idle, the seat would be marked with as idle with the timestamp of the oldest idle session. Now it is marked with the timestamp of the youngest idle session. Both changes seem to me to be closer to natural understanding of idleness: the time since last activity counts.
2012-09-14timedated: make /etc/timezone a Debian-only thingLennart Poettering
2012-09-14timedate: assorted improvementsLennart Poettering
- Make writing/reading of /etc/timezone dependendent of HAVE_SYSV_COMPAT - Introduce symlink_atomic() after all, and use it - Use relative symlink for /etc/localtime
2012-09-14timedated: gather timezone from /etc/localtime sym targetShawn Landden
/etc/localtime -> /usr/share/zoneinfo/... or /etc/localtime -> ../usr/share/zoneinfo/... (note, ../usr is not the same if /etc is a symlink, as this isn't using canonicalize_file_name()) keep other method for now, consider dropping later. Supporting relative links here are problematic as timezones in /usr/share/zoneinfo are often themselves symlinks (and symlinks to symlinks), so this implamentation only supports absolute symlinks "/usr/share/zoneinfo/" and relative symlinks starting with "../usr/share/zoneinfo/" >From TODO (kay sievers): * kill /etc/timezone handling entirely? What does it provide? - /etc/localtime carries the same information already: $ ls -l /etc/localtime; cat /etc/timezone lrwxrwxrwx 1 root root 33 Jul 27 09:55 /etc/localtime -> /usr/share/zoneinfo/Europe/Berlin Europe/Berlin - systemd enforces /usr to be available at bootup, so we can enforce the use of the symlink
2012-09-14systemctl: show unit name when a job failsLennart Poettering
https://bugzilla.redhat.com/show_bug.cgi?id=845028 https://bugzilla.redhat.com/show_bug.cgi?id=846483
2012-09-14util: more modernizationsLennart Poettering
2012-09-14util: various additional modernizationsLennart Poettering
2012-09-14util: modernize a few functions with automatic cleanup variablesLennart Poettering
Just trying to get the feel for it. And it's pretty cool.
2012-09-13systemctl: minor coding style fixesLennart Poettering
2012-09-13install: append .service when enable/disable... is calledVáclav Pavlín
https://bugzilla.redhat.com/show_bug.cgi?id=856975
2012-09-13macro: introduce _cleanup_free_ macro for automatic freeing of scoped vars ↵Lennart Poettering
and make use of it
2012-09-13rpm: expose preset dir as rpm macro and in systemd.pcLennart Poettering
2012-09-13load-fragment: Expand specifiers in conditions.Auke Kok
Add specifier expansion to Path and String conditions. Specifier expansion for conditions will help create instance and user session units by allowing us to template conditions based on the instance or user session parameters. An example would be a system-wide user session service file that conditionally runs based on whether a user has the service configured through a configuration file in ~/.config/.
2012-09-13daemon: Fix broken links to sd-daemon.cEelco Dolstra
2012-09-13man: fix a bunch of typos in docsThomas Hindoe Paaboel Andersen
https://bugs.freedesktop.org/show_bug.cgi?id=54501
2012-09-13python: make gcc shut upLennart Poettering
2012-09-13manager: fix the buildLennart Poettering
2012-09-13manager: extend performance measurement interface to include firmware/loader ↵Lennart Poettering
times This only adds the fields to the D-Bus interfaces but doesn't fill them in with anything useful yet. Gummiboot exposes the necessary bits of information to use however and as soon as I get my fingers on a proper UEFI laptop I'll hook up the remaining bits. Since we want to stabilize the D-Bus interface soon and include it in the stability promise we should get the last fixes in, hence this change now.
2012-09-13journal: fix 128bit IDs of unit reload entriesLennart Poettering
2012-09-13update-utmp: Don't error out on runlevel updates if utmp doesn't existColin Walters
Other parts of the code handle utmp not existing, so let's be consistent. At the moment my GNOME-OSTree builds don't have utmp.
2012-09-13journal: never assert directly on data read from the journalLennart Poettering
2012-09-13journald: don't reposition window if we don't have toLennart Poettering
2012-09-13python: fix error handling, and allocate argument array on the stackLennart Poettering
2012-09-13python: reindent to follow coding styleLennart Poettering
2012-09-13python: change license to LGPL 2.1Lennart Poettering
The original license has been MIT for this code, but David Strauss (its original author) agreed to relicense it to LGPL 2.1 for inclusion in systemd.
2012-09-13python: integrate David Strauss' python-systemd packageLennart Poettering
2012-09-13tmpfiles: plug file descriptor leak.Dave Reisner
Introduced in d4e9eb91.
2012-09-13readahead: use 20K instead of 16K as temporary request nr bumpLennart Poettering
2012-09-12journalctl: print QR code only if we are running on an UTF-8 systemLennart Poettering
2012-09-12systemctl: direct the user to list-unit-files from the list-units outputLennart Poettering
2012-09-12tmpfiles: support globbing for w optionDave Reisner
Break out the write logic into a separate function and simply use it as a callback to glob_item. This allows users to consolidate writes to sysfs with multiple similar pathnames, e.g. w /sys/class/block/sd[a-z]/queue/read_ahead_kb - - - - 1024
2012-09-12test: extend unit-name test a bitLennart Poettering
2012-09-12login: reshuffle meaning of require_active parameterLennart Poettering
2012-09-12logind: Avoid unnecesary rewrite of user file when switching sessions of the ↵Colin Guthrie
same user.
2012-09-12logind: Ensure the user, seat and session files are updated when the session ↵Colin Guthrie
is closing.
2012-09-12logind: Add a two new variables to the user session tracking file.Colin Guthrie
This counts 'online sessions' in addition to 'active sessions' and 'sessions'. In this context, an 'online session' covers all session in the 'active' state in addition to the explicit 'online' state. This provides an easy machanism to determin all relevant sessions easily (i.e. those that are not 'closing') and adds new semantics to the sd-login.c APIs sd_uid_get_sessions() and sd_uid_get_seats() where the require_active argument can be supplied as a value 2 which only lists sessions which are 'online'. This functionality should allow client applications to avoid deadlocks where they only exit when all sessions are complete, such as a the problem where PulseAudio will not exit until all sessions are gone, but in itself prevents the session from exiting.
2012-09-12logind: Properly list the ACTIVE_SEATS in the user session tracking file.Colin Guthrie
Prevsiouly the first active seat for a user would never be listed and any subsequent seats would be concatenated on without any spaces.
2012-09-12logind: If all user sessions are in closing state, set the overall status to ↵Colin Guthrie
closing. PulseAudio for example will keep a client connection open provided at least one session exists. However, if all sessions are currently in the process of closing, we should flag that as the overall state appropriately to better reflect what is happening. Although this does better reflect the status for any given user, it does not actually solve the overall problem of PulseAudio still finding some sessions active and thus not exiting and therefore actually preventing the session from closing. Future commits will extend sd-login to cope with this situation.
2012-09-12pam: Add session class to the debug log.Colin Guthrie