Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

lcas_voms.c File Reference

Interface to the LCAS plugins. More...

#include "lcas_config.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <pwd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <libgen.h>
#include <openssl/x509.h>
#include <errno.h>
#include "gssapi.h"
#include "lcas_modules.h"
#include "lcas_voms_utils.h"
#include "lcas_vo_data.h"
#include "lcas_gridlist.h"
#include <libxml/tree.h>
#include "gridsite.h"
#include "gridsite-gacl.h"
#include "voms_apic.h"
#include "globus_gss_assist.h"

Go to the source code of this file.

Enumerations

enum  authformat_e { NO_FORMAT, SIMPLE_FORMAT, GACL_FORMAT, XACML_FORMAT }
 This enumeration type gives the different plugin symbol/function types. More...

enum  gacl_use_voms_dn_e { ALWAYS_USE_VOMS_DN, USE_VOMS_DN, DONT_USE_VOMS_DN }

Functions

int lcas_check_gacl (GACLuser *, char *)
 check the LCAS GACL

int lcas_gacl_add_dn (GACLuser **, char *)
 Add the user_dn to gacluser.

int lcas_gacl_add_vomsdata (GACLuser **, lcas_vo_data_t *, char *)
 Add the VOMS data to the gacl user.


Detailed Description

Interface to the LCAS plugins.

Author:
Martijn Steenbakkers for the EU DataGrid.
This file contains the code for the voms plugin (extracts the VOMS info from the certificate). The interface consists of the following functions:
  1. plugin_initialize()
  2. plugin_confirm_authorization()
  3. plugin_terminate()

Definition in file lcas_voms.c.


Enumeration Type Documentation

enum authformat_e
 

This enumeration type gives the different plugin symbol/function types.

Enumeration values:
NO_FORMAT  this value corresponds to no format at all
SIMPLE_FORMAT  this value corresponds to the 'simple' authorization file format
GACL_FORMAT  this value corresponds to the 'gacl' authorization file format
XACML_FORMAT  this value corresponds to the 'xacml' authorization file format

Definition at line 147 of file lcas_voms.c.

enum gacl_use_voms_dn_e
 

Enumeration values:
ALWAYS_USE_VOMS_DN  always include the VOMS dn in the gacl user credential
USE_VOMS_DN  create a gacl user credential with and without the VOMS dn
DONT_USE_VOMS_DN  do not include the VOMS dn in the gacl user credential

Definition at line 156 of file lcas_voms.c.


Function Documentation

int lcas_check_gacl GACLuser *  gacluser,
char *  gaclfile
[static]
 

check the LCAS GACL

Apply the LCAS authorization GACL to the user credentials (VOMS cred. and DN)

Parameters:
gacluser the gacl_user, which consists of his DN and VOMS entries
gaclfile the file containing the LCAS GACL
Return values:
0 success
1 failure

Definition at line 1359 of file lcas_voms.c.

References lcas_get_debug_level(), lcas_log(), and lcas_log_debug().

int lcas_gacl_add_dn GACLuser **  pgacluser,
char *  user_dn
[static]
 

Add the user_dn to gacluser.

Add the user_dn to gacluser. If the gacluser does not exist, it will be created.

Parameters:
pgacluser pointer to the gacl user
user_dn the DN of the user
Return values:
0 success
1 failure

Definition at line 1134 of file lcas_voms.c.

References lcas_log(), and lcas_log_debug().

int lcas_gacl_add_vomsdata GACLuser **  pgacluser,
lcas_vo_data_t lcas_voms_data,
char *  voms_server_dn
[static]
 

Add the VOMS data to the gacl user.

Add the VOMS data to the gacl user. If the gacluser does not exist, it will be created.

Parameters:
pgacluser pointer to the gacl user
lcas_voms_data the gathered VOMS data structure
voms_server_dn the DN of the VOMS server that signed the VOMS certificate
Return values:
0 success
1 failure

Definition at line 1233 of file lcas_voms.c.

References lcas_vo_data_s::capability, lcas_vo_data_s::group, lcas_log(), lcas_log_debug(), lcas_parseVostring(), lcas_vo_data_s::role, lcas_vo_data_s::subgroup, and lcas_vo_data_s::vo.


Generated on Fri May 27 18:10:49 2005 for lcas by doxygen 1.3.5