diff options
author | Martin Schanzenbach <schanzen@gnunet.org> | 2023-07-04 13:14:18 +0200 |
---|---|---|
committer | Martin Schanzenbach <schanzen@gnunet.org> | 2023-07-04 13:14:18 +0200 |
commit | b195b613458c987787f7a0ec4de7e1cbabe02fa4 (patch) | |
tree | bb182694f6efa1b5bbfde33ca6ada96ab0c5deec /src/gnsrecord | |
parent | 203fc41d39ce7e5823a0ca6f2621ebfc2d95747c (diff) | |
download | gnunet-b195b613458c987787f7a0ec4de7e1cbabe02fa4.tar.gz gnunet-b195b613458c987787f7a0ec4de7e1cbabe02fa4.zip |
GNS: Use test vector from current spec.
Diffstat (limited to 'src/gnsrecord')
-rw-r--r-- | src/gnsrecord/test_gnsrecord_testvectors.c | 321 |
1 files changed, 166 insertions, 155 deletions
diff --git a/src/gnsrecord/test_gnsrecord_testvectors.c b/src/gnsrecord/test_gnsrecord_testvectors.c index cdfe83d76..139eda58c 100644 --- a/src/gnsrecord/test_gnsrecord_testvectors.c +++ b/src/gnsrecord/test_gnsrecord_testvectors.c | |||
@@ -4,6 +4,8 @@ | |||
4 | #include "gnunet_gnsrecord_lib.h" | 4 | #include "gnunet_gnsrecord_lib.h" |
5 | #include <inttypes.h> | 5 | #include <inttypes.h> |
6 | 6 | ||
7 | int res; | ||
8 | |||
7 | struct GnsTv | 9 | struct GnsTv |
8 | { | 10 | { |
9 | uint32_t expected_rd_count; | 11 | uint32_t expected_rd_count; |
@@ -56,14 +58,14 @@ struct GnsTv tvs[] = { | |||
56 | "57 11 bc 27 08 ad bb 24" | 58 | "57 11 bc 27 08 ad bb 24" |
57 | "2a 60 44 6a d3 c3 08 03" | 59 | "2a 60 44 6a d3 c3 08 03" |
58 | "12 1d 03 d3 48 b7 ce b6" | 60 | "12 1d 03 d3 48 b7 ce b6" |
59 | "0e 17 29 10 c3 07 30 84" | 61 | "0a d1 0b c1 3b 40 3b 5b" |
60 | "d0 2b 4f 7b 46 ab c8 fd" | 62 | "25 61 26 b2 14 5a 6f 60" |
61 | "f2 0f db e7 62 d5 a0 ac" | 63 | "c5 14 f9 51 ff a7 66 f7" |
62 | "77 75 dc a3 50 0a 06 2c" | 64 | "a3 fd 4b ac 4a 4e 19 90" |
63 | "05 15 fb 6d 44 61 1f ed" | 65 | "05 5c b8 7e 8d 1b fd 19" |
64 | "e4 c7 99 aa d0 05 5c 0d" | 66 | "aa 09 a4 29 f7 29 e9 f5" |
65 | "22 cc 42 11 7b f7 32 78" | 67 | "c6 ee c2 47 0a ce e2 22" |
66 | "bd ad 0d 00 65 2c 2b 17" | 68 | "07 59 e9 e3 6c 88 6f 35" |
67 | "00 1c ee 8c 10 e2 59 80" | 69 | "00 1c ee 8c 10 e2 59 80" |
68 | "0c 1e da 5c c0 94 a1 c7" | 70 | "0c 1e da 5c c0 94 a1 c7" |
69 | "a8 88 64 9d 25 fa ee bd" | 71 | "a8 88 64 9d 25 fa ee bd" |
@@ -82,56 +84,6 @@ struct GnsTv tvs[] = { | |||
82 | "f9 6d 84 ff 61 f5 98 2c" | 84 | "f9 6d 84 ff 61 f5 98 2c" |
83 | "2c 4f e0 2d 5a 11 fe df" | 85 | "2c 4f e0 2d 5a 11 fe df" |
84 | "b0 c2 90 1f", | 86 | "b0 c2 90 1f", |
85 | .label = "74 65 73 74 64 65 6c 65" | ||
86 | "67 61 74 69 6f 6e", | ||
87 | .q = | ||
88 | "4a dc 67 c5 ec ee 9f 76" | ||
89 | "98 6a bd 71 c2 22 4a 3d" | ||
90 | "ce 2e 91 70 26 c9 a0 9d" | ||
91 | "fd 44 ce f3 d2 0f 55 a2" | ||
92 | "73 32 72 5a 6c 8a fb bb" | ||
93 | "b0 f7 ec 9a f1 cc 42 64" | ||
94 | "12 99 40 6b 04 fd 9b 5b" | ||
95 | "57 91 f8 6c 4b 08 d5 f4", | ||
96 | .rdata = | ||
97 | "00 1c ee 8b 3a 4e b5 80" | ||
98 | "00 20 00 01 00 01 00 00" | ||
99 | "21 e3 b3 0f f9 3b c6 d3" | ||
100 | "5a c8 c6 e0 e1 3a fd ff" | ||
101 | "79 4c b7 b4 4b bb c7 48" | ||
102 | "d2 59 d0 a0 28 4d be 84", | ||
103 | .rrblock = | ||
104 | "00 00 00 a0 00 01 00 00" | ||
105 | "18 2b b6 36 ed a7 9f 79" | ||
106 | "57 11 bc 27 08 ad bb 24" | ||
107 | "2a 60 44 6a d3 c3 08 03" | ||
108 | "12 1d 03 d3 48 b7 ce b6" | ||
109 | "0b af 41 a3 af 96 03 ea" | ||
110 | "be 46 0f 8a f6 7f 10 26" | ||
111 | "6c 14 90 17 2b 27 18 24" | ||
112 | "7f 29 09 99 f0 9f 34 d4" | ||
113 | "02 76 47 47 83 ed 63 39" | ||
114 | "d4 2c 76 80 b1 b2 ec 40" | ||
115 | "46 05 d6 f5 6b b3 f5 e3" | ||
116 | "7a 94 6d 4a 14 83 06 03" | ||
117 | "00 1c ee 8b 3a 4e b5 80" | ||
118 | "6c d1 19 47 8c d9 1c 80" | ||
119 | "dc 67 56 f8 96 83 f1 d5" | ||
120 | "d7 2e 1a a6 d9 bb 2d 14" | ||
121 | "ea 7a 24 9a ce b6 a6 00" | ||
122 | "59 f1 e9 d4 15 1b 0e ce" | ||
123 | "5f e7 fa 58 63 4d 81 c5"}, | ||
124 | { .d = | ||
125 | "50 d7 b6 52 a4 ef ea df" | ||
126 | "f3 73 96 90 97 85 e5 95" | ||
127 | "21 71 a0 21 78 c8 e7 d4" | ||
128 | "50 fa 90 79 25 fa fd 98", | ||
129 | .zid = | ||
130 | "00 01 00 00 67 7c 47 7d" | ||
131 | "2d 93 09 7c 85 b1 95 c6" | ||
132 | "f9 6d 84 ff 61 f5 98 2c" | ||
133 | "2c 4f e0 2d 5a 11 fe df" | ||
134 | "b0 c2 90 1f", | ||
135 | .label = | 87 | .label = |
136 | "e5 a4 a9 e4 b8 8b e7 84" | 88 | "e5 a4 a9 e4 b8 8b e7 84" |
137 | "a1 e6 95 b5", | 89 | "a1 e6 95 b5", |
@@ -145,7 +97,7 @@ struct GnsTv tvs[] = { | |||
145 | "67 78 c7 11 f2 ca 47 d5" | 97 | "67 78 c7 11 f2 ca 47 d5" |
146 | "5c f0 b5 4d 23 5d a9 77", | 98 | "5c f0 b5 4d 23 5d a9 77", |
147 | .rdata = | 99 | .rdata = |
148 | "00 1c ee 8b 3a 4e b5 80" | 100 | "00 1c ee 8c 10 e2 59 80" |
149 | "00 10 00 00 00 00 00 1c" | 101 | "00 10 00 00 00 00 00 1c" |
150 | "00 00 00 00 00 00 00 00" | 102 | "00 00 00 00 00 00 00 00" |
151 | "00 00 00 00 de ad be ef" | 103 | "00 00 00 00 de ad be ef" |
@@ -167,31 +119,31 @@ struct GnsTv tvs[] = { | |||
167 | "ca 11 8d 4f 07 fa 7a ae" | 119 | "ca 11 8d 4f 07 fa 7a ae" |
168 | "55 08 bc f5 12 aa 41 12" | 120 | "55 08 bc f5 12 aa 41 12" |
169 | "14 29 d4 a0 de 9d 05 7e" | 121 | "14 29 d4 a0 de 9d 05 7e" |
170 | "04 85 97 8d 22 64 74 a9" | 122 | "08 5b d6 5f d4 85 10 51" |
171 | "22 fe 78 60 49 89 eb 52" | 123 | "ba ce 2a 45 2a fc 8a 7e" |
172 | "61 38 0d 16 11 e6 9f 01" | 124 | "4f 6b 2c 1f 74 f0 20 35" |
173 | "fc e0 d5 6d fc 53 24 c5" | 125 | "d9 64 1a cd ba a4 66 e0" |
174 | "08 2a 6b ef 15 7c 9d 27" | 126 | "00 ce d6 f2 d2 3b 63 1c" |
175 | "c3 35 4a 39 75 a4 30 98" | 127 | "8e 8a 0b 38 e2 ba e7 9a" |
176 | "d4 2b 5e d6 12 3c f5 41" | 128 | "22 ca d8 1d 4c 50 d2 25" |
177 | "c4 7c b4 22 16 4c a9 30" | 129 | "35 8e bc 17 ac 0f 89 9e" |
178 | "00 1c ee 8b 3a 4e b5 80" | 130 | "00 1c ee 8c 10 e2 59 80" |
179 | "03 a3 4a e6 1e 07 1c 08" | 131 | "d8 c2 8d 2f d6 96 7d 1a" |
180 | "17 fd d4 57 68 e8 c7 cd" | 132 | "b7 22 53 f2 10 98 b8 14" |
181 | "ab 72 b3 06 61 6e d1 f9" | 133 | "a4 10 be 1f 59 98 de 03" |
182 | "3f b5 64 e1 63 4c 64 64" | 134 | "f5 8f 7e 7c db 7f 08 a6" |
183 | "29 20 ac 74 eb cd 97 f8" | 135 | "16 51 be 4d 0b 6f 8a 61" |
184 | "1f 8a 93 d4 b0 c8 f7 c2" | 136 | "df 15 30 44 0b d7 47 dc" |
185 | "0d ff 38 bb 60 b4 ed 9d" | 137 | "f0 d7 10 4f 6b 8d 24 c2" |
186 | "cd 02 d7 e3 9f 4b 89 c2" | 138 | "ac 9b c1 3d 9c 6f e8 29" |
187 | "95 79 e0 75 dd ba 7b 8d" | 139 | "05 25 d2 a6 d0 f8 84 42" |
188 | "ad 4b 9d cd ef 15 57 4c" | 140 | "67 a1 57 0e 8e 29 4d c9" |
189 | "f3 50 b6 32 b3 93 a4 90" | 141 | "3a 31 9f cf c0 3e a2 70" |
190 | "fc f4 90 32 be eb 4e 68" | 142 | "17 d6 fd a3 47 b4 a7 94" |
191 | "25 72 70 b1 70 6f c6 1f" | 143 | "97 d7 f6 b1 42 2d 4e dd" |
192 | "d4 a4 c9 95 6c 64 f5 9e" | 144 | "82 1c 19 93 4e 96 c1 aa" |
193 | "81 d0 2b 6a 30 f5 8a 48" | 145 | "87 76 57 25 d4 94 c7 64" |
194 | "23 58 a1 2a ec 3d 0f 2d"}, | 146 | "b1 55 dc 6d 13 26 91 74"}, |
195 | { .d = | 147 | { .d = |
196 | "5a f7 02 0e e1 91 60 32" | 148 | "5a f7 02 0e e1 91 60 32" |
197 | "88 32 35 2b bc 6a 68 a8" | 149 | "88 32 35 2b bc 6a 68 a8" |
@@ -216,7 +168,7 @@ struct GnsTv tvs[] = { | |||
216 | "a1 57 8c 38 4e c6 1d 44" | 168 | "a1 57 8c 38 4e c6 1d 44" |
217 | "56 36 a9 4e 88 03 29 e9", | 169 | "56 36 a9 4e 88 03 29 e9", |
218 | .rdata = | 170 | .rdata = |
219 | "00 1c ee 8b 3a 4e b5 80" | 171 | "00 1c ee 8c 10 e2 59 80" |
220 | "00 20 00 01 00 01 00 00" | 172 | "00 20 00 01 00 01 00 00" |
221 | "21 e3 b3 0f f9 3b c6 d3" | 173 | "21 e3 b3 0f f9 3b c6 d3" |
222 | "5a c8 c6 e0 e1 3a fd ff" | 174 | "5a c8 c6 e0 e1 3a fd ff" |
@@ -228,23 +180,23 @@ struct GnsTv tvs[] = { | |||
228 | "db ac 49 5c ab d9 10 49" | 180 | "db ac 49 5c ab d9 10 49" |
229 | "a6 84 af 3f 40 51 ba ca" | 181 | "a6 84 af 3f 40 51 ba ca" |
230 | "b0 dc f2 1c 8c f2 7a 1a" | 182 | "b0 dc f2 1c 8c f2 7a 1a" |
231 | "f4 27 a9 98 be 90 91 f3" | 183 | "9f 56 a8 86 ea 73 9d 59" |
232 | "bd 44 19 c2 86 06 81 fa" | 184 | "17 50 8f 9b 75 56 39 f3" |
233 | "0f c8 46 5c 35 e2 10 91" | 185 | "a9 ac fa ed ed ca 7f bf" |
234 | "f0 87 fd 8d dc a8 78 51" | 186 | "a7 94 b1 92 e0 8b f9 ed" |
235 | "53 d6 d9 bd 73 4f 08 9c" | 187 | "4c 7e c8 59 4c 9f 7b 4e" |
236 | "26 b6 52 da ea b4 73 25" | 188 | "19 77 4f f8 38 ec 38 7a" |
237 | "71 e5 d9 2b c9 96 3d ad" | 189 | "8f 34 23 da ac 44 9f 59" |
238 | "d8 be 55 31 87 26 52 00" | 190 | "db 4e 83 94 3f 90 72 00" |
239 | "00 1c ee 8b 3a 4e b5 80" | 191 | "00 1c ee 8c 10 e2 59 80" |
240 | "16 c7 0f d2 9a 62 38 9e" | 192 | "57 7c c6 c9 5a 14 e7 04" |
241 | "9b 04 9a 09 31 ba ba 46" | 193 | "09 f2 0b 01 67 e6 36 d0" |
242 | "a1 73 bb 56 f6 bf 56 16" | 194 | "10 80 7c 4f 00 37 2d 69" |
243 | "18 ba a1 69 0f ae fa 1c" | 195 | "8c 82 6b d9 2b c2 2b d6" |
244 | "c4 24 75 55 4d 47 96 98" | 196 | "bb 45 e5 27 7c 01 88 1d" |
245 | "39 8d f6 f0 42 0b 9e c2" | 197 | "6a 43 60 68 e4 dd f1 c6" |
246 | "6f b0 43 cf 1e fc 34 bd" | 198 | "b7 d1 41 6f af a6 69 7c" |
247 | "2e a0 c6 4a 7d ef d6 ac"}, | 199 | "25 ed d9 ea e9 91 67 c3"}, |
248 | { .d = | 200 | { .d = |
249 | "5a f7 02 0e e1 91 60 32" | 201 | "5a f7 02 0e e1 91 60 32" |
250 | "88 32 35 2b bc 6a 68 a8" | 202 | "88 32 35 2b bc 6a 68 a8" |
@@ -269,7 +221,7 @@ struct GnsTv tvs[] = { | |||
269 | "8f a7 f0 3c 3f ce be 78" | 221 | "8f a7 f0 3c 3f ce be 78" |
270 | "d3 f9 d6 40 aa c0 d1 ed", | 222 | "d3 f9 d6 40 aa c0 d1 ed", |
271 | .rdata = | 223 | .rdata = |
272 | "00 1c ee 8b 3a 4e b5 80" | 224 | "00 1c ee 8c 10 e2 59 80" |
273 | "00 10 00 00 00 00 00 1c" | 225 | "00 10 00 00 00 00 00 1c" |
274 | "00 00 00 00 00 00 00 00" | 226 | "00 00 00 00 00 00 00 00" |
275 | "00 00 00 00 de ad be ef" | 227 | "00 00 00 00 de ad be ef" |
@@ -291,33 +243,33 @@ struct GnsTv tvs[] = { | |||
291 | "52 a8 a6 c2 eb 98 48 98" | 243 | "52 a8 a6 c2 eb 98 48 98" |
292 | "c5 3a cc a0 98 04 70 c6" | 244 | "c5 3a cc a0 98 04 70 c6" |
293 | "c8 12 64 cb dd 78 ad 11" | 245 | "c8 12 64 cb dd 78 ad 11" |
294 | "36 47 fb d2 27 cb 62 bf" | 246 | "75 6d 2c 15 7a d2 ea 4f" |
295 | "bf 28 6a cb 82 fc f3 64" | 247 | "c0 b1 b9 1c 08 03 79 44" |
296 | "67 3c dd 18 a7 a7 1e b3" | 248 | "61 d3 de f2 0d d1 63 6c" |
297 | "44 8e 71 72 35 89 a6 4a" | 249 | "fe dc 03 89 c5 49 d1 43" |
298 | "43 59 11 fe 14 f3 26 e9" | 250 | "6c c3 5b 4e 1b f8 89 5a" |
299 | "48 48 21 16 78 74 19 dd" | 251 | "64 6b d9 a6 f4 6b 83 48" |
300 | "ce f6 1a c2 2e 66 7a 0b" | 252 | "1d 9c 0e 91 d4 e1 be bb" |
301 | "99 4a c4 cb 6d a5 49 05" | 253 | "6a 83 52 6f b7 25 2a 06" |
302 | "00 1c ee 8b 3a 4e b5 80" | 254 | "00 1c ee 8c 10 e2 59 80" |
303 | "8e 45 6d e7 7d 37 2f 82" | 255 | "4e b3 5a 50 d4 0f e1 a4" |
304 | "f4 0b a0 4c 04 ca ac 4c" | 256 | "29 c7 f4 b2 67 a0 59 de" |
305 | "04 f2 8a 2b 5f 34 1d fc" | 257 | "4e 2c 8a 89 a5 ed 53 d3" |
306 | "73 59 8c 18 2a 9e 06 5e" | 258 | "d4 92 58 59 d2 94 9f 7f" |
307 | "e1 02 bc 7b a5 f1 cb e2" | 259 | "30 d8 a2 0c aa 96 f8 81" |
308 | "48 a3 d4 6e 56 3c 47 1d" | 260 | "45 05 2d 1c da 04 12 49" |
309 | "8d 10 0b 36 40 9e 37 31" | 261 | "8f f2 5f f2 81 6e f0 ce" |
310 | "89 94 bf fd d4 c8 d0 ff" | 262 | "61 fe 69 9b fa c7 2c 15" |
311 | "68 00 de a3 1b 81 09 b1" | 263 | "dc 83 0e a9 b0 36 17 1c" |
312 | "eb fb 21 71 f8 77 b8 6d" | 264 | "cf ca bb dd a8 de 3c 86" |
313 | "c2 53 1a b2 5e bb 88 62" | 265 | "ed e2 95 70 d0 17 4b 82" |
314 | "7f 93 74 56 d9 d7 a8 75" | 266 | "82 09 48 a9 28 b7 f0 0e" |
315 | "e5 f4 98 57 da 14 1c 61" | 267 | "fb 40 1c 10 fe 80 bb bb" |
316 | "52 ae 88 d0 6e 9a 47 fb" | 268 | "02 76 33 1b f7 f5 1b 8d" |
317 | "fd f3 b5 f7 db 99 e4 47" | 269 | "74 57 9c 14 14 f2 2d 50" |
318 | "93 4e 31 66 d1 15 bf 16" | 270 | "1a d2 5a e2 49 f5 bb f2" |
319 | "63 4e 5f 51 b8 87 fb 70" | 271 | "a6 c3 72 59 d1 75 e4 40" |
320 | "3b d4 4a 42 9b d3 32 ab"}, | 272 | "b2 94 39 c6 05 19 cb b1"}, |
321 | {.d = NULL} | 273 | {.d = NULL} |
322 | }; | 274 | }; |
323 | 275 | ||
@@ -395,16 +347,54 @@ res_checker (void *cls, | |||
395 | unsigned int rd_count, const struct GNUNET_GNSRECORD_Data *rd) | 347 | unsigned int rd_count, const struct GNUNET_GNSRECORD_Data *rd) |
396 | { | 348 | { |
397 | struct GnsTv *tv = cls; | 349 | struct GnsTv *tv = cls; |
398 | GNUNET_assert (rd_count == tv->expected_rd_count); | 350 | if (rd_count != tv->expected_rd_count) |
399 | printf ("RRCOUNT good: %d\n", rd_count); | 351 | { |
352 | printf ("FAIL: Record count expected: %u, was: %u\n", tv->expected_rd_count, | ||
353 | rd_count); | ||
354 | res = 1; | ||
355 | return; | ||
356 | } | ||
400 | for (int i = 0; i < rd_count; i++) | 357 | for (int i = 0; i < rd_count; i++) |
401 | { | 358 | { |
402 | GNUNET_assert (rd[i].record_type == tv->expected_rd[i].record_type); | 359 | if (rd[i].record_type != tv->expected_rd[i].record_type) |
403 | GNUNET_assert (rd[i].expiration_time == tv->expected_rd[i].expiration_time); | 360 | { |
404 | GNUNET_assert (rd[i].flags == tv->expected_rd[i].flags); | 361 | printf ("FAIL: Record type expected: %u, was: %u\n", |
405 | GNUNET_assert (rd[i].data_size == tv->expected_rd[i].data_size); | 362 | tv->expected_rd[i].record_type, |
406 | GNUNET_assert (0 == memcmp (rd[i].data, tv->expected_rd[i].data, | 363 | rd[i].record_type); |
407 | rd[i].data_size)); | 364 | res = 1; |
365 | return; | ||
366 | } | ||
367 | if (rd[i].expiration_time != tv->expected_rd[i].expiration_time) | ||
368 | { | ||
369 | printf ("FAIL: Expiration expected: %" PRIu64 ", was: %" PRIu64 "\n", | ||
370 | tv->expected_rd[i].expiration_time, | ||
371 | rd[i].expiration_time); | ||
372 | res = 1; | ||
373 | return; | ||
374 | } | ||
375 | if (rd[i].flags != tv->expected_rd[i].flags) | ||
376 | { | ||
377 | printf ("FAIL: Record flags expected: %u, was: %u\n", | ||
378 | tv->expected_rd[i].flags, | ||
379 | rd[i].flags); | ||
380 | res = 1; | ||
381 | return; | ||
382 | } | ||
383 | if (rd[i].data_size != tv->expected_rd[i].data_size) | ||
384 | { | ||
385 | printf ("FAIL: Record data size expected: %lu, was: %lu\n", | ||
386 | tv->expected_rd[i].data_size, | ||
387 | rd[i].data_size); | ||
388 | res = 1; | ||
389 | return; | ||
390 | } | ||
391 | if (0 != memcmp (rd[i].data, tv->expected_rd[i].data, | ||
392 | rd[i].data_size)) | ||
393 | { | ||
394 | printf ("FAIL: Record data does not match\n"); | ||
395 | res = 1; | ||
396 | return; | ||
397 | } | ||
408 | } | 398 | } |
409 | } | 399 | } |
410 | 400 | ||
@@ -420,9 +410,11 @@ main () | |||
420 | struct GNUNET_HashCode expected_query; | 410 | struct GNUNET_HashCode expected_query; |
421 | char label[128]; | 411 | char label[128]; |
422 | char rdata[8096]; | 412 | char rdata[8096]; |
413 | res = 0; | ||
423 | 414 | ||
424 | for (int i = 0; NULL != tvs[i].d; i++) | 415 | for (int i = 0; NULL != tvs[i].d; i++) |
425 | { | 416 | { |
417 | printf ("Test vector #%d\n", i); | ||
426 | memset (label, 0, sizeof (label)); | 418 | memset (label, 0, sizeof (label)); |
427 | parsehex (tvs[i].zid,(char*) &pub_parsed, 36, 0); | 419 | parsehex (tvs[i].zid,(char*) &pub_parsed, 36, 0); |
428 | parsehex (tvs[i].d,(char*) &priv.ecdsa_key, sizeof (priv.ecdsa_key), | 420 | parsehex (tvs[i].d,(char*) &priv.ecdsa_key, sizeof (priv.ecdsa_key), |
@@ -439,28 +431,47 @@ main () | |||
439 | rrblock = GNUNET_malloc (strlen (tvs[i].rrblock)); | 431 | rrblock = GNUNET_malloc (strlen (tvs[i].rrblock)); |
440 | parsehex (tvs[i].rrblock, (char*) rrblock, 0, 0); | 432 | parsehex (tvs[i].rrblock, (char*) rrblock, 0, 0); |
441 | parsehex (tvs[i].label, (char*) label, 0, 0); | 433 | parsehex (tvs[i].label, (char*) label, 0, 0); |
442 | printf ("Got label: %s\n", label); | ||
443 | parsehex (tvs[i].q, (char*) &query, 0, 0); | 434 | parsehex (tvs[i].q, (char*) &query, 0, 0); |
444 | GNUNET_GNSRECORD_query_from_public_key (&pub_parsed, | 435 | GNUNET_GNSRECORD_query_from_public_key (&pub_parsed, |
445 | label, | 436 | label, |
446 | &expected_query); | 437 | &expected_query); |
447 | GNUNET_assert (0 == GNUNET_memcmp (&query, &expected_query)); | 438 | if (0 != GNUNET_memcmp (&query, &expected_query)) |
439 | { | ||
440 | printf ("FAIL: query does not match:"); | ||
441 | printf (" expected: %s", GNUNET_h2s (&expected_query)); | ||
442 | printf (", was: %s\n", GNUNET_h2s (&query)); | ||
443 | res = 1; | ||
444 | goto finish; | ||
445 | } | ||
448 | int len = parsehex (tvs[i].rdata, (char*) rdata, 0, 0); | 446 | int len = parsehex (tvs[i].rdata, (char*) rdata, 0, 0); |
449 | tvs[i].expected_rd_count = GNUNET_GNSRECORD_records_deserialize_get_size ( | 447 | tvs[i].expected_rd_count = |
450 | len, | 448 | GNUNET_GNSRECORD_records_deserialize_get_size (len, |
451 | rdata); | 449 | rdata); |
452 | GNUNET_assert (tvs[i].expected_rd_count < 2048); | 450 | GNUNET_assert (tvs[i].expected_rd_count < 2048); |
453 | GNUNET_assert (GNUNET_OK == | 451 | if (GNUNET_OK != |
454 | GNUNET_GNSRECORD_records_deserialize (len, | 452 | GNUNET_GNSRECORD_records_deserialize (len, |
455 | rdata, | 453 | rdata, |
456 | tvs[i]. | 454 | tvs[i]. |
457 | expected_rd_count, | 455 | expected_rd_count, |
458 | tvs[i].expected_rd)); | 456 | tvs[i].expected_rd)) |
459 | GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_decrypt (rrblock, | 457 | { |
460 | &pub_parsed, | 458 | printf ("FAIL: Deserialization of RDATA failed\n"); |
461 | label, | 459 | res = 1; |
462 | &res_checker, | 460 | goto finish; |
463 | &tvs[i])); | 461 | } |
462 | if (GNUNET_OK != GNUNET_GNSRECORD_block_decrypt (rrblock, | ||
463 | &pub_parsed, | ||
464 | label, | ||
465 | &res_checker, | ||
466 | &tvs[i])) | ||
467 | { | ||
468 | printf ("FAIL: Decryption of RRBLOCK failed\n"); | ||
469 | res = 1; | ||
470 | } | ||
471 | if (0 != res) | ||
472 | break; | ||
473 | printf ("Good.\n"); | ||
464 | } | 474 | } |
465 | return 0; | 475 | finish: |
476 | return res; | ||
466 | } | 477 | } |