chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
manager: use a private notify sockets in containers to avoid problems with shared...
[elogind.git]
/
src
/
login
/
loginctl.c
diff --git
a/src/login/loginctl.c
b/src/login/loginctl.c
index f1cb16e713e17fa56a9a1dc39ed1112255e79b49..7b751e778fa29d4dc826d28b339de115da4e78b7 100644
(file)
--- a/
src/login/loginctl.c
+++ b/
src/login/loginctl.c
@@
-352,7
+352,7
@@
typedef struct SessionStatusInfo {
uid_t uid;
const char *name;
usec_t timestamp;
uid_t uid;
const char *name;
usec_t timestamp;
- const char *control_group;
+ const char *
default_
control_group;
int vtnr;
const char *seat;
const char *tty;
int vtnr;
const char *seat;
const char *tty;
@@
-364,14
+364,14
@@
typedef struct SessionStatusInfo {
pid_t leader;
const char *type;
const char *class;
pid_t leader;
const char *type;
const char *class;
-
bool activ
e;
+
const char *stat
e;
} SessionStatusInfo;
typedef struct UserStatusInfo {
uid_t uid;
const char *name;
usec_t timestamp;
} SessionStatusInfo;
typedef struct UserStatusInfo {
uid_t uid;
const char *name;
usec_t timestamp;
- const char *control_group;
+ const char *
default_
control_group;
const char *state;
char **sessions;
const char *display;
const char *state;
char **sessions;
const char *display;
@@
-458,13
+458,13
@@
static void print_session_status_info(SessionStatusInfo *i) {
} else if (i->class)
printf("\t Class: %s\n", i->class);
} else if (i->class)
printf("\t Class: %s\n", i->class);
+ if (i->state)
+ printf("\t State: %s\n", i->state);
- printf("\t Active: %s\n", yes_no(i->active));
-
- if (i->control_group) {
+ if (i->default_control_group) {
unsigned c;
unsigned c;
- printf("\t CGroup: %s\n", i->control_group);
+ printf("\t CGroup: %s\n", i->
default_
control_group);
if (arg_transport != TRANSPORT_SSH) {
c = columns();
if (arg_transport != TRANSPORT_SSH) {
c = columns();
@@
-473,7
+473,7
@@
static void print_session_status_info(SessionStatusInfo *i) {
else
c = 0;
else
c = 0;
- show_cgroup_
by_path(i->control_group, "\t\t ", c, false, arg_all
);
+ show_cgroup_
and_extra_by_spec(i->default_control_group, "\t\t ", c, false, arg_all, &i->leader, i->leader > 0 ? 1 : 0
);
}
}
}
}
}
}
@@
-513,10
+513,10
@@
static void print_user_status_info(UserStatusInfo *i) {
printf("\n");
}
printf("\n");
}
- if (i->control_group) {
+ if (i->
default_
control_group) {
unsigned c;
unsigned c;
- printf("\t CGroup: %s\n", i->control_group);
+ printf("\t CGroup: %s\n", i->
default_
control_group);
if (arg_transport != TRANSPORT_SSH) {
c = columns();
if (arg_transport != TRANSPORT_SSH) {
c = columns();
@@
-525,7
+525,7
@@
static void print_user_status_info(UserStatusInfo *i) {
else
c = 0;
else
c = 0;
- show_cgroup_by_path(i->control_group, "\t\t ", c, false, arg_all);
+ show_cgroup_by_path(i->
default_
control_group, "\t\t ", c, false, arg_all);
}
}
}
}
}
}
@@
-581,8
+581,8
@@
static int status_property_session(const char *name, DBusMessageIter *iter, Sess
i->id = s;
else if (streq(name, "Name"))
i->name = s;
i->id = s;
else if (streq(name, "Name"))
i->name = s;
- else if (streq(name, "
ControlGroupPath
"))
- i->control_group = s;
+ else if (streq(name, "
DefaultControlGroup
"))
+ i->
default_
control_group = s;
else if (streq(name, "TTY"))
i->tty = s;
else if (streq(name, "Display"))
else if (streq(name, "TTY"))
i->tty = s;
else if (streq(name, "Display"))
@@
-597,6
+597,8
@@
static int status_property_session(const char *name, DBusMessageIter *iter, Sess
i->type = s;
else if (streq(name, "Class"))
i->class = s;
i->type = s;
else if (streq(name, "Class"))
i->class = s;
+ else if (streq(name, "State"))
+ i->state = s;
}
break;
}
}
break;
}
@@
-621,8
+623,6
@@
static int status_property_session(const char *name, DBusMessageIter *iter, Sess
if (streq(name, "Remote"))
i->remote = b;
if (streq(name, "Remote"))
i->remote = b;
- else if (streq(name, "Active"))
- i->active = b;
break;
}
break;
}
@@
-680,8
+680,8
@@
static int status_property_user(const char *name, DBusMessageIter *iter, UserSta
if (!isempty(s)) {
if (streq(name, "Name"))
i->name = s;
if (!isempty(s)) {
if (streq(name, "Name"))
i->name = s;
- else if (streq(name, "
ControlGroupPath
"))
- i->control_group = s;
+ else if (streq(name, "
DefaultControlGroup
"))
+ i->
default_
control_group = s;
else if (streq(name, "State"))
i->state = s;
}
else if (streq(name, "State"))
i->state = s;
}
@@
-1089,7
+1089,7
@@
static int show(DBusConnection *bus, char **args, unsigned n) {
uid_t uid;
uint32_t u;
uid_t uid;
uint32_t u;
- ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL);
+ ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL
, NULL
);
if (ret < 0) {
log_error("User %s unknown.", args[i]);
goto finish;
if (ret < 0) {
log_error("User %s unknown.", args[i]);
goto finish;
@@
-1260,7
+1260,7
@@
static int kill_session(DBusConnection *bus, char **args, unsigned n) {
if (!dbus_message_append_args(m,
DBUS_TYPE_STRING, &args[i],
DBUS_TYPE_STRING, &arg_kill_who,
if (!dbus_message_append_args(m,
DBUS_TYPE_STRING, &args[i],
DBUS_TYPE_STRING, &arg_kill_who,
- DBUS_TYPE_INT32, arg_signal,
+ DBUS_TYPE_INT32,
&
arg_signal,
DBUS_TYPE_INVALID)) {
log_error("Could not append arguments to message.");
ret = -ENOMEM;
DBUS_TYPE_INVALID)) {
log_error("Could not append arguments to message.");
ret = -ENOMEM;
@@
-1320,7
+1320,7
@@
static int enable_linger(DBusConnection *bus, char **args, unsigned n) {
goto finish;
}
goto finish;
}
- ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL);
+ ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL
, NULL
);
if (ret < 0) {
log_error("Failed to resolve user %s: %s", args[i], strerror(-ret));
goto finish;
if (ret < 0) {
log_error("Failed to resolve user %s: %s", args[i], strerror(-ret));
goto finish;
@@
-1387,7
+1387,7
@@
static int terminate_user(DBusConnection *bus, char **args, unsigned n) {
goto finish;
}
goto finish;
}
- ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL);
+ ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL
, NULL
);
if (ret < 0) {
log_error("Failed to look up user %s: %s", args[i], strerror(-ret));
goto finish;
if (ret < 0) {
log_error("Failed to look up user %s: %s", args[i], strerror(-ret));
goto finish;
@@
-1455,7
+1455,7
@@
static int kill_user(DBusConnection *bus, char **args, unsigned n) {
goto finish;
}
goto finish;
}
- ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL);
+ ret = get_user_creds((const char**) (args+i), &uid, NULL, NULL
, NULL
);
if (ret < 0) {
log_error("Failed to look up user %s: %s", args[i], strerror(-ret));
goto finish;
if (ret < 0) {
log_error("Failed to look up user %s: %s", args[i], strerror(-ret));
goto finish;
@@
-1464,7
+1464,7
@@
static int kill_user(DBusConnection *bus, char **args, unsigned n) {
u = (uint32_t) uid;
if (!dbus_message_append_args(m,
DBUS_TYPE_UINT32, &u,
u = (uint32_t) uid;
if (!dbus_message_append_args(m,
DBUS_TYPE_UINT32, &u,
- DBUS_TYPE_INT32, arg_signal,
+ DBUS_TYPE_INT32,
&
arg_signal,
DBUS_TYPE_INVALID)) {
log_error("Could not append arguments to message.");
ret = -ENOMEM;
DBUS_TYPE_INVALID)) {
log_error("Could not append arguments to message.");
ret = -ENOMEM;