crypto/weakcrypto/source/random/random.cpp
branchRCL_3
changeset 62 a71299154b21
parent 61 641f389e9157
child 63 94225563cd41
--- a/crypto/weakcrypto/source/random/random.cpp	Tue Aug 31 17:00:08 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,183 +0,0 @@
-/*
-* Copyright (c) 2005-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: 
-* (c) 1999-2003 Symbian Ltd
-*
-*/
-
-
-/**
- @file
-*/
-
-#include <e32std.h>
-#include <random.h>
-#include <hash.h>
-#include <e32math.h>
-#include "randsvr.h"
-#include "randcliserv.h"
-
-_LIT(KRandomServerImg,"z:\\system\\libs\\randsvr.exe");		// DLL/EXE name
-_LIT(KRandomServerConnect, "Randsvr connect");
-_LIT(KRandomServerGet, "Randsvr get");
-
-const TUid KServerUid3={0x100066dc};
-
-extern "C" {
-EXPORT_C void RAND_bytes(unsigned char* buf,int bytes)
-	{
-	TPtr8 ptr(buf,bytes,bytes);
-	buf[0]++;
-	TRandom::Random(ptr);
-	}
-}
-
-EXPORT_C CRandom::CRandom(void)
-	{
-	}
-
-EXPORT_C CSystemRandom* CSystemRandom::NewL(void)
-	{
-	CSystemRandom* self = new(ELeave)CSystemRandom();
-	return self;
-	}
-
-EXPORT_C CSystemRandom* CSystemRandom::NewLC(void)
-	{
-	CSystemRandom* self = NewL();
-	CleanupStack::PushL(self);
-	return self;
-	}
-
-void CSystemRandom::GenerateBytesL(TDes8& aDest)
-	{
-	TRandom::RandomL(aDest);
-	}
-
-CSystemRandom::CSystemRandom(void)
-	{
-	}
-
-EXPORT_C void TRandom::Random(TDes8& aDestination)
-	{
-	RRandomSession rs;
-	TRAPD(ret,rs.ConnectL());
-	if (ret)
-		{
-		User::Panic(KRandomServerConnect, ret);
-		}
-	TInt err=rs.GetRandom(aDestination);
-	if (err)
-		{
-		User::Panic(KRandomServerGet, err);
-		}
-	rs.Close();
-	}
-
-EXPORT_C void TRandom::RandomL(TDes8& aDestination)
-	{
-	RRandomSession rs;
-	TRAPD(ret,rs.ConnectL());
-	User::LeaveIfError(ret);
-	CleanupClosePushL(rs);
-
-	TInt err=rs.GetRandom(aDestination);
-	User::LeaveIfError(err);
-
-	CleanupStack::PopAndDestroy(); // rs
-	}
-
-EXPORT_C RRandomSession::RRandomSession(void)
-	{
-	}
-
-static TInt StartServer()
-// Borrowed from AndrewT's server startup code.
-// Start the server process/thread which lives in an EPOCEXE object
-//
-	{
-	
-	const TUidType serverUid(KNullUid,KNullUid,KServerUid3);
-
-	//
-	// EPOC and EKA2 is easy, we just create a new server process. Simultaneous
-	// launching of two such processes should be detected when the second one
-	// attempts to create the server object, failing with KErrAlreadyExists.
-	//
-	RProcess server;
-	TInt r=server.Create(KRandomServerImg, KNullDesC, serverUid);
-
-	if (r!=KErrNone)
-		return r;
-	TRequestStatus stat;
-	server.Rendezvous(stat);
-	if (stat!=KRequestPending)
-		server.Kill(0);		// abort startup
-	else
-		server.Resume();	// logon OK - start the server
-	User::WaitForRequest(stat);		// wait for start or death
-	// we can't use the 'exit reason' if the server panicked as this
-	// is the panic 'reason' and may be '0' which cannot be distinguished
-	// from KErrNone
-	r=(server.ExitType()==EExitPanic) ? KErrGeneral : stat.Int();
-	server.Close();
-	return r;
-
-	}
-
-EXPORT_C void RRandomSession::ConnectL(void)
-	{
-	TInt retry=2;
-	for (;;)
-		{
-		TInt r=CreateSession(KRandomServerName,TVersion(0,0,0),1);
-		if (r!=KErrNotFound && r!=KErrServerTerminated)
-			   User::Leave(r);
-		if (--retry==0)
-			User::Leave(r);
-		r=StartServer();
-		if (r!=KErrNone && r!=KErrAlreadyExists)
-			User::Leave(r);
-		}
-	}
-
-EXPORT_C TInt RRandomSession::GetRandom(TDes8& aDestination)
-	{
-	if (aDestination.Length()<KRandomBlockSize)
-		{
-		return SendReceive(CRandomSession::KRandomRequest,
-		                   TIpcArgs(&aDestination, aDestination.Length()));
-		}
-	else
-		{
-		TInt i;
-		TInt err=KErrNone;
-		TInt length=aDestination.Length();
-		for (i=0;(i+KRandomBlockSize)<length;i+=KRandomBlockSize)
-			{
-			TPtr8 buffer(&aDestination[i],KRandomBlockSize,KRandomBlockSize);
-			err=SendReceive(CRandomSession::KRandomRequest,
-			 				TIpcArgs(&buffer, KRandomBlockSize));
-			if (err)
-				{
-				return err;
-				}
-			}
-		TPtr8 buffer(&aDestination[i],length%KRandomBlockSize,KRandomBlockSize);
-		err=SendReceive(CRandomSession::KRandomRequest,
-						TIpcArgs(&buffer, length-i));
-		return err;
-		}
-	}
-