]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-9775: Replaced initialization of nodeid to use safer passing through raw fixed...
authorShane Bryldt <astaelan@gmail.com>
Thu, 1 Dec 2016 22:34:31 +0000 (22:34 +0000)
committerMike Jerris <mike@jerris.com>
Wed, 25 Jan 2017 20:59:33 +0000 (14:59 -0600)
libs/libks/src/dht/c [new file with mode: 0644]
libs/libks/src/dht/ks_dht.c
libs/libks/src/dht/ks_dht.h
libs/libks/src/dht/ks_dht_nodeid.c
libs/libks/src/dht/ks_dht_nodeid.h

diff --git a/libs/libks/src/dht/c b/libs/libks/src/dht/c
new file mode 100644 (file)
index 0000000..e69de29
index bf80f55fc14d7057c3acf1cdb5154c5e5ecc0e64..e0288b61f45a8d7c4fdb8baaab3f7d309be193e6 100644 (file)
@@ -57,7 +57,7 @@ KS_DECLARE(ks_status_t) ks_dht2_free(ks_dht2_t *dht)
 /**
  *
  */
-KS_DECLARE(ks_status_t) ks_dht2_init(ks_dht2_t *dht, const uint8_t *nodeid)
+KS_DECLARE(ks_status_t) ks_dht2_init(ks_dht2_t *dht, const ks_dht2_nodeid_raw_t *nodeid)
 {
        ks_assert(dht);
        ks_assert(dht->pool);
@@ -392,7 +392,7 @@ KS_DECLARE(ks_status_t) ks_dht2_process_query_ping(ks_dht2_t *dht, ks_sockaddr_t
                return KS_STATUS_FAIL;
        }
 
-       if (ks_dht2_nodeid_init(&nid, (const uint8_t *)idv) != KS_STATUS_SUCCESS) {
+       if (ks_dht2_nodeid_init(&nid, (const ks_dht2_nodeid_raw_t *)idv) != KS_STATUS_SUCCESS) {
                return KS_STATUS_FAIL;
        }
 
index bd087b9c106fac867782e6dd6873b4707dddb72e..e3ce9ead779a3097deaf11fc8a59907a9f8d6caa 100644 (file)
@@ -43,8 +43,8 @@ KS_DECLARE(ks_status_t) ks_dht2_alloc(ks_dht2_t **dht, ks_pool_t *pool);
 KS_DECLARE(ks_status_t) ks_dht2_prealloc(ks_dht2_t *dht, ks_pool_t *pool);
 KS_DECLARE(ks_status_t) ks_dht2_free(ks_dht2_t *dht);
 
-                                               
-KS_DECLARE(ks_status_t) ks_dht2_init(ks_dht2_t *dht, const uint8_t *nodeid);
+
+KS_DECLARE(ks_status_t) ks_dht2_init(ks_dht2_t *dht, const ks_dht2_nodeid_raw_t *nodeid);
 KS_DECLARE(ks_status_t) ks_dht2_deinit(ks_dht2_t *dht);
 
 
index d6f00a3c155a9918b726a73540b9216a3cb6bdb2..af5999c4b3892c7b483ae292a2a80cf65fcc612a 100644 (file)
@@ -47,7 +47,7 @@ KS_DECLARE(ks_status_t) ks_dht2_nodeid_free(ks_dht2_nodeid_t *nodeid)
 /**
  *
  */
-KS_DECLARE(ks_status_t) ks_dht2_nodeid_init(ks_dht2_nodeid_t *nodeid, const uint8_t *id)
+KS_DECLARE(ks_status_t) ks_dht2_nodeid_init(ks_dht2_nodeid_t *nodeid, const ks_dht2_nodeid_raw_t *id)
 {
        ks_assert(nodeid);
        ks_assert(nodeid->pool);
@@ -55,7 +55,7 @@ KS_DECLARE(ks_status_t) ks_dht2_nodeid_init(ks_dht2_nodeid_t *nodeid, const uint
        if (!id) {
                randombytes_buf(nodeid->id, KS_DHT_NODEID_LENGTH);
        } else {
-               memcpy(nodeid->id, id, KS_DHT_NODEID_LENGTH);
+               memcpy(nodeid->id, id->id, KS_DHT_NODEID_LENGTH);
        }
        
        return KS_STATUS_SUCCESS;
index c3c2f8c85f3f5fbbb5c99d984e27547613ef76c1..39705e9e10d41fd4e5de6377e35e2da5562cf8dc 100644 (file)
@@ -7,6 +7,11 @@ KS_BEGIN_EXTERN_C
 
 #define KS_DHT_NODEID_LENGTH 20
 
+typedef struct ks_dht2_nodeid_raw_s ks_dht2_nodeid_raw_t;
+struct ks_dht2_nodeid_raw_s {
+    uint8_t id[KS_DHT_NODEID_LENGTH];
+};
+
 typedef struct ks_dht2_nodeid_s ks_dht2_nodeid_t;
 struct ks_dht2_nodeid_s {
        ks_pool_t *pool;
@@ -17,7 +22,7 @@ KS_DECLARE(ks_status_t) ks_dht2_nodeid_alloc(ks_dht2_nodeid_t **nodeid, ks_pool_
 KS_DECLARE(ks_status_t) ks_dht2_nodeid_prealloc(ks_dht2_nodeid_t *nodeid, ks_pool_t *pool);
 KS_DECLARE(ks_status_t) ks_dht2_nodeid_free(ks_dht2_nodeid_t *nodeid);
 
-KS_DECLARE(ks_status_t) ks_dht2_nodeid_init(ks_dht2_nodeid_t *nodeid, const uint8_t *id);
+KS_DECLARE(ks_status_t) ks_dht2_nodeid_init(ks_dht2_nodeid_t *nodeid, const ks_dht2_nodeid_raw_t *id);
 KS_DECLARE(ks_status_t) ks_dht2_nodeid_deinit(ks_dht2_nodeid_t *nodeid);
 
 KS_END_EXTERN_C