+ case GNUNET_DNSPARSER_TYPE_PTR:
+ format = record->data.hostname;
+ break;
+ case GNUNET_DNSPARSER_TYPE_SOA:
+ if (NULL == record->data.soa)
+ format = "<invalid>";
+ else
+ {
+ GNUNET_asprintf (&tmp,
+ "origin: %s, mail: %s, serial = %u, refresh = %u s, retry = %u s, expire = %u s, minimum = %u s",
+ record->data.soa->mname,
+ record->data.soa->rname,
+ (unsigned int) record->data.soa->serial,
+ (unsigned int) record->data.soa->refresh,
+ (unsigned int) record->data.soa->retry,
+ (unsigned int) record->data.soa->expire,
+ (unsigned int) record->data.soa->minimum_ttl);
+ format = tmp;
+ }
+ break;
+ case GNUNET_DNSPARSER_TYPE_MX:
+ if (record->data.mx == NULL)
+ format = "<invalid>";
+ else
+ {
+ GNUNET_asprintf (&tmp,
+ "%u: %s",
+ record->data.mx->preference,
+ record->data.mx->mxhost);
+ format = tmp;
+ }
+ break;
+ case GNUNET_DNSPARSER_TYPE_SRV:
+ if (NULL == record->data.srv)
+ format = "<invalid>";
+ else
+ {
+ GNUNET_asprintf (&tmp,
+ "priority %u, weight = %s, port = %u, target = %s",
+ (unsigned int) record->data.srv->priority,
+ (unsigned int) record->data.srv->weight,
+ (unsigned int) record->data.srv->port,
+ record->data.srv->target);
+ format = tmp;
+ }
+ break;
+ case GNUNET_DNSPARSER_TYPE_TXT:
+ GNUNET_asprintf (&tmp,
+ "%.*s",
+ (unsigned int) record->data.raw.data_len,
+ record->data.raw.data);
+ format = tmp;
+ break;