aboutsummaryrefslogtreecommitdiff
path: root/openssl-freefilesync/hobble-openssl
diff options
context:
space:
mode:
Diffstat (limited to 'openssl-freefilesync/hobble-openssl')
-rwxr-xr-xopenssl-freefilesync/hobble-openssl40
1 files changed, 40 insertions, 0 deletions
diff --git a/openssl-freefilesync/hobble-openssl b/openssl-freefilesync/hobble-openssl
new file mode 100755
index 0000000..9a23ca6
--- /dev/null
+++ b/openssl-freefilesync/hobble-openssl
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+# Quit out if anything fails.
+set -e
+
+# Clean out patent-or-otherwise-encumbered code.
+# MDC-2: 4,908,861 13/03/2007 - expired, we do not remove it but do not enable it anyway
+# IDEA: 5,214,703 07/01/2012 - expired, we do not remove it anymore
+# RC5: 5,724,428 01/11/2015 - expired, we do not remove it anymore
+# EC: ????????? ??/??/2020
+# SRP: ????????? ??/??/2017 - expired, we do not remove it anymore
+
+# Remove assembler portions of IDEA, MDC2, and RC5.
+# (find crypto/rc5/asm -type f | xargs -r rm -fv)
+
+for c in `find crypto/bn -name "*gf2m.c"`; do
+ echo Destroying $c
+ > $c
+done
+
+for c in `find crypto/ec -name "ec2*.c" -o -name "ec_curve.c"`; do
+ echo Destroying $c
+ > $c
+done
+
+for c in `find test -name "ectest.c"`; do
+ echo Destroying $c
+ > $c
+done
+
+for h in `find crypto ssl apps test -name "*.h"` ; do
+ echo Removing EC2M references from $h
+ cat $h | \
+ awk 'BEGIN {ech=1;} \
+ /^#[ \t]*ifndef.*NO_EC2M/ {ech--; next;} \
+ /^#[ \t]*if/ {if(ech < 1) ech--;} \
+ {if(ech>0) {;print $0};} \
+ /^#[ \t]*endif/ {if(ech < 1) ech++;}' > $h.hobbled && \
+ mv $h.hobbled $h
+done
bgstack15