@@ -1041,34 +1041,46 @@ np2srv_ssh_algs_oper_cb(sr_session_ctx_t *session, uint32_t UNUSED(sub_id), cons
10411041 const char * UNUSED (request_xpath ), uint32_t UNUSED (request_id ), struct lyd_node * * parent ,
10421042 void * UNUSED (private_data ))
10431043{
1044- int ret = 0 ;
10451044 const struct ly_ctx * ly_ctx ;
10461045
1047- (void ) path ;
1048-
10491046 /* context is locked by the callback anyway */
10501047 ly_ctx = sr_session_acquire_context (session );
10511048 sr_session_release_context (session );
10521049
10531050 /* get oper data based on the module */
1054- if (!strcmp (module_name , "iana-ssh-public-key-algs" )) {
1055- assert (!strcmp (path , "/iana-ssh-public-key-algs:supported-algorithms" ));
1056- ret = nc_server_config_oper_get_hostkey_algs (ly_ctx , parent );
1057- } else if (!strcmp (module_name , "iana-ssh-key-exchange-algs" )) {
1058- assert (!strcmp (path , "/iana-ssh-key-exchange-algs:supported-algorithms" ));
1059- ret = nc_server_config_oper_get_kex_algs (ly_ctx , parent );
1060- } else if (!strcmp (module_name , "iana-ssh-encryption-algs" )) {
1061- assert (!strcmp (path , "/iana-ssh-encryption-algs:supported-algorithms" ));
1062- ret = nc_server_config_oper_get_encryption_algs (ly_ctx , parent );
1063- } else if (!strcmp (module_name , "iana-ssh-mac-algs" )) {
1064- assert (!strcmp (path , "/iana-ssh-mac-algs:supported-algorithms" ));
1065- ret = nc_server_config_oper_get_mac_algs (ly_ctx , parent );
1051+ if (!strcmp (module_name , "ietf-ssh-common" ) && !strcmp (path , "/ietf-ssh-common:supported-algorithms" )) {
1052+ if (nc_server_config_oper_get_supported_ssh_algs (ly_ctx , parent )) {
1053+ return SR_ERR_INTERNAL ;
1054+ }
10661055 } else {
1067- ERR ("Unable to get supported SSH algorithms ( module %s not supported) ." , module_name );
1056+ ERR ("Unable to get supported SSH algorithms for unknown module \"%s\" and path \"%s\" ." , module_name , path );
10681057 return SR_ERR_INTERNAL ;
10691058 }
1070- if (ret ) {
1071- ERR ("Getting supported SSH algorithms failed." );
1059+
1060+ return SR_ERR_OK ;
1061+ }
1062+
1063+ /**
1064+ * @brief Callback for providing TLS cipher suites operational data.
1065+ */
1066+ static int
1067+ np2srv_tls_algs_oper_cb (sr_session_ctx_t * session , uint32_t UNUSED (sub_id ), const char * module_name , const char * path ,
1068+ const char * UNUSED (request_xpath ), uint32_t UNUSED (request_id ), struct lyd_node * * parent ,
1069+ void * UNUSED (private_data ))
1070+ {
1071+ const struct ly_ctx * ly_ctx ;
1072+
1073+ /* context is locked by the callback anyway */
1074+ ly_ctx = sr_session_acquire_context (session );
1075+ sr_session_release_context (session );
1076+
1077+ /* get oper data based on the module */
1078+ if (!strcmp (module_name , "ietf-tls-common" ) && !strcmp (path , "/ietf-tls-common:supported-algorithms" )) {
1079+ if (nc_server_config_oper_get_supported_tls_algs (ly_ctx , parent )) {
1080+ return SR_ERR_INTERNAL ;
1081+ }
1082+ } else {
1083+ ERR ("Unable to get supported TLS cipher suites for unknown module \"%s\" and path \"%s\"." , module_name , path );
10721084 return SR_ERR_INTERNAL ;
10731085 }
10741086
@@ -1126,18 +1138,12 @@ server_data_subscribe(void)
11261138 }
11271139
11281140#ifdef NC_ENABLED_SSH_TLS
1129- /* set callbacks for supported algorithms oper data */
1130- mod_name = "iana-ssh-public-key-algs" ;
1131- SR_OPER_SUBSCR (mod_name , "/iana-ssh-public-key-algs:supported-algorithms" , np2srv_ssh_algs_oper_cb );
1132-
1133- mod_name = "iana-ssh-key-exchange-algs" ;
1134- SR_OPER_SUBSCR (mod_name , "/iana-ssh-key-exchange-algs:supported-algorithms" , np2srv_ssh_algs_oper_cb );
1135-
1136- mod_name = "iana-ssh-encryption-algs" ;
1137- SR_OPER_SUBSCR (mod_name , "/iana-ssh-encryption-algs:supported-algorithms" , np2srv_ssh_algs_oper_cb );
1141+ /* set callbacks for supported SSH algorithms and TLS cipher suites oper data */
1142+ mod_name = "ietf-ssh-common" ;
1143+ SR_OPER_SUBSCR (mod_name , "/ietf-ssh-common:supported-algorithms" , np2srv_ssh_algs_oper_cb );
11381144
1139- mod_name = "iana-ssh-mac-algs " ;
1140- SR_OPER_SUBSCR (mod_name , "/iana-ssh-mac-algs :supported-algorithms" , np2srv_ssh_algs_oper_cb );
1145+ mod_name = "ietf-tls-common " ;
1146+ SR_OPER_SUBSCR (mod_name , "/ietf-tls-common :supported-algorithms" , np2srv_tls_algs_oper_cb );
11411147#endif /* NC_ENABLED_SSH_TLS */
11421148
11431149 /* subscriptions to running DS */
0 commit comments