diff options
author | Christian Grothoff <christian@grothoff.org> | 2013-08-13 16:40:41 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2013-08-13 16:40:41 +0000 |
commit | ee32003b7e606767f9b89715cb956d863fe067d9 (patch) | |
tree | eca3af3ac8a6c0852352861a69ea9e919343b03c /src/include | |
parent | 597dc76d129d291cd9dbe2fbd6914e54ae0ef118 (diff) | |
download | gnunet-ee32003b7e606767f9b89715cb956d863fe067d9.tar.gz gnunet-ee32003b7e606767f9b89715cb956d863fe067d9.zip |
-working on new, simplified GNS API
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/Makefile.am | 1 | ||||
-rw-r--r-- | src/include/block_gns.h | 61 | ||||
-rw-r--r-- | src/include/gnunet_gns_service.h | 110 | ||||
-rw-r--r-- | src/include/gnunet_namestore_service.h | 5 |
4 files changed, 17 insertions, 160 deletions
diff --git a/src/include/Makefile.am b/src/include/Makefile.am index bdf752382..63f7c3bb5 100644 --- a/src/include/Makefile.am +++ b/src/include/Makefile.am | |||
@@ -13,7 +13,6 @@ EXTRA_DIST = \ | |||
13 | gauger.h \ | 13 | gauger.h \ |
14 | block_fs.h \ | 14 | block_fs.h \ |
15 | block_dns.h \ | 15 | block_dns.h \ |
16 | block_gns.h \ | ||
17 | block_mesh.h \ | 16 | block_mesh.h \ |
18 | block_regex.h | 17 | block_regex.h |
19 | 18 | ||
diff --git a/src/include/block_gns.h b/src/include/block_gns.h deleted file mode 100644 index 21f0b097c..000000000 --- a/src/include/block_gns.h +++ /dev/null | |||
@@ -1,61 +0,0 @@ | |||
1 | /* | ||
2 | This file is part of GNUnet. | ||
3 | (C) 2012 Christian Grothoff (and other contributing authors) | ||
4 | |||
5 | GNUnet is free software; you can redistribute it and/or modify | ||
6 | it under the terms of the GNU General Public License as published | ||
7 | by the Free Software Foundation; either version 3, or (at your | ||
8 | option) any later version. | ||
9 | |||
10 | GNUnet is distributed in the hope that it will be useful, but | ||
11 | WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
13 | General Public License for more details. | ||
14 | |||
15 | You should have received a copy of the GNU General Public License | ||
16 | along with GNUnet; see the file COPYING. If not, write to the | ||
17 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
18 | Boston, MA 02111-1307, USA. | ||
19 | */ | ||
20 | |||
21 | /** | ||
22 | * @file include/block_gns.h | ||
23 | * @brief fs block formats (shared between fs and block) | ||
24 | * @author Martin Schanzenbach | ||
25 | */ | ||
26 | #ifndef BLOCK_GNS_H | ||
27 | #define BLOCK_GNS_H | ||
28 | |||
29 | #include "gnunet_util_lib.h" | ||
30 | |||
31 | GNUNET_NETWORK_STRUCT_BEGIN | ||
32 | |||
33 | /** | ||
34 | * @brief a record block for a given name of a single authority | ||
35 | */ | ||
36 | struct GNSNameRecordBlock | ||
37 | { | ||
38 | |||
39 | /** | ||
40 | * The public key of the authority | ||
41 | */ | ||
42 | struct GNUNET_CRYPTO_EccPublicKey public_key; | ||
43 | |||
44 | /** | ||
45 | * GNUNET_RSA_Signature using RSA-key generated from the records. | ||
46 | */ | ||
47 | struct GNUNET_CRYPTO_EccSignature signature; | ||
48 | |||
49 | /** | ||
50 | * number of records that follow | ||
51 | */ | ||
52 | uint32_t rd_count GNUNET_PACKED; | ||
53 | |||
54 | /* 0-terminated name here */ | ||
55 | |||
56 | /* variable-size serialized namestore record data */ | ||
57 | |||
58 | }; | ||
59 | |||
60 | GNUNET_NETWORK_STRUCT_END | ||
61 | #endif | ||
diff --git a/src/include/gnunet_gns_service.h b/src/include/gnunet_gns_service.h index 34af525c8..47d02ac7c 100644 --- a/src/include/gnunet_gns_service.h +++ b/src/include/gnunet_gns_service.h | |||
@@ -154,7 +154,6 @@ enum GNUNET_GNS_RecordType | |||
154 | * Initialize the connection with the GNS service. | 154 | * Initialize the connection with the GNS service. |
155 | * | 155 | * |
156 | * @param cfg configuration to use | 156 | * @param cfg configuration to use |
157 | * | ||
158 | * @return handle to the GNS service, or NULL on error | 157 | * @return handle to the GNS service, or NULL on error |
159 | */ | 158 | */ |
160 | struct GNUNET_GNS_Handle * | 159 | struct GNUNET_GNS_Handle * |
@@ -187,56 +186,34 @@ typedef void (*GNUNET_GNS_LookupResultProcessor) (void *cls, | |||
187 | 186 | ||
188 | 187 | ||
189 | /** | 188 | /** |
190 | * Perform an asynchronous lookup operation on the GNS | 189 | * Perform an asynchronous lookup operation on the GNS. |
191 | * in the default zone. | ||
192 | * | 190 | * |
193 | * @param handle handle to the GNS service | 191 | * @param handle handle to the GNS service |
194 | * @param name the name to look up | 192 | * @param name the name to look up |
195 | * @param type the GNUNET_GNS_RecordType to look for | 193 | * @param zone zone to look in |
196 | * @param only_cached GNUNET_NO to only check locally not DHT for performance | 194 | * @param type the record type to look for |
197 | * @param shorten_key the private key of the shorten zone (can be NULL) | 195 | * @param only_cached #GNUNET_NO to only check locally (not in the DHT) |
196 | * @param shorten_zone_key the private key of the shorten zone (can be NULL); | ||
197 | * specify to enable automatic shortening (given a PSEU | ||
198 | * record, if a given pseudonym is not yet used in the | ||
199 | * shorten zone, we automatically add the respective zone | ||
200 | * under that name) | ||
198 | * @param proc function to call on result | 201 | * @param proc function to call on result |
199 | * @param proc_cls closure for processor | 202 | * @param proc_cls closure for processor |
200 | * | ||
201 | * @return handle to the queued request | 203 | * @return handle to the queued request |
202 | */ | 204 | */ |
203 | struct GNUNET_GNS_LookupRequest* | 205 | struct GNUNET_GNS_LookupRequest* |
204 | GNUNET_GNS_lookup (struct GNUNET_GNS_Handle *handle, | 206 | GNUNET_GNS_lookup (struct GNUNET_GNS_Handle *handle, |
205 | const char * name, | 207 | const char *name, |
208 | const struct GNUNET_CRYPTO_EccPublicKey *zone, | ||
206 | enum GNUNET_GNS_RecordType type, | 209 | enum GNUNET_GNS_RecordType type, |
207 | int only_cached, | 210 | int only_cached, |
208 | struct GNUNET_CRYPTO_EccPrivateKey *shorten_key, | 211 | struct GNUNET_CRYPTO_EccPrivateKey *shorten_zone_key, |
209 | GNUNET_GNS_LookupResultProcessor proc, | 212 | GNUNET_GNS_LookupResultProcessor proc, |
210 | void *proc_cls); | 213 | void *proc_cls); |
211 | 214 | ||
212 | 215 | ||
213 | /** | 216 | /** |
214 | * Perform an asynchronous lookup operation on the GNS | ||
215 | * in the zone specified by 'zone'. | ||
216 | * | ||
217 | * @param handle handle to the GNS service | ||
218 | * @param name the name to look up | ||
219 | * @param zone the zone to start the resolution in | ||
220 | * @param type the GNUNET_GNS_RecordType to look for | ||
221 | * @param only_cached GNUNET_YES to only check locally not DHT for performance | ||
222 | * @param shorten_key the private key of the shorten zone (can be NULL) | ||
223 | * @param proc function to call on result | ||
224 | * @param proc_cls closure for processor | ||
225 | * | ||
226 | * @return handle to the queued request | ||
227 | */ | ||
228 | struct GNUNET_GNS_LookupRequest* | ||
229 | GNUNET_GNS_lookup_zone (struct GNUNET_GNS_Handle *handle, | ||
230 | const char * name, | ||
231 | struct GNUNET_CRYPTO_ShortHashCode *zone, | ||
232 | enum GNUNET_GNS_RecordType type, | ||
233 | int only_cached, | ||
234 | struct GNUNET_CRYPTO_EccPrivateKey *shorten_key, | ||
235 | GNUNET_GNS_LookupResultProcessor proc, | ||
236 | void *proc_cls); | ||
237 | |||
238 | |||
239 | /** | ||
240 | * Cancel pending lookup request | 217 | * Cancel pending lookup request |
241 | * | 218 | * |
242 | * @param lr the lookup request to cancel | 219 | * @param lr the lookup request to cancel |
@@ -244,69 +221,6 @@ GNUNET_GNS_lookup_zone (struct GNUNET_GNS_Handle *handle, | |||
244 | void | 221 | void |
245 | GNUNET_GNS_cancel_lookup_request (struct GNUNET_GNS_LookupRequest *lr); | 222 | GNUNET_GNS_cancel_lookup_request (struct GNUNET_GNS_LookupRequest *lr); |
246 | 223 | ||
247 | /* *************** Standard API: shorten ******************* */ | ||
248 | |||
249 | |||
250 | /** | ||
251 | * Processor called on for a name shortening result | ||
252 | * called only once | ||
253 | * | ||
254 | * @param cls closure | ||
255 | * @param short_name the shortened name or NULL if no result / error | ||
256 | */ | ||
257 | typedef void (*GNUNET_GNS_ShortenResultProcessor) (void *cls, | ||
258 | const char* short_name); | ||
259 | |||
260 | |||
261 | /** | ||
262 | * Perform a name shortening operation on the GNS. | ||
263 | * | ||
264 | * @param handle handle to the GNS service | ||
265 | * @param name the name to look up | ||
266 | * @param private_zone the public zone of the private zone | ||
267 | * @param shorten_zone the public zone of the shorten zone | ||
268 | * @param proc function to call on result | ||
269 | * @param proc_cls closure for processor | ||
270 | * @return handle to the operation | ||
271 | */ | ||
272 | struct GNUNET_GNS_ShortenRequest* | ||
273 | GNUNET_GNS_shorten (struct GNUNET_GNS_Handle *handle, | ||
274 | const char * name, | ||
275 | struct GNUNET_CRYPTO_ShortHashCode *private_zone, | ||
276 | struct GNUNET_CRYPTO_ShortHashCode *shorten_zone, | ||
277 | GNUNET_GNS_ShortenResultProcessor proc, | ||
278 | void *proc_cls); | ||
279 | |||
280 | |||
281 | /** | ||
282 | * Perform a name shortening operation on the GNS. | ||
283 | * | ||
284 | * @param handle handle to the GNS service | ||
285 | * @param name the name to look up | ||
286 | * @param private_zone the public zone of the private zone | ||
287 | * @param shorten_zone the public zone of the shorten zone | ||
288 | * @param zone the zone to start the resolution in | ||
289 | * @param proc function to call on result | ||
290 | * @param proc_cls closure for processor | ||
291 | * @return handle to the operation | ||
292 | */ | ||
293 | struct GNUNET_GNS_ShortenRequest* | ||
294 | GNUNET_GNS_shorten_zone (struct GNUNET_GNS_Handle *handle, | ||
295 | const char * name, | ||
296 | struct GNUNET_CRYPTO_ShortHashCode *private_zone, | ||
297 | struct GNUNET_CRYPTO_ShortHashCode *shorten_zone, | ||
298 | struct GNUNET_CRYPTO_ShortHashCode *zone, | ||
299 | GNUNET_GNS_ShortenResultProcessor proc, | ||
300 | void *proc_cls); | ||
301 | |||
302 | |||
303 | /** | ||
304 | * Cancel pending shorten request | ||
305 | * | ||
306 | * @param sr the lookup request to cancel | ||
307 | */ | ||
308 | void | ||
309 | GNUNET_GNS_cancel_shorten_request (struct GNUNET_GNS_ShortenRequest *sr); | ||
310 | 224 | ||
311 | 225 | ||
312 | /* *************** Standard API: get authority ******************* */ | 226 | /* *************** Standard API: get authority ******************* */ |
diff --git a/src/include/gnunet_namestore_service.h b/src/include/gnunet_namestore_service.h index e47b1ee3d..c9eb004e1 100644 --- a/src/include/gnunet_namestore_service.h +++ b/src/include/gnunet_namestore_service.h | |||
@@ -226,6 +226,10 @@ struct GNUNET_NAMESTORE_RecordData | |||
226 | }; | 226 | }; |
227 | 227 | ||
228 | 228 | ||
229 | |||
230 | GNUNET_NETWORK_STRUCT_BEGIN | ||
231 | |||
232 | |||
229 | /** | 233 | /** |
230 | * Information we have in an encrypted block with record data (i.e. in the DHT). | 234 | * Information we have in an encrypted block with record data (i.e. in the DHT). |
231 | */ | 235 | */ |
@@ -256,6 +260,7 @@ struct GNUNET_NAMESTORE_Block | |||
256 | /* followed by encrypted data */ | 260 | /* followed by encrypted data */ |
257 | }; | 261 | }; |
258 | 262 | ||
263 | GNUNET_NETWORK_STRUCT_END | ||
259 | 264 | ||
260 | /** | 265 | /** |
261 | * Store an item in the namestore. If the item is already present, | 266 | * Store an item in the namestore. If the item is already present, |