Blame SOURCES/crypto-policies-libreswan-fix.patch

99b432
diff -up crypto-policies/back-ends/libreswan.pl.libreswan-fix crypto-policies/back-ends/libreswan.pl
99b432
--- crypto-policies/back-ends/libreswan.pl.libreswan-fix	2018-12-17 17:01:44.000000000 +0100
99b432
+++ crypto-policies/back-ends/libreswan.pl	2019-02-18 10:34:57.525777928 +0100
99b432
@@ -26,7 +26,9 @@ sub append {
99b432
 
99b432
 my %group_map = (
99b432
 	'X448'    => '',
99b432
-	'X25519'    => '', #dh31 - not in f28
99b432
+	'X25519'    => '',
99b432
+# Disabled for now as it cannot be prioritized over others
99b432
+#	'X25519'    => 'dh31',
99b432
 	'SECP256R1' => 'dh19',
99b432
 	'SECP384R1' => 'dh20',
99b432
 	'SECP521R1' => 'dh21',
99b432
@@ -38,31 +40,42 @@ my %group_map = (
99b432
 	'FFDHE-8192' => 'dh18'
99b432
 );
99b432
 
99b432
+my %cipher_map = (
99b432
+	'AES-256-CBC'       => 'aes256',
99b432
+	'AES-128-CBC'       => 'aes128',
99b432
+	'AES-256-GCM'       => 'aes_gcm256',
99b432
+	'AES-128-GCM'       => 'aes_gcm128',
99b432
+	'CHACHA20-POLY1305' => 'chacha20_poly1305',
99b432
+# Unused for IKEv2
99b432
+#	'3DES-CBC'          => '3des',
99b432
+);
99b432
+
99b432
 my %cipher_prf_map = (
99b432
-	'AES-256-CBC-HMAC-SHA2-512'       => 'aes256-sha2_512',
99b432
-	'AES-256-CBC-HMAC-SHA2-256'       => 'aes256-sha2_256',
99b432
-	'AES-128-CBC-HMAC-SHA2-256'       => 'aes128-sha2_256',
99b432
-	'AES-256-CBC-HMAC-SHA1'       => 'aes256-sha1',
99b432
-	'AES-128-CBC-HMAC-SHA1'       => 'aes128-sha1',
99b432
-	'AES-256-GCM-HMAC-SHA2-512'       => 'aes_gcm256-sha2_512',
99b432
-	'AES-256-GCM-HMAC-SHA2-256'       => 'aes_gcm256-sha2_256',
99b432
-	'AES-128-GCM-HMAC-SHA2-512'       => 'aes_gcm128-sha2_512',
99b432
-	'AES-128-GCM-HMAC-SHA2-256'       => 'aes_gcm128-sha2_256',
99b432
-	'CHACHA20-POLY1305-HMAC-SHA2-512' => 'chacha20_poly1305-sha2_512',
99b432
-	'CHACHA20-POLY1305-HMAC-SHA2-256' => 'chacha20_poly1305-sha2_256',
99b432
-	'3DES-CBC-HMAC-SHA1'          => '3des-sha1',
99b432
+	'AES-256-CBC-HMAC-SHA2-512'       => 'sha2_512',
99b432
+	'AES-256-CBC-HMAC-SHA2-256'       => 'sha2_256',
99b432
+	'AES-128-CBC-HMAC-SHA2-256'       => 'sha2_256',
99b432
+# Not needed for IKEv2
99b432
+#	'AES-256-CBC-HMAC-SHA1'           => 'sha1',
99b432
+#	'AES-128-CBC-HMAC-SHA1'           => 'sha1',
99b432
+	'AES-256-GCM-HMAC-SHA2-512'       => 'sha2_512',
99b432
+	'AES-256-GCM-HMAC-SHA2-256'       => 'sha2_256',
99b432
+	'AES-128-GCM-HMAC-SHA2-512'       => 'sha2_512',
99b432
+	'AES-128-GCM-HMAC-SHA2-256'       => 'sha2_256',
99b432
+	'CHACHA20-POLY1305-HMAC-SHA2-512' => 'sha2_512',
99b432
+	'CHACHA20-POLY1305-HMAC-SHA2-256' => 'sha2_256',
99b432
+#	'3DES-CBC-HMAC-SHA1'              => 'sha1',
99b432
 );
99b432
 
99b432
 my %cipher_mac_map = (
99b432
-	'AES-256-CBC-HMAC-SHA2-512'       => 'aes256-sha2_512',
99b432
-	'AES-256-CBC-HMAC-SHA2-256'       => 'aes256-sha2_256',
99b432
-	'AES-128-CBC-HMAC-SHA2-256'       => 'aes128-sha2_256',
99b432
-	'AES-256-CBC-HMAC-SHA1'       => 'aes256-sha1',
99b432
-	'AES-128-CBC-HMAC-SHA1'       => 'aes128-sha1',
99b432
-	'AES-256-GCM-AEAD'            => 'aes_gcm256',
99b432
-	'AES-128-GCM-AEAD'            => 'aes_gcm128',
99b432
-	'CHACHA20-POLY1305-AEAD'      => 'chacha20_poly1305',
99b432
-	'3DES-CBC-HMAC-SHA1'          => '3des-sha1',
99b432
+	'AES-256-CBC-HMAC-SHA2-512'       => 'sha2_512',
99b432
+	'AES-256-CBC-HMAC-SHA2-256'       => 'sha2_256',
99b432
+	'AES-128-CBC-HMAC-SHA2-256'       => 'sha2_256',
99b432
+	'AES-256-CBC-HMAC-SHA1'       => 'sha1',
99b432
+	'AES-128-CBC-HMAC-SHA1'       => 'sha1',
99b432
+	'AES-256-GCM-AEAD'            => '',
99b432
+	'AES-128-GCM-AEAD'            => '',
99b432
+	'CHACHA20-POLY1305-AEAD'      => '',
99b432
+#	'3DES-CBC-HMAC-SHA1'          => '3des-sha1',
99b432
 );
99b432
 
99b432
 my %protocol_map = (
99b432
@@ -147,35 +160,52 @@ sub generate_temp_policy() {
99b432
 	$tmp = '';
99b432
 
99b432
 	my $cipher;
99b432
+	my $cm;
99b432
 	my $group;
99b432
 	my $mac;
99b432
+	my $mm;
99b432
 	my $combo;
99b432
 
99b432
 	%mac_prio_map = %mac_ike_prio_map;
99b432
 	my @sorted_mac_list = sort compare @mac_list;
99b432
 
99b432
-	foreach (@group_list) {
99b432
-		$group = $group_map{$_};
99b432
-		if (!defined($group) || $group eq '') {
99b432
+
99b432
+	foreach (@cipher_list) {
99b432
+		$cipher = $_;
99b432
+		$cm = $cipher_map{$cipher};
99b432
+		if (!defined($cm)) {
99b432
+#			print STDERR "libreswan: unknown cipher: $cipher\n";
99b432
 			next;
99b432
 		}
99b432
+		$combo = $cm."-";
99b432
+		foreach (@sorted_mac_list) {
99b432
+			$mac = $_;
99b432
 
99b432
-		foreach (@cipher_list) {
99b432
-			$cipher = $_;
99b432
-			foreach (@sorted_mac_list) {
99b432
-				$mac = $_;
99b432
-
99b432
-				my $cm=$cipher."-".$mac;
99b432
-				$combo = $cipher_prf_map{$cm};
99b432
-
99b432
-				if (!defined($combo)) {
99b432
-#					print STDERR "libreswan: unknown combo: $cipher-$mac\n";
99b432
-					next;
99b432
-				}
99b432
+			$mm = $cipher_prf_map{$cipher."-".$mac};
99b432
 
99b432
-				append("${combo};${group}", \$tmp);
99b432
+			if (!defined($mm)) {
99b432
+#				print STDERR "libreswan: unknown combo: $cipher-$mac\n";
99b432
+				next;
99b432
 			}
99b432
+
99b432
+			$combo = $combo.$mm."+";
99b432
 		}
99b432
+
99b432
+		my $lastc = substr($combo, -1);
99b432
+		if ($lastc eq "-") {
99b432
+			next;
99b432
+		}
99b432
+		# Replace the last + with -
99b432
+		substr($combo, -1) = "-";
99b432
+		foreach (@group_list) {
99b432
+			$group = $group_map{$_};
99b432
+			if (!defined($group) || $group eq '') {
99b432
+				next;
99b432
+			}
99b432
+			$combo = $combo.$group."+";
99b432
+		}
99b432
+		substr($combo, -1) = '';
99b432
+		append("${combo}", \$tmp);
99b432
 	}
99b432
 
99b432
 	if ($tmp ne '') {
99b432
@@ -189,20 +219,35 @@ sub generate_temp_policy() {
99b432
 	$tmp = '';
99b432
 	foreach (@cipher_list) {
99b432
 		$cipher = $_;
99b432
+		$cm = $cipher_map{$cipher};
99b432
+		if (!defined($cm)) {
99b432
+#			print STDERR "libreswan: unknown cipher: $cipher\n";
99b432
+			next;
99b432
+		}
99b432
+		$combo = $cm."-";
99b432
 		foreach (@sorted_mac_list) {
99b432
 			$mac = $_;
99b432
 
99b432
-			my $cm=$cipher."-".$mac;
99b432
-			$combo = $cipher_mac_map{$cm};
99b432
+			$mm = $cipher_mac_map{$cipher."-".$mac};
99b432
 
99b432
-			if (!defined($combo)) {
99b432
+			if (!defined($mm)) {
99b432
 				next;
99b432
 			}
99b432
 
99b432
-			if ($tmp !~ $combo) {
99b432
-				append("${combo}", \$tmp);
99b432
+			if ($mm eq '') {
99b432
+				# Special handling for AEAD
99b432
+				substr($combo, -1) = '+';
99b432
+			} else {
99b432
+				$combo = $combo.$mm."+";
99b432
 			}
99b432
 		}
99b432
+
99b432
+		my $lastc = substr($combo, -1);
99b432
+		if ($lastc eq "-") {
99b432
+			next;
99b432
+		}
99b432
+		substr($combo, -1) = '';
99b432
+		append("${combo}", \$tmp);
99b432
 	}
99b432
 
99b432
 	if ($tmp ne '') {
99b432
diff -up crypto-policies/tests/outputs/DEFAULT-libreswan.txt.libreswan-fix crypto-policies/tests/outputs/DEFAULT-libreswan.txt
99b432
--- crypto-policies/tests/outputs/DEFAULT-libreswan.txt.libreswan-fix	2018-12-17 17:01:44.000000000 +0100
99b432
+++ crypto-policies/tests/outputs/DEFAULT-libreswan.txt	2019-02-18 10:34:57.526777910 +0100
99b432
@@ -1,5 +1,5 @@
99b432
 conn %default
99b432
 	ikev2=insist
99b432
 	pfs=yes
99b432
-	ike=aes_gcm256-sha2_512;dh19,aes_gcm256-sha2_256;dh19,chacha20_poly1305-sha2_512;dh19,chacha20_poly1305-sha2_256;dh19,aes256-sha2_512;dh19,aes256-sha2_256;dh19,aes256-sha1;dh19,aes_gcm128-sha2_512;dh19,aes_gcm128-sha2_256;dh19,aes128-sha2_256;dh19,aes128-sha1;dh19,aes_gcm256-sha2_512;dh20,aes_gcm256-sha2_256;dh20,chacha20_poly1305-sha2_512;dh20,chacha20_poly1305-sha2_256;dh20,aes256-sha2_512;dh20,aes256-sha2_256;dh20,aes256-sha1;dh20,aes_gcm128-sha2_512;dh20,aes_gcm128-sha2_256;dh20,aes128-sha2_256;dh20,aes128-sha1;dh20,aes_gcm256-sha2_512;dh21,aes_gcm256-sha2_256;dh21,chacha20_poly1305-sha2_512;dh21,chacha20_poly1305-sha2_256;dh21,aes256-sha2_512;dh21,aes256-sha2_256;dh21,aes256-sha1;dh21,aes_gcm128-sha2_512;dh21,aes_gcm128-sha2_256;dh21,aes128-sha2_256;dh21,aes128-sha1;dh21,aes_gcm256-sha2_512;dh14,aes_gcm256-sha2_256;dh14,chacha20_poly1305-sha2_512;dh14,chacha20_poly1305-sha2_256;dh14,aes256-sha2_512;dh14,aes256-sha2_256;dh14,aes256-sha1;dh14,aes_gcm128-sha2_512;dh14,aes_gcm128-sha2_256;dh14,aes128-sha2_256;dh14,aes128-sha1;dh14,aes_gcm256-sha2_512;dh15,aes_gcm256-sha2_256;dh15,chacha20_poly1305-sha2_512;dh15,chacha20_poly1305-sha2_256;dh15,aes256-sha2_512;dh15,aes256-sha2_256;dh15,aes256-sha1;dh15,aes_gcm128-sha2_512;dh15,aes_gcm128-sha2_256;dh15,aes128-sha2_256;dh15,aes128-sha1;dh15,aes_gcm256-sha2_512;dh16,aes_gcm256-sha2_256;dh16,chacha20_poly1305-sha2_512;dh16,chacha20_poly1305-sha2_256;dh16,aes256-sha2_512;dh16,aes256-sha2_256;dh16,aes256-sha1;dh16,aes_gcm128-sha2_512;dh16,aes_gcm128-sha2_256;dh16,aes128-sha2_256;dh16,aes128-sha1;dh16,aes_gcm256-sha2_512;dh18,aes_gcm256-sha2_256;dh18,chacha20_poly1305-sha2_512;dh18,chacha20_poly1305-sha2_256;dh18,aes256-sha2_512;dh18,aes256-sha2_256;dh18,aes256-sha1;dh18,aes_gcm128-sha2_512;dh18,aes_gcm128-sha2_256;dh18,aes128-sha2_256;dh18,aes128-sha1;dh18
99b432
-	esp=aes_gcm256,chacha20_poly1305,aes256-sha2_512,aes256-sha1,aes256-sha2_256,aes_gcm128,aes128-sha1,aes128-sha2_256
99b432
+	ike=aes_gcm256-sha2_512+sha2_256-dh19+dh20+dh21+dh14+dh15+dh16+dh18,chacha20_poly1305-sha2_512+sha2_256-dh19+dh20+dh21+dh14+dh15+dh16+dh18,aes256-sha2_512+sha2_256-dh19+dh20+dh21+dh14+dh15+dh16+dh18,aes_gcm128-sha2_512+sha2_256-dh19+dh20+dh21+dh14+dh15+dh16+dh18,aes128-sha2_256-dh19+dh20+dh21+dh14+dh15+dh16+dh18
99b432
+	esp=aes_gcm256,chacha20_poly1305,aes256-sha2_512+sha1+sha2_256,aes_gcm128,aes128-sha1+sha2_256
99b432
diff -up crypto-policies/tests/outputs/FIPS-libreswan.txt.libreswan-fix crypto-policies/tests/outputs/FIPS-libreswan.txt
99b432
--- crypto-policies/tests/outputs/FIPS-libreswan.txt.libreswan-fix	2018-12-17 17:01:44.000000000 +0100
99b432
+++ crypto-policies/tests/outputs/FIPS-libreswan.txt	2019-02-18 10:34:57.526777910 +0100
99b432
@@ -1,5 +1,5 @@
99b432
 conn %default
99b432
 	ikev2=insist
99b432
 	pfs=yes
99b432
-	ike=aes_gcm256-sha2_512;dh19,aes_gcm256-sha2_256;dh19,aes256-sha2_512;dh19,aes256-sha2_256;dh19,aes256-sha1;dh19,aes_gcm128-sha2_512;dh19,aes_gcm128-sha2_256;dh19,aes128-sha2_256;dh19,aes128-sha1;dh19,aes_gcm256-sha2_512;dh20,aes_gcm256-sha2_256;dh20,aes256-sha2_512;dh20,aes256-sha2_256;dh20,aes256-sha1;dh20,aes_gcm128-sha2_512;dh20,aes_gcm128-sha2_256;dh20,aes128-sha2_256;dh20,aes128-sha1;dh20,aes_gcm256-sha2_512;dh21,aes_gcm256-sha2_256;dh21,aes256-sha2_512;dh21,aes256-sha2_256;dh21,aes256-sha1;dh21,aes_gcm128-sha2_512;dh21,aes_gcm128-sha2_256;dh21,aes128-sha2_256;dh21,aes128-sha1;dh21,aes_gcm256-sha2_512;dh14,aes_gcm256-sha2_256;dh14,aes256-sha2_512;dh14,aes256-sha2_256;dh14,aes256-sha1;dh14,aes_gcm128-sha2_512;dh14,aes_gcm128-sha2_256;dh14,aes128-sha2_256;dh14,aes128-sha1;dh14,aes_gcm256-sha2_512;dh15,aes_gcm256-sha2_256;dh15,aes256-sha2_512;dh15,aes256-sha2_256;dh15,aes256-sha1;dh15,aes_gcm128-sha2_512;dh15,aes_gcm128-sha2_256;dh15,aes128-sha2_256;dh15,aes128-sha1;dh15,aes_gcm256-sha2_512;dh16,aes_gcm256-sha2_256;dh16,aes256-sha2_512;dh16,aes256-sha2_256;dh16,aes256-sha1;dh16,aes_gcm128-sha2_512;dh16,aes_gcm128-sha2_256;dh16,aes128-sha2_256;dh16,aes128-sha1;dh16,aes_gcm256-sha2_512;dh18,aes_gcm256-sha2_256;dh18,aes256-sha2_512;dh18,aes256-sha2_256;dh18,aes256-sha1;dh18,aes_gcm128-sha2_512;dh18,aes_gcm128-sha2_256;dh18,aes128-sha2_256;dh18,aes128-sha1;dh18
99b432
-	esp=aes_gcm256,aes256-sha2_512,aes256-sha1,aes256-sha2_256,aes_gcm128,aes128-sha1,aes128-sha2_256
99b432
+	ike=aes_gcm256-sha2_512+sha2_256-dh19+dh20+dh21+dh14+dh15+dh16+dh18,aes256-sha2_512+sha2_256-dh19+dh20+dh21+dh14+dh15+dh16+dh18,aes_gcm128-sha2_512+sha2_256-dh19+dh20+dh21+dh14+dh15+dh16+dh18,aes128-sha2_256-dh19+dh20+dh21+dh14+dh15+dh16+dh18
99b432
+	esp=aes_gcm256,aes256-sha2_512+sha1+sha2_256,aes_gcm128,aes128-sha1+sha2_256
99b432
diff -up crypto-policies/tests/outputs/FUTURE-libreswan.txt.libreswan-fix crypto-policies/tests/outputs/FUTURE-libreswan.txt
99b432
--- crypto-policies/tests/outputs/FUTURE-libreswan.txt.libreswan-fix	2018-12-17 17:01:44.000000000 +0100
99b432
+++ crypto-policies/tests/outputs/FUTURE-libreswan.txt	2019-02-18 10:34:57.527777893 +0100
99b432
@@ -1,5 +1,5 @@
99b432
 conn %default
99b432
 	ikev2=insist
99b432
 	pfs=yes
99b432
-	ike=aes_gcm256-sha2_512;dh19,aes_gcm256-sha2_256;dh19,chacha20_poly1305-sha2_512;dh19,chacha20_poly1305-sha2_256;dh19,aes256-sha2_512;dh19,aes256-sha2_256;dh19,aes_gcm256-sha2_512;dh20,aes_gcm256-sha2_256;dh20,chacha20_poly1305-sha2_512;dh20,chacha20_poly1305-sha2_256;dh20,aes256-sha2_512;dh20,aes256-sha2_256;dh20,aes_gcm256-sha2_512;dh21,aes_gcm256-sha2_256;dh21,chacha20_poly1305-sha2_512;dh21,chacha20_poly1305-sha2_256;dh21,aes256-sha2_512;dh21,aes256-sha2_256;dh21,aes_gcm256-sha2_512;dh15,aes_gcm256-sha2_256;dh15,chacha20_poly1305-sha2_512;dh15,chacha20_poly1305-sha2_256;dh15,aes256-sha2_512;dh15,aes256-sha2_256;dh15,aes_gcm256-sha2_512;dh16,aes_gcm256-sha2_256;dh16,chacha20_poly1305-sha2_512;dh16,chacha20_poly1305-sha2_256;dh16,aes256-sha2_512;dh16,aes256-sha2_256;dh16,aes_gcm256-sha2_512;dh18,aes_gcm256-sha2_256;dh18,chacha20_poly1305-sha2_512;dh18,chacha20_poly1305-sha2_256;dh18,aes256-sha2_512;dh18,aes256-sha2_256;dh18
99b432
-	esp=aes_gcm256,chacha20_poly1305,aes256-sha2_512,aes256-sha2_256
99b432
+	ike=aes_gcm256-sha2_512+sha2_256-dh19+dh20+dh21+dh15+dh16+dh18,chacha20_poly1305-sha2_512+sha2_256-dh19+dh20+dh21+dh15+dh16+dh18,aes256-sha2_512+sha2_256-dh19+dh20+dh21+dh15+dh16+dh18
99b432
+	esp=aes_gcm256,chacha20_poly1305,aes256-sha2_512+sha2_256
99b432
diff -up crypto-policies/tests/outputs/LEGACY-libreswan.txt.libreswan-fix crypto-policies/tests/outputs/LEGACY-libreswan.txt
99b432
--- crypto-policies/tests/outputs/LEGACY-libreswan.txt.libreswan-fix	2018-12-17 17:01:44.000000000 +0100
99b432
+++ crypto-policies/tests/outputs/LEGACY-libreswan.txt	2019-02-18 10:34:57.527777893 +0100
99b432
@@ -1,5 +1,5 @@
99b432
 conn %default
99b432
 	ikev2=insist
99b432
 	pfs=yes
99b432
-	ike=aes_gcm256-sha2_512;dh19,aes_gcm256-sha2_256;dh19,chacha20_poly1305-sha2_512;dh19,chacha20_poly1305-sha2_256;dh19,aes256-sha2_512;dh19,aes256-sha2_256;dh19,aes256-sha1;dh19,aes_gcm128-sha2_512;dh19,aes_gcm128-sha2_256;dh19,aes128-sha2_256;dh19,aes128-sha1;dh19,3des-sha1;dh19,aes_gcm256-sha2_512;dh20,aes_gcm256-sha2_256;dh20,chacha20_poly1305-sha2_512;dh20,chacha20_poly1305-sha2_256;dh20,aes256-sha2_512;dh20,aes256-sha2_256;dh20,aes256-sha1;dh20,aes_gcm128-sha2_512;dh20,aes_gcm128-sha2_256;dh20,aes128-sha2_256;dh20,aes128-sha1;dh20,3des-sha1;dh20,aes_gcm256-sha2_512;dh21,aes_gcm256-sha2_256;dh21,chacha20_poly1305-sha2_512;dh21,chacha20_poly1305-sha2_256;dh21,aes256-sha2_512;dh21,aes256-sha2_256;dh21,aes256-sha1;dh21,aes_gcm128-sha2_512;dh21,aes_gcm128-sha2_256;dh21,aes128-sha2_256;dh21,aes128-sha1;dh21,3des-sha1;dh21,aes_gcm256-sha2_512;dh5,aes_gcm256-sha2_256;dh5,chacha20_poly1305-sha2_512;dh5,chacha20_poly1305-sha2_256;dh5,aes256-sha2_512;dh5,aes256-sha2_256;dh5,aes256-sha1;dh5,aes_gcm128-sha2_512;dh5,aes_gcm128-sha2_256;dh5,aes128-sha2_256;dh5,aes128-sha1;dh5,3des-sha1;dh5,aes_gcm256-sha2_512;dh14,aes_gcm256-sha2_256;dh14,chacha20_poly1305-sha2_512;dh14,chacha20_poly1305-sha2_256;dh14,aes256-sha2_512;dh14,aes256-sha2_256;dh14,aes256-sha1;dh14,aes_gcm128-sha2_512;dh14,aes_gcm128-sha2_256;dh14,aes128-sha2_256;dh14,aes128-sha1;dh14,3des-sha1;dh14,aes_gcm256-sha2_512;dh15,aes_gcm256-sha2_256;dh15,chacha20_poly1305-sha2_512;dh15,chacha20_poly1305-sha2_256;dh15,aes256-sha2_512;dh15,aes256-sha2_256;dh15,aes256-sha1;dh15,aes_gcm128-sha2_512;dh15,aes_gcm128-sha2_256;dh15,aes128-sha2_256;dh15,aes128-sha1;dh15,3des-sha1;dh15,aes_gcm256-sha2_512;dh16,aes_gcm256-sha2_256;dh16,chacha20_poly1305-sha2_512;dh16,chacha20_poly1305-sha2_256;dh16,aes256-sha2_512;dh16,aes256-sha2_256;dh16,aes256-sha1;dh16,aes_gcm128-sha2_512;dh16,aes_gcm128-sha2_256;dh16,aes128-sha2_256;dh16,aes128-sha1;dh16,3des-sha1;dh16,aes_gcm256-sha2_512;dh18,aes_gcm256-sha2_256;dh18,chacha20_poly1305-sha2_512;dh18,chacha20_poly1305-sha2_256;dh18,aes256-sha2_512;dh18,aes256-sha2_256;dh18,aes256-sha1;dh18,aes_gcm128-sha2_512;dh18,aes_gcm128-sha2_256;dh18,aes128-sha2_256;dh18,aes128-sha1;dh18,3des-sha1;dh18
99b432
-	esp=aes_gcm256,chacha20_poly1305,aes256-sha2_512,aes256-sha1,aes256-sha2_256,aes_gcm128,aes128-sha1,aes128-sha2_256,3des-sha1
99b432
+	ike=aes_gcm256-sha2_512+sha2_256-dh19+dh20+dh21+dh5+dh14+dh15+dh16+dh18,chacha20_poly1305-sha2_512+sha2_256-dh19+dh20+dh21+dh5+dh14+dh15+dh16+dh18,aes256-sha2_512+sha2_256-dh19+dh20+dh21+dh5+dh14+dh15+dh16+dh18,aes_gcm128-sha2_512+sha2_256-dh19+dh20+dh21+dh5+dh14+dh15+dh16+dh18,aes128-sha2_256-dh19+dh20+dh21+dh5+dh14+dh15+dh16+dh18
99b432
+	esp=aes_gcm256,chacha20_poly1305,aes256-sha2_512+sha1+sha2_256,aes_gcm128,aes128-sha1+sha2_256