]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
hs: Expose hs_service.c functions for unit tests
authorDavid Goulet <dgoulet@torproject.org>
Tue, 4 Apr 2017 12:35:31 +0000 (08:35 -0400)
committerNick Mathewson <nickm@torproject.org>
Tue, 4 Apr 2017 13:41:14 +0000 (09:41 -0400)
In order to avoid src/or/hs_service.o to contain no symbols and thus making
clang throw a warning, the functions are now exposed not just to unit tests.

Signed-off-by: David Goulet <dgoulet@torproject.org>
changes/bug21825 [new file with mode: 0644]
src/or/hs_service.c
src/or/hs_service.h

diff --git a/changes/bug21825 b/changes/bug21825
new file mode 100644 (file)
index 0000000..8f14b32
--- /dev/null
@@ -0,0 +1,6 @@
+  o Minor bugfix (compilation):
+    - Functions in hs_service.c was only compiled for unit test making the
+      created object (.o) contain no symbols in src/or/libor.a resulting in a
+      compilation warning from clang. We now expose those functions for the
+      unit tests. This will be changed in 0.3.2 release. Fixes bug 21825.;
+      bugfix on tor-0.3.0.1-alpha.
index 7b12b630651c4438048a9908560be8c0d6126953..8687403b86f68effefaafc88e7f06f10012e88e1 100644 (file)
@@ -6,8 +6,6 @@
  * \brief Implement next generation hidden service functionality
  **/
 
-#define HS_SERVICE_PRIVATE
-
 #include "or.h"
 #include "relay.h"
 #include "rendservice.h"
 
 /* XXX We don't currently use these functions, apart from generating unittest
    data. When we start implementing the service-side support for prop224 we
-   should revisit these functions and use them. For now we mark them as
-   unittest-only code: */
-#ifdef TOR_UNIT_TESTS
+   should revisit these functions and use them. */
 
 /** Given an ESTABLISH_INTRO <b>cell</b>, encode it and place its payload in
  *  <b>buf_out</b> which has size <b>buf_out_len</b>. Return the number of
  *  bytes written, or a negative integer if there was an error. */
-STATIC ssize_t
+ssize_t
 get_establish_intro_payload(uint8_t *buf_out, size_t buf_out_len,
                             const hs_cell_establish_intro_t *cell)
 {
@@ -59,7 +55,7 @@ set_cell_extensions(hs_cell_establish_intro_t *cell)
  *  return an ESTABLISH_INTRO cell. Return NULL if something went wrong.  The
  *  returned cell is allocated on the heap and it's the responsibility of the
  *  caller to free it. */
-STATIC hs_cell_establish_intro_t *
+hs_cell_establish_intro_t *
 generate_establish_intro_cell(const uint8_t *circuit_key_material,
                               size_t circuit_key_material_len)
 {
@@ -174,5 +170,3 @@ generate_establish_intro_cell(const uint8_t *circuit_key_material,
   return NULL;
 }
 
-#endif /* TOR_UNIT_TESTS */
-
index 994521fc50e36053356e5b1a367ad874b79f9d3d..5d2d8dc4bb856d8997d6b10f9c272490eb67232f 100644 (file)
 #include "or.h"
 #include "hs/cell_establish_intro.h"
 
-#ifdef HS_SERVICE_PRIVATE
+/* These functions are only used by unit tests and we need to expose them else
+ * hs_service.o ends up with no symbols in libor.a which makes clang throw a
+ * warning at compile time. See #21825. */
 
-#ifdef TOR_UNIT_TESTS
-
-STATIC hs_cell_establish_intro_t *
+hs_cell_establish_intro_t *
 generate_establish_intro_cell(const uint8_t *circuit_key_material,
                               size_t circuit_key_material_len);
-
-STATIC ssize_t
+ssize_t
 get_establish_intro_payload(uint8_t *buf, size_t buf_len,
                             const hs_cell_establish_intro_t *cell);
 
-#endif /* TOR_UNIT_TESTS */
-
-#endif /* HS_SERVICE_PRIVATE */
-
 #endif /* TOR_HS_SERVICE_H */