From: Martin Schanzenbach Date: Sat, 16 Jun 2012 10:47:23 +0000 (+0000) Subject: -add vpn record type to namestore X-Git-Tag: initial-import-from-subversion-38251~13029 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=441e9af30c003a458227f106a75b98d3b1463be0;p=oweals%2Fgnunet.git -add vpn record type to namestore --- 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); }