/usr/include/arc/security/ArcPDP/alg/OrderedAlg.h is in nordugrid-arc-dev 4.0.0-1.
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | #ifndef __ARC_SEC_ORDEREDCOMBININGALG_H__
#define __ARC_SEC_ORDEREDCOMBININGALG_H__
#include <arc/security/ArcPDP/alg/CombiningAlg.h>
#include <arc/security/ArcPDP/EvaluationCtx.h>
namespace ArcSec {
#define MAX_OREDERED_PRIORITIES 4
class OrderedCombiningAlg : public CombiningAlg {
public:
OrderedCombiningAlg() {};
virtual ~OrderedCombiningAlg() {};
protected:
Result combine(EvaluationCtx* ctx, std::list<Policy*> policies,const Result priorities[MAX_OREDERED_PRIORITIES]);
};
#define ORDERED_ALG_CLASS(NAME) \
class NAME: public OrderedCombiningAlg { \
private: \
static std::string algId; \
static Result priorities[MAX_OREDERED_PRIORITIES]; \
public: \
NAME(void) {}; \
virtual ~NAME(void) {}; \
virtual const std::string& getalgId(void) const { return algId; }; \
virtual Result combine(EvaluationCtx* ctx, std::list<Policy*> policies) { \
return OrderedCombiningAlg::combine(ctx,policies,priorities); \
}; \
}
ORDERED_ALG_CLASS(PermitDenyIndeterminateNotApplicableCombiningAlg);
ORDERED_ALG_CLASS(PermitDenyNotApplicableIndeterminateCombiningAlg);
ORDERED_ALG_CLASS(PermitIndeterminateDenyNotApplicableCombiningAlg);
ORDERED_ALG_CLASS(PermitIndeterminateNotApplicableDenyCombiningAlg);
ORDERED_ALG_CLASS(PermitNotApplicableDenyIndeterminateCombiningAlg);
ORDERED_ALG_CLASS(PermitNotApplicableIndeterminateDenyCombiningAlg);
ORDERED_ALG_CLASS(DenyPermitIndeterminateNotApplicableCombiningAlg);
ORDERED_ALG_CLASS(DenyPermitNotApplicableIndeterminateCombiningAlg);
ORDERED_ALG_CLASS(DenyIndeterminatePermitNotApplicableCombiningAlg);
ORDERED_ALG_CLASS(DenyIndeterminateNotApplicablePermitCombiningAlg);
ORDERED_ALG_CLASS(DenyNotApplicablePermitIndeterminateCombiningAlg);
ORDERED_ALG_CLASS(DenyNotApplicableIndeterminatePermitCombiningAlg);
ORDERED_ALG_CLASS(IndeterminatePermitDenyNotApplicableCombiningAlg);
ORDERED_ALG_CLASS(IndeterminatePermitNotApplicableDenyCombiningAlg);
ORDERED_ALG_CLASS(IndeterminateDenyPermitNotApplicableCombiningAlg);
ORDERED_ALG_CLASS(IndeterminateDenyNotApplicablePermitCombiningAlg);
ORDERED_ALG_CLASS(IndeterminateNotApplicablePermitDenyCombiningAlg);
ORDERED_ALG_CLASS(IndeterminateNotApplicableDenyPermitCombiningAlg);
ORDERED_ALG_CLASS(NotApplicablePermitDenyIndeterminateCombiningAlg);
ORDERED_ALG_CLASS(NotApplicablePermitIndeterminateDenyCombiningAlg);
ORDERED_ALG_CLASS(NotApplicableDenyPermitIndeterminateCombiningAlg);
ORDERED_ALG_CLASS(NotApplicableDenyIndeterminatePermitCombiningAlg);
ORDERED_ALG_CLASS(NotApplicableIndeterminatePermitDenyCombiningAlg);
ORDERED_ALG_CLASS(NotApplicableIndeterminateDenyPermitCombiningAlg);
} // namespace ArcSec
#endif /* __ARC_SEC_ORDEREDCOMBININGALG_H__ */
|