diff -r 000000000000 -r 33413c0669b9 vpnengine/ikev2lib/inc/ikemsgrec.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vpnengine/ikev2lib/inc/ikemsgrec.h Thu Dec 17 09:14:51 2009 +0200 @@ -0,0 +1,73 @@ +/* +* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Received IKE message handling rules. +* +*/ +#ifndef _IKEMSGREC_H_ +#define _IKEMSGREC_H_ +#include "ikev2payloads.h" + +class TIkev2SAData; + +NONSHARABLE_CLASS(CIkev2Payloads) : public CBase + { +public: + static CIkev2Payloads* NewL(const ThdrISAKMP &aHdr, const TIkev2SAData& aIkeV2SaData); + static CIkev2Payloads* NewL(TPayloadIkev2* aPayload, TUint8 aPayloadType, TIkev2SAData& aIkeV2SaData); + ~CIkev2Payloads(); + + ThdrISAKMP* GetIkeMsg(); + TInt Status(); + void SetStatus(TInt aStatus); + TBool Encrypted(); + TInt ParsePayloadL(TPayloadIkev2* aPayload, TUint16 aPlType); + +private: + CIkev2Payloads(const TIkev2SAData& aIkeV2SaData); + void ConstructL(); + + TInt ParsePayloadsL(TPayloadIkev2* aPayload, TInt aLength, TUint16 aPlType, TUint16 aRefPlType ); + void DecryptEncrPayloadL(TPayloadIkev2* aPayload); + +public: + TPayloadIkev2* iSa; + TKEPayloadIkev2* iKe; + TPayloadIkev2* iNonce; + TAuthPayloadIkev2* iAuth; + TIDPayloadIkev2* iIdI; + TIDPayloadIkev2* iIdR; + TTSPayloadIkev2* iTsI; + TTSPayloadIkev2* iTsR; + TPayloadIkev2* iEncr; + TCPPayloadIkev2* iCp; + TPayloadIkev2* iEap; + + CArrayFixFlat* iProps; + CArrayFixFlat* iTrans; + CArrayFixFlat* iCerts; + CArrayFixFlat* iCertReqs; + CArrayFixFlat* iNotifs; + CArrayFixFlat* iDeletes; + CArrayFixFlat* iVids; + + CArrayFixFlat* iGenPlds; + +private: + const TIkev2SAData& iIkeV2SaData; + ThdrISAKMP* iIkeMsg; + TBool iEncrypted; + TInt iStatus; + + }; +#endif