View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003380||GNUnet||NAT traversal library||public||2014-04-14 09:35||2018-06-07 00:25|
|Reporter||Matthias Wachs||Assigned To||cfuchs|
|Product Version||Git master|
|Target Version||0.11.0pre66||Fixed in Version||0.11.0pre66|
|Summary||0003380: NAT test should provide more information about results and errors|
|Description||The 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
|Tags||No tags attached.|
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!
|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|