Revision: 201004 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 12 Mar 2010 15:45:46 +0200
branchRCL_3
changeset 7 337070b4fa18
parent 3 5ee1d9ce5878
child 8 fa2fd8b2d6cc
Revision: 201004 Kit: 201008
applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.cpp
applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.h
applayerpluginsandutils/httpprotocolplugins/httpclient/chttprequestbatcher.cpp
applayerpluginsandutils/httpprotocolplugins/httpclient/chttprequestbatcher.h
applayerpluginsandutils/httptransportplugins/httptransporthandler/chttpsecuresocket.h
applayerpluginsandutils/httptransportplugins/httptransporthandler/csecuresocketcontroller.cpp
applayerpluginsandutils/httptransportplugins/httptransporthandler/csecuresocketcontroller.h
applayerpluginsandutils/httptransportplugins/httptransporthandler/csocket.cpp
applayerpluginsandutils/httptransportplugins/httptransporthandler/csocket.h
applayerpluginsandutils/httptransportplugins/httptransporthandler/csocketwriter.cpp
applayerpluginsandutils/httptransportplugins/httptransporthandler/moutputstreamobserver.h
applayerpluginsandutils/uripermissionservices/StringDictionary/URIList.st
applayerpluginsandutils/uripermissionservices/StringDictionary/tldlist.st
applayerpluginsandutils/uripermissionservices/StringDictionary/tldschema.st
applayerpluginsandutils/uripermissionservices/StringDictionary/urischema.st
applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/duplicate_entries/ineturilist.xml
applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/duplicate_entries/tldpolicy.xml
applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/ineturilist.xml
applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/max_upgradesis/ineturilist.xml
applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/max_upgradesis/tldpolicy.xml
applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/tldpolicy.xml
applayerpluginsandutils/uripermissionservices/group/backup_registration.xml
applayerpluginsandutils/uripermissionservices/stubSis/ineturilist.xml
applayerpluginsandutils/uripermissionservices/stubSis/tldpolicy.xml
applayerprotocols/httpexamples/PipeliningConfigFilter/Test/Data/DomainStrings.st
applayerprotocols/httpexamples/PipeliningConfigFilter/Test/Group/domainstringtable.mak
applayerprotocols/httpexamples/TestWebBrowser/data/htmlattributestable.st
applayerprotocols/httpexamples/TestWebBrowser/data/htmltagstable.st
applayerprotocols/httpservice/EABI/httpserviceu.def
applayerprotocols/httpservice/bwins/httpserviceU.def
applayerprotocols/httpservice/group/bld.inf
applayerprotocols/httpservice/group/httpservice.mmp
applayerprotocols/httpservice/inc/chttpclientauthentication.h
applayerprotocols/httpservice/inc/chttpclienttransaction.h
applayerprotocols/httpservice/inc/chttpservice.h
applayerprotocols/httpservice/inc/httpservice.h
applayerprotocols/httpservice/inc/mhttpserviceauthentication.h
applayerprotocols/httpservice/src/chttpclientauthentication.cpp
applayerprotocols/httpservice/src/chttpservice.cpp
applayerprotocols/httpservice/test/group/httpservicetest.mmp
applayerprotocols/httpservice/test/httpservicetest/chttpclienttestparams.cpp
applayerprotocols/httpservice/test/httpservicetest/chttpclienttestparams.h
applayerprotocols/httpservice/test/httpservicetest/ctesthttpclientstep.cpp
applayerprotocols/httpservice/test/httpservicetest/ctesthttpclientstep.h
applayerprotocols/httpservice/test/httpservicetest/ctesthttpserviceauthentication.cpp
applayerprotocols/httpservice/test/httpservicetest/ctesthttpserviceauthentication.h
applayerprotocols/httpservice/test/httpservicetest/ctestserverstreammanager.cpp
applayerprotocols/httpservice/test/httpservicetest/ctestserverstreammanager.h
applayerprotocols/httpservice/test/testdata/configs/ethernetced_httpserviceapi.xml
applayerprotocols/httpservice/test/testdata/ini/httpclient.ini
applayerprotocols/httpservice/test/testdata/scripts/httpserviceapitest.script
applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/chunkedresp.cgi
applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/delay.cgi
applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/pinger.cgi
applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/testcase5.cgi
applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/testcase6.cgi
applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/testcase7.cgi
applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/testcase9.cgi
applayerprotocols/httptransportfw/Test/T_HttpPipeliningTest/CTestServerStreamManager.h
applayerprotocols/httptransportfw/Test/TestScriptTest/CTestServerStreamManager.h
applayerprotocols/httptransportfw/Test/t_httptransporthandler/ctestsocketwriter.h
applayerprotocols/httptransportfw/group/t_wspprothnd_testdata.mak
applayerprotocols/httptransportfw/group/wapstkiot_testdata.mak
applayerprotocols/httptransportfw/group/wspcharactersetstable.mak
applayerprotocols/httptransportfw/group/wspcontenttypestable.mak
applayerprotocols/httptransportfw/group/wsplanguagestable.mak
applayerprotocols/httptransportfw/group/wspparamtable.mak
applayerprotocols/httptransportfw/group/wspregcontenttypestable.mak
applayerprotocols/httptransportfw/group/wspstdconstantstable.mak
applayerprotocols/httptransportfw/group/wspstringtable.mak
applayerprotocols/httptransportfw/group/wsptypestable.mak
applayerprotocols/httptransportfw/strings/HttpStringConstants.st
applayerprotocols/httptransportfw/strings/SecurityPolicyPluginStrings.st
applayerprotocols/httptransportfw/strings/WSPTypeConstants.st
applayerprotocols/httptransportfw/strings/WspCharacterSets.st
applayerprotocols/httptransportfw/strings/WspContentTypes.st
applayerprotocols/httptransportfw/strings/WspLanguages.st
applayerprotocols/httptransportfw/strings/WspParamConstants.st
applayerprotocols/httptransportfw/strings/WspRegContentTypes.st
applayerprotocols/httptransportfw/strings/WspStdConstants.st
applayerprotocols/httptransportfw/strings/WspStringConstants.st
applayerprotocols/telnetengine/Documentation/README.TXT
--- a/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.cpp	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.cpp	Fri Mar 12 15:45:46 2010 +0200
@@ -18,6 +18,7 @@
 #include <authority8.h>
 #include <httperr.h>
 #include <x509cert.h>
+#include <sslerr.h>
 
 #include "msocketfactory.h"
 #include "msocketconnector.h"
@@ -585,7 +586,14 @@
 					);
 			}
 #endif
-		if ( ( aError == KErrEof || aError == KErrCancel  ) )
+		if ((aError == KErrSSLAlertUnexpectedMessage || aError == KErrSSLAlertHandshakeFailure) && !iSecureRetry)
+ 		    {
+ 		    //TSW error id - TKOO-7YUCA3
+ 		    //some websites dont support tls1.0 & retry secure negotiation with ssl3.0 & error value modified to KErrEof for retrying
+		    iSecureRetry = ETrue; 
+            aError = KErrEof;
+ 		    }
+ 		if (  aError == KErrEof || aError == KErrCancel  ) 
  			{
 			if ( IsPendingWriteInConnectedState() && !iCurrentRequest->NeedDisconnectNotification() )
  				{
@@ -1210,6 +1218,9 @@
 void CHttpConnectionManager::SecureClientCnf()
 	{
 	__ASSERT_DEBUG( iState == EUpgrading, User::Invariant() );
+	
+	iSecureRetry = EFalse; //reset the flag
+
 
 #if defined (_DEBUG) && defined (_LOGGING)
 	__FLOG_0(_T8("!! Secure connection establised"));
--- a/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.h	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.h	Fri Mar 12 15:45:46 2010 +0200
@@ -128,6 +128,8 @@
 	void CheckRequestComplete(MHttpRequest& aRequest);
 	void DisablePipelining();
 	void AppendPipelineFailedHost(const TDesC8& aHost);
+	inline TBool SecureRetry(){ return iSecureRetry;}
+
 
 	
 private:	// methods from MHttpRequestObserver
@@ -232,6 +234,7 @@
 		EDiscardSndDataCnf = 3
 		};
 private:
+	TBool                   iSecureRetry;
 	TBool                   iEnableOptimalPipeline;
 	TBool					iTunnel;
 	TInt					iMaxTransactionsToPipeline;
--- a/applayerpluginsandutils/httpprotocolplugins/httpclient/chttprequestbatcher.cpp	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/httpprotocolplugins/httpclient/chttprequestbatcher.cpp	Fri Mar 12 15:45:46 2010 +0200
@@ -265,6 +265,11 @@
 	Cancel();
 	iObserver->OutputStreamCloseInd(aError);
 	}
+	
+TBool CHttpRequestBatcher::SecureRetry()
+     {
+         return iObserver->SecureRetry();
+     }
 
 void CHttpRequestBatcher::MOutputStreamObserver_Reserved()
 	{
--- a/applayerpluginsandutils/httpprotocolplugins/httpclient/chttprequestbatcher.h	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/httpprotocolplugins/httpclient/chttprequestbatcher.h	Fri Mar 12 15:45:46 2010 +0200
@@ -54,6 +54,8 @@
 
 	virtual void Reset ();
 	
+	TBool SecureRetry();
+	
 	virtual void SetTCPCorking(TBool aValue);
 private:	// methods from MOutputStreamObserver
 	virtual void SendDataCnfL();
--- a/applayerpluginsandutils/httptransportplugins/httptransporthandler/chttpsecuresocket.h	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/httptransportplugins/httptransporthandler/chttpsecuresocket.h	Fri Mar 12 15:45:46 2010 +0200
@@ -36,7 +36,7 @@
 
 	inline virtual ~CHttpSecureSocket();
 
-	virtual void StartSecureHandshakeL(TRequestStatus& aStatus, const TDesC8& aHostName) =0;
+	virtual void StartSecureHandshakeL(TRequestStatus& aStatus, const TDesC8& aHostName,const  TDesC& aProtocolVersion) =0;
 
 	virtual void RecvOneOrMore(TDes8& aBuffer, TRequestStatus& aStatus, TSockXfrLength& aLength) =0;
 
--- a/applayerpluginsandutils/httptransportplugins/httptransporthandler/csecuresocketcontroller.cpp	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/httptransportplugins/httptransporthandler/csecuresocketcontroller.cpp	Fri Mar 12 15:45:46 2010 +0200
@@ -62,7 +62,7 @@
 	{
 	}
 
-void CSecureSocketController::StartSecureHandshakeL(TRequestStatus& aStatus, const TDesC8& aHostName)
+void CSecureSocketController::StartSecureHandshakeL(TRequestStatus& aStatus, const TDesC8& aHostName, const  TDesC& aProtocolVersion)
 /**
 	Start a secure handshake to upgrade the socket to a secure connection.
 	@param		aStatus		The request status, this will complete with KErrNone
@@ -72,10 +72,10 @@
 */
 	{
 	// Create the secure layer
-	_LIT(KTxtTls, "tls1.0");
 	if( iTlsSocket == NULL )
-		iTlsSocket = CSecureSocket::NewL(iSocket, KTxtTls());
-
+		{
+        iTlsSocket = CSecureSocket::NewL(iSocket, aProtocolVersion);
+        }
 	// Get the security preferences, dialog prompt and security policy
 	TBool dialogPref = ETrue;
 	MSecurityPolicy* securityPolicy = NULL;
--- a/applayerpluginsandutils/httptransportplugins/httptransporthandler/csecuresocketcontroller.h	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/httptransportplugins/httptransporthandler/csecuresocketcontroller.h	Fri Mar 12 15:45:46 2010 +0200
@@ -37,7 +37,7 @@
 
 	virtual ~CSecureSocketController();
 
-	void StartSecureHandshakeL(TRequestStatus& aStatus, const TDesC8& aHostName);
+	void StartSecureHandshakeL(TRequestStatus& aStatus, const TDesC8& aHostName,const  TDesC& aProtocolVersion);
 
 	void RecvOneOrMore(TDes8& aBuffer, TRequestStatus& aStatus, TSockXfrLength& aLength);
 
--- a/applayerpluginsandutils/httptransportplugins/httptransporthandler/csocket.cpp	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/httptransportplugins/httptransporthandler/csocket.cpp	Fri Mar 12 15:45:46 2010 +0200
@@ -344,7 +344,7 @@
 	return KErrNotSupported;
 	}
 
-void CSocket::UpgradeToSecureL(TRequestStatus& aStatus, const TDesC8& aHostName)
+void CSocket::UpgradeToSecureL(TRequestStatus& aStatus, const TDesC8& aHostName,const TDesC& aProtocol)
 /**
 	Asynchronous request to upgrade the socket to a secure socket.
 	@param	aStatus The request status, this will complete with KErrNone on the successful
@@ -368,7 +368,7 @@
 			User::Leave(KErrNotSupported);
 		else if (error != KErrNone)
 			User::Leave(error);
-		iSecureSocketController->StartSecureHandshakeL(aStatus, aHostName);
+		iSecureSocketController->StartSecureHandshakeL(aStatus, aHostName,aProtocol);
 		}
 	}
 
--- a/applayerpluginsandutils/httptransportplugins/httptransporthandler/csocket.h	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/httptransportplugins/httptransporthandler/csocket.h	Fri Mar 12 15:45:46 2010 +0200
@@ -84,7 +84,7 @@
 	
 	TInt CipherSuite(TDes8& aCipherSuite);
 
-	void UpgradeToSecureL(TRequestStatus& aStatus, const TDesC8& aHostName);
+	void UpgradeToSecureL(TRequestStatus& aStatus, const TDesC8& aHostName,const TDesC& aProtocol);
 
 	void CancelUpgradeToSecure();
 
--- a/applayerpluginsandutils/httptransportplugins/httptransporthandler/csocketwriter.cpp	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/httptransportplugins/httptransporthandler/csocketwriter.cpp	Fri Mar 12 15:45:46 2010 +0200
@@ -353,7 +353,16 @@
 		{
 		// Start the secure handshake
 		iState = ESecureHandshakeComplete;
-		iSocket.UpgradeToSecureL(iStatus, iHostName);
+		_LIT(KTxtTls, "tls1.0");
+ 		_LIT(KTxtSsl,"ssl3.0");
+ 		if (!iObserver->SecureRetry())
+ 		    {
+             iSocket.UpgradeToSecureL(iStatus, iHostName,KTxtTls()); //first negotiate with latest version of TLS
+ 		    }
+ 		else
+ 		    {
+             iSocket.UpgradeToSecureL(iStatus, iHostName,KTxtSsl()); //now try old ssl version
+ 		    }
 		SetActive();
 		} break;
 	case ESecureHandshakeComplete:
--- a/applayerpluginsandutils/httptransportplugins/httptransporthandler/moutputstreamobserver.h	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/httptransportplugins/httptransporthandler/moutputstreamobserver.h	Fri Mar 12 15:45:46 2010 +0200
@@ -114,7 +114,8 @@
 	virtual void OnSendTimeOut() =0;
 	
 	virtual TInt SendTimeOutVal() =0;
-
+	
+	virtual TBool SecureRetry()=0;
 private:	// methods
 
 /**
--- a/applayerpluginsandutils/uripermissionservices/StringDictionary/URIList.st	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/uripermissionservices/StringDictionary/URIList.st	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2007-2010 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"
+# 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".
 #
--- a/applayerpluginsandutils/uripermissionservices/StringDictionary/tldlist.st	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/uripermissionservices/StringDictionary/tldlist.st	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerpluginsandutils/uripermissionservices/StringDictionary/tldschema.st	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/uripermissionservices/StringDictionary/tldschema.st	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerpluginsandutils/uripermissionservices/StringDictionary/urischema.st	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/uripermissionservices/StringDictionary/urischema.st	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2008-2010 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"
+# 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".
 #
--- a/applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/duplicate_entries/ineturilist.xml	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/duplicate_entries/ineturilist.xml	Fri Mar 12 15:45:46 2010 +0200
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" ?> 
 <!--
- Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+ Copyright (c) 2007-2010 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"
+ 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".
 
--- a/applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/duplicate_entries/tldpolicy.xml	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/duplicate_entries/tldpolicy.xml	Fri Mar 12 15:45:46 2010 +0200
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" ?> 
 <!--
- Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+ Copyright (c) 2008-2010 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"
+ 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".
 
--- a/applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/ineturilist.xml	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/ineturilist.xml	Fri Mar 12 15:45:46 2010 +0200
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" ?> 
 <!--
- Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+ Copyright (c) 2007-2010 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"
+ 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".
 
--- a/applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/max_upgradesis/ineturilist.xml	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/max_upgradesis/ineturilist.xml	Fri Mar 12 15:45:46 2010 +0200
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" ?> 
 <!--
- Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+ Copyright (c) 2007-2010 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"
+ 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".
 
--- a/applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/max_upgradesis/tldpolicy.xml	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/max_upgradesis/tldpolicy.xml	Fri Mar 12 15:45:46 2010 +0200
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" ?> 
 <!--
- Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+ Copyright (c) 2008-2010 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"
+ 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".
 
--- a/applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/tldpolicy.xml	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/tldpolicy.xml	Fri Mar 12 15:45:46 2010 +0200
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" ?> 
 <!--
- Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+ Copyright (c) 2008-2010 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"
+ 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".
 
--- a/applayerpluginsandutils/uripermissionservices/group/backup_registration.xml	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/uripermissionservices/group/backup_registration.xml	Fri Mar 12 15:45:46 2010 +0200
@@ -1,9 +1,9 @@
 <?xml version="1.0" standalone="yes" ?> 
 <!--
- Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+ Copyright (c) 2007-2010 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"
+ 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".
 
--- a/applayerpluginsandutils/uripermissionservices/stubSis/ineturilist.xml	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/uripermissionservices/stubSis/ineturilist.xml	Fri Mar 12 15:45:46 2010 +0200
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" ?> 
 <!--
- Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+ Copyright (c) 2007-2010 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"
+ 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".
 
--- a/applayerpluginsandutils/uripermissionservices/stubSis/tldpolicy.xml	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerpluginsandutils/uripermissionservices/stubSis/tldpolicy.xml	Fri Mar 12 15:45:46 2010 +0200
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" ?> 
 <!--
- Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+ Copyright (c) 2008-2010 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"
+ 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".
 
--- a/applayerprotocols/httpexamples/PipeliningConfigFilter/Test/Data/DomainStrings.st	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpexamples/PipeliningConfigFilter/Test/Data/DomainStrings.st	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httpexamples/PipeliningConfigFilter/Test/Group/domainstringtable.mak	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpexamples/PipeliningConfigFilter/Test/Group/domainstringtable.mak	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httpexamples/TestWebBrowser/data/htmlattributestable.st	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpexamples/TestWebBrowser/data/htmlattributestable.st	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2005-2010 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"
+# 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".
 #
--- a/applayerprotocols/httpexamples/TestWebBrowser/data/htmltagstable.st	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpexamples/TestWebBrowser/data/htmltagstable.st	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2005-2010 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"
+# 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".
 #
--- a/applayerprotocols/httpservice/EABI/httpserviceu.def	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpservice/EABI/httpserviceu.def	Fri Mar 12 15:45:46 2010 +0200
@@ -90,5 +90,5 @@
 	_ZTV17CHttpDataReceiver @ 89 NONAME
 	_ZTV22CHttpClientTransaction @ 90 NONAME
 	_ZTV26CHttpClientTransactionImpl @ 91 NONAME
-	
+	_ZN12CHttpService17SetAuthenticationEP26MHTTPServiceAuthentication @ 92 NONAME
 
--- a/applayerprotocols/httpservice/bwins/httpserviceU.def	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpservice/bwins/httpserviceU.def	Fri Mar 12 15:45:46 2010 +0200
@@ -64,4 +64,5 @@
 	??0THttpHeaderElementIterator@@QAE@XZ @ 63 NONAME ; THttpHeaderElementIterator::THttpHeaderElementIterator(void)
 	?Parameter@THttpHeaderElementIterator@@QBE?AVTHttpHeaderParamIterator@@XZ @ 64 NONAME ; class THttpHeaderParamIterator THttpHeaderElementIterator::Parameter(void) const
 	?Notify@THttpContentSourceOp@@QAEXABVTDesC8@@H@Z @ 65 NONAME ; void THttpContentSourceOp::Notify(class TDesC8 const &, int)
-	
+	?SetAuthentication@CHttpService@@QAEHPAVMHTTPServiceAuthentication@@@Z @ 66 NONAME ; int CHttpService::SetAuthentication(class MHTTPServiceAuthentication *)
+
--- a/applayerprotocols/httpservice/group/bld.inf	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpservice/group/bld.inf	Fri Mar 12 15:45:46 2010 +0200
@@ -35,6 +35,7 @@
 ../inc/thttpheadervaluevariant.h SYMBIAN_MW_LAYER_PUBLIC_EXPORT_PATH(thttpheadervaluevariant.h)
 ../inc/chttpclienttransaction.h SYMBIAN_MW_LAYER_PUBLIC_EXPORT_PATH(chttpclienttransaction.h)
 ../inc/httpservice.h SYMBIAN_MW_LAYER_PUBLIC_EXPORT_PATH(httpservice.h)
+../inc/mhttpserviceauthentication.h SYMBIAN_MW_LAYER_PUBLIC_EXPORT_PATH(mhttpserviceauthentication.h)
 
 
 // rom definition file
--- a/applayerprotocols/httpservice/group/httpservice.mmp	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpservice/group/httpservice.mmp	Fri Mar 12 15:45:46 2010 +0200
@@ -44,7 +44,7 @@
 SOURCE			chttpclienttransaction.cpp 
 SOURCE 			httpheaderiter.cpp
 SOURCE			httpclientutils.cpp chttpclienttransactionimpl.cpp
-SOURCE			chttpdatasender.cpp chttpdatareceiver.cpp chttpcontentreader.cpp chttpcontentwriter.cpp
+SOURCE			chttpdatasender.cpp chttpdatareceiver.cpp chttpcontentreader.cpp chttpcontentwriter.cpp chttpclientauthentication.cpp
 
 LIBRARY			euser.lib
 LIBRARY			http.lib
@@ -53,6 +53,7 @@
 LIBRARY			inetprotutil.lib
 LIBRARY			bafl.lib
 LIBRARY 		efsrv.lib
+LIBRARY 		ecom.lib
 
 
 DEFFILE httpservice.def
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/applayerprotocols/httpservice/inc/chttpclientauthentication.h	Fri Mar 12 15:45:46 2010 +0200
@@ -0,0 +1,42 @@
+// 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:
+//
+
+
+#ifndef __CHTTPCLIENTAUTHENTICATION_H__
+#define __CHTTPCLIENTAUTHENTICATION_H__
+
+#include <e32base.h>
+#include <http/mhttpauthenticationcallback.h>
+class MHTTPServiceAuthentication;
+
+NONSHARABLE_CLASS(CHttpClientAuthentication) : public CBase, public MHTTPAuthenticationCallback
+    {
+public:
+    static CHttpClientAuthentication* New(RHTTPSession aSesion, MHTTPServiceAuthentication* aCallback);
+
+// methods inherited from MHTTPAuthenticationCallback
+    virtual TBool GetCredentialsL(const TUriC8& aURI, RString aRealm, 
+                                 RStringF aAuthenticationType,
+                                 RString& aUsername, 
+                                 RString& aPassword);
+
+protected:
+    TInt Construct(RHTTPSession aSesion, MHTTPServiceAuthentication* aCallback);
+    void FillCredentialsL(RString& aRealm, RString& aUsername, RString& aPassword, RBuf8& aClientUsername, RBuf8& aClientPassword);
+private:
+    MHTTPServiceAuthentication* iHTTPServiceAuthentication;    
+    };
+
+#endif  __CHTTPCLIENTAUTHENTICATION_H__
--- a/applayerprotocols/httpservice/inc/chttpclienttransaction.h	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpservice/inc/chttpclienttransaction.h	Fri Mar 12 15:45:46 2010 +0200
@@ -90,7 +90,7 @@
 	
 	private:
 	// Reserved for future use.
-	inline virtual void Reserved();
+	inline virtual void Reserved1();
 	inline virtual void Reserved2();
 	
 	protected:
@@ -101,11 +101,10 @@
 	CHttpClientTransactionImpl* iHttpClientTrans;
 	};
 
-// Reserved for future use.
-inline void CHttpClientTransaction::Reserved()
-	{
-	}
-	
+inline void CHttpClientTransaction::Reserved1()
+    {
+    }
+
 inline void CHttpClientTransaction::Reserved2()
 	{
 	}
--- a/applayerprotocols/httpservice/inc/chttpservice.h	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpservice/inc/chttpservice.h	Fri Mar 12 15:45:46 2010 +0200
@@ -31,7 +31,8 @@
  * @publishedAll
  * @prototype 
  */
-
+class CHttpClientAuthentication;
+class MHTTPServiceAuthentication; 
 class CHttpService : public CBase
 	{
 	friend class CHttpClientTransactionImpl;	
@@ -54,16 +55,19 @@
 	IMPORT_C TInt AddRequestHeader(TInt aHeaderId, const THttpHeaderValueVariant& aHeaderValue);		
 	IMPORT_C TInt AddCustomRequestHeader(const TDesC8& aHeaderName, const TDesC8& aHeaderValue);
 	
+	IMPORT_C TInt SetAuthentication(MHTTPServiceAuthentication* aCallback);
 	
 	private:
 	CHttpService();
 	void ConstructL();	
 	
-	class CHttpServiceStruct : public CBase
+	NONSHARABLE_CLASS(CHttpServiceStruct) : public CBase
 		{
 		public:
-		RHTTPSession	 iHttpSession;
-		RHTTPHeaders     iSessionHeaders; 
+		    ~CHttpServiceStruct();
+		RHTTPSession                  iHttpSession;
+		RHTTPHeaders                  iSessionHeaders; 
+		CHttpClientAuthentication*    iHttpClientAuthentication;
 		};
 	private:
 	   RHTTPSession Session()
@@ -73,7 +77,7 @@
 	private:
 	
 	
-	   CHttpServiceStruct* iHttpServiceStruct; // Implementation struct
+	   CHttpServiceStruct*         iHttpServiceStruct; // Implementation struct
 	};
 
 #endif // __CHTTPSERVICE_H__
--- a/applayerprotocols/httpservice/inc/httpservice.h	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpservice/inc/httpservice.h	Fri Mar 12 15:45:46 2010 +0200
@@ -23,5 +23,6 @@
 #include <chttpservice.h>
 #include <thttpheadervaluevariant.h>
 #include <chttpclienttransaction.h>
+#include <mhttpserviceauthentication.h>
 
 #endif // __MHTTPDATARECIVER_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/applayerprotocols/httpservice/inc/mhttpserviceauthentication.h	Fri Mar 12 15:45:46 2010 +0200
@@ -0,0 +1,40 @@
+// Copyright (c) 2001-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:
+//
+
+/**
+ @file MHTTPServiceAuthentication.h
+ */
+
+#ifndef __MHTTPSERVICEAUTHENTICATION_H__
+#define __MHTTPSERVICEAUTHENTICATION_H__ 
+
+// System includes
+#include <e32base.h>
+
+class MHTTPServiceAuthentication
+/** 
+The mixin that needs to be implemented if authentication is to be
+supported. This supplies the username and password when they are
+needed for authentication.
+
+@publishedAll
+@released
+*/
+    {
+ public:
+     virtual TInt OnAuthentication(const TDesC8& aUri, const TDesC8& aRealm, const TDesC8& aType, RBuf8& aUsername, RBuf8& aPassword) = 0;
+    };
+
+#endif //   __MHTTPSERVICEAUTHENTICATION_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/applayerprotocols/httpservice/src/chttpclientauthentication.cpp	Fri Mar 12 15:45:46 2010 +0200
@@ -0,0 +1,62 @@
+// Copyright (c) 2001-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:
+//
+
+#include "chttpclientauthentication.h"
+#include "mhttpserviceauthentication.h"
+
+CHttpClientAuthentication* CHttpClientAuthentication::New(RHTTPSession aSesion, MHTTPServiceAuthentication* aCallback)
+    {
+    CHttpClientAuthentication* self = new CHttpClientAuthentication;
+    TInt err = self->Construct(aSesion, aCallback);
+    if(err != KErrNone)
+        {
+        delete self;
+        self = NULL;
+        }
+    return self;
+    }
+
+TInt CHttpClientAuthentication::Construct(RHTTPSession aSession, MHTTPServiceAuthentication* aCallback)
+    {      
+    // Install this class as the callback for authentication requests
+    TRAPD(err, InstallAuthenticationL(aSession));
+    iHTTPServiceAuthentication = aCallback;
+    return err;
+    }
+
+void CHttpClientAuthentication::FillCredentialsL(RString& aRealm, RString& aUsername, RString& aPassword, RBuf8& aClientUsername, RBuf8& aClientPassword)
+    {  
+    aUsername = aRealm.Pool().OpenStringL(aClientUsername);
+    aPassword = aRealm.Pool().OpenStringL(aClientPassword);
+    }
+
+TBool CHttpClientAuthentication::GetCredentialsL(const TUriC8& aURI, RString aRealm, 
+                                   RStringF aAuthenticationType,
+                                   RString& aUsername, 
+                                   RString& aPassword)
+    {
+    //User credentials
+    RBuf8 clientUsername;
+    RBuf8 clientPassword;    
+     
+    User::LeaveIfError(iHTTPServiceAuthentication->OnAuthentication(aURI.UriDes(), aRealm.DesC(), aAuthenticationType.DesC(), clientUsername, clientPassword));
+    
+    FillCredentialsL(aRealm, aUsername, aPassword, clientUsername, clientPassword);
+    
+    clientUsername.Close();
+    clientPassword.Close();    
+    
+    return ETrue;    
+    }
--- a/applayerprotocols/httpservice/src/chttpservice.cpp	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpservice/src/chttpservice.cpp	Fri Mar 12 15:45:46 2010 +0200
@@ -15,7 +15,8 @@
 
 #include "chttpservice.h"
 #include "httpclientutils.h"
-
+#include "chttpclientauthentication.h" 
+#include "mhttpserviceauthentication.h" 
 const TInt KMaxNoOfConnections = 6;
 const TInt KMaxTransToPipeline = 5;
 
@@ -45,6 +46,14 @@
 	}
 
 /**
+ * Destructor of the inner class CHttpServiceStruct
+ */ 
+CHttpService::CHttpServiceStruct::~CHttpServiceStruct()
+    {
+    delete iHttpClientAuthentication;
+    }
+
+/**
  * Retrieves the equivalent string for a give string ID from the 
  * HTTP string pool
  * 
@@ -212,6 +221,15 @@
 	return err;
 	}
 
+EXPORT_C TInt CHttpService::SetAuthentication(MHTTPServiceAuthentication* aCallback)
+    {
+    TInt error = KErrGeneral;
+    iHttpServiceStruct->iHttpClientAuthentication = CHttpClientAuthentication::New(iHttpServiceStruct->iHttpSession, aCallback);
+    if(iHttpServiceStruct->iHttpClientAuthentication)
+        error = KErrNone;
+    return error;
+    }
+
 /**
  * Constructor
  */
--- a/applayerprotocols/httpservice/test/group/httpservicetest.mmp	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpservice/test/group/httpservicetest.mmp	Fri Mar 12 15:45:46 2010 +0200
@@ -31,7 +31,7 @@
 SOURCE	ctestclienthttpget.cpp 
 SOURCE	ctestclienthttppost.cpp
 SOURCE	ctesthttpclientstep.cpp 
-SOURCE	chttpclienttestparams.cpp
+SOURCE	chttpclienttestparams.cpp ctesthttpserviceauthentication.cpp
 
 USERINCLUDE 		../../inc
 USERINCLUDE 		../../../httptransportfw/test/t_utils
--- a/applayerprotocols/httpservice/test/httpservicetest/chttpclienttestparams.cpp	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpservice/test/httpservicetest/chttpclienttestparams.cpp	Fri Mar 12 15:45:46 2010 +0200
@@ -23,6 +23,8 @@
 _LIT(KUri, "Uri");
 _LIT(KRawRequest, "RawRequest");
 _LIT(KRawResponse, "RawResponse");
+_LIT(KRawEncodedAuthenticationRequest, "RawEncodedAuthenticationRequest");
+_LIT(KRawFinalResponse, "RawFinalResponse");
 _LIT(KResponseBody, "ResponseBody");
 _LIT(KStatusCode, "StatusCode");
 _LIT(KResponseFieldCount, "ResponseFieldCount");
@@ -58,7 +60,8 @@
 _LIT(KProxyAddress, "ProxyAddress");
 _LIT(KResponseTimeout, "ResponseTimeout");  
 _LIT(KRedirection, "Redirection"); 
-_LIT(KNotifyTransferProgress, "NotifyTransferProgress"); 
+_LIT(KNotifyTransferProgress, "NotifyTransferProgress");
+_LIT(KSetAuthentication, "SetAuthentication");
 
 _LIT8(KScriptLF8,   "\\n");
 _LIT8(KReplaceLF8,  "\n");
@@ -107,6 +110,8 @@
     TPtrC uri;
     TPtrC rawRequest;
     TPtrC rawResponse;
+    TPtrC rawEncodedAuthenticationRequest;
+    TPtrC rawFinalResponse;
     if(!aTestCase.GetStringFromConfig(aTestCase.ConfigSection(), KMethod(), method) || 
             !aTestCase.GetStringFromConfig(aTestCase.ConfigSection(), KUri(), uri) ||
              !aTestCase.GetIntFromConfig(aTestCase.ConfigSection(), KStatusCode(), iStatusCode))
@@ -115,13 +120,21 @@
         }
     aTestCase.GetStringFromConfig(aTestCase.ConfigSection(), KRawRequest(), rawRequest);
     aTestCase.GetStringFromConfig(aTestCase.ConfigSection(), KRawResponse(), rawResponse);
+    aTestCase.GetStringFromConfig(aTestCase.ConfigSection(), KRawEncodedAuthenticationRequest(), rawEncodedAuthenticationRequest);
+    aTestCase.GetStringFromConfig(aTestCase.ConfigSection(), KRawFinalResponse(), rawFinalResponse);
     
     iMethod = EscapeUtils::ConvertFromUnicodeToUtf8L(method);
     iUri = EscapeUtils::ConvertFromUnicodeToUtf8L(uri);
     iRawRequest = EscapeUtils::ConvertFromUnicodeToUtf8L(rawRequest);
     iRawResponse = EscapeUtils::ConvertFromUnicodeToUtf8L(rawResponse);
+    iEncodedAuthenticationRequest = EscapeUtils::ConvertFromUnicodeToUtf8L(rawEncodedAuthenticationRequest);
+    iFinalResponse = EscapeUtils::ConvertFromUnicodeToUtf8L(rawFinalResponse);
+       
     ParseAndReplaceCRLF(iRawRequest);
     ParseAndReplaceCRLF(iRawResponse);
+    ParseAndReplaceCRLF(iEncodedAuthenticationRequest);
+    ParseAndReplaceCRLF(iFinalResponse);
+
     
     
     TPtrC responseBody;
@@ -321,6 +334,9 @@
     iNotifyTransferProgress = EFalse;
     aTestCase.GetBoolFromConfig(aTestCase.ConfigSection(), KNotifyTransferProgress(), iNotifyTransferProgress);
     
+    iSetAuthentication = EFalse;
+    aTestCase.GetBoolFromConfig(aTestCase.ConfigSection(), KSetAuthentication(), iSetAuthentication);
+    
     TPtrC proxyAddress;
     if(aTestCase.GetStringFromConfig(aTestCase.ConfigSection(), KProxyAddress, proxyAddress))
         {
@@ -335,6 +351,8 @@
     delete iMethod;
     delete iUri;
     delete iRawRequest;
+    delete iEncodedAuthenticationRequest;
+    delete iFinalResponse;
     delete iRawResponse;
     delete iResponseBody;
     iResponseHeaderInfos.ResetAndDestroy();
@@ -365,6 +383,30 @@
     return *iRawResponse;
     }
 
+const TDesC8& CHttpClientTestParams::EncodedAuthenticationRequest() const
+    {
+    return *iEncodedAuthenticationRequest;
+    }
+
+void CHttpClientTestParams::SetAuthReqRes() 
+    {
+    if (iRawRequest)
+        {
+        delete iRawRequest;
+        iRawRequest = NULL;
+        }        
+    if (iRawResponse)
+        {
+        delete iRawResponse;
+        iRawResponse = NULL;
+        }
+    iRawRequest = iEncodedAuthenticationRequest;
+    iRawResponse = iFinalResponse;
+    
+    iEncodedAuthenticationRequest = NULL;
+    iFinalResponse = NULL;
+    }
+
 const TDesC8& CHttpClientTestParams::ResponseBody() const
     {
     if(iResponseBody)
@@ -432,6 +474,11 @@
     return iNotifyTransferProgress;
     }
 
+TBool CHttpClientTestParams::IsAuthenticationReqd() const   
+    {
+    return iSetAuthentication;
+    }
+
 TBool CHttpClientTestParams::CheckVariantValue(const THttpHeaderValueVariant& aVariant, const TDesC8& aValueToMatch)
     {
     TBool ret = EFalse;
--- a/applayerprotocols/httpservice/test/httpservicetest/chttpclienttestparams.h	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpservice/test/httpservicetest/chttpclienttestparams.h	Fri Mar 12 15:45:46 2010 +0200
@@ -122,6 +122,8 @@
 	const TDesC8& Uri() const;
 	const TDesC8& RawRequest() const;
 	const TDesC8& RawResponse() const;
+	const TDesC8& EncodedAuthenticationRequest() const;
+	void SetAuthReqRes();
 	const TDesC8& ResponseBody() const;
 	const RPointerArray<CHeaderInfo>& HeaderInfos() const
 	{
@@ -151,6 +153,7 @@
     TBool ResponseTimeoutEnable() const; 
     TBool IsRedirecting() const;
     TBool TransferProgress() const;
+    TBool IsAuthenticationReqd() const;
     
     const TDesC8& RequestBody() const
     {
@@ -194,6 +197,8 @@
 	HBufC8*	iUri;
 	HBufC8* iRawRequest;
 	HBufC8* iRawResponse;
+	HBufC8* iEncodedAuthenticationRequest;
+	HBufC8* iFinalResponse;
 	HBufC8*	iResponseBody;
 	HBufC8* iRequestBody;
 	TInt    iExpectedError;
@@ -205,6 +210,7 @@
 	TBool          iResponseTimeout; 
 	TBool          iRedirection;
 	TBool          iNotifyTransferProgress;
+	TBool          iSetAuthentication;
 	HBufC8*        iProxyAddress;
 	};
 
--- a/applayerprotocols/httpservice/test/httpservicetest/ctesthttpclientstep.cpp	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpservice/test/httpservicetest/ctesthttpclientstep.cpp	Fri Mar 12 15:45:46 2010 +0200
@@ -22,6 +22,7 @@
 #include "httptestutils.h"
 #include "clocaltestserver.h"
 #include "chttpclienttestparams.h"
+#include "ctesthttpserviceauthentication.h"
 
 _LIT(KTestCaseName, "TestCaseName");
 _LIT8(KUserAgent, "HTTP Client API Test");
@@ -43,6 +44,7 @@
     delete iTestUtils;    
     delete iTestParamArray;
     delete iActiveScheduler;
+    delete iTestHttpServiceAuthentication;
     }
 
 // TEF virtuals
@@ -99,6 +101,12 @@
             }
         }
     
+    if(param->IsAuthenticationReqd())
+        {
+        iTestHttpServiceAuthentication = new CTestHttpServiceAuthentication();
+        User::LeaveIfError(iHttpClient->SetAuthentication(iTestHttpServiceAuthentication));
+        }
+  
     if(param->Method().CompareF(KGetMethod) == 0)
         {
         if(param->OnlineTest())
--- a/applayerprotocols/httpservice/test/httpservicetest/ctesthttpclientstep.h	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpservice/test/httpservicetest/ctesthttpclientstep.h	Fri Mar 12 15:45:46 2010 +0200
@@ -26,6 +26,7 @@
 class CLocalTestServer;
 class CHTTPTestUtils;
 class CHttpClientTestParamArray;
+class CTestHttpServiceAuthentication;
 
 class CTestHttpClientStep : public CTestStep, public MLocalTestServerObserver
     {
@@ -48,6 +49,7 @@
     CHTTPTestUtils*     iTestUtils;
     CLocalTestServer*   iTestServer;
     CHttpClientTestParamArray* iTestParamArray;
+    CTestHttpServiceAuthentication* iTestHttpServiceAuthentication;
     };
 
 #endif // __CTESTHTTPCLIENTSTEP_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/applayerprotocols/httpservice/test/httpservicetest/ctesthttpserviceauthentication.cpp	Fri Mar 12 15:45:46 2010 +0200
@@ -0,0 +1,42 @@
+// 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:
+//
+#include <e32base.h>
+#include <f32file.h>  
+#include "ctesthttpserviceauthentication.h"
+
+_LIT(KAuthURL, "Passing credentials for URL %S, realm %S\n");
+_LIT(KAuthType, "Using %S authentication\n");
+  
+CTestHttpServiceAuthentication::~CTestHttpServiceAuthentication()
+    {  
+    }
+    
+CTestHttpServiceAuthentication::CTestHttpServiceAuthentication()
+    {    
+    }
+    
+
+// From MHTTPServiceAuthentication
+TInt CTestHttpServiceAuthentication::OnAuthentication(const TDesC8& /*aUri*/, const TDesC8& /*aRealm*/, const TDesC8& /*aType*/, RBuf8& aUsername, RBuf8& aPassword)
+    {
+    //User credentials
+    _LIT8(KUserName,  "username");
+    _LIT8(KPassword,  "password");
+   
+    aUsername.Create(KUserName);
+    aPassword.Create(KPassword);
+    return KErrNone;
+    }
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/applayerprotocols/httpservice/test/httpservicetest/ctesthttpserviceauthentication.h	Fri Mar 12 15:45:46 2010 +0200
@@ -0,0 +1,35 @@
+// 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:
+//
+
+#ifndef __CTESTHTTPSERVICEAUTHENTICATION_H__
+#define __CTESTHTTPSERVICEAUTHENTICATION_H__
+
+#include <e32base.h>
+#include "mhttpserviceauthentication.h"
+
+class CTestHttpServiceAuthentication : public CBase, public MHTTPServiceAuthentication
+    {
+public:
+    CTestHttpServiceAuthentication();
+    ~CTestHttpServiceAuthentication();
+      
+    // inherited from MHTTPServiceAuthentication
+    TInt OnAuthentication(const TDesC8& aUri, const TDesC8& aRealm, const TDesC8& aType, RBuf8& aUsername, RBuf8& aPassword);
+     
+private:
+
+    };
+
+#endif // __CTESTHTTPSERVICEAUTHENTICATION_H__
--- a/applayerprotocols/httpservice/test/httpservicetest/ctestserverstreammanager.cpp	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpservice/test/httpservicetest/ctestserverstreammanager.cpp	Fri Mar 12 15:45:46 2010 +0200
@@ -18,6 +18,7 @@
 #include <moutputstream.h>
 #include "httptestutils.h"
 #include "chttpclienttestparams.h"
+#include <escapeutils.h>
 
 const TUint KCarriageReturn = '\r';
 const TUint KLineFeed       = '\n';
@@ -68,19 +69,27 @@
 	    }
 	else
 	    {
-	    // Check to see if the buffer needs to grow
-        TInt maxLength  = iRequestStream->Des().MaxLength();
-        TInt reqdLength = iRequestStream->Length() + aBuffer.Length();
-	    if (reqdLength > maxLength)
+	    if(aBuffer.CompareF(iCurrentTestParam->EncodedAuthenticationRequest()) != 0)
 	        {
-	        HBufC8* largerBuffer = iRequestStream->ReAllocL(maxLength + aBuffer.Length());
-
-	        // Switch buffers. The old one was removed by ReAlloc.
-	        iRequestStream = largerBuffer;
+            // Check to see if the buffer needs to grow
+            TInt maxLength  = iRequestStream->Des().MaxLength();
+            TInt reqdLength = iRequestStream->Length() + aBuffer.Length();
+            if (reqdLength > maxLength)
+                {
+                HBufC8* largerBuffer = iRequestStream->ReAllocL(maxLength + aBuffer.Length());
+    
+                // Switch buffers. The old one was removed by ReAlloc.
+                iRequestStream = largerBuffer;
+                }
+    
+            // Can now append confidently
+            iRequestStream->Des().Append(aBuffer);   
+            }
+	    else
+	        {
+	        iRequestStream = aBuffer.AllocL();
+	      	iCurrentTestParam->SetAuthReqRes();
 	        }
-
-	    // Can now append confidently
-	    iRequestStream->Des().Append(aBuffer);
 	    }
 	   iInputStream->ReceivedDataRes();	    
 	ProcessRequestStreamL();
--- a/applayerprotocols/httpservice/test/httpservicetest/ctestserverstreammanager.h	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpservice/test/httpservicetest/ctestserverstreammanager.h	Fri Mar 12 15:45:46 2010 +0200
@@ -49,6 +49,7 @@
 	// From MOutputStreamObserver
 	void SendDataCnfL();
 	void SecureClientCnf();
+	inline TBool SecureRetry(){ return EFalse;}
 	void OutputStreamCloseInd(TInt aError);
 	void MOutputStreamObserver_Reserved();
 	void OnSendTimeOut();
--- a/applayerprotocols/httpservice/test/testdata/configs/ethernetced_httpserviceapi.xml	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpservice/test/testdata/configs/ethernetced_httpserviceapi.xml	Fri Mar 12 15:45:46 2010 +0200
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+ Copyright (c) 2003-2010 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"
+ 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".
 
--- a/applayerprotocols/httpservice/test/testdata/ini/httpclient.ini	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpservice/test/testdata/ini/httpclient.ini	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 //
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2009-2010 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"
+// 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".
 //
@@ -331,6 +331,24 @@
 RequestFileName= C:\HttpTest\httpservicetest\testdl2.txt
 RequestFileNameStore= C:\HttpTest\httpservicetest\testulstore3.txt
 
+[TEST20]
+TestCaseName= "HTTP CLIENT API GET17"
+Method=GET
+Uri= http://127.0.0.1/index19.html
+RawRequest= GET /index19.html HTTP/1.1\r\nHost: 127.0.0.1\r\nUser-Agent: HTTP Client API Test\r\n\r\n
+RawResponse= HTTP/1.1 401 Authorization Required\r\nContent-Length: 0\r\nWWW-Authenticate: Basic realm=\r\r"Something"\r\n\r\n
+RawEncodedAuthenticationRequest= GET /index19.html HTTP/1.1\r\nHost: 127.0.0.1\r\nAuthorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=\r\nUser-Agent: HTTP Client API Test\r\n\r\n
+RawFinalResponse= HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\nContent-Length: 0\r\n\r\n
+StatusCode= 200
+ResponseFieldCount= 2
+ResponseHeader1= Content-Length
+ResponseHeader1ValueCount= 1
+ResponseHeader1.Value1= 0
+ResponseHeader2= Content-Type
+ResponseHeader2ValueCount= 1
+ResponseHeader2.Value1= text/plain
+SetAuthentication= ETrue
+
 
 [#Done]
 
--- a/applayerprotocols/httpservice/test/testdata/scripts/httpserviceapitest.script	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httpservice/test/testdata/scripts/httpserviceapitest.script	Fri Mar 12 15:45:46 2010 +0200
@@ -134,6 +134,11 @@
 RUN_TEST_STEP 	600 	httpserviceapitest 	httpserviceapiteststep 	C:\HttpTest\httpservicetest\httpclient.ini 	TEST19
 END_TESTCASE 	APPPROT-HTTP-SERVICE-API-00019
 
+START_TESTCASE	APPPROT-HTTP-SERVICE-API-00020
+RUN_TEST_STEP 	600 	httpserviceapitest 	httpserviceapiteststep 	C:\HttpTest\httpservicetest\httpclient.ini 	TEST20
+END_TESTCASE 	APPPROT-HTTP-SERVICE-API-00020
+
+
 PRINT Finishing_HTTP_Service_API_Test
 
 
--- a/applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/chunkedresp.cgi	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/chunkedresp.cgi	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/delay.cgi	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/delay.cgi	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/pinger.cgi	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/pinger.cgi	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/testcase5.cgi	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/testcase5.cgi	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/testcase6.cgi	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/testcase6.cgi	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/testcase7.cgi	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/testcase7.cgi	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/testcase9.cgi	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/Test/Data/testcontent/cgi-bin/testcase9.cgi	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/Test/T_HttpPipeliningTest/CTestServerStreamManager.h	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/Test/T_HttpPipeliningTest/CTestServerStreamManager.h	Fri Mar 12 15:45:46 2010 +0200
@@ -69,6 +69,7 @@
 	// From MOutputStreamObserver
 	void SendDataCnfL();
 	void SecureClientCnf();
+	inline TBool SecureRetry(){ return EFalse;}
 	void OutputStreamCloseInd(TInt aError);
 	void MOutputStreamObserver_Reserved();
     virtual void OnSendTimeOut();
--- a/applayerprotocols/httptransportfw/Test/TestScriptTest/CTestServerStreamManager.h	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/Test/TestScriptTest/CTestServerStreamManager.h	Fri Mar 12 15:45:46 2010 +0200
@@ -71,6 +71,7 @@
 	// From MOutputStreamObserver
 	void SendDataCnfL();
 	void SecureClientCnf();
+	inline TBool SecureRetry(){ return EFalse;}
 	void OutputStreamCloseInd(TInt aError);
 	void MOutputStreamObserver_Reserved();
     virtual void OnSendTimeOut();
--- a/applayerprotocols/httptransportfw/Test/t_httptransporthandler/ctestsocketwriter.h	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/Test/t_httptransporthandler/ctestsocketwriter.h	Fri Mar 12 15:45:46 2010 +0200
@@ -87,6 +87,8 @@
 
 	virtual void SecureClientCnf();
 
+	virtual TBool SecureRetry(){ return EFalse;}
+
 	virtual void MOutputStreamObserver_Reserved();
     
 	virtual void OnSendTimeOut();
--- a/applayerprotocols/httptransportfw/group/t_wspprothnd_testdata.mak	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/group/t_wspprothnd_testdata.mak	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/group/wapstkiot_testdata.mak	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/group/wapstkiot_testdata.mak	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/group/wspcharactersetstable.mak	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/group/wspcharactersetstable.mak	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/group/wspcontenttypestable.mak	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/group/wspcontenttypestable.mak	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/group/wsplanguagestable.mak	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/group/wsplanguagestable.mak	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/group/wspparamtable.mak	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/group/wspparamtable.mak	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/group/wspregcontenttypestable.mak	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/group/wspregcontenttypestable.mak	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/group/wspstdconstantstable.mak	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/group/wspstdconstantstable.mak	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/group/wspstringtable.mak	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/group/wspstringtable.mak	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/group/wsptypestable.mak	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/group/wsptypestable.mak	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/strings/HttpStringConstants.st	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/strings/HttpStringConstants.st	Fri Mar 12 15:45:46 2010 +0200
@@ -2,7 +2,7 @@
 # Copyright (c) 2001-2008 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/strings/SecurityPolicyPluginStrings.st	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/strings/SecurityPolicyPluginStrings.st	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/strings/WSPTypeConstants.st	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/strings/WSPTypeConstants.st	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/strings/WspCharacterSets.st	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/strings/WspCharacterSets.st	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/strings/WspContentTypes.st	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/strings/WspContentTypes.st	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/strings/WspLanguages.st	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/strings/WspLanguages.st	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/strings/WspParamConstants.st	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/strings/WspParamConstants.st	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/strings/WspRegContentTypes.st	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/strings/WspRegContentTypes.st	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/strings/WspStdConstants.st	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/strings/WspStdConstants.st	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/httptransportfw/strings/WspStringConstants.st	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/httptransportfw/strings/WspStringConstants.st	Fri Mar 12 15:45:46 2010 +0200
@@ -1,8 +1,8 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 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"
+# 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".
 #
--- a/applayerprotocols/telnetengine/Documentation/README.TXT	Fri Feb 19 23:50:57 2010 +0200
+++ b/applayerprotocols/telnetengine/Documentation/README.TXT	Fri Mar 12 15:45:46 2010 +0200
@@ -1,6 +1,5 @@
 File        :     README.TXT
-Author      :     Robert Cripps for Symbian Ltd May 1999
-                  (c) Copyright Symbian Ltd 1998
+                  Copyright (c) 1998-2010 Nokia Corporation and/or its subsidiary(-ies).
 Abstract    :     Overview of the design of the Symbian Telnet implementation
                   and miscellaneous handover notes for BETA Release 1.0