summaryrefslogtreecommitdiff
path: root/src/namestore/test_namestore_api_lookup_nick.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/namestore/test_namestore_api_lookup_nick.c')
-rw-r--r--src/namestore/test_namestore_api_lookup_nick.c372
1 files changed, 186 insertions, 186 deletions
diff --git a/src/namestore/test_namestore_api_lookup_nick.c b/src/namestore/test_namestore_api_lookup_nick.c
index 130f9bc1e..976e8bc1e 100644
--- a/src/namestore/test_namestore_api_lookup_nick.c
+++ b/src/namestore/test_namestore_api_lookup_nick.c
@@ -34,11 +34,11 @@
34 34
35#define TEST_RECORD_DATA 'a' 35#define TEST_RECORD_DATA 'a'
36 36
37#define TIMEOUT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 10) 37#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10)
38 38
39static struct GNUNET_NAMESTORE_Handle *nsh; 39static struct GNUNET_NAMESTORE_Handle *nsh;
40 40
41static struct GNUNET_SCHEDULER_Task * endbadly_task; 41static struct GNUNET_SCHEDULER_Task *endbadly_task;
42 42
43static struct GNUNET_CRYPTO_EcdsaPrivateKey *privkey; 43static struct GNUNET_CRYPTO_EcdsaPrivateKey *privkey;
44 44
@@ -50,25 +50,25 @@ static struct GNUNET_GNSRECORD_Data rd_orig;
50 50
51static struct GNUNET_NAMESTORE_QueueEntry *nsqe; 51static struct GNUNET_NAMESTORE_QueueEntry *nsqe;
52 52
53//static const char * name = "dummy.dummy.gnunet"; 53// static const char * name = "dummy.dummy.gnunet";
54static const char * name = "d"; 54static const char *name = "d";
55 55
56 56
57static void 57static void
58cleanup() 58cleanup ()
59{ 59{
60 GNUNET_free_non_null((void *)rd_orig.data); 60 GNUNET_free_non_null ((void *) rd_orig.data);
61 if (NULL != nsh) 61 if (NULL != nsh)
62 { 62 {
63 GNUNET_NAMESTORE_disconnect(nsh); 63 GNUNET_NAMESTORE_disconnect (nsh);
64 nsh = NULL; 64 nsh = NULL;
65 } 65 }
66 if (NULL != privkey) 66 if (NULL != privkey)
67 { 67 {
68 GNUNET_free(privkey); 68 GNUNET_free (privkey);
69 privkey = NULL; 69 privkey = NULL;
70 } 70 }
71 GNUNET_SCHEDULER_shutdown(); 71 GNUNET_SCHEDULER_shutdown ();
72} 72}
73 73
74 74
@@ -79,254 +79,254 @@ cleanup()
79 * @param tc scheduler context 79 * @param tc scheduler context
80 */ 80 */
81static void 81static void
82endbadly(void *cls) 82endbadly (void *cls)
83{ 83{
84 if (NULL != nsqe) 84 if (NULL != nsqe)
85 { 85 {
86 GNUNET_NAMESTORE_cancel(nsqe); 86 GNUNET_NAMESTORE_cancel (nsqe);
87 nsqe = NULL; 87 nsqe = NULL;
88 } 88 }
89 cleanup(); 89 cleanup ();
90 res = 1; 90 res = 1;
91} 91}
92 92
93 93
94static void 94static void
95end(void *cls) 95end (void *cls)
96{ 96{
97 cleanup(); 97 cleanup ();
98 res = 0; 98 res = 0;
99} 99}
100 100
101 101
102static void 102static void
103lookup_it(void *cls, 103lookup_it (void *cls,
104 const struct GNUNET_CRYPTO_EcdsaPrivateKey *zone, 104 const struct GNUNET_CRYPTO_EcdsaPrivateKey *zone,
105 const char *label, 105 const char *label,
106 unsigned int rd_count, 106 unsigned int rd_count,
107 const struct GNUNET_GNSRECORD_Data *rd) 107 const struct GNUNET_GNSRECORD_Data *rd)
108{ 108{
109 nsqe = NULL; 109 nsqe = NULL;
110 int c; 110 int c;
111 int found_record = GNUNET_NO; 111 int found_record = GNUNET_NO;
112 int found_nick = GNUNET_NO; 112 int found_nick = GNUNET_NO;
113 113
114 if (0 != GNUNET_memcmp(privkey, zone)) 114 if (0 != GNUNET_memcmp (privkey, zone))
115 { 115 {
116 GNUNET_break(0); 116 GNUNET_break (0);
117 GNUNET_SCHEDULER_cancel(endbadly_task); 117 GNUNET_SCHEDULER_cancel (endbadly_task);
118 endbadly_task = GNUNET_SCHEDULER_add_now(&endbadly, NULL); 118 endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL);
119 return; 119 return;
120 } 120 }
121 121
122 if (NULL == label) 122 if (NULL == label)
123 { 123 {
124 GNUNET_break(0); 124 GNUNET_break (0);
125 GNUNET_SCHEDULER_cancel(endbadly_task); 125 GNUNET_SCHEDULER_cancel (endbadly_task);
126 endbadly_task = GNUNET_SCHEDULER_add_now(&endbadly, NULL); 126 endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL);
127 return; 127 return;
128 } 128 }
129 129
130 if (0 != strcmp(label, name)) 130 if (0 != strcmp (label, name))
131 { 131 {
132 GNUNET_break(0); 132 GNUNET_break (0);
133 GNUNET_SCHEDULER_cancel(endbadly_task); 133 GNUNET_SCHEDULER_cancel (endbadly_task);
134 endbadly_task = GNUNET_SCHEDULER_add_now(&endbadly, NULL); 134 endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL);
135 return; 135 return;
136 } 136 }
137 137
138 if (2 != rd_count) 138 if (2 != rd_count)
139 { 139 {
140 GNUNET_break(0); 140 GNUNET_break (0);
141 GNUNET_SCHEDULER_cancel(endbadly_task); 141 GNUNET_SCHEDULER_cancel (endbadly_task);
142 endbadly_task = GNUNET_SCHEDULER_add_now(&endbadly, NULL); 142 endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL);
143 return; 143 return;
144 } 144 }
145 145
146 for (c = 0; c < rd_count; c++) 146 for (c = 0; c < rd_count; c++)
147 {
148 if (GNUNET_GNSRECORD_TYPE_NICK == rd[c].record_type)
149 {
150 if (rd[c].data_size != strlen (TEST_NICK) + 1)
151 {
152 GNUNET_break (0);
153 GNUNET_SCHEDULER_cancel (endbadly_task);
154 endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL);
155 return;
156 }
157 if (0 != (rd[c].flags & GNUNET_GNSRECORD_RF_PRIVATE))
158 {
159 GNUNET_break (0);
160 GNUNET_SCHEDULER_cancel (endbadly_task);
161 endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL);
162 return;
163 }
164 if (0 != strcmp (rd[c].data, TEST_NICK))
165 {
166 GNUNET_SCHEDULER_cancel (endbadly_task);
167 endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL);
168 return;
169 }
170 found_nick = GNUNET_YES;
171 }
172 else
147 { 173 {
148 if (GNUNET_GNSRECORD_TYPE_NICK == rd[c].record_type) 174 if (rd[c].record_type != TEST_RECORD_TYPE)
149 { 175 {
150 if (rd[c].data_size != strlen(TEST_NICK) + 1) 176 GNUNET_break (0);
151 { 177 GNUNET_SCHEDULER_cancel (endbadly_task);
152 GNUNET_break(0); 178 endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL);
153 GNUNET_SCHEDULER_cancel(endbadly_task); 179 return;
154 endbadly_task = GNUNET_SCHEDULER_add_now(&endbadly, NULL); 180 }
155 return; 181 if (rd[c].data_size != TEST_RECORD_DATALEN)
156 } 182 {
157 if (0 != (rd[c].flags & GNUNET_GNSRECORD_RF_PRIVATE)) 183 GNUNET_break (0);
158 { 184 GNUNET_SCHEDULER_cancel (endbadly_task);
159 GNUNET_break(0); 185 endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL);
160 GNUNET_SCHEDULER_cancel(endbadly_task); 186 return;
161 endbadly_task = GNUNET_SCHEDULER_add_now(&endbadly, NULL); 187 }
162 return; 188 if (0 != memcmp (rd[c].data, rd_orig.data, TEST_RECORD_DATALEN))
163 } 189 {
164 if (0 != strcmp(rd[c].data, TEST_NICK)) 190 GNUNET_break (0);
165 { 191 GNUNET_SCHEDULER_cancel (endbadly_task);
166 GNUNET_SCHEDULER_cancel(endbadly_task); 192 endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL);
167 endbadly_task = GNUNET_SCHEDULER_add_now(&endbadly, NULL); 193 return;
168 return; 194 }
169 } 195 if (rd[c].flags != rd->flags)
170 found_nick = GNUNET_YES; 196 {
171 } 197 GNUNET_break (0);
172 else 198 GNUNET_SCHEDULER_cancel (endbadly_task);
173 { 199 endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL);
174 if (rd[c].record_type != TEST_RECORD_TYPE) 200 return;
175 { 201 }
176 GNUNET_break(0); 202 found_record = GNUNET_YES;
177 GNUNET_SCHEDULER_cancel(endbadly_task);
178 endbadly_task = GNUNET_SCHEDULER_add_now(&endbadly, NULL);
179 return;
180 }
181 if (rd[c].data_size != TEST_RECORD_DATALEN)
182 {
183 GNUNET_break(0);
184 GNUNET_SCHEDULER_cancel(endbadly_task);
185 endbadly_task = GNUNET_SCHEDULER_add_now(&endbadly, NULL);
186 return;
187 }
188 if (0 != memcmp(rd[c].data, rd_orig.data, TEST_RECORD_DATALEN))
189 {
190 GNUNET_break(0);
191 GNUNET_SCHEDULER_cancel(endbadly_task);
192 endbadly_task = GNUNET_SCHEDULER_add_now(&endbadly, NULL);
193 return;
194 }
195 if (rd[c].flags != rd->flags)
196 {
197 GNUNET_break(0);
198 GNUNET_SCHEDULER_cancel(endbadly_task);
199 endbadly_task = GNUNET_SCHEDULER_add_now(&endbadly, NULL);
200 return;
201 }
202 found_record = GNUNET_YES;
203 }
204 } 203 }
204 }
205 205
206 /* Done */ 206 /* Done */
207 if ((GNUNET_YES == found_nick) && (GNUNET_YES == found_record)) 207 if ((GNUNET_YES == found_nick) && (GNUNET_YES == found_record))
208 { 208 {
209 GNUNET_SCHEDULER_cancel(endbadly_task); 209 GNUNET_SCHEDULER_cancel (endbadly_task);
210 endbadly_task = NULL; 210 endbadly_task = NULL;
211 GNUNET_SCHEDULER_add_now(&end, NULL); 211 GNUNET_SCHEDULER_add_now (&end, NULL);
212 } 212 }
213 else 213 else
214 { 214 {
215 GNUNET_break(0); 215 GNUNET_break (0);
216 GNUNET_SCHEDULER_cancel(endbadly_task); 216 GNUNET_SCHEDULER_cancel (endbadly_task);
217 endbadly_task = NULL; 217 endbadly_task = NULL;
218 GNUNET_SCHEDULER_add_now(&endbadly, NULL); 218 GNUNET_SCHEDULER_add_now (&endbadly, NULL);
219 } 219 }
220} 220}
221 221
222 222
223static void 223static void
224fail_cb(void *cls) 224fail_cb (void *cls)
225{ 225{
226 GNUNET_assert(0); 226 GNUNET_assert (0);
227} 227}
228 228
229 229
230static void 230static void
231put_cont(void *cls, int32_t success, const char *emsg) 231put_cont (void *cls, int32_t success, const char *emsg)
232{ 232{
233 const char *name = cls; 233 const char *name = cls;
234 234
235 nsqe = NULL; 235 nsqe = NULL;
236 GNUNET_assert(NULL != cls); 236 GNUNET_assert (NULL != cls);
237 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, 237 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
238 "Name store added record for `%s': %s\n", 238 "Name store added record for `%s': %s\n",
239 name, 239 name,
240 (success == GNUNET_OK) ? "SUCCESS" : "FAIL"); 240 (success == GNUNET_OK) ? "SUCCESS" : "FAIL");
241 241
242 if (GNUNET_OK != success) 242 if (GNUNET_OK != success)
243 { 243 {
244 GNUNET_SCHEDULER_cancel(endbadly_task); 244 GNUNET_SCHEDULER_cancel (endbadly_task);
245 endbadly_task = GNUNET_SCHEDULER_add_now(&endbadly, NULL); 245 endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL);
246 return; 246 return;
247 } 247 }
248 /* Lookup */ 248 /* Lookup */
249 nsqe = GNUNET_NAMESTORE_records_lookup(nsh, 249 nsqe = GNUNET_NAMESTORE_records_lookup (nsh,
250 privkey, 250 privkey,
251 name, 251 name,
252 &fail_cb, 252 &fail_cb,
253 NULL, 253 NULL,
254 &lookup_it, 254 &lookup_it,
255 NULL); 255 NULL);
256} 256}
257 257
258 258
259static void 259static void
260nick_cont(void *cls, int32_t success, const char *emsg) 260nick_cont (void *cls, int32_t success, const char *emsg)
261{ 261{
262 const char *name = cls; 262 const char *name = cls;
263 263
264 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, 264 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
265 "Nick added : %s\n", 265 "Nick added : %s\n",
266 (success == GNUNET_OK) ? "SUCCESS" : "FAIL"); 266 (success == GNUNET_OK) ? "SUCCESS" : "FAIL");
267 267
268 rd_orig.expiration_time = GNUNET_TIME_absolute_get().abs_value_us; 268 rd_orig.expiration_time = GNUNET_TIME_absolute_get ().abs_value_us;
269 rd_orig.record_type = TEST_RECORD_TYPE; 269 rd_orig.record_type = TEST_RECORD_TYPE;
270 rd_orig.data_size = TEST_RECORD_DATALEN; 270 rd_orig.data_size = TEST_RECORD_DATALEN;
271 rd_orig.data = GNUNET_malloc(TEST_RECORD_DATALEN); 271 rd_orig.data = GNUNET_malloc (TEST_RECORD_DATALEN);
272 rd_orig.flags = 0; 272 rd_orig.flags = 0;
273 memset((char *)rd_orig.data, 'a', TEST_RECORD_DATALEN); 273 memset ((char *) rd_orig.data, 'a', TEST_RECORD_DATALEN);
274 274
275 nsqe = GNUNET_NAMESTORE_records_store(nsh, privkey, name, 275 nsqe = GNUNET_NAMESTORE_records_store (nsh, privkey, name,
276 1, &rd_orig, &put_cont, (void *)name); 276 1, &rd_orig, &put_cont, (void *) name);
277} 277}
278 278
279 279
280static void 280static void
281run(void *cls, 281run (void *cls,
282 const struct GNUNET_CONFIGURATION_Handle *cfg, 282 const struct GNUNET_CONFIGURATION_Handle *cfg,
283 struct GNUNET_TESTING_Peer *peer) 283 struct GNUNET_TESTING_Peer *peer)
284{ 284{
285 endbadly_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT, 285 endbadly_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT,
286 &endbadly, 286 &endbadly,
287 NULL); 287 NULL);
288 privkey = GNUNET_CRYPTO_ecdsa_key_create(); 288 privkey = GNUNET_CRYPTO_ecdsa_key_create ();
289 GNUNET_assert(privkey != NULL); 289 GNUNET_assert (privkey != NULL);
290 GNUNET_CRYPTO_ecdsa_key_get_public(privkey, 290 GNUNET_CRYPTO_ecdsa_key_get_public (privkey,
291 &pubkey); 291 &pubkey);
292 292
293 nsh = GNUNET_NAMESTORE_connect(cfg); 293 nsh = GNUNET_NAMESTORE_connect (cfg);
294 GNUNET_break(NULL != nsh); 294 GNUNET_break (NULL != nsh);
295 295
296 nsqe = GNUNET_NAMESTORE_set_nick(nsh, 296 nsqe = GNUNET_NAMESTORE_set_nick (nsh,
297 privkey, 297 privkey,
298 TEST_NICK, 298 TEST_NICK,
299 &nick_cont, 299 &nick_cont,
300 (void *)name); 300 (void *) name);
301 if (NULL == nsqe) 301 if (NULL == nsqe)
302 { 302 {
303 GNUNET_log(GNUNET_ERROR_TYPE_ERROR, 303 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
304 _("Namestore cannot store no block\n")); 304 _ ("Namestore cannot store no block\n"));
305 } 305 }
306} 306}
307 307
308#include "test_common.c" 308#include "test_common.c"
309 309
310 310
311int 311int
312main(int argc, char *argv[]) 312main (int argc, char *argv[])
313{ 313{
314 const char *plugin_name; 314 const char *plugin_name;
315 char *cfg_name; 315 char *cfg_name;
316 316
317 SETUP_CFG(plugin_name, cfg_name); 317 SETUP_CFG (plugin_name, cfg_name);
318 res = 1; 318 res = 1;
319 if (0 != 319 if (0 !=
320 GNUNET_TESTING_peer_run("test-namestore-api-lookup-nick", 320 GNUNET_TESTING_peer_run ("test-namestore-api-lookup-nick",
321 cfg_name, 321 cfg_name,
322 &run, 322 &run,
323 NULL)) 323 NULL))
324 { 324 {
325 res = 1; 325 res = 1;
326 } 326 }
327 GNUNET_DISK_purge_cfg_dir(cfg_name, 327 GNUNET_DISK_purge_cfg_dir (cfg_name,
328 "GNUNET_TEST_HOME"); 328 "GNUNET_TEST_HOME");
329 GNUNET_free(cfg_name); 329 GNUNET_free (cfg_name);
330 return res; 330 return res;
331} 331}
332 332