#include "glite/jobid/strmd5.h"
#include "stats.h"
+#include "authz_policy.h"
#define GROUPS_HASHTABLE_SIZE 1000
)
{
edg_wll_JobStatCode later_state;
+ struct _edg_wll_GssPrincipal_data princ;
+ edg_wll_ResetError(ctx);
+ memset(&princ, 0, sizeof princ);
+ princ.name = ctx->peerName;
+ princ.fqans = ctx->fqans;
switch (ctx->count_statistics) {
case 0: return edg_wll_SetError(ctx,ENOSYS,NULL);
- case 1: if (!ctx->noAuth) return edg_wll_SetError(ctx,EPERM,NULL);
- break;
+ case 1: if (!ctx->noAuth && !check_authz_policy(&ctx->authz_policy, &princ, GET_STATISTICS))
+ return edg_wll_SetError(ctx, EPERM, NULL);
case 2: break;
default: abort();
}
eval value=\"$`echo GLITE_LB_AUTHZ_$section`\"
case "$section" in
ADMIN_ACCESS) value="$value,$superusers" ;;
+ GET_STATISTICS) value="$value,$wms" ;;
READ_ALL) value="$value,$wms,$rtm" ;;
PURGE) value="$value,$wms" ;;
LOG_WMS_EVENTS) value="$value,$wms" ;;