]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/IpSecDxe/Ikev2/ChildSa.c
NetworkPkg/IpSecDxe: Fix wrong IKE header "FLAG" update
[mirror_edk2.git] / NetworkPkg / IpSecDxe / Ikev2 / ChildSa.c
index 1f0199b22d90314599ca3b6c371157dbf5e29035..eaccad20862fe36de6ab56f12bfb43d2bde38a2a 100644 (file)
@@ -76,9 +76,7 @@ Ikev2CreateChildGenerator (
     }    \r
     \r
     if (ChildSaSession->SessionCommon.IsInitiator) {\r
-      IkePacket->Header->Flags = IKE_HEADER_FLAGS_CHILD_INIT;\r
-    } else {\r
-      IkePacket->Header->Flags = IKE_HEADER_FLAGS_RESPOND;\r
+      IkePacket->Header->Flags = IKE_HEADER_FLAGS_INIT;\r
     }\r
       \r
   } else {\r
@@ -96,11 +94,13 @@ Ikev2CreateChildGenerator (
     }    \r
     \r
     if (IkeSaSession->SessionCommon.IsInitiator) {\r
-      IkePacket->Header->Flags = IKE_HEADER_FLAGS_CHILD_INIT;\r
-    } else {\r
-      IkePacket->Header->Flags = IKE_HEADER_FLAGS_RESPOND;\r
+      IkePacket->Header->Flags = IKE_HEADER_FLAGS_INIT;\r
     }\r
-  } \r
+  }\r
+\r
+  if (MessageId != NULL) {\r
+    IkePacket->Header->Flags |= IKE_HEADER_FLAGS_RESPOND;\r
+  }\r
    \r
   //\r
   // According to RFC4306, Chapter 4.\r