libnetconf2  1.1.48
NETCONF library for clients and servers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
session_client_ch.h
Go to the documentation of this file.
1 
15 #ifndef NC_SESSION_CLIENT_CH_H_
16 #define NC_SESSION_CLIENT_CH_H_
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 #include <libyang/libyang.h>
23 
24 #include "session.h"
25 #include "netconf.h"
26 #include "messages_client.h"
27 
28 #if defined(NC_ENABLED_SSH) || defined(NC_ENABLED_TLS)
29 
47 int nc_accept_callhome(int timeout, struct ly_ctx *ctx, struct nc_session **session);
48 
51 #endif /* NC_ENABLED_SSH || NC_ENABLED_TLS */
52 
53 #ifdef NC_ENABLED_SSH
54 
74 void nc_client_ssh_ch_set_auth_hostkey_check_clb(int (*auth_hostkey_check)(const char *hostname, ssh_session session, void *priv),
75  void *priv);
76 
84 void nc_client_ssh_ch_get_auth_hostkey_check_clb(int (**auth_hostkey_check)(const char *hostname, ssh_session session, void *priv),
85  void **priv);
97 void nc_client_ssh_ch_set_auth_password_clb(char *(*auth_password)(const char *username, const char *hostname, void *priv),
98  void *priv);
99 
107 void nc_client_ssh_ch_get_auth_password_clb(char *(**auth_password)(const char *username, const char *hostname, void *priv),
108  void **priv);
109 
122 void nc_client_ssh_ch_set_auth_interactive_clb(char *(*auth_interactive)(const char *auth_name, const char *instruction,
123  const char *prompt, int echo, void *priv),
124  void *priv);
125 
133 void nc_client_ssh_ch_get_auth_interactive_clb(char *(**auth_interactive)(const char *auth_name, const char *instruction,
134  const char *prompt, int echo, void *priv),
135  void **priv);
136 
148 void nc_client_ssh_ch_set_auth_privkey_passphrase_clb(char *(*auth_privkey_passphrase)(const char *privkey_path, void *priv),
149  void *priv);
150 
158 void nc_client_ssh_ch_get_auth_privkey_passphrase_clb(char *(**auth_privkey_passphrase)(const char *privkey_path, void *priv),
159  void **priv);
160 
168 int nc_client_ssh_ch_add_bind_listen(const char *address, uint16_t port);
169 
177 int nc_client_ssh_ch_del_bind(const char *address, uint16_t port);
178 
188 int nc_client_ssh_ch_add_keypair(const char *pub_key, const char *priv_key);
189 
196 int nc_client_ssh_ch_del_keypair(int idx);
197 
204 
213 int nc_client_ssh_ch_get_keypair(int idx, const char **pub_key, const char **priv_key);
214 
226 void nc_client_ssh_ch_set_auth_pref(NC_SSH_AUTH_TYPE auth_type, int16_t pref);
227 
235 
242 int nc_client_ssh_ch_set_username(const char *username);
243 
249 const char *nc_client_ssh_ch_get_username(void);
250 
253 #endif /* NC_ENABLED_SSH */
254 
255 #ifdef NC_ENABLED_TLS
256 
272 int nc_client_tls_ch_add_bind_listen(const char *address, uint16_t port);
273 
281 int nc_client_tls_ch_del_bind(const char *address, uint16_t port);
282 
291 int nc_client_tls_ch_set_cert_key_paths(const char *client_cert, const char *client_key);
292 
300 void nc_client_tls_ch_get_cert_key_paths(const char **client_cert, const char **client_key);
301 
311 int nc_client_tls_ch_set_trusted_ca_paths(const char *ca_file, const char *ca_dir);
312 
321 void nc_client_tls_ch_get_trusted_ca_paths(const char **ca_file, const char **ca_dir);
322 
330 int nc_client_tls_ch_set_crl_paths(const char *crl_file, const char *crl_dir);
331 
340 void nc_client_tls_ch_get_crl_paths(const char **crl_file, const char **crl_dir);
341 
344 #endif /* NC_ENABLED_TLS */
345 
346 #ifdef __cplusplus
347 }
348 #endif
349 
350 #endif /* NC_SESSION_CLIENT_CH_H_ */
int nc_client_tls_ch_add_bind_listen(const char *address, uint16_t port)
Add a new client bind and start listening on it for TLS Call Home connections.
void nc_client_ssh_ch_set_auth_hostkey_check_clb(int(*auth_hostkey_check)(const char *hostname, ssh_session session, void *priv), void *priv)
Set SSH Call Home authentication hostkey check (knownhosts) callback.
int nc_client_ssh_ch_del_keypair(int idx)
Remove an SSH public and private key pair that was used for Call Home client authentication.
void nc_client_ssh_ch_set_auth_pref(NC_SSH_AUTH_TYPE auth_type, int16_t pref)
Set SSH Call Home authentication method preference.
NC_SSH_AUTH_TYPE
Enumeration of NETCONF SSH authentication methods.
Definition: session.h:29
void nc_client_ssh_ch_get_auth_password_clb(char *(**auth_password)(const char *username, const char *hostname, void *priv), void **priv)
Get currently set SSH Call Home password authentication callback and its private data previously set ...
libnetconf2&#39;s public functions and structures of NETCONF client messages.
libnetconf2 session manipulation
const char * nc_client_ssh_ch_get_username(void)
Get client Call Home SSH username used for authentication.
int nc_client_ssh_ch_add_keypair(const char *pub_key, const char *priv_key)
Add an SSH public and private key pair to be used for Call Home client authentication.
int16_t nc_client_ssh_ch_get_auth_pref(NC_SSH_AUTH_TYPE auth_type)
Get SSH Call Home authentication method preference.
void nc_client_ssh_ch_get_auth_interactive_clb(char *(**auth_interactive)(const char *auth_name, const char *instruction, const char *prompt, int echo, void *priv), void **priv)
Get currently set SSH Call Home interactive authentication callback and its private data previously s...
int nc_client_ssh_ch_get_keypair_count(void)
Get the number of public an private key pairs set to be used for Call Home client authentication...
int nc_client_tls_ch_set_crl_paths(const char *crl_file, const char *crl_dir)
Set client Call Home Certificate Revocation Lists.
int nc_client_tls_ch_del_bind(const char *address, uint16_t port)
Remove a TLS listening client bind.
int nc_client_tls_ch_set_trusted_ca_paths(const char *ca_file, const char *ca_dir)
Set client Call Home trusted CA certificates.
void nc_client_ssh_ch_set_auth_interactive_clb(char *(*auth_interactive)(const char *auth_name, const char *instruction, const char *prompt, int echo, void *priv), void *priv)
Set SSH Call Home interactive authentication callback.
int nc_client_ssh_ch_del_bind(const char *address, uint16_t port)
Remove an SSH listening client bind.
void nc_client_ssh_ch_get_auth_hostkey_check_clb(int(**auth_hostkey_check)(const char *hostname, ssh_session session, void *priv), void **priv)
Get currently set SSH Call Home authentication hostkey check (knownhosts) callback and its private da...
int nc_client_ssh_ch_add_bind_listen(const char *address, uint16_t port)
Add a new client bind and start listening on it for SSH Call Home connections.
int nc_client_ssh_ch_set_username(const char *username)
Set client Call Home SSH username used for authentication.
void nc_client_tls_ch_get_crl_paths(const char **crl_file, const char **crl_dir)
Get client Call Home Certificate Revocation Lists.
void nc_client_tls_ch_get_trusted_ca_paths(const char **ca_file, const char **ca_dir)
Get client Call Home trusted CA certificates.
int nc_client_ssh_ch_get_keypair(int idx, const char **pub_key, const char **priv_key)
Get a specific keypair set to be used for Call Home client authentication.
void nc_client_ssh_ch_set_auth_privkey_passphrase_clb(char *(*auth_privkey_passphrase)(const char *privkey_path, void *priv), void *priv)
Set SSH Call Home publickey authentication encrypted private key passphrase callback.
int nc_accept_callhome(int timeout, struct ly_ctx *ctx, struct nc_session **session)
Accept a Call Home connection on any of the listening binds.
void nc_client_ssh_ch_get_auth_privkey_passphrase_clb(char *(**auth_privkey_passphrase)(const char *privkey_path, void *priv), void **priv)
Get currently set SSH Call Home publickey authentication encrypted private key passphrase callback an...
libnetconf2&#39;s general public functions and structures definitions.
int nc_client_tls_ch_set_cert_key_paths(const char *client_cert, const char *client_key)
Set client Call Home authentication identity - a certificate and a private key.
void nc_client_tls_ch_get_cert_key_paths(const char **client_cert, const char **client_key)
Get client Call Home authentication identity - a certificate and a private key.
void nc_client_ssh_ch_set_auth_password_clb(char *(*auth_password)(const char *username, const char *hostname, void *priv), void *priv)
Set SSH Call Home password authentication callback.