gnunet_signatures.h 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. /*
  2. This file is part of GNUnet.
  3. Copyright (C) 2009 GNUnet e.V.
  4. GNUnet is free software: you can redistribute it and/or modify it
  5. under the terms of the GNU Affero General Public License as published
  6. by the Free Software Foundation, either version 3 of the License,
  7. or (at your option) any later version.
  8. GNUnet is distributed in the hope that it will be useful, but
  9. WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  11. Affero General Public License for more details.
  12. You should have received a copy of the GNU Affero General Public License
  13. along with this program. If not, see <http://www.gnu.org/licenses/>.
  14. SPDX-License-Identifier: AGPL3.0-or-later
  15. */
  16. /**
  17. * @author Christian Grothoff
  18. *
  19. * @file
  20. * Constants for network signatures
  21. *
  22. * @defgroup signatures Network signature definitions
  23. * @{
  24. */
  25. #ifndef GNUNET_SIGNATURES_H
  26. #define GNUNET_SIGNATURES_H
  27. #ifdef __cplusplus
  28. extern "C"
  29. {
  30. #if 0 /* keep Emacsens' auto-indent happy */
  31. }
  32. #endif
  33. #endif
  34. /**
  35. * Test signature, not valid for anything other than writing
  36. * a test. (Note that the signature verification code will
  37. * accept this value).
  38. */
  39. #define GNUNET_SIGNATURE_PURPOSE_TEST 0
  40. /**
  41. * Signature for confirming that this peer uses a particular address.
  42. */
  43. #define GNUNET_SIGNATURE_PURPOSE_TRANSPORT_PONG_OWN 1
  44. /**
  45. * Signature for confirming that this peer intends to disconnect.
  46. */
  47. #define GNUNET_SIGNATURE_PURPOSE_TRANSPORT_DISCONNECT 2
  48. /**
  49. * Signature for confirming a key revocation.
  50. */
  51. #define GNUNET_SIGNATURE_PURPOSE_REVOCATION 3
  52. /**
  53. * Signature for a namespace/pseudonym advertisement (by
  54. * the namespace owner).
  55. */
  56. #define GNUNET_SIGNATURE_PURPOSE_NAMESPACE_ADVERTISEMENT 4
  57. /**
  58. * Signature by which a peer affirms that it is
  59. * providing a certain bit of content (used
  60. * in LOCation URIs).
  61. */
  62. #define GNUNET_SIGNATURE_PURPOSE_PEER_PLACEMENT 5
  63. /**
  64. * Obsolete, legacy value.
  65. */
  66. #define GNUNET_SIGNATURE_PURPOSE_FS_KBLOCK 6
  67. /**
  68. * Obsolete, legacy value.
  69. */
  70. #define GNUNET_SIGNATURE_PURPOSE_FS_SBLOCK 7
  71. /**
  72. * Obsolete, legacy value.
  73. */
  74. #define GNUNET_SIGNATURE_PURPOSE_FS_NBLOCK 8
  75. /**
  76. * Obsolete, legacy value.
  77. */
  78. #define GNUNET_SIGNATURE_PURPOSE_FS_NBLOCK_KSIG 9
  79. /**
  80. *
  81. */
  82. #define GNUNET_SIGNATURE_PURPOSE_RESOLVER_RESPONSE 10
  83. /**
  84. * Signature of an GNUNET_DNS_Advertisement
  85. */
  86. #define GNUNET_SIGNATURE_PURPOSE_DNS_RECORD 11
  87. /**
  88. * Signature of a chat message.
  89. */
  90. #define GNUNET_SIGNATURE_PURPOSE_CHAT_MESSAGE 12
  91. /**
  92. * Signature of confirmation receipt for a chat message.
  93. */
  94. #define GNUNET_SIGNATURE_PURPOSE_CHAT_RECEIPT 13
  95. /**
  96. * Signature of a network size estimate message.
  97. */
  98. #define GNUNET_SIGNATURE_PURPOSE_NSE_SEND 14
  99. /**
  100. * Signature of a gnunet naming system record block
  101. */
  102. #define GNUNET_SIGNATURE_PURPOSE_GNS_RECORD_SIGN 15
  103. /**
  104. * Purpose is to set a session key.
  105. */
  106. #define GNUNET_SIGNATURE_PURPOSE_SET_ECC_KEY 16
  107. /**
  108. * UBlock Signature, done using DSS, not ECC
  109. */
  110. #define GNUNET_SIGNATURE_PURPOSE_FS_UBLOCK 17
  111. /**
  112. * Accept state in regex DFA. Peer affirms that
  113. * it offers the matching service.
  114. */
  115. #define GNUNET_SIGNATURE_PURPOSE_REGEX_ACCEPT 18
  116. /**
  117. * Signature of a multicast message sent by the origin.
  118. */
  119. #define GNUNET_SIGNATURE_PURPOSE_MULTICAST_MESSAGE 19
  120. /**
  121. * Signature of a conversation ring.
  122. */
  123. #define GNUNET_SIGNATURE_PURPOSE_CONVERSATION_RING 20
  124. /**
  125. * Signature for the first round of distributed key generation.
  126. */
  127. #define GNUNET_SIGNATURE_PURPOSE_SECRETSHARING_DKG1 21
  128. /**
  129. * Signature for the second round of distributed key generation.
  130. */
  131. #define GNUNET_SIGNATURE_PURPOSE_SECRETSHARING_DKG2 22
  132. /**
  133. * Signature for cooperatice decryption.
  134. */
  135. #define GNUNET_SIGNATURE_PURPOSE_SECRETSHARING_DECRYPTION 23
  136. /**
  137. * Signature of a multicast request sent by a member.
  138. */
  139. #define GNUNET_SIGNATURE_PURPOSE_MULTICAST_REQUEST 24
  140. /**
  141. * Signature for a sensor anomaly report message.
  142. */
  143. #define GNUNET_SIGNATURE_PURPOSE_SENSOR_ANOMALY_REPORT 25
  144. /**
  145. * Signature for a GNUid Token
  146. */
  147. #define GNUNET_SIGNATURE_PURPOSE_GNUID_TOKEN 26
  148. /**
  149. * Signature for a GNUid Ticket
  150. */
  151. #define GNUNET_SIGNATURE_PURPOSE_RECLAIM_CODE_SIGN 27
  152. /**
  153. * Signature for a GNUnet credential
  154. */
  155. #define GNUNET_SIGNATURE_PURPOSE_CREDENTIAL 28
  156. /**
  157. * Signature by a peer affirming that this is one of its
  158. * addresses (for the given time period).
  159. */
  160. #define GNUNET_SIGNATURE_PURPOSE_TRANSPORT_ADDRESS 29
  161. /**
  162. * Signature by a peer affirming that the given ephemeral
  163. * key is currently in use by that peer's transport service.
  164. */
  165. #define GNUNET_SIGNATURE_PURPOSE_TRANSPORT_EPHEMERAL 30
  166. /**
  167. * Signature used by TCP communicator handshake,
  168. */
  169. #define GNUNET_SIGNATURE_COMMUNICATOR_TCP_HANDSHAKE 31
  170. /**
  171. * Signature used by TCP communicator rekey.
  172. */
  173. #define GNUNET_SIGNATURE_COMMUNICATOR_TCP_REKEY 32
  174. /**
  175. * Signature used by UDP communicator handshake
  176. */
  177. #define GNUNET_SIGNATURE_COMMUNICATOR_UDP_HANDSHAKE 33
  178. /**
  179. * Signature used by UDP broadcasts.
  180. */
  181. #define GNUNET_SIGNATURE_COMMUNICATOR_UDP_BROADCAST 34
  182. /**
  183. * Signature by a peer affirming that it received a
  184. * challenge (and stating how long it expects the
  185. * address on which the challenge was received to
  186. * remain valid).
  187. */
  188. #define GNUNET_SIGNATURE_PURPOSE_TRANSPORT_CHALLENGE 35
  189. /**
  190. * Signature by a peer affirming that it is on a DV path.
  191. */
  192. #define GNUNET_SIGNATURE_PURPOSE_TRANSPORT_DV_HOP 36
  193. /**
  194. * Signature by a peer affirming that it originated the
  195. * DV path.
  196. */
  197. #define GNUNET_SIGNATURE_PURPOSE_TRANSPORT_DV_INITIATOR 37
  198. #if 0 /* keep Emacsens' auto-indent happy */
  199. {
  200. #endif
  201. #ifdef __cplusplus
  202. }
  203. #endif
  204. /* ifndef GNUNET_SIGNATURES_H */
  205. #endif
  206. /** @} */ /* end of group */
  207. /* end of gnunet_signatures.h */