319 lines
18 KiB
C++
319 lines
18 KiB
C++
/**
|
|
* Copyright (c) 2021 OceanBase
|
|
* OceanBase CE is licensed under Mulan PubL v2.
|
|
* You can use this software according to the terms and conditions of the Mulan PubL v2.
|
|
* You may obtain a copy of Mulan PubL v2 at:
|
|
* http://license.coscl.org.cn/MulanPubL-2.0
|
|
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
|
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
|
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
|
* See the Mulan PubL v2 for more details.
|
|
*/
|
|
|
|
#include <gtest/gtest.h>
|
|
|
|
#define private public
|
|
#include "lib/net/ob_net_util.h"
|
|
|
|
namespace oceanbase
|
|
{
|
|
namespace obsys
|
|
{
|
|
|
|
TEST(TestWhiteList, ObNetUtil)
|
|
{
|
|
ObString host_name_0("100.104.127.0/26");
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("100.104.127.44", host_name_0));
|
|
|
|
ObString host_name("192.168.0.0/16");
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.1.1", host_name));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.1.0", host_name));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.1.255", host_name));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.-1", host_name));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.-1.1", host_name));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.256.1", host_name));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.256", host_name));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.169.1.1", host_name));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.0.1.1", host_name));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.1", host_name));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("hello", host_name));
|
|
|
|
ObString host_name_ipv6("fe80:90fa:2017:ff00::/56");
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("fe80:90fa:2017:ff03::0a:02", host_name_ipv6));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("fe80:90fa:2017:ff00:00e8:0074:0a:02", host_name_ipv6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("fe80:90fa:2017:fe00:00e8:0074:0a:02", host_name_ipv6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match(":90fa:2017:fe00:00e8:0074:0a:02", host_name_ipv6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("fe80:90fa:2017:ff:", host_name_ipv6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("::", host_name_ipv6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("::1", host_name_ipv6));
|
|
|
|
ObString host_name2("0.0.0.0/0");
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.1.1", host_name2));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.1.0", host_name2));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.1.255", host_name2));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.-1", host_name2));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.-1.1", host_name2));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.256.1", host_name2));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.256", host_name2));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.169.1.1", host_name2));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.0.1.1", host_name2));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.1", host_name2));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("hello", host_name2));
|
|
|
|
ObString host_name2_ipv6("::/0");
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("fe80:90fa:2017:ff03::0a:02", host_name2_ipv6));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("fe80:90fa:2017:ff03::", host_name2_ipv6));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("::", host_name2_ipv6));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("::1", host_name2_ipv6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.1", host_name2_ipv6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match(":2017:ff03::", host_name2_ipv6));
|
|
|
|
ObString host_name3("192.168.1.1/32");
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.1.1", host_name3));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.0", host_name3));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.255", host_name3));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.-1", host_name3));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.-1.1", host_name3));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.256.1", host_name3));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.256", host_name3));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.169.1.1", host_name3));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.0.1.1", host_name3));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.1", host_name3));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("hello", host_name3));
|
|
|
|
ObString host_name4("192.168.11.0/255.255.255.0");
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.11.1", host_name4));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.11.0", host_name4));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.11.255", host_name4));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.-1", host_name4));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.256", host_name4));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.1", host_name4));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.10.1", host_name4));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.0.1.1", host_name4));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.1", host_name4));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("hello", host_name4));
|
|
|
|
ObString host_name4_ipv6("fe80:90fa:2017:ff80::/ffff:ffff:ffff:ffff:0:0:0:0");
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("fe80:90fa:2017:ff80:00e8:ff74:0a:02", host_name4_ipv6));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("fe80:90fa:2017:ff80::", host_name4_ipv6));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("fe80:90fa:2017:ff80:e8::0a:02", host_name4_ipv6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("fe80:90fa:2017:ff00:00e8:0074:0a:02", host_name4_ipv6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("fe80:90fa:2017:ff00::", host_name4_ipv6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("::", host_name4_ipv6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("::1", host_name4_ipv6));
|
|
|
|
ObString host_name5("0.0.0.0/0.0.0.0");
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.11.1", host_name5));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.11.0", host_name5));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.11.255", host_name5));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.-1", host_name5));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.256", host_name5));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.1.1", host_name5));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.10.1", host_name5));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.0.1.1", host_name5));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.1", host_name5));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("hello", host_name5));
|
|
|
|
ObString host_name5_ipv6("::/::");
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("fe80:90fa:2017:ff00:00e8:0074:0a:02", host_name5_ipv6));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("::", host_name5_ipv6));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("::1", host_name5_ipv6));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("ff:ff:ff:ff:ff:ff:ff:ff", host_name5_ipv6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("90fa:2017:ff00:00e8:0074:0a:02", host_name5_ipv6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("fe80:90fa:2017:ff00:00e8:0074:0a:-1", host_name5_ipv6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("fe80:90fa:2017:ff00:00e8:0074:0a:g1", host_name5_ipv6));
|
|
|
|
ObString host_name6("192.168.11.1/255.255.255.255");
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.11.1", host_name6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.0", host_name6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.255", host_name6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.-1", host_name6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.256", host_name6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.1", host_name6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.10.1", host_name6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.0.1.1", host_name6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.1", host_name6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("hello", host_name6));
|
|
|
|
ObString host_name7("192.168.11.1/33");
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.1", host_name7));
|
|
ObString host_name8("192.168.11.1/-1");
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.1", host_name8));
|
|
ObString host_name9("192.168.11.1/");
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.1", host_name9));
|
|
|
|
ObString host_name7_ipv6("fe80:90fa:2017:ff00::/129");
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("fe80:90fa:2017:ff03::0a:02", host_name7_ipv6));
|
|
ObString host_name8_ipv6("fe80:90fa:2017:ff00::/-1");
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("fe80:90fa:2017:ff03::0a:02", host_name8_ipv6));
|
|
ObString host_name9_ipv6("fe80:90fa:2017:ff00::/");
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("fe80:90fa:2017:ff03::0a:02", host_name9_ipv6));
|
|
|
|
ObString host_name10("192.168.11.1");
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("192.168.11.1", host_name10));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.0", host_name10));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.255", host_name10));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.-1", host_name10));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.11.256", host_name10));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.1.1", host_name10));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.168.10.1", host_name10));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.0.1.1", host_name10));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("192.1", host_name10));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("hello", host_name10));
|
|
|
|
ObString host_name10_ipv6("2017::a:2");
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("2017:0:0:0:0:0:a:2", host_name10_ipv6));
|
|
EXPECT_EQ(true, ObNetUtil::is_ip_match("2017::0a:02", host_name10_ipv6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("2017:2::0a:02", host_name10_ipv6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("::", host_name10_ipv6));
|
|
EXPECT_EQ(false, ObNetUtil::is_ip_match("::1", host_name10_ipv6));
|
|
|
|
ObString host_name11("192.168.11.%");
|
|
EXPECT_EQ(true, ObNetUtil::is_wild_match("192.168.11.0", host_name11));
|
|
EXPECT_EQ(true, ObNetUtil::is_wild_match("192.168.11.255", host_name11));
|
|
EXPECT_EQ(true, ObNetUtil::is_wild_match("192.168.11.-1", host_name11));
|
|
EXPECT_EQ(true, ObNetUtil::is_wild_match("192.168.11.256", host_name11));
|
|
EXPECT_EQ(false, ObNetUtil::is_wild_match("192.168.1.1", host_name11));
|
|
EXPECT_EQ(false, ObNetUtil::is_wild_match("192.168.10.1", host_name11));
|
|
EXPECT_EQ(false, ObNetUtil::is_wild_match("192.0.1.1", host_name11));
|
|
|
|
ObString host_name11_ipv6("fe80:fe20:ffff:%");
|
|
EXPECT_EQ(true, ObNetUtil::is_wild_match("fe80:fe20:ffff:2014:0506:02:56:80", host_name11_ipv6));
|
|
EXPECT_EQ(true, ObNetUtil::is_wild_match("fe80:fe20:ffff::", host_name11_ipv6));
|
|
EXPECT_EQ(true, ObNetUtil::is_wild_match("fe80:fe20:ffff:2019::", host_name11_ipv6));
|
|
EXPECT_EQ(false, ObNetUtil::is_wild_match("fe80:fe20:fffe::", host_name11_ipv6));
|
|
EXPECT_EQ(false, ObNetUtil::is_wild_match("fe80:fe20:8fff::2084:92:23:78:ff30", host_name11_ipv6));
|
|
|
|
ObString host_name12("192.168.11._");
|
|
EXPECT_EQ(true, ObNetUtil::is_wild_match("192.168.11.0", host_name12));
|
|
EXPECT_EQ(false, ObNetUtil::is_wild_match("192.168.11.255", host_name12));
|
|
EXPECT_EQ(false, ObNetUtil::is_wild_match("192.168.11.-1", host_name12));
|
|
EXPECT_EQ(false, ObNetUtil::is_wild_match("192.168.11.256", host_name12));
|
|
EXPECT_EQ(false, ObNetUtil::is_wild_match("192.168.1.1", host_name12));
|
|
EXPECT_EQ(false, ObNetUtil::is_wild_match("192.168.10.1", host_name12));
|
|
EXPECT_EQ(false, ObNetUtil::is_wild_match("192.0.1.1", host_name12));
|
|
|
|
int64_t value = 0;
|
|
EXPECT_EQ(OB_SUCCESS, ObNetUtil::get_int_value("12", value));
|
|
EXPECT_EQ(12, value);
|
|
EXPECT_EQ(OB_SUCCESS, ObNetUtil::get_int_value("-12", value));
|
|
EXPECT_EQ(-12, value);
|
|
EXPECT_EQ(OB_SUCCESS, ObNetUtil::get_int_value("0", value));
|
|
EXPECT_EQ(0, value);
|
|
EXPECT_EQ(OB_SUCCESS, ObNetUtil::get_int_value("65536", value));
|
|
EXPECT_EQ(65536, value);
|
|
EXPECT_EQ(OB_SUCCESS, ObNetUtil::get_int_value("-65536", value));
|
|
EXPECT_EQ(-65536, value);
|
|
EXPECT_EQ(OB_INVALID_DATA, ObNetUtil::get_int_value("12sds", value));
|
|
EXPECT_EQ(OB_INVALID_DATA, ObNetUtil::get_int_value("12 sddf", value));
|
|
EXPECT_EQ(OB_INVALID_DATA, ObNetUtil::get_int_value("++12", value));
|
|
EXPECT_EQ(OB_INVALID_DATA, ObNetUtil::get_int_value("--12", value));
|
|
|
|
ObString ip_white_list1("");
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("192.0.1.1", ip_white_list1));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("%", ip_white_list1));
|
|
|
|
ObString ip_white_list2;
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("192.0.1.1", ip_white_list2));
|
|
|
|
ObString ip_white_list3("%");
|
|
ASSERT_EQ(true, ObNetUtil::is_in_white_list("192.0.1.1", ip_white_list3));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("192.0.1.-1", ip_white_list3));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("hello", ip_white_list3));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("", ip_white_list3));
|
|
|
|
ObString ip_white_list4("192.0.1.0/24");
|
|
ASSERT_EQ(true, ObNetUtil::is_in_white_list("192.0.1.1", ip_white_list4));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("192.0.1.-1", ip_white_list4));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("hello", ip_white_list4));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("", ip_white_list4));
|
|
|
|
ObString ip_white_list5("192.0.1.0/24, %");
|
|
ASSERT_EQ(true, ObNetUtil::is_in_white_list("192.0.1.1", ip_white_list5));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("192.0.1.-1", ip_white_list5));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("hello", ip_white_list5));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("", ip_white_list5));
|
|
|
|
ObString ip_white_list6("192.0.1.0/24,%");
|
|
ASSERT_EQ(true, ObNetUtil::is_in_white_list("192.0.1.1", ip_white_list6));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("192.0.1.-1", ip_white_list6));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("hello", ip_white_list6));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("", ip_white_list6));
|
|
|
|
ObString ip_white_list7(",192.0.1,192.0.1.0/24");
|
|
ASSERT_EQ(true, ObNetUtil::is_in_white_list("192.0.1.1", ip_white_list7));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("192.0.1.-1", ip_white_list7));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("hello", ip_white_list7));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("", ip_white_list7));
|
|
|
|
ObString ip_white_list8("10.125.224.0/255.255.252.0");
|
|
ASSERT_EQ(true, ObNetUtil::is_in_white_list("10.125.224.15", ip_white_list8));
|
|
ASSERT_EQ(true, ObNetUtil::is_in_white_list("10.125.224.5", ip_white_list8));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("192.0.1.-1", ip_white_list8));
|
|
|
|
ObString ip_white_list9("10.125.224.0/22");
|
|
ASSERT_EQ(true, ObNetUtil::is_in_white_list("10.125.224.15", ip_white_list9));
|
|
ASSERT_EQ(true, ObNetUtil::is_in_white_list("10.125.224.5", ip_white_list9));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("192.0.1.-1", ip_white_list9));
|
|
|
|
ObString ip_white_list10("255.255.224.0/22");
|
|
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.15", ip_white_list10));
|
|
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.5", ip_white_list10));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("255.255.255.15", ip_white_list10));
|
|
|
|
ObString ip_white_list11("255.255.224.14,,255.255.224.15");
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("255.255.224.13", ip_white_list11));
|
|
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.14", ip_white_list11));
|
|
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.15", ip_white_list11));
|
|
|
|
ObString ip_white_list12("255.255.224.15,255.255.224.14,255.255.224.13,255.255.224.12,255.255.224.11");
|
|
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.11", ip_white_list12));
|
|
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.11", ip_white_list12));
|
|
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.12", ip_white_list12));
|
|
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.13", ip_white_list12));
|
|
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.14", ip_white_list12));
|
|
ASSERT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.15", ip_white_list12));
|
|
ASSERT_EQ(false, ObNetUtil::is_in_white_list("255.255.224.16", ip_white_list12));
|
|
|
|
ObString ip_white_list13(" 255.255.224.15, 255.255.224.14, 255.255.224.13, 255.255.224.12");
|
|
EXPECT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.15", ip_white_list13));
|
|
EXPECT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.14", ip_white_list13));
|
|
EXPECT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.13", ip_white_list13));
|
|
EXPECT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.12", ip_white_list13));
|
|
|
|
ObString ip_white_list14(" 255.255.224.15/32 , 255.255.224.14/32 , 255.255.224.13/32 , 255.255.224.12/32");
|
|
EXPECT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.15", ip_white_list14));
|
|
EXPECT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.14", ip_white_list14));
|
|
EXPECT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.13", ip_white_list14));
|
|
EXPECT_EQ(true, ObNetUtil::is_in_white_list("255.255.224.12", ip_white_list14));
|
|
|
|
ObString ip_white_list15("10.244.32.%,10.250.37.18,192.168.11._");
|
|
EXPECT_EQ(true, ObNetUtil::is_in_white_list("10.250.37.18", ip_white_list15));
|
|
EXPECT_EQ(true, ObNetUtil::is_in_white_list("192.168.11.1", ip_white_list15));
|
|
EXPECT_EQ(false, ObNetUtil::is_in_white_list("192.168.12.1", ip_white_list15));
|
|
EXPECT_EQ(true, ObNetUtil::is_in_white_list("10.244.32.222", ip_white_list15));
|
|
EXPECT_EQ(false, ObNetUtil::is_in_white_list("10.250.49.24", ip_white_list15));
|
|
EXPECT_EQ(false, ObNetUtil::is_in_white_list("10.250.49.251", ip_white_list15));
|
|
|
|
ObString ip_white_list_mixed("10.244.32.%,10.250.37.18, 192.0.1.0/24, 192.168.11._, fe80:90fa:2017:ff00::/56, "
|
|
"fe80:90fa:2017:ee00:00e8:0074:0a:02");
|
|
EXPECT_EQ(true, ObNetUtil::is_in_white_list("10.250.37.18", ip_white_list_mixed));
|
|
EXPECT_EQ(true, ObNetUtil::is_in_white_list("10.244.32.222", ip_white_list_mixed));
|
|
EXPECT_EQ(false, ObNetUtil::is_in_white_list("10.250.49.24", ip_white_list_mixed));
|
|
EXPECT_EQ(false, ObNetUtil::is_in_white_list("10.250.49.251", ip_white_list_mixed));
|
|
EXPECT_EQ(true, ObNetUtil::is_in_white_list("fe80:90fa:2017:ff00:00e8:0074:0a:02", ip_white_list_mixed));
|
|
EXPECT_EQ(false, ObNetUtil::is_in_white_list("fe80:90ee:2017:ff00:00e8:0074:0a:02", ip_white_list_mixed));
|
|
EXPECT_EQ(true, ObNetUtil::is_in_white_list("fe80:90fa:2017:ee00:00e8:0074:0a:02", ip_white_list_mixed));
|
|
EXPECT_EQ(false, ObNetUtil::is_in_white_list("fe80:90fa:2017:ee00:00e8:0074:0a:03", ip_white_list_mixed));
|
|
EXPECT_EQ(true, ObNetUtil::is_in_white_list("192.168.11.1", ip_white_list_mixed));
|
|
}
|
|
} // namespace obsys
|
|
} // end of namespace oceanbase
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
oceanbase::common::ObLogger::get_logger().set_log_level("DEBUG");
|
|
::testing::InitGoogleTest(&argc, argv);
|
|
return RUN_ALL_TESTS();
|
|
}
|