@@ -1296,15 +1296,25 @@ nc_server_ssh_auth_pubkey(struct nc_session *session, int local_users_supported,
12961296 return ret ;
12971297}
12981298
1299+ /**
1300+ * @brief Handle authentication request for the Keyboard-interactive method.
1301+ *
1302+ * @param[in] session NETCONF session.
1303+ * @param[in] local_users_supported Whether the server supports local users.
1304+ * @param[in] auth_client Configured client's authentication data.
1305+ * @param[in] msg libssh message.
1306+ * @return 0 if the authentication was successful, 1 if not.
1307+ */
12991308static int
13001309nc_server_ssh_auth_kbdint (struct nc_session * session , int local_users_supported , struct nc_auth_client * auth_client , ssh_message msg )
13011310{
1302- int rc ;
1311+ int rc = 0 ;
13031312
13041313 assert (!local_users_supported || auth_client );
13051314
13061315 if (local_users_supported && !auth_client -> kb_int_enabled ) {
13071316 VRB (session , "User \"%s\" does not have Keyboard-interactive method configured, but a request was received." , session -> username );
1317+ return 1 ;
13081318 } else if (server_opts .interactive_auth_clb ) {
13091319 rc = server_opts .interactive_auth_clb (session , session -> ti .libssh .session , msg , server_opts .interactive_auth_data );
13101320 } else {
@@ -1316,6 +1326,7 @@ nc_server_ssh_auth_kbdint(struct nc_session *session, int local_users_supported,
13161326 rc = nc_server_ssh_auth_kbdint_system (session , session -> username , msg );
13171327#else
13181328 ERR (NULL , "Keyboard-interactive method not supported." );
1329+ return 1 ;
13191330#endif
13201331 }
13211332
0 commit comments