diff options
author | Martin Schanzenbach <mschanzenbach@posteo.de> | 2015-12-15 14:00:51 +0000 |
---|---|---|
committer | Martin Schanzenbach <mschanzenbach@posteo.de> | 2015-12-15 14:00:51 +0000 |
commit | d1206bc476560bff4a57d5a9cc01bfcfbddc29bc (patch) | |
tree | b6646afdc8962fdae2250328ad7ae892e5784ad8 /src/namecache | |
parent | 08216bba64ab8da19dfaf8ff2d0d52dc3bdfd7b1 (diff) | |
download | gnunet-d1206bc476560bff4a57d5a9cc01bfcfbddc29bc.tar.gz gnunet-d1206bc476560bff4a57d5a9cc01bfcfbddc29bc.zip |
- update flat plugin to namestore flat plugin status. Add config filename.
Diffstat (limited to 'src/namecache')
-rw-r--r-- | src/namecache/namecache.conf.in | 3 | ||||
-rw-r--r-- | src/namecache/plugin_namecache_flat.c | 53 |
2 files changed, 32 insertions, 24 deletions
diff --git a/src/namecache/namecache.conf.in b/src/namecache/namecache.conf.in index 31cd22ec7..f70fa487e 100644 --- a/src/namecache/namecache.conf.in +++ b/src/namecache/namecache.conf.in | |||
@@ -14,6 +14,9 @@ DATABASE = sqlite | |||
14 | [namecache-sqlite] | 14 | [namecache-sqlite] |
15 | FILENAME = $GNUNET_DATA_HOME/namecache/sqlite.db | 15 | FILENAME = $GNUNET_DATA_HOME/namecache/sqlite.db |
16 | 16 | ||
17 | [namecache-flat] | ||
18 | FILENAME = $GNUNET_DATA_HOME/namecache/flat.db | ||
19 | |||
17 | [namecache-postgres] | 20 | [namecache-postgres] |
18 | CONFIG = connect_timeout=10; dbname=gnunet | 21 | CONFIG = connect_timeout=10; dbname=gnunet |
19 | TEMPORARY_TABLE = NO | 22 | TEMPORARY_TABLE = NO |
diff --git a/src/namecache/plugin_namecache_flat.c b/src/namecache/plugin_namecache_flat.c index 85bb69237..d537ea74f 100644 --- a/src/namecache/plugin_namecache_flat.c +++ b/src/namecache/plugin_namecache_flat.c | |||
@@ -148,27 +148,32 @@ database_setup (struct Plugin *plugin) | |||
148 | } | 148 | } |
149 | 149 | ||
150 | GNUNET_DISK_file_close (fh); | 150 | GNUNET_DISK_file_close (fh); |
151 | 151 | if (0 < size) { | |
152 | line = strtok ("\n", buffer); | 152 | line = strtok (buffer, "\n"); |
153 | while (line != NULL) { | 153 | while (line != NULL) { |
154 | query = strtok (",", line); | 154 | query = strtok (line, ","); |
155 | block = strtok (NULL, line); | 155 | if (NULL == query) |
156 | line = strtok ("\n", buffer); | 156 | break; |
157 | entry = GNUNET_malloc (sizeof (struct FlatFileEntry)); | 157 | block = strtok (NULL, ","); |
158 | GNUNET_CRYPTO_hash_from_string (query, | 158 | if (NULL == block) |
159 | &entry->query); | 159 | break; |
160 | GNUNET_STRINGS_base64_decode (block, | 160 | line = strtok (NULL, "\n"); |
161 | strlen (block), | 161 | entry = GNUNET_malloc (sizeof (struct FlatFileEntry)); |
162 | &block_buffer); | 162 | GNUNET_CRYPTO_hash_from_string (query, |
163 | entry->block = (struct GNUNET_GNSRECORD_Block *) block_buffer; | 163 | &entry->query); |
164 | if (GNUNET_OK != | 164 | GNUNET_STRINGS_base64_decode (block, |
165 | GNUNET_CONTAINER_multihashmap_put (plugin->hm, | 165 | strlen (block), |
166 | &entry->query, | 166 | &block_buffer); |
167 | entry, | 167 | entry->block = (struct GNUNET_GNSRECORD_Block *) block_buffer; |
168 | GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY)) | 168 | if (GNUNET_OK != |
169 | { | 169 | GNUNET_CONTAINER_multihashmap_put (plugin->hm, |
170 | GNUNET_free (entry); | 170 | &entry->query, |
171 | GNUNET_break (0); | 171 | entry, |
172 | GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY)) | ||
173 | { | ||
174 | GNUNET_free (entry); | ||
175 | GNUNET_break (0); | ||
176 | } | ||
172 | } | 177 | } |
173 | } | 178 | } |
174 | GNUNET_free (buffer); | 179 | GNUNET_free (buffer); |
@@ -295,7 +300,7 @@ namecache_expire_blocks (struct Plugin *plugin) | |||
295 | */ | 300 | */ |
296 | static int | 301 | static int |
297 | namecache_cache_block (void *cls, | 302 | namecache_cache_block (void *cls, |
298 | const struct GNUNET_GNSRECORD_Block *block) | 303 | const struct GNUNET_GNSRECORD_Block *block) |
299 | { | 304 | { |
300 | struct Plugin *plugin = cls; | 305 | struct Plugin *plugin = cls; |
301 | struct GNUNET_HashCode query; | 306 | struct GNUNET_HashCode query; |
@@ -391,7 +396,7 @@ libgnunet_plugin_namecache_flat_init (void *cls) | |||
391 | api->cache_block = &namecache_cache_block; | 396 | api->cache_block = &namecache_cache_block; |
392 | api->lookup_block = &namecache_lookup_block; | 397 | api->lookup_block = &namecache_lookup_block; |
393 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 398 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
394 | _("flat plugin running\n")); | 399 | _("flat plugin running\n")); |
395 | return api; | 400 | return api; |
396 | } | 401 | } |
397 | 402 | ||
@@ -412,7 +417,7 @@ libgnunet_plugin_namecache_flat_done (void *cls) | |||
412 | plugin->cfg = NULL; | 417 | plugin->cfg = NULL; |
413 | GNUNET_free (api); | 418 | GNUNET_free (api); |
414 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 419 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
415 | "flat plugin is finished\n"); | 420 | "flat plugin is finished\n"); |
416 | return NULL; | 421 | return NULL; |
417 | } | 422 | } |
418 | 423 | ||