/* return the size of data available to be read immediately (the read section must be held) */
static DWORD get_avail_data( http_request_t *req )
{
- return req->read_size + req->data_stream->vtbl->get_avail_data(req->data_stream, req);
+ DWORD avail = req->read_size;
+
+ /*
+ * Different Windows versions have different limits of returned data, but all
+ * of them return no more than centrain amount. We use READ_BUFFER_SIZE as a limit.
+ */
+ if(avail < READ_BUFFER_SIZE)
+ avail += req->data_stream->vtbl->get_avail_data(req->data_stream, req);
+
+ return min(avail, READ_BUFFER_SIZE);
}
static DWORD netconn_get_avail_data(data_stream_t *stream, http_request_t *req)
if (!urlcache_find_hash_entry(pHeader, lpszUrlName, &pHashEntry))
{
cache_container_unlock_index(pContainer, pHeader);
- TRACE("entry %s not found!\n", lpszUrlName);
+ TRACE("entry %s not found!\n", debugstr_a(lpszUrlName));
SetLastError(ERROR_FILE_NOT_FOUND);
return FALSE;
}
if (!urlcache_find_hash_entry(pHeader, lpszUrlName, &pHashEntry))
{
cache_container_unlock_index(pContainer, pHeader);
- TRACE("entry %s not found!\n", lpszUrlName);
+ TRACE("entry %s not found!\n", debugstr_a(lpszUrlName));
SetLastError(ERROR_FILE_NOT_FOUND);
return FALSE;
}
diff -pudN e:\wine\dlls\wininet/http.c e:\reactos\dll\win32\wininet/http.c
---- e:\wine\dlls\wininet/http.c 2016-05-31 18:02:43 +0100
-+++ e:\reactos\dll\win32\wininet/http.c 2016-07-02 16:18:16 +0100
+--- e:\wine\dlls\wininet/http.c 2016-11-16 17:36:38 +0100
++++ e:\reactos\dll\win32\wininet/http.c 2016-11-17 00:15:58 +0100
@@ -118,6 +118,7 @@ static const WCHAR emptyW[] = {0};
#define COLLECT_TIME 60000
LIST_FOR_EACH_ENTRY_SAFE(server, server_safe, &connection_pool, server_t, entry) {
LIST_FOR_EACH_ENTRY_SAFE(netconn, netconn_safe, &server->conn_pool, netconn_t, pool_entry) {
-@@ -1923,13 +1934,14 @@ static void http_release_netconn(http_re
+@@ -1933,13 +1944,14 @@ static void http_release_netconn(http_re
if(!is_valid_netconn(req->netconn))
return;
req->netconn = NULL;
run_collector = !collector_running;
-@@ -1957,6 +1969,10 @@ static void http_release_netconn(http_re
+@@ -1967,6 +1979,10 @@ static void http_release_netconn(http_re
}
return;
}
INTERNET_SendCallback(&req->hdr, req->hdr.dwContext,
INTERNET_STATUS_CLOSING_CONNECTION, 0, 0);
diff -pudN e:\wine\dlls\wininet/internet.c e:\reactos\dll\win32\wininet/internet.c
---- e:\wine\dlls\wininet/internet.c 2016-05-31 18:05:36 +0100
-+++ e:\reactos\dll\win32\wininet/internet.c 2016-07-02 16:18:16 +0100
+--- e:\wine\dlls\wininet/internet.c 2016-11-16 17:36:38 +0100
++++ e:\reactos\dll\win32\wininet/internet.c 2016-08-15 17:12:14 +0100
@@ -963,6 +963,9 @@ HINTERNET WINAPI InternetOpenW(LPCWSTR l
{
appinfo_t *lpwai = NULL;
#define FE(x) { x, #x }
static const wininet_flag_info access_type[] = {
+diff -pudN e:\wine\dlls\wininet/netconnection.c e:\reactos\dll\win32\wininet/netconnection.c
+--- e:\wine\dlls\wininet/netconnection.c 2016-11-16 17:36:38 +0100
++++ e:\reactos\dll\win32\wininet/netconnection.c 2016-10-13 11:15:37 +0100
+@@ -259,7 +259,7 @@ static BOOL WINAPI winsock_startup(INIT_
+ WSADATA wsa_data;
+ DWORD res;
+
+- res = WSAStartup(MAKEWORD(1,1), &wsa_data);
++ res = WSAStartup(MAKEWORD(2,2), &wsa_data);
+ if(res == ERROR_SUCCESS)
+ winsock_loaded = TRUE;
+ else
diff -pudN e:\wine\dlls\wininet/urlcache.c e:\reactos\dll\win32\wininet/urlcache.c
---- e:\wine\dlls\wininet/urlcache.c 2016-05-31 18:02:43 +0100
-+++ e:\reactos\dll\win32\wininet/urlcache.c 2016-07-02 16:18:16 +0100
+--- e:\wine\dlls\wininet/urlcache.c 2016-11-16 17:36:38 +0100
++++ e:\reactos\dll\win32\wininet/urlcache.c 2016-11-17 00:16:23 +0100
@@ -179,6 +179,8 @@ typedef struct
/* List of all containers available */
return TRUE;
}
+diff -pudN e:\wine\dlls\wininet/utility.c e:\reactos\dll\win32\wininet/utility.c
+--- e:\wine\dlls\wininet/utility.c 2016-11-16 17:36:38 +0100
++++ e:\reactos\dll\win32\wininet/utility.c 2016-08-15 17:12:40 +0100
+@@ -24,6 +24,9 @@
+
+ #include "internet.h"
+
++// ReactOS
++#include "inet_ntop.c"
++
+ #define TIME_STRING_LEN 30
+
+ time_t ConvertTimeString(LPCWSTR asctime)