struct action_name action_names[] = {
{ READ_ALL, "READ_ALL" },
- { READ_RTM, "READ_RTM" },
+ { STATUS_FOR_RTM, "STATUS_FOR_RTM" },
+ { LOG_WMS_EVENTS, "LOG_WMS_EVENTS" },
+ { LOG_GENERAL_EVENTS, "LOG_GENERAL_EVENTS" },
};
static int num_actions =
for (i = 0; i < policy->num; i++) {
r = policy->rules + i;
if (r->action != action)
- break;
+ continue;
+ if (strcmp(r->attr_value, ".*") == 0)
+ return 1;
switch (r->attr_id) {
case ATTR_SUBJECT:
if (edg_wll_gss_equal_subj(r->attr_value, ctx->peerName))
if (acl && edg_wll_CheckACL(ctx, acl, EDG_WLL_CHANGEACL_READ) == 0)
return 1;
edg_wll_ResetError(ctx);
- if (check_authz_policy(ctx, &ctx->authz_policy, READ_RTM)) {
- *flags |= READ_RTM;
+ if (check_authz_policy(ctx, &ctx->authz_policy, STATUS_FOR_RTM)) {
+ *flags |= STATUS_FOR_RTM;
return 1;
}
return 0;
free(string_jobid);
free(md5_jobid);
- if (authz_flags && authz_flags & READ_RTM) {
+ if (authz_flags && authz_flags & STATUS_FOR_RTM) {
edg_wll_JobStat new_stat;
memset(&new_stat, 0, sizeof(new_stat));