diff options
author | Jay Sorg <jay.sorg@gmail.com> | 2017-03-20 18:59:44 -0700 |
---|---|---|
committer | jsorg71 <jay.sorg@gmail.com> | 2017-03-21 21:56:28 -0700 |
commit | 4b8a33e087ee9cf5556b40b717cd7e8ff243b3c3 (patch) | |
tree | 939bf7325777d0acb5b57e64cf41696ea65a4621 /sesman/session.c | |
parent | 43899b7e0c30cde282ef72f6431029c04c8ab242 (diff) | |
download | xrdp-proprietary-4b8a33e087ee9cf5556b40b717cd7e8ff243b3c3.tar.gz xrdp-proprietary-4b8a33e087ee9cf5556b40b717cd7e8ff243b3c3.zip |
sesman: move auth/pam calls to main process
Diffstat (limited to 'sesman/session.c')
-rw-r--r-- | sesman/session.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sesman/session.c b/sesman/session.c index 8663fc83..aefcd258 100644 --- a/sesman/session.c +++ b/sesman/session.c @@ -456,6 +456,7 @@ session_start_fork(tbus data, tui8 type, struct SCP_CONNECTION *c, return 0; } + auth_start_session(data, display); pid = g_fork(); /* parent is fork from tcp accept, child forks X and wm, then becomes scp */ @@ -498,7 +499,6 @@ session_start_fork(tbus data, tui8 type, struct SCP_CONNECTION *c, g_getpid()); } #endif - auth_start_session(data, display); window_manager_pid = g_fork(); /* parent becomes X, child forks wm, and waits, todo */ if (window_manager_pid == -1) @@ -787,8 +787,6 @@ session_start_fork(tbus data, tui8 type, struct SCP_CONNECTION *c, g_waitpid(window_manager_pid); log_message(LOG_LEVEL_ALWAYS, "window manager (pid %d) did " "exit, cleaning up session", window_manager_pid); - auth_stop_session(data); - auth_end(data); g_sigterm(display_pid); g_sigterm(chansrv_pid); g_deinit(); @@ -918,6 +916,8 @@ session_kill(int pid) if (tmp->item->pid == pid) { + auth_stop_session(tmp->item->data); + auth_end(tmp->item->data); /* deleting the session */ log_message(LOG_LEVEL_INFO, "++ terminated session: username %s, display :%d.0, session_pid %d, ip %s", tmp->item->name, tmp->item->display, tmp->item->pid, tmp->item->client_ip); g_free(tmp->item); |