diff --git a/test/client.cpp b/test/client.cpp index 87596dc..a8a8ae4 100644 --- a/test/client.cpp +++ b/test/client.cpp @@ -14,7 +14,7 @@ char *msg = (char*)"welcome to the machine"; int main(int argc, char **argv) { - if(argc != 5) { + if (argc != 5) { printf("\nlibzt example client\n"); printf("client [config_file_path] [nwid] [remote_addr] [remote_port]\n"); exit(0); @@ -43,11 +43,11 @@ int main(int argc, char **argv) sleep(2); // socket() - if((sockfd = zts_socket(AF_INET, SOCK_STREAM, 0)) < 0) + if ((sockfd = zts_socket(AF_INET, SOCK_STREAM, 0)) < 0) DEBUG_ERROR("error creating ZeroTier socket"); // connect() - if((err = zts_connect(sockfd, (const struct sockaddr *)&in4, sizeof(in4))) < 0) + if ((err = zts_connect(sockfd, (const struct sockaddr *)&in4, sizeof(in4))) < 0) DEBUG_ERROR("error connecting to remote host (%d)", err); // tx diff --git a/test/layer2.cpp b/test/layer2.cpp index f78559d..05aa695 100644 --- a/test/layer2.cpp +++ b/test/layer2.cpp @@ -37,7 +37,7 @@ unsigned short csum(unsigned short *buf, int nwords) int main(int argc , char *argv[]) { - if(argc < 3) { + if (argc < 3) { fprintf(stderr, "usage: layer2 \n"); return 1; } @@ -51,7 +51,7 @@ int main(int argc , char *argv[]) // create socket int fd; - if((fd = zts_socket(AF_INET, SOCK_RAW, IPPROTO_UDP)) < 0) { + if ((fd = zts_socket(AF_INET, SOCK_RAW, IPPROTO_UDP)) < 0) { printf("There was a problem creating the raw socket\n"); exit(-1); } diff --git a/test/selftest.cpp b/test/selftest.cpp index 0b1f13f..e80b1f7 100644 --- a/test/selftest.cpp +++ b/test/selftest.cpp @@ -195,10 +195,12 @@ std::map testConf; void displayResults(int *results, int size) { int success = 0, failure = 0; for(int i=0; i tplus_s) { + if (current_time_offset > tplus_s) { DEBUG_ERROR("--- ABORTING TEST: Tests are out of sync and might not yield valid results. ---"); //exit(0); } - if(current_time_offset == tplus_s) { + if (current_time_offset == tplus_s) { DEBUG_ERROR("--- WARNING: Tests might be out of sync and might not yield valid results. ---"); } wait_until_tplus(original_time, tplus_s * 1000); @@ -256,13 +258,13 @@ void generate_random_data(void *buf, size_t n, int min, int max) { } void str2addr(std::string ipstr, int port, int ipv, struct sockaddr *saddr) { - if(ipv == 4) { + if (ipv == 4) { struct sockaddr_in *in4 = (struct sockaddr_in*)saddr; in4->sin_port = htons(port); in4->sin_addr.s_addr = inet_addr(ipstr.c_str()); in4->sin_family = AF_INET; } - if(ipv == 6) { + if (ipv == 6) { struct sockaddr_in6 *in6 = (struct sockaddr_in6*)saddr; inet_pton(AF_INET6, ipstr.c_str(), &(in6->sin6_addr)); in6->sin6_flowinfo = 0; @@ -275,7 +277,7 @@ void RECORD_RESULTS(bool passed, char *details, std::vector *result { char *ok_str = (char*)"[ OK ]"; char *fail_str = (char*)"[ FAIL ]"; - if(passed == PASSED) { + if (passed == PASSED) { DEBUG_TEST("%s", ok_str); results->push_back(std::string(ok_str) + " " + std::string(details)); } @@ -283,7 +285,7 @@ void RECORD_RESULTS(bool passed, char *details, std::vector *result DEBUG_ERROR("%s", fail_str); results->push_back(std::string(fail_str) + " " + std::string(details)); } - if(EXIT_ON_FAIL && !passed) { + if (EXIT_ON_FAIL && !passed) { fprintf(stderr, "%s\n", results->at(results->size()-1).c_str()); exit(0); } @@ -314,13 +316,13 @@ void tcp_client_4(TCP_UNIT_TEST_SIG_4) int r, w, fd, err, len = strlen(msg.c_str()); char rbuf[STR_SIZE]; memset(rbuf, 0, sizeof rbuf); - if((fd = SOCKET(AF_INET, SOCK_STREAM, 0)) < 0) { + if ((fd = SOCKET(AF_INET, SOCK_STREAM, 0)) < 0) { DEBUG_ERROR("error creating ZeroTier socket"); perror("socket"); *passed = false; return; } - if((err = CONNECT(fd, (const struct sockaddr *)addr, sizeof(*addr))) < 0) { + if ((err = CONNECT(fd, (const struct sockaddr *)addr, sizeof(*addr))) < 0) { DEBUG_ERROR("error connecting to remote host (%d)", err); perror("connect"); *passed = false; @@ -331,7 +333,7 @@ void tcp_client_4(TCP_UNIT_TEST_SIG_4) struct sockaddr_in *in4 = (struct sockaddr_in*)&peer_addr; socklen_t peer_addrlen = sizeof(peer_addr); - if((err = GETPEERNAME(fd, (struct sockaddr*)&peer_addr, &peer_addrlen)) < 0) { + if ((err = GETPEERNAME(fd, (struct sockaddr*)&peer_addr, &peer_addrlen)) < 0) { perror("getpeername"); *passed = false; return; @@ -361,19 +363,19 @@ void tcp_server_4(TCP_UNIT_TEST_SIG_4) int w=0, r=0, fd, client_fd, err, len = strlen(msg.c_str()); char rbuf[STR_SIZE]; memset(rbuf, 0, sizeof rbuf); - if((fd = SOCKET(AF_INET, SOCK_STREAM, 0)) < 0) { + if ((fd = SOCKET(AF_INET, SOCK_STREAM, 0)) < 0) { DEBUG_ERROR("error creating ZeroTier socket"); perror("socket"); *passed = false; return; } - if((err = BIND(fd, (struct sockaddr *)addr, sizeof(struct sockaddr_in)) < 0)) { + if ((err = BIND(fd, (struct sockaddr *)addr, sizeof(struct sockaddr_in)) < 0)) { DEBUG_ERROR("error binding to interface (%d)", err); perror("bind"); *passed = false; return; } - if((err = LISTEN(fd, 100)) < 0) { + if ((err = LISTEN(fd, 100)) < 0) { printf("error placing socket in LISTENING state (%d)", err); perror("listen"); *passed = false; @@ -381,7 +383,7 @@ void tcp_server_4(TCP_UNIT_TEST_SIG_4) } struct sockaddr_in client; socklen_t client_addrlen = sizeof(sockaddr_in); - if((client_fd = ACCEPT(fd, (struct sockaddr *)&client, &client_addrlen)) < 0) { + if ((client_fd = ACCEPT(fd, (struct sockaddr *)&client, &client_addrlen)) < 0) { perror("accept"); *passed = false; return; @@ -392,7 +394,7 @@ void tcp_server_4(TCP_UNIT_TEST_SIG_4) struct sockaddr_in *in4 = (struct sockaddr_in*)&peer_addr; socklen_t peer_addrlen = sizeof(peer_addr); - if((err = GETPEERNAME(client_fd, (struct sockaddr*)&peer_addr, &peer_addrlen)) < 0) { + if ((err = GETPEERNAME(client_fd, (struct sockaddr*)&peer_addr, &peer_addrlen)) < 0) { perror("getpeername"); *passed = false; return; @@ -421,13 +423,13 @@ void tcp_client_6(TCP_UNIT_TEST_SIG_6) int r, w, fd, err, len = strlen(msg.c_str()); char rbuf[STR_SIZE]; memset(rbuf, 0, sizeof rbuf); - if((fd = SOCKET(AF_INET6, SOCK_STREAM, 0)) < 0) { + if ((fd = SOCKET(AF_INET6, SOCK_STREAM, 0)) < 0) { DEBUG_ERROR("error creating ZeroTier socket"); perror("socket"); *passed = false; return; } - if((err = CONNECT(fd, (const struct sockaddr *)addr, sizeof(*addr))) < 0) { + if ((err = CONNECT(fd, (const struct sockaddr *)addr, sizeof(*addr))) < 0) { DEBUG_ERROR("error connecting to remote host (%d)", err); perror("connect"); *passed = false; @@ -437,7 +439,7 @@ void tcp_client_6(TCP_UNIT_TEST_SIG_6) struct sockaddr_storage peer_addr; struct sockaddr_in6 *p6 = (struct sockaddr_in6*)&peer_addr; socklen_t peer_addrlen = sizeof(peer_addr); - if((err = GETPEERNAME(fd, (struct sockaddr*)&peer_addr, &peer_addrlen)) < 0) { + if ((err = GETPEERNAME(fd, (struct sockaddr*)&peer_addr, &peer_addrlen)) < 0) { perror("getpeername"); *passed = false; return; @@ -469,19 +471,19 @@ void tcp_server_6(TCP_UNIT_TEST_SIG_6) int w=0, r=0, fd, client_fd, err, len = strlen(msg.c_str()); char rbuf[STR_SIZE]; memset(rbuf, 0, sizeof rbuf); - if((fd = SOCKET(AF_INET6, SOCK_STREAM, 0)) < 0) { + if ((fd = SOCKET(AF_INET6, SOCK_STREAM, 0)) < 0) { DEBUG_ERROR("error creating ZeroTier socket"); perror("socket"); *passed = false; return; } - if((err = BIND(fd, (struct sockaddr *)addr, sizeof(struct sockaddr_in6)) < 0)) { + if ((err = BIND(fd, (struct sockaddr *)addr, sizeof(struct sockaddr_in6)) < 0)) { DEBUG_ERROR("error binding to interface (%d)", err); perror("bind"); *passed = false; return; } - if((err = LISTEN(fd, 100)) < 0) { + if ((err = LISTEN(fd, 100)) < 0) { DEBUG_ERROR("error placing socket in LISTENING state (%d)", err); perror("listen"); *passed = false; @@ -489,7 +491,7 @@ void tcp_server_6(TCP_UNIT_TEST_SIG_6) } struct sockaddr_in6 client; socklen_t client_addrlen = sizeof(sockaddr_in6); - if((client_fd = ACCEPT(fd, (struct sockaddr *)&client, &client_addrlen)) < 0) { + if ((client_fd = ACCEPT(fd, (struct sockaddr *)&client, &client_addrlen)) < 0) { perror("accept"); *passed = false; return; @@ -501,7 +503,7 @@ void tcp_server_6(TCP_UNIT_TEST_SIG_6) struct sockaddr_storage peer_addr; struct sockaddr_in6 *p6 = (struct sockaddr_in6*)&peer_addr; socklen_t peer_addrlen = sizeof(peer_addr); - if((err = GETPEERNAME(client_fd, (struct sockaddr*)&peer_addr, &peer_addrlen)) < 0) { + if ((err = GETPEERNAME(client_fd, (struct sockaddr*)&peer_addr, &peer_addrlen)) < 0) { perror("getpeername"); *passed = false; return; @@ -534,20 +536,20 @@ void udp_client_4(UDP_UNIT_TEST_SIG_4) int r, w, fd, err, len = strlen(msg.c_str()); char rbuf[STR_SIZE]; memset(rbuf, 0, sizeof rbuf); - if((fd = SOCKET(AF_INET, SOCK_DGRAM, 0)) < 0) { + if ((fd = SOCKET(AF_INET, SOCK_DGRAM, 0)) < 0) { DEBUG_ERROR("error creating ZeroTier socket"); perror("socket"); *passed = false; return; } - if((err = FCNTL(fd, F_SETFL, O_NONBLOCK) < 0)) { + if ((err = FCNTL(fd, F_SETFL, O_NONBLOCK) < 0)) { fprintf(stderr, "error setting O_NONBLOCK (errno=%d)", errno); perror("fcntl"); *passed = false; return; } DEBUG_TEST("sending UDP packets until I get a single response..."); - if((err = BIND(fd, (struct sockaddr *)local_addr, sizeof(struct sockaddr_in)) < 0)) { + if ((err = BIND(fd, (struct sockaddr *)local_addr, sizeof(struct sockaddr_in)) < 0)) { DEBUG_ERROR("error binding to interface (%d)", err); perror("bind"); *passed = false; @@ -555,17 +557,16 @@ void udp_client_4(UDP_UNIT_TEST_SIG_4) } struct sockaddr_storage saddr; - while(1) { + while(true) { // tx - if((w = SENDTO(fd, msg.c_str(), strlen(msg.c_str()), 0, (struct sockaddr *)remote_addr, sizeof(*remote_addr))) < 0) { + if ((w = SENDTO(fd, msg.c_str(), strlen(msg.c_str()), 0, (struct sockaddr *)remote_addr, sizeof(*remote_addr))) < 0) { DEBUG_ERROR("error sending packet, err=%d", errno); } - sleep(1); memset(rbuf, 0, sizeof(rbuf)); int serverlen = sizeof(struct sockaddr_storage); // rx r = RECVFROM(fd, rbuf, STR_SIZE, 0, (struct sockaddr *)&saddr, (socklen_t *)&serverlen); - if(r == strlen(msg.c_str())) { + if (r == strlen(msg.c_str())) { err = CLOSE(fd); DEBUG_TEST("%s, err=%d, r=%d, w=%d", testname.c_str(), err, r, w); sprintf(details, "%s, err=%d, r=%d, w=%d", testname.c_str(), err, r, w); @@ -591,13 +592,13 @@ void udp_server_4(UDP_UNIT_TEST_SIG_4) int r, w, fd, err, len = strlen(msg.c_str()); char rbuf[STR_SIZE]; memset(rbuf, 0, sizeof rbuf); - if((fd = SOCKET(AF_INET, SOCK_DGRAM, 0)) < 0) { + if ((fd = SOCKET(AF_INET, SOCK_DGRAM, 0)) < 0) { DEBUG_ERROR("error creating ZeroTier socket"); perror("socket"); *passed = false; return; } - if((err = BIND(fd, (struct sockaddr *)local_addr, sizeof(struct sockaddr_in)) < 0)) { + if ((err = BIND(fd, (struct sockaddr *)local_addr, sizeof(struct sockaddr_in)) < 0)) { DEBUG_ERROR("error binding to interface (%d)", err); perror("bind"); *passed = false; @@ -609,7 +610,7 @@ void udp_server_4(UDP_UNIT_TEST_SIG_4) struct sockaddr_in *in4 = (struct sockaddr_in*)&saddr; int serverlen = sizeof(saddr); memset(&saddr, 0, sizeof(saddr)); - if((r = RECVFROM(fd, rbuf, STR_SIZE, 0, (struct sockaddr *)in4, (socklen_t *)&serverlen)) < 0) { + if ((r = RECVFROM(fd, rbuf, STR_SIZE, 0, (struct sockaddr *)in4, (socklen_t *)&serverlen)) < 0) { perror("recvfrom"); *passed = false; return; @@ -621,12 +622,12 @@ void udp_server_4(UDP_UNIT_TEST_SIG_4) DEBUG_TEST("sending DGRAM(s) to %s : %d", inet_ntoa(remote_addr->sin_addr), ntohs(remote_addr->sin_port)); // tx long int tx_ti = get_now_ts(); - while(1) { + while(true) { sleep(1); - if((w = SENDTO(fd, msg.c_str(), len, 0, (struct sockaddr *)remote_addr, sizeof(*remote_addr))) < 0) { + if ((w = SENDTO(fd, msg.c_str(), len, 0, (struct sockaddr *)remote_addr, sizeof(*remote_addr))) < 0) { DEBUG_ERROR("error sending packet, err=%d", errno); } - if(get_now_ts() >= tx_ti + 10000) { + if (get_now_ts() >= tx_ti + 10000) { break; } } @@ -653,20 +654,20 @@ void udp_client_6(UDP_UNIT_TEST_SIG_6) char rbuf[STR_SIZE]; memset(rbuf, 0, sizeof rbuf); - if((fd = SOCKET(AF_INET6, SOCK_DGRAM, 0)) < 0) { + if ((fd = SOCKET(AF_INET6, SOCK_DGRAM, 0)) < 0) { DEBUG_ERROR("error creating ZeroTier socket"); perror("socket"); *passed = false; return; } - if((err = FCNTL(fd, F_SETFL, O_NONBLOCK) < 0)) { + if ((err = FCNTL(fd, F_SETFL, O_NONBLOCK) < 0)) { std::cout << "error setting O_NONBLOCK (errno=" << strerror(errno) << ")" << std::endl; perror("fcntl"); *passed = false; return; } DEBUG_TEST("[1] binding and sending UDP packets until I get a single response..."); - if((err = BIND(fd, (struct sockaddr *)local_addr, sizeof(struct sockaddr_in6)) < 0)) { + if ((err = BIND(fd, (struct sockaddr *)local_addr, sizeof(struct sockaddr_in6)) < 0)) { DEBUG_ERROR("error binding to interface (%d)", err); perror("bind"); *passed = false; @@ -675,9 +676,9 @@ void udp_client_6(UDP_UNIT_TEST_SIG_6) // start sending UDP packets in the hopes that at least one will be picked up by the server struct sockaddr_storage saddr; - while(1) { + while(true) { // tx - if((w = SENDTO(fd, msg.c_str(), len, 0, (struct sockaddr *)remote_addr, sizeof(*remote_addr))) < 0) { + if ((w = SENDTO(fd, msg.c_str(), len, 0, (struct sockaddr *)remote_addr, sizeof(*remote_addr))) < 0) { DEBUG_ERROR("error sending packet, err=%d", errno); } usleep(100000); @@ -685,7 +686,7 @@ void udp_client_6(UDP_UNIT_TEST_SIG_6) int serverlen = sizeof(struct sockaddr_storage); // rx r = RECVFROM(fd, rbuf, len, 0, (struct sockaddr *)&saddr, (socklen_t *)&serverlen); - if(r == len) { + if (r == len) { DEBUG_TEST("[2] complete"); sleep(WAIT_FOR_TRANSMISSION_TO_COMPLETE); err = CLOSE(fd); @@ -713,13 +714,13 @@ void udp_server_6(UDP_UNIT_TEST_SIG_6) char rbuf[STR_SIZE]; memset(rbuf, 0, sizeof rbuf); - if((fd = SOCKET(AF_INET6, SOCK_DGRAM, 0)) < 0) { + if ((fd = SOCKET(AF_INET6, SOCK_DGRAM, 0)) < 0) { DEBUG_ERROR("error creating socket"); perror("socket"); *passed = false; return; } - if((err = BIND(fd, (struct sockaddr *)local_addr, sizeof(struct sockaddr_in6)) < 0)) { + if ((err = BIND(fd, (struct sockaddr *)local_addr, sizeof(struct sockaddr_in6)) < 0)) { DEBUG_ERROR("error binding to interface (%d)", err); perror("bind"); *passed = false; @@ -731,7 +732,7 @@ void udp_server_6(UDP_UNIT_TEST_SIG_6) struct sockaddr_in6 *in6 = (struct sockaddr_in6*)&saddr; int serverlen = sizeof(saddr); memset(&saddr, 0, sizeof(saddr)); - if((r = RECVFROM(fd, rbuf, len, 0, (struct sockaddr *)&saddr, (socklen_t *)&serverlen)) < 0) { + if ((r = RECVFROM(fd, rbuf, len, 0, (struct sockaddr *)&saddr, (socklen_t *)&serverlen)) < 0) { perror("recvfrom"); *passed = false; return; @@ -744,13 +745,13 @@ void udp_server_6(UDP_UNIT_TEST_SIG_6) // once we receive a UDP packet, spend 10 seconds sending responses in the hopes that the client will see // tx long int tx_ti = get_now_ts(); - while(1) { + while(true) { usleep(100000); //DEBUG_TEST("sending UDP packet"); - if((w = SENDTO(fd, msg.c_str(), len, 0, (struct sockaddr *)remote_addr, sizeof(*remote_addr))) < 0) { + if ((w = SENDTO(fd, msg.c_str(), len, 0, (struct sockaddr *)remote_addr, sizeof(*remote_addr))) < 0) { DEBUG_ERROR("error sending packet, err=%d", errno); } - if(get_now_ts() >= tx_ti + 10000) { + if (get_now_ts() >= tx_ti + 10000) { // DEBUG_TEST("[3/4] get_now_ts()-tx_ti=%d", get_now_ts()-tx_ti); break; } @@ -788,19 +789,19 @@ void tcp_client_sustained_4(TCP_UNIT_TEST_SIG_4) char *txbuf = (char*)malloc(cnt*sizeof(char)); generate_random_data(txbuf, cnt, 0, 9); - if((fd = SOCKET(AF_INET, SOCK_STREAM, 0)) < 0) { + if ((fd = SOCKET(AF_INET, SOCK_STREAM, 0)) < 0) { DEBUG_ERROR("error creating ZeroTier socket"); perror("socket"); *passed = false; return; } - if((err = CONNECT(fd, (const struct sockaddr *)addr, sizeof(*addr))) < 0) { + if ((err = CONNECT(fd, (const struct sockaddr *)addr, sizeof(*addr))) < 0) { DEBUG_ERROR("error connecting to remote host (%d)", err); perror("connect"); *passed = false; return; } - if(op == TEST_OP_N_BYTES) { + if (op == TEST_OP_N_BYTES) { int wrem = cnt, rrem = cnt; // TX long int tx_ti = get_now_ts(); @@ -808,8 +809,7 @@ void tcp_client_sustained_4(TCP_UNIT_TEST_SIG_4) int next_write = std::min(4096, wrem); signal(SIGPIPE, SIG_IGN); n = WRITE(fd, &txbuf[w], next_write); - if (n > 0) - { + if (n > 0) { w += n; wrem -= n; err = n; @@ -822,11 +822,10 @@ void tcp_client_sustained_4(TCP_UNIT_TEST_SIG_4) long int rx_ti = 0; while(rrem) { n = READ(fd, &rxbuf[r], rrem); - if(!rx_ti) { // wait for first message + if (rx_ti == 0) { // wait for first message rx_ti = get_now_ts(); } - if (n > 0) - { + if (n > 0) { r += n; rrem -= n; err = n; @@ -839,7 +838,7 @@ void tcp_client_sustained_4(TCP_UNIT_TEST_SIG_4) // Compare RX and TX buffer and detect mismatches bool match = true; for(int i=0; i 0) - { + if (n > 0) { w += n; wrem -= n; err = n; @@ -904,11 +902,10 @@ void tcp_client_sustained_6(TCP_UNIT_TEST_SIG_6) long int rx_ti = 0; while(rrem) { n = READ(fd, &rxbuf[r], rrem); - if(!rx_ti) { // wait for first message + if (rx_ti == 0) { // wait for first message rx_ti = get_now_ts(); } - if (n > 0) - { + if (n > 0) { r += n; rrem -= n; err = n; @@ -921,7 +918,7 @@ void tcp_client_sustained_6(TCP_UNIT_TEST_SIG_6) // Compare RX and TX buffer and detect mismatches bool match = true; for(int i=0; i=0); } free(rxbuf); @@ -953,19 +950,19 @@ void tcp_server_sustained_4(TCP_UNIT_TEST_SIG_4) char *rxbuf = (char*)malloc(cnt*sizeof(char)); memset(rxbuf, 0, cnt); - if((fd = SOCKET(AF_INET, SOCK_STREAM, 0)) < 0) { + if ((fd = SOCKET(AF_INET, SOCK_STREAM, 0)) < 0) { DEBUG_ERROR("error creating ZeroTier socket"); perror("socket"); *passed = false; return; } - if((err = BIND(fd, (struct sockaddr *)addr, (socklen_t)sizeof(*addr)) < 0)) { + if ((err = BIND(fd, (struct sockaddr *)addr, (socklen_t)sizeof(*addr)) < 0)) { DEBUG_ERROR("error binding to interface (%d)", err); perror("bind"); *passed = false; return; } - if((err = LISTEN(fd, 1)) < 0) { + if ((err = LISTEN(fd, 1)) < 0) { DEBUG_ERROR("error placing socket in LISTENING state (%d)", err); perror("listen"); *passed = false; @@ -974,19 +971,18 @@ void tcp_server_sustained_4(TCP_UNIT_TEST_SIG_4) struct sockaddr_storage client; struct sockaddr_in *in4 = (struct sockaddr_in*)&client; socklen_t client_addrlen = sizeof(sockaddr_storage); - if((client_fd = ACCEPT(fd, (struct sockaddr *)in4, &client_addrlen)) < 0) { + if ((client_fd = ACCEPT(fd, (struct sockaddr *)in4, &client_addrlen)) < 0) { fprintf(stderr,"error accepting connection (%d)\n", err); perror("accept"); } DEBUG_TEST("accepted connection from %s, on port %d", inet_ntoa(in4->sin_addr), ntohs(in4->sin_port)); - if(op == TEST_OP_N_BYTES) { + if (op == TEST_OP_N_BYTES) { int wrem = cnt, rrem = cnt; long int rx_ti = 0; while(rrem) { n = READ(client_fd, &rxbuf[r], rrem); - if (n > 0) - { - if(!rx_ti) { // wait for first message + if (n > 0) { + if (rx_ti == 0) { // wait for first message rx_ti = get_now_ts(); } r += n; @@ -1001,8 +997,7 @@ void tcp_server_sustained_4(TCP_UNIT_TEST_SIG_4) while(wrem) { int next_write = std::min(1024, wrem); n = WRITE(client_fd, &rxbuf[w], next_write); - if (n > 0) - { + if (n > 0) { w += n; wrem -= n; err = n; @@ -1039,19 +1034,19 @@ void tcp_server_sustained_6(TCP_UNIT_TEST_SIG_6) char *rxbuf = (char*)malloc(cnt*sizeof(char)); memset(rxbuf, 0, cnt); - if((fd = SOCKET(AF_INET6, SOCK_STREAM, 0)) < 0) { + if ((fd = SOCKET(AF_INET6, SOCK_STREAM, 0)) < 0) { DEBUG_ERROR("error creating ZeroTier socket"); perror("socket"); *passed = false; return; } - if((err = BIND(fd, (struct sockaddr *)addr, (socklen_t)sizeof(struct sockaddr_in6)) < 0)) { + if ((err = BIND(fd, (struct sockaddr *)addr, (socklen_t)sizeof(struct sockaddr_in6)) < 0)) { DEBUG_ERROR("error binding to interface (%d)", err); perror("bind"); *passed = false; return; } - if((err = LISTEN(fd, 1)) < 0) { + if ((err = LISTEN(fd, 1)) < 0) { DEBUG_ERROR("error placing socket in LISTENING state (%d)", err); perror("listen"); *passed = false; @@ -1059,7 +1054,7 @@ void tcp_server_sustained_6(TCP_UNIT_TEST_SIG_6) } struct sockaddr_in6 client; socklen_t client_addrlen = sizeof(sockaddr_in6); - if((client_fd = ACCEPT(fd, (struct sockaddr *)&client, &client_addrlen)) < 0) { + if ((client_fd = ACCEPT(fd, (struct sockaddr *)&client, &client_addrlen)) < 0) { fprintf(stderr,"error accepting connection (%d)\n", err); perror("accept"); *passed = false; @@ -1069,14 +1064,13 @@ void tcp_server_sustained_6(TCP_UNIT_TEST_SIG_6) inet_ntop(AF_INET6, &client.sin6_addr, ipstr, sizeof ipstr); DEBUG_TEST("accepted connection from %s, on port %d", ipstr, ntohs(client.sin6_port)); - if(op == TEST_OP_N_BYTES) { + if (op == TEST_OP_N_BYTES) { int wrem = cnt, rrem = cnt; long int rx_ti = 0; while(rrem) { n = READ(client_fd, &rxbuf[r], rrem); - if (n > 0) - { - if(!rx_ti) { // wait for first message + if (n > 0) { + if (rx_ti == 0) { // wait for first message rx_ti = get_now_ts(); } r += n; @@ -1090,8 +1084,7 @@ void tcp_server_sustained_6(TCP_UNIT_TEST_SIG_6) while(wrem) { int next_write = std::min(1024, wrem); n = WRITE(client_fd, &rxbuf[w], next_write); - if (n > 0) - { + if (n > 0) { w += n; wrem -= n; err = n; @@ -1127,31 +1120,29 @@ void udp_client_sustained_4(UDP_UNIT_TEST_SIG_4) int w, fd, err, len = strlen(msg.c_str()); char rbuf[STR_SIZE]; memset(rbuf, 0, sizeof rbuf); - - if((fd = SOCKET(AF_INET, SOCK_DGRAM, 0)) < 0) { + if ((fd = SOCKET(AF_INET, SOCK_DGRAM, 0)) < 0) { DEBUG_ERROR("error creating ZeroTier socket"); perror("socket"); *passed = false; return; } - if((err = FCNTL(fd, F_SETFL, O_NONBLOCK) < 0)) { + if ((err = FCNTL(fd, F_SETFL, O_NONBLOCK) < 0)) { fprintf(stderr, "error setting O_NONBLOCK (errno=%d)", errno); perror("fcntl"); *passed = false; return; } DEBUG_TEST("sending UDP packets until I get a single response..."); - if((err = BIND(fd, (struct sockaddr *)local_addr, sizeof(struct sockaddr_in)) < 0)) { + if ((err = BIND(fd, (struct sockaddr *)local_addr, sizeof(struct sockaddr_in)) < 0)) { DEBUG_ERROR("error binding to interface (%d)", err); perror("bind"); *passed = false; return; } - int num_to_send = 10; for(int i=0; i used_ports; @@ -1629,9 +1618,9 @@ int slam_api_test() usleep(SLAM_INTERVAL); for(int i = 0; i 0) { - if((err = CLOSE(sock)) < 0) { + if (sock > 0) { + if ((err = CLOSE(sock)) < 0) { std::cout << "error closing socket (errno = " << strerror(errno) << ")" << std::endl; //return -1; } @@ -1677,7 +1666,7 @@ int slam_api_test() } } used_ports.clear(); - if(zts_nsockets() == 0) + if (zts_nsockets() == 0) std::cout << "PASSED [slam open, bind, listen, accept, close]" << std::endl; else std::cout << "FAILED [slam open, bind, listen, accept, close]" << std::endl; @@ -1690,7 +1679,7 @@ int slam_api_test() int num_times = zts_maxsockets(); std::cout << "socket/connect/close - " << num_times << " times" << std::endl; for(int i=0;i<(SLAM_NUMBER*SLAM_REPEAT); i++) { results[i] = 0; } - if(true) + if (true) { int port = 4545; @@ -1703,17 +1692,17 @@ int slam_api_test() // socket() printf("creating socket... (%d)\n", j); - if((sock = SOCKET(AF_INET, SOCK_STREAM, 0)) < 0) + if ((sock = SOCKET(AF_INET, SOCK_STREAM, 0)) < 0) std::cout << "error creating socket (errno = " << strerror(errno) << ")" << std::endl; results[j] = std::min(results[j], sock); // set O_NONBLOCK - if((err = FCNTL(sock, F_SETFL, O_NONBLOCK) < 0)) + if ((err = FCNTL(sock, F_SETFL, O_NONBLOCK) < 0)) std::cout << "error setting O_NONBLOCK (errno=" << strerror(errno) << ")" << std::endl; results[j] = std::min(results[j], err); // connect() - if(false) { + if (false) { server = gethostbyname2("::",AF_INET6); memset((char *) &addr6, 0, sizeof(addr6)); addr6.sin6_flowinfo = 0; @@ -1722,7 +1711,7 @@ int slam_api_test() addr6.sin6_addr = in6addr_any; err = CONNECT(sock, (struct sockaddr *)&addr6, (socklen_t)(sizeof addr6)); } - if(true) { + if (true) { addr.sin_port = htons(port); addr.sin_addr.s_addr = inet_addr("10.9.9.51"); //addr.sin_addr.s_addr = htons(INADDR_ANY); @@ -1730,20 +1719,20 @@ int slam_api_test() err = CONNECT(sock, (struct sockaddr *)&addr, (socklen_t)(sizeof addr)); } - if(errno != EINPROGRESS) { // acceptable error for non-block mode - if(err < 0) + if (errno != EINPROGRESS) { // acceptable error for non-block mode + if (err < 0) std::cout << "error connecting socket (errno = " << strerror(errno) << ")" << std::endl; results[j] = std::min(results[j], err); } // close() - if((err = CLOSE(sock)) < 0) + if ((err = CLOSE(sock)) < 0) std::cout << "error closing socket (errno = " << strerror(errno) << ")" << std::endl; results[j] = std::min(results[j], err); } displayResults(results, num_times); - if(zts_nsockets() == 0) + if (zts_nsockets() == 0) std::cout << "PASSED [slam open, connect, close]" << std::endl; else std::cout << "FAILED [slam open, connect, close]" << std::endl; @@ -1762,16 +1751,16 @@ int obscure_api_test() int fd, client_fd; // after accept() - if((fd = SOCKET(AF_INET, SOCK_STREAM, 0)) < 0) + if ((fd = SOCKET(AF_INET, SOCK_STREAM, 0)) < 0) DEBUG_ERROR("error creating ZeroTier socket"); - if((err = BIND(fd, (struct sockaddr *)addr, sizeof(struct sockaddr_in)) < 0)) + if ((err = BIND(fd, (struct sockaddr *)addr, sizeof(struct sockaddr_in)) < 0)) DEBUG_ERROR("error binding to interface (%d)", err); - if((err = LISTEN(fd, 100)) < 0) + if ((err = LISTEN(fd, 100)) < 0) printf("error placing socket in LISTENING state (%d)", err); // accept struct sockaddr_in client; socklen_t client_addrlen = sizeof(sockaddr_in); - if((client_fd = accept(fd, (struct sockaddr *)&client, &client_addrlen)) < 0) + if ((client_fd = accept(fd, (struct sockaddr *)&client, &client_addrlen)) < 0) fprintf(stderr,"error accepting connection (%d)\n", err); fprintf(stderr, "accepted connection from %s, on port %d", inet_ntoa(client.sin_addr), ntohs(client.sin_port)); // getpeername @@ -1783,9 +1772,9 @@ int obscure_api_test() // compate getpeername() result to address returned by accept() // after connect - if((fd = SOCKET(AF_INET, SOCK_STREAM, 0)) < 0) + if ((fd = SOCKET(AF_INET, SOCK_STREAM, 0)) < 0) DEBUG_ERROR("error creating ZeroTier socket"); - if((err = CONNECT(fd, (const struct sockaddr *)addr, sizeof(*addr))) < 0) + if ((err = CONNECT(fd, (const struct sockaddr *)addr, sizeof(*addr))) < 0) DEBUG_ERROR("error connecting to remote host (%d)", err); // TODO: Put this test in the general API section struct sockaddr_storage peer_addr; @@ -1991,7 +1980,7 @@ void test_bad_args() err = SOCKET(protocol_family, socket_type, protocol); usleep(100000); - if(err < 0) { + if (err < 0) { DEBUG_ERROR("SOCKET(%d, %d, %d) = %d, errno=%d (%s)", protocol_family, socket_type, protocol, err, errno, strerror(errno)); } else { @@ -2036,7 +2025,7 @@ void* create_socket(void *arg) unsigned long i = 0; pthread_t id = pthread_self(); - if(pthread_equal(id,tid[0])) + if (pthread_equal(id,tid[0])) { printf("\n First thread processing\n"); } @@ -2085,15 +2074,15 @@ void close_test(struct sockaddr *bind_addr) for(int i=0; i 0) { - if((err = BIND(fd, (struct sockaddr *)&bind_addr, sizeof(struct sockaddr_in))) == 0) { + if ((fd = SOCKET(AF_INET, SOCK_STREAM, 0)) > 0) { + if ((err = BIND(fd, (struct sockaddr *)&bind_addr, sizeof(struct sockaddr_in))) == 0) { usleep(100000); - if((err = CLOSE(fd)) < 0) { + if ((err = CLOSE(fd)) < 0) { DEBUG_ERROR("error closing socket (%d)", err); } } @@ -2130,10 +2119,10 @@ void bind_to_localhost_test(int port) // ipv4, 127.0.0.1 DEBUG_TEST("binding to 127.0.0.1"); str2addr("127.0.0.1", port, 4, (struct sockaddr *)&bind_addr); - if((fd = SOCKET(AF_INET, SOCK_STREAM, 0)) > 0) { - if((err = BIND(fd, (struct sockaddr *)&bind_addr, sizeof(struct sockaddr_in))) == 0) { + if ((fd = SOCKET(AF_INET, SOCK_STREAM, 0)) > 0) { + if ((err = BIND(fd, (struct sockaddr *)&bind_addr, sizeof(struct sockaddr_in))) == 0) { usleep(100000); - if((err = CLOSE(fd)) < 0) { + if ((err = CLOSE(fd)) < 0) { DEBUG_ERROR("error closing socket (%d)", err); } } @@ -2151,10 +2140,10 @@ void bind_to_localhost_test(int port) // ipv6, [::] DEBUG_TEST("binding to [::]"); str2addr("::", port, 6, (struct sockaddr *)&bind_addr); - if((fd = SOCKET(AF_INET6, SOCK_STREAM, 0)) > 0) { - if((err = BIND(fd, (struct sockaddr *)&bind_addr, sizeof(struct sockaddr_in))) == 0) { + if ((fd = SOCKET(AF_INET6, SOCK_STREAM, 0)) > 0) { + if ((err = BIND(fd, (struct sockaddr *)&bind_addr, sizeof(struct sockaddr_in))) == 0) { usleep(100000); - if((err = CLOSE(fd)) < 0) { + if ((err = CLOSE(fd)) < 0) { DEBUG_ERROR("error closing socket (%d)", err); } } @@ -2175,7 +2164,7 @@ void bind_to_localhost_test(int port) int main(int argc , char *argv[]) { - if(argc < 6) { + if (argc < 6) { fprintf(stderr, "usage: selftest to \n"); fprintf(stderr, "e.g. : selftest 3 test/test.conf alice to bob\n"); return 1; @@ -2212,7 +2201,7 @@ int main(int argc , char *argv[]) struct sockaddr_storage remote_addr; // load config file - if(path.find(".conf") == std::string::npos) { + if (path.find(".conf") == std::string::npos) { fprintf(stderr, "Possibly invalid conf file. Exiting...\n"); exit(0); } @@ -2229,7 +2218,7 @@ int main(int argc , char *argv[]) remote_ipstr = testConf[to + ".ipv4"]; remote_ipstr6 = testConf[to + ".ipv6"]; - if(strcmp(smode.c_str(), "server") == 0) + if (strcmp(smode.c_str(), "server") == 0) mode = TEST_MODE_SERVER; else mode = TEST_MODE_CLIENT; @@ -2256,22 +2245,24 @@ int main(int argc , char *argv[]) char device_id[ZT_ID_LEN]; zts_get_device_id(device_id); DEBUG_TEST("I am %s, %s", device_id, me.c_str()); - if(mode == TEST_MODE_SERVER) + if (mode == TEST_MODE_SERVER) { DEBUG_TEST("Ready. You should start selftest program on second host now...\n\n"); - if(mode == TEST_MODE_CLIENT) + } + if (mode == TEST_MODE_CLIENT) { DEBUG_TEST("Ready. Contacting selftest program on first host.\n\n"); + } #endif // __SELFTEST__ // What follows is a long-form of zts_simple_start(): /* zts_start(path.c_str()); printf("waiting for service to start...\n"); - while(!zts_running()) + while(zts_running() == false) sleep(1); printf("joining network...\n"); zts_join(nwid.c_str()); printf("waiting for address assignment...\n"); - while(!zts_has_address(nwid.c_str())) + while(zts_has_address(nwid.c_str()) == false) sleep(1); */ @@ -2345,13 +2336,13 @@ for(int i=0; i