globus_gsi_sysconfig  6.9
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 
94 #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL
95 
110 #endif
111 
146 #define GLOBUS_GSI_SYSCONFIG_MODULE (&globus_i_gsi_sysconfig_module)
147 
148 extern
149 globus_module_descriptor_t globus_i_gsi_sysconfig_module;
150 
151 #ifdef WIN32
152 # define GLOBUS_GSI_SYSCONFIG_SET_KEY_PERMISSIONS \
153  globus_gsi_sysconfig_set_key_permissions_win32
154 # define GLOBUS_GSI_SYSCONFIG_GET_HOME_DIR \
155  globus_gsi_sysconfig_get_home_dir_win32
156 # define GLOBUS_GSI_SYSCONFIG_CHECK_KEYFILE \
157  globus_gsi_sysconfig_check_keyfile_win32
158 # define GLOBUS_GSI_SYSCONFIG_CHECK_CERTFILE \
159  globus_gsi_sysconfig_check_certfile_win32
160 # define GLOBUS_GSI_SYSCONFIG_FILE_EXISTS \
161  globus_gsi_sysconfig_file_exists_win32
162 # define GLOBUS_GSI_SYSCONFIG_DIR_EXISTS \
163  globus_gsi_sysconfig_dir_exists_win32
164 # define GLOBUS_GSI_SYSCONFIG_GET_CERT_DIR \
165  globus_gsi_sysconfig_get_cert_dir_win32
166 # define GLOBUS_GSI_SYSCONFIG_GET_USER_CERT_FILENAME \
167  globus_gsi_sysconfig_get_user_cert_filename_win32
168 # define GLOBUS_GSI_SYSCONFIG_GET_HOST_CERT_FILENAME \
169  globus_gsi_sysconfig_get_host_cert_filename_win32
170 # define GLOBUS_GSI_SYSCONFIG_GET_SERVICE_CERT_FILENAME \
171  globus_gsi_sysconfig_get_service_cert_filename_win32
172 # define GLOBUS_GSI_SYSCONFIG_GET_PROXY_FILENAME \
173  globus_gsi_sysconfig_get_proxy_filename_win32
174 # define GLOBUS_GSI_SYSCONFIG_GET_SIGNING_POLICY_FILENAME \
175  globus_gsi_sysconfig_get_signing_policy_filename_win32
176 # define GLOBUS_GSI_SYSCONFIG_GET_CA_CERT_FILES \
177  globus_gsi_sysconfig_get_ca_cert_files_win32
178 # define GLOBUS_GSI_SYSCONFIG_GET_CURRENT_WORKING_DIR \
179  globus_gsi_sysconfig_get_current_working_dir_win32
180 # define GLOBUS_GSI_SYSCONFIG_MAKE_ABSOLUTE_PATH_FOR_FILENAME \
181  globus_gsi_sysconfig_make_absolute_path_for_filename_win32
182 # define GLOBUS_GSI_SYSCONFIG_SPLIT_DIR_AND_FILENAME \
183  globus_gsi_sysconfig_split_dir_and_filename_win32
184 # define GLOBUS_GSI_SYSCONFIG_REMOVE_ALL_OWNED_FILES \
185  globus_gsi_sysconfig_remove_all_owned_files_win32
186 # define GLOBUS_GSI_SYSCONFIG_GET_GRIDMAP_FILENAME \
187  globus_gsi_sysconfig_get_gridmap_filename_win32
188 # define GLOBUS_GSI_SYSCONFIG_GET_AUTHZ_CONF_FILENAME \
189  globus_gsi_sysconfig_get_authz_conf_filename_win32
190 # define GLOBUS_GSI_SYSCONFIG_GET_GAA_CONF_FILENAME \
191  globus_gsi_sysconfig_get_gaa_conf_filename_win32
192 # define GLOBUS_GSI_SYSCONFIG_IS_SUPERUSER \
193  globus_gsi_sysconfig_is_superuser_win32
194 # define GLOBUS_GSI_SYSCONFIG_GET_USER_ID_STRING \
195  globus_gsi_sysconfig_get_user_id_string_win32
196 # define GLOBUS_GSI_SYSCONFIG_GET_PROC_ID_STRING \
197  globus_gsi_sysconfig_get_proc_id_string_win32
198 # define GLOBUS_GSI_SYSCONFIG_GET_USERNAME \
199  globus_gsi_sysconfig_get_username_win32
200 #else
201 
208 # define GLOBUS_GSI_SYSCONFIG_SET_KEY_PERMISSIONS \
209  globus_gsi_sysconfig_set_key_permissions_unix
210 
217 # define GLOBUS_GSI_SYSCONFIG_GET_HOME_DIR \
218  globus_gsi_sysconfig_get_home_dir_unix
219 
226 # define GLOBUS_GSI_SYSCONFIG_CHECK_KEYFILE \
227  globus_gsi_sysconfig_check_keyfile_unix
228 
235 # define GLOBUS_GSI_SYSCONFIG_CHECK_CERTFILE \
236  globus_gsi_sysconfig_check_certfile_unix
237 
244 # define GLOBUS_GSI_SYSCONFIG_FILE_EXISTS \
245  globus_gsi_sysconfig_file_exists_unix
246 
253 # define GLOBUS_GSI_SYSCONFIG_DIR_EXISTS \
254  globus_gsi_sysconfig_dir_exists_unix
255 
262 # define GLOBUS_GSI_SYSCONFIG_GET_CERT_DIR \
263  globus_gsi_sysconfig_get_cert_dir_unix
264 
271 # define GLOBUS_GSI_SYSCONFIG_GET_USER_CERT_FILENAME \
272  globus_gsi_sysconfig_get_user_cert_filename_unix
273 
280 # define GLOBUS_GSI_SYSCONFIG_GET_HOST_CERT_FILENAME \
281  globus_gsi_sysconfig_get_host_cert_filename_unix
282 
289 # define GLOBUS_GSI_SYSCONFIG_GET_SERVICE_CERT_FILENAME \
290  globus_gsi_sysconfig_get_service_cert_filename_unix
291 
298 # define GLOBUS_GSI_SYSCONFIG_GET_PROXY_FILENAME \
299  globus_gsi_sysconfig_get_proxy_filename_unix
300 
307 # define GLOBUS_GSI_SYSCONFIG_GET_SIGNING_POLICY_FILENAME \
308  globus_gsi_sysconfig_get_signing_policy_filename_unix
309 
317 # define GLOBUS_GSI_SYSCONFIG_GET_CA_CERT_FILES \
318  globus_gsi_sysconfig_get_ca_cert_files_unix
319 
326 # define GLOBUS_GSI_SYSCONFIG_GET_CURRENT_WORKING_DIR \
327  globus_gsi_sysconfig_get_current_working_dir_unix
328 
335 # define GLOBUS_GSI_SYSCONFIG_MAKE_ABSOLUTE_PATH_FOR_FILENAME \
336  globus_gsi_sysconfig_make_absolute_path_for_filename_unix
337 
344 # define GLOBUS_GSI_SYSCONFIG_SPLIT_DIR_AND_FILENAME \
345  globus_gsi_sysconfig_split_dir_and_filename_unix
346 
353 # define GLOBUS_GSI_SYSCONFIG_REMOVE_ALL_OWNED_FILES \
354  globus_gsi_sysconfig_remove_all_owned_files_unix
355 
362 # define GLOBUS_GSI_SYSCONFIG_GET_GRIDMAP_FILENAME \
363  globus_gsi_sysconfig_get_gridmap_filename_unix
364 
370 # define GLOBUS_GSI_SYSCONFIG_GET_AUTHZ_CONF_FILENAME \
371  globus_gsi_sysconfig_get_authz_conf_filename_unix
372 
379 # define GLOBUS_GSI_SYSCONFIG_GET_GAA_CONF_FILENAME \
380  globus_gsi_sysconfig_get_gaa_conf_filename_unix
381 
388 # define GLOBUS_GSI_SYSCONFIG_IS_SUPERUSER \
389  globus_gsi_sysconfig_is_superuser_unix
390 
397 # define GLOBUS_GSI_SYSCONFIG_GET_USER_ID_STRING \
398  globus_gsi_sysconfig_get_user_id_string_unix
399 
406 # define GLOBUS_GSI_SYSCONFIG_GET_PROC_ID_STRING \
407  globus_gsi_sysconfig_get_proc_id_string_unix
408 
415 # define GLOBUS_GSI_SYSCONFIG_GET_USERNAME \
416  globus_gsi_sysconfig_get_username_unix
417 #endif
418 
425 #define GLOBUS_GSI_SYSCONFIG_GET_UNIQUE_PROXY_FILENAME \
426  globus_gsi_sysconfig_get_unique_proxy_filename
427 
428 #ifdef WIN32
429 
430 globus_result_t
432  char * filename);
433 
434 globus_result_t
435 globus_gsi_sysconfig_get_home_dir_win32(
436  char ** home_dir);
437 
438 globus_result_t
440  const char * filename);
441 
442 globus_result_t
444  const char * filename);
445 
446 globus_result_t
447 globus_gsi_sysconfig_check_keyfile_win32(
448  const char * filename);
449 
450 globus_result_t
451 globus_gsi_sysconfig_check_certfile_win32(
452  const char * filename);
453 
454 globus_result_t
456  char ** cert_dir);
457 
458 globus_result_t
460  char ** user_cert_filename,
461  char ** user_key_filename);
462 
463 globus_result_t
465  char ** host_cert_filename,
466  char ** host_key_filename);
467 
468 globus_result_t
470  char * service_name,
471  char ** service_cert_filename,
472  char ** service_key_filename);
473 
474 globus_result_t
476  char ** proxy_filename,
477  globus_gsi_proxy_file_type_t proxy_file_type);
478 
479 globus_result_t
481  X509_NAME * ca_name,
482  char * cert_dir,
483  char ** signing_policy_filename);
484 
485 globus_result_t
487  char * ca_cert_dir,
488  globus_fifo_t * ca_cert_list);
489 
490 globus_result_t
492  char ** working_dir);
493 
494 globus_result_t
496  char * filename,
497  char ** absolute_path);
498 
499 globus_result_t
501  char * full_filename,
502  char ** dir_string,
503  char ** filename_string);
504 
505 globus_result_t
507  char * default_filename);
508 
509 globus_result_t
511  int * is_superuser);
512 
513 globus_result_t
514 globus_gsi_sysconfig_get_user_id_string_win32(
515  char ** user_id_string);
516 
517 globus_result_t
518 globus_gsi_sysconfig_get_username_win32(
519  char ** username);
520 
521 globus_result_t
522 globus_gsi_sysconfig_get_proc_id_string_win32(
523  char ** proc_id_string);
524 
525 globus_result_t
527  char ** filename);
528 
529 globus_result_t
531  char ** filename);
532 
533 
534 #else /* if WIN32 is not defined, then define the unix functions */
535 
536 globus_result_t
538  char * filename);
539 
540 globus_result_t
542  char ** home_dir);
543 
544 globus_result_t
546  const char * filename);
547 
548 globus_result_t
550  const char * filename);
551 
552 globus_result_t
554  const char * filename);
555 
556 globus_result_t
558  const char * filename);
559 
560 globus_result_t
562  char ** cert_dir);
563 
564 globus_result_t
566  char ** user_cert_filename,
567  char ** user_key_filename);
568 
569 globus_result_t
571  char ** host_cert_filename,
572  char ** host_key_filename);
573 
574 globus_result_t
576  char * service_name,
577  char ** service_cert_filename,
578  char ** service_key_filename);
579 
580 globus_result_t
582  char ** user_proxy,
583  globus_gsi_proxy_file_type_t proxy_file_type);
584 
585 globus_result_t
587  X509_NAME * ca_name,
588  char * cert_dir,
589  char ** signing_policy_filename);
590 
591 globus_result_t
593  char * ca_cert_dir,
594  globus_fifo_t * ca_cert_list);
595 
596 globus_result_t
598  char ** working_dir);
599 
600 globus_result_t
602  char * filename,
603  char ** absolute_path);
604 
605 globus_result_t
607  char * full_filename,
608  char ** dir_string,
609  char ** filename_string);
610 
611 globus_result_t
613  char * default_filename);
614 
615 globus_result_t
617  int * is_superuser);
618 
619 globus_result_t
621  char ** user_id_string);
622 
623 globus_result_t
625  char ** username);
626 
627 globus_result_t
629  char ** proc_id_string);
630 
631 globus_result_t
633  char ** filename);
634 
635 globus_result_t
637  char ** filename);
638 
639 globus_result_t
641  char ** filename);
642 
643 #endif /* WIN32 */
644 
645 globus_result_t
647  char ** unique_filename);
648 
649 #ifdef __cplusplus
650 }
651 #endif
652 
653 #endif /* GLOBUS_GSI_SYSTEM_CONFIG_H */
globus_result_t globus_gsi_sysconfig_dir_exists_win32(const char *filename)
Win32 - Directory Exists.
Definition: globus_gsi_system_config.c:825
globus_result_t globus_gsi_sysconfig_get_current_working_dir_unix(char **working_dir)
UNIX - Get Current Working Directory.
Definition: globus_gsi_system_config.c:4212
globus_result_t globus_gsi_sysconfig_get_host_cert_filename_unix(char **host_cert_filename, char **host_key_filename)
UNIX - Get Host Certificate and Key Filenames.
Definition: globus_gsi_system_config.c:5309
globus_result_t globus_gsi_sysconfig_set_key_permissions_unix(char *filename)
UNIX - Set Key Permissions.
Definition: globus_gsi_system_config.c:3726
globus_result_t globus_gsi_sysconfig_get_cert_dir_unix(char **cert_dir)
UNIX - Get Trusted CA Cert Dir.
Definition: globus_gsi_system_config.c:4862
globus_result_t globus_gsi_sysconfig_get_ca_cert_files_win32(char *ca_cert_dir, globus_fifo_t *ca_cert_list)
Win32 - Get CA Cert Filenames.
Definition: globus_gsi_system_config.c:2684
globus_result_t globus_gsi_sysconfig_get_authz_conf_filename_win32(char **filename)
Win32 - Get the path and file name of the grid map file.
Definition: globus_gsi_system_config.c:3041
globus_result_t globus_gsi_sysconfig_get_signing_policy_filename_win32(X509_NAME *ca_name, char *cert_dir, char **signing_policy_filename)
Win32 - Get Signing Policy Filename.
Definition: globus_gsi_system_config.c:3622
globus_result_t globus_gsi_sysconfig_get_proxy_filename_unix(char **user_proxy, globus_gsi_proxy_file_type_t proxy_file_type)
UNIX - Get Proxy Filename.
Definition: globus_gsi_system_config.c:5900
globus_result_t globus_gsi_sysconfig_get_gaa_conf_filename_unix(char **filename)
UNIX - Get the path and file name of the gaa configuration file.
Definition: globus_gsi_system_config.c:6897
globus_result_t globus_gsi_sysconfig_file_exists_unix(const char *filename)
UNIX - File Exists.
Definition: globus_gsi_system_config.c:4397
globus_result_t globus_gsi_sysconfig_get_user_cert_filename_unix(char **user_cert_filename, char **user_key_filename)
UNIX - Get User Certificate and Key Filenames.
Definition: globus_gsi_system_config.c:5070
globus_result_t globus_gsi_sysconfig_make_absolute_path_for_filename_unix(char *filename, char **absolute_path)
UNIX - Make Absolute Path.
Definition: globus_gsi_system_config.c:4047
globus_result_t globus_gsi_sysconfig_get_host_cert_filename_win32(char **host_cert, char **host_key)
Win32 - Get Host Certificate and Key Filenames.
Definition: globus_gsi_system_config.c:1945
globus_result_t globus_gsi_sysconfig_get_signing_policy_filename_unix(X509_NAME *ca_name, char *cert_dir, char **signing_policy_filename)
UNIX - Get Signing Policy Filename.
Definition: globus_gsi_system_config.c:6042
globus_result_t globus_gsi_sysconfig_get_user_id_string_unix(char **user_id_string)
UNIX - Get User ID.
Definition: globus_gsi_system_config.c:3845
globus_result_t globus_gsi_sysconfig_make_absolute_path_for_filename_win32(char *filename, char **absolute_path)
Win32 - Make Absolute Path.
Definition: globus_gsi_system_config.c:1207
globus_result_t globus_gsi_sysconfig_get_proxy_filename_win32(char **user_proxy, globus_gsi_proxy_file_type_t proxy_file_type)
Win32 - Get Proxy Filename.
Definition: globus_gsi_system_config.c:2546
globus_result_t globus_gsi_sysconfig_get_home_dir_unix(char **home_dir)
UNIX - Get HOME DirectoryGet the HOME Directory of the current user. Should be the $HOME environment ...
Definition: globus_gsi_system_config.c:4284
globus_result_t globus_gsi_sysconfig_split_dir_and_filename_unix(char *full_filename, char **dir_string, char **filename_string)
UNIX - Split Directory and Filename.
Definition: globus_gsi_system_config.c:4129
globus_result_t globus_gsi_sysconfig_get_authz_conf_filename_unix(char **filename)
UNIX - Get the path of authorization callback configuration.
Definition: globus_gsi_system_config.c:6540
globus_result_t globus_gsi_sysconfig_file_exists_win32(const char *filename)
Win32 - File Exists.
Definition: globus_gsi_system_config.c:727
globus_result_t globus_gsi_sysconfig_dir_exists_unix(const char *filename)
UNIX - Directory Exists.
Definition: globus_gsi_system_config.c:4496
globus_result_t globus_gsi_sysconfig_is_superuser_win32(int *is_superuser)
Win32 - Check if the current user is root.
Definition: globus_gsi_system_config.c:3584
globus_gsi_proxy_file_type_t
Definition: globus_gsi_system_config_constants.h:113
globus_result_t globus_gsi_sysconfig_get_service_cert_filename_unix(char *service_name, char **service_cert_filename, char **service_key_filename)
UNIX - Get Service Certificate and Key Filenames.
Definition: globus_gsi_system_config.c:5579
globus_result_t globus_gsi_sysconfig_set_key_permissions_win32(char *filename)
Win32 - Set Key Permissions.
Definition: globus_gsi_system_config.c:528
globus_result_t globus_gsi_sysconfig_check_keyfile_unix(const char *filename)
UNIX - Check File Status for Key.
Definition: globus_gsi_system_config.c:4584
globus_result_t globus_gsi_sysconfig_split_dir_and_filename_win32(char *full_filename, char **dir_string, char **filename_string)
Win32 - Split Directory and Filename.
Definition: globus_gsi_system_config.c:1279
Globus GSI System Config Library.
globus_result_t globus_gsi_sysconfig_get_gridmap_filename_unix(char **filename)
UNIX - Get the path and file name of the grid map file.
Definition: globus_gsi_system_config.c:6433
globus_result_t globus_gsi_sysconfig_remove_all_owned_files_win32(char *default_filename)
Win32 - Remove all proxies owned by current uid.
Definition: globus_gsi_system_config.c:2822
globus_result_t globus_gsi_sysconfig_get_current_working_dir_win32(char **working_dir)
Win32 - Get Current Working Directory.
Definition: globus_gsi_system_config.c:1132
globus_result_t globus_gsi_sysconfig_get_username_unix(char **username)
UNIX - Get Username.
Definition: globus_gsi_system_config.c:3906
globus_result_t globus_gsi_sysconfig_get_unique_proxy_filename(char **unique_filename)
Get Unique Proxy Filename.
Definition: globus_gsi_system_config.c:7075
globus_result_t globus_gsi_sysconfig_get_proc_id_string_unix(char **proc_id_string)
UNIX - Get Process ID.
Definition: globus_gsi_system_config.c:3996
globus_result_t globus_gsi_sysconfig_get_gridmap_filename_win32(char **filename)
Win32 - Get the path and file name of the grid map file.
Definition: globus_gsi_system_config.c:2933
globus_result_t globus_gsi_sysconfig_get_service_cert_filename_win32(char *service_name, char **service_cert, char **service_key)
Win32 - Get Service Certificate and Key Filenames.
Definition: globus_gsi_system_config.c:2215
globus_result_t globus_gsi_sysconfig_get_ca_cert_files_unix(char *ca_cert_dir, globus_fifo_t *ca_cert_list)
UNIX - Get CA Cert Filenames.
Definition: globus_gsi_system_config.c:6144
globus_result_t globus_gsi_sysconfig_check_certfile_unix(const char *filename)
UNIX - Check File Status for Cert.
Definition: globus_gsi_system_config.c:4718
globus_result_t globus_gsi_sysconfig_get_cert_dir_win32(char **cert_dir)
Win32 - Get Trusted CA Cert Dir.
Definition: globus_gsi_system_config.c:1499
globus_result_t globus_gsi_sysconfig_is_superuser_unix(int *is_superuser)
UNIX - Check if the current user is root.
Definition: globus_gsi_system_config.c:6395
globus_result_t globus_gsi_sysconfig_remove_all_owned_files_unix(char *default_filename)
UNIX - Remove all proxies owned by current uid.
Definition: globus_gsi_system_config.c:6283
globus_result_t globus_gsi_sysconfig_get_user_cert_filename_win32(char **user_cert, char **user_key)
Win32 - Get User Certificate Filename.
Definition: globus_gsi_system_config.c:1705