Use xoshiro256** to generate pseudo-random numbers.
[tinc] / src / protocol_subnet.c
index 3e82e47..78e7eeb 100644 (file)
@@ -23,9 +23,8 @@
 
 #include "conf.h"
 #include "connection.h"
+#include "crypto.h"
 #include "logger.h"
-#include "net.h"
-#include "netutl.h"
 #include "node.h"
 #include "protocol.h"
 #include "subnet.h"
@@ -39,14 +38,14 @@ bool send_add_subnet(connection_t *c, const subnet_t *subnet) {
                return false;
        }
 
-       return send_request(c, "%d %x %s %s", ADD_SUBNET, rand(), subnet->owner->name, netstr);
+       return send_request(c, "%d %x %s %s", ADD_SUBNET, prng(UINT32_MAX), subnet->owner->name, netstr);
 }
 
 bool add_subnet_h(connection_t *c, const char *request) {
        char subnetstr[MAX_STRING_SIZE];
        char name[MAX_STRING_SIZE];
        node_t *owner;
-       subnet_t s = {NULL}, *new, *old;
+       subnet_t s = {0}, *new, *old;
 
        if(sscanf(request, "%*d %*x " MAX_STRING " " MAX_STRING, name, subnetstr) != 2) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Got bad %s from %s (%s)", "ADD_SUBNET", c->name,
@@ -155,14 +154,14 @@ bool send_del_subnet(connection_t *c, const subnet_t *s) {
                return false;
        }
 
-       return send_request(c, "%d %x %s %s", DEL_SUBNET, rand(), s->owner->name, netstr);
+       return send_request(c, "%d %x %s %s", DEL_SUBNET, prng(UINT32_MAX), s->owner->name, netstr);
 }
 
 bool del_subnet_h(connection_t *c, const char *request) {
        char subnetstr[MAX_STRING_SIZE];
        char name[MAX_STRING_SIZE];
        node_t *owner;
-       subnet_t s = {NULL}, *find;
+       subnet_t s = {0}, *find;
 
        if(sscanf(request, "%*d %*x " MAX_STRING " " MAX_STRING, name, subnetstr) != 2) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Got bad %s from %s (%s)", "DEL_SUBNET", c->name,