This file is indexed.

/usr/include/arc/security/ArcPDP/EvaluationCtx.h is in nordugrid-arc-dev 5.4.2-1build1.

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
61
#ifndef __ARC_SEC_EVALUATIONCTX_H__
#define __ARC_SEC_EVALUATIONCTX_H__

#include <list>
#include <fstream>
#include <arc/XMLNode.h>
#include <arc/Logger.h>

#include "attr/AttributeValue.h"
#include "Request.h"

namespace ArcSec {

class RequestTuple {
public:
  virtual RequestTuple* duplicate(const RequestTuple*) { return NULL; };
  virtual Arc::XMLNode& getNode() { return tuple; };
  RequestTuple() { };
  virtual ~RequestTuple(){ };
  virtual void erase() { };
public:
  Subject sub;
  Resource res;
  Action act;
  Context ctx;
protected:
  Arc::XMLNode tuple;
};

///EvaluationCtx, in charge of storing some context information for 
//evaluation, including Request, current time, etc.
class EvaluationCtx {
public:
  /**Construct a new EvaluationCtx based on the given request */
  EvaluationCtx (Request* request) { req = request; };

  virtual ~EvaluationCtx() { };
  
  virtual Request* getRequest() const { return req; };
 
  //virtual void setRequestItem(RequestItem* reqit) { };

  //virtual RequestItem* getRequestItem() const { return NULL; };

  virtual std::list<AttributeValue*> getSubjectAttributes(std::string& /* id */, std::string& /* type */, std::string& /* issuer */, std::string& /* category */, AttributeFactory* /* attrfactory */) { std::list<AttributeValue*> attrlist; return attrlist; };

  virtual std::list<AttributeValue*> getResourceAttributes(std::string& /* id */, std::string& /* type */, std::string& /* issuer */, AttributeFactory* /* attrfactory */)  { std::list<AttributeValue*> attrlist; return attrlist; };

  virtual std::list<AttributeValue*> getActionAttributes(std::string& /* id */, std::string& /* type */, std::string& /* issuer */, AttributeFactory* /* attrfactory */)  { std::list<AttributeValue*> attrlist; return attrlist; };

  virtual std::list<AttributeValue*> getContextAttributes(std::string& /* id */, std::string& /* type */, std::string& /* issuer */, AttributeFactory* /* attrfactory */)  { std::list<AttributeValue*> attrlist; return attrlist; };

  virtual std::list<AttributeValue*> getAttributes(std::string& /* reqctxpath */, Arc::XMLNode& /* policy */, std::string& /* data_type */, AttributeFactory* /* attrfactory */)  { std::list<AttributeValue*> attrlist; return attrlist; };

private:
  Request* req;
};

} // namespace ArcSec

#endif /* __ARC_SEC_EVALUATIONCTX_H__ */