libnetconf2  3.0.17
NETCONF server and client library in C.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
server_config.h File Reference

libnetconf2 server configuration More...

#include <stdarg.h>
#include <stdint.h>
#include <libyang/libyang.h>
#include "session.h"
Include dependency graph for server_config.h:

Go to the source code of this file.

Functions

int nc_server_config_add_address_port (const struct ly_ctx *ctx, const char *endpt_name, NC_TRANSPORT_IMPL transport, const char *address, uint16_t port, struct lyd_node **config)
 Creates new YANG configuration data nodes for address and port. More...
 
int nc_server_config_add_ch_address_port (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, NC_TRANSPORT_IMPL transport, const char *address, const char *port, struct lyd_node **config)
 Creates new YANG configuration data nodes for a Call Home client's address and port. More...
 
int nc_server_config_add_ch_anchor_time (const struct ly_ctx *ctx, const char *client_name, const char *anchor_time, struct lyd_node **config)
 Creates new YANG configuration data nodes for the anchor time parameter of the Call Home periodic connection type. More...
 
int nc_server_config_add_ch_idle_timeout (const struct ly_ctx *ctx, const char *client_name, uint16_t idle_timeout, struct lyd_node **config)
 Creates new YANG configuration data nodes for the idle timeout parameter of the Call Home periodic connection type. More...
 
int nc_server_config_add_ch_period (const struct ly_ctx *ctx, const char *client_name, uint16_t period, struct lyd_node **config)
 Creates new YANG configuration data nodes for the period parameter of the Call Home periodic connection type. More...
 
int nc_server_config_add_ch_persistent (const struct ly_ctx *ctx, const char *client_name, struct lyd_node **config)
 Creates new YANG configuration data nodes for the Call Home persistent connection type. More...
 
int nc_server_config_add_ch_reconnect_strategy (const struct ly_ctx *ctx, const char *client_name, NC_CH_START_WITH start_with, uint16_t max_wait, uint8_t max_attempts, struct lyd_node **config)
 Creates new YANG configuration data nodes for the Call Home reconnect strategy. More...
 
int nc_server_config_add_ch_ssh_hostkey (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *hostkey_name, const char *privkey_path, const char *pubkey_path, struct lyd_node **config)
 Creates new YANG data nodes for a Call Home SSH hostkey. More...
 
int nc_server_config_add_ch_ssh_keystore_ref (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *hostkey_name, const char *keystore_reference, struct lyd_node **config)
 Creates new YANG data nodes for a reference to an asymmetric key located in the keystore. More...
 
int nc_server_config_add_ch_ssh_truststore_ref (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *user_name, const char *truststore_reference, struct lyd_node **config)
 Creates new YANG data nodes for a reference to a public key bag located in the truststore. More...
 
int nc_server_config_add_ch_ssh_user_authkey (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *user_name, struct lyd_node **config)
 Creates new YANG configuration data nodes for a Call Home SSH user that will use system's authorized_keys to authenticate. More...
 
int nc_server_config_add_ch_ssh_user_interactive (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *user_name, struct lyd_node **config)
 Creates new YANG configuration data nodes for a Call Home SSH user's keyboard interactive authentication method. More...
 
int nc_server_config_add_ch_ssh_user_password (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *user_name, const char *password, struct lyd_node **config)
 Creates new YANG data nodes for a Call Home SSH user's password authentication method. More...
 
int nc_server_config_add_ch_ssh_user_pubkey (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *user_name, const char *pubkey_name, const char *pubkey_path, struct lyd_node **config)
 Creates new YANG data nodes for a Call Home SSH user's public key authentication method. More...
 
int nc_server_config_add_ch_tls_ca_cert (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *cert_name, const char *cert_path, struct lyd_node **config)
 Creates new YANG configuration data nodes for a client certificate authority (trust-anchor) certificate. More...
 
int nc_server_config_add_ch_tls_ca_cert_truststore_ref (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *cert_bag_ref, struct lyd_node **config)
 Creates new YANG configuration data nodes for a Call Home truststore reference to a set of client certificate authority (trust-anchor) certificates. More...
 
int nc_server_config_add_ch_tls_client_cert (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *cert_name, const char *cert_path, struct lyd_node **config)
 Creates new YANG configuration data nodes for a Call Home client's (end-entity) certificate. More...
 
int nc_server_config_add_ch_tls_client_cert_truststore_ref (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *cert_bag_ref, struct lyd_node **config)
 Creates new YANG configuration data nodes for a Call Home truststore reference to a set of client (end-entity) certificates. More...
 
int nc_server_config_add_ch_tls_ctn (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, uint32_t id, const char *fingerprint, NC_TLS_CTN_MAPTYPE map_type, const char *name, struct lyd_node **config)
 Creates new YANG configuration data nodes for a Call Home cert-to-name entry. More...
 
int nc_server_config_add_ch_tls_keystore_ref (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *asym_key_ref, const char *cert_ref, struct lyd_node **config)
 Creates new YANG configuration data nodes for a keystore reference to the Call Home TLS server's certificate. More...
 
int nc_server_config_add_ch_tls_server_cert (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *privkey_path, const char *pubkey_path, const char *cert_path, struct lyd_node **config)
 Creates new YANG configuration data nodes for a Call Home server's certificate. More...
 
int nc_server_config_add_keystore_asym_key (const struct ly_ctx *ctx, NC_TRANSPORT_IMPL ti, const char *asym_key_name, const char *privkey_path, const char *pubkey_path, struct lyd_node **config)
 Creates new YANG data nodes for an asymmetric key in the keystore. More...
 
int nc_server_config_add_keystore_cert (const struct ly_ctx *ctx, const char *asym_key_name, const char *cert_name, const char *cert_path, struct lyd_node **config)
 Creates new YANG data nodes for a certificate in the keystore. More...
 
int nc_server_config_add_ssh_endpoint_client_ref (const struct ly_ctx *ctx, const char *endpt_name, const char *referenced_endpt, struct lyd_node **config)
 Creates new YANG configuration data nodes, which will be a reference to another SSH endpoint's users. More...
 
int nc_server_config_add_ssh_hostkey (const struct ly_ctx *ctx, const char *endpt_name, const char *hostkey_name, const char *privkey_path, const char *pubkey_path, struct lyd_node **config)
 Creates new YANG configuration data nodes for a hostkey. More...
 
int nc_server_config_add_ssh_keystore_ref (const struct ly_ctx *ctx, const char *endpt_name, const char *hostkey_name, const char *keystore_reference, struct lyd_node **config)
 Creates new YANG data nodes for a reference to an asymmetric key located in the keystore. More...
 
int nc_server_config_add_ssh_truststore_ref (const struct ly_ctx *ctx, const char *endpt_name, const char *user_name, const char *truststore_reference, struct lyd_node **config)
 Creates new YANG data nodes for a reference to a public key bag located in the truststore. More...
 
int nc_server_config_add_ssh_user_authkey (const struct ly_ctx *ctx, const char *endpt_name, const char *user_name, struct lyd_node **config)
 Creates new YANG configuration data nodes for an SSH user that will use system's authorized_keys to authenticate. More...
 
int nc_server_config_add_ssh_user_interactive (const struct ly_ctx *ctx, const char *endpt_name, const char *user_name, struct lyd_node **config)
 Creates new YANG configuration data nodes for an SSH user's keyboard interactive authentication method. More...
 
int nc_server_config_add_ssh_user_password (const struct ly_ctx *ctx, const char *endpt_name, const char *user_name, const char *password, struct lyd_node **config)
 Creates new YANG configuration data nodes for an SSH user's password authentication method. More...
 
int nc_server_config_add_ssh_user_pubkey (const struct ly_ctx *ctx, const char *endpt_name, const char *user_name, const char *pubkey_name, const char *pubkey_path, struct lyd_node **config)
 Creates new YANG configuration data nodes for an SSH user's public key authentication method. More...
 
int nc_server_config_add_tls_ca_cert (const struct ly_ctx *ctx, const char *endpt_name, const char *cert_name, const char *cert_path, struct lyd_node **config)
 Creates new YANG configuration data nodes for a client certificate authority (trust-anchor) certificate. More...
 
int nc_server_config_add_tls_ca_cert_truststore_ref (const struct ly_ctx *ctx, const char *endpt_name, const char *cert_bag_ref, struct lyd_node **config)
 Creates new YANG configuration data nodes for a truststore reference to a set of client certificate authority (trust-anchor) certificates. More...
 
int nc_server_config_add_tls_client_cert (const struct ly_ctx *ctx, const char *endpt_name, const char *cert_name, const char *cert_path, struct lyd_node **config)
 Creates new YANG configuration data nodes for a client's (end-entity) certificate. More...
 
int nc_server_config_add_tls_client_cert_truststore_ref (const struct ly_ctx *ctx, const char *endpt_name, const char *cert_bag_ref, struct lyd_node **config)
 Creates new YANG configuration data nodes for a truststore reference to a set of client (end-entity) certificates. More...
 
int nc_server_config_add_tls_ctn (const struct ly_ctx *ctx, const char *endpt_name, uint32_t id, const char *fingerprint, NC_TLS_CTN_MAPTYPE map_type, const char *name, struct lyd_node **config)
 Creates new YANG configuration data nodes for a cert-to-name entry. More...
 
int nc_server_config_add_tls_endpoint_client_ref (const struct ly_ctx *ctx, const char *endpt_name, const char *referenced_endpt, struct lyd_node **config)
 Creates new YANG configuration data nodes, which will be a reference to another TLS endpoint's certificates. More...
 
int nc_server_config_add_tls_keystore_ref (const struct ly_ctx *ctx, const char *endpt_name, const char *asym_key_ref, const char *cert_ref, struct lyd_node **config)
 Creates new YANG configuration data nodes for a keystore reference to the TLS server's certificate. More...
 
int nc_server_config_add_tls_server_cert (const struct ly_ctx *ctx, const char *endpt_name, const char *privkey_path, const char *pubkey_path, const char *cert_path, struct lyd_node **config)
 Creates new YANG configuration data nodes for a server's certificate. More...
 
int nc_server_config_add_truststore_cert (const struct ly_ctx *ctx, const char *cert_bag_name, const char *cert_name, const char *cert_path, struct lyd_node **config)
 Creates new YANG data nodes for a certificate in the truststore. More...
 
int nc_server_config_add_truststore_pubkey (const struct ly_ctx *ctx, const char *pub_bag_name, const char *pubkey_name, const char *pubkey_path, struct lyd_node **config)
 Creates new YANG data nodes for a public key in the truststore. More...
 
int nc_server_config_ch_del_ssh_user_authkey (const char *client_name, const char *endpt_name, const char *user_name, struct lyd_node **config)
 Deletes a Call Home SSH user's authorized_keys method from the YANG data. More...
 
int nc_server_config_del_ch_anchor_time (const char *client_name, struct lyd_node **config)
 Deletes the Call Home anchor time parameter of the periodic connection type from the YANG data. More...
 
int nc_server_config_del_ch_client (const char *client_name, struct lyd_node **config)
 Deletes a Call Home client from the YANG data. More...
 
int nc_server_config_del_ch_endpt (const char *client_name, const char *endpt_name, struct lyd_node **config)
 Deletes a Call Home endpoint from the YANG data. More...
 
int nc_server_config_del_ch_idle_timeout (const char *client_name, struct lyd_node **config)
 Deletes the Call Home idle timeout parameter of the periodic connection type from the YANG data. More...
 
int nc_server_config_del_ch_period (const char *client_name, struct lyd_node **config)
 Deletes the Call Home period parameter of the periodic connection type from the YANG data. More...
 
int nc_server_config_del_ch_reconnect_strategy (const char *client_name, struct lyd_node **config)
 Resets the values of the Call Home reconnect strategy nodes to their defaults. More...
 
int nc_server_config_del_ch_ssh_hostkey (const char *client_name, const char *endpt_name, const char *hostkey_name, struct lyd_node **config)
 Deletes a Call Home hostkey from the YANG data. More...
 
int nc_server_config_del_ch_ssh_keystore_ref (const char *client_name, const char *endpt_name, const char *hostkey_name, struct lyd_node **config)
 Deletes a Call Home keystore reference from the YANG data. More...
 
int nc_server_config_del_ch_ssh_truststore_ref (const char *client_name, const char *endpt_name, const char *user_name, struct lyd_node **config)
 Deletes a Call Home SSH truststore reference from the YANG data. More...
 
int nc_server_config_del_ch_ssh_user (const char *client_name, const char *endpt_name, const char *user_name, struct lyd_node **config)
 Deletes a Call Home SSH user from the YANG data. More...
 
int nc_server_config_del_ch_ssh_user_interactive (const char *client_name, const char *endpt_name, const char *user_name, struct lyd_node **config)
 Deletes a Call Home SSH user's keyboard interactive authentication from the YANG data. More...
 
int nc_server_config_del_ch_ssh_user_password (const char *client_name, const char *endpt_name, const char *user_name, struct lyd_node **config)
 Deletes a Call Home SSH user's password from the YANG data. More...
 
int nc_server_config_del_ch_ssh_user_pubkey (const char *client_name, const char *endpt_name, const char *user_name, const char *pubkey_name, struct lyd_node **config)
 Deletes a Call Home SSH user's public key from the YANG data. More...
 
int nc_server_config_del_ch_tls_ca_cert (const char *client_name, const char *endpt_name, const char *cert_name, struct lyd_node **config)
 Deletes a Call Home client certificate authority (trust-anchor) certificate from the YANG data. More...
 
int nc_server_config_del_ch_tls_ca_cert_truststore_ref (const char *client_name, const char *endpt_name, struct lyd_node **config)
 Deletes a Call Home client certificate authority (trust-anchor) certificates truststore reference from the YANG data. More...
 
int nc_server_config_del_ch_tls_client_cert (const char *client_name, const char *endpt_name, const char *cert_name, struct lyd_node **config)
 Deletes a Call Home client (end-entity) certificate from the YANG data. More...
 
int nc_server_config_del_ch_tls_client_cert_truststore_ref (const char *client_name, const char *endpt_name, struct lyd_node **config)
 Deletes a Call Home client (end-entity) certificates truststore reference from the YANG data. More...
 
int nc_server_config_del_ch_tls_ctn (const char *client_name, const char *endpt_name, uint32_t id, struct lyd_node **config)
 Deletes a Call Home cert-to-name entry from the YANG data. More...
 
int nc_server_config_del_ch_tls_keystore_ref (const char *client_name, const char *endpt_name, struct lyd_node **config)
 Deletes a TLS server certificate keystore reference from the YANG data. More...
 
int nc_server_config_del_ch_tls_server_cert (const char *client_name, const char *endpt_name, struct lyd_node **config)
 Deletes a Call Home server certificate from the YANG data. More...
 
int nc_server_config_del_endpt (const char *endpt_name, struct lyd_node **config)
 Deletes an endpoint from the YANG data. More...
 
int nc_server_config_del_keystore_asym_key (const char *asym_key_name, struct lyd_node **config)
 Deletes a keystore's asymmetric key from the YANG data. More...
 
int nc_server_config_del_keystore_cert (const char *asym_key_name, const char *cert_name, struct lyd_node **config)
 Deletes a keystore's certificate from the YANG data. More...
 
int nc_server_config_del_ssh_endpoint_client_ref (const char *endpt_name, struct lyd_node **config)
 Deletes reference to another SSH endpoint's users from the YANG data. More...
 
int nc_server_config_del_ssh_hostkey (const struct ly_ctx *ctx, const char *endpt_name, const char *hostkey_name, struct lyd_node **config)
 Deletes a hostkey from the YANG data. More...
 
int nc_server_config_del_ssh_keystore_ref (const char *endpt_name, const char *hostkey_name, struct lyd_node **config)
 Deletes a keystore reference from the YANG data. More...
 
int nc_server_config_del_ssh_truststore_ref (const char *endpt_name, const char *user_name, struct lyd_node **config)
 Deletes a truststore reference from the YANG data. More...
 
int nc_server_config_del_ssh_user (const char *endpt_name, const char *user_name, struct lyd_node **config)
 Deletes an SSH user from the YANG data. More...
 
int nc_server_config_del_ssh_user_authkey (const char *endpt_name, const char *user_name, struct lyd_node **config)
 Deletes an SSH user's authorized_keys method from the YANG data. More...
 
int nc_server_config_del_ssh_user_interactive (const char *endpt_name, const char *user_name, struct lyd_node **config)
 Deletes an SSH user's keyboard interactive authentication from the YANG data. More...
 
int nc_server_config_del_ssh_user_password (const char *endpt_name, const char *user_name, struct lyd_node **config)
 Deletes an SSH user's password from the YANG data. More...
 
int nc_server_config_del_ssh_user_pubkey (const char *endpt_name, const char *user_name, const char *pubkey_name, struct lyd_node **config)
 Deletes an SSH user's public key from the YANG data. More...
 
int nc_server_config_del_tls_ca_cert (const char *endpt_name, const char *cert_name, struct lyd_node **config)
 Deletes a client certificate authority (trust-anchor) certificate from the YANG data. More...
 
int nc_server_config_del_tls_ca_cert_truststore_ref (const char *endpt_name, struct lyd_node **config)
 Deletes a client certificate authority (trust-anchor) certificates truststore reference from the YANG data. More...
 
int nc_server_config_del_tls_client_cert (const char *endpt_name, const char *cert_name, struct lyd_node **config)
 Deletes a client (end-entity) certificate from the YANG data. More...
 
int nc_server_config_del_tls_client_cert_truststore_ref (const char *endpt_name, struct lyd_node **config)
 Deletes a client (end-entity) certificates truststore reference from the YANG data. More...
 
int nc_server_config_del_tls_ctn (const char *endpt_name, uint32_t id, struct lyd_node **config)
 Deletes a cert-to-name entry from the YANG data. More...
 
int nc_server_config_del_tls_endpoint_client_ref (const char *endpt_name, struct lyd_node **config)
 Deletes reference to another TLS endpoint's users from the YANG data. More...
 
int nc_server_config_del_tls_keystore_ref (const char *endpt_name, struct lyd_node **config)
 Deletes a TLS server certificate keystore reference from the YANG data. More...
 
int nc_server_config_del_tls_server_cert (const char *endpt_name, struct lyd_node **config)
 Deletes the server's certificate from the YANG data. More...
 
int nc_server_config_del_truststore_cert (const char *cert_bag_name, const char *cert_name, struct lyd_node **config)
 Deletes a truststore's certificate from the YANG data. More...
 
int nc_server_config_del_truststore_pubkey (const char *pub_bag_name, const char *pubkey_name, struct lyd_node **config)
 Deletes a truststore's public key from the YANG data. More...
 
int nc_server_config_load_modules (struct ly_ctx **ctx)
 Implements all the required modules and their features in the context. Needs to be called before any other configuration functions. More...
 
int nc_server_config_oper_get_encryption_algs (const struct ly_ctx *ctx, struct lyd_node **encryption_algs)
 Gets the encryption algorithms supported by the server from the 'iana-ssh-encryption-algs' YANG module. More...
 
int nc_server_config_oper_get_hostkey_algs (const struct ly_ctx *ctx, struct lyd_node **hostkey_algs)
 Gets the hostkey algorithms supported by the server from the 'iana-ssh-public-key-algs' YANG module. More...
 
int nc_server_config_oper_get_kex_algs (const struct ly_ctx *ctx, struct lyd_node **kex_algs)
 Gets the key exchange algorithms supported by the server from the 'iana-ssh-key-exchange-algs' YANG module. More...
 
int nc_server_config_oper_get_mac_algs (const struct ly_ctx *ctx, struct lyd_node **mac_algs)
 Gets the MAC algorithms supported by the server from the 'iana-ssh-mac-algs' YANG module. More...
 
int nc_server_config_setup_data (const struct lyd_node *data)
 Configure server based on the given data. More...
 
int nc_server_config_setup_diff (const struct lyd_node *diff)
 Configure server based on the given diff. More...
 
int nc_server_config_setup_path (const struct ly_ctx *ctx, const char *path)
 Configure server based on the given data stored in a file. More...
 

Detailed Description

libnetconf2 server configuration

Author
Roman Janota janot.nosp@m.a@ce.nosp@m.snet..nosp@m.cz

This source code is licensed under BSD 3-Clause License (the "License"). You may not use this file except in compliance with the License. You may obtain a copy of the License at

https://opensource.org/licenses/BSD-3-Clause

Definition in file server_config.h.