From bbf169f5bc2af6d6a912bbb946e6c0c8c311864e Mon Sep 17 00:00:00 2001 From: dmchen Date: Fri, 14 Feb 2025 03:35:37 +0000 Subject: [PATCH] feat/TS-5927-long-password-add-case --- source/client/src/clientImpl.c | 2 +- source/util/src/terror.c | 4 ++-- tests/army/cluster/strongPassword.py | 4 ++++ tools/shell/inc/shellInt.h | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/source/client/src/clientImpl.c b/source/client/src/clientImpl.c index c2a199e9c1..497398a8cd 100644 --- a/source/client/src/clientImpl.c +++ b/source/client/src/clientImpl.c @@ -54,7 +54,7 @@ static bool stringLengthCheck(const char* str, size_t maxsize) { static bool validateUserName(const char* user) { return stringLengthCheck(user, TSDB_USER_LEN - 1); } -static bool validatePassword(const char* passwd) { return stringLengthCheck(passwd, TSDB_PASSWORD_LEN - 1); } +static bool validatePassword(const char* passwd) { return stringLengthCheck(passwd, TSDB_PASSWORD_MAX_LEN); } static bool validateDbName(const char* db) { return stringLengthCheck(db, TSDB_DB_NAME_LEN - 1); } diff --git a/source/util/src/terror.c b/source/util/src/terror.c index ba2d471ccf..59a694f814 100644 --- a/source/util/src/terror.c +++ b/source/util/src/terror.c @@ -130,7 +130,7 @@ TAOS_DEFINE_ERROR(TSDB_CODE_TSC_INVALID_VERSION, "Invalid client versio TAOS_DEFINE_ERROR(TSDB_CODE_TSC_INVALID_IE, "Invalid client ie") TAOS_DEFINE_ERROR(TSDB_CODE_TSC_INVALID_FQDN, "Invalid host name") TAOS_DEFINE_ERROR(TSDB_CODE_TSC_INVALID_USER_LENGTH, "Invalid user name") -TAOS_DEFINE_ERROR(TSDB_CODE_TSC_INVALID_PASS_LENGTH, "Invalid password") +TAOS_DEFINE_ERROR(TSDB_CODE_TSC_INVALID_PASS_LENGTH, "Invalid password length") TAOS_DEFINE_ERROR(TSDB_CODE_TSC_INVALID_DB_LENGTH, "Database name too long") TAOS_DEFINE_ERROR(TSDB_CODE_TSC_INVALID_TABLE_ID_LENGTH, "Table name too long") TAOS_DEFINE_ERROR(TSDB_CODE_TSC_INVALID_CONNECTION, "Invalid connection") @@ -694,7 +694,7 @@ TAOS_DEFINE_ERROR(TSDB_CODE_PAR_PERMISSION_DENIED, "Permission denied o TAOS_DEFINE_ERROR(TSDB_CODE_PAR_INVALID_STREAM_QUERY, "Invalid stream query") TAOS_DEFINE_ERROR(TSDB_CODE_PAR_INVALID_INTERNAL_PK, "Invalid _c0 or _rowts expression") TAOS_DEFINE_ERROR(TSDB_CODE_PAR_INVALID_TIMELINE_FUNC, "Invalid timeline function") -TAOS_DEFINE_ERROR(TSDB_CODE_PAR_INVALID_PASSWD, "Invalid password") +TAOS_DEFINE_ERROR(TSDB_CODE_PAR_INVALID_PASSWD, "Invalid password 2") TAOS_DEFINE_ERROR(TSDB_CODE_PAR_INVALID_ALTER_TABLE, "Invalid alter table statement") TAOS_DEFINE_ERROR(TSDB_CODE_PAR_CANNOT_DROP_PRIMARY_KEY, "Primary timestamp column cannot be dropped") TAOS_DEFINE_ERROR(TSDB_CODE_PAR_INVALID_MODIFY_COL, "Only varbinary/binary/nchar/geometry column length could be modified, and the length can only be increased, not decreased") diff --git a/tests/army/cluster/strongPassword.py b/tests/army/cluster/strongPassword.py index 311c77e158..48dbe6d512 100644 --- a/tests/army/cluster/strongPassword.py +++ b/tests/army/cluster/strongPassword.py @@ -54,6 +54,10 @@ class TDTestCase(TBase): tdSql.execute("create user test2 pass '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345' sysinfo 0;") + cmd = "taos -u test2 -p123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345 -s 'show databases;'" + if os.system(cmd) != 0: + raise Exception("failed to execute system command. cmd: %s" % cmd) + tdSql.error("alter user test2 pass '1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456';", expectErrInfo="Name or password too long") def stop(self): diff --git a/tools/shell/inc/shellInt.h b/tools/shell/inc/shellInt.h index b1f09d5161..9e14cd32f0 100644 --- a/tools/shell/inc/shellInt.h +++ b/tools/shell/inc/shellInt.h @@ -65,7 +65,7 @@ typedef struct { const char* commands; const char* netrole; char file[PATH_MAX]; - char password[TSDB_USET_PASSWORD_LEN]; + char password[TSDB_USET_PASSWORD_LONGLEN]; bool is_gen_auth; bool is_bi_mode; bool is_raw_time;