|
|
- From 53969c9d9a95234ee845fa0542a330f788ad2a2c Mon Sep 17 00:00:00 2001
- From: Daniel Golle <daniel@makrotopia.org>
- Date: Fri, 5 Apr 2019 14:41:44 +0200
- Subject: [PATCH] include credential_*.h in dist
-
- ---
- src/credential/Makefile.am | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
- diff --git a/src/credential/Makefile.am b/src/credential/Makefile.am
- index aaac0d2c2..f2550eca6 100644
- --- a/src/credential/Makefile.am
- +++ b/src/credential/Makefile.am
- @@ -70,7 +70,9 @@ gnunet_service_credential_LDADD = \
- libgnunetcredential_la_SOURCES = \
- credential_api.c credential.h \
- credential_serialization.c \
- - credential_misc.c
- + credential_serialization.h \
- + credential_misc.c \
- + credential_misc.h
- libgnunetcredential_la_LIBADD = \
- $(top_builddir)/src/util/libgnunetutil.la $(XLIB)
- libgnunetcredential_la_LDFLAGS = \
- --
- 2.21.0
-
- --- /dev/null 2019-04-03 22:31:17.799489053 +0200
- +++ b/src/credential/credential_serialization.h 2019-01-28 21:42:05.304419524 +0100
- @@ -0,0 +1,159 @@
- +/*
- + This file is part of GNUnet.
- + Copyright (C) 2009-2013, 2016 GNUnet e.V.
- +
- + 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
- + 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 <http://www.gnu.org/licenses/>.
- +
- + SPDX-License-Identifier: AGPL3.0-or-later
- +*/
- +
- +
- +/**
- + * @file credential/credential_serialization.h
- + * @brief API to serialize and deserialize delegation chains
- + * and credentials
- + * @author Martin Schanzenbach
- + */
- +#ifndef CREDENTIAL_SERIALIZATION_H
- +#define CREDENTIAL_SERIALIZATION_H
- +
- +#include "platform.h"
- +#include "gnunet_util_lib.h"
- +#include "gnunet_constants.h"
- +#include "gnunet_credential_service.h"
- +
- +/**
- + * Calculate how many bytes we will need to serialize
- + * the given delegation record
- + *
- + * @param ds_count number of delegation chain entries
- + * @param dsr array of #GNUNET_CREDENTIAL_Delegation
- + * @return the required size to serialize
- + */
- +size_t
- +GNUNET_CREDENTIAL_delegation_set_get_size (unsigned int ds_count,
- + const struct GNUNET_CREDENTIAL_DelegationSet *dsr);
- +
- +/**
- + * Serizalize the given delegation record entries
- + *
- + * @param d_count number of delegation chain entries
- + * @param dsr array of #GNUNET_CREDENTIAL_Delegation
- + * @param dest_size size of the destination
- + * @param dest where to store the result
- + * @return the size of the data, -1 on failure
- + */
- +ssize_t
- +GNUNET_CREDENTIAL_delegation_set_serialize (unsigned int d_count,
- + const struct GNUNET_CREDENTIAL_DelegationSet *dsr,
- + size_t dest_size,
- + char *dest);
- +
- +
- +/**
- + * Deserialize the given destination
- + *
- + * @param len size of the serialized delegation recird
- + * @param src the serialized data
- + * @param d_count the number of delegation chain entries
- + * @param dsr where to put the delegation chain entries
- + * @return #GNUNET_OK on success, #GNUNET_SYSERR on error
- + */
- +int
- +GNUNET_CREDENTIAL_delegation_set_deserialize (size_t len,
- + const char *src,
- + unsigned int d_count,
- + struct GNUNET_CREDENTIAL_DelegationSet *dsr);
- +
- + /**
- + * Calculate how many bytes we will need to serialize
- + * the given delegation chain and credential
- + *
- + * @param d_count number of delegation chain entries
- + * @param dd array of #GNUNET_CREDENTIAL_Delegation
- + * @param c_count number of credential entries
- + * @param cd a #GNUNET_CREDENTIAL_Credential
- + * @return the required size to serialize
- + */
- + size_t
- + GNUNET_CREDENTIAL_delegation_chain_get_size (unsigned int d_count,
- + const struct GNUNET_CREDENTIAL_Delegation *dd,
- + unsigned int c_count,
- + const struct GNUNET_CREDENTIAL_Credential *cd);
- +
- + /**
- + * Serizalize the given delegation chain entries and credential
- + *
- + * @param d_count number of delegation chain entries
- + * @param dd array of #GNUNET_CREDENTIAL_Delegation
- + * @param c_count number of credential entries
- + * @param cd a #GNUNET_CREDENTIAL_Credential
- + * @param dest_size size of the destination
- + * @param dest where to store the result
- + * @return the size of the data, -1 on failure
- + */
- + ssize_t
- + GNUNET_CREDENTIAL_delegation_chain_serialize (unsigned int d_count,
- + const struct GNUNET_CREDENTIAL_Delegation *dd,
- + unsigned int c_count,
- + const struct GNUNET_CREDENTIAL_Credential *cd,
- + size_t dest_size,
- + char *dest);
- +
- +
- + /**
- + * Deserialize the given destination
- + *
- + * @param len size of the serialized delegation chain and cred
- + * @param src the serialized data
- + * @param d_count the number of delegation chain entries
- + * @param dd where to put the delegation chain entries
- + * @param c_count number of credential entries
- + * @param cd where to put the credential data
- + * @return #GNUNET_OK on success, #GNUNET_SYSERR on error
- + */
- + int
- + GNUNET_CREDENTIAL_delegation_chain_deserialize (size_t len,
- + const char *src,
- + unsigned int d_count,
- + struct GNUNET_CREDENTIAL_Delegation *dd,
- + unsigned int c_count,
- + struct GNUNET_CREDENTIAL_Credential *cd);
- + size_t
- + GNUNET_CREDENTIAL_credentials_get_size (unsigned int c_count,
- + const struct GNUNET_CREDENTIAL_Credential *cd);
- +
- +ssize_t
- +GNUNET_CREDENTIAL_credentials_serialize (unsigned int c_count,
- + const struct GNUNET_CREDENTIAL_Credential *cd,
- + size_t dest_size,
- + char *dest);
- +
- +
- +int
- +GNUNET_CREDENTIAL_credentials_deserialize (size_t len,
- + const char *src,
- + unsigned int c_count,
- + struct GNUNET_CREDENTIAL_Credential *cd);
- +
- +
- +int
- +GNUNET_CREDENTIAL_credential_serialize (struct GNUNET_CREDENTIAL_Credential *cred,
- + char **data);
- +
- +struct GNUNET_CREDENTIAL_Credential*
- +GNUNET_CREDENTIAL_credential_deserialize (const char* data,
- + size_t data_size);
- +#endif
- +/* end of credential_serialization.h */
- --- /dev/null 2019-04-03 22:31:17.799489053 +0200
- +++ b/src/credential/credential_misc.h 2019-01-28 21:42:05.304419524 +0100
- @@ -0,0 +1,35 @@
- +/*
- + This file is part of GNUnet
- + Copyright (C) 2012-2013 GNUnet e.V.
- +
- + 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
- + 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 <http://www.gnu.org/licenses/>.
- +
- + SPDX-License-Identifier: AGPL3.0-or-later
- + */
- +/**
- + * @file credential/credential_misc.h
- + * @brief Credential helper functions
- + */
- +#ifndef CREDENTIAL_MISC_H
- +#define CREDENTIAL_MISC_H
- +
- +
- +
- +char*
- +GNUNET_CREDENTIAL_credential_to_string (const struct GNUNET_CREDENTIAL_Credential *cred);
- +
- +struct GNUNET_CREDENTIAL_Credential*
- +GNUNET_CREDENTIAL_credential_from_string (const char* str);
- +
- +#endif
|