View Issue Details

IDProjectCategoryView StatusLast Update
0003743GNUnetdatastore servicepublic2018-06-07 00:24
Reporteramatus Assigned Toamatus  
PriorityhighSeveritytweakReproducibilityN/A
Status closedResolutionfixed 
Product VersionGit master 
Fixed in Version0.11.0pre66 
Summary0003743: plugin API get_key inconsistancy
DescriptionIn gnunet_datastore_plugin.h the key parameter to the get_key function is documented:

@param key key to match, never NULL

However GNUNET_DATASTORE_get_key allows key to be NULL:

@param key maybe NULL (to match all entries)

Which causes the GetMessage to not include a key which causes gnunet-datastore-service to call get_key with a NULL key.

The mysql, postgres, and sqlite plugins assume key can never be NULL:

GNUNET_assert (key != NULL);

But the heap plugin allows key to be NULL.

The only code which calls GNUNET_DATASTORE_get_key with a NULL key is gnunet-datastore.c which tries to copy the contents of one datastore to another.
TagsNo tags attached.

Activities

Christian Grothoff

2015-03-29 00:27

manager   ~0009057

Well, so the answer is clear: we should allow key=NULL and make it iterate over all values.

amatus

2017-03-19 23:42

developer   ~0011954

Fixed in 2dde0202c5590eeb051c1346f2b66293d83b87ce

Issue History

Date Modified Username Field Change
2015-03-28 22:05 amatus New Issue
2015-03-29 00:27 Christian Grothoff Note Added: 0009057
2015-03-29 00:28 Christian Grothoff Priority normal => high
2015-03-29 00:28 Christian Grothoff Status new => confirmed
2015-05-31 21:47 Christian Grothoff Severity minor => tweak
2017-03-19 22:34 amatus Assigned To => amatus
2017-03-19 22:34 amatus Status confirmed => assigned
2017-03-19 23:42 amatus Note Added: 0011954
2017-03-19 23:43 amatus Status assigned => resolved
2017-03-19 23:43 amatus Resolution open => fixed
2017-03-19 23:43 amatus Fixed in Version => 0.11.0pre66
2018-06-07 00:24 Christian Grothoff Status resolved => closed