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 "voms_apic.h"
#include "gacl.h"
#include "globus_gss_assist.h"

Include dependency graph for lcas_voms.c:

Include dependency graph

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. More...

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

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

int plugin_confirm_authorization (lcas_request_t request, lcas_cred_id_t lcas_cred)
 ******************************************************************************.


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.

For internal use only.

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 137 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 146 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 1289 of file lcas_voms.c.

Referenced by plugin_confirm_authorization().

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 1064 of file lcas_voms.c.

Referenced by plugin_confirm_authorization().

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 1163 of file lcas_voms.c.

Referenced by plugin_confirm_authorization().


Generated at Tue Sep 23 15:07:10 2003 for edg-lcas by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001