XRootD
Loading...
Searching...
No Matches
XrdAccGroups.cc File Reference
#include <unistd.h>
#include <cctype>
#include <cerrno>
#include <limits.h>
#include <netdb.h>
#include <pwd.h>
#include <cstring>
#include <strings.h>
#include <sys/param.h>
#include <sys/types.h>
#include "XrdSys/XrdSysHeaders.hh"
#include "XrdSys/XrdSysPlatform.hh"
#include "XrdSys/XrdSysPwd.hh"
#include "XrdAcc/XrdAccCapability.hh"
#include "XrdAcc/XrdAccGroups.hh"
#include "XrdAcc/XrdAccPrivs.hh"
+ Include dependency graph for XrdAccGroups.cc:

Go to the source code of this file.

Classes

struct  XrdAccGroupArgs
 

Functions

int XrdAccCheckNetGroup (const char *netgroup, char *key, void *Arg)
 

Variables

XrdAccGroups XrdAccGroupMaster
 

Class Documentation

◆ XrdAccGroupArgs

struct XrdAccGroupArgs

Definition at line 73 of file XrdAccGroups.cc.

+ Collaboration diagram for XrdAccGroupArgs:
Class Members
const char * Gtab[NGROUPS_MAX]
int gtabi
const char * host
const char * user

Function Documentation

◆ XrdAccCheckNetGroup()

int XrdAccCheckNetGroup ( const char * netgroup,
char * key,
void * Arg )

Definition at line 401 of file XrdAccGroups.cc.

402{
403 struct XrdAccGroupArgs *grp = static_cast<struct XrdAccGroupArgs *>(Arg);
404
405 // Check if this netgroup, user, host, domain combination exists.
406 //
407 if (innetgr(netgroup, (const char *)grp->host, (const char *)grp->user,
408 XrdAccGroupMaster.Domain()))
409 {if (grp->gtabi >= NGROUPS_MAX)
410 {if (grp->gtabi == NGROUPS_MAX)
411 std::cerr <<"XrdAccGroups: More than " <<grp->gtabi <<"netgroups for " <<grp->user <<std::endl;
412 return 1;
413 }
414
415 // Add the groupname into the groupname hash table. We have already
416 // been passed the read/only copy of the name.
417 //
418 grp->Gtab[grp->gtabi] = netgroup; grp->gtabi++;
419 }
420 return 0;
421}
const char * user
XrdAccGroups XrdAccGroupMaster
const char * Gtab[NGROUPS_MAX]
const char * host

References XrdAccGroupArgs::Gtab, XrdAccGroupArgs::gtabi, XrdAccGroupArgs::host, XrdAccGroupArgs::user, and XrdAccGroupMaster.

Referenced by XrdAccGroups::NetGroups().

+ Here is the caller graph for this function:

Variable Documentation

◆ XrdAccGroupMaster

XrdAccGroups XrdAccGroupMaster

Definition at line 67 of file XrdAccGroups.cc.

Referenced by XrdAccCheckNetGroup().