diff --git a/src/XrdSciTokens/XrdSciTokensAccess.cc b/src/XrdSciTokens/XrdSciTokensAccess.cc index 5b3b6a35ada..59302b70c89 100644 --- a/src/XrdSciTokens/XrdSciTokensAccess.cc +++ b/src/XrdSciTokens/XrdSciTokensAccess.cc @@ -342,6 +342,10 @@ class XrdAccRules if ((oper == rule.first) && !path.compare(0, rule.second.size(), rule.second, 0, rule.second.size()) && ( rule.second.size() == path.length() || path[rule.second.size()]=='/') ) { return true; } + // pass the scope if the operation is stat of mkdir + if ((oper == rule.first) && (oper == AOP_Stat || oper == AOP_Mkdir) && rule.second.size() >= path.length() && !rule.second.compare(0, path.size(), path, 0, path.size()) && (rule.second.size() == path.length() || rule.second[path.length()] == '/') ) { + return true; + } } return false; }