[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r20709 - gnunet/src/namestore
From: |
gnunet |
Subject: |
[GNUnet-SVN] r20709 - gnunet/src/namestore |
Date: |
Fri, 23 Mar 2012 11:17:40 +0100 |
Author: schanzen
Date: 2012-03-23 11:17:40 +0100 (Fri, 23 Mar 2012)
New Revision: 20709
Modified:
gnunet/src/namestore/namestore_common.c
Log:
-MX
Modified: gnunet/src/namestore/namestore_common.c
===================================================================
--- gnunet/src/namestore/namestore_common.c 2012-03-23 10:13:27 UTC (rev
20708)
+++ gnunet/src/namestore/namestore_common.c 2012-03-23 10:17:40 UTC (rev
20709)
@@ -309,6 +309,8 @@
{
char tmp[INET6_ADDRSTRLEN];
struct GNUNET_CRYPTO_ShortHashAsciiEncoded enc;
+ uint16_t mx_pref;
+ char* result;
switch (type)
{
@@ -329,13 +331,14 @@
// FIXME
return NULL;
case GNUNET_DNSPARSER_TYPE_PTR:
- GNUNET_break (0);
- // FIXME
- return NULL;
+ return GNUNET_strndup (data, data_size);
case GNUNET_DNSPARSER_TYPE_MX:
- GNUNET_break (0);
- // FIXME
- return NULL;
+ mx_pref = ntohs(*((uint16_t*)data));
+ if (GNUNET_asprintf(&result, "%hu,%s", mx_pref, data+sizeof(uint16_t))
+ != 0)
+ return result;
+ else
+ return NULL;
case GNUNET_DNSPARSER_TYPE_TXT:
return GNUNET_strndup (data, data_size);
case GNUNET_DNSPARSER_TYPE_AAAA:
@@ -379,6 +382,9 @@
struct in_addr value_a;
struct in6_addr value_aaaa;
struct GNUNET_CRYPTO_ShortHashCode pkey;
+ uint16_t mx_pref;
+ uint16_t mx_pref_n;
+ char result[253];
switch (type)
{
@@ -408,9 +414,14 @@
// FIXME
return GNUNET_SYSERR;
case GNUNET_DNSPARSER_TYPE_MX:
- GNUNET_break (0);
- // FIXME
- return GNUNET_SYSERR;
+ if (SSCANF(s, "%hu,%s", &mx_pref, result) != 2)
+ return GNUNET_SYSERR;
+ *data_size = sizeof (uint16_t)+strlen(result)+1;
+ *data = GNUNET_malloc (*data_size);
+ mx_pref_n = htons(mx_pref);
+ memcpy(*data, &mx_pref_n, sizeof (uint16_t));
+ strcpy((*data)+sizeof (uint16_t), result);
+ return GNUNET_OK;
case GNUNET_DNSPARSER_TYPE_TXT:
*data = GNUNET_strdup (s);
*data_size = strlen (s);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r20709 - gnunet/src/namestore,
gnunet <=