This file is indexed.

/usr/include/arc/communication/ClientSAML2SSO.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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
// -*- indent-tabs-mode: nil -*-

#ifndef __ARC_CLIENTSAML2SSO_H__
#define __ARC_CLIENTSAML2SSO_H__

#include <string>
#include <list>

#include <inttypes.h>

#include <arc/ArcConfig.h>
#include <arc/URL.h>
#include <arc/message/MCC_Status.h>
#include <arc/message/PayloadRaw.h>
#include <arc/message/PayloadSOAP.h>
#include <arc/communication/ClientInterface.h>

namespace Arc {

  class ClientHTTPwithSAML2SSO {
  public:
    /** Constructor creates MCC chain and connects to server. */
    ClientHTTPwithSAML2SSO() : http_client_(NULL), authn_(false) {}
    ClientHTTPwithSAML2SSO(const BaseConfig& cfg, const URL& url);
    virtual ~ClientHTTPwithSAML2SSO();

    /** Send HTTP request and receive response. */
    MCC_Status process(const std::string& method, PayloadRawInterface *request,
                       HTTPClientInfo *info, PayloadRawInterface **response,
                       const std::string& idp_name, const std::string& username,
                       const std::string& password, const bool reuse_authn = false);
    MCC_Status process(const std::string& method, const std::string& path,
                       PayloadRawInterface *request,
                       HTTPClientInfo *info, PayloadRawInterface **response,
                       const std::string& idp_name, const std::string& username,
                       const std::string& password, const bool reuse_authn = false);
  private:
    ClientHTTP *http_client_;
    bool authn_;
    //Credential and trusted certificates used to contact IdP
    std::string cert_file_;
    std::string privkey_file_;
    std::string ca_file_;
    std::string ca_dir_;
    static Logger logger;

    std::string cookie;
  };

  class ClientSOAPwithSAML2SSO {
  public:
    /** Constructor creates MCC chain and connects to server.*/
    ClientSOAPwithSAML2SSO() : soap_client_(NULL), authn_(false) {}
    ClientSOAPwithSAML2SSO(const BaseConfig& cfg, const URL& url);
    virtual ~ClientSOAPwithSAML2SSO();
    /** Send SOAP request and receive response. */
    MCC_Status process(PayloadSOAP *request, PayloadSOAP **response,
                       const std::string& idp_name, const std::string& username,
                       const std::string& password, const bool reuse_authn = false);
    /** Send SOAP request with specified SOAP action and receive response. */
    MCC_Status process(const std::string& action,
                       PayloadSOAP *request, PayloadSOAP **response,
                       const std::string& idp_name, const std::string& username,
                       const std::string& password, const bool reuse_authn = false);
  private:
    ClientSOAP *soap_client_;
    bool authn_;
    //Credential and trusted certificates used to contact IdP
    std::string cert_file_;
    std::string privkey_file_;
    std::string ca_file_;
    std::string ca_dir_;
    static Logger logger;

    std::string cookie;
  };

} // namespace Arc

#endif // __ARC_CLIENTSAML2SSO_H__