_SshConnection Struct Reference

SSH connection. More...

#include <ssh.h>

Data Fields

SshConnectionState state
 Connection state. More...
 
SshRequestState requestState
 Global request state. More...
 
SshContextcontext
 SSH context. More...
 
Socketsocket
 Underlying socket. More...
 
systime_t timestamp
 Time stamp to manage connection timeout. More...
 
char_t clientId [SSH_MAX_ID_LEN+1]
 Client's identification string. More...
 
char_t serverId [SSH_MAX_ID_LEN+1]
 Server's identification string. More...
 
uint8_t cookie [SSH_COOKIE_SIZE]
 Random value generated by the sender. More...
 
char_t user [SSH_MAX_USERNAME_LEN+1]
 User name. More...
 
char_t passwordChangePrompt [SSH_MAX_PASSWORD_CHANGE_PROMPT_LEN+1]
 Password change prompt string. More...
 
const char_tkexAlgo
 Selected key exchange algorithm name. More...
 
const char_tserverHostKeyAlgo
 Selected server's host key algorithm name. More...
 
const char_tclientEncAlgo
 Selected client's encryption algorithm name. More...
 
const char_tserverEncAlgo
 Selected server's encryption algorithm name. More...
 
const char_tclientMacAlgo
 Selected client's MAC algorithm name. More...
 
const char_tserverMacAlgo
 Selected server's MAC algorithm name. More...
 
const char_tclientCompressAlgo
 Selected client's encryption algorithm name. More...
 
const char_tserverCompressAlgo
 Selected server's encryption algorithm name. More...
 
int_t hostKeyIndex
 Index of the selected host key. More...
 
int_t rsaKeyIndex
 Index of the transient RSA key to use. More...
 
uint8_t * serverHostKey
 Server's host key. More...
 
size_t serverHostKeyLen
 Length of the server's host key, in bytes. More...
 
int_t dhGexGroupIndex
 Index of the selected Diffie-Hellman group. More...
 
uint8_t sessionId [SSH_MAX_HASH_DIGEST_SIZE]
 Session identifier. More...
 
size_t sessionIdLen
 Length of the session identifier, in bytes. More...
 
uint8_t h [SSH_MAX_HASH_DIGEST_SIZE]
 Exchange hash H. More...
 
size_t hLen
 Length of the exchange hash, in bytes. More...
 
uint8_t k [SSH_MAX_SHARED_SECRET_LEN]
 Shared secret K. More...
 
size_t kLen
 Length of the shared secret, in bytes. More...
 
const HashAlgohashAlgo
 Exchange hash algorithm. More...
 
HashContext hashContext
 Exchange hash context. More...
 
HmacContext hmacContext
 HMAC context. More...
 
DhContext dhContext
 Diffie-Hellman context. More...
 
EcdhContext ecdhContext
 ECDH context. More...
 
KemContext kemContext
 KEM context. More...
 
SshEncryptionEngine encryptionEngine
 Encryption engine. More...
 
SshEncryptionEngine decryptionEngine
 Decryption engine. More...
 
bool_t kexInitSent
 An SSH_MSG_KEXINIT message has been sent. More...
 
bool_t kexInitReceived
 An SSH_MSG_KEXINIT message has been received. More...
 
bool_t newKeysSent
 An SSH_MSG_NEWKEYS message has been sent. More...
 
bool_t newKeysReceived
 An SSH_MSG_NEWKEYS message has been received. More...
 
bool_t disconnectRequest
 Request for disconnection. More...
 
bool_t disconnectSent
 An SSH_MSG_DISCONNECT message has been sent. More...
 
bool_t disconnectReceived
 An SSH_MSG_DISCONNECT message has been received. More...
 
bool_t wrongGuess
 A wrong guessed key exchange packet follows. More...
 
uint_t authAttempts
 Number of authentication attempts. More...
 
bool_t publicKeyOk
 The provided host key is acceptable. More...
 
uint32_t localChannelNum
 Current channel number. More...
 
bool_t extInfoReceived
 "ext-info-c" or "ext-info-s" indicator has been received More...
 
bool_t kexStrictReceived
 "strict KEX" pseudo-algorithm received More...
 
uint8_t buffer [SSH_BUFFER_SIZE]
 Internal buffer. More...
 
size_t txBufferLen
 Number of bytes that are pending to be sent. More...
 
size_t txBufferPos
 Current position in TX buffer. More...
 
size_t rxBufferLen
 Number of bytes available for reading. More...
 
size_t rxBufferPos
 Current position in RX buffer. More...
 

Detailed Description

SSH connection.

Definition at line 1389 of file ssh.h.

Field Documentation

◆ authAttempts

uint_t authAttempts

Number of authentication attempts.

Definition at line 1457 of file ssh.h.

◆ buffer

uint8_t buffer[SSH_BUFFER_SIZE]

Internal buffer.

Definition at line 1468 of file ssh.h.

◆ clientCompressAlgo

const char_t* clientCompressAlgo

Selected client's encryption algorithm name.

Definition at line 1412 of file ssh.h.

◆ clientEncAlgo

const char_t* clientEncAlgo

Selected client's encryption algorithm name.

Definition at line 1408 of file ssh.h.

◆ clientId

char_t clientId[SSH_MAX_ID_LEN+1]

Client's identification string.

Definition at line 1397 of file ssh.h.

◆ clientMacAlgo

const char_t* clientMacAlgo

Selected client's MAC algorithm name.

Definition at line 1410 of file ssh.h.

◆ context

SshContext* context

SSH context.

Definition at line 1393 of file ssh.h.

◆ cookie

uint8_t cookie[SSH_COOKIE_SIZE]

Random value generated by the sender.

Definition at line 1399 of file ssh.h.

◆ decryptionEngine

SshEncryptionEngine decryptionEngine

Decryption engine.

Definition at line 1447 of file ssh.h.

◆ dhContext

DhContext dhContext

Diffie-Hellman context.

Definition at line 1437 of file ssh.h.

◆ dhGexGroupIndex

int_t dhGexGroupIndex

Index of the selected Diffie-Hellman group.

Definition at line 1421 of file ssh.h.

◆ disconnectReceived

bool_t disconnectReceived

An SSH_MSG_DISCONNECT message has been received.

Definition at line 1455 of file ssh.h.

◆ disconnectRequest

bool_t disconnectRequest

Request for disconnection.

Definition at line 1453 of file ssh.h.

◆ disconnectSent

bool_t disconnectSent

An SSH_MSG_DISCONNECT message has been sent.

Definition at line 1454 of file ssh.h.

◆ ecdhContext

EcdhContext ecdhContext

ECDH context.

Definition at line 1440 of file ssh.h.

◆ encryptionEngine

SshEncryptionEngine encryptionEngine

Encryption engine.

Definition at line 1446 of file ssh.h.

◆ extInfoReceived

bool_t extInfoReceived

"ext-info-c" or "ext-info-s" indicator has been received

Definition at line 1462 of file ssh.h.

◆ h

Exchange hash H.

Definition at line 1426 of file ssh.h.

◆ hashAlgo

const HashAlgo* hashAlgo

Exchange hash algorithm.

Definition at line 1431 of file ssh.h.

◆ hashContext

HashContext hashContext

Exchange hash context.

Definition at line 1432 of file ssh.h.

◆ hLen

size_t hLen

Length of the exchange hash, in bytes.

Definition at line 1427 of file ssh.h.

◆ hmacContext

HmacContext hmacContext

HMAC context.

Definition at line 1434 of file ssh.h.

◆ hostKeyIndex

int_t hostKeyIndex

Index of the selected host key.

Definition at line 1414 of file ssh.h.

◆ k

Shared secret K.

Definition at line 1428 of file ssh.h.

◆ kemContext

KemContext kemContext

KEM context.

Definition at line 1443 of file ssh.h.

◆ kexAlgo

const char_t* kexAlgo

Selected key exchange algorithm name.

Definition at line 1406 of file ssh.h.

◆ kexInitReceived

bool_t kexInitReceived

An SSH_MSG_KEXINIT message has been received.

Definition at line 1450 of file ssh.h.

◆ kexInitSent

bool_t kexInitSent

An SSH_MSG_KEXINIT message has been sent.

Definition at line 1449 of file ssh.h.

◆ kexStrictReceived

bool_t kexStrictReceived

"strict KEX" pseudo-algorithm received

Definition at line 1465 of file ssh.h.

◆ kLen

size_t kLen

Length of the shared secret, in bytes.

Definition at line 1429 of file ssh.h.

◆ localChannelNum

uint32_t localChannelNum

Current channel number.

Definition at line 1459 of file ssh.h.

◆ newKeysReceived

bool_t newKeysReceived

An SSH_MSG_NEWKEYS message has been received.

Definition at line 1452 of file ssh.h.

◆ newKeysSent

bool_t newKeysSent

An SSH_MSG_NEWKEYS message has been sent.

Definition at line 1451 of file ssh.h.

◆ passwordChangePrompt

char_t passwordChangePrompt[SSH_MAX_PASSWORD_CHANGE_PROMPT_LEN+1]

Password change prompt string.

Definition at line 1403 of file ssh.h.

◆ publicKeyOk

bool_t publicKeyOk

The provided host key is acceptable.

Definition at line 1458 of file ssh.h.

◆ requestState

SshRequestState requestState

Global request state.

Definition at line 1392 of file ssh.h.

◆ rsaKeyIndex

int_t rsaKeyIndex

Index of the transient RSA key to use.

Definition at line 1416 of file ssh.h.

◆ rxBufferLen

size_t rxBufferLen

Number of bytes available for reading.

Definition at line 1471 of file ssh.h.

◆ rxBufferPos

size_t rxBufferPos

Current position in RX buffer.

Definition at line 1472 of file ssh.h.

◆ serverCompressAlgo

const char_t* serverCompressAlgo

Selected server's encryption algorithm name.

Definition at line 1413 of file ssh.h.

◆ serverEncAlgo

const char_t* serverEncAlgo

Selected server's encryption algorithm name.

Definition at line 1409 of file ssh.h.

◆ serverHostKey

uint8_t* serverHostKey

Server's host key.

Definition at line 1417 of file ssh.h.

◆ serverHostKeyAlgo

const char_t* serverHostKeyAlgo

Selected server's host key algorithm name.

Definition at line 1407 of file ssh.h.

◆ serverHostKeyLen

size_t serverHostKeyLen

Length of the server's host key, in bytes.

Definition at line 1418 of file ssh.h.

◆ serverId

char_t serverId[SSH_MAX_ID_LEN+1]

Server's identification string.

Definition at line 1398 of file ssh.h.

◆ serverMacAlgo

const char_t* serverMacAlgo

Selected server's MAC algorithm name.

Definition at line 1411 of file ssh.h.

◆ sessionId

uint8_t sessionId[SSH_MAX_HASH_DIGEST_SIZE]

Session identifier.

Definition at line 1424 of file ssh.h.

◆ sessionIdLen

size_t sessionIdLen

Length of the session identifier, in bytes.

Definition at line 1425 of file ssh.h.

◆ socket

Socket* socket

Underlying socket.

Definition at line 1394 of file ssh.h.

◆ state

Connection state.

Definition at line 1391 of file ssh.h.

◆ timestamp

systime_t timestamp

Time stamp to manage connection timeout.

Definition at line 1395 of file ssh.h.

◆ txBufferLen

size_t txBufferLen

Number of bytes that are pending to be sent.

Definition at line 1469 of file ssh.h.

◆ txBufferPos

size_t txBufferPos

Current position in TX buffer.

Definition at line 1470 of file ssh.h.

◆ user

User name.

Definition at line 1400 of file ssh.h.

◆ wrongGuess

bool_t wrongGuess

A wrong guessed key exchange packet follows.

Definition at line 1456 of file ssh.h.


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