#include "sptps.h"
#include "utils.h"
#include "names.h"
+#include "random.h"
#ifndef HAVE_WINDOWS
#define closesocket(s) close(s)
#endif // HAVE_WINDOWS
-int main(int argc, char *argv[]) {
+static void print_listening_msg(int sock) {
+ sockaddr_t sa = {0};
+ socklen_t salen = sizeof(sa);
+ int port = 0;
+
+ if(!getsockname(sock, &sa.sa, &salen)) {
+ port = ntohs(sa.in.sin_port);
+ }
+
+ fprintf(stderr, "Listening on %d...\n", port);
+ fflush(stderr);
+}
+
+static int run_test(int argc, char *argv[]) {
program_name = argv[0];
bool initiator = false;
bool datagram = false;
return 1;
}
- fprintf(stderr, "Listening...\n");
+ print_listening_msg(sock);
sock = accept(sock, NULL, NULL);
return 1;
}
} else {
- fprintf(stderr, "Listening...\n");
+ print_listening_msg(sock);
char buf[65536];
struct sockaddr addr;
fprintf(stderr, "Connected\n");
}
- crypto_init();
- prng_init();
-
FILE *fp = fopen(argv[1], "r");
if(!fp) {
free(mykey);
free(hiskey);
+ closesocket(sock);
- if(!stopped) {
- return 1;
- }
+ return !stopped;
+}
- closesocket(sock);
+int main(int argc, char *argv[]) {
+ random_init();
+ crypto_init();
+ prng_init();
- return 0;
+ int result = run_test(argc, argv);
+
+ random_exit();
+
+ return result;
}