summaryrefslogtreecommitdiff
path: root/security/softether
diff options
context:
space:
mode:
authorKurt Jaeger <pi@FreeBSD.org>2018-02-20 20:52:02 +0000
committerKurt Jaeger <pi@FreeBSD.org>2018-02-20 20:52:02 +0000
commiteffda7b363a45ef49f48d91bfadb5fa60f2a8907 (patch)
treedcd6b1247b4cf22420723246f920546f94f08c1a /security/softether
parent481d7440c183fc488df6f7172c69a3fcc695435b (diff)
Notes
Diffstat (limited to 'security/softether')
-rw-r--r--security/softether/Makefile12
-rw-r--r--security/softether/files/extra-patch-unrestrict-enterprise-functions29
2 files changed, 40 insertions, 1 deletions
diff --git a/security/softether/Makefile b/security/softether/Makefile
index 1fb8255d8af1..1af1cca4d186 100644
--- a/security/softether/Makefile
+++ b/security/softether/Makefile
@@ -35,7 +35,17 @@ DOS2UNIX_FILES= AUTHORS.TXT ChangeLog LICENSE README THIRD_PARTY.TXT \
src/Mayaqua/Table.h \
src/Mayaqua/Unix.c
-OPTIONS_DEFINE= DOCS
+OPTIONS_DEFINE= DOCS UNLOCK
+
+# Use of some functions in Japan and China is restricted.
+# This option Unlocks regional lockout following functions:
+# - RADIUS / NT Domain user authentication function
+# - RSA certificate user authentication function
+# - Deep-inspect packet logging function
+# - Source IP address control list function
+# - syslog transfer function
+UNLOCK_DESC= Unlock regional lockout (JP and CN)
+UNLOCK_EXTRA_PATCHES= ${FILESDIR}/extra-patch-unrestrict-enterprise-functions
ONLY_FOR_ARCHS= i386 amd64
diff --git a/security/softether/files/extra-patch-unrestrict-enterprise-functions b/security/softether/files/extra-patch-unrestrict-enterprise-functions
new file mode 100644
index 000000000000..90043e5e4839
--- /dev/null
+++ b/security/softether/files/extra-patch-unrestrict-enterprise-functions
@@ -0,0 +1,29 @@
+diff --git src/Cedar/Server.c src/Cedar/Server.c
+index 2a100ec..ee58f37 100644
+--- src/Cedar/Server.c
++++ src/Cedar/Server.c
+@@ -10859,23 +10859,7 @@ bool SiCheckCurrentRegion(CEDAR *c, char *r)
+ //
+ bool SiIsEnterpriseFunctionsRestrictedOnOpenSource(CEDAR *c)
+ {
+- char region[128];
+- bool ret = false;
+- // Validate arguments
+- if (c == NULL)
+- {
+- return false;
+- }
+-
+-
+- SiGetCurrentRegion(c, region, sizeof(region));
+-
+- if (StrCmpi(region, "JP") == 0 || StrCmpi(region, "CN") == 0)
+- {
+- ret = true;
+- }
+-
+- return ret;
++ return false;
+ }
+
+ // Update the current region