--- lbbs/src/net_server.c 2025/06/07 01:51:54 1.55 +++ lbbs/src/net_server.c 2025/06/17 01:24:21 1.60 @@ -56,7 +56,7 @@ typedef struct process_sockaddr_t PROCES static PROCESS_SOCKADDR process_sockaddr_pool[MAX_CLIENT_LIMIT]; -#define SSH_AUTH_MAX_DURATION 60 // seconds +#define SSH_AUTH_MAX_DURATION (60 * 1000) // milliseconds struct ssl_server_cb_data_t { @@ -67,26 +67,18 @@ struct ssl_server_cb_data_t static int auth_password(ssh_session session, const char *user, const char *password, void *userdata) { - MYSQL *db; struct ssl_server_cb_data_t *p_data = userdata; int ret; - if ((db = db_open()) == NULL) - { - return SSH_AUTH_ERROR; - } - if (strcmp(user, "guest") == 0) { - ret = load_guest_info(db); + ret = load_guest_info(); } else { - ret = check_user(db, user, password); + ret = check_user(user, password); } - mysql_close(db); - if (ret == 0) { return SSH_AUTH_SUCCESS; @@ -129,7 +121,7 @@ static ssh_channel new_session_channel(s return SSH_channel; } -int fork_server(void) +static int fork_server(void) { ssh_event event; int pid; @@ -193,9 +185,9 @@ int fork_server(void) event = ssh_event_new(); ssh_event_add_session(event, SSH_session); - for (i = 0; i < SSH_AUTH_MAX_DURATION && !SYS_server_exit && !cb_data.error && SSH_channel == NULL; i++) + for (i = 0; i < SSH_AUTH_MAX_DURATION && !SYS_server_exit && !cb_data.error && SSH_channel == NULL; i += 100) { - ret = ssh_event_dopoll(event, 1000); // 1 second + ret = ssh_event_dopoll(event, 100); // 0.1 second if (ret == SSH_ERROR) { log_error("ssh_event_dopoll() error: %s\n", ssh_get_error(SSH_session));