libsshpp v0.1.7
Modern C++17 wrapper for libssh
Loading...
Searching...
No Matches
sshpp::SessionOptions Struct Reference

#include <session_options.hpp>

Classes

class  Builder
 

Public Member Functions

Result< void > validate () const
 

Static Public Member Functions

static Result< SessionOptionsparse_target (std::string_view target)
 Parse "user@host:port" / "host" / "[v6::addr]:port".
 
static Builder builder ()
 

Public Attributes

std::string host
 
std::optional< std::uint16_t > port
 
std::optional< std::string > user
 
std::optional< std::string > bind_address
 
std::optional< int > fd
 
std::optional< std::string > proxy_command
 
std::optional< std::string > proxy_jump
 
std::optional< std::chrono::microseconds > timeout
 
std::optional< bool > tcp_nodelay
 
std::optional< std::filesystem::path > ssh_dir
 
std::optional< std::filesystem::path > known_hosts
 
std::optional< std::filesystem::path > global_known_hosts
 
std::vector< std::filesystem::path > identities
 
std::optional< std::filesystem::path > config_file
 
bool process_config = true
 
std::optional< std::string > ciphers_client_to_server
 
std::optional< std::string > ciphers_server_to_client
 
std::optional< std::string > key_exchange
 
std::optional< std::string > hmac_client_to_server
 
std::optional< std::string > hmac_server_to_client
 
std::optional< std::string > host_key_algorithms
 
std::optional< std::string > public_key_accepted_types
 
std::optional< Compressioncompression
 
std::optional< int > compression_level
 
std::optional< std::uint64_t > rekey_data_bytes
 
std::optional< std::chrono::seconds > rekey_time
 
std::optional< StrictHostKeyCheckingstrict_host_key_checking
 
std::optional< std::string > gssapi_server_identity
 
std::optional< std::string > gssapi_client_identity
 
std::optional< bool > gssapi_delegate_credentials
 
Locking locking = Locking::none
 
LogLevel log_level = LogLevel::none
 

Detailed Description

Type-safe, checked replacement for ssh_options_set's void* interface. See docs/design/04 ยง4.2.

Member Function Documentation

◆ parse_target()

SSHPP_INLINE Result< SessionOptions > sshpp::SessionOptions::parse_target ( std::string_view  target)
static

Parse "user@host:port" / "host" / "[v6::addr]:port".

◆ validate()

SSHPP_INLINE Result< void > sshpp::SessionOptions::validate ( ) const

◆ builder()

SessionOptions::Builder sshpp::SessionOptions::builder ( )
inlinestatic

Member Data Documentation

◆ host

std::string sshpp::SessionOptions::host

◆ port

std::optional<std::uint16_t> sshpp::SessionOptions::port

◆ user

std::optional<std::string> sshpp::SessionOptions::user

◆ bind_address

std::optional<std::string> sshpp::SessionOptions::bind_address

◆ fd

std::optional<int> sshpp::SessionOptions::fd

◆ proxy_command

std::optional<std::string> sshpp::SessionOptions::proxy_command

◆ proxy_jump

std::optional<std::string> sshpp::SessionOptions::proxy_jump

◆ timeout

std::optional<std::chrono::microseconds> sshpp::SessionOptions::timeout

◆ tcp_nodelay

std::optional<bool> sshpp::SessionOptions::tcp_nodelay

◆ ssh_dir

std::optional<std::filesystem::path> sshpp::SessionOptions::ssh_dir

◆ known_hosts

std::optional<std::filesystem::path> sshpp::SessionOptions::known_hosts

◆ global_known_hosts

std::optional<std::filesystem::path> sshpp::SessionOptions::global_known_hosts

◆ identities

std::vector<std::filesystem::path> sshpp::SessionOptions::identities

◆ config_file

std::optional<std::filesystem::path> sshpp::SessionOptions::config_file

◆ process_config

bool sshpp::SessionOptions::process_config = true

◆ ciphers_client_to_server

std::optional<std::string> sshpp::SessionOptions::ciphers_client_to_server

◆ ciphers_server_to_client

std::optional<std::string> sshpp::SessionOptions::ciphers_server_to_client

◆ key_exchange

std::optional<std::string> sshpp::SessionOptions::key_exchange

◆ hmac_client_to_server

std::optional<std::string> sshpp::SessionOptions::hmac_client_to_server

◆ hmac_server_to_client

std::optional<std::string> sshpp::SessionOptions::hmac_server_to_client

◆ host_key_algorithms

std::optional<std::string> sshpp::SessionOptions::host_key_algorithms

◆ public_key_accepted_types

std::optional<std::string> sshpp::SessionOptions::public_key_accepted_types

◆ compression

std::optional<Compression> sshpp::SessionOptions::compression

◆ compression_level

std::optional<int> sshpp::SessionOptions::compression_level

◆ rekey_data_bytes

std::optional<std::uint64_t> sshpp::SessionOptions::rekey_data_bytes

◆ rekey_time

std::optional<std::chrono::seconds> sshpp::SessionOptions::rekey_time

◆ strict_host_key_checking

std::optional<StrictHostKeyChecking> sshpp::SessionOptions::strict_host_key_checking

◆ gssapi_server_identity

std::optional<std::string> sshpp::SessionOptions::gssapi_server_identity

◆ gssapi_client_identity

std::optional<std::string> sshpp::SessionOptions::gssapi_client_identity

◆ gssapi_delegate_credentials

std::optional<bool> sshpp::SessionOptions::gssapi_delegate_credentials

◆ locking

Locking sshpp::SessionOptions::locking = Locking::none

◆ log_level

LogLevel sshpp::SessionOptions::log_level = LogLevel::none

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