summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2017-04-04 09:43:16 -0400
committerNick Mathewson <nickm@torproject.org>2017-04-04 09:43:16 -0400
commitb2e500f95b7f685b05da5702e62944dbaa9faef2 (patch)
tree3833f94d547bd3afa9b103c4bf40ae8e1227a876
parent91c60d77d6402a87e99b4d162efa97b1b4e6bd54 (diff)
parent751958434792122e9363b54e499a30b2d83b8536 (diff)
downloadtor-b2e500f95b7f685b05da5702e62944dbaa9faef2.tar.gz
tor-b2e500f95b7f685b05da5702e62944dbaa9faef2.zip
Merge branch 'maint-0.3.0' into release-0.3.0
-rw-r--r--changes/bug218256
-rw-r--r--src/or/hs_service.c12
-rw-r--r--src/or/hs_service.h15
3 files changed, 14 insertions, 19 deletions
diff --git a/changes/bug21825 b/changes/bug21825
new file mode 100644
index 0000000000..8f14b32f84
--- /dev/null
+++ b/changes/bug21825
@@ -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.
diff --git a/src/or/hs_service.c b/src/or/hs_service.c
index 7b12b63065..8687403b86 100644
--- a/src/or/hs_service.c
+++ b/src/or/hs_service.c
@@ -6,8 +6,6 @@
* \brief Implement next generation hidden service functionality
**/
-#define HS_SERVICE_PRIVATE
-
#include "or.h"
#include "relay.h"
#include "rendservice.h"
@@ -22,14 +20,12 @@
/* 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 */
-
diff --git a/src/or/hs_service.h b/src/or/hs_service.h
index 994521fc50..5d2d8dc4bb 100644
--- a/src/or/hs_service.h
+++ b/src/or/hs_service.h
@@ -12,21 +12,16 @@
#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 */