View Issue Details

IDProjectCategoryView StatusLast Update
0002897GNUnetcadet servicepublic2013-12-24 20:54
ReporterFlorian Dold Assigned ToBart Polot  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.10.0Fixed in Version0.10.0 
Summary0002897: returning GNUNET_SYSERR from mesh2 message handler does not work as expected
DescriptionThe documentation of GNUNET_MESH_MessageCallback specifies

@return GNUNET_OK to keep the connection open,
        GNUNET_SYSERR to close it (signal serious error).

This suggests that the _tunnel_ is closed.

However, returning GNUNET_SYSERR from the callback closes the whole mesh handle,
and therefore all other tunnels are destroyed.

The reason for this is probably the core api, where it makes sense to close the connection to core itself, as core p2p communication is connection-less.

Thus, either the documentation should be changed to reflect the somewhat surprising behavior, or the semantics should be changed to behave more like the service api (just disconnect the tunnel).

Alternatively, the whole return value could be dropped, as GNUNET_MESH_tunnel_destroy already allows us to destroy tunnels.
TagsNo tags attached.

Activities

Bart Polot

2013-06-19 02:12

reporter   ~0007154

I agree. Changed to closing tunnel in r27471. Please close it if now the behavior is as expected.

Florian Dold

2013-06-26 02:45

developer   ~0007187

Works as expected now.

Issue History

Date Modified Username Field Change
2013-06-19 00:04 Florian Dold New Issue
2013-06-19 00:04 Florian Dold Status new => assigned
2013-06-19 00:04 Florian Dold Assigned To => Bart Polot
2013-06-19 02:12 Bart Polot Note Added: 0007154
2013-06-19 02:12 Bart Polot Status assigned => feedback
2013-06-26 02:45 Florian Dold Note Added: 0007187
2013-06-26 02:45 Florian Dold Status feedback => assigned
2013-06-26 02:45 Florian Dold Status assigned => resolved
2013-06-26 02:45 Florian Dold Resolution open => fixed
2013-06-26 09:51 Christian Grothoff Product Version => Git master
2013-06-26 09:51 Christian Grothoff Fixed in Version => 0.10.0
2013-06-26 09:51 Christian Grothoff Target Version => 0.10.0
2013-12-24 20:54 Christian Grothoff Status resolved => closed
2014-05-09 18:34 Christian Grothoff Category mesh service => cadet service