GNUnet  0.11.x
abd.h
Go to the documentation of this file.
1 /*
2  This file is part of GNUnet
3  Copyright (C) 2012-2013 GNUnet e.V.
4 
5  GNUnet is free software: you can redistribute it and/or modify it
6  under the terms of the GNU Affero General Public License as published
7  by the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  GNUnet is distributed in the hope that it will be useful, but
11  WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Affero General Public License for more details.
14 
15  You should have received a copy of the GNU Affero General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 
18  SPDX-License-Identifier: AGPL3.0-or-later
19  */
25 #ifndef ABD_H
26 #define ABD_H
27 
28 #include "gnunet_abd_service.h"
29 
31 
36 {
41 
46 
51 
56 
60  uint16_t resolution_algo;
61 
65  uint32_t id GNUNET_PACKED;
66 
67  /* Followed by the zero-terminated attribute */
68 };
69 
70 
75 {
80 
85 
90 
94  uint32_t d_count;
95 
100 
104  uint16_t resolution_algo;
105 
109  uint32_t id GNUNET_PACKED;
110 
111  /* Followed by the zero-terminated attribute and credentials to look up */
112 };
113 
114 
119 {
124 
128  uint32_t id GNUNET_PACKED;
129 
134 
139 
144 
145  /* followed by ad_count GNUNET_ABD_RecordData structs*/
146 };
147 
152 {
157 
161  uint32_t id GNUNET_PACKED;
162 
164 
165  uint32_t size GNUNET_PACKED;
166 };
167 
169 {
174 
179 };
180 
181 
183 {
188 
193 
198 
203 };
204 
205 
207 {
208 
213 
218 
223 
228 
233 
238 
242 };
243 
245 {
246 
251 
256 
261 
266 
271 
276 
281 
285 };
286 
287 
289 
290 #endif
#define GNUNET_NETWORK_STRUCT_BEGIN
Define as empty, GNUNET_PACKED should suffice, but this won't work on W32.
#define GNUNET_NETWORK_STRUCT_END
Define as empty, GNUNET_PACKED should suffice, but this won't work on W32;.
#define GNUNET_PACKED
gcc-ism to get packed structs.
struct GNUNET_CRYPTO_EcdsaPublicKey subject_key
Subject key.
Definition: abd.h:192
uint32_t issuer_attribute_len
Issuer attributes.
Definition: abd.h:197
uint32_t subject_attribute_len
Subject attributes.
Definition: abd.h:202
struct GNUNET_CRYPTO_EcdsaPublicKey issuer_key
Issuer key.
Definition: abd.h:187
Message from client to Credential service to collect credentials.
Definition: abd.h:36
struct GNUNET_CRYPTO_EcdsaPublicKey issuer_key
Trust anchor.
Definition: abd.h:50
uint16_t resolution_algo
Direction of the resolution algo.
Definition: abd.h:60
uint16_t issuer_attribute_len
Length of the issuer attribute.
Definition: abd.h:55
struct GNUNET_CRYPTO_EcdsaPrivateKey subject_key
Subject public key.
Definition: abd.h:45
struct GNUNET_MessageHeader header
Header of type GNUNET_MESSAGE_TYPE_ABD_VERIFY.
Definition: abd.h:40
struct GNUNET_CRYPTO_EcdsaPublicKey issuer_key
Public key of the issuer.
Definition: abd.h:222
uint64_t expiration
Expiration time of this credential.
Definition: abd.h:232
struct GNUNET_CRYPTO_EcdsaSignature signature
The signature for this credential by the issuer.
Definition: abd.h:212
struct GNUNET_CRYPTO_EcdsaPublicKey subject_key
Public key of the subject this credential was issued to.
Definition: abd.h:227
uint32_t issuer_attribute_len
Issuer attribute length.
Definition: abd.h:237
struct GNUNET_CRYPTO_EccSignaturePurpose purpose
Signature meta.
Definition: abd.h:217
struct GNUNET_CRYPTO_EcdsaPublicKey subject_key
Public key of the subject this credential was issued to.
Definition: abd.h:265
uint32_t issuer_attribute_len
Issuer subject attribute length.
Definition: abd.h:275
struct GNUNET_CRYPTO_EcdsaPublicKey issuer_key
Public key of the issuer.
Definition: abd.h:260
struct GNUNET_CRYPTO_EccSignaturePurpose purpose
Signature meta.
Definition: abd.h:250
uint64_t expiration
Expiration time of this credential.
Definition: abd.h:270
uint32_t subject_attribute_len
Issuer attribute length.
Definition: abd.h:280
struct GNUNET_CRYPTO_EcdsaSignature signature
The signature for this credential by the issuer.
Definition: abd.h:255
Message from ABD service to client: new results.
Definition: abd.h:152
struct GNUNET_MessageHeader header
Header of type GNUNET_MESSAGE_TYPE_ABD_INTERMEDIATE_RESULT.
Definition: abd.h:156
Message from ABD service to client: new results.
Definition: abd.h:119
uint32_t del_found
Indicates if credential has been found at all.
Definition: abd.h:133
struct GNUNET_MessageHeader header
Header of type GNUNET_MESSAGE_TYPE_ABD_VERIFY_RESULT.
Definition: abd.h:123
uint32_t d_count
The number of delegations in the response.
Definition: abd.h:138
uint32_t c_count
The number of credentials in the response.
Definition: abd.h:143
struct GNUNET_CRYPTO_EcdsaPublicKey subject_key
Subject key.
Definition: abd.h:173
uint32_t subject_attribute_len
Subject attributes.
Definition: abd.h:178
header of what an ECC signature signs this must be followed by "size - 8" bytes of the actual signed ...
Private ECC key encoded for transmission.
Public ECC key (always for Curve25519) encoded in a format suitable for network transmission and ECDS...
an ECC signature using ECDSA
Header for all communications.
Message from client to Credential service to verify attributes.
Definition: abd.h:75
struct GNUNET_CRYPTO_EcdsaPublicKey subject_key
Subject public key.
Definition: abd.h:84
struct GNUNET_CRYPTO_EcdsaPublicKey issuer_key
Trust anchor.
Definition: abd.h:89
struct GNUNET_MessageHeader header
Header of type GNUNET_MESSAGE_TYPE_ABD_VERIFY.
Definition: abd.h:79
uint16_t resolution_algo
Direction of the resolution algo.
Definition: abd.h:104
uint32_t d_count
Number of delegates.
Definition: abd.h:94
uint16_t issuer_attribute_len
Length of the issuer attribute.
Definition: abd.h:99