OLD | NEW |
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ | 1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
2 /* This Source Code Form is subject to the terms of the Mozilla Public | 2 /* This Source Code Form is subject to the terms of the Mozilla Public |
3 * License, v. 2.0. If a copy of the MPL was not distributed with this | 3 * License, v. 2.0. If a copy of the MPL was not distributed with this |
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
5 | 5 |
6 #ifndef prenv_h___ | 6 #ifndef prenv_h___ |
7 #define prenv_h___ | 7 #define prenv_h___ |
8 | 8 |
9 #include "prtypes.h" | 9 #include "prtypes.h" |
10 | 10 |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 ** NSPR's similar functions. The platform-native functions | 84 ** NSPR's similar functions. The platform-native functions |
85 ** may not be thread safe and/or may operate on different | 85 ** may not be thread safe and/or may operate on different |
86 ** conceptual environment space than that operated upon by | 86 ** conceptual environment space than that operated upon by |
87 ** NSPR's functions or other environment manipulating | 87 ** NSPR's functions or other environment manipulating |
88 ** functions on the same platform. (!) | 88 ** functions on the same platform. (!) |
89 ** | 89 ** |
90 */ | 90 */ |
91 NSPR_API(char*) PR_GetEnv(const char *var); | 91 NSPR_API(char*) PR_GetEnv(const char *var); |
92 | 92 |
93 /* | 93 /* |
| 94 ** PR_GetEnvSecure() -- get a security-sensitive environment variable |
| 95 ** |
| 96 ** Description: |
| 97 ** |
| 98 ** PR_GetEnvSecure() is similar to PR_GetEnv(), but it returns NULL if |
| 99 ** the program was run with elevated privilege (e.g., setuid or setgid |
| 100 ** on Unix). This can be used for cases like log file paths which |
| 101 ** could otherwise be used for privilege escalation. Note that some |
| 102 ** platforms may have platform-specific privilege elevation mechanisms |
| 103 ** not recognized by this function; see the implementation for details. |
| 104 */ |
| 105 NSPR_API(char*) PR_GetEnvSecure(const char *var); |
| 106 |
| 107 /* |
94 ** PR_SetEnv() -- set, unset or change an environment variable | 108 ** PR_SetEnv() -- set, unset or change an environment variable |
95 ** | 109 ** |
96 ** Description: | 110 ** Description: |
97 ** PR_SetEnv() is modeled on the Unix putenv() function. | 111 ** PR_SetEnv() is modeled on the Unix putenv() function. |
98 ** | 112 ** |
99 ** Inputs: | 113 ** Inputs: |
100 ** string -- pointer to a caller supplied | 114 ** string -- pointer to a caller supplied |
101 ** constant, persistent string of the form name=value. Where | 115 ** constant, persistent string of the form name=value. Where |
102 ** name is the name of the environment variable to be set or | 116 ** name is the name of the environment variable to be set or |
103 ** changed; value is the value assigned to the variable. | 117 ** changed; value is the value assigned to the variable. |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 ** | 153 ** |
140 ** Restrictions: | 154 ** Restrictions: |
141 ** Similarly to PR_GetEnv(), this function may not interoperate as | 155 ** Similarly to PR_GetEnv(), this function may not interoperate as |
142 ** expected with the operating system's native environment accessors. | 156 ** expected with the operating system's native environment accessors. |
143 */ | 157 */ |
144 NSPR_API(char **) PR_DuplicateEnvironment(void); | 158 NSPR_API(char **) PR_DuplicateEnvironment(void); |
145 | 159 |
146 PR_END_EXTERN_C | 160 PR_END_EXTERN_C |
147 | 161 |
148 #endif /* prenv_h___ */ | 162 #endif /* prenv_h___ */ |
OLD | NEW |