'(null)' session 0x497198 for peer `IIH1' in state `S_NOT_CONNECTED'",
so i wrote this.
- From what i see in the logs, '(null)'s are mostly caused by 0-byte
long addresses. I'm not sure whether it is a bug, or a feature (but
then, why would ATS tell us to switch to a 0-byte long address?).
CG: for inbound connections, ATS tells us to switch to a 0-byte long address
(since there is no address) but at the same time gives us a 'struct Session'
to use as well. So 0-byte addresses really mean 'inbound' connections.
GST_plugins_a2s (const struct GNUNET_HELLO_Address *address)
{
struct GNUNET_TRANSPORT_PluginFunctions *api;
+ static char unable_to_show[1024];
if (address == NULL)
return "<inbound>";
api = GST_plugins_find (address->transport_name);
if ((api == NULL) || (address->address_length == 0) || (address->address == NULL))
- return NULL;
+ {
+ snprintf (unable_to_show, 1024,
+ "<unable to stringify %u-byte long address 0x%x used by %s transport>",
+ address->address_length, address, address->transport_name);
+ unable_to_show[1023] = '\0';
+ return unable_to_show;
+ }
return api->address_to_string (NULL, address->address, address->address_length);
}