diff --git a/clickhouse_driver/connection.py b/clickhouse_driver/connection.py index 54435756..588d5f7e 100644 --- a/clickhouse_driver/connection.py +++ b/clickhouse_driver/connection.py @@ -497,6 +497,13 @@ def receive_hello(self): defines.DBMS_MIN_REVISION_WITH_VERSION_PATCH: server_version_patch = read_varint(self.fin) + if used_revision >= defines. \ + DBMS_MIN_PROTOCOL_VERSION_WITH_PASSWORD_COMPLEXITY_RULES: + rules_size = read_varint(self.fin) + for _i in enumerate(rules_size): + read_binary_str(self.fin) # original_pattern + read_binary_str(self.fin) # exception_message + self.server_info = ServerInfo( server_name, server_version_major, server_version_minor, server_version_patch, server_revision, diff --git a/clickhouse_driver/defines.py b/clickhouse_driver/defines.py index 0f0980f5..968bb2ec 100644 --- a/clickhouse_driver/defines.py +++ b/clickhouse_driver/defines.py @@ -31,6 +31,7 @@ DBMS_MIN_PROTOCOL_VERSION_WITH_QUOTA_KEY = 54458 DBMS_MIN_PROTOCOL_VERSION_WITH_PARAMETERS = 54459 DBMS_MIN_PROTOCOL_VERSION_WITH_SERVER_QUERY_TIME_IN_PROGRESS = 54460 +DBMS_MIN_PROTOCOL_VERSION_WITH_PASSWORD_COMPLEXITY_RULES = 54461 # Timeouts DBMS_DEFAULT_CONNECT_TIMEOUT_SEC = 10 @@ -46,7 +47,7 @@ CLIENT_VERSION_MAJOR = 20 CLIENT_VERSION_MINOR = 10 CLIENT_VERSION_PATCH = 2 -CLIENT_REVISION = DBMS_MIN_PROTOCOL_VERSION_WITH_SERVER_QUERY_TIME_IN_PROGRESS +CLIENT_REVISION = DBMS_MIN_PROTOCOL_VERSION_WITH_PASSWORD_COMPLEXITY_RULES BUFFER_SIZE = 1048576