Grid Community Toolkit  6.2.1705709074 (tag: v6.2.20240202)
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
globus_gsi_system_config.h
Go to the documentation of this file.
1 /*
2  * Copyright 1999-2006 University of Chicago
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef GLOBUS_GSI_SYSTEM_CONFIG_H
18 #define GLOBUS_GSI_SYSTEM_CONFIG_H
19 
26 #include "globus_common.h"
28 #include "openssl/x509.h"
29 
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
36 
41 #endif
42 
99 #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL
100 
117 #endif
118 
154 #define GLOBUS_GSI_SYSCONFIG_MODULE (&globus_i_gsi_sysconfig_module)
155 
156 extern
157 globus_module_descriptor_t globus_i_gsi_sysconfig_module;
158 
159 #ifdef WIN32
160 # define GLOBUS_GSI_SYSCONFIG_SET_KEY_PERMISSIONS \
161  globus_gsi_sysconfig_set_key_permissions_win32
162 # define GLOBUS_GSI_SYSCONFIG_GET_HOME_DIR \
163  globus_gsi_sysconfig_get_home_dir_win32
164 # define GLOBUS_GSI_SYSCONFIG_CHECK_KEYFILE \
165  globus_gsi_sysconfig_check_keyfile_win32
166 # define GLOBUS_GSI_SYSCONFIG_CHECK_KEYFILE_UID \
167  globus_gsi_sysconfig_check_keyfile_uid_win32
168 # define GLOBUS_GSI_SYSCONFIG_CHECK_CERTFILE \
169  globus_gsi_sysconfig_check_certfile_win32
170 # define GLOBUS_GSI_SYSCONFIG_CHECK_CERTFILE_UID \
171  globus_gsi_sysconfig_check_certfile_uid_win32
172 # define GLOBUS_GSI_SYSCONFIG_FILE_EXISTS \
173  globus_gsi_sysconfig_file_exists_win32
174 # define GLOBUS_GSI_SYSCONFIG_DIR_EXISTS \
175  globus_gsi_sysconfig_dir_exists_win32
176 # define GLOBUS_GSI_SYSCONFIG_GET_CERT_DIR \
177  globus_gsi_sysconfig_get_cert_dir_win32
178 # define GLOBUS_GSI_SYSCONFIG_GET_USER_CERT_FILENAME \
179  globus_gsi_sysconfig_get_user_cert_filename_win32
180 # define GLOBUS_GSI_SYSCONFIG_GET_HOST_CERT_FILENAME \
181  globus_gsi_sysconfig_get_host_cert_filename_win32
182 # define GLOBUS_GSI_SYSCONFIG_GET_SERVICE_CERT_FILENAME \
183  globus_gsi_sysconfig_get_service_cert_filename_win32
184 # define GLOBUS_GSI_SYSCONFIG_GET_PROXY_FILENAME \
185  globus_gsi_sysconfig_get_proxy_filename_win32
186 # define GLOBUS_GSI_SYSCONFIG_GET_SIGNING_POLICY_FILENAME \
187  globus_gsi_sysconfig_get_signing_policy_filename_win32
188 # define GLOBUS_GSI_SYSCONFIG_GET_CA_CERT_FILES \
189  globus_gsi_sysconfig_get_ca_cert_files_win32
190 # define GLOBUS_GSI_SYSCONFIG_GET_CURRENT_WORKING_DIR \
191  globus_gsi_sysconfig_get_current_working_dir_win32
192 # define GLOBUS_GSI_SYSCONFIG_MAKE_ABSOLUTE_PATH_FOR_FILENAME \
193  globus_gsi_sysconfig_make_absolute_path_for_filename_win32
194 # define GLOBUS_GSI_SYSCONFIG_SPLIT_DIR_AND_FILENAME \
195  globus_gsi_sysconfig_split_dir_and_filename_win32
196 # define GLOBUS_GSI_SYSCONFIG_REMOVE_ALL_OWNED_FILES \
197  globus_gsi_sysconfig_remove_all_owned_files_win32
198 # define GLOBUS_GSI_SYSCONFIG_GET_GRIDMAP_FILENAME \
199  globus_gsi_sysconfig_get_gridmap_filename_win32
200 # define GLOBUS_GSI_SYSCONFIG_GET_AUTHZ_CONF_FILENAME \
201  globus_gsi_sysconfig_get_authz_conf_filename_win32
202 # define GLOBUS_GSI_SYSCONFIG_GET_GAA_CONF_FILENAME \
203  globus_gsi_sysconfig_get_gaa_conf_filename_win32
204 # define GLOBUS_GSI_SYSCONFIG_IS_SUPERUSER \
205  globus_gsi_sysconfig_is_superuser_win32
206 # define GLOBUS_GSI_SYSCONFIG_GET_USER_ID_STRING \
207  globus_gsi_sysconfig_get_user_id_string_win32
208 # define GLOBUS_GSI_SYSCONFIG_GET_PROC_ID_STRING \
209  globus_gsi_sysconfig_get_proc_id_string_win32
210 # define GLOBUS_GSI_SYSCONFIG_GET_USERNAME \
211  globus_gsi_sysconfig_get_username_win32
212 #else
213 
220 # define GLOBUS_GSI_SYSCONFIG_SET_KEY_PERMISSIONS \
221  globus_gsi_sysconfig_set_key_permissions_unix
222 
229 # define GLOBUS_GSI_SYSCONFIG_GET_HOME_DIR \
230  globus_gsi_sysconfig_get_home_dir_unix
231 
238 # define GLOBUS_GSI_SYSCONFIG_CHECK_KEYFILE \
239  globus_gsi_sysconfig_check_keyfile_unix
240 
248 # define GLOBUS_GSI_SYSCONFIG_CHECK_KEYFILE_UID \
249  globus_gsi_sysconfig_check_keyfile_uid_unix
250 
257 # define GLOBUS_GSI_SYSCONFIG_CHECK_CERTFILE \
258  globus_gsi_sysconfig_check_certfile_unix
259 
267 # define GLOBUS_GSI_SYSCONFIG_CHECK_CERTFILE_UID \
268  globus_gsi_sysconfig_check_certfile_uid_unix
269 
276 # define GLOBUS_GSI_SYSCONFIG_FILE_EXISTS \
277  globus_gsi_sysconfig_file_exists_unix
278 
285 # define GLOBUS_GSI_SYSCONFIG_DIR_EXISTS \
286  globus_gsi_sysconfig_dir_exists_unix
287 
294 # define GLOBUS_GSI_SYSCONFIG_GET_CERT_DIR \
295  globus_gsi_sysconfig_get_cert_dir_unix
296 
303 # define GLOBUS_GSI_SYSCONFIG_GET_USER_CERT_FILENAME \
304  globus_gsi_sysconfig_get_user_cert_filename_unix
305 
312 # define GLOBUS_GSI_SYSCONFIG_GET_HOST_CERT_FILENAME \
313  globus_gsi_sysconfig_get_host_cert_filename_unix
314 
321 # define GLOBUS_GSI_SYSCONFIG_GET_SERVICE_CERT_FILENAME \
322  globus_gsi_sysconfig_get_service_cert_filename_unix
323 
330 # define GLOBUS_GSI_SYSCONFIG_GET_PROXY_FILENAME \
331  globus_gsi_sysconfig_get_proxy_filename_unix
332 
339 # define GLOBUS_GSI_SYSCONFIG_GET_SIGNING_POLICY_FILENAME \
340  globus_gsi_sysconfig_get_signing_policy_filename_unix
341 
349 # define GLOBUS_GSI_SYSCONFIG_GET_CA_CERT_FILES \
350  globus_gsi_sysconfig_get_ca_cert_files_unix
351 
358 # define GLOBUS_GSI_SYSCONFIG_GET_CURRENT_WORKING_DIR \
359  globus_gsi_sysconfig_get_current_working_dir_unix
360 
367 # define GLOBUS_GSI_SYSCONFIG_MAKE_ABSOLUTE_PATH_FOR_FILENAME \
368  globus_gsi_sysconfig_make_absolute_path_for_filename_unix
369 
376 # define GLOBUS_GSI_SYSCONFIG_SPLIT_DIR_AND_FILENAME \
377  globus_gsi_sysconfig_split_dir_and_filename_unix
378 
385 # define GLOBUS_GSI_SYSCONFIG_REMOVE_ALL_OWNED_FILES \
386  globus_gsi_sysconfig_remove_all_owned_files_unix
387 
394 # define GLOBUS_GSI_SYSCONFIG_GET_GRIDMAP_FILENAME \
395  globus_gsi_sysconfig_get_gridmap_filename_unix
396 
402 # define GLOBUS_GSI_SYSCONFIG_GET_AUTHZ_CONF_FILENAME \
403  globus_gsi_sysconfig_get_authz_conf_filename_unix
404 
411 # define GLOBUS_GSI_SYSCONFIG_GET_GAA_CONF_FILENAME \
412  globus_gsi_sysconfig_get_gaa_conf_filename_unix
413 
420 # define GLOBUS_GSI_SYSCONFIG_IS_SUPERUSER \
421  globus_gsi_sysconfig_is_superuser_unix
422 
429 # define GLOBUS_GSI_SYSCONFIG_GET_USER_ID_STRING \
430  globus_gsi_sysconfig_get_user_id_string_unix
431 
438 # define GLOBUS_GSI_SYSCONFIG_GET_PROC_ID_STRING \
439  globus_gsi_sysconfig_get_proc_id_string_unix
440 
447 # define GLOBUS_GSI_SYSCONFIG_GET_USERNAME \
448  globus_gsi_sysconfig_get_username_unix
449 #endif
450 
457 #define GLOBUS_GSI_SYSCONFIG_GET_UNIQUE_PROXY_FILENAME \
458  globus_gsi_sysconfig_get_unique_proxy_filename
459 
466 #define GLOBUS_GSI_SYSCONFIG_GET_VHOST_CRED_DIR \
467  globus_gsi_sysconfig_get_vhost_cred_dir
468 
471  char * filename);
472 
475  char ** home_dir);
476 
479  const char * filename);
480 
483  const char * filename);
484 
487  const char * filename);
488 
491  const char * filename,
492  uid_t uid);
493 
496  const char * filename);
497 
500  const char * filename,
501  uid_t uid);
502 
505  char ** cert_dir);
506 
509  char ** user_cert_filename,
510  char ** user_key_filename);
511 
514  char ** host_cert_filename,
515  char ** host_key_filename);
516 
519  char * service_name,
520  char ** service_cert_filename,
521  char ** service_key_filename);
522 
525  char ** proxy_filename,
526  globus_gsi_proxy_file_type_t proxy_file_type);
527 
530  X509_NAME * ca_name,
531  char * cert_dir,
532  char ** signing_policy_filename);
533 
536  char * ca_cert_dir,
537  globus_fifo_t * ca_cert_list);
538 
541  char ** working_dir);
542 
545  char * filename,
546  char ** absolute_path);
547 
550  char * full_filename,
551  char ** dir_string,
552  char ** filename_string);
553 
556  char * default_filename);
557 
560  int * is_superuser);
561 
564  char ** user_id_string);
565 
568  char ** username);
569 
572  char ** proc_id_string);
573 
576  char ** filename);
577 
580  char ** filename);
581 
584  char ** unique_filename);
585 
588  char **dir_name_out);
589 
590 #ifdef __cplusplus
591 }
592 #endif
593 
594 #endif /* GLOBUS_GSI_SYSTEM_CONFIG_H */
#define GLOBUS_GSI_SYSCONFIG_CHECK_KEYFILE
Definition: globus_gsi_system_config.h:238
#define GLOBUS_GSI_SYSCONFIG_CHECK_CERTFILE_UID
Definition: globus_gsi_system_config.h:267
#define GLOBUS_GSI_SYSCONFIG_GET_CERT_DIR
Definition: globus_gsi_system_config.h:294
#define GLOBUS_GSI_SYSCONFIG_GET_CURRENT_WORKING_DIR
Definition: globus_gsi_system_config.h:358
#define GLOBUS_GSI_SYSCONFIG_GET_AUTHZ_CONF_FILENAME
Definition: globus_gsi_system_config.h:402
#define GLOBUS_GSI_SYSCONFIG_GET_PROXY_FILENAME
Definition: globus_gsi_system_config.h:330
#define GLOBUS_GSI_SYSCONFIG_GET_PROC_ID_STRING
Definition: globus_gsi_system_config.h:438
#define GLOBUS_GSI_SYSCONFIG_GET_USERNAME
Definition: globus_gsi_system_config.h:447
#define GLOBUS_GSI_SYSCONFIG_FILE_EXISTS
Definition: globus_gsi_system_config.h:276
struct globus_fifo_s * globus_fifo_t
Definition: globus_fifo.h:48
#define GLOBUS_GSI_SYSCONFIG_DIR_EXISTS
Definition: globus_gsi_system_config.h:285
#define GLOBUS_GSI_SYSCONFIG_GET_USER_ID_STRING
Definition: globus_gsi_system_config.h:429
#define GLOBUS_GSI_SYSCONFIG_GET_USER_CERT_FILENAME
Definition: globus_gsi_system_config.h:303
#define GLOBUS_GSI_SYSCONFIG_GET_CA_CERT_FILES
Definition: globus_gsi_system_config.h:349
#define GLOBUS_GSI_SYSCONFIG_GET_HOME_DIR
Definition: globus_gsi_system_config.h:229
#define GLOBUS_GSI_SYSCONFIG_SET_KEY_PERMISSIONS
Definition: globus_gsi_system_config.h:220
globus_gsi_proxy_file_type_t
Definition: globus_gsi_system_config_constants.h:114
#define GLOBUS_GSI_SYSCONFIG_GET_UNIQUE_PROXY_FILENAME
Definition: globus_gsi_system_config.h:457
#define GLOBUS_GSI_SYSCONFIG_MAKE_ABSOLUTE_PATH_FOR_FILENAME
Definition: globus_gsi_system_config.h:367
Globus GSI System Config Library.
#define GLOBUS_GSI_SYSCONFIG_CHECK_CERTFILE
Definition: globus_gsi_system_config.h:257
#define GLOBUS_GSI_SYSCONFIG_GET_VHOST_CRED_DIR
Definition: globus_gsi_system_config.h:466
Headers common to all of Globus.
uint32_t globus_result_t
Definition: globus_types.h:99
#define GLOBUS_GSI_SYSCONFIG_GET_SERVICE_CERT_FILENAME
Definition: globus_gsi_system_config.h:321
#define GLOBUS_GSI_SYSCONFIG_GET_SIGNING_POLICY_FILENAME
Definition: globus_gsi_system_config.h:339
#define GLOBUS_GSI_SYSCONFIG_GET_GRIDMAP_FILENAME
Definition: globus_gsi_system_config.h:394
#define GLOBUS_GSI_SYSCONFIG_CHECK_KEYFILE_UID
Definition: globus_gsi_system_config.h:248
#define GLOBUS_GSI_SYSCONFIG_GET_HOST_CERT_FILENAME
Definition: globus_gsi_system_config.h:312
#define GLOBUS_GSI_SYSCONFIG_IS_SUPERUSER
Definition: globus_gsi_system_config.h:420
#define GLOBUS_GSI_SYSCONFIG_REMOVE_ALL_OWNED_FILES
Definition: globus_gsi_system_config.h:385
#define GLOBUS_GSI_SYSCONFIG_SPLIT_DIR_AND_FILENAME
Definition: globus_gsi_system_config.h:376
Module Descriptor.
Definition: globus_module.h:71