- markus@cvs.openbsd.org 2001/06/03 14:55:39
[channels.c channels.h session.c]
use fatal_register_cleanup instead of atexit, sync with x11 authdir
handling
diff --git a/session.c b/session.c
index 0625bf8..ce9b200 100644
--- a/session.c
+++ b/session.c
@@ -33,7 +33,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: session.c,v 1.78 2001/05/31 10:30:16 markus Exp $");
+RCSID("$OpenBSD: session.c,v 1.79 2001/06/03 14:55:39 markus Exp $");
#include "ssh.h"
#include "ssh1.h"
@@ -132,6 +132,7 @@
void do_child(Session *s, const char *command);
void do_motd(void);
int check_quietlogin(Session *s, const char *command);
+void xauthfile_cleanup_proc(void *ignore);
void do_authenticated1(Authctxt *authctxt);
void do_authenticated2(Authctxt *authctxt);
@@ -196,6 +197,12 @@
do_authenticated2(authctxt);
else
do_authenticated1(authctxt);
+
+ /* remote user's local Xauthority file and agent socket */
+ if (xauthfile)
+ xauthfile_cleanup_proc(NULL);
+ if (auth_get_socket_name())
+ auth_sock_cleanup_proc(NULL);
}
/*
@@ -446,9 +453,6 @@
if (command != NULL)
xfree(command);
- /* Cleanup user's local Xauthority file. */
- if (xauthfile)
- xauthfile_cleanup_proc(NULL);
return;
default:
@@ -2105,6 +2109,4 @@
{
server_loop2();
- if (xauthfile)
- xauthfile_cleanup_proc(NULL);
}