Merge branch 'master' of gnunet.org:gnunet
[oweals/gnunet.git] / src / include / gnunet_signatures.h
1 /*
2      This file is part of GNUnet.
3      Copyright (C) 2009 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
21 /**
22  * @author Christian Grothoff
23  *
24  * @file
25  * Constants for network signatures
26  *
27  * @defgroup signatures  Network signature definitions
28  * @{
29  */
30
31 #ifndef GNUNET_SIGNATURES_H
32 #define GNUNET_SIGNATURES_H
33
34 #ifdef __cplusplus
35 extern "C"
36 {
37 #if 0                           /* keep Emacsens' auto-indent happy */
38 }
39 #endif
40 #endif
41
42 /**
43  * Test signature, not valid for anything other than writing
44  * a test. (Note that the signature verification code will
45  * accept this value).
46  */
47 #define GNUNET_SIGNATURE_PURPOSE_TEST 0
48
49 /**
50  * Signature for confirming that this peer uses a particular address.
51  */
52 #define GNUNET_SIGNATURE_PURPOSE_TRANSPORT_PONG_OWN 1
53
54 /**
55  * Signature for confirming that this peer intends to disconnect.
56  */
57 #define GNUNET_SIGNATURE_PURPOSE_TRANSPORT_DISCONNECT 2
58
59 /**
60  * Signature for confirming a key revocation.
61  */
62 #define GNUNET_SIGNATURE_PURPOSE_REVOCATION 3
63
64 /**
65  * Signature for a namespace/pseudonym advertisement (by
66  * the namespace owner).
67  */
68 #define GNUNET_SIGNATURE_PURPOSE_NAMESPACE_ADVERTISEMENT 4
69
70 /**
71  * Signature by which a peer affirms that it is
72  * providing a certain bit of content (used
73  * in LOCation URIs).
74  */
75 #define GNUNET_SIGNATURE_PURPOSE_PEER_PLACEMENT 5
76
77 /**
78  * Obsolete, legacy value.
79  */
80 #define GNUNET_SIGNATURE_PURPOSE_FS_KBLOCK 6
81
82 /**
83  * Obsolete, legacy value.
84  */
85 #define GNUNET_SIGNATURE_PURPOSE_FS_SBLOCK 7
86
87 /**
88  * Obsolete, legacy value.
89  */
90 #define GNUNET_SIGNATURE_PURPOSE_FS_NBLOCK 8
91
92 /**
93  * Obsolete, legacy value.
94  */
95 #define GNUNET_SIGNATURE_PURPOSE_FS_NBLOCK_KSIG 9
96
97 /**
98  *
99  */
100 #define GNUNET_SIGNATURE_PURPOSE_RESOLVER_RESPONSE 10
101
102 /**
103  * Signature of an GNUNET_DNS_Advertisement
104  */
105 #define GNUNET_SIGNATURE_PURPOSE_DNS_RECORD 11
106
107 /**
108  * Signature of a chat message.
109  */
110 #define GNUNET_SIGNATURE_PURPOSE_CHAT_MESSAGE 12
111
112 /**
113  * Signature of confirmation receipt for a chat message.
114  */
115 #define GNUNET_SIGNATURE_PURPOSE_CHAT_RECEIPT 13
116
117 /**
118  * Signature of a network size estimate message.
119  */
120 #define GNUNET_SIGNATURE_PURPOSE_NSE_SEND 14
121
122 /**
123  * Signature of a gnunet naming system record block
124  */
125 #define GNUNET_SIGNATURE_PURPOSE_GNS_RECORD_SIGN 15
126
127 /**
128  * Purpose is to set a session key.
129  */
130 #define GNUNET_SIGNATURE_PURPOSE_SET_ECC_KEY 16
131
132 /**
133  * UBlock Signature, done using DSS, not ECC
134  */
135 #define GNUNET_SIGNATURE_PURPOSE_FS_UBLOCK 17
136
137 /**
138  * Accept state in regex DFA.  Peer affirms that
139  * it offers the matching service.
140  */
141 #define GNUNET_SIGNATURE_PURPOSE_REGEX_ACCEPT 18
142
143 /**
144  * Signature of a multicast message sent by the origin.
145  */
146 #define GNUNET_SIGNATURE_PURPOSE_MULTICAST_MESSAGE 19
147
148 /**
149  * Signature of a conversation ring.
150  */
151 #define GNUNET_SIGNATURE_PURPOSE_CONVERSATION_RING 20
152
153 /**
154  * Signature for the first round of distributed key generation.
155  */
156 #define GNUNET_SIGNATURE_PURPOSE_SECRETSHARING_DKG1 21
157
158 /**
159  * Signature for the second round of distributed key generation.
160  */
161 #define GNUNET_SIGNATURE_PURPOSE_SECRETSHARING_DKG2 22
162
163 /**
164  * Signature for cooperatice decryption.
165  */
166 #define GNUNET_SIGNATURE_PURPOSE_SECRETSHARING_DECRYPTION 23
167
168 /**
169  * Signature of a multicast request sent by a member.
170  */
171 #define GNUNET_SIGNATURE_PURPOSE_MULTICAST_REQUEST 24
172
173 /**
174  * Signature for a sensor anomaly report message.
175  */
176 #define GNUNET_SIGNATURE_PURPOSE_SENSOR_ANOMALY_REPORT 25
177
178 /**
179  * Signature for a GNUid Token
180  */
181 #define GNUNET_SIGNATURE_PURPOSE_GNUID_TOKEN 26
182
183 /**
184  * Signature for a GNUid Ticket
185  */
186 #define GNUNET_SIGNATURE_PURPOSE_RECLAIM_CODE_SIGN 27
187
188 /**
189  * Signature for a GNUnet credential
190  */
191 #define GNUNET_SIGNATURE_PURPOSE_CREDENTIAL 28
192
193 /**
194  * Signature by a peer affirming that this is one of its
195  * addresses (for the given time period).
196  */
197 #define GNUNET_SIGNATURE_PURPOSE_TRANSPORT_ADDRESS 29
198
199 /**
200  * Signature by a peer affirming that the given ephemeral
201  * key is currently in use by that peer's transport service.
202  */
203 #define GNUNET_SIGNATURE_PURPOSE_TRANSPORT_EPHEMERAL 30
204
205 /**
206  * Signature used by TCP communicator handshake,
207  */ 
208 #define GNUNET_SIGNATURE_COMMUNICATOR_TCP_HANDSHAKE 31
209
210 /**
211  * Signature used by TCP communicator rekey.
212  */ 
213 #define GNUNET_SIGNATURE_COMMUNICATOR_TCP_REKEY 32
214
215 /**
216  * Signature used by UDP communicator handshake
217  */ 
218 #define GNUNET_SIGNATURE_COMMUNICATOR_UDP_HANDSHAKE 33
219
220 /**
221  * Signature used by UDP broadcasts.
222  */ 
223 #define GNUNET_SIGNATURE_COMMUNICATOR_UDP_BROADCAST 34
224
225 #if 0                           /* keep Emacsens' auto-indent happy */
226 {
227 #endif
228 #ifdef __cplusplus
229 }
230 #endif
231
232 /* ifndef GNUNET_SIGNATURES_H */
233 #endif
234
235 /** @} */  /* end of group */
236
237 /* end of gnunet_signatures.h */