Alexander Tokmakov
3d346c766a
better code
2022-06-01 16:49:26 +02:00
Alexander Tokmakov
7e659036f8
fix
2022-05-27 20:30:06 +02:00
Alexander Tokmakov
779e6ea0b9
make it better, fix on cluster queries
2022-05-25 20:17:49 +02:00
Alexander Tokmakov
3f44f34fe1
review suggestions
2022-05-23 21:55:17 +02:00
Alexander Tokmakov
c48410b574
fix trash in my code
2022-05-21 02:05:02 +02:00
Alexander Tokmakov
19afeda4b1
fix style
2022-05-18 14:23:52 +02:00
Alexander Tokmakov
538b5cd536
fix more trash
2022-05-18 14:06:52 +02:00
Alexander Tokmakov
5590adeffa
fix more trash
2022-05-17 23:04:24 +02:00
Alexander Tokmakov
dea39d8175
fix some trash
2022-05-17 18:22:52 +02:00
Alexander Tokmakov
712a04d69c
Revert "Removed an unnecessary check and extra logging"
...
This reverts commit 59ed1f9d8e
.
2022-05-16 18:56:00 +02:00
Vasily Nemkov
59ed1f9d8e
Removed an unnecessary check and extra logging
2022-05-16 09:29:54 +03:00
Vasily Nemkov
fdd42f19ff
Less obscure message on destroying Session
2022-05-13 15:27:59 +03:00
Vasily Nemkov
2e669f69f4
Added checks to validate that authentication happens before creating query or session context;
...
Updated logging of user_id, removed unnecessary precautions
Explicitly stating in Session d-tor if user was not authenticated
2022-05-13 13:46:24 +03:00
Vasily Nemkov
0cbc9c18e2
No debug messge if user not set
2022-05-10 13:39:23 +03:00
Vasily Nemkov
de9a06df5b
Merge branch 'master' into fix_session_log_crash
2022-05-09 17:00:24 +04:00
Vasily Nemkov
58953b5f28
Fixed issues with concurrent access to User object
...
ContextAccess might be updated from another thread, nullifying UserPtr.
Can happen if user was dropped in concurrent query.
This could crash server under certain conditions.
2022-05-09 15:56:50 +03:00
Amos Bird
4a5e4274f0
base should not depend on Common
2022-04-29 10:26:35 +08:00
Vasily Nemkov
dc88d8d571
Explicitly passing a user object to create a LogIn event
2022-03-30 23:37:24 +03:00
Antonio Andelic
d14ad227b1
Polish TCP is_secure flag
2022-03-30 06:39:40 +00:00
Vitaly Baranov
6721060649
Rename function IAccessStorage::login() -> IAccessStorage::authenticate().
...
Remove functions IAccessStorage::hasSubscriptionImpl() and IAccessStorage::existsImpl().
2021-12-20 21:26:27 +03:00
Vitaly Baranov
33ea7a7262
Rename RowPolicy::ConditionType -> RowPolicyFilterType and move it to Access/Common.
2021-11-19 00:14:23 +03:00
Vitaly Baranov
49d8360fc5
Turn off sending events for the LOCAL interface to the system log.
2021-11-03 16:21:34 +03:00
Vitaly Baranov
afe2c9c040
Rename AccessControlManager -> AccessControl.
2021-11-02 14:06:20 +03:00
Vitaly Baranov
ab01b9afc8
Split Authentication.h to common and main parts.
2021-11-01 19:13:49 +03:00
alexey-milovidov
38518070b7
Merge pull request #30882 from vitlibar/rename-columns-in-session-log
...
Rename columns in SessionLog
2021-10-31 12:30:01 +03:00
Vitaly Baranov
973a7aea92
Rename columns "session_id"->"auth_id", "session_name"->"session_id" in SessionLog.
2021-10-30 17:59:32 +03:00
Alexey Milovidov
8b4a6a2416
Remove cruft
2021-10-28 02:10:39 +03:00
Vasily Nemkov
0ad7f9bba2
Fixed PVS warning
2021-10-20 12:45:32 +03:00
Vasily Nemkov
e72ec27d5b
Fixed builds and using magic_enum
2021-10-19 19:45:48 +03:00
Vasily Nemkov
cef993233f
Attempt to fix #30162
...
Added some logging to the Session
2021-10-19 18:11:46 +03:00
Vitaly Baranov
4a4d913cfd
Merge pull request #29954 from vitlibar/fix-flaky-test_grpc_protocol
...
gRPC: Fix releasing query ID and session ID at the end of query processing
2021-10-12 13:32:27 +03:00
Vitaly Baranov
1dda596689
Fix releasing query ID and session ID at the end of query processing.
2021-10-10 17:34:45 +03:00
Vitaly Baranov
17fe76709f
Merge pull request #28331 from vitlibar/mysql-authentication-cleanup
...
Clean up MySQL authentication.
2021-10-04 11:11:45 +03:00
Vitaly Baranov
30b9b8fd58
Clean up MySQL authentication.
2021-10-03 23:40:08 +03:00
Azat Khuzhin
91f6cf44b3
Fix SessionLog::addLoginSuccess() for ClientInfo::Interface::TCP_INTERSERVER
...
In this case there there can be no user.
CI report [1]:
Address: 0x1f Access: read. Address not mapped to object.
Stack trace: 0x24494b2f 0x244784c6 0x260fe1af 0x260ed672 0x260ddffa 0x26104880 0x2d62f3af 0x2d6300a1 0x2d926666 0x2d91fb7a 0x7f8bcea3c609 0x7f8bce963293
3.1. inlined from ./obj-x86_64-linux-gnu/../contrib/libcxx/include/string:0: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::operator=(std::__1::basic_string>
3. ../src/Interpreters/SessionLog.cpp:216: DB::SessionLog::addLoginSuccess(StrongTypedef<wide::integer<128ul, unsigned int>, DB::UUIDTag> const&, std::__1::optional<std::__1::basic_string<char, st>
4. ./obj-x86_64-linux-gnu/../src/Interpreters/Session.cpp:0: DB::Session::makeQueryContextImpl(DB::ClientInfo const*, DB::ClientInfo*) const @ 0x244784c6 in /usr/bin/clickhouse
5.1. inlined from ./obj-x86_64-linux-gnu/../contrib/libcxx/include/memory:3299: std::__1::shared_ptr<DB::Context>::swap(std::__1::shared_ptr<DB::Context>&)
5.2. inlined from ../contrib/libcxx/include/memory:3243: std::__1::shared_ptr<DB::Context>::operator=(std::__1::shared_ptr<DB::Context>&&)
5. ../src/Server/TCPHandler.cpp:1208: DB::TCPHandler::receiveQuery() @ 0x260fe1af in /usr/bin/clickhouse
6. ./obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:0: DB::TCPHandler::receivePacket() @ 0x260ed672 in /usr/bin/clickhouse
7. ./obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:0: DB::TCPHandler::runImpl() @ 0x260ddffa in /usr/bin/clickhouse
8. ./obj-x86_64-linux-gnu/../src/Server/TCPHandler.cpp:1643: DB::TCPHandler::run() @ 0x26104880 in /usr/bin/clickhouse
[1]: https://clickhouse-test-reports.s3.yandex.net/29060/c087fc0ed5fbea133eb3dc3a64b8db93a81d0ece/integration_tests_flaky_check_(asan).html#fail1
2021-10-01 01:13:15 +03:00
Vitaly Baranov
70c6623036
Merge branch 'master' into governance/session_log
2021-09-07 10:12:54 +03:00
Vasily Nemkov
109d2f63d0
Fixed tests and minor style issues
2021-08-31 15:39:15 +03:00
Vasily Nemkov
c902afddde
Added system.session_log table
...
Which logs all the info about LogIn, LogOut and LogIn Failure events.
Additional info that is logged:
- User name
- event type (LogIn, LogOut, LoginFailure)
- Event date\time\time with microseconds
- authentication type (same as for IDENTIFIED BY of CREATE USER statement)
- array of active settings profiles upon login
- array of active roles upon login
- array of changed settings with corresponding values
- client address and port
- interface (TCP\HTTP\MySQL\PostgreSQL, etc.)
- client info (name, version info)
- optional LoginFailure reason text message.
Added some tests to verify that events are properly saved with all necessary info via following interfaces:
- TCP
- HTTP
- MySQL
Known limitations
- Not tested against named HTTP sessions, PostgreSQL and gRPC, hence those are not guaranteed to work 100% properly.
2021-08-30 18:28:28 +03:00
Dmitrii Kovalkov
2c8e2c6995
Fix arcadia build
2021-08-30 12:19:13 +03:00
Nikita Mikhaylov
fb6462d70a
Merge pull request #27886 from vitlibar/add-separate-constants-for-interfaces
...
Add separate constants for interfaces LOCAL and TCP_INTERSERVER.
2021-08-23 16:25:01 +03:00
Vitaly Baranov
3ab1177d7e
Add separate constants for interface LOCAL and TCP_INTERSERVER.
2021-08-19 23:04:36 +03:00
Vitaly Baranov
9fecda940d
Fix shutdown of NamedSessionStorage.
2021-08-19 17:27:03 +03:00
Vitaly Baranov
fabd7193bd
Code cleanups and improvements.
2021-08-18 14:24:52 +03:00
Vasily Nemkov
51ffc33457
Introduce sessions.
...
This is required to add system.session_log table.
2021-08-18 14:24:52 +03:00