#include "connection.h"
#include "compression.h"
#include "control.h"
+#include "crypto.h"
#include "device.h"
#include "digest.h"
#include "ecdsa.h"
static void keyexpire_handler(void *data) {
regenerate_key();
timeout_set(data, &(struct timeval) {
- keylifetime, rand() % 100000
+ keylifetime, jitter()
});
}
#endif
int udp_fd = setup_vpn_in_socket((sockaddr_t *) aip->ai_addr);
if(udp_fd < 0) {
- close(tcp_fd);
+ closesocket(tcp_fd);
continue;
}
free(cipher);
timeout_add(&keyexpire_timeout, keyexpire_handler, &keyexpire_timeout, &(struct timeval) {
- keylifetime, rand() % 100000
+ keylifetime, jitter()
});
/* Check if we want to use message authentication codes... */
for(int i = 0; i < listen_sockets; i++) {
io_del(&listen_socket[i].tcp);
io_del(&listen_socket[i].udp);
- close(listen_socket[i].tcp.fd);
- close(listen_socket[i].udp.fd);
+ closesocket(listen_socket[i].tcp.fd);
+ closesocket(listen_socket[i].udp.fd);
}
exit_requests();