[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] Add changes file for 18448; refactor
commit ef31c8862f4ed86cfa4987b2ec58468269457f87
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date: Fri Mar 11 10:05:28 2016 -0500
Add changes file for 18448; refactor
(I've made it so FreeBSD || FreeBSD_kernel is enough to ensure that
we think you might have ipfw, and so that the logic is all in one
place.)
---
changes/bug18448 | 6 ++++++
src/or/config.c | 2 +-
src/or/config.h | 4 ++++
src/test/test_options.c | 2 +-
4 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/changes/bug18448 b/changes/bug18448
new file mode 100644
index 0000000..e328ce3
--- /dev/null
+++ b/changes/bug18448
@@ -0,0 +1,6 @@
+ o Minor features (build):
+ - Detect systems with FreeBSD-derived kernels (such as GNU/kFreeBSD) as
+ having possible IPfW support. Closes ticket 18448. Patch from
+ Steven Chamberlain.
+
+
diff --git a/src/or/config.c b/src/or/config.c
index ad4138a..4f4b9df 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -2861,7 +2861,7 @@ options_validate(or_options_t *old_options, or_options_t *options,
options->TransProxyType_parsed = TPT_TPROXY;
#endif
} else if (!strcasecmp(options->TransProxyType, "ipfw")) {
-#if !defined(__FreeBSD_kernel__) && !defined( DARWIN )
+#ifndef KERNEL_MAY_SUPPORT_IPFW
/* Earlier versions of OS X have ipfw */
REJECT("ipfw is a FreeBSD-specific"
"and OS X/Darwin-specific feature.");
diff --git a/src/or/config.h b/src/or/config.h
index c301645..02121cf 100644
--- a/src/or/config.h
+++ b/src/or/config.h
@@ -14,6 +14,10 @@
#include "testsupport.h"
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(DARWIN)
+#define KERNEL_MAY_SUPPORT_IPFW
+#endif
+
MOCK_DECL(const char*, get_dirportfrontpage, (void));
MOCK_DECL(const or_options_t *, get_options, (void));
MOCK_DECL(or_options_t *, get_options_mutable, (void));
diff --git a/src/test/test_options.c b/src/test/test_options.c
index 9458ade..d294e60 100644
--- a/src/test/test_options.c
+++ b/src/test/test_options.c
@@ -1058,7 +1058,7 @@ test_options_validate__transproxy(void *ignored)
ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
tt_int_op(ret, OP_EQ, -1);
-#if !defined(__FreeBSD_kernel__) && !defined( DARWIN )
+#ifndef KERNEL_MAY_SUPPORT_IPFW
tt_str_op(msg, OP_EQ, "ipfw is a FreeBSD-specificand OS X/Darwin-specific "
"feature.");
#else
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits