process_descs.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. /* Copyright (c) 2001 Matej Pfajfar.
  2. * Copyright (c) 2001-2004, Roger Dingledine.
  3. * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
  4. * Copyright (c) 2007-2019, The Tor Project, Inc. */
  5. /* See LICENSE for licensing information */
  6. /**
  7. * \file process_descs.h
  8. * \brief Header file for process_descs.c.
  9. **/
  10. #ifndef TOR_RECV_UPLOADS_H
  11. #define TOR_RECV_UPLOADS_H
  12. // for was_router_added_t.
  13. #include "feature/nodelist/routerlist.h"
  14. void dirserv_free_fingerprint_list(void);
  15. #ifdef HAVE_MODULE_DIRAUTH
  16. int dirserv_load_fingerprint_file(void);
  17. enum was_router_added_t dirserv_add_multiple_descriptors(
  18. const char *desc, size_t desclen,
  19. uint8_t purpose,
  20. const char *source,
  21. const char **msg);
  22. enum was_router_added_t dirserv_add_descriptor(routerinfo_t *ri,
  23. const char **msg,
  24. const char *source);
  25. int dirserv_would_reject_router(const routerstatus_t *rs);
  26. int authdir_wants_to_reject_router(routerinfo_t *ri, const char **msg,
  27. int complain,
  28. int *valid_out);
  29. int dirserv_add_own_fingerprint(crypto_pk_t *pk);
  30. uint32_t dirserv_router_get_status(const routerinfo_t *router,
  31. const char **msg,
  32. int severity);
  33. void dirserv_set_node_flags_from_authoritative_status(node_t *node,
  34. uint32_t authstatus);
  35. #else /* !defined(HAVE_MODULE_DIRAUTH) */
  36. static inline int
  37. dirserv_load_fingerprint_file(void)
  38. {
  39. return 0;
  40. }
  41. static inline enum was_router_added_t
  42. dirserv_add_multiple_descriptors(const char *desc, size_t desclen,
  43. uint8_t purpose,
  44. const char *source,
  45. const char **msg)
  46. {
  47. (void)desc;
  48. (void)desclen;
  49. (void)purpose;
  50. (void)source;
  51. (void)msg;
  52. return (enum was_router_added_t)0;
  53. }
  54. static inline enum was_router_added_t
  55. dirserv_add_descriptor(routerinfo_t *ri,
  56. const char **msg,
  57. const char *source)
  58. {
  59. (void)ri;
  60. (void)msg;
  61. (void)source;
  62. return (enum was_router_added_t)0;
  63. }
  64. static inline int
  65. dirserv_would_reject_router(const routerstatus_t *rs)
  66. {
  67. (void)rs;
  68. return 0;
  69. }
  70. static inline int
  71. authdir_wants_to_reject_router(routerinfo_t *ri, const char **msg,
  72. int complain,
  73. int *valid_out)
  74. {
  75. (void)ri;
  76. (void)msg;
  77. (void)complain;
  78. (void)valid_out;
  79. return 0;
  80. }
  81. static inline int
  82. dirserv_add_own_fingerprint(crypto_pk_t *pk)
  83. {
  84. (void)pk;
  85. return 0;
  86. }
  87. static inline uint32_t
  88. dirserv_router_get_status(const routerinfo_t *router,
  89. const char **msg,
  90. int severity)
  91. {
  92. (void)router;
  93. (void)msg;
  94. (void)severity;
  95. return 0;
  96. }
  97. static inline void
  98. dirserv_set_node_flags_from_authoritative_status(node_t *node,
  99. uint32_t authstatus)
  100. {
  101. (void)node;
  102. (void)authstatus;
  103. }
  104. #endif /* defined(HAVE_MODULE_DIRAUTH) */
  105. #ifdef TOR_UNIT_TESTS
  106. STATIC int dirserv_router_has_valid_address(routerinfo_t *ri);
  107. STATIC bool dirserv_rejects_tor_version(const char *platform,
  108. const char **msg);
  109. #endif /* defined(TOR_UNIT_TESTS) */
  110. #endif /* !defined(TOR_RECV_UPLOADS_H) */