oceanbase
1/**
2* Copyright (c) 2021 OceanBase
3* OceanBase CE is licensed under Mulan PubL v2.
4* You can use this software according to the terms and conditions of the Mulan PubL v2.
5* You may obtain a copy of Mulan PubL v2 at:
6* http://license.coscl.org.cn/MulanPubL-2.0
7* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10* See the Mulan PubL v2 for more details.
11*/
12
13int g_ussl_client_auth_methods = USSL_AUTH_NONE;14// all methods are supported by default
15int g_ussl_server_auth_methods = USSL_AUTH_NONE |16USSL_AUTH_SSL_HANDSHAKE |17USSL_AUTH_SSL_IO;18int g_ussl_enable_bypass_flag = 0;19
20void set_server_auth_methods(const int methods)21{
22g_ussl_server_auth_methods = methods;23}
24
25int test_server_auth_methods(const int method)26{
27int ret = 0;28if (g_ussl_server_auth_methods & method) {29ret = 1;30}31return ret;32}
33
34int get_server_auth_methods()35{
36return ATOMIC_LOAD(&g_ussl_server_auth_methods);37}
38
39void set_client_auth_methods(const int methods)40{
41ATOMIC_STORE(&g_ussl_client_auth_methods, methods);42}
43
44int get_client_auth_methods()45{
46return ATOMIC_LOAD(&g_ussl_client_auth_methods);47}
48
49void ussl_set_auth_bypass_flag(int enable)50{
51g_ussl_enable_bypass_flag = enable;52}
53
54int ussl_get_auth_bypass_flag()55{
56return g_ussl_enable_bypass_flag;57}
58
59