#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <string.h>
#include <strings.h>
#include <dirent.h>
#include <ctype.h>
#include <fnmatch.h>
#include <libxml/xmlmemory.h>
#include <libxml/tree.h>
#include <libxml/parser.h>
#include "gridsite.h"
Go to the source code of this file.
Functions | |
GRSTgaclAcl * | GRSTgaclAclParse (xmlDocPtr, xmlNodePtr, GRSTgaclAcl *) |
GRSTgaclAcl * | GRSTxacmlAclParse (xmlDocPtr, xmlNodePtr, GRSTgaclAcl *) |
int | GRSTxacmlPermPrint (GRSTgaclPerm perm, FILE *fp) |
static GRSTgaclCred * | GRSTxacmlCredParse (xmlNodePtr cur) |
static GRSTgaclEntry * | GRSTxacmlEntryParse (xmlNodePtr cur) |
GRSTgaclAcl * | GRSTxacmlAclLoadFile (char *filename) |
int | GRSTxacmlFileIsAcl (char *pathandfile) |
char * | GRSTxacmlFileFindAclname (char *pathandfile) |
GRSTgaclAcl * | GRSTxacmlAclLoadforFile (char *pathandfile) |
int | GRSTxacmlCredPrint (GRSTgaclCred *cred, FILE *fp) |
int | GRSTxacmlEntryPrint (GRSTgaclEntry *entry, FILE *fp, int rule_number) |
int | GRSTxacmlAclPrint (GRSTgaclAcl *acl, FILE *fp, char *dir_uri) |
int | GRSTxacmlAclSave (GRSTgaclAcl *acl, char *filename, char *dir_uri) |
Variables | |
char * | grst_perm_syms [] |
GRSTgaclPerm | grst_perm_vals [] |
FILE * | debugfile |
GRSTgaclAcl* GRSTgaclAclParse | ( | xmlDocPtr | , | |
xmlNodePtr | , | |||
GRSTgaclAcl * | ||||
) |
GRSTgaclAcl* GRSTxacmlAclLoadFile | ( | char * | filename | ) |
Definition at line 231 of file grst_xacml.c.
References acl(), free(), GRSTgaclAclParse(), GRSTxacmlAclParse(), and NULL.
Referenced by GRSTxacmlAclLoadforFile().
GRSTgaclAcl* GRSTxacmlAclLoadforFile | ( | char * | pathandfile | ) |
Definition at line 375 of file grst_xacml.c.
References acl(), free(), GRSTxacmlAclLoadFile(), GRSTxacmlFileFindAclname(), and NULL.
GRSTgaclAcl* GRSTxacmlAclParse | ( | xmlDocPtr | , | |
xmlNodePtr | , | |||
GRSTgaclAcl * | ||||
) |
int GRSTxacmlAclPrint | ( | GRSTgaclAcl * | acl, | |
FILE * | fp, | |||
char * | dir_uri | |||
) |
Definition at line 512 of file grst_xacml.c.
References acl(), entry, fprintf(), GRSTxacmlEntryPrint(), and NULL.
Referenced by GRSTxacmlAclSave().
int GRSTxacmlAclSave | ( | GRSTgaclAcl * | acl, | |
char * | filename, | |||
char * | dir_uri | |||
) |
Definition at line 547 of file grst_xacml.c.
References acl(), fclose(), fopen, fp, fprintf(), GRSTxacmlAclPrint(), and NULL.
static GRSTgaclCred* GRSTxacmlCredParse | ( | xmlNodePtr | cur | ) | [static] |
Definition at line 85 of file grst_xacml.c.
References GRSTgaclCredAddValue(), GRSTgaclCredNew(), GRSTgaclCred::next, and NULL.
Referenced by GRSTxacmlEntryParse().
int GRSTxacmlCredPrint | ( | GRSTgaclCred * | cred, | |
FILE * | fp | |||
) |
Definition at line 402 of file grst_xacml.c.
References GRSTgaclCred::auri, fprintf(), and NULL.
Referenced by GRSTxacmlEntryPrint().
static GRSTgaclEntry* GRSTxacmlEntryParse | ( | xmlNodePtr | cur | ) | [static] |
Definition at line 116 of file grst_xacml.c.
References debugfile, entry, fprintf(), grst_perm_syms, grst_perm_vals, GRSTgaclCredFree(), GRSTgaclEntryAddCred(), GRSTgaclEntryAllowPerm(), GRSTgaclEntryDenyPerm(), GRSTgaclEntryFree(), GRSTgaclEntryNew(), GRSTxacmlCredParse(), i, and NULL.
Referenced by GRSTxacmlAclParse().
int GRSTxacmlEntryPrint | ( | GRSTgaclEntry * | entry, | |
FILE * | fp, | |||
int | rule_number | |||
) |
Definition at line 439 of file grst_xacml.c.
References entry, fprintf(), GRST_PERM_ADMIN, GRST_PERM_READ, GRSTxacmlCredPrint(), GRSTxacmlPermPrint(), i, GRSTgaclCred::next, and NULL.
Referenced by GRSTxacmlAclPrint().
char* GRSTxacmlFileFindAclname | ( | char * | pathandfile | ) |
Definition at line 335 of file grst_xacml.c.
References free(), GRST_ACL_FILE, malloc(), NULL, p, rindex, S_ISDIR, stat, strcat(), and strcpy().
Referenced by GRSTxacmlAclLoadforFile().
int GRSTxacmlFileIsAcl | ( | char * | pathandfile | ) |
int GRSTxacmlPermPrint | ( | GRSTgaclPerm | perm, | |
FILE * | fp | |||
) |
Definition at line 487 of file grst_xacml.c.
References fprintf(), GRST_PERM_READ, grst_perm_syms, grst_perm_vals, i, and NULL.
Referenced by GRSTxacmlEntryPrint().
FILE* debugfile |
Definition at line 71 of file grst_xacml.c.
Referenced by GRSTxacmlAclParse(), and GRSTxacmlEntryParse().
char* grst_perm_syms[] |
Definition at line 90 of file grst_gacl.c.
Referenced by GRSTxacmlEntryParse(), and GRSTxacmlPermPrint().
Definition at line 98 of file grst_gacl.c.
Referenced by GRSTxacmlEntryParse(), and GRSTxacmlPermPrint().