* krshd.c (doit): drag TZ= from parent environment into envinit to
authorMark Eichin <eichin@mit.edu>
Mon, 13 Nov 1995 01:24:25 +0000 (01:24 +0000)
committerMark Eichin <eichin@mit.edu>
Mon, 13 Nov 1995 01:24:25 +0000 (01:24 +0000)
pass to child.
(envinit, TZENV): add one more slot for optional TZ, and mark it.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@7089 dc483132-0cff-0310-8789-dd5450dbe970

src/appl/bsd/ChangeLog
src/appl/bsd/krshd.c

index 7d121ffe89fc5c843621b8b4f60ddc42e91165f5..baf390dd9ea6adca0e589dfb10a9374238c9b45c 100644 (file)
@@ -1,3 +1,9 @@
+Sun Nov 12 04:44:50 1995  Mark W. Eichin  <eichin@cygnus.com>
+
+       * krshd.c (doit): drag TZ= from parent environment into envinit to
+       pass to child.
+       (envinit, TZENV): add one more slot for optional TZ, and mark it.
+
 Thu Nov  2 16:16:47 1995  Ezra Peisach  <epeisach@kangaroo.mit.edu>
 
        * krlogin.c, krcp.c, krsh.c (main): If invoked with -D port, do
index fae36064845342f7d3844ea94f461af847db2903..eb760fc13ffeec55e2879cd52bb89a95240432dd 100644 (file)
@@ -442,10 +442,12 @@ char    *getenv();
 #else /* CRAY */
 #ifdef KERBEROS
 char    *envinit[] =
-{homedir, shell, 0, username, term, 0};
+{homedir, shell, 0, username, term, 0, 0};
+#define TZENV 5
 #else /* KERBEROS */
 char   *envinit[] =
-{homedir, shell, 0, username, term, 0};
+{homedir, shell, 0, username, term, 0, 0};
+#define TZENV 5
 #endif /* KERBEROS */
 #endif /* CRAY */
 
@@ -1229,6 +1231,17 @@ doit(f, fromp)
     }
 #endif
     (void) setuid((uid_t)pwd->pw_uid);
+    /* if TZ is set in the parent, drag it in */
+    {
+      char **findtz = environ;
+      while(*findtz) {
+       if(!strncmp(*findtz,"TZ=",3)) {
+         envinit[TZENV] = *findtz;
+         break;
+       }
+       findtz++;
+      }
+    }
     environ = envinit;
     strncat(homedir, pwd->pw_dir, sizeof(homedir)-6);
     strncat(shell, pwd->pw_shell, sizeof(shell)-7);