# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1272880848 -10800 # Node ID ce2bfba3d0050fb3eb7c3f40da92885e137fe9ee # Parent 88a7990e456a2aa658393947c5dc20fcc243991c Revision: 201015 Kit: 201018 diff -r 88a7990e456a -r ce2bfba3d005 applayerpluginsandutils/httpprotocolplugins/httpclient/101F55F6.rls --- a/applayerpluginsandutils/httpprotocolplugins/httpclient/101F55F6.rls Fri Apr 16 15:30:47 2010 +0300 +++ b/applayerpluginsandutils/httpprotocolplugins/httpclient/101F55F6.rls Mon May 03 13:00:48 2010 +0300 @@ -13,4 +13,5 @@ // Description: // -rls_string STRING_theInfo1 "XXXXXXXXXXXX||Comment : Http client protocol handler" \ No newline at end of file +rls_string STRING_theInfo1 "XXXXXXXXXXXX||Comment : Http client protocol handler" + diff -r 88a7990e456a -r ce2bfba3d005 applayerpluginsandutils/httpprotocolplugins/httpclient/chttpclienthandler.cpp --- a/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpclienthandler.cpp Fri Apr 16 15:30:47 2010 +0300 +++ b/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpclienthandler.cpp Mon May 03 13:00:48 2010 +0300 @@ -1004,6 +1004,7 @@ // Transaction is still alive - ask its connection manager to cancel it. MHttpRequest& request = static_cast(aTransaction.TxData()); MHttpResponse& response = static_cast(aTransaction.RxData()); + response.FlushBodyDataIfNotRead(); manager->CancelSubmission(request, response); // Connection is now cancelled - remove the connection manager from the diff -r 88a7990e456a -r ce2bfba3d005 applayerpluginsandutils/httpprotocolplugins/httpclient/chttpresponseparser.cpp --- a/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpresponseparser.cpp Fri Apr 16 15:30:47 2010 +0300 +++ b/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpresponseparser.cpp Mon May 03 13:00:48 2010 +0300 @@ -793,4 +793,18 @@ User::Invariant(); } - +void CHttpResponseParser::FlushBodyDataIfNotRead() +{ + // Message is completed but the client is not yet read the complete body data + // and we are cancelling. So we need to clear the parsed body data as another + // request would have been sent via the connection. The flushing of the body + // data is needed to make the connection manager to read further response from the + // socket otherwise it hangs. See the error: + + // Note: This function should be called from CancelTransactionHook and only in the + // case of client cancelling the transaction. ie; using RHTTPTransaction::Cancel(); + if(MessageComplete() && iBodyParts.Count() > 0) + { + iBodyParts.Reset(); // Reset the body array. + } +} diff -r 88a7990e456a -r ce2bfba3d005 applayerpluginsandutils/httpprotocolplugins/httpclient/chttpresponseparser.h --- a/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpresponseparser.h Fri Apr 16 15:30:47 2010 +0300 +++ b/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpresponseparser.h Mon May 03 13:00:48 2010 +0300 @@ -63,6 +63,7 @@ virtual void OnResponseReceiveTimeOut (); virtual TInt ReceiveTimeOutValue (); TBool ResponseInformational (); + virtual void FlushBodyDataIfNotRead(); private: // methods from MHttpMessageParserObserver diff -r 88a7990e456a -r ce2bfba3d005 applayerpluginsandutils/httpprotocolplugins/httpclient/mhttpresponse.h --- a/applayerpluginsandutils/httpprotocolplugins/httpclient/mhttpresponse.h Fri Apr 16 15:30:47 2010 +0300 +++ b/applayerpluginsandutils/httpprotocolplugins/httpclient/mhttpresponse.h Mon May 03 13:00:48 2010 +0300 @@ -42,6 +42,8 @@ virtual void FailTransactionL() = 0; virtual TBool ResponseInformational () =0; + + virtual void FlushBodyDataIfNotRead() =0; }; diff -r 88a7990e456a -r ce2bfba3d005 applayerpluginsandutils/httptransportplugins/httptransporthandler/101f55ee.rss --- a/applayerpluginsandutils/httptransportplugins/httptransporthandler/101f55ee.rss Fri Apr 16 15:30:47 2010 +0300 +++ b/applayerpluginsandutils/httptransportplugins/httptransporthandler/101f55ee.rss Mon May 03 13:00:48 2010 +0300 @@ -42,4 +42,6 @@ }; } }; - } \ No newline at end of file + } + + diff -r 88a7990e456a -r ce2bfba3d005 applayerpluginsandutils/httptransportplugins/httptransporthandler/101f55f7.rls --- a/applayerpluginsandutils/httptransportplugins/httptransporthandler/101f55f7.rls Fri Apr 16 15:30:47 2010 +0300 +++ b/applayerpluginsandutils/httptransportplugins/httptransporthandler/101f55f7.rls Mon May 03 13:00:48 2010 +0300 @@ -13,4 +13,6 @@ // Description: // -rls_string STRING_theInfo1 "HTTP Secure Socket" \ No newline at end of file +rls_string STRING_theInfo1 "HTTP Secure Socket" + + diff -r 88a7990e456a -r ce2bfba3d005 applayerpluginsandutils/httptransportplugins/httptransporthandler/101f55f7.rss --- a/applayerpluginsandutils/httptransportplugins/httptransporthandler/101f55f7.rss Fri Apr 16 15:30:47 2010 +0300 +++ b/applayerpluginsandutils/httptransportplugins/httptransporthandler/101f55f7.rss Mon May 03 13:00:48 2010 +0300 @@ -38,4 +38,6 @@ }; } }; - } \ No newline at end of file + } + + diff -r 88a7990e456a -r ce2bfba3d005 applayerprotocols/httpexamples/PipeliningConfigFilter/FilterSrc/101F5600.rss --- a/applayerprotocols/httpexamples/PipeliningConfigFilter/FilterSrc/101F5600.rss Fri Apr 16 15:30:47 2010 +0300 +++ b/applayerprotocols/httpexamples/PipeliningConfigFilter/FilterSrc/101F5600.rss Mon May 03 13:00:48 2010 +0300 @@ -39,4 +39,5 @@ }; } }; - } \ No newline at end of file + } + \ No newline at end of file diff -r 88a7990e456a -r ce2bfba3d005 applayerprotocols/httpexamples/T_TestFilters/101F447F.rss --- a/applayerprotocols/httpexamples/T_TestFilters/101F447F.rss Fri Apr 16 15:30:47 2010 +0300 +++ b/applayerprotocols/httpexamples/T_TestFilters/101F447F.rss Mon May 03 13:00:48 2010 +0300 @@ -46,4 +46,5 @@ }; } }; - } \ No newline at end of file + } + \ No newline at end of file diff -r 88a7990e456a -r ce2bfba3d005 applayerprotocols/httpexamples/cookies/cookiefilter/1000A448.rss --- a/applayerprotocols/httpexamples/cookies/cookiefilter/1000A448.rss Fri Apr 16 15:30:47 2010 +0300 +++ b/applayerprotocols/httpexamples/cookies/cookiefilter/1000A448.rss Mon May 03 13:00:48 2010 +0300 @@ -39,4 +39,5 @@ }; } }; - } \ No newline at end of file + } + \ No newline at end of file diff -r 88a7990e456a -r ce2bfba3d005 applayerprotocols/httpexamples/t_securitypolicy/test/101F4487.rss --- a/applayerprotocols/httpexamples/t_securitypolicy/test/101F4487.rss Fri Apr 16 15:30:47 2010 +0300 +++ b/applayerprotocols/httpexamples/t_securitypolicy/test/101F4487.rss Mon May 03 13:00:48 2010 +0300 @@ -38,4 +38,5 @@ }; } }; - } \ No newline at end of file + } + \ No newline at end of file diff -r 88a7990e456a -r ce2bfba3d005 applayerprotocols/httpexamples/uaprof/uaproffilter/101F55E8.rls --- a/applayerprotocols/httpexamples/uaprof/uaproffilter/101F55E8.rls Fri Apr 16 15:30:47 2010 +0300 +++ b/applayerprotocols/httpexamples/uaprof/uaproffilter/101F55E8.rls Mon May 03 13:00:48 2010 +0300 @@ -13,4 +13,4 @@ // Description: // -rls_string STRING_theInfo1 "UAProf Filter" \ No newline at end of file +rls_string STRING_theInfo1 "UAProf Filter" diff -r 88a7990e456a -r ce2bfba3d005 applayerprotocols/httpexamples/uaprof/uaproffilter/101F55E8.rss --- a/applayerprotocols/httpexamples/uaprof/uaproffilter/101F55E8.rss Fri Apr 16 15:30:47 2010 +0300 +++ b/applayerprotocols/httpexamples/uaprof/uaproffilter/101F55E8.rss Mon May 03 13:00:48 2010 +0300 @@ -39,4 +39,5 @@ }; } }; - } \ No newline at end of file + } + \ No newline at end of file diff -r 88a7990e456a -r ce2bfba3d005 applayerprotocols/httptransportfw/Test/EABI/httptestutilsU.def --- a/applayerprotocols/httptransportfw/Test/EABI/httptestutilsU.def Fri Apr 16 15:30:47 2010 +0300 +++ b/applayerprotocols/httptransportfw/Test/EABI/httptestutilsU.def Mon May 03 13:00:48 2010 +0300 @@ -125,4 +125,6 @@ _ZThn56_N18CHttpTestTransBase5ResetEv @ 124 NONAME ; ## _ZN14CHTTPTestUtils23CleanupFailedTestsArrayEv @ 125 NONAME _ZN14CHTTPTestUtils23CreateFailedTestsArrayLEv @ 126 NONAME + _ZN11CScriptFile7SectionERK7TDesC16 @ 127 NONAME + _ZZN14CHTTPTestUtils8OverflowER6TDes16E15KErrOverflowMsg @ 128 NONAME DATA 12 diff -r 88a7990e456a -r ce2bfba3d005 applayerprotocols/httptransportfw/Test/t_utils/ScriptFile.cpp --- a/applayerprotocols/httptransportfw/Test/t_utils/ScriptFile.cpp Fri Apr 16 15:30:47 2010 +0300 +++ b/applayerprotocols/httptransportfw/Test/t_utils/ScriptFile.cpp Mon May 03 13:00:48 2010 +0300 @@ -67,7 +67,7 @@ delete iComponent; } -CScriptSection* CScriptFile::Section(const TDesC& aSectionName) +EXPORT_C CScriptSection* CScriptFile::Section(const TDesC& aSectionName) { CScriptSection* section = iLastSection; diff -r 88a7990e456a -r ce2bfba3d005 applayerprotocols/httptransportfw/Test/testhttpmessage/ctestengine.cpp --- a/applayerprotocols/httptransportfw/Test/testhttpmessage/ctestengine.cpp Fri Apr 16 15:30:47 2010 +0300 +++ b/applayerprotocols/httptransportfw/Test/testhttpmessage/ctestengine.cpp Mon May 03 13:00:48 2010 +0300 @@ -157,12 +157,12 @@ } } - void CTestEngine::StartTimer() + EXPORT_C void CTestEngine::StartTimer() { iStartTime = User::FastCounter(); } - void CTestEngine::EndTimer(const TDesC& aComment) + EXPORT_C void CTestEngine::EndTimer(const TDesC& aComment) { iEndTime = User::FastCounter(); iTimeDifference = iEndTime-iStartTime; diff -r 88a7990e456a -r ce2bfba3d005 applayerprotocols/httptransportfw/group/HttpClientErr.ra --- a/applayerprotocols/httptransportfw/group/HttpClientErr.ra Fri Apr 16 15:30:47 2010 +0300 +++ b/applayerprotocols/httptransportfw/group/HttpClientErr.ra Mon May 03 13:00:48 2010 +0300 @@ -363,3 +363,5 @@ RESOURCE TBUF r_http_error_cant_reset_request_body { buf=STRING_r_http_error_cant_reset_request_body; } RESOURCE TBUF r_http_error_transaction_not_initalised { buf=STRING_r_http_error_transaction_not_initalised; } + + diff -r 88a7990e456a -r ce2bfba3d005 httpfilters/httpfilterauthentication/Src/HttpFilterAuthentication.cpp --- a/httpfilters/httpfilterauthentication/Src/HttpFilterAuthentication.cpp Fri Apr 16 15:30:47 2010 +0300 +++ b/httpfilters/httpfilterauthentication/Src/HttpFilterAuthentication.cpp Mon May 03 13:00:48 2010 +0300 @@ -656,6 +656,7 @@ { THTTPHdrVal fieldVal; // The name of the current field. THTTPHdrVal hdrVal; //A scratch hdrVal + // coverity [CHECKED_RETURN] headers.GetField( wwwAuthenticate, ii, fieldVal ); switch ( fieldVal.StrF().Index( RHTTPSession::GetTable() ) ) diff -r 88a7990e456a -r ce2bfba3d005 httpfilters/httpfilterauthentication/Src/HttpFilterDigestAuthentication.cpp --- a/httpfilters/httpfilterauthentication/Src/HttpFilterDigestAuthentication.cpp Fri Apr 16 15:30:47 2010 +0300 +++ b/httpfilters/httpfilterauthentication/Src/HttpFilterDigestAuthentication.cpp Mon May 03 13:00:48 2010 +0300 @@ -508,6 +508,7 @@ { THTTPHdrVal fieldVal; // The name of the current field. THTTPHdrVal hdrVal; //A scratch hdrVal + // coverity [CHECKED_RETURN] headers.GetField( wwwAuthenticate, ii, fieldVal ); switch ( fieldVal.StrF().Index( RHTTPSession::GetTable() ) ) diff -r 88a7990e456a -r ce2bfba3d005 httpfilters/httpfiltercommon/group/HttpFilterCommon.mmp --- a/httpfilters/httpfiltercommon/group/HttpFilterCommon.mmp Fri Apr 16 15:30:47 2010 +0300 +++ b/httpfilters/httpfiltercommon/group/HttpFilterCommon.mmp Mon May 03 13:00:48 2010 +0300 @@ -28,11 +28,11 @@ #if defined(ARMCC) deffile EABI/HttpFilterCommon.def #elif defined( WINSCW ) -deffile Bwinscw/HTTPFILTERCOMMON.def +deffile BWINSCW/HTTPFILTERCOMMON.DEF #elif defined( WINS ) deffile Bwins/HttpFilterCommon.def #else -deffile Bmarm/HTTPFILTERCOMMON.def +deffile BMARM/HTTPFILTERCOMMON.DEF #endif diff -r 88a7990e456a -r ce2bfba3d005 httpfilters/httpfilterconnhandler/Src/HttpFilterConnHandler.cpp --- a/httpfilters/httpfilterconnhandler/Src/HttpFilterConnHandler.cpp Fri Apr 16 15:30:47 2010 +0300 +++ b/httpfilters/httpfilterconnhandler/Src/HttpFilterConnHandler.cpp Mon May 03 13:00:48 2010 +0300 @@ -273,6 +273,7 @@ if (state == EIdle) { iObserver->GetStateL(KPSUidWcdmaStatusValue, wcdmaState); + iObserver->GetStateL(KPSUidGprsStatusValue, gprsState); if (wcdmaState == EPSWcdmaSuspend && gprsState == EPSGprsSuspend) //this should not meet all the time. { // user sent request from "No coverage" area, so all outstanding transactions will diff -r 88a7990e456a -r ce2bfba3d005 httpfilters/httpfilterconnhandler/group/httpfilterConnHandler.mmp --- a/httpfilters/httpfilterconnhandler/group/httpfilterConnHandler.mmp Fri Apr 16 15:30:47 2010 +0300 +++ b/httpfilters/httpfilterconnhandler/group/httpfilterConnHandler.mmp Mon May 03 13:00:48 2010 +0300 @@ -32,7 +32,7 @@ SOURCEPATH ../Src -SOURCE httpFilterConnHandler.cpp +SOURCE HttpFilterConnHandler.cpp SOURCE HttpFilterConnHandlerMain.cpp SOURCE httpfilterconnhandlerObserverPS.cpp