Loading...
Searching...
No Matches
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
int | nc_server_config_del_ch_client (const char *client_name, struct lyd_node **config)
| Deletes a Call Home client from the YANG data.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
int | nc_server_config_del_endpt (const char *endpt_name, struct lyd_node **config)
| Deletes an endpoint from the YANG data.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
int | nc_server_config_setup_data (const struct lyd_node *data)
| Configure server based on the given data.
int | nc_server_config_setup_diff (const struct lyd_node *diff)
| Configure server based on the given diff.
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.

## Detailed Description

libnetconf2 server configuration

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

Copyright
  Copyright (c) 2023 CESNET, z.s.p.o.

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.