chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sd-login: add calls that retrieve credentials of peers connected to AF_UNIX peers
[elogind.git]
/
src
/
login
/
test-login.c
diff --git
a/src/login/test-login.c
b/src/login/test-login.c
index d78cea46af9a8a5efd0090025070b71a8957086b..2ab083bb71960b447acda01b082fdd3a67fb72ae 100644
(file)
--- a/
src/login/test-login.c
+++ b/
src/login/test-login.c
@@
-28,6
+28,8
@@
#include "strv.h"
static void test_login(void) {
#include "strv.h"
static void test_login(void) {
+ _cleanup_close_pipe_ int pair[2] = { -1, -1 };
+ _cleanup_free_ char *pp = NULL, *qq = NULL;
int r, k;
uid_t u, u2;
char *seat, *type, *class, *display, *remote_user, *remote_host;
int r, k;
uid_t u, u2;
char *seat, *type, *class, *display, *remote_user, *remote_host;
@@
-47,6
+49,11
@@
static void test_login(void) {
assert_se(sd_pid_get_owner_uid(0, &u2) == 0);
printf("user = %lu\n", (unsigned long) u2);
assert_se(sd_pid_get_owner_uid(0, &u2) == 0);
printf("user = %lu\n", (unsigned long) u2);
+ assert_se(socketpair(AF_UNIX, SOCK_STREAM, 0, pair) == 0);
+ sd_peer_get_session(pair[0], &pp);
+ sd_peer_get_session(pair[1], &qq);
+ assert_se(streq_ptr(pp, qq));
+
r = sd_uid_get_sessions(u2, false, &sessions);
assert_se(r >= 0);
assert_se(r == (int) strv_length(sessions));
r = sd_uid_get_sessions(u2, false, &sessions);
assert_se(r >= 0);
assert_se(r == (int) strv_length(sessions));