summaryrefslogtreecommitdiff
path: root/src/tty-ask-password-agent.c
diff options
context:
space:
mode:
authorKay Sievers <kay.sievers@vrfy.org>2011-03-25 05:07:20 +0100
committerLennart Poettering <lennart@poettering.net>2011-03-28 23:00:00 +0200
commit2b583ce6576d4a074ce6f1570b3e60b65c64ae7d (patch)
treec5cfa0138219cc79a6412bb69abe13ece385009c /src/tty-ask-password-agent.c
parent37f85e66e8f396b6f758e063531b95531aef628e (diff)
use /run instead of /dev/.run
Instead of the /dev/.run trick we have currently implemented, we decided to move the early-boot runtime dir to /run. An existing /var/run directory is bind-mounted to /run. If /var/run is already a symlink, no action is taken. An existing /var/lock directory is bind-mounted to /run/lock. If /var/lock is already a symlink, no action is taken. To implement the directory vs. symlink logic, we have a: ConditionPathIsDirectory= now, which is used in the mount units. Skipped mount unit in case of symlink: $ systemctl status var-run.mount var-run.mount - Runtime Directory Loaded: loaded (/lib/systemd/system/var-run.mount) Active: inactive (dead) start condition failed at Fri, 25 Mar 2011 04:51:41 +0100; 6min ago Where: /var/run What: /run CGroup: name=systemd:/system/var-run.mount The systemd rpm needs to make sure to add something like: %pre mkdir -p -m0755 /run >/dev/null 2>&1 || : or it needs to be added to filesystem.rpm. Udev -git already uses /run if that exists, and is writable at bootup. Otherwise it falls back to the current /dev/.udev. Dracut and plymouth need to be adopted to switch from /dev/.run to run too. Cheers, Kay
Diffstat (limited to 'src/tty-ask-password-agent.c')
-rw-r--r--src/tty-ask-password-agent.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/tty-ask-password-agent.c b/src/tty-ask-password-agent.c
index 2c854fa8d9..dcf4b332b3 100644
--- a/src/tty-ask-password-agent.c
+++ b/src/tty-ask-password-agent.c
@@ -251,12 +251,12 @@ static int parse_password(const char *filename, char **wall) {
bool accept_cached = false;
const ConfigItem items[] = {
- { "Socket", config_parse_string, &socket_name, "Ask" },
- { "NotAfter", config_parse_uint64, &not_after, "Ask" },
- { "Message", config_parse_string, &message, "Ask" },
- { "PID", config_parse_unsigned, &pid, "Ask" },
- { "AcceptCached", config_parse_bool, &accept_cached, "Ask" },
- { NULL, NULL, NULL, NULL }
+ { "Socket", config_parse_string, 0, &socket_name, "Ask" },
+ { "NotAfter", config_parse_uint64, 0, &not_after, "Ask" },
+ { "Message", config_parse_string, 0, &message, "Ask" },
+ { "PID", config_parse_unsigned, 0, &pid, "Ask" },
+ { "AcceptCached", config_parse_bool, 0, &accept_cached, "Ask" },
+ { NULL, NULL, 0, NULL, NULL }
};
FILE *f;
@@ -431,7 +431,7 @@ static int wall_tty_block(void) {
if ((r = get_ctty_devnr(&devnr)) < 0)
return -r;
- if (asprintf(&p, "/dev/.run/systemd/ask-password-block/%u:%u", major(devnr), minor(devnr)) < 0)
+ if (asprintf(&p, "/run/systemd/ask-password-block/%u:%u", major(devnr), minor(devnr)) < 0)
return -ENOMEM;
mkdir_parents(p, 0700);
@@ -475,7 +475,7 @@ static bool wall_tty_match(const char *path) {
* advantage that the block will automatically go away if the
* process dies. */
- if (asprintf(&p, "/dev/.run/systemd/ask-password-block/%u:%u", major(st.st_rdev), minor(st.st_rdev)) < 0)
+ if (asprintf(&p, "/run/systemd/ask-password-block/%u:%u", major(st.st_rdev), minor(st.st_rdev)) < 0)
return true;
fd = open(p, O_WRONLY|O_CLOEXEC|O_NONBLOCK|O_NOCTTY);
@@ -494,7 +494,7 @@ static int show_passwords(void) {
struct dirent *de;
int r = 0;
- if (!(d = opendir("/dev/.run/systemd/ask-password"))) {
+ if (!(d = opendir("/run/systemd/ask-password"))) {
if (errno == ENOENT)
return 0;
@@ -519,7 +519,7 @@ static int show_passwords(void) {
if (!startswith(de->d_name, "ask."))
continue;
- if (!(p = strappend("/dev/.run/systemd/ask-password/", de->d_name))) {
+ if (!(p = strappend("/run/systemd/ask-password/", de->d_name))) {
log_error("Out of memory");
r = -ENOMEM;
goto finish;
@@ -558,14 +558,14 @@ static int watch_passwords(void) {
tty_block_fd = wall_tty_block();
- mkdir_p("/dev/.run/systemd/ask-password", 0755);
+ mkdir_p("/run/systemd/ask-password", 0755);
if ((notify = inotify_init1(IN_CLOEXEC)) < 0) {
r = -errno;
goto finish;
}
- if (inotify_add_watch(notify, "/dev/.run/systemd/ask-password", IN_CLOSE_WRITE|IN_MOVED_TO) < 0) {
+ if (inotify_add_watch(notify, "/run/systemd/ask-password", IN_CLOSE_WRITE|IN_MOVED_TO) < 0) {
r = -errno;
goto finish;
}