diff -r 641f389e9157 -r a71299154b21 crypto/weakcrypto/source/cryptoswitch/cryptoswitch.cpp --- a/crypto/weakcrypto/source/cryptoswitch/cryptoswitch.cpp Tue Aug 31 17:00:08 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ -/* -* Copyright (c) 2004-2009 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 "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: -* -*/ - - -#include - - -extern "C" { - -#include "cryptography_stubs.h" - -FARPROC vector[MAX_ORDINAL+1]; - -void fill_vector(HINSTANCE aDll) - { - int i; - for (i=1;i<=MAX_ORDINAL;i++) - { - vector[i] = GetProcAddress(aDll, (LPCSTR)i); - } - vector[0] = (FARPROC)1; // initialised - } - -void init_vector() - { - __LOCK_HOST; // prevent deadlock with EKA2 scheduler - - HINSTANCE instance; - - // Try for strong cryptography - // - instance = LoadLibraryA("strong_cryptography.dll"); - if (instance != NULL) - { - fill_vector(instance); - return; - } - - // Try for weak cryptography - // - instance = LoadLibraryA("weak_cryptography.dll"); - if (instance != NULL) - { - fill_vector(instance); - return; - } - - // die - // - OutputDebugStringA("Unable to load cryptography implementation"); - _asm int 3; - } - -__declspec(naked) void common_dispatch() - { - _asm cmp dword ptr vector,0 // initialised? - _asm jne call_though_vector - _asm push eax - _asm push ecx - _asm push edx - _asm call init_vector - _asm pop edx - _asm pop ecx - _asm pop eax -call_though_vector: - _asm jmp [vector+eax*4] - } - -}