[tor-commits] [tor/release-0.2.9] Netbsd doesn't have ipfw, only the regular pf transport stuff.

nickm at torproject.org nickm at torproject.org
Thu Dec 8 12:50:04 UTC 2016


commit 53d4e89626856eabe235c50ffc3d6a697f176741
Author: Nick Mathewson <nickm at torproject.org>
Date:   Wed Dec 7 15:21:21 2016 -0500

    Netbsd doesn't have ipfw, only the regular pf transport stuff.
    
    Attempted fix for 19960.
    
    Also, fixes a typo.
---
 changes/bug19960        |  4 ++++
 src/or/config.c         |  2 +-
 src/test/test_options.c | 13 +++++++++++--
 3 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/changes/bug19960 b/changes/bug19960
new file mode 100644
index 0000000..5d65585
--- /dev/null
+++ b/changes/bug19960
@@ -0,0 +1,4 @@
+  o Minor bugfixes (netbsd, unit tests):
+    - Stop expecting NetBSD unit tests to report success for ipfw;
+      on NetBSD, it's only pf that's supported.
+      Part of a fix for bug 19960; bugfix on 0.2.9.5-alpha.
diff --git a/src/or/config.c b/src/or/config.c
index 8568ea9..3693cdf 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -3004,7 +3004,7 @@ options_validate(or_options_t *old_options, or_options_t *options,
     } else if (!strcasecmp(options->TransProxyType, "ipfw")) {
 #ifndef KERNEL_MAY_SUPPORT_IPFW
       /* Earlier versions of OS X have ipfw */
-      REJECT("ipfw is a FreeBSD-specific"
+      REJECT("ipfw is a FreeBSD-specific "
              "and OS X/Darwin-specific feature.");
 #else
       options->TransProxyType_parsed = TPT_IPFW;
diff --git a/src/test/test_options.c b/src/test/test_options.c
index 6770c16..2570f8d 100644
--- a/src/test/test_options.c
+++ b/src/test/test_options.c
@@ -1050,7 +1050,7 @@ test_options_validate__transproxy(void *ignored)
   tt_int_op(ret, OP_EQ, -1);
 
 #ifndef KERNEL_MAY_SUPPORT_IPFW
-  tt_str_op(msg, OP_EQ, "ipfw is a FreeBSD-specificand OS X/Darwin-specific "
+  tt_str_op(msg, OP_EQ, "ipfw is a FreeBSD-specific and OS X/Darwin-specific "
             "feature.");
 #else
   tt_int_op(tdata->opt->TransProxyType_parsed, OP_EQ, TPT_IPFW);
@@ -1080,7 +1080,7 @@ test_options_validate__transproxy(void *ignored)
     TT_DIE(("Expected NULL but got '%s'", msg));
   }
 #endif
-#if defined(__FreeBSD_kernel__) || defined( DARWIN )  || defined(__NetBSD__)
+#ifdef KERNEL_MAY_SUPPORT_IPFW
   tdata = get_options_test_data("TransProxyType ipfw\n"
                                 "TransPort 127.0.0.1:123\n");
   ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
@@ -1098,6 +1098,15 @@ test_options_validate__transproxy(void *ignored)
     TT_DIE(("Expected NULL but got '%s'", msg));
   }
 #endif
+#if defined(__NetBSD__)
+  tdata = get_options_test_data("TransProxyType default\n"
+                                "TransPort 127.0.0.1:123\n");
+  ret = options_validate(tdata->old_opt, tdata->opt, tdata->def_opt, 0, &msg);
+  tt_int_op(ret, OP_EQ, -1);
+  if (msg) {
+    TT_DIE(("Expected NULL but got '%s'", msg));
+  }
+#endif
 
   // Assert that a test has run for some TransProxyType
   tt_assert(tdata);





More information about the tor-commits mailing list