00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
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
00023
00024
00025 XrdAccAudit::XrdAccAudit(XrdSysError *erp)
00026 {
00027
00028
00029
00030 auditops = audit_none;
00031 mDest = erp;
00032 }
00033
00034
00035
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
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
00074
00075
00076 XrdAccAudit *XrdAccAuditObject(XrdSysError *erp)
00077 {
00078 static XrdAccAudit AuditObject(erp);
00079
00080
00081
00082 return &AuditObject;
00083 }