summaryrefslogtreecommitdiff
path: root/auto_tests/TCP_test.c
diff options
context:
space:
mode:
authoriphydf <iphydf@users.noreply.github.com>2016-11-02 14:34:33 +0000
committeriphydf <iphydf@users.noreply.github.com>2016-11-02 18:50:41 +0000
commit96c672aef59ac785f3d351698311bb358820cc3c (patch)
treef862797a5a7f161a5ec727ca1d7df322a6d58c05 /auto_tests/TCP_test.c
parente2d63e04979b59698b7e541f2aebb3c74495a2d3 (diff)
Compile as C++ for windows builds.
Compiling as C++ changes nothing semantically, but ensures that we don't break C++ compatibility while also retaining C compatibility. C++ compatibility is useful for tooling and additional diagnostics and analyses.
Diffstat (limited to 'auto_tests/TCP_test.c')
-rw-r--r--auto_tests/TCP_test.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/auto_tests/TCP_test.c b/auto_tests/TCP_test.c
index 1442dcae..77327299 100644
--- a/auto_tests/TCP_test.c
+++ b/auto_tests/TCP_test.c
@@ -63,13 +63,14 @@ START_TEST(test_basic)
63 TCP_HANDSHAKE_PLAIN_SIZE, handshake + crypto_box_PUBLICKEYBYTES + crypto_box_NONCEBYTES); 63 TCP_HANDSHAKE_PLAIN_SIZE, handshake + crypto_box_PUBLICKEYBYTES + crypto_box_NONCEBYTES);
64 ck_assert_msg(ret == TCP_CLIENT_HANDSHAKE_SIZE - (crypto_box_PUBLICKEYBYTES + crypto_box_NONCEBYTES), 64 ck_assert_msg(ret == TCP_CLIENT_HANDSHAKE_SIZE - (crypto_box_PUBLICKEYBYTES + crypto_box_NONCEBYTES),
65 "Encrypt failed."); 65 "Encrypt failed.");
66 ck_assert_msg(send(sock, handshake, TCP_CLIENT_HANDSHAKE_SIZE - 1, 0) == TCP_CLIENT_HANDSHAKE_SIZE - 1, "send Failed."); 66 ck_assert_msg(send(sock, (const char *)handshake, TCP_CLIENT_HANDSHAKE_SIZE - 1, 0) == TCP_CLIENT_HANDSHAKE_SIZE - 1,
67 "send Failed.");
67 c_sleep(50); 68 c_sleep(50);
68 do_TCP_server(tcp_s); 69 do_TCP_server(tcp_s);
69 c_sleep(50); 70 c_sleep(50);
70 do_TCP_server(tcp_s); 71 do_TCP_server(tcp_s);
71 c_sleep(50); 72 c_sleep(50);
72 ck_assert_msg(send(sock, handshake + (TCP_CLIENT_HANDSHAKE_SIZE - 1), 1, 0) == 1, "send Failed."); 73 ck_assert_msg(send(sock, (const char *)(handshake + (TCP_CLIENT_HANDSHAKE_SIZE - 1)), 1, 0) == 1, "send Failed.");
73 c_sleep(50); 74 c_sleep(50);
74 do_TCP_server(tcp_s); 75 do_TCP_server(tcp_s);
75 c_sleep(50); 76 c_sleep(50);
@@ -77,7 +78,7 @@ START_TEST(test_basic)
77 c_sleep(50); 78 c_sleep(50);
78 uint8_t response[TCP_SERVER_HANDSHAKE_SIZE]; 79 uint8_t response[TCP_SERVER_HANDSHAKE_SIZE];
79 uint8_t response_plain[TCP_HANDSHAKE_PLAIN_SIZE]; 80 uint8_t response_plain[TCP_HANDSHAKE_PLAIN_SIZE];
80 ck_assert_msg(recv(sock, response, TCP_SERVER_HANDSHAKE_SIZE, 0) == TCP_SERVER_HANDSHAKE_SIZE, "recv Failed."); 81 ck_assert_msg(recv(sock, (char *)response, TCP_SERVER_HANDSHAKE_SIZE, 0) == TCP_SERVER_HANDSHAKE_SIZE, "recv Failed.");
81 ret = decrypt_data(self_public_key, f_secret_key, response, response + crypto_box_NONCEBYTES, 82 ret = decrypt_data(self_public_key, f_secret_key, response, response + crypto_box_NONCEBYTES,
82 TCP_SERVER_HANDSHAKE_SIZE - crypto_box_NONCEBYTES, response_plain); 83 TCP_SERVER_HANDSHAKE_SIZE - crypto_box_NONCEBYTES, response_plain);
83 ck_assert_msg(ret == TCP_HANDSHAKE_PLAIN_SIZE, "Decrypt Failed."); 84 ck_assert_msg(ret == TCP_HANDSHAKE_PLAIN_SIZE, "Decrypt Failed.");
@@ -97,8 +98,8 @@ START_TEST(test_basic)
97 uint32_t i; 98 uint32_t i;
98 99
99 for (i = 0; i < sizeof(r_req); ++i) { 100 for (i = 0; i < sizeof(r_req); ++i) {
100 ck_assert_msg(send(sock, r_req + i, 1, 0) == 1, "send Failed."); 101 ck_assert_msg(send(sock, (const char *)(r_req + i), 1, 0) == 1, "send Failed.");
101 //ck_assert_msg(send(sock, r_req, sizeof(r_req), 0) == sizeof(r_req), "send Failed."); 102 //ck_assert_msg(send(sock, (const char *)r_req, sizeof(r_req), 0) == sizeof(r_req), "send Failed.");
102 do_TCP_server(tcp_s); 103 do_TCP_server(tcp_s);
103 c_sleep(50); 104 c_sleep(50);
104 } 105 }
@@ -106,7 +107,7 @@ START_TEST(test_basic)
106 do_TCP_server(tcp_s); 107 do_TCP_server(tcp_s);
107 c_sleep(50); 108 c_sleep(50);
108 uint8_t packet_resp[4096]; 109 uint8_t packet_resp[4096];
109 int recv_data_len = recv(sock, packet_resp, 2 + 2 + crypto_box_PUBLICKEYBYTES + crypto_box_MACBYTES, 0); 110 int recv_data_len = recv(sock, (char *)packet_resp, 2 + 2 + crypto_box_PUBLICKEYBYTES + crypto_box_MACBYTES, 0);
110 ck_assert_msg(recv_data_len == 2 + 2 + crypto_box_PUBLICKEYBYTES + crypto_box_MACBYTES, 111 ck_assert_msg(recv_data_len == 2 + 2 + crypto_box_PUBLICKEYBYTES + crypto_box_MACBYTES,
111 "recv Failed. %u", recv_data_len); 112 "recv Failed. %u", recv_data_len);
112 memcpy(&size, packet_resp, 2); 113 memcpy(&size, packet_resp, 2);
@@ -158,15 +159,16 @@ static struct sec_TCP_con *new_TCP_con(TCP_Server *tcp_s)
158 TCP_HANDSHAKE_PLAIN_SIZE, handshake + crypto_box_PUBLICKEYBYTES + crypto_box_NONCEBYTES); 159 TCP_HANDSHAKE_PLAIN_SIZE, handshake + crypto_box_PUBLICKEYBYTES + crypto_box_NONCEBYTES);
159 ck_assert_msg(ret == TCP_CLIENT_HANDSHAKE_SIZE - (crypto_box_PUBLICKEYBYTES + crypto_box_NONCEBYTES), 160 ck_assert_msg(ret == TCP_CLIENT_HANDSHAKE_SIZE - (crypto_box_PUBLICKEYBYTES + crypto_box_NONCEBYTES),
160 "Encrypt failed."); 161 "Encrypt failed.");
161 ck_assert_msg(send(sock, handshake, TCP_CLIENT_HANDSHAKE_SIZE - 1, 0) == TCP_CLIENT_HANDSHAKE_SIZE - 1, "send Failed."); 162 ck_assert_msg(send(sock, (const char *)handshake, TCP_CLIENT_HANDSHAKE_SIZE - 1, 0) == TCP_CLIENT_HANDSHAKE_SIZE - 1,
163 "send Failed.");
162 do_TCP_server(tcp_s); 164 do_TCP_server(tcp_s);
163 c_sleep(50); 165 c_sleep(50);
164 ck_assert_msg(send(sock, handshake + (TCP_CLIENT_HANDSHAKE_SIZE - 1), 1, 0) == 1, "send Failed."); 166 ck_assert_msg(send(sock, (const char *)(handshake + (TCP_CLIENT_HANDSHAKE_SIZE - 1)), 1, 0) == 1, "send Failed.");
165 c_sleep(50); 167 c_sleep(50);
166 do_TCP_server(tcp_s); 168 do_TCP_server(tcp_s);
167 uint8_t response[TCP_SERVER_HANDSHAKE_SIZE]; 169 uint8_t response[TCP_SERVER_HANDSHAKE_SIZE];
168 uint8_t response_plain[TCP_HANDSHAKE_PLAIN_SIZE]; 170 uint8_t response_plain[TCP_HANDSHAKE_PLAIN_SIZE];
169 ck_assert_msg(recv(sock, response, TCP_SERVER_HANDSHAKE_SIZE, 0) == TCP_SERVER_HANDSHAKE_SIZE, "recv Failed."); 171 ck_assert_msg(recv(sock, (char *)response, TCP_SERVER_HANDSHAKE_SIZE, 0) == TCP_SERVER_HANDSHAKE_SIZE, "recv Failed.");
170 ret = decrypt_data(tcp_server_public_key(tcp_s), f_secret_key, response, response + crypto_box_NONCEBYTES, 172 ret = decrypt_data(tcp_server_public_key(tcp_s), f_secret_key, response, response + crypto_box_NONCEBYTES,
171 TCP_SERVER_HANDSHAKE_SIZE - crypto_box_NONCEBYTES, response_plain); 173 TCP_SERVER_HANDSHAKE_SIZE - crypto_box_NONCEBYTES, response_plain);
172 ck_assert_msg(ret == TCP_HANDSHAKE_PLAIN_SIZE, "Decrypt Failed."); 174 ck_assert_msg(ret == TCP_HANDSHAKE_PLAIN_SIZE, "Decrypt Failed.");
@@ -196,13 +198,13 @@ static int write_packet_TCP_secure_connection(struct sec_TCP_con *con, uint8_t *
196 198
197 increment_nonce(con->sent_nonce); 199 increment_nonce(con->sent_nonce);
198 200
199 ck_assert_msg(send(con->sock, packet, sizeof(packet), 0) == sizeof(packet), "send failed"); 201 ck_assert_msg(send(con->sock, (const char *)packet, sizeof(packet), 0) == sizeof(packet), "send failed");
200 return 0; 202 return 0;
201} 203}
202 204
203static int read_packet_sec_TCP(struct sec_TCP_con *con, uint8_t *data, uint16_t length) 205static int read_packet_sec_TCP(struct sec_TCP_con *con, uint8_t *data, uint16_t length)
204{ 206{
205 int len = recv(con->sock, data, length, 0); 207 int len = recv(con->sock, (char *)data, length, 0);
206 ck_assert_msg(len == length, "wrong len %i\n", len); 208 ck_assert_msg(len == length, "wrong len %i\n", len);
207 len = decrypt_data_symmetric(con->shared_key, con->recv_nonce, data + 2, length - 2, data); 209 len = decrypt_data_symmetric(con->shared_key, con->recv_nonce, data + 2, length - 2, data);
208 ck_assert_msg(len != -1, "Decrypt failed"); 210 ck_assert_msg(len != -1, "Decrypt failed");