This file is indexed.

/usr/include/arc/security/ArcPDP/alg/PermitOverridesAlg.h is in nordugrid-arc-dev 4.2.0-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef __ARC_SEC_PERMITOVERRIDESCOMBININGALG_H__
#define __ARC_SEC_PERMITOVERRIDESCOMBININGALG_H__

#include <arc/security/ArcPDP/alg/CombiningAlg.h>
#include <arc/security/ArcPDP/EvaluationCtx.h>

namespace ArcSec {
///Implement the "Permit-Overrides" algorithm
/**Permit-Overrides, scans the policy set which is given as the parameters of "combine"
 *method, if gets "permit" result from any policy, then stops scanning and gives "permit"
 *as result, otherwise gives "deny".
 */
class PermitOverridesCombiningAlg : public CombiningAlg {
private:
  static std::string algId;

public:
  PermitOverridesCombiningAlg(){};
  virtual ~PermitOverridesCombiningAlg(){};

public:
 /**If there is one policy which return positive evaluation result, then omit the
 *other policies and return DECISION_PERMIT
 *@param ctx  This object contains request information which will be used to evaluated
 *against policy.
 *@param policlies This is a container which contains policy objects.
 *@return The combined result according to the algorithm.
 */
  virtual Result combine(EvaluationCtx* ctx, std::list<Policy*> policies);

 /**Get the identifier*/
  virtual const std::string& getalgId(void) const {return algId;};
};

} // namespace ArcSec

#endif /* __ARC_SEC_PERMITOVERRIDESCOMBININGALG_H__ */