mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2025-01-09 10:31:53 +00:00
65 lines
1.8 KiB
C
65 lines
1.8 KiB
C
/*
|
|
* BIRD -- The Resource Public Key Infrastructure (RPKI) to Router Protocol
|
|
*
|
|
* (c) 2015 CZ.NIC
|
|
*
|
|
* This file was part of RTRlib: http://rpki.realmv6.org/
|
|
*
|
|
* Can be freely distributed and used under the terms of the GNU GPL.
|
|
*/
|
|
|
|
/**
|
|
* @defgroup mod_ssh_transport_h SSH transport socket
|
|
* @ingroup mod_transport_h
|
|
* @brief An implementation of the SSH protocol for the RTR transport.
|
|
* @details This transport implementation uses libssh
|
|
* (http://www.libssh.org/) for all ssh specific operations.\n
|
|
* See @ref mod_transport_h "transport interface" for a list of supported
|
|
* operations.
|
|
*
|
|
* @{
|
|
*
|
|
* @example ssh_tr.c
|
|
* Example of how to open a SSH transport connection.
|
|
*/
|
|
|
|
#ifndef SSH_TRANSPORT_H
|
|
#define SSH_TRANSPORT_H
|
|
#include "transport.h"
|
|
|
|
/**
|
|
* @brief A tr_ssh_config struct holds configuration data for an tr_ssh socket.
|
|
* @param host Hostname or IP address to connect to.
|
|
* @param port Port to connect to.
|
|
* @param bindaddr Hostname or IP address to connect from. NULL for
|
|
* determination by OS.
|
|
* @param username Username for authentication.
|
|
* @param server_hostkey_path Path to public SSH key of the server or NULL to
|
|
don't verify host authenticity.
|
|
* @param client_privkey_path Path to private key of the authentication keypair
|
|
* or NULL to use ~/.ssh/id_rsa.
|
|
*/
|
|
struct tr_ssh_config {
|
|
char *host;
|
|
unsigned int port;
|
|
char *username;
|
|
};
|
|
|
|
struct tr_ssh_socket {
|
|
struct rpki_cache *cache;
|
|
struct tr_ssh_config config;
|
|
char *ident;
|
|
};
|
|
|
|
/**
|
|
* @brief Initializes the tr_socket struct for a SSH connection.
|
|
* @param[in] config SSH configuration for the connection.
|
|
* @param[out] socket Initialized transport socket.
|
|
* @returns TR_SUCCESS On success.
|
|
* @returns TR_ERROR On error.
|
|
*/
|
|
int tr_ssh_init(struct rpki_cache *cache);
|
|
|
|
#endif
|
|
/* @} */
|