View Issue Details

IDProjectCategoryView StatusLast Update
0003380GNUnetNAT traversal librarypublic2018-06-07 00:25
ReporterMatthias Wachs Assigned Tocfuchs  
PriorityhighSeverityfeatureReproducibilityalways
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.11.0pre66Fixed in Version0.11.0pre66 
Summary0003380: NAT test should provide more information about results and errors
DescriptionThe nat/nat_test.c:GNUNET_NAT_test_start() function use by gnunet-transport and gnunet-setup atm does not support to return additional helpful messages.
It just fails or succeeds ... for the gui this is resulting in a green check mark (somehow ok) and a red fail mark (not helpful at all) ...

So returning additional information is required about the result
TagsNo tags attached.

Relationships

parent of 0002731 confirmed gnunet-gtk "Test configuration" Button does not show error message 
Not all the children of this issue are yet resolved or closed.

Activities

cfuchs

2014-07-09 17:03

developer   ~0008518

added lots of bug reporting functionality.

in more details:
- nat-auto and nat-test now properly carry around a status code

- there is a statuscode2string API function provided by nat which can convert said error codes to strings (returns const char *)

- reworked some logics in auto and test which were kind of scrambled (convoluted conditionals with 10 conditions checked in sequence). these have been converted into more code, to provide better readability

- error reporting now always takes place through the callback tasks, where applicable. previously status codes were either reported to the caller synchronously, asynchronously through the callback task, or not at all. Also, sometimes status information was only valid in certain cases (eg: if some other parameter != NULL)

- the NAT-port mapping test functionality no longer requires the caller/user to handle a timeout, but instead the caller is supposed to hand over a timeout value (or infinity for none), which will auto-terminate the nat test after a given time. as the timeout handling was broken in the previous releases (should have left stale tasks and/or double-frees), the impact on existing code should be zero. Though, beware of this changed behavior.

- the status strings returned need some more love, the are quite rought but should at least give a somewhat better idea of what went wrong

- NAT_register/unregister still does not do error handling, but grothoff, mwachs and me decided to rely on nat_auto and nat_test, which are supposed to check all logics that could fail in register. Thou shall executeth the NAT-test self diagnostics ''re regist'ring NAT!

Issue History

Date Modified Username Field Change
2014-04-14 09:35 Matthias Wachs New Issue
2014-04-14 09:35 Matthias Wachs Status new => assigned
2014-04-14 09:35 Matthias Wachs Assigned To => cfuchs
2014-04-14 09:36 Matthias Wachs Relationship added parent of 0002731
2014-07-09 17:03 cfuchs Note Added: 0008518
2014-07-09 17:03 cfuchs Status assigned => resolved
2014-07-09 17:03 cfuchs Fixed in Version => Git master
2014-07-09 17:03 cfuchs Resolution open => fixed
2014-07-14 23:20 Christian Grothoff Fixed in Version Git master => 0.11.0pre66
2014-07-14 23:20 Christian Grothoff Target Version => 0.11.0pre66
2018-06-07 00:25 Christian Grothoff Status resolved => closed