XRootD
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,
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
Definition: XrdAccGroups.cc:73
XrdAccGroups XrdAccGroupMaster
Definition: XrdAccGroups.cc:67
const char * Gtab[NGROUPS_MAX]
Definition: XrdAccGroups.cc:76
const char * host
Definition: XrdAccGroups.cc:74
const char * Domain()

References XrdAccGroups::Domain(), XrdAccGroupArgs::Gtab, XrdAccGroupArgs::gtabi, XrdAccGroupArgs::host, XrdAccGroupArgs::user, and XrdAccGroupMaster.

Referenced by XrdAccGroups::NetGroups().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ XrdAccGroupMaster

XrdAccGroups XrdAccGroupMaster

Definition at line 67 of file XrdAccGroups.cc.

Referenced by XrdAccCheckNetGroup().