diff --git a/configure.ac b/configure.ac index fa066a9..07541d7 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.69]) -AC_INIT([lbbs],[1.6.3]) +AC_INIT([lbbs],[1.6.4]) AC_CONFIG_SRCDIR([src/]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIRS([m4]) diff --git a/src/login.c b/src/login.c index 3448006..bdd967c 100644 --- a/src/login.c +++ b/src/login.c @@ -324,24 +324,29 @@ int check_user(const char *username, const char *password) goto cleanup; } - if (!SSH_v2 && checklevel2(&BBS_priv, P_MAN_S)) - { - prints("\033[1;31m非普通账户必须使用SSH方式登录\033[m\r\n"); - ret = 1; - goto cleanup; - } - ret = load_user_info(db, BBS_uid); switch (ret) { case 0: // Login successfully + if (!SSH_v2 && checklevel2(&BBS_priv, P_MAN_S)) + { + prints("\033[1;31m非普通账户必须使用SSH方式登录\033[m\r\n"); + ret = 1; + goto cleanup; + } break; case -1: // Load data error prints("\033[1;31m读取用户数据错误...\033[m\r\n"); ret = -1; goto cleanup; case -2: // Enforce update user agreement + if (!SSH_v2 && checklevel2(&BBS_priv, P_MAN_S)) + { + prints("\033[1;31m非普通账户必须使用SSH方式登录\033[m\r\n"); + ret = 1; + goto cleanup; + } ret = 2; goto cleanup; case -3: // Dead