diff options
Diffstat (limited to 'session.c')
-rw-r--r-- | session.c | 14 |
1 files changed, 12 insertions, 2 deletions
@@ -1090,14 +1090,24 @@ do_setup_env(Session *s, const char *shell) | |||
1090 | child_set_env(&env, &envsize, "TMPDIR", cray_tmpdir); | 1090 | child_set_env(&env, &envsize, "TMPDIR", cray_tmpdir); |
1091 | #endif /* _UNICOS */ | 1091 | #endif /* _UNICOS */ |
1092 | 1092 | ||
1093 | /* | ||
1094 | * Since we clear KRB5CCNAME at startup, if it's set now then it | ||
1095 | * must have been set by a native authentication method (eg AIX or | ||
1096 | * SIA), so copy it to the child. | ||
1097 | */ | ||
1098 | { | ||
1099 | char *cp; | ||
1100 | |||
1101 | if ((cp = getenv("KRB5CCNAME")) != NULL) | ||
1102 | child_set_env(&env, &envsize, "KRB5CCNAME", cp); | ||
1103 | } | ||
1104 | |||
1093 | #ifdef _AIX | 1105 | #ifdef _AIX |
1094 | { | 1106 | { |
1095 | char *cp; | 1107 | char *cp; |
1096 | 1108 | ||
1097 | if ((cp = getenv("AUTHSTATE")) != NULL) | 1109 | if ((cp = getenv("AUTHSTATE")) != NULL) |
1098 | child_set_env(&env, &envsize, "AUTHSTATE", cp); | 1110 | child_set_env(&env, &envsize, "AUTHSTATE", cp); |
1099 | if ((cp = getenv("KRB5CCNAME")) != NULL) | ||
1100 | child_set_env(&env, &envsize, "KRB5CCNAME", cp); | ||
1101 | read_environment_file(&env, &envsize, "/etc/environment"); | 1111 | read_environment_file(&env, &envsize, "/etc/environment"); |
1102 | } | 1112 | } |
1103 | #endif | 1113 | #endif |