aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Schanzenbach <mschanzenbach@posteo.de>2021-02-28 11:15:55 +0100
committerMartin Schanzenbach <mschanzenbach@posteo.de>2021-02-28 11:15:55 +0100
commiteb8ca760c1ab5036e71e698ab1357d4bd1f3487a (patch)
treef1132a1d4830d8fd924ed3465a2202c1bb589fb5 /src
parentd3f53a314973f2b0d46a5f86d5f0dd73610eeec2 (diff)
downloadgnunet-eb8ca760c1ab5036e71e698ab1357d4bd1f3487a.tar.gz
gnunet-eb8ca760c1ab5036e71e698ab1357d4bd1f3487a.zip
GANA: Use GANA generated header for GNS record types. Update handbook
Diffstat (limited to 'src')
-rw-r--r--src/include/Makefile.am1
-rw-r--r--src/include/gnu_name_system_record_types.h129
-rw-r--r--src/include/gnunet_gnsrecord_lib.h104
-rw-r--r--src/reclaim/plugin_gnsrecord_reclaim.c3
4 files changed, 132 insertions, 105 deletions
diff --git a/src/include/Makefile.am b/src/include/Makefile.am
index 5569c87ed..a4d7b985d 100644
--- a/src/include/Makefile.am
+++ b/src/include/Makefile.am
@@ -53,6 +53,7 @@ gnunetinclude_HEADERS = \
53 gnunet_gnsrecord_lib.h \ 53 gnunet_gnsrecord_lib.h \
54 gnunet_gnsrecord_json_lib.h \ 54 gnunet_gnsrecord_json_lib.h \
55 gnunet_gnsrecord_plugin.h \ 55 gnunet_gnsrecord_plugin.h \
56 gnu_name_system_record_types.h \
56 gnunet_hello_lib.h \ 57 gnunet_hello_lib.h \
57 gnunet_helper_lib.h \ 58 gnunet_helper_lib.h \
58 gnunet_identity_service.h \ 59 gnunet_identity_service.h \
diff --git a/src/include/gnu_name_system_record_types.h b/src/include/gnu_name_system_record_types.h
new file mode 100644
index 000000000..1af49c6e4
--- /dev/null
+++ b/src/include/gnu_name_system_record_types.h
@@ -0,0 +1,129 @@
1/*
2 This file is part of GNUnet
3 Copyright (C) 2012-2020 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 */
20#ifndef GNU_NAME_SYSTEM_RECORD_TYPES_H
21#define GNU_NAME_SYSTEM_RECORD_TYPES_H
22
23#ifdef __cplusplus
24extern "C" {
25#if 0 /* keep Emacsens' auto-indent happy */
26}
27#endif
28#endif
29
30
31/**
32 * GNS zone transfer
33 */
34#define GNUNET_GNSRECORD_TYPE_PKEY 65536
35
36/**
37 * GNS nick names
38 */
39#define GNUNET_GNSRECORD_TYPE_NICK 65537
40
41/**
42 * legacy hostnames
43 */
44#define GNUNET_GNSRECORD_TYPE_LEHO 65538
45
46/**
47 * VPN resolution
48 */
49#define GNUNET_GNSRECORD_TYPE_VPN 65539
50
51/**
52 * Delegation to DNS
53 */
54#define GNUNET_GNSRECORD_TYPE_GNS2DNS 65540
55
56/**
57 * Boxed records (see TLSA/SRV handling in GNS)
58 */
59#define GNUNET_GNSRECORD_TYPE_BOX 65541
60
61/**
62 * social place for SecuShare
63 */
64#define GNUNET_GNSRECORD_TYPE_PLACE 65542
65
66/**
67 * Endpoint for conversation
68 */
69#define GNUNET_GNSRECORD_TYPE_PHONE 65543
70
71/**
72 * identity attribute
73 */
74#define GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE 65544
75
76/**
77 * local ticket reference
78 */
79#define GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET 65545
80
81/**
82 * For ABD policies
83 */
84#define GNUNET_GNSRECORD_TYPE_DELEGATE 65548
85
86/**
87 * For ABD reverse lookups
88 */
89#define GNUNET_GNSRECORD_TYPE_ATTRIBUTE 65549
90
91/**
92 * for reclaim records
93 */
94#define GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF 65550
95
96/**
97 * For reclaim OIDC client names.
98 */
99#define GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_CLIENT 65552
100
101/**
102 * Used reclaimID OIDC client redirect URIs.
103 */
104#define GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_REDIRECT 65553
105
106/**
107 * Record type for an attribute attestation (e.g. JWT).
108 */
109#define GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL 65554
110
111/**
112 * Record type for a presentation of a credential.
113 */
114#define GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION 65555
115
116/**
117 * Record type for EDKEY zone delegations.
118 */
119#define GNUNET_GNSRECORD_TYPE_EDKEY 65556
120
121
122#if 0 /* keep Emacsens' auto-indent happy */
123{
124#endif
125#ifdef __cplusplus
126}
127#endif
128
129#endif
diff --git a/src/include/gnunet_gnsrecord_lib.h b/src/include/gnunet_gnsrecord_lib.h
index 0bf2ceed7..aff56146e 100644
--- a/src/include/gnunet_gnsrecord_lib.h
+++ b/src/include/gnunet_gnsrecord_lib.h
@@ -55,109 +55,9 @@ extern "C" {
55#define GNUNET_GNSRECORD_TYPE_ANY 0 55#define GNUNET_GNSRECORD_TYPE_ANY 0
56 56
57/** 57/**
58 * Record type for GNS zone transfer ("PKEY"). 58 * Include the record types generated from GANA
59 */ 59 */
60#define GNUNET_GNSRECORD_TYPE_PKEY GNUNET_IDENTITY_TYPE_ECDSA 60#include "gnu_name_system_record_types.h"
61
62/**
63 * Record type for GNS nick names ("NICK").
64 */
65#define GNUNET_GNSRECORD_TYPE_NICK 65537
66
67/**
68 * Record type for GNS legacy hostnames ("LEHO").
69 */
70#define GNUNET_GNSRECORD_TYPE_LEHO 65538
71
72/**
73 * Record type for VPN resolution
74 */
75#define GNUNET_GNSRECORD_TYPE_VPN 65539
76
77/**
78 * Record type for delegation to DNS.
79 */
80#define GNUNET_GNSRECORD_TYPE_GNS2DNS 65540
81
82/**
83 * Record type for a boxed record (see TLSA/SRV handling in GNS).
84 */
85#define GNUNET_GNSRECORD_TYPE_BOX 65541
86
87/**
88 * Record type for a social place.
89 */
90#define GNUNET_GNSRECORD_TYPE_PLACE 65542
91
92/**
93 * Record type for a phone (of CONVERSATION).
94 */
95#define GNUNET_GNSRECORD_TYPE_PHONE 65543
96
97/**
98 * Record type for identity attributes (of RECLAIM).
99 */
100#define GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE 65544
101
102/**
103 * Record type for local ticket references
104 */
105#define GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET 65545
106
107/**
108 * 65546 reserved
109 */
110
111/**
112 * 65547 deleted, free to use
113 */
114
115/**
116 * Record type for policies
117 */
118#define GNUNET_GNSRECORD_TYPE_DELEGATE 65548
119
120/**
121 * Record type for reverse lookups
122 */
123#define GNUNET_GNSRECORD_TYPE_ATTRIBUTE 65549
124
125/**
126 * Record type for reclaim records
127 */
128#define GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF 65550
129
130/**
131 * Record type for RECLAIM master
132 */
133#define GNUNET_GNSRECORD_TYPE_RECLAIM_MASTER 65551
134
135/**
136 * Record type for reclaim OIDC clients
137 */
138#define GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_CLIENT 65552
139
140/**
141 * Record type for reclaim OIDC redirect URIs
142 */
143#define GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_REDIRECT 65553
144
145/**
146 * Record type for an attribute attestation
147 */
148#define GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL 65554
149
150/**
151 * Record type for a presentation of a credential (used
152 * in a ticket record set)
153 */
154#define GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION 65555
155
156/**
157 * Record type for EDKEY delegations.
158 */
159#define GNUNET_GNSRECORD_TYPE_EDKEY GNUNET_IDENTITY_TYPE_EDDSA
160
161 61
162/** 62/**
163 * Flags that can be set for a record. 63 * Flags that can be set for a record.
diff --git a/src/reclaim/plugin_gnsrecord_reclaim.c b/src/reclaim/plugin_gnsrecord_reclaim.c
index 60c49fd6a..9e4f0a5c4 100644
--- a/src/reclaim/plugin_gnsrecord_reclaim.c
+++ b/src/reclaim/plugin_gnsrecord_reclaim.c
@@ -50,7 +50,6 @@ value_to_string (void *cls, uint32_t type, const void *data, size_t data_size)
50 case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE: 50 case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE:
51 case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF: 51 case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF:
52 case GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET: 52 case GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET:
53 case GNUNET_GNSRECORD_TYPE_RECLAIM_MASTER:
54 case GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL: 53 case GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL:
55 case GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION: 54 case GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION:
56 return GNUNET_STRINGS_data_to_string_alloc (data, data_size); 55 return GNUNET_STRINGS_data_to_string_alloc (data, data_size);
@@ -87,7 +86,6 @@ string_to_value (void *cls, uint32_t type, const char *s, void **data,
87 return GNUNET_OK; 86 return GNUNET_OK;
88 case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE: 87 case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE:
89 case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF: 88 case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF:
90 case GNUNET_GNSRECORD_TYPE_RECLAIM_MASTER:
91 case GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET: 89 case GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET:
92 case GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL: 90 case GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL:
93 case GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION: 91 case GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION:
@@ -112,7 +110,6 @@ static struct
112 { "RECLAIM_ATTRIBUTE_REF", GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF }, 110 { "RECLAIM_ATTRIBUTE_REF", GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF },
113 { "RECLAIM_CREDENTIAL", GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL }, 111 { "RECLAIM_CREDENTIAL", GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL },
114 { "RECLAIM_PRESENTATION", GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION }, 112 { "RECLAIM_PRESENTATION", GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION },
115 { "RECLAIM_MASTER", GNUNET_GNSRECORD_TYPE_RECLAIM_MASTER },
116 { "RECLAIM_OIDC_CLIENT", GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_CLIENT }, 113 { "RECLAIM_OIDC_CLIENT", GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_CLIENT },
117 { "RECLAIM_OIDC_REDIRECT", GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_REDIRECT }, 114 { "RECLAIM_OIDC_REDIRECT", GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_REDIRECT },
118 { "RECLAIM_TICKET", GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET }, 115 { "RECLAIM_TICKET", GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET },