diff -r bb2423252ea3 -r c1029e558ef5 networksecurity/ipsec/te_ipsec_selector_confilict/src/te_loadpolicy_bbd.cpp --- a/networksecurity/ipsec/te_ipsec_selector_confilict/src/te_loadpolicy_bbd.cpp Wed Sep 15 13:53:10 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,466 +0,0 @@ -/* -* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the License "Symbian Foundation License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -** @File :- te_loadpolicy_bbd.cpp Implements loading the policy -*/ - - -/** - * @file ts_ipsec_polapi.cpp Implements main test code for IPsec - */ - -#include "te_loadpolicy_bbd.h" -#include "te_ipsecconst.h" -#include "te_selectorconflict.h" -#include -#include "lib_pfkey.h" -#include "pfkey_ext.h" -#include "pfkey_send.h" -#include - - -#if defined(SYMBIAN_CRYPTO) -#include -#else -#include -#endif - -_LIT8( KMyPolicy, -"SECURITY_FILE_VERSION: 3\r\n[INFO]\r\n\ -IpSec Policy LOADING\r\n\ -[POLICY]\r\n\ -sa trans_1 = {\r\n\ -esp\r\n\ -encrypt_alg 12\r\n\ -src_specific\r\n\ -}\r\n\ -outbound remote 10.225.208.183 255.255.255.255 protocol 17 = { trans_1(10.225.208.183) }\r\n\ -inbound local 10.225.208.102 255.255.255.255 protocol 17 = { trans_1(10.225.208.183) }\r\n\ -inbound = {}\r\n\ -outbound = {}\r\n" ); - - -_LIT8( KMyPolicy1, -"SECURITY_FILE_VERSION: 3\r\n[INFO]\r\n\ -IpSec Policy LOADING\r\n\ -[POLICY]\r\n\ -sa trans_2 = {\r\n\ -esp\r\n\ -encrypt_alg 12\r\n\ -src_specific\r\n\ -}\r\n\ -outbound remote 10.225.208.49 255.255.255.255 protocol 17 = { trans_2(10.225.208.49) }\r\n\ -inbound local 10.225.208.155 255.255.255.255 protocol 17 = { trans_2(10.225.208.49) }\r\n" ); - -_LIT8( KMyPolicy2, -"SECURITY_FILE_VERSION: 3\r\n[INFO]\r\n\ -IpSec Policy LOADING\r\n\ -[POLICY]\r\n\ -sa trans_3 = {\r\n\ -esp\r\n\ -encrypt_alg 12\r\n\ -src_specific\r\n\ -}\r\n\ -outbound remote 192.168.1.1 255.255.255.255 protocol 17 = { trans_3() }\r\n\ -inbound local 192.168.1.2 255.255.255.255 protocol 17 = { trans_3() }\r\n\ -inbound = {}\r\n\ -outbound = {}\r\n" ); - - -/** -Purpose: Constructor of CT_IPSecIKEV2TestWrapper class -@internalComponent -*/ -CT_LoadPolicyBBD::CT_LoadPolicyBBD() - { - } - -/** -Purpose: Destructor of CT_LoadPolicyBBD class -@internalComponent -*/ -CT_LoadPolicyBBD::~CT_LoadPolicyBBD() - { - delete iObject; - iObject = NULL; - } - -/** -Purpose: Command fuction of CT_LoadPolicyBBD class -@internalComponent -*/ -CT_LoadPolicyBBD* CT_LoadPolicyBBD::NewL() - { - CT_LoadPolicyBBD* ret = new (ELeave) CT_LoadPolicyBBD(); - CleanupStack::PushL(ret); - ret->ConstructL(); - CleanupStack::Pop(ret); - return ret; - } - - -/** -Purpose: Command fuction for a wrapper class -@internalComponent -*/ -void CT_LoadPolicyBBD::ConstructL() - { - TInt errfound; - - iObject = new (ELeave) TInt; - errfound = iDrpPolicyServer.Connect(); - if( errfound != KErrNone ) - { - ERR_PRINTF2(_L("failed to connect RIpsecPolicyServ with error: %d"), errfound); - SetBlockResult(EFail); - return; - } - errfound=iBypsPolicyServer.Connect(); - if( errfound != KErrNone ) - { - ERR_PRINTF2(_L("failed to connect RIpsecPolicyServ with error: %d"), errfound); - SetBlockResult(EFail); - return; - } - - iMyZoneInfoSet.iSelectorZone.iScope = KScopeNetwork; - iMyZoneInfoSet.iSelectorZone.iId = 8; - iMyZoneInfoSet.iEndPointZone.iScope = KScopeNetwork; - iMyZoneInfoSet.iEndPointZone.iId = 7; - - } - - -/** -Purpose: Command fuction for a wrapper class -@internalComponent -*/ -TBool CT_LoadPolicyBBD::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex) - { - TBool ret = ETrue; - - // Print out the parameters for debugging - INFO_PRINTF2( _L("aCommand = %S"), &aCommand ); - INFO_PRINTF2( _L("aSection = %S"), &aSection ); - INFO_PRINTF2( _L("aAsyncErrorIndex = %D"), aAsyncErrorIndex ); - - if(KNewCMD() == aCommand) - { - DoCmdNewL(aSection); - } - else if(KTestLoadBypassPolicy() == aCommand) - { - DoLoadBypassModePolicy(aSection); - } - else if (KTestLoadDropModePolicy() == aCommand) - { - DoLoadDropModePolicy(aSection); - } - else if (KLoadNewBypassPolicy() == aCommand) - { - DoLoadNewBypassModePolicy(aSection); - } - else if (KUnloadDropPolicy() == aCommand) - { - DoUnloadDropPolicy(aSection); - } - else if (KUnloadBypassPolicy() == aCommand) - { - DoUnloadBypassPolicy(aSection); - } - else if (KUnloadNewBypassPolicy() == aCommand) - { - DoUnloadNewBypassPolicy(aSection); - } - else if (KCloseConnection() == aCommand) - { - DoCmdClose(aSection); - } - else - { - ret = EFalse; - } - - return ret; - } - - -/** -Purpose: To create a new object of the CTEFTest type through the API. - -Ini file options: - iniData - The data from the ini file at the section provided. - -@internalComponent -@param aSection Current ini file command section -*/ -void CT_LoadPolicyBBD::DoCmdNewL(const TDesC& aSection) - { - TInt objectValue = 0; - TInt iapid =0; - if (!GetIntFromConfig(aSection, KObjectValue(), objectValue)) - { - ERR_PRINTF2(_L("No parameter %S"), &KObjectValue()); - SetBlockResult(EFail); - } - else - { - *iObject = objectValue; - - if(!GetIntFromConfig(aSection, KIapid(), iapid)) - { - ERR_PRINTF2(_L("No parameter %S"), &KObjectValue()); - SetBlockResult(EFail); - } - else - { - } - } - } - -/** - * Bypass policy loading for ONB scripts - */ -void CT_LoadPolicyBBD::DoLoadBypassModePolicy(const TDesC& /*aSection*/) - { - RSocketServ pSocketServ; - /** Handle to SADB socket */ - RSADB pSADB; - TInt err; - - err = pSocketServ.Connect(); - if ( err != KErrNone) - { - ERR_PRINTF2(_L("DoLoadBypassModePolicy():- Failed to connect RSocketServ with error: %d"), err); - SetBlockResult(EFail); - } - err = pSADB.Open(pSocketServ); - if ( err != KErrNone) - { - ERR_PRINTF2(_L("DoLoadBypassModePolicy():- Failed to open RSADB with error: %d"), err); - SetBlockResult(EFail); - } - - - HBufC8 *policyData = HBufC8::NewLC( KMyPolicy().Length() + 256); // Allow size for IP spec. - TPtr8 policyDataPtr(policyData->Des()); - policyDataPtr.Append(KMyPolicy); - - TRequestStatus status; - iBypsPolicyServer.LoadPolicy( *policyData, iBypsPolicyHandle, status, iMyZoneInfoSet); - User::WaitForRequest(status); - - err = status.Int(); - if( err == KErrNone) - { - iBypsPolicyServer.ActivatePolicy( iBypsPolicyHandle(), status ); - User::WaitForRequest(status); - User::LeaveIfError(status.Int()); - SetBlockResult(EPass); - } - else - { - SetError(status.Int()); - ERR_PRINTF2(_L("DoLoadNewBypassPolicy():- LoadPolicy failed with error: %d"), err); - SetBlockResult(EFail); - } - CleanupStack::PopAndDestroy(policyData); - pSADB.Close(); - pSocketServ.Close(); - } - -/* -*Execute the test for closing the connection. -*/ -void CT_LoadPolicyBBD::DoLoadDropModePolicy(const TDesC& /*aSection*/) - { - RSocketServ pSocketServ; - /** Handle to SADB socket */ - RSADB pSADB; - TInt err; - - err = pSocketServ.Connect(); - if ( err != KErrNone) - { - ERR_PRINTF2(_L("DoLoadDropModePolicy():- Failed to connect RSocketServ with error: %d"), err); - SetBlockResult(EFail); - } - err = pSADB.Open(pSocketServ); - if ( err != KErrNone) - { - ERR_PRINTF2(_L("DoLoadDropModePolicy():- Failed to open RSADB with error: %d"), err); - SetBlockResult(EFail); - } - - HBufC8 *policyData = HBufC8::NewLC( KMyPolicy1().Length() + 256); // Allow size for IP spec. - TPtr8 policyDataPtr(policyData->Des()); - policyDataPtr.Append(KMyPolicy1); - /*** - * this code is to check the UMA setopt function - * - */ - TInt sur = 0x2002E241; - _LIT8(KFormatStr,"%D"); - TBuf8<50> sidbuf; - sidbuf.Format(KFormatStr,sur); - TLex8 lex(sidbuf); - TInt intval; - err = lex.Val(intval); - - //storing the SID information to the policy server which - //is used to identify the UMA policy in ipsec policy manager handler. - TInt error=0 ; - //pPolicyServer.SetOpt(KOptionNameSid, KOptionLevelDefault, sidbuf); - //ERR_PRINTF2(_L("DoLoadDropModePolicy->LoadPolicy ERROR in setOpt to the policy server %s"), sidBuffer); - RDebug::Printf("\n see the value \n"); - if ( KErrNone != error ) - { - ERR_PRINTF2(_L("DoLoadDropModePolicy->LoadPolicy ERROR in setOpt to the policy server %d"), error); - } - - TRequestStatus status; - iDrpPolicyServer.LoadPolicy( *policyData, iDrpPolicyHandle, status, iMyZoneInfoSet); - User::WaitForRequest(status); - TInt err1 = status.Int(); - if(err1 == KErrNone) - { - iDrpPolicyServer.ActivatePolicy(iDrpPolicyHandle(), status ); - User::WaitForRequest(status); - User::LeaveIfError(status.Int()); - SetBlockResult(EPass); - } - else - { - SetError(status.Int()); - ERR_PRINTF2(_L("DoLoadDropModePolicy->LoadPolicy failed with error: %d"),err1); - SetBlockResult(EFail); - } - CleanupStack::PopAndDestroy(policyData); - pSADB.Close(); - pSocketServ.Close(); - } - - -void CT_LoadPolicyBBD::DoLoadNewBypassModePolicy(const TDesC& /*aSection*/) - { - RSocketServ pSocketServ; - /** Handle to SADB socket */ - RSADB pSADB; - TInt err; - - err = pSocketServ.Connect(); - if ( err != KErrNone) - { - ERR_PRINTF2(_L("DoLoadNewBypassModePolicy():- Failed to connect RSocketServ with error: %d"), err); - SetBlockResult(EFail); - } - err = pSADB.Open(pSocketServ); - if ( err != KErrNone) - { - ERR_PRINTF2(_L("DoLoadNewBypassModePolicy():- Failed to open RSADB with error: %d"), err); - SetBlockResult(EFail); - } - - HBufC8 *policyData = HBufC8::NewLC( KMyPolicy2().Length() + 256); // Allow size for IP spec. - TPtr8 policyDataPtr(policyData->Des()); - policyDataPtr.Append(KMyPolicy2); - - - TRequestStatus status; - iBypsPolicyServer.LoadPolicy( *policyData, iNewBypsPolicyHandle, status, iMyZoneInfoSet); - User::WaitForRequest(status); - - err = status.Int(); - if( err == KErrNone) - { - iBypsPolicyServer.ActivatePolicy( iNewBypsPolicyHandle(), status ); - User::WaitForRequest(status); - User::LeaveIfError(status.Int()); - SetBlockResult(EPass); - } - else - { - SetError(status.Int()); - ERR_PRINTF2(_L("DoLoadNewBypassPolicy():- LoadPolicy failed with error: %d"), err); - SetBlockResult(EFail); - } - CleanupStack::PopAndDestroy(policyData); - pSADB.Close(); - pSocketServ.Close(); - } - - -/* -*Execute the test to unload the policy. -*/ -void CT_LoadPolicyBBD::DoUnloadDropPolicy(const TDesC& /*aSection*/) - { - TRequestStatus status; - iDrpPolicyServer.UnloadPolicy(iDrpPolicyHandle(),status); - User::WaitForRequest(status); - TInt err = status.Int(); - if( err != KErrNone) - { - SetError(err); - ERR_PRINTF2(_L("DoUnloadDropPolicy():- UnloadPolicy failed with error: %d"), err); - SetBlockResult(EFail); - } - } - -/* -*Execute the test to unload the policy. -*/ -void CT_LoadPolicyBBD::DoUnloadNewBypassPolicy(const TDesC& /*aSection*/) - { - TRequestStatus status; - iBypsPolicyServer.UnloadPolicy(iNewBypsPolicyHandle(),status); - User::WaitForRequest(status); - TInt err = status.Int(); - if( err != KErrNone) - { - SetError(err); - ERR_PRINTF2(_L("DoUnloadNewBypassPolicy():- UnloadPolicy failed with error: %d"), err); - SetBlockResult(EFail); - } - } - -/* -*Execute the test to unload the policy. -*/ -void CT_LoadPolicyBBD::DoUnloadBypassPolicy(const TDesC& /*aSection*/) - { - TRequestStatus status; - iBypsPolicyServer.UnloadPolicy(iBypsPolicyHandle(),status); - User::WaitForRequest(status); - TInt err = status.Int(); - if( err != KErrNone) - { - SetError(err); - ERR_PRINTF2(_L("DoUnloadBypassPolicy():- UnloadPolicy failed with error: %d"), err); - SetBlockResult(EFail); - } - } - - -/* -*Execute the test for closing the connection. -*/ -void CT_LoadPolicyBBD::DoCmdClose(const TDesC& /*aSection*/) - { - SetBlockResult(EPass); - } - - -