XrdAccAudit.cc

Go to the documentation of this file.
00001 /******************************************************************************/
00002 /*                                                                            */
00003 /*                        X r d A c c A u d i t . c c                         */
00004 /*                                                                            */
00005 /* (c) 2003 by the Board of Trustees of the Leland Stanford, Jr., University  */
00006 /*                            All Rights Reserved                             */
00007 /*   Produced by Andrew Hanushevsky for Stanford University under contract    */
00008 /*              DE-AC03-76-SFO0515 with the Department of Energy              */
00009 /******************************************************************************/
00010 
00011 //         $Id: XrdAccAudit.cc 22437 2008-03-04 14:35:16Z rdm $
00012 
00013 const char *XrdAccAuditCVSID = "$Id: XrdAccAudit.cc 22437 2008-03-04 14:35:16Z rdm $";
00014 
00015 #include <stdio.h>
00016 #include <stdlib.h>
00017 
00018 #include "XrdAcc/XrdAccAudit.hh"
00019 #include "XrdSys/XrdSysError.hh"
00020   
00021 /******************************************************************************/
00022 /*                           C o n s t r u c t o r                            */
00023 /******************************************************************************/
00024   
00025 XrdAccAudit::XrdAccAudit(XrdSysError *erp)
00026 {
00027 
00028 // Set default
00029 //
00030    auditops = audit_none;
00031    mDest    = erp;
00032 }
00033 
00034 /******************************************************************************/
00035 /*                                  D e n y                                   */
00036 /******************************************************************************/
00037   
00038 void XrdAccAudit::Deny(const char *opname,
00039                        const char *tident,
00040                        const char *atype,
00041                        const char *id,
00042                        const char *host,
00043                        const char *path)
00044 {if (auditops & audit_deny)
00045     {char buff[2048];
00046      snprintf(buff, sizeof(buff)-1, "%s deny %s %s@%s %s %s",
00047               (tident ? tident : ""), atype, id, host, opname, path);
00048      buff[sizeof(buff)-1] = '\0';
00049      mDest->Emsg("Audit", buff);
00050     }
00051 }
00052 
00053 /******************************************************************************/
00054 /*                                 G r a n t                                  */
00055 /******************************************************************************/
00056   
00057 void XrdAccAudit::Grant(const char *opname,
00058                         const char *tident,
00059                         const char *atype,
00060                         const char *id,
00061                         const char *host,
00062                         const char *path)
00063 {if (auditops & audit_deny)
00064     {char buff[2048];
00065      snprintf(buff, sizeof(buff)-1, "%s grant %s %s@%s %s %s",
00066               (tident ? tident : ""), atype, id, host, opname, path);
00067      buff[sizeof(buff)-1] = '\0';
00068      mDest->Emsg("Audit", buff);
00069     }
00070 }
00071 
00072 /******************************************************************************/
00073 /*                A u d i t   O b j e c t   G e n e r a t o r                 */
00074 /******************************************************************************/
00075   
00076 XrdAccAudit *XrdAccAuditObject(XrdSysError *erp)
00077 {
00078 static XrdAccAudit AuditObject(erp);
00079 
00080 // Simply return the default audit object
00081 //
00082    return &AuditObject;
00083 }

Generated on Tue Jul 5 14:46:15 2011 for ROOT_528-00b_version by  doxygen 1.5.1