diff --git a/html/cgi-bin/vpnmain.cgi b/html/cgi-bin/vpnmain.cgi
index 381974902..1d7535640 100644
--- a/html/cgi-bin/vpnmain.cgi
+++ b/html/cgi-bin/vpnmain.cgi
@@ -3030,8 +3030,8 @@ sub make_algos($$$$$) {
push(@algo, $int);
}
- if ($grp =~ m/^e\d+/) {
- push(@algo, $grp);
+ if ($grp =~ m/^e(\d+)/) {
+ push(@algo, "ecp$1");
} else {
push(@algo, "modp$grp");
}
diff --git a/lfs/openssl b/lfs/openssl
index d8925d7d1..455dcf15c 100644
--- a/lfs/openssl
+++ b/lfs/openssl
@@ -117,9 +117,10 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-1.0.1m-weak-ciphers.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-disable-sslv2-sslv3.patch
- # Enable Padlock in i586
+ # i586 specific patches
ifeq "$(MACHINE)" "i586"
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-1.0.2a_auto_enable_padlock.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-1.0.2a_disable_ssse3_for_amd.patch
endif
# Apply our CFLAGS
diff --git a/src/patches/openssl-1.0.2a_disable_ssse3_for_amd.patch b/src/patches/openssl-1.0.2a_disable_ssse3_for_amd.patch
new file mode 100644
index 000000000..097cc8071
--- /dev/null
+++ b/src/patches/openssl-1.0.2a_disable_ssse3_for_amd.patch
@@ -0,0 +1,11 @@
+diff -Naur openssl-1.0.2a.org/crypto/x86cpuid.pl openssl-1.0.2a/crypto/x86cpuid.pl
+--- openssl-1.0.2a.org/crypto/x86cpuid.pl 2015-03-19 14:30:36.000000000 +0100
++++ openssl-1.0.2a/crypto/x86cpuid.pl 2015-04-28 13:47:57.853521020 +0200
+@@ -71,6 +71,7 @@
+ &mov ("eax",1);
+ &xor ("ecx","ecx");
+ &cpuid ();
++ &and ("ecx",0xfffffdff); # clear SSSE3 because it is incredible slow on AMD's
+ &bt ("edx",28);
+ &jnc (&label("generic"));
+ &shr ("ebx",16);