rpcrt4: Specify INTERNET_FLAG_NO_CACHE_WRITE for the HTTP transport pipes.

This commit is contained in:
Hans Leidekker 2013-05-31 16:04:15 +02:00 committed by Alexandre Julliard
parent 667bd327be
commit 30c00ea16d

View File

@ -2364,6 +2364,7 @@ static RPC_STATUS rpcrt4_ncacn_http_open(RpcConnection* Connection)
static const WCHAR wszColon[] = {':',0}; static const WCHAR wszColon[] = {':',0};
static const WCHAR wszAcceptType[] = {'a','p','p','l','i','c','a','t','i','o','n','/','r','p','c',0}; static const WCHAR wszAcceptType[] = {'a','p','p','l','i','c','a','t','i','o','n','/','r','p','c',0};
LPCWSTR wszAcceptTypes[] = { wszAcceptType, NULL }; LPCWSTR wszAcceptTypes[] = { wszAcceptType, NULL };
DWORD flags;
WCHAR *url; WCHAR *url;
RPC_STATUS status; RPC_STATUS status;
BOOL secure; BOOL secure;
@ -2403,20 +2404,19 @@ static RPC_STATUS rpcrt4_ncacn_http_open(RpcConnection* Connection)
(httpc->common.QOS->qos->AdditionalSecurityInfoType == RPC_C_AUTHN_INFO_TYPE_HTTP) && (httpc->common.QOS->qos->AdditionalSecurityInfoType == RPC_C_AUTHN_INFO_TYPE_HTTP) &&
(httpc->common.QOS->qos->u.HttpCredentials->Flags & RPC_C_HTTP_FLAG_USE_SSL); (httpc->common.QOS->qos->u.HttpCredentials->Flags & RPC_C_HTTP_FLAG_USE_SSL);
httpc->in_request = HttpOpenRequestW(httpc->session, wszVerbIn, url, NULL, NULL, flags = INTERNET_FLAG_KEEP_CONNECTION | INTERNET_FLAG_PRAGMA_NOCACHE | INTERNET_FLAG_NO_CACHE_WRITE;
wszAcceptTypes, if (secure) flags |= INTERNET_FLAG_SECURE;
(secure ? INTERNET_FLAG_SECURE : 0)|INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_PRAGMA_NOCACHE,
(DWORD_PTR)httpc->async_data); httpc->in_request = HttpOpenRequestW(httpc->session, wszVerbIn, url, NULL, NULL, wszAcceptTypes,
flags, (DWORD_PTR)httpc->async_data);
if (!httpc->in_request) if (!httpc->in_request)
{ {
ERR("HttpOpenRequestW failed with error %d\n", GetLastError()); ERR("HttpOpenRequestW failed with error %d\n", GetLastError());
HeapFree(GetProcessHeap(), 0, url); HeapFree(GetProcessHeap(), 0, url);
return RPC_S_SERVER_UNAVAILABLE; return RPC_S_SERVER_UNAVAILABLE;
} }
httpc->out_request = HttpOpenRequestW(httpc->session, wszVerbOut, url, NULL, NULL, httpc->out_request = HttpOpenRequestW(httpc->session, wszVerbOut, url, NULL, NULL, wszAcceptTypes,
wszAcceptTypes, flags, (DWORD_PTR)httpc->async_data);
(secure ? INTERNET_FLAG_SECURE : 0)|INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_PRAGMA_NOCACHE,
(DWORD_PTR)httpc->async_data);
HeapFree(GetProcessHeap(), 0, url); HeapFree(GetProcessHeap(), 0, url);
if (!httpc->out_request) if (!httpc->out_request)
{ {