#include "socket-util.h"
#include "ask-password-api.h"
#include "strv.h"
+#include "build.h"
static enum {
ACTION_LIST,
*wall ? "\r\n\r\n" : "",
message,
pid) < 0) {
- log_error("Out of memory");
- r = -ENOMEM;
+ r = log_oom();
goto finish;
}
char *password;
if (arg_console)
- if ((tty_fd = acquire_terminal("/dev/console", false, false, false)) < 0) {
+ if ((tty_fd = acquire_terminal("/dev/console", false, false, false, (usec_t) -1)) < 0) {
r = tty_fd;
goto finish;
}
continue;
if (!(p = strappend("/run/systemd/ask-password/", de->d_name))) {
- log_error("Out of memory");
- r = -ENOMEM;
+ r = log_oom();
goto finish;
}
printf("%s [OPTIONS...]\n\n"
"Process system password requests.\n\n"
" -h --help Show this help\n"
+ " --version Show package version\n"
" --list Show pending password requests\n"
" --query Process pending password requests\n"
" --watch Continuously process password requests\n"
ARG_WATCH,
ARG_WALL,
ARG_PLYMOUTH,
- ARG_CONSOLE
+ ARG_CONSOLE,
+ ARG_VERSION
};
static const struct option options[] = {
{ "help", no_argument, NULL, 'h' },
+ { "version", no_argument, NULL, ARG_VERSION },
{ "list", no_argument, NULL, ARG_LIST },
{ "query", no_argument, NULL, ARG_QUERY },
{ "watch", no_argument, NULL, ARG_WATCH },
help();
return 0;
+ case ARG_VERSION:
+ puts(PACKAGE_STRING);
+ puts(SYSTEMD_FEATURES);
+ return 0;
+
case ARG_LIST:
arg_action = ACTION_LIST;
break;
int main(int argc, char *argv[]) {
int r;
+ log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();