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::ssl_object Class Reference

#include <irods_ssl_object.hpp>

Inheritance diagram for irods::ssl_object:
[legend]
Collaboration diagram for irods::ssl_object:
[legend]

Public Member Functions

 ssl_object ()
 
 ssl_object (const rcComm_t &)
 
 ssl_object (const rsComm_t &)
 
 ssl_object (const ssl_object &)
 
virtual ~ssl_object ()
 
virtual ssl_objectoperator= (const ssl_object &)
 
virtual bool operator== (const ssl_object &_rhs) const
 
virtual error resolve (const std::string &, plugin_ptr &)
 
virtual error to_client (rcComm_t *)
 
virtual error to_server (rsComm_t *)
 
virtual error get_re_vars (rule_engine_vars_t &)
 
virtual SSL_CTX * ssl_ctx () const
 
virtual SSL * ssl () const
 
virtual std::string host () const
 
virtual buffer_crypt::array_t shared_secret () const
 
virtual int key_size () const
 
virtual int salt_size () const
 
virtual int num_hash_rounds () const
 
virtual std::string encryption_algorithm () const
 
virtual void ssl_ctx (SSL_CTX *_c)
 
virtual void ssl (SSL *_s)
 
virtual void host (const std::string &_h)
 
virtual void shared_secret (const buffer_crypt::array_t &_s)
 
virtual void key_size (int _s)
 
virtual void salt_size (int _s)
 
virtual void num_hash_rounds (int _h)
 
virtual void encryption_algorithm (const std::string &_a)
 
- Public Member Functions inherited from irods::network_object
 network_object ()
 
 network_object (const rcComm_t &)
 
 network_object (const rsComm_t &)
 
 network_object (const network_object &)
 
virtual ~network_object ()
 
virtual network_objectoperator= (const network_object &)
 
virtual bool operator== (const network_object &_rhs) const
 
virtual int socket_handle () const
 
virtual void socket_handle (int _s)
 
- Public Member Functions inherited from irods::first_class_object
 first_class_object ()
 
virtual ~first_class_object ()
 

Private Attributes

SSL_CTX * ssl_ctx_
 
SSL * ssl_
 
std::string host_
 
buffer_crypt::array_t shared_secret_
 
int key_size_
 
int salt_size_
 
int num_hash_rounds_
 
std::string encryption_algorithm_
 

Detailed Description

Definition at line 20 of file irods_ssl_object.hpp.

Constructor & Destructor Documentation

◆ ssl_object() [1/4]

irods::ssl_object::ssl_object ( )

Definition at line 13 of file irods_ssl_object.cpp.

◆ ssl_object() [2/4]

irods::ssl_object::ssl_object ( const rcComm_t _comm)

Definition at line 24 of file irods_ssl_object.cpp.

◆ ssl_object() [3/4]

irods::ssl_object::ssl_object ( const rsComm_t _comm)

Definition at line 38 of file irods_ssl_object.cpp.

◆ ssl_object() [4/4]

irods::ssl_object::ssl_object ( const ssl_object _rhs)

Definition at line 52 of file irods_ssl_object.cpp.

◆ ~ssl_object()

irods::ssl_object::~ssl_object ( )
virtual

Definition at line 66 of file irods_ssl_object.cpp.

Member Function Documentation

◆ encryption_algorithm() [1/2]

virtual std::string irods::ssl_object::encryption_algorithm ( ) const
inlinevirtual

Definition at line 82 of file irods_ssl_object.hpp.

References encryption_algorithm_.

Referenced by operator=(), and operator==().

◆ encryption_algorithm() [2/2]

virtual void irods::ssl_object::encryption_algorithm ( const std::string &  _a)
inlinevirtual

Definition at line 110 of file irods_ssl_object.hpp.

References encryption_algorithm_.

◆ get_re_vars()

error irods::ssl_object::get_re_vars ( rule_engine_vars_t _kvp)
virtual

Reimplemented from irods::network_object.

Definition at line 163 of file irods_ssl_object.cpp.

References encryption_algorithm_, irods::network_object::get_re_vars(), host_, key_size_, num_hash_rounds_, salt_size_, SSL_ALGORITHM_KW, SSL_HOST_KW, SSL_KEY_SIZE_KW, SSL_NUM_HASH_ROUNDS_KW, SSL_SALT_SIZE_KW, and SUCCESS.

Here is the call graph for this function:

◆ host() [1/2]

virtual std::string irods::ssl_object::host ( ) const
inlinevirtual

Definition at line 66 of file irods_ssl_object.hpp.

References host_.

Referenced by operator=(), and operator==().

◆ host() [2/2]

virtual void irods::ssl_object::host ( const std::string &  _h)
inlinevirtual

Definition at line 94 of file irods_ssl_object.hpp.

References host_.

◆ key_size() [1/2]

virtual int irods::ssl_object::key_size ( ) const
inlinevirtual

Definition at line 73 of file irods_ssl_object.hpp.

References key_size_.

Referenced by operator=(), and operator==().

◆ key_size() [2/2]

virtual void irods::ssl_object::key_size ( int  _s)
inlinevirtual

Definition at line 101 of file irods_ssl_object.hpp.

References key_size_.

◆ num_hash_rounds() [1/2]

virtual int irods::ssl_object::num_hash_rounds ( ) const
inlinevirtual

Definition at line 79 of file irods_ssl_object.hpp.

References num_hash_rounds_.

Referenced by operator=(), and operator==().

◆ num_hash_rounds() [2/2]

virtual void irods::ssl_object::num_hash_rounds ( int  _h)
inlinevirtual

Definition at line 107 of file irods_ssl_object.hpp.

References num_hash_rounds_.

◆ operator=()

ssl_object & irods::ssl_object::operator= ( const ssl_object _rhs)
virtual

Definition at line 71 of file irods_ssl_object.cpp.

References encryption_algorithm(), encryption_algorithm_, host(), host_, key_size(), key_size_, num_hash_rounds(), num_hash_rounds_, irods::network_object::operator=(), salt_size(), salt_size_, ssl(), ssl_, ssl_ctx(), and ssl_ctx_.

Here is the call graph for this function:

◆ operator==()

bool irods::ssl_object::operator== ( const ssl_object _rhs) const
virtual
Description:\n Comparison operator

Definition at line 88 of file irods_ssl_object.cpp.

References encryption_algorithm(), encryption_algorithm_, host(), host_, key_size(), key_size_, num_hash_rounds(), num_hash_rounds_, irods::network_object::operator==(), salt_size(), salt_size_, ssl(), ssl_, ssl_ctx(), and ssl_ctx_.

Here is the call graph for this function:

◆ resolve()

error irods::ssl_object::resolve ( const std::string &  _interface,
plugin_ptr _ptr 
)
virtual

Implements irods::network_object.

Definition at line 107 of file irods_ssl_object.cpp.

References ERROR, irods::network_manager::init_from_type(), irods::netwk_mgr, irods::NETWORK_INTERFACE(), irods::error::ok(), PASS, ProcessType, irods::network_manager::resolve(), irods::SSL_NETWORK_PLUGIN(), SUCCESS, and SYS_INVALID_INPUT_PARAM.

Here is the call graph for this function:

◆ salt_size() [1/2]

virtual int irods::ssl_object::salt_size ( ) const
inlinevirtual

Definition at line 76 of file irods_ssl_object.hpp.

References salt_size_.

Referenced by operator=(), and operator==().

◆ salt_size() [2/2]

virtual void irods::ssl_object::salt_size ( int  _s)
inlinevirtual

Definition at line 104 of file irods_ssl_object.hpp.

References salt_size_.

◆ shared_secret() [1/2]

virtual buffer_crypt::array_t irods::ssl_object::shared_secret ( ) const
inlinevirtual

Definition at line 69 of file irods_ssl_object.hpp.

References shared_secret_.

◆ shared_secret() [2/2]

virtual void irods::ssl_object::shared_secret ( const buffer_crypt::array_t _s)
inlinevirtual

Definition at line 97 of file irods_ssl_object.hpp.

References shared_secret_.

◆ ssl() [1/2]

virtual SSL* irods::ssl_object::ssl ( ) const
inlinevirtual

Definition at line 63 of file irods_ssl_object.hpp.

References ssl_.

Referenced by operator=(), and operator==().

◆ ssl() [2/2]

virtual void irods::ssl_object::ssl ( SSL *  _s)
inlinevirtual

Definition at line 91 of file irods_ssl_object.hpp.

References ssl_.

◆ ssl_ctx() [1/2]

virtual SSL_CTX* irods::ssl_object::ssl_ctx ( ) const
inlinevirtual

Definition at line 60 of file irods_ssl_object.hpp.

References ssl_ctx_.

Referenced by operator=(), and operator==().

◆ ssl_ctx() [2/2]

virtual void irods::ssl_object::ssl_ctx ( SSL_CTX *  _c)
inlinevirtual

Definition at line 88 of file irods_ssl_object.hpp.

References ssl_ctx_.

◆ to_client()

error irods::ssl_object::to_client ( rcComm_t _comm)
virtual

◆ to_server()

error irods::ssl_object::to_server ( rsComm_t _comm)
virtual

Member Data Documentation

◆ encryption_algorithm_

std::string irods::ssl_object::encryption_algorithm_
private

◆ host_

std::string irods::ssl_object::host_
private

Definition at line 117 of file irods_ssl_object.hpp.

Referenced by get_re_vars(), host(), operator=(), and operator==().

◆ key_size_

int irods::ssl_object::key_size_
private

Definition at line 120 of file irods_ssl_object.hpp.

Referenced by get_re_vars(), key_size(), operator=(), operator==(), to_client(), and to_server().

◆ num_hash_rounds_

int irods::ssl_object::num_hash_rounds_
private

◆ salt_size_

int irods::ssl_object::salt_size_
private

◆ shared_secret_

buffer_crypt::array_t irods::ssl_object::shared_secret_
private

Definition at line 118 of file irods_ssl_object.hpp.

Referenced by shared_secret(), to_client(), and to_server().

◆ ssl_

SSL* irods::ssl_object::ssl_
private

Definition at line 116 of file irods_ssl_object.hpp.

Referenced by operator=(), operator==(), ssl(), to_client(), and to_server().

◆ ssl_ctx_

SSL_CTX* irods::ssl_object::ssl_ctx_
private

Definition at line 115 of file irods_ssl_object.hpp.

Referenced by operator=(), operator==(), ssl_ctx(), to_client(), and to_server().


The documentation for this class was generated from the following files: