irods  4.2.8
About: iRODS (the integrated Rule Oriented Data System) is a distributed data-management system for creating data grids, digital libraries, persistent archives, and real-time data systems.
  Fossies Dox: irods-4.2.8.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

irods_client_server_negotiation.hpp
Go to the documentation of this file.
1 #ifndef __IRODS_CLIENT_SERVER_NEGOTIATION_HPP__
2 #define __IRODS_CLIENT_SERVER_NEGOTIATION_HPP__
3 
4 // =-=-=-=-=-=-=-
5 #include "irods_log.hpp"
8 
9 // =-=-=-=-=-=-=-
10 // boost includes
11 #include <boost/shared_ptr.hpp>
12 
13 // =-=-=-=-=-=-=-
14 // irods includes
15 #include "rcConnect.h"
16 
17 // =-=-=-=-=-=-=-
18 // stl includes
19 #include <string>
20 
21 namespace irods {
24  const char RODS_CS_NEG [] = {"RODS_CS_NEG"};
25  const char CS_NEG_USE_SSL_KW[] = {"cs_neg_ssl_kw"};
26 
29  const int CS_NEG_STATUS_SUCCESS = 1;
30  const int CS_NEG_STATUS_FAILURE = 0;
31 
34  struct cs_neg_t {
35  int status_;
37  };
38 
41  const std::string CS_NEG_FAILURE( "CS_NEG_FAILURE" );
42  const std::string CS_NEG_USE_SSL( "CS_NEG_USE_SSL" );
43  const std::string CS_NEG_USE_TCP( "CS_NEG_USE_TCP" );
44 
45  const std::string CS_NEG_REQUIRE( "CS_NEG_REQUIRE" ); // index 0
46  const std::string CS_NEG_REFUSE( "CS_NEG_REFUSE" ); // index 1
47  const std::string CS_NEG_DONT_CARE( "CS_NEG_DONT_CARE" ); // index 2
48 
49  const std::string CS_NEG_SID_KW( "cs_neg_sid_kw" );
50  const std::string CS_NEG_RESULT_KW( "cs_neg_result_kw" );
51 
56 
61 
65  irods::network_object_ptr, // server connection handle
66  std::string& ); // results of negotiation
67 
71  irods::network_object_ptr, // client connection handle
72  const std::string&, // host name
73  std::string& ); // results of the negotiation
74 
78  irods::network_object_ptr, // socket
79  cs_neg_t& ); // message payload
80 
84  irods::network_object_ptr, // socket
85  boost::shared_ptr< cs_neg_t >& ); // message payload
86 
90  const std::string, // incoming SID
91  const std::string, // encryption key
92  std::string& ); // signed buffer
93 
97  const std::string ); // incoming signed SID
98 
99 }; // namespace irods
100 
101 #endif // __IRODS_CLIENT_SERVER_NEGOTIATION_HPP__
102 
103 
104 
irods::check_sent_sid
error check_sent_sid(const std::string)
Definition: irods_server_negotiation.cpp:17
irods::CS_NEG_FAILURE
const std::string CS_NEG_FAILURE("CS_NEG_FAILURE")
irods_server_properties.hpp
irods::CS_NEG_STATUS_SUCCESS
const int CS_NEG_STATUS_SUCCESS
Definition: irods_client_server_negotiation.hpp:29
irods::CS_NEG_SID_KW
const std::string CS_NEG_SID_KW("cs_neg_sid_kw")
irods::CS_NEG_USE_TCP
const std::string CS_NEG_USE_TCP("CS_NEG_USE_TCP")
irods::cs_neg_t::result_
char result_[(1024+64)]
Definition: irods_client_server_negotiation.hpp:36
irods::cs_neg_t
Definition: irods_client_server_negotiation.hpp:34
irods_network_object.hpp
rcConnect.h
irods::do_client_server_negotiation_for_server
bool do_client_server_negotiation_for_server()
Definition: irods_client_negotiation.cpp:220
irods::send_client_server_negotiation_message
error send_client_server_negotiation_message(irods::network_object_ptr, cs_neg_t &)
Definition: irods_client_negotiation.cpp:411
irods::cs_neg_t::status_
int status_
Definition: irods_client_server_negotiation.hpp:35
irods::sign_server_sid
error sign_server_sid(const std::string, const std::string, std::string &)
Definition: irods_client_negotiation.cpp:76
irods::read_client_server_negotiation_message
error read_client_server_negotiation_message(irods::network_object_ptr, boost::shared_ptr< cs_neg_t > &)
Definition: irods_client_negotiation.cpp:445
irods::CS_NEG_DONT_CARE
const std::string CS_NEG_DONT_CARE("CS_NEG_DONT_CARE")
irods
Definition: apiHandler.hpp:35
irods::CS_NEG_USE_SSL
const std::string CS_NEG_USE_SSL("CS_NEG_USE_SSL")
MAX_NAME_LEN
#define MAX_NAME_LEN
Definition: rodsDef.h:61
irods::error
Definition: irods_error.hpp:23
irods::do_client_server_negotiation_for_client
bool do_client_server_negotiation_for_client()
Definition: irods_client_negotiation.cpp:187
irods::CS_NEG_REQUIRE
const std::string CS_NEG_REQUIRE("CS_NEG_REQUIRE")
irods::network_object_ptr
boost::shared_ptr< network_object > network_object_ptr
Definition: irods_network_object.hpp:78
irods::RODS_CS_NEG
const char RODS_CS_NEG[]
Definition: irods_client_server_negotiation.hpp:24
irods::client_server_negotiation_for_client
error client_server_negotiation_for_client(irods::network_object_ptr, const std::string &, std::string &)
Definition: irods_client_negotiation.cpp:247
irods::CS_NEG_RESULT_KW
const std::string CS_NEG_RESULT_KW("cs_neg_result_kw")
irods::CS_NEG_USE_SSL_KW
const char CS_NEG_USE_SSL_KW[]
Definition: irods_client_server_negotiation.hpp:25
irods::CS_NEG_REFUSE
const std::string CS_NEG_REFUSE("CS_NEG_REFUSE")
irods::CS_NEG_STATUS_FAILURE
const int CS_NEG_STATUS_FAILURE
Definition: irods_client_server_negotiation.hpp:30
irods_log.hpp
irods::client_server_negotiation_for_server
error client_server_negotiation_for_server(irods::network_object_ptr, std::string &)
Definition: irods_server_negotiation.cpp:93