XRootD
Loading...
Searching...
No Matches
XrdVomsgsi.cc
Go to the documentation of this file.
1/******************************************************************************/
2/* */
3/* X r d V o m s g s i . c c */
4/* */
5/* (c) 2020 by the Board of Trustees of the Leland Stanford, Jr., University */
6/* Produced by Andrew Hanushevsky for Stanford University under contract */
7/* DE-AC02-76-SFO0515 with the Deprtment of Energy */
8/* */
9/* This file is part of the XRootD software suite. */
10/* */
11/* XRootD is free software: you can redistribute it and/or modify it under */
12/* the terms of the GNU Lesser General Public License as published by the */
13/* Free Software Foundation, either version 3 of the License, or (at your */
14/* option) any later version. */
15/* */
16/* XRootD is distributed in the hope that it will be useful, but WITHOUT */
17/* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
18/* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
19/* License for more details. */
20/* */
21/* You should have received a copy of the GNU Lesser General Public License */
22/* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
23/* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
24/* */
25/* The copyright holder's institutional names and contributor's names may not */
26/* be used to endorse or promote products derived from this software without */
27/* specific prior written permission of the institution or contributor. */
28/******************************************************************************/
29
30#include "XrdSys/XrdSysError.hh"
32
33#include "XrdVomsFun.hh"
34
35/******************************************************************************/
36/* L o c a l S t a t i c s */
37/******************************************************************************/
38
39namespace
40{
41XrdVomsFun *vomsFun = 0;
42}
43
44/******************************************************************************/
45/* X R o o t D P l u g i n I n t e r f a c e */
46/******************************************************************************/
47/******************************************************************************/
48/* X r d S e c g s i V O M S F u n */
49/******************************************************************************/
50
51// For historical reason this externally loadable function does not follow
52// the normal naming convention to be backward compatible. We should fix it.
53//
54extern "C"
55{
57{
58// Make sure we were initialized. If so, invoke the function and return result.
59//
60 return (vomsFun ? vomsFun->VOMSFun(ent) : -1);
61}
62}
63
64/******************************************************************************/
65/* X r d S e c g s i V O M S I n i t */
66/******************************************************************************/
67
68// Init the relevant parameters from a dedicated config parameter
69//
70extern "C"
71{
72int XrdSecgsiVOMSInit(const char *cfg)
73{
74 static XrdSysLogger gLogger;
75 static XrdSysError gDest(&gLogger, "XrdVoms");
76
77// Allocate a new Voms object
78//
79 vomsFun = new XrdVomsFun(gDest);
80
81// Initialize it. There is no error return to speak of.
82//
83 return vomsFun->VOMSInit(cfg);
84}
85}
int XrdSecgsiVOMSInit(const char *cfg)
Definition XrdVomsgsi.cc:72
int XrdSecgsiVOMSFun(XrdSecEntity &ent)
Definition XrdVomsgsi.cc:56