X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fgns%2Fplugin_gnsrecord_gns.c;h=c99f39616a47ba1088933269a37f51a0b8ee80e6;hb=52b006735e61d184281b56094758ecdc7355ed84;hp=5d611e19e4ddd72afcd4855ae96379a7c11b7e4e;hpb=ab281595eeb270120f89ec954a572f4fcf78fc53;p=oweals%2Fgnunet.git diff --git a/src/gns/plugin_gnsrecord_gns.c b/src/gns/plugin_gnsrecord_gns.c index 5d611e19e..c99f39616 100644 --- a/src/gns/plugin_gnsrecord_gns.c +++ b/src/gns/plugin_gnsrecord_gns.c @@ -2,20 +2,18 @@ This file is part of GNUnet Copyright (C) 2013, 2014, 2016 GNUnet e.V. - GNUnet is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published - by the Free Software Foundation; either version 3, or (at your - option) any later version. + GNUnet is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, + or (at your option) any later version. GNUnet is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with GNUnet; see the file COPYING. If not, write to the - Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. + Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . */ /** @@ -102,9 +100,9 @@ gns_value_to_string (void *cls, ('\0' != cdata[data_size - 1]) ) return NULL; /* malformed */ /* need to memcpy for alignment */ - memcpy (&vpn, - data, - sizeof (vpn)); + GNUNET_memcpy (&vpn, + data, + sizeof (vpn)); GNUNET_asprintf (&vpn_str, "%u %s %s", (unsigned int) ntohs (vpn.proto), @@ -122,9 +120,9 @@ gns_value_to_string (void *cls, cdata = data; if (data_size < sizeof (struct GNUNET_GNSRECORD_BoxRecord)) return NULL; /* malformed */ - memcpy (&box, - data, - sizeof (box)); + GNUNET_memcpy (&box, + data, + sizeof (box)); rt = ntohl (box.record_type); ival = GNUNET_GNSRECORD_value_to_string (rt, &cdata[sizeof (box)], @@ -140,30 +138,6 @@ gns_value_to_string (void *cls, GNUNET_free (ival); return box_str; } - case GNUNET_GNSRECORD_TYPE_REVERSE: - { - struct GNUNET_GNSRECORD_ReverseRecord rev; - char *rev_str; - char *pkey_str; - - if (data_size < sizeof (struct GNUNET_GNSRECORD_ReverseRecord)) - return NULL; /* malformed */ - - memcpy (&rev, - data, - sizeof (rev)); - cdata = data; - pkey_str = GNUNET_CRYPTO_ecdsa_public_key_to_string (&rev.pkey); - - GNUNET_asprintf (&rev_str, - "%s %s %"SCNu64, - &cdata[sizeof (rev)], - pkey_str, - rev.expiration.abs_value_us); - GNUNET_free (pkey_str); - return rev_str; - - } default: return NULL; } @@ -197,7 +171,9 @@ gns_string_to_value (void *cls, case GNUNET_GNSRECORD_TYPE_PKEY: if (GNUNET_OK != - GNUNET_CRYPTO_ecdsa_public_key_from_string (s, strlen (s), &pkey)) + GNUNET_CRYPTO_ecdsa_public_key_from_string (s, + strlen (s), + &pkey)) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Unable to parse PKEY record `%s'\n"), @@ -205,7 +181,9 @@ gns_string_to_value (void *cls, return GNUNET_SYSERR; } *data = GNUNET_new (struct GNUNET_CRYPTO_EcdsaPublicKey); - GNUNET_memcpy (*data, &pkey, sizeof (pkey)); + GNUNET_memcpy (*data, + &pkey, + sizeof (pkey)); *data_size = sizeof (struct GNUNET_CRYPTO_EcdsaPublicKey); return GNUNET_OK; @@ -258,7 +236,9 @@ gns_string_to_value (void *cls, GNUNET_free (cpy); *data_size = off; *data = GNUNET_malloc (off); - GNUNET_memcpy (*data, nsbuf, off); + GNUNET_memcpy (*data, + nsbuf, + off); return GNUNET_OK; } case GNUNET_GNSRECORD_TYPE_VPN: @@ -335,48 +315,6 @@ gns_string_to_value (void *cls, GNUNET_free (bval); return GNUNET_OK; } - case GNUNET_GNSRECORD_TYPE_REVERSE: - { - struct GNUNET_GNSRECORD_ReverseRecord *rev; - char known_by[253 + 1]; - struct GNUNET_TIME_Absolute expiration; - - /* TODO: From crypto_ecc.c - * Why is this not a constant??? - */ - size_t enclen = (sizeof (struct GNUNET_CRYPTO_EcdsaPublicKey)) * 8; - if (enclen % 5 > 0) - enclen += 5 - enclen % 5; - enclen /= 5; /* 260/5 = 52 */ - char pkey_str[enclen + 1]; - - if (3 != SSCANF (s, - "%253s %52s %"SCNu64, - known_by, - pkey_str, - &expiration.abs_value_us)) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - _("Unable to parse REVERSE record string `%s'\n"), - s); - return GNUNET_SYSERR; - } - *data_size = sizeof (struct GNUNET_GNSRECORD_ReverseRecord) + strlen (known_by) + 1; - *data = rev = GNUNET_malloc (*data_size); - if (GNUNET_OK != - GNUNET_CRYPTO_ecdsa_public_key_from_string (pkey_str, - strlen (pkey_str), - &rev->pkey)) - { - GNUNET_free (rev); - return GNUNET_SYSERR; - } - rev->expiration = expiration; - GNUNET_memcpy (&rev[1], - known_by, - strlen (known_by)); - return GNUNET_OK; - } default: return GNUNET_SYSERR; } @@ -397,7 +335,6 @@ static struct { { "VPN", GNUNET_GNSRECORD_TYPE_VPN }, { "GNS2DNS", GNUNET_GNSRECORD_TYPE_GNS2DNS }, { "BOX", GNUNET_GNSRECORD_TYPE_BOX }, - { "REVERSE", GNUNET_GNSRECORD_TYPE_REVERSE }, { NULL, UINT32_MAX } };