aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-03-02 17:26:24 +0100
committerChristian Grothoff <christian@grothoff.org>2021-03-02 17:26:24 +0100
commitf48a3bd14482f508ad47cfd9d62fbaa11938b275 (patch)
tree96142906bee7632520f34e1ad8a7a365f6e48348 /src
parent45ceb4fdf94566a67dbeac28cebb0f3154b843cf (diff)
parentc666bf95d0ba0a6eddcf0e6953b05ef375f6a75e (diff)
downloadgnunet-f48a3bd14482f508ad47cfd9d62fbaa11938b275.tar.gz
gnunet-f48a3bd14482f508ad47cfd9d62fbaa11938b275.zip
Merge branch 'master' of git+ssh://gnunet.org/gnunet
Diffstat (limited to 'src')
-rw-r--r--src/include/Makefile.am1
-rw-r--r--src/include/gnu_name_system_record_types.h138
-rw-r--r--src/include/gnunet_gnsrecord_lib.h104
-rw-r--r--src/reclaim/plugin_gnsrecord_reclaim.c3
-rw-r--r--src/transport/gnunet-service-tng.c15
5 files changed, 143 insertions, 118 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..b2cf45dc8
--- /dev/null
+++ b/src/include/gnu_name_system_record_types.h
@@ -0,0 +1,138 @@
1/*
2 This file is part of GNUnet
3 Copyright (C) 2012-2021 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/**
24 * WARNING:
25 * This header is generated!
26 * In order to add GNS record types, you must register
27 * them in GANA, and then use the header generation script
28 * to create an update of this file. You may then replace this
29 * file with the update.
30 */
31
32#ifdef __cplusplus
33extern "C" {
34#if 0 /* keep Emacsens' auto-indent happy */
35}
36#endif
37#endif
38
39
40/**
41 * GNS zone transfer
42 */
43#define GNUNET_GNSRECORD_TYPE_PKEY 65536
44
45/**
46 * GNS nick names
47 */
48#define GNUNET_GNSRECORD_TYPE_NICK 65537
49
50/**
51 * legacy hostnames
52 */
53#define GNUNET_GNSRECORD_TYPE_LEHO 65538
54
55/**
56 * VPN resolution
57 */
58#define GNUNET_GNSRECORD_TYPE_VPN 65539
59
60/**
61 * Delegation to DNS
62 */
63#define GNUNET_GNSRECORD_TYPE_GNS2DNS 65540
64
65/**
66 * Boxed records (see TLSA/SRV handling in GNS)
67 */
68#define GNUNET_GNSRECORD_TYPE_BOX 65541
69
70/**
71 * social place for SecuShare
72 */
73#define GNUNET_GNSRECORD_TYPE_PLACE 65542
74
75/**
76 * Endpoint for conversation
77 */
78#define GNUNET_GNSRECORD_TYPE_PHONE 65543
79
80/**
81 * identity attribute
82 */
83#define GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE 65544
84
85/**
86 * local ticket reference
87 */
88#define GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET 65545
89
90/**
91 * For ABD policies
92 */
93#define GNUNET_GNSRECORD_TYPE_DELEGATE 65548
94
95/**
96 * For ABD reverse lookups
97 */
98#define GNUNET_GNSRECORD_TYPE_ATTRIBUTE 65549
99
100/**
101 * for reclaim records
102 */
103#define GNUNET_GNSRECORD_TYPE_RECLAIM_ATTRIBUTE_REF 65550
104
105/**
106 * For reclaim OIDC client names.
107 */
108#define GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_CLIENT 65552
109
110/**
111 * Used reclaimID OIDC client redirect URIs.
112 */
113#define GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_REDIRECT 65553
114
115/**
116 * Record type for an attribute attestation (e.g. JWT).
117 */
118#define GNUNET_GNSRECORD_TYPE_RECLAIM_CREDENTIAL 65554
119
120/**
121 * Record type for a presentation of a credential.
122 */
123#define GNUNET_GNSRECORD_TYPE_RECLAIM_PRESENTATION 65555
124
125/**
126 * Record type for EDKEY zone delegations.
127 */
128#define GNUNET_GNSRECORD_TYPE_EDKEY 65556
129
130
131#if 0 /* keep Emacsens' auto-indent happy */
132{
133#endif
134#ifdef __cplusplus
135}
136#endif
137
138#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 },
diff --git a/src/transport/gnunet-service-tng.c b/src/transport/gnunet-service-tng.c
index f5a318b96..3cba49250 100644
--- a/src/transport/gnunet-service-tng.c
+++ b/src/transport/gnunet-service-tng.c
@@ -4199,18 +4199,6 @@ queue_send_msg (struct Queue *queue,
4199 struct GNUNET_TRANSPORT_SendMessageTo *smt; 4199 struct GNUNET_TRANSPORT_SendMessageTo *smt;
4200 struct GNUNET_MQ_Envelope *env; 4200 struct GNUNET_MQ_Envelope *env;
4201 4201
4202 /**
4203 * FIXME: the queue idle member does not really make
4204 * sense in the code.
4205 * It is not clear what "idle" should mean? If it means
4206 * the queue is empty, then other code (see schedule_retransmit)
4207 * does not make sense at it ALWAYS expects and idle queue
4208 * or will refuse to transmit because it is "busy".
4209 * The problem is that the queue is (was) never set to
4210 * idle in the code. Now it is, but it is unclear if the
4211 * expected logic is preserved.
4212 */
4213 queue->idle = GNUNET_NO;
4214 GNUNET_log ( 4202 GNUNET_log (
4215 GNUNET_ERROR_TYPE_DEBUG, 4203 GNUNET_ERROR_TYPE_DEBUG,
4216 "Queueing %u bytes of payload for transmission <%llu> on queue %llu to %s\n", 4204 "Queueing %u bytes of payload for transmission <%llu> on queue %llu to %s\n",
@@ -8882,6 +8870,8 @@ transmit_on_queue (void *cls)
8882 queue->idle = GNUNET_YES; 8870 queue->idle = GNUNET_YES;
8883 return; 8871 return;
8884 } 8872 }
8873 /* There is a message pending, we are certainly not idle */
8874 queue->idle = GNUNET_NO;
8885 8875
8886 /* Given selection in `sc`, do transmission */ 8876 /* Given selection in `sc`, do transmission */
8887 pm = sc.best; 8877 pm = sc.best;
@@ -9107,7 +9097,6 @@ handle_send_message_ack (void *cls,
9107 qe->queue->queue_length, 9097 qe->queue->queue_length,
9108 tc->details.communicator.total_queue_length); 9098 tc->details.communicator.total_queue_length);
9109 GNUNET_SERVICE_client_continue (tc->client); 9099 GNUNET_SERVICE_client_continue (tc->client);
9110 qe->queue->idle = GNUNET_YES;
9111 9100
9112 /* if applicable, resume transmissions that waited on ACK */ 9101 /* if applicable, resume transmissions that waited on ACK */
9113 if (COMMUNICATOR_TOTAL_QUEUE_LIMIT - 1 == 9102 if (COMMUNICATOR_TOTAL_QUEUE_LIMIT - 1 ==