00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef GLOBUS_GSI_SYSTEM_CONFIG_H
00018 #define GLOBUS_GSI_SYSTEM_CONFIG_H
00019
00026 #include "globus_common.h"
00027 #include "globus_gsi_system_config_constants.h"
00028 #include "openssl/x509.h"
00029
00030
00031 #ifdef __cplusplus
00032 extern "C" {
00033 #endif
00034
00035 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
00036
00041 #endif
00042
00094 #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL
00095
00110 #endif
00111
00146 #define GLOBUS_GSI_SYSCONFIG_MODULE (&globus_i_gsi_sysconfig_module)
00147
00148 extern
00149 globus_module_descriptor_t globus_i_gsi_sysconfig_module;
00150
00151 #ifdef WIN32
00152 # define GLOBUS_GSI_SYSCONFIG_SET_KEY_PERMISSIONS \
00153 globus_gsi_sysconfig_set_key_permissions_win32
00154 # define GLOBUS_GSI_SYSCONFIG_GET_HOME_DIR \
00155 globus_gsi_sysconfig_get_home_dir_win32
00156 # define GLOBUS_GSI_SYSCONFIG_CHECK_KEYFILE \
00157 globus_gsi_sysconfig_check_keyfile_win32
00158 # define GLOBUS_GSI_SYSCONFIG_CHECK_KEYFILE_UID \
00159 globus_gsi_sysconfig_check_keyfile_uid_win32
00160 # define GLOBUS_GSI_SYSCONFIG_CHECK_CERTFILE \
00161 globus_gsi_sysconfig_check_certfile_win32
00162 # define GLOBUS_GSI_SYSCONFIG_CHECK_CERTFILE_UID \
00163 globus_gsi_sysconfig_check_certfile_uid_win32
00164 # define GLOBUS_GSI_SYSCONFIG_FILE_EXISTS \
00165 globus_gsi_sysconfig_file_exists_win32
00166 # define GLOBUS_GSI_SYSCONFIG_DIR_EXISTS \
00167 globus_gsi_sysconfig_dir_exists_win32
00168 # define GLOBUS_GSI_SYSCONFIG_GET_CERT_DIR \
00169 globus_gsi_sysconfig_get_cert_dir_win32
00170 # define GLOBUS_GSI_SYSCONFIG_GET_USER_CERT_FILENAME \
00171 globus_gsi_sysconfig_get_user_cert_filename_win32
00172 # define GLOBUS_GSI_SYSCONFIG_GET_HOST_CERT_FILENAME \
00173 globus_gsi_sysconfig_get_host_cert_filename_win32
00174 # define GLOBUS_GSI_SYSCONFIG_GET_SERVICE_CERT_FILENAME \
00175 globus_gsi_sysconfig_get_service_cert_filename_win32
00176 # define GLOBUS_GSI_SYSCONFIG_GET_PROXY_FILENAME \
00177 globus_gsi_sysconfig_get_proxy_filename_win32
00178 # define GLOBUS_GSI_SYSCONFIG_GET_SIGNING_POLICY_FILENAME \
00179 globus_gsi_sysconfig_get_signing_policy_filename_win32
00180 # define GLOBUS_GSI_SYSCONFIG_GET_CA_CERT_FILES \
00181 globus_gsi_sysconfig_get_ca_cert_files_win32
00182 # define GLOBUS_GSI_SYSCONFIG_GET_CURRENT_WORKING_DIR \
00183 globus_gsi_sysconfig_get_current_working_dir_win32
00184 # define GLOBUS_GSI_SYSCONFIG_MAKE_ABSOLUTE_PATH_FOR_FILENAME \
00185 globus_gsi_sysconfig_make_absolute_path_for_filename_win32
00186 # define GLOBUS_GSI_SYSCONFIG_SPLIT_DIR_AND_FILENAME \
00187 globus_gsi_sysconfig_split_dir_and_filename_win32
00188 # define GLOBUS_GSI_SYSCONFIG_REMOVE_ALL_OWNED_FILES \
00189 globus_gsi_sysconfig_remove_all_owned_files_win32
00190 # define GLOBUS_GSI_SYSCONFIG_GET_GRIDMAP_FILENAME \
00191 globus_gsi_sysconfig_get_gridmap_filename_win32
00192 # define GLOBUS_GSI_SYSCONFIG_GET_AUTHZ_CONF_FILENAME \
00193 globus_gsi_sysconfig_get_authz_conf_filename_win32
00194 # define GLOBUS_GSI_SYSCONFIG_GET_GAA_CONF_FILENAME \
00195 globus_gsi_sysconfig_get_gaa_conf_filename_win32
00196 # define GLOBUS_GSI_SYSCONFIG_IS_SUPERUSER \
00197 globus_gsi_sysconfig_is_superuser_win32
00198 # define GLOBUS_GSI_SYSCONFIG_GET_USER_ID_STRING \
00199 globus_gsi_sysconfig_get_user_id_string_win32
00200 # define GLOBUS_GSI_SYSCONFIG_GET_PROC_ID_STRING \
00201 globus_gsi_sysconfig_get_proc_id_string_win32
00202 # define GLOBUS_GSI_SYSCONFIG_GET_USERNAME \
00203 globus_gsi_sysconfig_get_username_win32
00204 #else
00205
00212 # define GLOBUS_GSI_SYSCONFIG_SET_KEY_PERMISSIONS \
00213 globus_gsi_sysconfig_set_key_permissions_unix
00214
00221 # define GLOBUS_GSI_SYSCONFIG_GET_HOME_DIR \
00222 globus_gsi_sysconfig_get_home_dir_unix
00223
00230 # define GLOBUS_GSI_SYSCONFIG_CHECK_KEYFILE \
00231 globus_gsi_sysconfig_check_keyfile_unix
00232
00240 # define GLOBUS_GSI_SYSCONFIG_CHECK_KEYFILE_UID \
00241 globus_gsi_sysconfig_check_keyfile_uid_unix
00242
00249 # define GLOBUS_GSI_SYSCONFIG_CHECK_CERTFILE \
00250 globus_gsi_sysconfig_check_certfile_unix
00251
00259 # define GLOBUS_GSI_SYSCONFIG_CHECK_CERTFILE_UID \
00260 globus_gsi_sysconfig_check_certfile_uid_unix
00261
00268 # define GLOBUS_GSI_SYSCONFIG_FILE_EXISTS \
00269 globus_gsi_sysconfig_file_exists_unix
00270
00277 # define GLOBUS_GSI_SYSCONFIG_DIR_EXISTS \
00278 globus_gsi_sysconfig_dir_exists_unix
00279
00286 # define GLOBUS_GSI_SYSCONFIG_GET_CERT_DIR \
00287 globus_gsi_sysconfig_get_cert_dir_unix
00288
00295 # define GLOBUS_GSI_SYSCONFIG_GET_USER_CERT_FILENAME \
00296 globus_gsi_sysconfig_get_user_cert_filename_unix
00297
00304 # define GLOBUS_GSI_SYSCONFIG_GET_HOST_CERT_FILENAME \
00305 globus_gsi_sysconfig_get_host_cert_filename_unix
00306
00313 # define GLOBUS_GSI_SYSCONFIG_GET_SERVICE_CERT_FILENAME \
00314 globus_gsi_sysconfig_get_service_cert_filename_unix
00315
00322 # define GLOBUS_GSI_SYSCONFIG_GET_PROXY_FILENAME \
00323 globus_gsi_sysconfig_get_proxy_filename_unix
00324
00331 # define GLOBUS_GSI_SYSCONFIG_GET_SIGNING_POLICY_FILENAME \
00332 globus_gsi_sysconfig_get_signing_policy_filename_unix
00333
00341 # define GLOBUS_GSI_SYSCONFIG_GET_CA_CERT_FILES \
00342 globus_gsi_sysconfig_get_ca_cert_files_unix
00343
00350 # define GLOBUS_GSI_SYSCONFIG_GET_CURRENT_WORKING_DIR \
00351 globus_gsi_sysconfig_get_current_working_dir_unix
00352
00359 # define GLOBUS_GSI_SYSCONFIG_MAKE_ABSOLUTE_PATH_FOR_FILENAME \
00360 globus_gsi_sysconfig_make_absolute_path_for_filename_unix
00361
00368 # define GLOBUS_GSI_SYSCONFIG_SPLIT_DIR_AND_FILENAME \
00369 globus_gsi_sysconfig_split_dir_and_filename_unix
00370
00377 # define GLOBUS_GSI_SYSCONFIG_REMOVE_ALL_OWNED_FILES \
00378 globus_gsi_sysconfig_remove_all_owned_files_unix
00379
00386 # define GLOBUS_GSI_SYSCONFIG_GET_GRIDMAP_FILENAME \
00387 globus_gsi_sysconfig_get_gridmap_filename_unix
00388
00394 # define GLOBUS_GSI_SYSCONFIG_GET_AUTHZ_CONF_FILENAME \
00395 globus_gsi_sysconfig_get_authz_conf_filename_unix
00396
00403 # define GLOBUS_GSI_SYSCONFIG_GET_GAA_CONF_FILENAME \
00404 globus_gsi_sysconfig_get_gaa_conf_filename_unix
00405
00412 # define GLOBUS_GSI_SYSCONFIG_IS_SUPERUSER \
00413 globus_gsi_sysconfig_is_superuser_unix
00414
00421 # define GLOBUS_GSI_SYSCONFIG_GET_USER_ID_STRING \
00422 globus_gsi_sysconfig_get_user_id_string_unix
00423
00430 # define GLOBUS_GSI_SYSCONFIG_GET_PROC_ID_STRING \
00431 globus_gsi_sysconfig_get_proc_id_string_unix
00432
00439 # define GLOBUS_GSI_SYSCONFIG_GET_USERNAME \
00440 globus_gsi_sysconfig_get_username_unix
00441 #endif
00442
00449 #define GLOBUS_GSI_SYSCONFIG_GET_UNIQUE_PROXY_FILENAME \
00450 globus_gsi_sysconfig_get_unique_proxy_filename
00451
00458 #define GLOBUS_GSI_SYSCONFIG_GET_VHOST_CRED_DIR \
00459 globus_gsi_sysconfig_get_vhost_cred_dir
00460
00461 globus_result_t
00462 GLOBUS_GSI_SYSCONFIG_SET_KEY_PERMISSIONS(
00463 char * filename);
00464
00465 globus_result_t
00466 GLOBUS_GSI_SYSCONFIG_GET_HOME_DIR(
00467 char ** home_dir);
00468
00469 globus_result_t
00470 GLOBUS_GSI_SYSCONFIG_FILE_EXISTS(
00471 const char * filename);
00472
00473 globus_result_t
00474 GLOBUS_GSI_SYSCONFIG_DIR_EXISTS(
00475 const char * filename);
00476
00477 globus_result_t
00478 GLOBUS_GSI_SYSCONFIG_CHECK_KEYFILE(
00479 const char * filename);
00480
00481 globus_result_t
00482 GLOBUS_GSI_SYSCONFIG_CHECK_KEYFILE_UID(
00483 const char * filename,
00484 uid_t uid);
00485
00486 globus_result_t
00487 GLOBUS_GSI_SYSCONFIG_CHECK_CERTFILE(
00488 const char * filename);
00489
00490 globus_result_t
00491 GLOBUS_GSI_SYSCONFIG_CHECK_CERTFILE_UID(
00492 const char * filename,
00493 uid_t uid);
00494
00495 globus_result_t
00496 GLOBUS_GSI_SYSCONFIG_GET_CERT_DIR(
00497 char ** cert_dir);
00498
00499 globus_result_t
00500 GLOBUS_GSI_SYSCONFIG_GET_USER_CERT_FILENAME(
00501 char ** user_cert_filename,
00502 char ** user_key_filename);
00503
00504 globus_result_t
00505 GLOBUS_GSI_SYSCONFIG_GET_HOST_CERT_FILENAME(
00506 char ** host_cert_filename,
00507 char ** host_key_filename);
00508
00509 globus_result_t
00510 GLOBUS_GSI_SYSCONFIG_GET_SERVICE_CERT_FILENAME(
00511 char * service_name,
00512 char ** service_cert_filename,
00513 char ** service_key_filename);
00514
00515 globus_result_t
00516 GLOBUS_GSI_SYSCONFIG_GET_PROXY_FILENAME(
00517 char ** proxy_filename,
00518 globus_gsi_proxy_file_type_t proxy_file_type);
00519
00520 globus_result_t
00521 GLOBUS_GSI_SYSCONFIG_GET_SIGNING_POLICY_FILENAME(
00522 X509_NAME * ca_name,
00523 char * cert_dir,
00524 char ** signing_policy_filename);
00525
00526 globus_result_t
00527 GLOBUS_GSI_SYSCONFIG_GET_CA_CERT_FILES(
00528 char * ca_cert_dir,
00529 globus_fifo_t * ca_cert_list);
00530
00531 globus_result_t
00532 GLOBUS_GSI_SYSCONFIG_GET_CURRENT_WORKING_DIR(
00533 char ** working_dir);
00534
00535 globus_result_t
00536 GLOBUS_GSI_SYSCONFIG_MAKE_ABSOLUTE_PATH_FOR_FILENAME(
00537 char * filename,
00538 char ** absolute_path);
00539
00540 globus_result_t
00541 GLOBUS_GSI_SYSCONFIG_SPLIT_DIR_AND_FILENAME(
00542 char * full_filename,
00543 char ** dir_string,
00544 char ** filename_string);
00545
00546 globus_result_t
00547 GLOBUS_GSI_SYSCONFIG_REMOVE_ALL_OWNED_FILES(
00548 char * default_filename);
00549
00550 globus_result_t
00551 GLOBUS_GSI_SYSCONFIG_IS_SUPERUSER(
00552 int * is_superuser);
00553
00554 globus_result_t
00555 GLOBUS_GSI_SYSCONFIG_GET_USER_ID_STRING(
00556 char ** user_id_string);
00557
00558 globus_result_t
00559 GLOBUS_GSI_SYSCONFIG_GET_USERNAME(
00560 char ** username);
00561
00562 globus_result_t
00563 GLOBUS_GSI_SYSCONFIG_GET_PROC_ID_STRING(
00564 char ** proc_id_string);
00565
00566 globus_result_t
00567 GLOBUS_GSI_SYSCONFIG_GET_GRIDMAP_FILENAME(
00568 char ** filename);
00569
00570 globus_result_t
00571 GLOBUS_GSI_SYSCONFIG_GET_AUTHZ_CONF_FILENAME(
00572 char ** filename);
00573
00574 globus_result_t
00575 GLOBUS_GSI_SYSCONFIG_GET_UNIQUE_PROXY_FILENAME(
00576 char ** unique_filename);
00577
00578 globus_result_t
00579 GLOBUS_GSI_SYSCONFIG_GET_VHOST_CRED_DIR(
00580 char **dir_name_out);
00581
00582 #ifdef __cplusplus
00583 }
00584 #endif
00585
00586 #endif