globus_gsi_sysconfig  6.7
 All Files Functions Enumerations Enumerator 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 
98 #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL
99 
116 #endif
117 
153 #define GLOBUS_GSI_SYSCONFIG_MODULE (&globus_i_gsi_sysconfig_module)
154 
155 extern
156 globus_module_descriptor_t globus_i_gsi_sysconfig_module;
157 
158 #ifdef WIN32
159 # define GLOBUS_GSI_SYSCONFIG_SET_KEY_PERMISSIONS \
160  globus_gsi_sysconfig_set_key_permissions_win32
161 # define GLOBUS_GSI_SYSCONFIG_GET_HOME_DIR \
162  globus_gsi_sysconfig_get_home_dir_win32
163 # define GLOBUS_GSI_SYSCONFIG_CHECK_KEYFILE \
164  globus_gsi_sysconfig_check_keyfile_win32
165 # define GLOBUS_GSI_SYSCONFIG_CHECK_CERTFILE \
166  globus_gsi_sysconfig_check_certfile_win32
167 # define GLOBUS_GSI_SYSCONFIG_FILE_EXISTS \
168  globus_gsi_sysconfig_file_exists_win32
169 # define GLOBUS_GSI_SYSCONFIG_DIR_EXISTS \
170  globus_gsi_sysconfig_dir_exists_win32
171 # define GLOBUS_GSI_SYSCONFIG_GET_CERT_DIR \
172  globus_gsi_sysconfig_get_cert_dir_win32
173 # define GLOBUS_GSI_SYSCONFIG_GET_USER_CERT_FILENAME \
174  globus_gsi_sysconfig_get_user_cert_filename_win32
175 # define GLOBUS_GSI_SYSCONFIG_GET_HOST_CERT_FILENAME \
176  globus_gsi_sysconfig_get_host_cert_filename_win32
177 # define GLOBUS_GSI_SYSCONFIG_GET_SERVICE_CERT_FILENAME \
178  globus_gsi_sysconfig_get_service_cert_filename_win32
179 # define GLOBUS_GSI_SYSCONFIG_GET_PROXY_FILENAME \
180  globus_gsi_sysconfig_get_proxy_filename_win32
181 # define GLOBUS_GSI_SYSCONFIG_GET_SIGNING_POLICY_FILENAME \
182  globus_gsi_sysconfig_get_signing_policy_filename_win32
183 # define GLOBUS_GSI_SYSCONFIG_GET_CA_CERT_FILES \
184  globus_gsi_sysconfig_get_ca_cert_files_win32
185 # define GLOBUS_GSI_SYSCONFIG_GET_CURRENT_WORKING_DIR \
186  globus_gsi_sysconfig_get_current_working_dir_win32
187 # define GLOBUS_GSI_SYSCONFIG_MAKE_ABSOLUTE_PATH_FOR_FILENAME \
188  globus_gsi_sysconfig_make_absolute_path_for_filename_win32
189 # define GLOBUS_GSI_SYSCONFIG_SPLIT_DIR_AND_FILENAME \
190  globus_gsi_sysconfig_split_dir_and_filename_win32
191 # define GLOBUS_GSI_SYSCONFIG_REMOVE_ALL_OWNED_FILES \
192  globus_gsi_sysconfig_remove_all_owned_files_win32
193 # define GLOBUS_GSI_SYSCONFIG_GET_GRIDMAP_FILENAME \
194  globus_gsi_sysconfig_get_gridmap_filename_win32
195 # define GLOBUS_GSI_SYSCONFIG_GET_AUTHZ_CONF_FILENAME \
196  globus_gsi_sysconfig_get_authz_conf_filename_win32
197 # define GLOBUS_GSI_SYSCONFIG_GET_GAA_CONF_FILENAME \
198  globus_gsi_sysconfig_get_gaa_conf_filename_win32
199 # define GLOBUS_GSI_SYSCONFIG_IS_SUPERUSER \
200  globus_gsi_sysconfig_is_superuser_win32
201 # define GLOBUS_GSI_SYSCONFIG_GET_USER_ID_STRING \
202  globus_gsi_sysconfig_get_user_id_string_win32
203 # define GLOBUS_GSI_SYSCONFIG_GET_PROC_ID_STRING \
204  globus_gsi_sysconfig_get_proc_id_string_win32
205 # define GLOBUS_GSI_SYSCONFIG_GET_USERNAME \
206  globus_gsi_sysconfig_get_username_win32
207 #else
208 
215 # define GLOBUS_GSI_SYSCONFIG_SET_KEY_PERMISSIONS \
216  globus_gsi_sysconfig_set_key_permissions_unix
217 
224 # define GLOBUS_GSI_SYSCONFIG_GET_HOME_DIR \
225  globus_gsi_sysconfig_get_home_dir_unix
226 
233 # define GLOBUS_GSI_SYSCONFIG_CHECK_KEYFILE \
234  globus_gsi_sysconfig_check_keyfile_unix
235 
242 # define GLOBUS_GSI_SYSCONFIG_CHECK_CERTFILE \
243  globus_gsi_sysconfig_check_certfile_unix
244 
251 # define GLOBUS_GSI_SYSCONFIG_FILE_EXISTS \
252  globus_gsi_sysconfig_file_exists_unix
253 
260 # define GLOBUS_GSI_SYSCONFIG_DIR_EXISTS \
261  globus_gsi_sysconfig_dir_exists_unix
262 
269 # define GLOBUS_GSI_SYSCONFIG_GET_CERT_DIR \
270  globus_gsi_sysconfig_get_cert_dir_unix
271 
278 # define GLOBUS_GSI_SYSCONFIG_GET_USER_CERT_FILENAME \
279  globus_gsi_sysconfig_get_user_cert_filename_unix
280 
287 # define GLOBUS_GSI_SYSCONFIG_GET_HOST_CERT_FILENAME \
288  globus_gsi_sysconfig_get_host_cert_filename_unix
289 
296 # define GLOBUS_GSI_SYSCONFIG_GET_SERVICE_CERT_FILENAME \
297  globus_gsi_sysconfig_get_service_cert_filename_unix
298 
305 # define GLOBUS_GSI_SYSCONFIG_GET_PROXY_FILENAME \
306  globus_gsi_sysconfig_get_proxy_filename_unix
307 
314 # define GLOBUS_GSI_SYSCONFIG_GET_SIGNING_POLICY_FILENAME \
315  globus_gsi_sysconfig_get_signing_policy_filename_unix
316 
324 # define GLOBUS_GSI_SYSCONFIG_GET_CA_CERT_FILES \
325  globus_gsi_sysconfig_get_ca_cert_files_unix
326 
333 # define GLOBUS_GSI_SYSCONFIG_GET_CURRENT_WORKING_DIR \
334  globus_gsi_sysconfig_get_current_working_dir_unix
335 
342 # define GLOBUS_GSI_SYSCONFIG_MAKE_ABSOLUTE_PATH_FOR_FILENAME \
343  globus_gsi_sysconfig_make_absolute_path_for_filename_unix
344 
351 # define GLOBUS_GSI_SYSCONFIG_SPLIT_DIR_AND_FILENAME \
352  globus_gsi_sysconfig_split_dir_and_filename_unix
353 
360 # define GLOBUS_GSI_SYSCONFIG_REMOVE_ALL_OWNED_FILES \
361  globus_gsi_sysconfig_remove_all_owned_files_unix
362 
369 # define GLOBUS_GSI_SYSCONFIG_GET_GRIDMAP_FILENAME \
370  globus_gsi_sysconfig_get_gridmap_filename_unix
371 
377 # define GLOBUS_GSI_SYSCONFIG_GET_AUTHZ_CONF_FILENAME \
378  globus_gsi_sysconfig_get_authz_conf_filename_unix
379 
386 # define GLOBUS_GSI_SYSCONFIG_GET_GAA_CONF_FILENAME \
387  globus_gsi_sysconfig_get_gaa_conf_filename_unix
388 
395 # define GLOBUS_GSI_SYSCONFIG_IS_SUPERUSER \
396  globus_gsi_sysconfig_is_superuser_unix
397 
404 # define GLOBUS_GSI_SYSCONFIG_GET_USER_ID_STRING \
405  globus_gsi_sysconfig_get_user_id_string_unix
406 
413 # define GLOBUS_GSI_SYSCONFIG_GET_PROC_ID_STRING \
414  globus_gsi_sysconfig_get_proc_id_string_unix
415 
422 # define GLOBUS_GSI_SYSCONFIG_GET_USERNAME \
423  globus_gsi_sysconfig_get_username_unix
424 #endif
425 
432 #define GLOBUS_GSI_SYSCONFIG_GET_UNIQUE_PROXY_FILENAME \
433  globus_gsi_sysconfig_get_unique_proxy_filename
434 
435 #ifdef WIN32
436 
437 globus_result_t
439  char * filename);
440 
441 globus_result_t
442 globus_gsi_sysconfig_get_home_dir_win32(
443  char ** home_dir);
444 
445 globus_result_t
447  const char * filename);
448 
449 globus_result_t
451  const char * filename);
452 
453 globus_result_t
454 globus_gsi_sysconfig_check_keyfile_win32(
455  const char * filename);
456 
457 globus_result_t
458 globus_gsi_sysconfig_check_certfile_win32(
459  const char * filename);
460 
461 globus_result_t
463  char ** cert_dir);
464 
465 globus_result_t
467  char ** user_cert_filename,
468  char ** user_key_filename);
469 
470 globus_result_t
472  char ** host_cert_filename,
473  char ** host_key_filename);
474 
475 globus_result_t
477  char * service_name,
478  char ** service_cert_filename,
479  char ** service_key_filename);
480 
481 globus_result_t
483  char ** proxy_filename,
484  globus_gsi_proxy_file_type_t proxy_file_type);
485 
486 globus_result_t
488  X509_NAME * ca_name,
489  char * cert_dir,
490  char ** signing_policy_filename);
491 
492 globus_result_t
494  char * ca_cert_dir,
495  globus_fifo_t * ca_cert_list);
496 
497 globus_result_t
499  char ** working_dir);
500 
501 globus_result_t
503  char * filename,
504  char ** absolute_path);
505 
506 globus_result_t
508  char * full_filename,
509  char ** dir_string,
510  char ** filename_string);
511 
512 globus_result_t
514  char * default_filename);
515 
516 globus_result_t
518  int * is_superuser);
519 
520 globus_result_t
521 globus_gsi_sysconfig_get_user_id_string_win32(
522  char ** user_id_string);
523 
524 globus_result_t
525 globus_gsi_sysconfig_get_username_win32(
526  char ** username);
527 
528 globus_result_t
529 globus_gsi_sysconfig_get_proc_id_string_win32(
530  char ** proc_id_string);
531 
532 globus_result_t
534  char ** filename);
535 
536 globus_result_t
538  char ** filename);
539 
540 
541 #else /* if WIN32 is not defined, then define the unix functions */
542 
543 globus_result_t
545  char * filename);
546 
547 globus_result_t
549  char ** home_dir);
550 
551 globus_result_t
553  const char * filename);
554 
555 globus_result_t
557  const char * filename);
558 
559 globus_result_t
561  const char * filename);
562 
563 globus_result_t
565  const char * filename);
566 
567 globus_result_t
569  char ** cert_dir);
570 
571 globus_result_t
573  char ** user_cert_filename,
574  char ** user_key_filename);
575 
576 globus_result_t
578  char ** host_cert_filename,
579  char ** host_key_filename);
580 
581 globus_result_t
583  char * service_name,
584  char ** service_cert_filename,
585  char ** service_key_filename);
586 
587 globus_result_t
589  char ** user_proxy,
590  globus_gsi_proxy_file_type_t proxy_file_type);
591 
592 globus_result_t
594  X509_NAME * ca_name,
595  char * cert_dir,
596  char ** signing_policy_filename);
597 
598 globus_result_t
600  char * ca_cert_dir,
601  globus_fifo_t * ca_cert_list);
602 
603 globus_result_t
605  char ** working_dir);
606 
607 globus_result_t
609  char * filename,
610  char ** absolute_path);
611 
612 globus_result_t
614  char * full_filename,
615  char ** dir_string,
616  char ** filename_string);
617 
618 globus_result_t
620  char * default_filename);
621 
622 globus_result_t
624  int * is_superuser);
625 
626 globus_result_t
628  char ** user_id_string);
629 
630 globus_result_t
632  char ** username);
633 
634 globus_result_t
636  char ** proc_id_string);
637 
638 globus_result_t
640  char ** filename);
641 
642 globus_result_t
644  char ** filename);
645 
646 globus_result_t
648  char ** filename);
649 
650 #endif /* WIN32 */
651 
652 globus_result_t
654  char ** unique_filename);
655 
656 #ifdef __cplusplus
657 }
658 #endif
659 
660 #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:815
globus_result_t globus_gsi_sysconfig_get_current_working_dir_unix(char **working_dir)
Definition: globus_gsi_system_config.c:4250
globus_result_t globus_gsi_sysconfig_get_host_cert_filename_unix(char **host_cert_filename, char **host_key_filename)
Definition: globus_gsi_system_config.c:5358
globus_result_t globus_gsi_sysconfig_set_key_permissions_unix(char *filename)
Definition: globus_gsi_system_config.c:3743
globus_result_t globus_gsi_sysconfig_get_cert_dir_unix(char **cert_dir)
Definition: globus_gsi_system_config.c:4905
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:2691
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:3051
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:3636
globus_result_t globus_gsi_sysconfig_get_proxy_filename_unix(char **user_proxy, globus_gsi_proxy_file_type_t proxy_file_type)
Definition: globus_gsi_system_config.c:5955
globus_result_t globus_gsi_sysconfig_get_gaa_conf_filename_unix(char **filename)
Definition: globus_gsi_system_config.c:6978
globus_result_t globus_gsi_sysconfig_file_exists_unix(const char *filename)
Definition: globus_gsi_system_config.c:4442
globus_result_t globus_gsi_sysconfig_get_user_cert_filename_unix(char **user_cert_filename, char **user_key_filename)
Definition: globus_gsi_system_config.c:5116
globus_result_t globus_gsi_sysconfig_make_absolute_path_for_filename_unix(char *filename, char **absolute_path)
Definition: globus_gsi_system_config.c:4077
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:1949
globus_result_t globus_gsi_sysconfig_get_signing_policy_filename_unix(X509_NAME *ca_name, char *cert_dir, char **signing_policy_filename)
Definition: globus_gsi_system_config.c:6100
globus_result_t globus_gsi_sysconfig_get_user_id_string_unix(char **user_id_string)
Definition: globus_gsi_system_config.c:3865
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:1204
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:2552
globus_result_t globus_gsi_sysconfig_get_home_dir_unix(char **home_dir)
Definition: globus_gsi_system_config.c:4326
globus_result_t globus_gsi_sysconfig_split_dir_and_filename_unix(char *full_filename, char **dir_string, char **filename_string)
Definition: globus_gsi_system_config.c:4163
globus_result_t globus_gsi_sysconfig_get_authz_conf_filename_unix(char **filename)
Definition: globus_gsi_system_config.c:6614
globus_result_t globus_gsi_sysconfig_file_exists_win32(const char *filename)
Win32 - File Exists.
Definition: globus_gsi_system_config.c:715
globus_result_t globus_gsi_sysconfig_dir_exists_unix(const char *filename)
Definition: globus_gsi_system_config.c:4544
globus_result_t globus_gsi_sysconfig_is_superuser_win32(int *is_superuser)
Win32 - Check if the current user is root Checks whether the current user is root.
Definition: globus_gsi_system_config.c:3596
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)
Definition: globus_gsi_system_config.c:5631
globus_result_t globus_gsi_sysconfig_set_key_permissions_win32(char *filename)
Win32 - Set Key Permissions.
Definition: globus_gsi_system_config.c:514
globus_result_t globus_gsi_sysconfig_check_keyfile_unix(const char *filename)
Definition: globus_gsi_system_config.c:4635
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:1277
Globus GSI System Config Library.
globus_result_t globus_gsi_sysconfig_get_gridmap_filename_unix(char **filename)
Definition: globus_gsi_system_config.c:6504
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:2830
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:1128
globus_result_t globus_gsi_sysconfig_get_username_unix(char **username)
Definition: globus_gsi_system_config.c:3929
globus_result_t globus_gsi_sysconfig_get_unique_proxy_filename(char **unique_filename)
Definition: globus_gsi_system_config.c:7161
globus_result_t globus_gsi_sysconfig_get_proc_id_string_unix(char **proc_id_string)
Definition: globus_gsi_system_config.c:4022
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:2942
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:2220
globus_result_t globus_gsi_sysconfig_get_ca_cert_files_unix(char *ca_cert_dir, globus_fifo_t *ca_cert_list)
Definition: globus_gsi_system_config.c:6205
globus_result_t globus_gsi_sysconfig_check_certfile_unix(const char *filename)
Definition: globus_gsi_system_config.c:4765
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:1501
globus_result_t globus_gsi_sysconfig_is_superuser_unix(int *is_superuser)
Definition: globus_gsi_system_config.c:6463
globus_result_t globus_gsi_sysconfig_remove_all_owned_files_unix(char *default_filename)
Definition: globus_gsi_system_config.c:6347
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:1708