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_CERTFILE \
00159 globus_gsi_sysconfig_check_certfile_win32
00160 # define GLOBUS_GSI_SYSCONFIG_FILE_EXISTS \
00161 globus_gsi_sysconfig_file_exists_win32
00162 # define GLOBUS_GSI_SYSCONFIG_DIR_EXISTS \
00163 globus_gsi_sysconfig_dir_exists_win32
00164 # define GLOBUS_GSI_SYSCONFIG_GET_CERT_DIR \
00165 globus_gsi_sysconfig_get_cert_dir_win32
00166 # define GLOBUS_GSI_SYSCONFIG_GET_USER_CERT_FILENAME \
00167 globus_gsi_sysconfig_get_user_cert_filename_win32
00168 # define GLOBUS_GSI_SYSCONFIG_GET_HOST_CERT_FILENAME \
00169 globus_gsi_sysconfig_get_host_cert_filename_win32
00170 # define GLOBUS_GSI_SYSCONFIG_GET_SERVICE_CERT_FILENAME \
00171 globus_gsi_sysconfig_get_service_cert_filename_win32
00172 # define GLOBUS_GSI_SYSCONFIG_GET_PROXY_FILENAME \
00173 globus_gsi_sysconfig_get_proxy_filename_win32
00174 # define GLOBUS_GSI_SYSCONFIG_GET_SIGNING_POLICY_FILENAME \
00175 globus_gsi_sysconfig_get_signing_policy_filename_win32
00176 # define GLOBUS_GSI_SYSCONFIG_GET_CA_CERT_FILES \
00177 globus_gsi_sysconfig_get_ca_cert_files_win32
00178 # define GLOBUS_GSI_SYSCONFIG_GET_CURRENT_WORKING_DIR \
00179 globus_gsi_sysconfig_get_current_working_dir_win32
00180 # define GLOBUS_GSI_SYSCONFIG_MAKE_ABSOLUTE_PATH_FOR_FILENAME \
00181 globus_gsi_sysconfig_make_absolute_path_for_filename_win32
00182 # define GLOBUS_GSI_SYSCONFIG_SPLIT_DIR_AND_FILENAME \
00183 globus_gsi_sysconfig_split_dir_and_filename_win32
00184 # define GLOBUS_GSI_SYSCONFIG_REMOVE_ALL_OWNED_FILES \
00185 globus_gsi_sysconfig_remove_all_owned_files_win32
00186 # define GLOBUS_GSI_SYSCONFIG_GET_GRIDMAP_FILENAME \
00187 globus_gsi_sysconfig_get_gridmap_filename_win32
00188 # define GLOBUS_GSI_SYSCONFIG_GET_AUTHZ_CONF_FILENAME \
00189 globus_gsi_sysconfig_get_authz_conf_filename_win32
00190 # define GLOBUS_GSI_SYSCONFIG_GET_GAA_CONF_FILENAME \
00191 globus_gsi_sysconfig_get_gaa_conf_filename_win32
00192 # define GLOBUS_GSI_SYSCONFIG_IS_SUPERUSER \
00193 globus_gsi_sysconfig_is_superuser_win32
00194 # define GLOBUS_GSI_SYSCONFIG_GET_USER_ID_STRING \
00195 globus_gsi_sysconfig_get_user_id_string_win32
00196 # define GLOBUS_GSI_SYSCONFIG_GET_PROC_ID_STRING \
00197 globus_gsi_sysconfig_get_proc_id_string_win32
00198 # define GLOBUS_GSI_SYSCONFIG_GET_USERNAME \
00199 globus_gsi_sysconfig_get_username_win32
00200 #else
00201
00208 # define GLOBUS_GSI_SYSCONFIG_SET_KEY_PERMISSIONS \
00209 globus_gsi_sysconfig_set_key_permissions_unix
00210
00217 # define GLOBUS_GSI_SYSCONFIG_GET_HOME_DIR \
00218 globus_gsi_sysconfig_get_home_dir_unix
00219
00226 # define GLOBUS_GSI_SYSCONFIG_CHECK_KEYFILE \
00227 globus_gsi_sysconfig_check_keyfile_unix
00228
00235 # define GLOBUS_GSI_SYSCONFIG_CHECK_CERTFILE \
00236 globus_gsi_sysconfig_check_certfile_unix
00237
00244 # define GLOBUS_GSI_SYSCONFIG_FILE_EXISTS \
00245 globus_gsi_sysconfig_file_exists_unix
00246
00253 # define GLOBUS_GSI_SYSCONFIG_DIR_EXISTS \
00254 globus_gsi_sysconfig_dir_exists_unix
00255
00262 # define GLOBUS_GSI_SYSCONFIG_GET_CERT_DIR \
00263 globus_gsi_sysconfig_get_cert_dir_unix
00264
00271 # define GLOBUS_GSI_SYSCONFIG_GET_USER_CERT_FILENAME \
00272 globus_gsi_sysconfig_get_user_cert_filename_unix
00273
00280 # define GLOBUS_GSI_SYSCONFIG_GET_HOST_CERT_FILENAME \
00281 globus_gsi_sysconfig_get_host_cert_filename_unix
00282
00289 # define GLOBUS_GSI_SYSCONFIG_GET_SERVICE_CERT_FILENAME \
00290 globus_gsi_sysconfig_get_service_cert_filename_unix
00291
00298 # define GLOBUS_GSI_SYSCONFIG_GET_PROXY_FILENAME \
00299 globus_gsi_sysconfig_get_proxy_filename_unix
00300
00307 # define GLOBUS_GSI_SYSCONFIG_GET_SIGNING_POLICY_FILENAME \
00308 globus_gsi_sysconfig_get_signing_policy_filename_unix
00309
00317 # define GLOBUS_GSI_SYSCONFIG_GET_CA_CERT_FILES \
00318 globus_gsi_sysconfig_get_ca_cert_files_unix
00319
00326 # define GLOBUS_GSI_SYSCONFIG_GET_CURRENT_WORKING_DIR \
00327 globus_gsi_sysconfig_get_current_working_dir_unix
00328
00335 # define GLOBUS_GSI_SYSCONFIG_MAKE_ABSOLUTE_PATH_FOR_FILENAME \
00336 globus_gsi_sysconfig_make_absolute_path_for_filename_unix
00337
00344 # define GLOBUS_GSI_SYSCONFIG_SPLIT_DIR_AND_FILENAME \
00345 globus_gsi_sysconfig_split_dir_and_filename_unix
00346
00353 # define GLOBUS_GSI_SYSCONFIG_REMOVE_ALL_OWNED_FILES \
00354 globus_gsi_sysconfig_remove_all_owned_files_unix
00355
00362 # define GLOBUS_GSI_SYSCONFIG_GET_GRIDMAP_FILENAME \
00363 globus_gsi_sysconfig_get_gridmap_filename_unix
00364
00370 # define GLOBUS_GSI_SYSCONFIG_GET_AUTHZ_CONF_FILENAME \
00371 globus_gsi_sysconfig_get_authz_conf_filename_unix
00372
00379 # define GLOBUS_GSI_SYSCONFIG_GET_GAA_CONF_FILENAME \
00380 globus_gsi_sysconfig_get_gaa_conf_filename_unix
00381
00388 # define GLOBUS_GSI_SYSCONFIG_IS_SUPERUSER \
00389 globus_gsi_sysconfig_is_superuser_unix
00390
00397 # define GLOBUS_GSI_SYSCONFIG_GET_USER_ID_STRING \
00398 globus_gsi_sysconfig_get_user_id_string_unix
00399
00406 # define GLOBUS_GSI_SYSCONFIG_GET_PROC_ID_STRING \
00407 globus_gsi_sysconfig_get_proc_id_string_unix
00408
00415 # define GLOBUS_GSI_SYSCONFIG_GET_USERNAME \
00416 globus_gsi_sysconfig_get_username_unix
00417 #endif
00418
00425 #define GLOBUS_GSI_SYSCONFIG_GET_UNIQUE_PROXY_FILENAME \
00426 globus_gsi_sysconfig_get_unique_proxy_filename
00427
00428 #ifdef WIN32
00429
00430 globus_result_t
00431 globus_gsi_sysconfig_set_key_permissions_win32(
00432 char * filename);
00433
00434 globus_result_t
00435 globus_gsi_sysconfig_get_home_dir_win32(
00436 char ** home_dir);
00437
00438 globus_result_t
00439 globus_gsi_sysconfig_file_exists_win32(
00440 const char * filename);
00441
00442 globus_result_t
00443 globus_gsi_sysconfig_dir_exists_win32(
00444 const char * filename);
00445
00446 globus_result_t
00447 globus_gsi_sysconfig_check_keyfile_win32(
00448 const char * filename);
00449
00450 globus_result_t
00451 globus_gsi_sysconfig_check_certfile_win32(
00452 const char * filename);
00453
00454 globus_result_t
00455 globus_gsi_sysconfig_get_cert_dir_win32(
00456 char ** cert_dir);
00457
00458 globus_result_t
00459 globus_gsi_sysconfig_get_user_cert_filename_win32(
00460 char ** user_cert_filename,
00461 char ** user_key_filename);
00462
00463 globus_result_t
00464 globus_gsi_sysconfig_get_host_cert_filename_win32(
00465 char ** host_cert_filename,
00466 char ** host_key_filename);
00467
00468 globus_result_t
00469 globus_gsi_sysconfig_get_service_cert_filename_win32(
00470 char * service_name,
00471 char ** service_cert_filename,
00472 char ** service_key_filename);
00473
00474 globus_result_t
00475 globus_gsi_sysconfig_get_proxy_filename_win32(
00476 char ** proxy_filename,
00477 globus_gsi_proxy_file_type_t proxy_file_type);
00478
00479 globus_result_t
00480 globus_gsi_sysconfig_get_signing_policy_filename_win32(
00481 X509_NAME * ca_name,
00482 char * cert_dir,
00483 char ** signing_policy_filename);
00484
00485 globus_result_t
00486 globus_gsi_sysconfig_get_ca_cert_files_win32(
00487 char * ca_cert_dir,
00488 globus_fifo_t * ca_cert_list);
00489
00490 globus_result_t
00491 globus_gsi_sysconfig_get_current_working_dir_win32(
00492 char ** working_dir);
00493
00494 globus_result_t
00495 globus_gsi_sysconfig_make_absolute_path_for_filename_win32(
00496 char * filename,
00497 char ** absolute_path);
00498
00499 globus_result_t
00500 globus_gsi_sysconfig_split_dir_and_filename_win32(
00501 char * full_filename,
00502 char ** dir_string,
00503 char ** filename_string);
00504
00505 globus_result_t
00506 globus_gsi_sysconfig_remove_all_owned_files_win32(
00507 char * default_filename);
00508
00509 globus_result_t
00510 globus_gsi_sysconfig_is_superuser_win32(
00511 int * is_superuser);
00512
00513 globus_result_t
00514 globus_gsi_sysconfig_get_user_id_string_win32(
00515 char ** user_id_string);
00516
00517 globus_result_t
00518 globus_gsi_sysconfig_get_username_win32(
00519 char ** username);
00520
00521 globus_result_t
00522 globus_gsi_sysconfig_get_proc_id_string_win32(
00523 char ** proc_id_string);
00524
00525 globus_result_t
00526 globus_gsi_sysconfig_get_gridmap_filename_win32(
00527 char ** filename);
00528
00529 globus_result_t
00530 globus_gsi_sysconfig_get_authz_conf_filename_win32(
00531 char ** filename);
00532
00533
00534 #else
00535
00536 globus_result_t
00537 globus_gsi_sysconfig_set_key_permissions_unix(
00538 char * filename);
00539
00540 globus_result_t
00541 globus_gsi_sysconfig_get_home_dir_unix(
00542 char ** home_dir);
00543
00544 globus_result_t
00545 globus_gsi_sysconfig_file_exists_unix(
00546 const char * filename);
00547
00548 globus_result_t
00549 globus_gsi_sysconfig_dir_exists_unix(
00550 const char * filename);
00551
00552 globus_result_t
00553 globus_gsi_sysconfig_check_keyfile_unix(
00554 const char * filename);
00555
00556 globus_result_t
00557 globus_gsi_sysconfig_check_certfile_unix(
00558 const char * filename);
00559
00560 globus_result_t
00561 globus_gsi_sysconfig_get_cert_dir_unix(
00562 char ** cert_dir);
00563
00564 globus_result_t
00565 globus_gsi_sysconfig_get_user_cert_filename_unix(
00566 char ** user_cert_filename,
00567 char ** user_key_filename);
00568
00569 globus_result_t
00570 globus_gsi_sysconfig_get_host_cert_filename_unix(
00571 char ** host_cert_filename,
00572 char ** host_key_filename);
00573
00574 globus_result_t
00575 globus_gsi_sysconfig_get_service_cert_filename_unix(
00576 char * service_name,
00577 char ** service_cert_filename,
00578 char ** service_key_filename);
00579
00580 globus_result_t
00581 globus_gsi_sysconfig_get_proxy_filename_unix(
00582 char ** user_proxy,
00583 globus_gsi_proxy_file_type_t proxy_file_type);
00584
00585 globus_result_t
00586 globus_gsi_sysconfig_get_signing_policy_filename_unix(
00587 X509_NAME * ca_name,
00588 char * cert_dir,
00589 char ** signing_policy_filename);
00590
00591 globus_result_t
00592 globus_gsi_sysconfig_get_ca_cert_files_unix(
00593 char * ca_cert_dir,
00594 globus_fifo_t * ca_cert_list);
00595
00596 globus_result_t
00597 globus_gsi_sysconfig_get_current_working_dir_unix(
00598 char ** working_dir);
00599
00600 globus_result_t
00601 globus_gsi_sysconfig_make_absolute_path_for_filename_unix(
00602 char * filename,
00603 char ** absolute_path);
00604
00605 globus_result_t
00606 globus_gsi_sysconfig_split_dir_and_filename_unix(
00607 char * full_filename,
00608 char ** dir_string,
00609 char ** filename_string);
00610
00611 globus_result_t
00612 globus_gsi_sysconfig_remove_all_owned_files_unix(
00613 char * default_filename);
00614
00615 globus_result_t
00616 globus_gsi_sysconfig_is_superuser_unix(
00617 int * is_superuser);
00618
00619 globus_result_t
00620 globus_gsi_sysconfig_get_user_id_string_unix(
00621 char ** user_id_string);
00622
00623 globus_result_t
00624 globus_gsi_sysconfig_get_username_unix(
00625 char ** username);
00626
00627 globus_result_t
00628 globus_gsi_sysconfig_get_proc_id_string_unix(
00629 char ** proc_id_string);
00630
00631 globus_result_t
00632 globus_gsi_sysconfig_get_gridmap_filename_unix(
00633 char ** filename);
00634
00635 globus_result_t
00636 globus_gsi_sysconfig_get_authz_conf_filename_unix(
00637 char ** filename);
00638
00639 globus_result_t
00640 globus_gsi_sysconfig_get_gaa_conf_filename_unix(
00641 char ** filename);
00642
00643 #endif
00644
00645 globus_result_t
00646 globus_gsi_sysconfig_get_unique_proxy_filename(
00647 char ** unique_filename);
00648
00649 #ifdef __cplusplus
00650 }
00651 #endif
00652
00653 #endif