/** @file\r
The operations for Child SA.\r
\r
- Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>\r
\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
#include "Utility.h"\r
\r
/**\r
- Generate IKE Packet for CREATE_CHILD_SA exchange. \r
+ Generate IKE Packet for CREATE_CHILD_SA exchange.\r
\r
This IKE Packet would be the packet for creating new CHILD SA, or the packet for\r
rekeying existing IKE SA, or the packet for existing CHILD SA.\r
- \r
- @param[in] SaSession Pointer to related SA session. \r
+\r
+ @param[in] SaSession Pointer to related SA session.\r
@param[in] Context The data passed by the caller.\r
\r
return a pointer of IKE packet.\r
\r
NotifyPayload = NULL;\r
MessageId = NULL;\r
- \r
+\r
ChildSaSession = (IKEV2_CHILD_SA_SESSION *) SaSession;\r
if (ChildSaSession == NULL) {\r
return NULL;\r
}\r
- \r
+\r
IkePacket = IkePacketAlloc();\r
if (IkePacket == NULL) {\r
return NULL;\r
if (Context != NULL) {\r
MessageId = (UINT32 *) Context;\r
}\r
- \r
+\r
IkePacket->Header->Version = (UINT8) (2 << 4);\r
IkePacket->Header->NextPayload = IKEV2_PAYLOAD_TYPE_NOTIFY;\r
IkePacket->Header->ExchangeType = IKE_XCG_TYPE_CREATE_CHILD_SA;\r
- \r
+\r
if (ChildSaSession->SessionCommon.IkeSessionType == IkeSessionTypeChildSa) {\r
//\r
// 1.a Fill the IkePacket->Hdr\r
- // \r
+ //\r
IkePacket->Header->InitiatorCookie = ChildSaSession->IkeSaSession->InitiatorCookie;\r
IkePacket->Header->ResponderCookie = ChildSaSession->IkeSaSession->ResponderCookie;\r
- \r
+\r
if (MessageId != NULL) {\r
IkePacket->Header->MessageId = *MessageId;\r
} else {\r
IkePacket->Header->MessageId = ChildSaSession->MessageId;\r
- } \r
- \r
+ }\r
+\r
if (ChildSaSession->SessionCommon.IsInitiator) {\r
IkePacket->Header->Flags = IKE_HEADER_FLAGS_INIT;\r
}\r
- \r
+\r
} else {\r
IkeSaSession = (IKEV2_SA_SESSION *) SaSession;\r
//\r
IkePacket->Header->MessageId = *MessageId;\r
} else {\r
IkePacket->Header->MessageId = IkeSaSession->MessageId;\r
- } \r
- \r
+ }\r
+\r
if (IkeSaSession->SessionCommon.IsInitiator) {\r
IkePacket->Header->Flags = IKE_HEADER_FLAGS_INIT;\r
}\r
if (MessageId != NULL) {\r
IkePacket->Header->Flags |= IKE_HEADER_FLAGS_RESPOND;\r
}\r
- \r
+\r
//\r
// According to RFC4306, Chapter 4.\r
// A minimal implementation may support the CREATE_CHILD_SA exchange only to\r
NotifyPayload = Ikev2GenerateNotifyPayload (\r
0,\r
IKEV2_PAYLOAD_TYPE_NONE,\r
- 0, \r
+ 0,\r
IKEV2_NOTIFICATION_NO_ADDITIONAL_SAS,\r
NULL,\r
NULL,\r
0\r
);\r
- if (NotifyPayload == NULL) { \r
+ if (NotifyPayload == NULL) {\r
IkePacketFree (IkePacket);\r
return NULL;\r
}\r
- \r
+\r
IKE_PACKET_APPEND_PAYLOAD (IkePacket, NotifyPayload);\r
//\r
- // TODO: Support the CREATE_CHILD_SA exchange. \r
- // \r
+ // TODO: Support the CREATE_CHILD_SA exchange.\r
+ //\r
return IkePacket;\r
}\r
\r
/**\r
Parse the IKE packet of CREATE_CHILD_SA exchange.\r
- \r
+\r
This function parse the IKE packet and save the related information to further\r
- calculation. \r
- \r
+ calculation.\r
+\r
@param[in] SaSession Pointer to IKEv2_CHILD_SA_SESSION related to this Exchange.\r
@param[in] IkePacket Received packet to be parsed.\r
- \r
+\r
\r
@retval EFI_SUCCESS The IKE Packet is acceptable.\r
@retval EFI_UNSUPPORTED Not support the CREATE_CHILD_SA request.\r