Provided by: libglobus-gsi-sysconfig-doc_5.3-3_all bug

NAME

       Functions for Win32 platforms -

   Win32 - Set Key Permissions
       globus_result_t globus_gsi_sysconfig_set_key_permissions_win32 (char *filename)

   Win32 - File Exists
       globus_result_t globus_gsi_sysconfig_file_exists_win32 (const char *filename)

   Win32 - Directory Exists
       globus_result_t globus_gsi_sysconfig_dir_exists_win32 (const char *filename)

   Win32 - Get Current Working Directory
       globus_result_t globus_gsi_sysconfig_get_current_working_dir_win32 (char **working_dir)

   Win32 - Make Absolute Path
       globus_result_t globus_gsi_sysconfig_make_absolute_path_for_filename_win32 (char *filename, char
           **absolute_path)

   Win32 - Split Directory and Filename
       globus_result_t globus_gsi_sysconfig_split_dir_and_filename_win32 (char *full_filename, char
           **dir_string, char **filename_string)

   Win32 - Get Trusted CA Cert Dir
       globus_result_t globus_gsi_sysconfig_get_cert_dir_win32 (char **cert_dir)

   Win32 - Get User Certificate Filename
       globus_result_t globus_gsi_sysconfig_get_user_cert_filename_win32 (char **user_cert, char **user_key)

   Win32 - Get Host Certificate and Key Filenames
       globus_result_t globus_gsi_sysconfig_get_host_cert_filename_win32 (char **host_cert, char **host_key)

   Win32 - Get Service Certificate and Key Filenames
       globus_result_t globus_gsi_sysconfig_get_service_cert_filename_win32 (char *service_name, char
           **service_cert, char **service_key)

   Win32 - Get Proxy Filename
       globus_result_t globus_gsi_sysconfig_get_proxy_filename_win32 (char **user_proxy,
           globus_gsi_proxy_file_type_t proxy_file_type)

   Win32 - Get CA Cert Filenames
       globus_result_t globus_gsi_sysconfig_get_ca_cert_files_win32 (char *ca_cert_dir, globus_fifo_t
           *ca_cert_list)

   Win32 - Remove all proxies owned by current uid
       globus_result_t globus_gsi_sysconfig_remove_all_owned_files_win32 (char *default_filename)

   Win32 - Get the path and file name of the grid map file
       globus_result_t globus_gsi_sysconfig_get_gridmap_filename_win32 (char **filename)
       globus_result_t globus_gsi_sysconfig_get_authz_conf_filename_win32 (char **filename)

   Win32 - Get the path and file name of the gaa config file
       globus_result_t globus_gsi_sysconfig_get_gaa_conf_filename_win32 (char **filename)

   Win32 - Check if the current user is root
       globus_result_t globus_gsi_sysconfig_is_superuser_win32 (int *is_superuser)

   Win32 - Get Signing Policy Filename
       globus_result_t globus_gsi_sysconfig_get_signing_policy_filename_win32 (X509_NAME *ca_name, char
           *cert_dir, char **signing_policy_filename)

Detailed Description

       These functions implement the Win32 version of the Globus GSI System Configuration API.

       They should never be called directly, please use the provided platform independent defines.

Function Documentation

   globus_result_t globus_gsi_sysconfig_set_key_permissions_win32 (char *filename)
       Set the file permissions of a file to read only by the user which are the permissions that should be set
       for all private keys.

       Parameters:
           filename

       Returns:
           GLOBUS_SUCCESS or an error object id

       References GLOBUS_GSI_SYSCONFIG_ERROR_ERRNO, GLOBUS_GSI_SYSCONFIG_ERROR_FILE_HAS_LINKS,
       GLOBUS_GSI_SYSCONFIG_ERROR_FILE_IS_DIR, GLOBUS_GSI_SYSCONFIG_ERROR_FILE_NOT_REGULAR,
       GLOBUS_GSI_SYSCONFIG_ERROR_SETTING_PERMS, and GLOBUS_GSI_SYSCONFIG_MODULE.

   globus_result_t globus_gsi_sysconfig_file_exists_win32 (const char *filename)
       Check that the file exists.

       Parameters:
           filename the file to check

       Returns:
           GLOBUS_SUCCESS (even if the file doesn't exist) - in some abortive cases an error object identifier
           is returned

       References GLOBUS_GSI_SYSCONFIG_ERROR_CHECKING_FILE_EXISTS,
       GLOBUS_GSI_SYSCONFIG_ERROR_FILE_BAD_PERMISSIONS, GLOBUS_GSI_SYSCONFIG_ERROR_FILE_DOES_NOT_EXIST,
       GLOBUS_GSI_SYSCONFIG_ERROR_FILE_IS_DIR, GLOBUS_GSI_SYSCONFIG_ERROR_FILE_NOT_REGULAR,
       GLOBUS_GSI_SYSCONFIG_ERROR_FILE_ZERO_LENGTH, and GLOBUS_GSI_SYSCONFIG_MODULE.

   globus_result_t globus_gsi_sysconfig_dir_exists_win32 (const char *filename)
       Check that the directory exists.

       Parameters:
           filename the file to check

       Returns:
           GLOBUS_SUCCESS if the directory exists, otherwise an error object identifier.

       References GLOBUS_GSI_SYSCONFIG_ERROR_CHECKING_FILE_EXISTS,
       GLOBUS_GSI_SYSCONFIG_ERROR_FILE_BAD_PERMISSIONS, GLOBUS_GSI_SYSCONFIG_ERROR_FILE_DOES_NOT_EXIST,
       GLOBUS_GSI_SYSCONFIG_ERROR_FILE_NOT_DIR, and GLOBUS_GSI_SYSCONFIG_MODULE.

   globus_result_t globus_gsi_sysconfig_get_current_working_dir_win32 (char **working_dir)
       Get the current working directory on a windows system.

       Parameters:
           working_dir The working directory to get

       Returns:
           GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned

       References GLOBUS_GSI_SYSCONFIG_ERROR_ERRNO, and GLOBUS_GSI_SYSCONFIG_MODULE.

   globus_result_t globus_gsi_sysconfig_make_absolute_path_for_filename_win32 (char *filename, char
       **absolute_path)
       Make the filename into an absolute path string based on the current working directory.

       Parameters:
           filename the filename to get the absolute path of.
           absolute_path The resulting absolute path

       Returns:
           GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned

       References GLOBUS_GSI_SYSCONFIG_ERROR_GETTING_CWD, and GLOBUS_GSI_SYSCONFIG_GET_CURRENT_WORKING_DIR.

   globus_result_t globus_gsi_sysconfig_split_dir_and_filename_win32 (char *full_filename, char **dir_string,
       char **filename_string)
       Split the directory and filename portions of a filename string into two separate strings.

       Parameters:
           full_filename
           dir_string
           filename_string

       Returns:

   globus_result_t globus_gsi_sysconfig_get_cert_dir_win32 (char **cert_dir)
       Get the Trusted Certificate Directory containing the trusted Certificate Authority certificates. This
       directory is determined in the order shown below. Failure in one method results in attempting the next.

       1.  X509_CERT_DIR environment variable - if this is set, the trusted certificates will be searched for in
           that directory. This variable allows the end user to specify the location of trusted certificates.
       2.  x509_cert_dir  registry  key  -  If  this  registry key is set on windows, the directory it points to
           should contain the trusted certificates. The path to the registry key is software\Globus\GSI
       3.  \<user home directory>globus\certificates - If this directory exists, and  the  previous  methods  of
           determining the trusted certs directory failed, this directory will be used.
       4.  Host  Trusted  Cert  Dir  -  This  location  is intended to be independent of the globus installation
           ($GLOBUS_LOCATION), and is generally only writeable by the host system administrator.
       5.  Globus Install Trusted Cert Dir - this is $GLOBUS_LOCATION\share\certificates.
       Parameters:
           cert_dir The trusted certificates directory
       Returns:
           GLOBUS_SUCCESS if no error occurred, and a  sufficient  trusted  certificates  directory  was  found.
           Otherwise, an error object identifier returned.
       References GLOBUS_GSI_SYSCONFIG_ERROR_GETTING_CERT_DIR, and GLOBUS_GSI_SYSCONFIG_GET_HOME_DIR.
   globus_result_t globus_gsi_sysconfig_get_user_cert_filename_win32 (char **user_cert, char **user_key)
       Get  the  User  Certificate Filename based on the current user's environment. The following locations are
       searched for cert and key files in order:
       1.  environment variables X509_USER_CERT and X509_USER_KEY
       2.  registry keys x509_user_cert and x509_user_key in software\Globus\GSI
       3.  <users home directory>globus\usercert.pem and <users home directory>globus\userkey.pem
       4.  <users home directory>globus\usercred.p12 - this is a PKCS12 credential
       Parameters:
           user_cert pointer the filename of the user certificate
           user_key pointer to the filename of the user key
       Returns:
           GLOBUS_SUCCESS if the cert and key files were found in one of the possible  locations,  otherwise  an
           error object identifier is returned
       References GLOBUS_GSI_SYSCONFIG_ERROR_GETTING_CERT_STRING, GLOBUS_GSI_SYSCONFIG_ERROR_GETTING_KEY_STRING,
       and GLOBUS_GSI_SYSCONFIG_GET_HOME_DIR.
   globus_result_t globus_gsi_sysconfig_get_host_cert_filename_win32 (char **host_cert, char **host_key)
       Get the Host Certificate and Key Filenames based on the current user's environment. The host cert and key
       are searched for in the following locations (in order):
       1.  X509_USER_CERT and X509_USER_KEY environment variables
       2.  registry keys x509_user_cert and x509_user_key in software\Globus\GSI
       3.  <GLOBUS_LOCATION>\etc\host[cert|key].pem
       4.  <users home directory>globus\host[cert|key].pem
       Parameters:
           host_cert pointer to the host certificate filename
           host_key pointer to the host key filename
       Returns:
           GLOBUS_SUCCESS if the host cert and key were found, otherwise an error object identifier is returned
       References                                              GLOBUS_GSI_SYSCONFIG_ERROR_GETTING_CERT_FILENAME,
       GLOBUS_GSI_SYSCONFIG_ERROR_GETTING_CERT_STRING,    GLOBUS_GSI_SYSCONFIG_ERROR_GETTING_KEY_STRING,     and
       GLOBUS_GSI_SYSCONFIG_GET_HOME_DIR.
   globus_result_t     globus_gsi_sysconfig_get_service_cert_filename_win32     (char     *service_name,    char
       **service_cert, char **service_key)
       Get the Service Certificate Filename based on the current user's environment. The host cert and  key  are
       searched for in the following locations (in order):
       1.  X509_USER_CERT and X509_USER_KEY environment variables
       2.  registry keys x509_user_cert and x509_user_key in software\Globus\GSI
       3.  GLOBUS_LOCATION\etc\{service_name}\{service_name}[cert|key].pem  So  for  example,  if my service was
           named:      myservice,      the      location      of      the      certificate       would       be:
           GLOBUS_LOCATION\etc\myservice\myservicecert.pem
       4.  <users home>globus\{service_name}\{service_name}[cert|key].pem
       Parameters:
           service_name The name of the service which allows us to determine the locations of cert and key files
           to look for
           service_cert pointer to the host certificate filename
           service_key pointer to the host key filename
       Returns:
           GLOBUS_SUCCESS if the service cert and key were found, otherwise an error object identifier
       References                                              GLOBUS_GSI_SYSCONFIG_ERROR_GETTING_CERT_FILENAME,
       GLOBUS_GSI_SYSCONFIG_ERROR_GETTING_CERT_STRING,            GLOBUS_GSI_SYSCONFIG_ERROR_GETTING_KEY_STRING,
       GLOBUS_GSI_SYSCONFIG_GET_HOME_DIR, and GLOBUS_GSI_SYSCONFIG_INVALID_ARG.
   globus_result_t           globus_gsi_sysconfig_get_proxy_filename_win32          (char          **user_proxy,
       globus_gsi_proxy_file_type_tproxy_file_type)
       Get the proxy cert filename based on the following search order:

       1.  X509_USER_PROXY environment variable - This environment variable is set by the at run  time  for  the
           specific application. If the proxy_file_type variable is set to GLOBUS_PROXY_OUTPUT (a proxy filename
           for  writing  is  requested), and the X509_USER_PROXY is set, this will be the resulting value of the
           user_proxy filename string passed in.  If  the  proxy_file_type  is  set  to  GLOBUS_PROXY_INPUT  and
           X509_USER_PROXY  is  set,  but  the  file  it points to does not exist, or has some other readability
           issues, the function will continue checking using the other methods available.
       2.  check the registry key: x509_user_proxy. Just as with the environment variable, if the  registry  key
           is  set,  and proxy_file_type is GLOBUS_PROXY_OUTPUT, the string set to be the proxy filename will be
           this registry key's value. If proxy_file_type is GLOBUS_PROXY_INPUT, and the file doesn't exist,  the
           function will check the next method for the proxy's filename.
       3.  Check  the  default  location for the proxy file. The default location should be set to reside in the
           temp directory on that host, with the filename taking the format: x509_u<user id> where <user id>  is
           some unique string for that user on the host
       Parameters:
           user_proxy the proxy filename of the user
           proxy_file_type  Switch  for determining whether to return a existing proxy filename or if a filename
           suitable for creating a proxy should be returned
       Returns:
           GLOBUS_SUCCESS or an error object identifier
       References  GLOBUS_GSI_SYSCONFIG_ERROR_GETTING_PROXY_FILENAME,   GLOBUS_GSI_SYSCONFIG_GET_USER_ID_STRING,
       GLOBUS_PROXY_FILE_INPUT, and GLOBUS_PROXY_FILE_OUTPUT.
   globus_result_t globus_gsi_sysconfig_get_ca_cert_files_win32 (char *ca_cert_dir, globus_fifo_t *ca_cert_list)

       Gets a list of trusted CA certificate filenames in a trusted CA certificate directory.
       Parameters:
           ca_cert_dir The trusted CA certificate directory to get the filenames from
           ca_cert_list The resulting list of CA certificate filenames. This is a a globus list structure.
       See Also:
           globus_fifo_t
       Returns:
           GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned
       References     GLOBUS_GSI_SYSCONFIG_ERROR_ERRNO,    GLOBUS_GSI_SYSCONFIG_ERROR_GETTING_CA_CERT_FILENAMES,
       GLOBUS_GSI_SYSCONFIG_FILE_EXISTS, and GLOBUS_GSI_SYSCONFIG_MODULE.
   globus_result_t globus_gsi_sysconfig_remove_all_owned_files_win32 (char *default_filename)
       Removes all proxies (ie. all delegated and grid-proxy-init generated proxies) found  in  the  secure  tmp
       directory that are owned by the current user.
       Parameters:
           default_filename The filename of the default proxy
       Returns:
           GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned
       References GLOBUS_GSI_SYSCONFIG_ERROR_ERRNO, and GLOBUS_GSI_SYSCONFIG_MODULE.
   globus_result_t globus_gsi_sysconfig_get_gridmap_filename_win32 (char **filename)
       Get the path and file name of the grid map file.
       Parameters:
           filename Contains the location of the grid map file upon successful return
       Returns:
           GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned
       References  GLOBUS_GSI_SYSCONFIG_ERROR_GETTING_GRIDMAP_FILENAME,  GLOBUS_GSI_SYSCONFIG_GET_HOME_DIR,  and
       globus_gsi_sysconfig_is_superuser_win32().
   globus_result_t globus_gsi_sysconfig_get_authz_conf_filename_win32 (char **filename)
       Get the path and file name of the authorization callback configuration file.
       Parameters:
           filename Contains the location of the  authorization  callback  configuration  file  upon  successful
           return
       Returns:
           GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned
       References   GLOBUS_GSI_SYSCONFIG_ERROR_GETTING_AUTHZ_FILENAME,   GLOBUS_GSI_SYSCONFIG_FILE_EXISTS,   and
       GLOBUS_GSI_SYSCONFIG_GET_HOME_DIR.
   globus_result_t globus_gsi_sysconfig_get_gaa_conf_filename_win32 (char **filename)
       Get the path and file name of the gaa config configuration file .
       Parameters:
           filename Contains the location of the  authorization  callback  configuration  file  upon  successful
           return
       Returns:
           GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned
       References   GLOBUS_GSI_SYSCONFIG_CHECK_CERTFILE,   GLOBUS_GSI_SYSCONFIG_ERROR_GETTING_GAA_FILENAME,  and
       GLOBUS_GSI_SYSCONFIG_GET_HOME_DIR.
   globus_result_t globus_gsi_sysconfig_is_superuser_win32 (int *is_superuser)
       Checks whether the current user is root.
       Parameters:
           is_superuser 1 if the user is the superuser 0 if not
       Returns:
           GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned
   globus_result_t globus_gsi_sysconfig_get_signing_policy_filename_win32 (X509_NAME *ca_name,  char  *cert_dir,
       char **signing_policy_filename)
       Get  the  Signing  Policy Filename on the current system, based on the CA's subject name, and the trusted
       certificates directory.
       Parameters:
           ca_name The X509 subject name of the CA to get the signing policy of. The hash of the CA is generated
           from this
           cert_dir The trusted CA certificates directory, containing the singing_policy files  of  the  trusted
           CA's.
           signing_policy_filename The resulting singing_policy filename
       Returns:
           GLOBUS_SUCCESS if no error occurred, otherwise an error object ID
       References   GLOBUS_GSI_SYSCONFIG_ERROR_GETTING_SIGNING_POLICY,   GLOBUS_GSI_SYSCONFIG_FILE_EXISTS,   and
       GLOBUS_GSI_SYSCONFIG_GET_CERT_DIR.

Author

       Generated automatically by Doxygen for globus gsi sysconfig from the source code.

Version 5.3                                      Fri Nov 22 2013                Functions for Win32 platforms(3)