Blame netkit-rsh-0.17-pam_env.patch
|
Adam Tkac |
6e1577d |
diff -up netkit-rsh-0.17/rshd/rshd.c.pam_env netkit-rsh-0.17/rshd/rshd.c
|
|
Adam Tkac |
6e1577d |
--- netkit-rsh-0.17/rshd/rshd.c.pam_env 2009-03-30 13:20:36.730136943 +0200
|
|
Adam Tkac |
6e1577d |
+++ netkit-rsh-0.17/rshd/rshd.c 2009-03-30 13:26:17.202136832 +0200
|
|
Adam Tkac |
6e1577d |
@@ -107,6 +107,9 @@ char remotehost[50] = "REMOTEHOST=";
|
|
Adam Tkac |
6e1577d |
char *envinit[] =
|
|
Adam Tkac |
6e1577d |
{homedir, shell, path, username, remoteuser, remotehost, 0};
|
|
Adam Tkac |
6e1577d |
extern char **environ;
|
|
Adam Tkac |
6e1577d |
+#ifdef USE_PAM
|
|
Adam Tkac |
6e1577d |
+static char** env;
|
|
Adam Tkac |
6e1577d |
+#endif
|
|
Adam Tkac |
6e1577d |
|
|
Adam Tkac |
6e1577d |
static void error(const char *fmt, ...);
|
|
Adam Tkac |
6e1577d |
static void doit(struct sockaddr_storage *fromp, socklen_t fromlen);
|
|
Adam Tkac |
6e1577d |
@@ -371,6 +374,9 @@ doit(struct sockaddr_storage *fromp, soc
|
|
Adam Tkac |
f4129d2 |
const char *hostname;
|
|
Adam Tkac |
f4129d2 |
u_short port;
|
|
Adam Tkac |
f4129d2 |
int pv[2], pid, ifd;
|
|
Adam Tkac |
f4129d2 |
+#ifdef USE_PAM
|
|
Adam Tkac |
f4129d2 |
+ int i;
|
|
Adam Tkac |
f4129d2 |
+#endif
|
|
Adam Tkac |
f4129d2 |
|
|
Adam Tkac |
f4129d2 |
signal(SIGINT, SIG_DFL);
|
|
Adam Tkac |
f4129d2 |
signal(SIGQUIT, SIG_DFL);
|
|
Adam Tkac |
6e1577d |
@@ -518,6 +524,12 @@ doit(struct sockaddr_storage *fromp, soc
|
|
Adam Tkac |
f4129d2 |
shellname = strrchr(theshell, '/');
|
|
Adam Tkac |
f4129d2 |
if (shellname) shellname++;
|
|
Adam Tkac |
f4129d2 |
else shellname = theshell;
|
|
Adam Tkac |
f4129d2 |
+#ifdef USE_PAM
|
|
Adam Tkac |
6e1577d |
+ env = pam_getenvlist(pamh);
|
|
Adam Tkac |
6e1577d |
+ if (NULL != env)
|
|
Adam Tkac |
6e1577d |
+ for(i = 0; env[i]; i++)
|
|
Adam Tkac |
6e1577d |
+ putenv(env[i]);
|
|
Adam Tkac |
f4129d2 |
+#endif
|
|
Adam Tkac |
f4129d2 |
|
|
Adam Tkac |
f4129d2 |
endpwent();
|
|
Adam Tkac |
f4129d2 |
if (paranoid) {
|