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"

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.

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

References lcas_get_debug_level.

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

References lcas_vo_data_s::capability, lcas_vo_data_s::group, lcas_vo_data_s::role, lcas_vo_data_s::subgroup, and lcas_vo_data_s::vo.

Referenced by plugin_confirm_authorization.


Generated on Mon Sep 20 15:14:15 2004 for edg-lcas by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002