summaryrefslogtreecommitdiffstats
path: root/hobble-openssl
blob: e8309422a07211298b459c64aeb58ef8d24594ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/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:   ????????? ??/??/20??

# Remove assembler portions of IDEA, MDC2, and RC5.
# (find crypto/rc5/asm -type f | xargs -r rm -fv)

# SRP.
for a in srp; do
  for c in `find crypto/$a -name "*.c" -a \! -name "*test*" -type f` ; do
	echo Destroying $c
	> $c
  done
done

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 SRP and EC2M references from $h
	cat $h | \
	awk    'BEGIN {ech=1;} \
		/^#[ \t]*ifndef.*NO_SRP/ {ech--; next;} \
		/^#[ \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