aboutsummaryrefslogtreecommitdiff
path: root/src/namecache
diff options
context:
space:
mode:
authorMartin Schanzenbach <mschanzenbach@posteo.de>2015-12-15 14:00:51 +0000
committerMartin Schanzenbach <mschanzenbach@posteo.de>2015-12-15 14:00:51 +0000
commitd1206bc476560bff4a57d5a9cc01bfcfbddc29bc (patch)
treeb6646afdc8962fdae2250328ad7ae892e5784ad8 /src/namecache
parent08216bba64ab8da19dfaf8ff2d0d52dc3bdfd7b1 (diff)
downloadgnunet-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.in3
-rw-r--r--src/namecache/plugin_namecache_flat.c53
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]
15FILENAME = $GNUNET_DATA_HOME/namecache/sqlite.db 15FILENAME = $GNUNET_DATA_HOME/namecache/sqlite.db
16 16
17[namecache-flat]
18FILENAME = $GNUNET_DATA_HOME/namecache/flat.db
19
17[namecache-postgres] 20[namecache-postgres]
18CONFIG = connect_timeout=10; dbname=gnunet 21CONFIG = connect_timeout=10; dbname=gnunet
19TEMPORARY_TABLE = NO 22TEMPORARY_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 */
296static int 301static int
297namecache_cache_block (void *cls, 302namecache_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