Blame SOURCES/libreswan-4.3-maintain-different-v1v2-split.patch

ce0215
From 83487373fdd77437e51cfccd41532e270e279e05 Mon Sep 17 00:00:00 2001
ce0215
From: rpm-build <rpm-build>
ce0215
Date: Tue, 10 Jan 2023 00:11:26 +0900
ce0215
Subject: [PATCH] libreswan-4.3-maintain-different-v1v2-split.patch
ce0215
ce0215
---
ce0215
 configs/d.ipsec.conf/ikev2.xml | 14 +++++++-------
ce0215
 lib/libipsecconf/confread.c    |  8 +++++++-
ce0215
 programs/whack/whack.c         |  4 ++--
ce0215
 3 files changed, 16 insertions(+), 10 deletions(-)
ce0215
ce0215
diff --git a/configs/d.ipsec.conf/ikev2.xml b/configs/d.ipsec.conf/ikev2.xml
ce0215
index 3d03825..285db1b 100644
ce0215
--- a/configs/d.ipsec.conf/ikev2.xml
ce0215
+++ b/configs/d.ipsec.conf/ikev2.xml
ce0215
@@ -2,14 +2,14 @@
f301ee
   <term><emphasis remap='B'>ikev2</emphasis></term>
f301ee
   <listitem>
ce0215
 <para>Whether to use IKEv2 (RFC 7296) or IKEv1 (RFC 4301).
ce0215
-Currently the accepted values are <emphasis remap='B'>yes</emphasis> (the default),
ce0215
-signifying only IKEv2 is accepted, or <emphasis remap='B'>no</emphasis>,
ce0215
+Currently the accepted values are <emphasis remap='B'>insist</emphasis> (the default),
ce0215
+signifying only IKEv2 is accepted, or <emphasis remap='B'>no</emphasis> (or <emphasis remap='B'>never</emphasis>),
ce0215
 signifying only IKEv1 is accepted. Previous versions allowed the keywords
f301ee
-<emphasis remap='B'>propose</emphasis> or <emphasis remap='B'>permit</emphasis>
f301ee
-that would allow either IKEv1 or IKEv2, but this is no longer supported. The
f301ee
-permit option is interpreted as no and the propose option is interpreted as
f301ee
-yes. Older versions also supported keyword
f301ee
-<emphasis remap='B'>insist</emphasis> which is now interpreted as yes.
f301ee
+<emphasis remap='B'>propose</emphasis>, <emphasis remap='B'>yes</emphasis> or <emphasis remap='B'>permit</emphasis>
f301ee
+that would allow either IKEv1 or IKEv2, but this is no longer supported and both options
f301ee
+now cause the connection to fail to load. <emphasis remap='B'>WARNING:</emphasis> This behaviour differs from upstream
f301ee
+libreswan, which only accepts <emphasis remap='B'>yes</emphasis> or <emphasis remap='B'>no</emphasis> where yes means
f301ee
+the same as insist.
f301ee
 </para>
f301ee
   </listitem>
f301ee
   </varlistentry>
ce0215
diff --git a/lib/libipsecconf/confread.c b/lib/libipsecconf/confread.c
ce0215
index b95c90a..e752441 100644
ce0215
--- a/lib/libipsecconf/confread.c
ce0215
+++ b/lib/libipsecconf/confread.c
ce0215
@@ -1340,11 +1340,17 @@ static bool load_conn(struct starter_conn *conn,
f301ee
 
418cb8
 		switch (conn->options[KNCF_IKEv2]) {
418cb8
 		case fo_never:
418cb8
-		case fo_permit:
09ee62
 			conn->ike_version = IKEv1;
418cb8
 			break;
09ee62
 
418cb8
+		case fo_permit:
418cb8
+			starter_error_append(perrl, "ikev2=permit is no longer accepted. Use ikev2=insist or ikev2=no|never");
ce0215
+			return true;
09ee62
+
418cb8
 		case fo_propose:
418cb8
+			starter_error_append(perrl, "ikev2=propose or ikev2=yes is no longer accepted. Use ikev2=insist or ikev2=no|never");
ce0215
+			return true;
09ee62
+
418cb8
 		case fo_insist:
09ee62
 			conn->ike_version = IKEv2;
09ee62
 			break;
ce0215
diff --git a/programs/whack/whack.c b/programs/whack/whack.c
ce0215
index b512b04..3de020e 100644
ce0215
--- a/programs/whack/whack.c
ce0215
+++ b/programs/whack/whack.c
ce0215
@@ -815,7 +815,7 @@ static const struct option long_opts[] = {
09ee62
 	{ "ikev1-allow", no_argument, NULL, CD_IKEv1 + OO }, /* obsolete name */
09ee62
 	{ "ikev2", no_argument, NULL, CD_IKEv2 +OO },
09ee62
 	{ "ikev2-allow", no_argument, NULL, CD_IKEv2 +OO }, /* obsolete name */
09ee62
-	{ "ikev2-propose", no_argument, NULL, CD_IKEv2 +OO }, /* obsolete, map onto allow */
09ee62
+	/* not in RHEL8 { "ikev2-propose", no_argument, NULL, CD_IKEv2 +OO }, */
f301ee
 
f301ee
 	PS("allow-narrowing", IKEV2_ALLOW_NARROWING),
09ee62
 #ifdef AUTH_HAVE_PAM
ce0215
@@ -1802,7 +1802,7 @@ int main(int argc, char **argv)
09ee62
 			end_seen = LEMPTY;
09ee62
 			continue;
f301ee
 
09ee62
-		/* --ikev1 --ikev2 --ikev2-propose */
09ee62
+		/* --ikev1 --ikev2  */
09ee62
 		case CD_IKEv1:
09ee62
 		case CD_IKEv2:
09ee62
 		{
ce0215
-- 
ce0215
2.39.0
ce0215