rcolebaugh / rpms / openssh

Forked from rpms/openssh 2 years ago
Clone
f5835d
diff -up openssh-5.9p1/Makefile.in.wIm openssh-5.9p1/Makefile.in
f5835d
--- openssh-5.9p1/Makefile.in.wIm	2011-08-05 22:15:18.000000000 +0200
f5835d
+++ openssh-5.9p1/Makefile.in	2011-09-12 16:24:18.643674014 +0200
f5835d
@@ -66,7 +66,7 @@ LIBSSH_OBJS=acss.o authfd.o authfile.o b
f5835d
 	cipher-bf1.o cipher-ctr.o cipher-3des1.o cleanup.o \
f5835d
 	compat.o compress.o crc32.o deattack.o fatal.o hostfile.o \
f5835d
 	log.o match.o md-sha256.o moduli.o nchan.o packet.o \
f5835d
-	readpass.o rsa.o ttymodes.o xmalloc.o addrmatch.o \
f5835d
+	readpass.o rsa.o ttymodes.o whereIam.o xmalloc.o addrmatch.o \
f5835d
 	atomicio.o key.o dispatch.o kex.o mac.o uidswap.o uuencode.o misc.o \
f5835d
 	monitor_fdpass.o rijndael.o ssh-dss.o ssh-ecdsa.o ssh-rsa.o dh.o \
f5835d
 	kexdh.o kexgex.o kexdhc.o kexgexc.o bufec.o kexecdh.o kexecdhc.o \
f5835d
diff -up openssh-5.9p1/log.h.wIm openssh-5.9p1/log.h
f5835d
--- openssh-5.9p1/log.h.wIm	2011-06-20 06:42:23.000000000 +0200
f5835d
+++ openssh-5.9p1/log.h	2011-09-12 16:34:52.984674326 +0200
f5835d
@@ -65,6 +65,8 @@ void     verbose(const char *, ...) __at
f5835d
 void     debug(const char *, ...) __attribute__((format(printf, 1, 2)));
f5835d
 void     debug2(const char *, ...) __attribute__((format(printf, 1, 2)));
f5835d
 void     debug3(const char *, ...) __attribute__((format(printf, 1, 2)));
f5835d
+void	 _debug_wIm_body(const char *, int, const char *, const char *, int);
f5835d
+#define	debug_wIm(a,b) _debug_wIm_body(a,b,__func__,__FILE__,__LINE__)
f5835d
 
f5835d
 
f5835d
 void	 set_log_handler(log_handler_fn *, void *);
f5835d
diff -up openssh-5.9p1/sshd.c.wIm openssh-5.9p1/sshd.c
f5835d
--- openssh-5.9p1/sshd.c.wIm	2011-06-23 11:45:51.000000000 +0200
f5835d
+++ openssh-5.9p1/sshd.c	2011-09-12 16:38:35.787816490 +0200
f5835d
@@ -140,6 +140,9 @@ int deny_severity;
f5835d
 
f5835d
 extern char *__progname;
f5835d
 
f5835d
+/* trace of fork processes */
f5835d
+extern int whereIam;
f5835d
+
f5835d
 /* Server configuration options. */
f5835d
 ServerOptions options;
f5835d
 
f5835d
@@ -666,6 +669,7 @@ privsep_preauth(Authctxt *authctxt)
f5835d
 		return 1;
f5835d
 	} else {
f5835d
 		/* child */
f5835d
+		whereIam = 1;
f5835d
 		close(pmonitor->m_sendfd);
f5835d
 		close(pmonitor->m_log_recvfd);
f5835d
 
f5835d
@@ -715,6 +719,7 @@ privsep_postauth(Authctxt *authctxt)
f5835d
 
f5835d
 	/* child */
f5835d
 
f5835d
+	whereIam = 2;
f5835d
 	close(pmonitor->m_sendfd);
f5835d
 	pmonitor->m_sendfd = -1;
f5835d
 
f5835d
@@ -1325,6 +1330,8 @@ main(int ac, char **av)
f5835d
 	Key *key;
f5835d
 	Authctxt *authctxt;
f5835d
 
f5835d
+	whereIam = 0;
f5835d
+
f5835d
 #ifdef HAVE_SECUREWARE
f5835d
 	(void)set_auth_parameters(ac, av);
f5835d
 #endif
f5835d
diff -up openssh-5.9p1/whereIam.c.wIm openssh-5.9p1/whereIam.c
f5835d
--- openssh-5.9p1/whereIam.c.wIm	2011-09-12 16:24:18.722674167 +0200
f5835d
+++ openssh-5.9p1/whereIam.c	2011-09-12 16:24:18.724674418 +0200
f5835d
@@ -0,0 +1,12 @@
f5835d
+
f5835d
+int whereIam = -1;
f5835d
+
f5835d
+void _debug_wIm_body(const char *txt, int val, const char *func, const char *file, int line)
f5835d
+{
f5835d
+	if (txt)
f5835d
+		debug("%s=%d, %s(%s:%d) wIm = %d, uid=%d, euid=%d", txt, val, func, file, line, whereIam, getuid(), geteuid());
f5835d
+	else
f5835d
+		debug("%s(%s:%d) wIm = %d, uid=%d, euid=%d", func, file, line, whereIam, getuid(), geteuid());
f5835d
+}
f5835d
+
f5835d
+