aboutsummaryrefslogtreecommitdiff
path: root/src/gnsrecord/test_gnsrecord_crypto.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gnsrecord/test_gnsrecord_crypto.c')
-rw-r--r--src/gnsrecord/test_gnsrecord_crypto.c131
1 files changed, 66 insertions, 65 deletions
diff --git a/src/gnsrecord/test_gnsrecord_crypto.c b/src/gnsrecord/test_gnsrecord_crypto.c
index 6be870e17..b16828147 100644
--- a/src/gnsrecord/test_gnsrecord_crypto.c
+++ b/src/gnsrecord/test_gnsrecord_crypto.c
@@ -41,7 +41,7 @@
41#define TEST_REMOVE_RECORD_DATA 'b' 41#define TEST_REMOVE_RECORD_DATA 'b'
42 42
43 43
44static struct GNUNET_CRYPTO_EcdsaPrivateKey * privkey; 44static struct GNUNET_CRYPTO_EcdsaPrivateKey *privkey;
45 45
46static struct GNUNET_GNSRECORD_Data *s_rd; 46static struct GNUNET_GNSRECORD_Data *s_rd;
47 47
@@ -51,102 +51,103 @@ static int res;
51 51
52 52
53static struct GNUNET_GNSRECORD_Data * 53static struct GNUNET_GNSRECORD_Data *
54create_record(int count) 54create_record (int count)
55{ 55{
56 struct GNUNET_GNSRECORD_Data *rd; 56 struct GNUNET_GNSRECORD_Data *rd;
57 57
58 rd = GNUNET_new_array(count, struct GNUNET_GNSRECORD_Data); 58 rd = GNUNET_new_array (count, struct GNUNET_GNSRECORD_Data);
59 for (unsigned int c = 0; c < count; c++) 59 for (unsigned int c = 0; c < count; c++)
60 { 60 {
61 rd[c].expiration_time = GNUNET_TIME_absolute_get().abs_value_us + 1000000000; 61 rd[c].expiration_time = GNUNET_TIME_absolute_get ().abs_value_us
62 rd[c].record_type = TEST_RECORD_TYPE; 62 + 1000000000;
63 rd[c].data_size = TEST_RECORD_DATALEN; 63 rd[c].record_type = TEST_RECORD_TYPE;
64 rd[c].data = GNUNET_malloc(TEST_RECORD_DATALEN); 64 rd[c].data_size = TEST_RECORD_DATALEN;
65 memset((char *)rd[c].data, TEST_RECORD_DATA, TEST_RECORD_DATALEN); 65 rd[c].data = GNUNET_malloc (TEST_RECORD_DATALEN);
66 } 66 memset ((char *) rd[c].data, TEST_RECORD_DATA, TEST_RECORD_DATALEN);
67 }
67 return rd; 68 return rd;
68} 69}
69 70
70 71
71static void 72static void
72rd_decrypt_cb(void *cls, 73rd_decrypt_cb (void *cls,
73 unsigned int rd_count, 74 unsigned int rd_count,
74 const struct GNUNET_GNSRECORD_Data *rd) 75 const struct GNUNET_GNSRECORD_Data *rd)
75{ 76{
76 char rd_cmp_data[TEST_RECORD_DATALEN]; 77 char rd_cmp_data[TEST_RECORD_DATALEN];
77 78
78 GNUNET_assert(RECORDS == rd_count); 79 GNUNET_assert (RECORDS == rd_count);
79 GNUNET_assert(NULL != rd); 80 GNUNET_assert (NULL != rd);
80 memset(rd_cmp_data, 81 memset (rd_cmp_data,
81 'a', 82 'a',
82 TEST_RECORD_DATALEN); 83 TEST_RECORD_DATALEN);
83 for (unsigned int c = 0; c < rd_count; c++) 84 for (unsigned int c = 0; c < rd_count; c++)
84 { 85 {
85 GNUNET_assert(TEST_RECORD_TYPE == rd[c].record_type); 86 GNUNET_assert (TEST_RECORD_TYPE == rd[c].record_type);
86 GNUNET_assert(TEST_RECORD_DATALEN == rd[c].data_size); 87 GNUNET_assert (TEST_RECORD_DATALEN == rd[c].data_size);
87 GNUNET_assert(0 == memcmp(&rd_cmp_data, 88 GNUNET_assert (0 == memcmp (&rd_cmp_data,
88 rd[c].data, 89 rd[c].data,
89 TEST_RECORD_DATALEN)); 90 TEST_RECORD_DATALEN));
90 } 91 }
91 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, 92 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
92 "Block was decrypted successfully \n"); 93 "Block was decrypted successfully \n");
93 res = 0; 94 res = 0;
94} 95}
95 96
96static void 97static void
97run(void *cls, 98run (void *cls,
98 char *const *args, 99 char *const *args,
99 const char *cfgfile, 100 const char *cfgfile,
100 const struct GNUNET_CONFIGURATION_Handle *cfg) 101 const struct GNUNET_CONFIGURATION_Handle *cfg)
101{ 102{
102 struct GNUNET_GNSRECORD_Block *block; 103 struct GNUNET_GNSRECORD_Block *block;
103 struct GNUNET_CRYPTO_EcdsaPublicKey pubkey; 104 struct GNUNET_CRYPTO_EcdsaPublicKey pubkey;
104 struct GNUNET_HashCode query_pub; 105 struct GNUNET_HashCode query_pub;
105 struct GNUNET_HashCode query_priv; 106 struct GNUNET_HashCode query_priv;
106 struct GNUNET_TIME_Absolute expire = GNUNET_TIME_absolute_get(); 107 struct GNUNET_TIME_Absolute expire = GNUNET_TIME_absolute_get ();
107 108
108 privkey = GNUNET_CRYPTO_ecdsa_key_create(); 109 privkey = GNUNET_CRYPTO_ecdsa_key_create ();
109 GNUNET_assert(NULL != privkey); 110 GNUNET_assert (NULL != privkey);
110 /* get public key */ 111 /* get public key */
111 GNUNET_CRYPTO_ecdsa_key_get_public(privkey, 112 GNUNET_CRYPTO_ecdsa_key_get_public (privkey,
112 &pubkey); 113 &pubkey);
113 114
114 /* test query derivation */ 115 /* test query derivation */
115 GNUNET_GNSRECORD_query_from_private_key(privkey, 116 GNUNET_GNSRECORD_query_from_private_key (privkey,
117 "testlabel",
118 &query_priv);
119 GNUNET_GNSRECORD_query_from_public_key (&pubkey,
116 "testlabel", 120 "testlabel",
117 &query_priv); 121 &query_pub);
118 GNUNET_GNSRECORD_query_from_public_key(&pubkey, 122 GNUNET_assert (0 == memcmp (&query_priv,
119 "testlabel", 123 &query_pub,
120 &query_pub); 124 sizeof(struct GNUNET_HashCode)));
121 GNUNET_assert(0 == memcmp(&query_priv,
122 &query_pub,
123 sizeof(struct GNUNET_HashCode)));
124 /* create record */ 125 /* create record */
125 s_name = "DUMMY.dummy.gnunet"; 126 s_name = "DUMMY.dummy.gnunet";
126 s_rd = create_record(RECORDS); 127 s_rd = create_record (RECORDS);
127 128
128 /* Create block */ 129 /* Create block */
129 GNUNET_assert(NULL != (block = 130 GNUNET_assert (NULL != (block =
130 GNUNET_GNSRECORD_block_create(privkey, 131 GNUNET_GNSRECORD_block_create (privkey,
131 expire, 132 expire,
132 s_name, 133 s_name,
133 s_rd, 134 s_rd,
134 RECORDS))); 135 RECORDS)));
135 GNUNET_assert(GNUNET_OK == 136 GNUNET_assert (GNUNET_OK ==
136 GNUNET_GNSRECORD_block_verify(block)); 137 GNUNET_GNSRECORD_block_verify (block));
137 GNUNET_assert(GNUNET_OK == 138 GNUNET_assert (GNUNET_OK ==
138 GNUNET_GNSRECORD_block_decrypt(block, 139 GNUNET_GNSRECORD_block_decrypt (block,
139 &pubkey, 140 &pubkey,
140 s_name, 141 s_name,
141 &rd_decrypt_cb, 142 &rd_decrypt_cb,
142 s_name)); 143 s_name));
143 GNUNET_free(block); 144 GNUNET_free (block);
144 GNUNET_free(privkey); 145 GNUNET_free (privkey);
145} 146}
146 147
147 148
148int 149int
149main(int argc, char *argv[]) 150main (int argc, char *argv[])
150{ 151{
151 static char *const argvx[] = { 152 static char *const argvx[] = {
152 "test-gnsrecord-crypto", 153 "test-gnsrecord-crypto",
@@ -157,11 +158,11 @@ main(int argc, char *argv[])
157 }; 158 };
158 159
159 res = 1; 160 res = 1;
160 GNUNET_PROGRAM_run((sizeof(argvx) / sizeof(char *)) - 1, 161 GNUNET_PROGRAM_run ((sizeof(argvx) / sizeof(char *)) - 1,
161 argvx, 162 argvx,
162 "test-gnsrecord-crypto", 163 "test-gnsrecord-crypto",
163 "nohelp", options, 164 "nohelp", options,
164 &run, &res); 165 &run, &res);
165 return res; 166 return res;
166} 167}
167 168