X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogind-session.c;h=6b3b277897544084b844aef1331e6b8c02ada2d0;hb=91f9dcaf9270fe465525638cc08bd94590273349;hp=566323d1e6619fb7cb235719332c9ebfc3e96468;hpb=14c3baca3eb8b32fc266e46127851585bee5aff2;p=elogind.git diff --git a/src/logind-session.c b/src/logind-session.c index 566323d1e..6b3b27789 100644 --- a/src/logind-session.c +++ b/src/logind-session.c @@ -83,14 +83,11 @@ void session_free(Session *s) { free(s->tty); free(s->display); free(s->remote_host); + free(s->remote_user); hashmap_remove(s->manager->sessions, s->id); - if (s->state_file) { - unlink(s->state_file); - free(s->state_file); - } - + free(s->state_file); free(s); } @@ -151,6 +148,11 @@ int session_save(Session *s) { "REMOTE_HOST=%s\n", s->remote_host); + if (s->remote_user) + fprintf(f, + "REMOTE_USER=%s\n", + s->remote_user); + if (s->seat && s->seat->manager->vtconsole == s->seat) fprintf(f, "VTNR=%i\n", @@ -445,7 +447,8 @@ int session_stop(Session *s) { /* Remove X11 symlink */ session_unlink_x11_socket(s); - session_save(s); + unlink(s->state_file); + session_add_to_gc_queue(s); return r; } @@ -498,7 +501,7 @@ void session_add_to_gc_queue(Session *s) { } static const char* const session_type_table[_SESSION_TYPE_MAX] = { - [SESSION_TERMINAL] = "terminal", + [SESSION_TTY] = "tty", [SESSION_X11] = "x11" };