From 441e9af30c003a458227f106a75b98d3b1463be0 Mon Sep 17 00:00:00 2001 From: Martin Schanzenbach Date: Sat, 16 Jun 2012 10:47:23 +0000 Subject: [PATCH] -add vpn record type to namestore --- src/include/gnunet_namestore_service.h | 5 +++++ src/namestore/namestore_common.c | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/include/gnunet_namestore_service.h b/src/include/gnunet_namestore_service.h index a484601a5..730f95112 100644 --- a/src/include/gnunet_namestore_service.h +++ b/src/include/gnunet_namestore_service.h @@ -63,6 +63,11 @@ extern "C" */ #define GNUNET_NAMESTORE_TYPE_LEHO 65538 +/** + * Record type for VPN resolution + */ +#define GNUNET_NAMESTORE_TYPE_VPN 65539 + /** * Entry in the queue. */ diff --git a/src/namestore/namestore_common.c b/src/namestore/namestore_common.c index 95f6364a1..4ffeaebcf 100644 --- a/src/namestore/namestore_common.c +++ b/src/namestore/namestore_common.c @@ -376,6 +376,8 @@ GNUNET_NAMESTORE_value_to_string (uint32_t type, return GNUNET_strndup (data, data_size); case GNUNET_NAMESTORE_TYPE_LEHO: return GNUNET_strndup (data, data_size); + case GNUNET_NAMESTORE_TYPE_VPN: + return GNUNET_strndup (data, data_size); default: GNUNET_break (0); } @@ -414,6 +416,9 @@ GNUNET_NAMESTORE_string_to_value (uint32_t type, uint32_t soa_retry; uint32_t soa_expire; uint32_t soa_min; + struct GNUNET_HashCode hash; + struct GNUNET_CRYPTO_HashAsciiEncoded s_peer, s_serv; + int af, proto; switch (type) { @@ -495,6 +500,20 @@ GNUNET_NAMESTORE_string_to_value (uint32_t type, *data = GNUNET_strdup (s); *data_size = strlen (s); return GNUNET_OK; + case GNUNET_NAMESTORE_TYPE_VPN: + if (4 != SSCANF (s,"%d:%d:%s:%s", + &af, &proto, (char*)&s_peer, (char*)&s_serv)) + { + return GNUNET_SYSERR; + } + if ((GNUNET_OK != GNUNET_CRYPTO_hash_from_string ((char*)&s_peer, &hash)) || + (GNUNET_OK != GNUNET_CRYPTO_hash_from_string ((char*)&s_serv, &hash))) + { + return GNUNET_SYSERR; + } + *data = GNUNET_strdup (s); + *data_size = strlen (s); + return GNUNET_OK; default: GNUNET_break (0); } -- 2.25.1