libnetconf2  4.6.6
NETCONF server and client library in C.
server_config.h
Go to the documentation of this file.
1 
16 #ifndef NC_CONFIG_SERVER_H_
17 #define NC_CONFIG_SERVER_H_
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 #include <stdarg.h>
24 #include <stdint.h>
25 
26 #include <libyang/libyang.h>
27 
28 #include "session.h"
29 
70 int nc_server_config_load_modules(struct ly_ctx **ctx);
71 
84 int nc_server_config_setup_diff(const struct lyd_node *diff);
85 
100 int nc_server_config_setup_data(const struct lyd_node *data);
101 
113 int nc_server_config_setup_path(const struct ly_ctx *ctx, const char *path);
114 
115 #ifdef NC_ENABLED_SSH_TLS
116 
130 int nc_server_config_add_address_port(const struct ly_ctx *ctx, const char *endpt_name, NC_TRANSPORT_IMPL transport,
131  const char *address, uint16_t port, struct lyd_node **config);
132 
133 #endif /* NC_ENABLED_SSH_TLS */
134 
146 int nc_server_config_del_endpt(const char *endpt_name, struct lyd_node **config);
147 
168 int nc_server_config_add_unix_socket(const struct ly_ctx *ctx, const char *endpt_name, const char *path,
169  const char *mode, const char *owner, const char *group, struct lyd_node **config);
170 
199 int nc_server_config_add_unix_user_mapping(const struct ly_ctx *ctx, const char *endpt_name,
200  const char *system_user, const char *netconf_user, struct lyd_node **config);
201 
211 int nc_server_config_del_unix_user_mapping(const char *endpt_name, const char *system_user,
212  struct lyd_node **config);
213 
214 #ifdef NC_ENABLED_SSH_TLS
215 
230 int nc_server_config_add_keystore_asym_key(const struct ly_ctx *ctx, NC_TRANSPORT_IMPL ti, const char *asym_key_name,
231  const char *privkey_path, const char *pubkey_path, struct lyd_node **config);
232 
241 int nc_server_config_del_keystore_asym_key(const char *asym_key_name, struct lyd_node **config);
242 
259 int nc_server_config_add_keystore_cert(const struct ly_ctx *ctx, const char *asym_key_name, const char *cert_name,
260  const char *cert_path, struct lyd_node **config);
261 
272 int nc_server_config_del_keystore_cert(const char *asym_key_name, const char *cert_name, struct lyd_node **config);
273 
288 int nc_server_config_add_truststore_pubkey(const struct ly_ctx *ctx, const char *pub_bag_name, const char *pubkey_name,
289  const char *pubkey_path, struct lyd_node **config);
290 
300 int nc_server_config_del_truststore_pubkey(const char *pub_bag_name, const char *pubkey_name, struct lyd_node **config);
301 
316 int nc_server_config_add_truststore_cert(const struct ly_ctx *ctx, const char *cert_bag_name, const char *cert_name,
317  const char *cert_path, struct lyd_node **config);
318 
328 int nc_server_config_del_truststore_cert(const char *cert_bag_name,
329  const char *cert_name, struct lyd_node **config);
330 
341 int nc_server_config_oper_get_supported_ssh_algs(const struct ly_ctx *ctx, struct lyd_node **supported_algs);
342 
352 int nc_server_config_oper_get_supported_tls_algs(const struct ly_ctx *ctx, struct lyd_node **supported_algs);
353 
364  const char *endpoint, const char *username, time_t *last_modified);
365 
394 int nc_server_config_add_ssh_hostkey(const struct ly_ctx *ctx, const char *endpt_name, const char *hostkey_name,
395  const char *privkey_path, const char *pubkey_path, struct lyd_node **config);
396 
410 int nc_server_config_del_ssh_hostkey(const struct ly_ctx *ctx, const char *endpt_name,
411  const char *hostkey_name, struct lyd_node **config);
412 
428 int nc_server_config_add_ssh_keystore_ref(const struct ly_ctx *ctx, const char *endpt_name, const char *hostkey_name,
429  const char *keystore_reference, struct lyd_node **config);
430 
439 int nc_server_config_del_ssh_keystore_ref(const char *endpt_name, const char *hostkey_name,
440  struct lyd_node **config);
441 
457 int nc_server_config_add_ssh_user_pubkey(const struct ly_ctx *ctx, const char *endpt_name,
458  const char *user_name, const char *pubkey_name, const char *pubkey_path, struct lyd_node **config);
459 
470 int nc_server_config_del_ssh_user_pubkey(const char *endpt_name, const char *user_name,
471  const char *pubkey_name, struct lyd_node **config);
472 
488 int nc_server_config_add_ssh_user_authkey(const struct ly_ctx *ctx, const char *endpt_name,
489  const char *user_name, struct lyd_node **config);
490 
499 int nc_server_config_del_ssh_user_authkey(const char *endpt_name, const char *user_name, struct lyd_node **config);
500 
513 int nc_server_config_hash_password(const char *crypt_hash, char **hashed_password);
514 
528 int nc_server_config_add_ssh_user_password(const struct ly_ctx *ctx, const char *endpt_name,
529  const char *user_name, const char *password, struct lyd_node **config);
530 
539 int nc_server_config_del_ssh_user_password(const char *endpt_name, const char *user_name,
540  struct lyd_node **config);
541 
556 int nc_server_config_add_ssh_user_interactive(const struct ly_ctx *ctx, const char *endpt_name,
557  const char *user_name, struct lyd_node **config);
558 
567 int nc_server_config_del_ssh_user_interactive(const char *endpt_name, const char *user_name,
568  struct lyd_node **config);
569 
579 int nc_server_config_del_ssh_user(const char *endpt_name,
580  const char *user_name, struct lyd_node **config);
581 
597 int nc_server_config_add_ssh_truststore_ref(const struct ly_ctx *ctx, const char *endpt_name, const char *user_name,
598  const char *truststore_reference, struct lyd_node **config);
599 
608 int nc_server_config_del_ssh_truststore_ref(const char *endpt_name, const char *user_name,
609  struct lyd_node **config);
610 
626 int nc_server_config_add_ssh_endpoint_client_ref(const struct ly_ctx *ctx, const char *endpt_name,
627  const char *referenced_endpt, struct lyd_node **config);
628 
636 int nc_server_config_del_ssh_endpoint_client_ref(const char *endpt_name, struct lyd_node **config);
637 
664 int nc_server_config_add_tls_server_cert(const struct ly_ctx *ctx, const char *endpt_name, const char *privkey_path,
665  const char *pubkey_path, const char *cert_path, struct lyd_node **config);
666 
677 int nc_server_config_del_tls_server_cert(const char *endpt_name, struct lyd_node **config);
678 
691 int nc_server_config_add_tls_keystore_ref(const struct ly_ctx *ctx, const char *endpt_name, const char *asym_key_ref,
692  const char *cert_ref, struct lyd_node **config);
693 
704 int nc_server_config_del_tls_keystore_ref(const char *endpt_name, struct lyd_node **config);
705 
721 int nc_server_config_add_tls_client_cert(const struct ly_ctx *ctx, const char *endpt_name, const char *cert_name,
722  const char *cert_path, struct lyd_node **config);
723 
737 int nc_server_config_del_tls_client_cert(const char *endpt_name, const char *cert_name, struct lyd_node **config);
738 
750 int nc_server_config_add_tls_client_cert_truststore_ref(const struct ly_ctx *ctx, const char *endpt_name,
751  const char *cert_bag_ref, struct lyd_node **config);
752 
763 int nc_server_config_del_tls_client_cert_truststore_ref(const char *endpt_name, struct lyd_node **config);
764 
788 int nc_server_config_add_tls_ca_cert(const struct ly_ctx *ctx, const char *endpt_name, const char *cert_name,
789  const char *cert_path, struct lyd_node **config);
790 
804 int nc_server_config_del_tls_ca_cert(const char *endpt_name, const char *cert_name, struct lyd_node **config);
805 
817 int nc_server_config_add_tls_ca_cert_truststore_ref(const struct ly_ctx *ctx, const char *endpt_name,
818  const char *cert_bag_ref, struct lyd_node **config);
819 
830 int nc_server_config_del_tls_ca_cert_truststore_ref(const char *endpt_name, struct lyd_node **config);
831 
847 int nc_server_config_add_tls_endpoint_client_ref(const struct ly_ctx *ctx, const char *endpt_name,
848  const char *referenced_endpt, struct lyd_node **config);
849 
857 int nc_server_config_del_tls_endpoint_client_ref(const char *endpt_name, struct lyd_node **config);
858 
874 int nc_server_config_add_tls_ctn(const struct ly_ctx *ctx, const char *endpt_name, uint32_t id, const char *fingerprint,
875  NC_TLS_CTN_MAPTYPE map_type, const char *name, struct lyd_node **config);
876 
889 int nc_server_config_del_tls_ctn(const char *endpt_name, uint32_t id, struct lyd_node **config);
890 
930 int nc_server_config_add_ch_address_port(const struct ly_ctx *ctx, const char *client_name, const char *endpt_name,
931  NC_TRANSPORT_IMPL transport, const char *address, const char *port, struct lyd_node **config);
932 
933 #endif /* NC_ENABLED_SSH_TLS */
934 
946 int nc_server_config_del_ch_client(const char *client_name, struct lyd_node **config);
947 
960 int nc_server_config_del_ch_endpt(const char *client_name, const char *endpt_name, struct lyd_node **config);
961 
974 int nc_server_config_add_ch_persistent(const struct ly_ctx *ctx, const char *client_name, struct lyd_node **config);
975 
989 int nc_server_config_add_ch_period(const struct ly_ctx *ctx, const char *client_name, uint16_t period,
990  struct lyd_node **config);
991 
1001 int nc_server_config_del_ch_period(const char *client_name, struct lyd_node **config);
1002 
1016 int nc_server_config_add_ch_anchor_time(const struct ly_ctx *ctx, const char *client_name,
1017  const char *anchor_time, struct lyd_node **config);
1018 
1026 int nc_server_config_del_ch_anchor_time(const char *client_name, struct lyd_node **config);
1027 
1041 int nc_server_config_add_ch_idle_timeout(const struct ly_ctx *ctx, const char *client_name,
1042  uint16_t idle_timeout, struct lyd_node **config);
1043 
1053 int nc_server_config_del_ch_idle_timeout(const char *client_name, struct lyd_node **config);
1054 
1068 int nc_server_config_add_ch_reconnect_strategy(const struct ly_ctx *ctx, const char *client_name,
1069  NC_CH_START_WITH start_with, uint16_t max_wait, uint8_t max_attempts, struct lyd_node **config);
1070 
1080 int nc_server_config_del_ch_reconnect_strategy(const char *client_name, struct lyd_node **config);
1081 
1086 #ifdef NC_ENABLED_SSH_TLS
1087 
1114 int nc_server_config_add_ch_ssh_hostkey(const struct ly_ctx *ctx, const char *client_name, const char *endpt_name,
1115  const char *hostkey_name, const char *privkey_path, const char *pubkey_path, struct lyd_node **config);
1116 
1130 int nc_server_config_del_ch_ssh_hostkey(const char *client_name, const char *endpt_name,
1131  const char *hostkey_name, struct lyd_node **config);
1132 
1150 int nc_server_config_add_ch_ssh_keystore_ref(const struct ly_ctx *ctx, const char *client_name,
1151  const char *endpt_name, const char *hostkey_name, const char *keystore_reference, struct lyd_node **config);
1152 
1162 int nc_server_config_del_ch_ssh_keystore_ref(const char *client_name, const char *endpt_name,
1163  const char *hostkey_name, struct lyd_node **config);
1164 
1182 int nc_server_config_add_ch_ssh_user_pubkey(const struct ly_ctx *ctx, const char *client_name, const char *endpt_name,
1183  const char *user_name, const char *pubkey_name, const char *pubkey_path, struct lyd_node **config);
1184 
1196 int nc_server_config_del_ch_ssh_user_pubkey(const char *client_name, const char *endpt_name,
1197  const char *user_name, const char *pubkey_name, struct lyd_node **config);
1198 
1216 int nc_server_config_add_ch_ssh_user_authkey(const struct ly_ctx *ctx, const char *client_name,
1217  const char *endpt_name, const char *user_name, struct lyd_node **config);
1218 
1228 int nc_server_config_ch_del_ssh_user_authkey(const char *client_name, const char *endpt_name,
1229  const char *user_name, struct lyd_node **config);
1230 
1246 int nc_server_config_add_ch_ssh_user_password(const struct ly_ctx *ctx, const char *client_name, const char *endpt_name,
1247  const char *user_name, const char *password, struct lyd_node **config);
1248 
1258 int nc_server_config_del_ch_ssh_user_password(const char *client_name, const char *endpt_name,
1259  const char *user_name, struct lyd_node **config);
1260 
1277 int nc_server_config_add_ch_ssh_user_interactive(const struct ly_ctx *ctx, const char *client_name, const char *endpt_name,
1278  const char *user_name, struct lyd_node **config);
1279 
1289 int nc_server_config_del_ch_ssh_user_interactive(const char *client_name, const char *endpt_name,
1290  const char *user_name, struct lyd_node **config);
1291 
1301 int nc_server_config_del_ch_ssh_user(const char *client_name, const char *endpt_name,
1302  const char *user_name, struct lyd_node **config);
1303 
1321 int nc_server_config_add_ch_ssh_truststore_ref(const struct ly_ctx *ctx, const char *client_name,
1322  const char *endpt_name, const char *user_name, const char *truststore_reference, struct lyd_node **config);
1323 
1333 int nc_server_config_del_ch_ssh_truststore_ref(const char *client_name, const char *endpt_name,
1334  const char *user_name, struct lyd_node **config);
1335 
1364 int nc_server_config_add_ch_tls_server_cert(const struct ly_ctx *ctx, const char *client_name, const char *endpt_name,
1365  const char *privkey_path, const char *pubkey_path, const char *cert_path, struct lyd_node **config);
1366 
1378 int nc_server_config_del_ch_tls_server_cert(const char *client_name, const char *endpt_name,
1379  struct lyd_node **config);
1380 
1395 int nc_server_config_add_ch_tls_keystore_ref(const struct ly_ctx *ctx, const char *client_name,
1396  const char *endpt_name, const char *asym_key_ref, const char *cert_ref, struct lyd_node **config);
1397 
1409 int nc_server_config_del_ch_tls_keystore_ref(const char *client_name, const char *endpt_name,
1410  struct lyd_node **config);
1411 
1427 int nc_server_config_add_ch_tls_client_cert(const struct ly_ctx *ctx, const char *client_name, const char *endpt_name,
1428  const char *cert_name, const char *cert_path, struct lyd_node **config);
1429 
1444 int nc_server_config_del_ch_tls_client_cert(const char *client_name, const char *endpt_name,
1445  const char *cert_name, struct lyd_node **config);
1446 
1460 int nc_server_config_add_ch_tls_client_cert_truststore_ref(const struct ly_ctx *ctx, const char *client_name,
1461  const char *endpt_name, const char *cert_bag_ref, struct lyd_node **config);
1462 
1474 int nc_server_config_del_ch_tls_client_cert_truststore_ref(const char *client_name, const char *endpt_name,
1475  struct lyd_node **config);
1476 
1492 int nc_server_config_add_ch_tls_ca_cert(const struct ly_ctx *ctx, const char *client_name, const char *endpt_name,
1493  const char *cert_name, const char *cert_path, struct lyd_node **config);
1494 
1509 int nc_server_config_del_ch_tls_ca_cert(const char *client_name, const char *endpt_name,
1510  const char *cert_name, struct lyd_node **config);
1511 
1525 int nc_server_config_add_ch_tls_ca_cert_truststore_ref(const struct ly_ctx *ctx, const char *client_name,
1526  const char *endpt_name, const char *cert_bag_ref, struct lyd_node **config);
1527 
1539 int nc_server_config_del_ch_tls_ca_cert_truststore_ref(const char *client_name, const char *endpt_name,
1540  struct lyd_node **config);
1541 
1559 int nc_server_config_add_ch_tls_ctn(const struct ly_ctx *ctx, const char *client_name, const char *endpt_name,
1560  uint32_t id, const char *fingerprint, NC_TLS_CTN_MAPTYPE map_type, const char *name, struct lyd_node **config);
1561 
1575 int nc_server_config_del_ch_tls_ctn(const char *client_name, const char *endpt_name,
1576  uint32_t id, struct lyd_node **config);
1577 
1582 #endif /* NC_ENABLED_SSH_TLS */
1583 
1584 #ifdef __cplusplus
1585 }
1586 #endif
1587 
1588 #endif /* NC_SESSION_SERVER_H_ */
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_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_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 con...
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 connecti...
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_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_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_client(const char *client_name, struct lyd_node **config)
Deletes a Call Home client 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_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_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_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 co...
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_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_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_...
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_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_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_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_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_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_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_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_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_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 authenticat...
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_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_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_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_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 cer...
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 (en...
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_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_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 fro...
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_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_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_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_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) certifica...
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 cert...
int nc_server_config_oper_get_supported_tls_algs(const struct ly_ctx *ctx, struct lyd_node **supported_algs)
Gets all the TLS transport cipher suites supported by the server.
int nc_server_config_del_unix_user_mapping(const char *endpt_name, const char *system_user, struct lyd_node **config)
Deletes a UNIX username mapping from the YANG data.
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_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_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_load_modules(struct ly_ctx **ctx)
Implements all the required modules and their features in the context. Needs to be called before any ...
int nc_server_config_add_unix_user_mapping(const struct ly_ctx *ctx, const char *endpt_name, const char *system_user, const char *netconf_user, struct lyd_node **config)
Creates new YANG data nodes for a UNIX username mapping.
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_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_add_unix_socket(const struct ly_ctx *ctx, const char *endpt_name, const char *path, const char *mode, const char *owner, const char *group, struct lyd_node **config)
Creates new YANG data nodes for a UNIX socket endpoint.
int nc_server_config_oper_get_supported_ssh_algs(const struct ly_ctx *ctx, struct lyd_node **supported_algs)
Gets all the SSH transport algorithms supported by the server.
int nc_server_config_setup_diff(const struct lyd_node *diff)
Configure server based on the given diff.
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_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_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_oper_get_user_password_last_modified(const char *ch_client, const char *endpoint, const char *username, time_t *last_modified)
Gets the last modified time of an SSH user's password.
int nc_server_config_setup_data(const struct lyd_node *data)
Configure server based on the given data.
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_setup_path(const struct ly_ctx *ctx, const char *path)
Configure server based on the given data stored in a file.
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_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_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_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_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 a...
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_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_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_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_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_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_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_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_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_hash_password(const char *crypt_hash, char **hashed_password)
Hashes a clear-text 'iana-crypt-hash' password the way the server stores it in its configuration.
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 metho...
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_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_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_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 a...
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_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_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_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_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_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_server_cert(const char *endpt_name, struct lyd_node **config)
Deletes the server's 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...
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) certifica...
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 certif...
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) ...
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.
libnetconf2 session manipulation
NC_TLS_CTN_MAPTYPE
Enumeration of cert-to-name mapping types.
Definition: session.h:51
NC_CH_START_WITH
Enumeration of Call Home client priority policy.
Definition: session.h:109
NC_TRANSPORT_IMPL
Enumeration of transport implementations (ways how libnetconf implements NETCONF transport protocol)
Definition: session.h:85