]>
git.ipfire.org Git - thirdparty/pdns.git/blob - pdns/test-ipcrypt_cc.cc
1 #define BOOST_TEST_DYN_LINK
2 #define BOOST_TEST_NO_MAIN
6 #include <boost/test/unit_test.hpp>
10 using namespace boost
;
12 BOOST_AUTO_TEST_SUITE(test_ipcrypt_hh
)
14 BOOST_AUTO_TEST_CASE(test_ipcrypt4
)
16 ComboAddress
ca("127.0.0.1");
17 std::string key
="0123456789ABCDEF";
18 auto encrypted
= encryptCA(ca
, key
);
20 auto decrypted
= decryptCA(encrypted
, key
);
21 BOOST_CHECK_EQUAL(ca
.toString(), decrypted
.toString());
24 BOOST_AUTO_TEST_CASE(test_ipcrypt4_vector
)
26 vector
<pair
<string
,string
>> tests
{ // test vector from https://github.com/veorq/ipcrypt
27 {{"127.0.0.1"},{"114.62.227.59"}},
28 {{"8.8.8.8"}, {"46.48.51.50"}},
29 {{"1.2.3.4"}, {"171.238.15.199"}}};
31 std::string key
="some 16-byte key";
33 for(const auto& p
: tests
) {
34 auto encrypted
= encryptCA(ComboAddress(p
.first
), key
);
35 BOOST_CHECK_EQUAL(encrypted
.toString(), p
.second
);
36 auto decrypted
= decryptCA(encrypted
, key
);
37 BOOST_CHECK_EQUAL(decrypted
.toString(), p
.first
);
40 // test from Frank Denis' test.cc
41 ComboAddress
ip("192.168.69.42"), out
, dec
;
43 for(int n
=0; n
<16; ++n
)
44 key2
.append(1, (char)n
+1);
46 for (unsigned int i
= 0; i
< 100000000UL; i
++) {
47 out
=encryptCA(ip
, key2
);
48 // dec=decryptCA(out, key2);
49 // BOOST_CHECK(ip==dec);
53 ComboAddress
expected("93.155.197.186");
55 BOOST_CHECK_EQUAL(ip
.toString(), expected
.toString());
59 BOOST_AUTO_TEST_CASE(test_ipcrypt6
)
61 ComboAddress
ca("::1");
62 std::string key
="0123456789ABCDEF";
63 auto encrypted
= encryptCA(ca
, key
);
65 auto decrypted
= decryptCA(encrypted
, key
);
66 BOOST_CHECK_EQUAL(ca
.toString(), decrypted
.toString());
70 BOOST_AUTO_TEST_SUITE_END()