const char *types[2] = { "*", NULL };
HINTERNET hi, hic = 0, hor = 0;
- hCompleteEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
+ hCompleteEvent = CreateEventW(NULL, FALSE, FALSE, NULL);
trace("Starting InternetReadFile test with flags 0x%x on url %s\n",flags,test->url);
if(test->flags & TESTF_COMPRESSED) {
BOOL b = TRUE;
- res = InternetSetOption(hor, INTERNET_OPTION_HTTP_DECODING, &b, sizeof(b));
+ res = InternetSetOptionA(hor, INTERNET_OPTION_HTTP_DECODING, &b, sizeof(b));
ok(res || broken(!res && GetLastError() == ERROR_INTERNET_INVALID_OPTION),
"InternetSetOption failed: %u\n", GetLastError());
if(!res)
{
BOOL res;
CHAR buffer[4000];
- DWORD length;
+ DWORD length, got;
const char *types[2] = { "*", NULL };
HINTERNET hi, hic = 0, hor = 0;
trace("got %u available\n",length);
if (length)
{
- DWORD got;
char *buffer = HeapAlloc(GetProcessHeap(),0,length+1);
res = InternetReadFile(hor,buffer,length,&got);
if (!got) break;
}
if (length == 0)
+ {
+ got = 0xdeadbeef;
+ res = InternetReadFile( hor, buffer, 1, &got );
+ ok( res, "InternetReadFile failed: %u\n", GetLastError() );
+ ok( !got, "got %u\n", got );
break;
+ }
}
abort:
trace("aborting\n");
DWORD length;
const char *types[2] = { "*", NULL };
HINTERNET hi, hic = 0, hor = 0;
- INTERNET_BUFFERS inetbuffers;
+ INTERNET_BUFFERSA inetbuffers;
- hCompleteEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
+ hCompleteEvent = CreateEventW(NULL, FALSE, FALSE, NULL);
trace("Starting InternetReadFileExA test with flags 0x%x\n",flags);
CLEAR_NOTIFIED(INTERNET_STATUS_CONNECTED_TO_SERVER);
/* tests invalid dwStructSize */
- inetbuffers.dwStructSize = sizeof(INTERNET_BUFFERS)+1;
+ inetbuffers.dwStructSize = sizeof(inetbuffers)+1;
inetbuffers.lpcszHeader = NULL;
inetbuffers.dwHeadersLength = 0;
inetbuffers.dwBufferLength = 10;
inetbuffers.lpvBuffer = HeapAlloc(GetProcessHeap(), 0, 10);
inetbuffers.dwOffsetHigh = 1234;
inetbuffers.dwOffsetLow = 5678;
- rc = InternetReadFileEx(hor, &inetbuffers, 0, 0xdeadcafe);
+ rc = InternetReadFileExA(hor, &inetbuffers, 0, 0xdeadcafe);
ok(!rc && (GetLastError() == ERROR_INVALID_PARAMETER),
"InternetReadFileEx should have failed with ERROR_INVALID_PARAMETER instead of %s, %u\n",
rc ? "TRUE" : "FALSE", GetLastError());
test_request_flags(hor, 0);
/* tests to see whether lpcszHeader is used - it isn't */
- inetbuffers.dwStructSize = sizeof(INTERNET_BUFFERS);
- inetbuffers.lpcszHeader = (LPCTSTR)0xdeadbeef;
+ inetbuffers.dwStructSize = sizeof(inetbuffers);
+ inetbuffers.lpcszHeader = (LPCSTR)0xdeadbeef;
inetbuffers.dwHeadersLength = 255;
inetbuffers.dwBufferLength = 0;
inetbuffers.lpvBuffer = NULL;
inetbuffers.dwOffsetLow = 5678;
SET_EXPECT(INTERNET_STATUS_RECEIVING_RESPONSE);
SET_EXPECT(INTERNET_STATUS_RESPONSE_RECEIVED);
- rc = InternetReadFileEx(hor, &inetbuffers, 0, 0xdeadcafe);
+ rc = InternetReadFileExA(hor, &inetbuffers, 0, 0xdeadcafe);
ok(rc, "InternetReadFileEx failed with error %u\n", GetLastError());
trace("read %i bytes\n", inetbuffers.dwBufferLength);
todo_wine
CHECK_NOT_NOTIFIED(INTERNET_STATUS_RESPONSE_RECEIVED);
}
- rc = InternetReadFileEx(NULL, &inetbuffers, 0, 0xdeadcafe);
+ rc = InternetReadFileExA(NULL, &inetbuffers, 0, 0xdeadcafe);
ok(!rc && (GetLastError() == ERROR_INVALID_HANDLE),
"InternetReadFileEx should have failed with ERROR_INVALID_HANDLE instead of %s, %u\n",
rc ? "TRUE" : "FALSE", GetLastError());
while (TRUE)
{
- inetbuffers.dwStructSize = sizeof(INTERNET_BUFFERS);
+ inetbuffers.dwStructSize = sizeof(inetbuffers);
inetbuffers.dwBufferLength = 1024;
inetbuffers.lpvBuffer = HeapAlloc(GetProcessHeap(), 0, inetbuffers.dwBufferLength+1);
inetbuffers.dwOffsetHigh = 1234;
DWORD size, readbytes, totalbytes=0;
BOOL ret;
- ret = DeleteUrlCacheEntry(TEST_URL);
+ ret = DeleteUrlCacheEntryA(TEST_URL);
ok(ret || GetLastError() == ERROR_FILE_NOT_FOUND,
"DeleteUrlCacheEntry returned %x, GetLastError() = %d\n", ret, GetLastError());
- myhinternet = InternetOpen("Winetest",0,NULL,NULL,INTERNET_FLAG_NO_CACHE_WRITE);
+ myhinternet = InternetOpenA("Winetest",0,NULL,NULL,INTERNET_FLAG_NO_CACHE_WRITE);
ok((myhinternet != 0), "InternetOpen failed, error %u\n",GetLastError());
size = 0x400;
- ret = InternetCanonicalizeUrl(TEST_URL, buffer, &size,ICU_BROWSER_MODE);
+ ret = InternetCanonicalizeUrlA(TEST_URL, buffer, &size,ICU_BROWSER_MODE);
ok( ret, "InternetCanonicalizeUrl failed, error %u\n",GetLastError());
SetLastError(0);
- myhttp = InternetOpenUrl(myhinternet, TEST_URL, 0, 0,
+ myhttp = InternetOpenUrlA(myhinternet, TEST_URL, 0, 0,
INTERNET_FLAG_RELOAD|INTERNET_FLAG_NO_CACHE_WRITE|INTERNET_FLAG_TRANSFER_BINARY,0);
if (GetLastError() == ERROR_INTERNET_NAME_NOT_RESOLVED)
return; /* WinXP returns this when not connected to the net */
InternetCloseHandle(myhttp);
InternetCloseHandle(myhinternet);
- ret = DeleteUrlCacheEntry(TEST_URL);
+ ret = DeleteUrlCacheEntryA(TEST_URL);
ok(!ret && GetLastError() == ERROR_FILE_NOT_FOUND, "INTERNET_FLAG_NO_CACHE_WRITE flag doesn't work\n");
}
HINTERNET hConnect;
HINTERNET hRequest;
- INTERNET_BUFFERS BufferIn;
+ INTERNET_BUFFERSA BufferIn;
DWORD dwBytesWritten, dwBytesRead, error;
CHAR szBuffer[256];
int i;
static char szPostData[] = "mode=Test";
static const char szContentType[] = "Content-Type: application/x-www-form-urlencoded";
- hSession = InternetOpen("Wine Regression Test",
+ hSession = InternetOpenA("Wine Regression Test",
INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
ok( hSession != NULL ,"Unable to open Internet session\n");
- hConnect = InternetConnect(hSession, "crossover.codeweavers.com",
+ hConnect = InternetConnectA(hSession, "crossover.codeweavers.com",
INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0,
0);
ok( hConnect != NULL, "Unable to connect to http://crossover.codeweavers.com\n");
- hRequest = HttpOpenRequest(hConnect, "POST", "/posttest.php",
+ hRequest = HttpOpenRequestA(hConnect, "POST", "/posttest.php",
NULL, NULL, NULL, INTERNET_FLAG_NO_CACHE_WRITE, 0);
if (!hRequest && GetLastError() == ERROR_INTERNET_NAME_NOT_RESOLVED)
{
test_request_flags(hRequest, INTERNET_REQFLAG_NO_HEADERS);
- BufferIn.dwStructSize = sizeof( INTERNET_BUFFERS);
- BufferIn.Next = (LPINTERNET_BUFFERS)0xdeadcab;
+ BufferIn.dwStructSize = sizeof(BufferIn);
+ BufferIn.Next = (INTERNET_BUFFERSA*)0xdeadcab;
BufferIn.lpcszHeader = szContentType;
BufferIn.dwHeadersLength = sizeof(szContentType)-1;
BufferIn.dwHeadersTotal = sizeof(szContentType)-1;
BufferIn.dwOffsetHigh = 0;
SetLastError(0xdeadbeef);
- ret = HttpSendRequestEx(hRequest, &BufferIn, NULL, 0 ,0);
+ ret = HttpSendRequestExA(hRequest, &BufferIn, NULL, 0 ,0);
error = GetLastError();
ok(ret, "HttpSendRequestEx Failed with error %u\n", error);
ok(error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", error);
test_request_flags(hRequest, INTERNET_REQFLAG_NO_HEADERS);
- ok(HttpEndRequest(hRequest, NULL, 0, 0), "HttpEndRequest Failed\n");
+ ok(HttpEndRequestA(hRequest, NULL, 0, 0), "HttpEndRequest Failed\n");
test_request_flags(hRequest, 0);
}
ok(request != NULL, "Failed to open request handle err %u\n", GetLastError());
- ret = HttpSendRequest(request, NULL, 0, NULL, 0);
+ ret = HttpSendRequestW(request, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed: %u\n", GetLastError());
ok(InternetCloseHandle(request), "Close request handle failed\n");
request = HttpOpenRequestW(connect, NULL, slash, NULL, NULL, typesW, INTERNET_FLAG_NO_CACHE_WRITE, 0);
ok(request != NULL, "Failed to open request handle err %u\n", GetLastError());
- ret = HttpSendRequest(request, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(request, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed: %u\n", GetLastError());
ok(InternetCloseHandle(request), "Close request handle failed\n");
trace("Testing cache read...\n");
- hCompleteEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
+ hCompleteEvent = CreateEventW(NULL, FALSE, FALSE, NULL);
for(i = 0; i < sizeof(content); i++)
content[i] = '0' + (i%10);
ok(GetLastError() == ERROR_INTERNET_ITEM_NOT_FOUND, "GetLastError()=%u\n", GetLastError());
ok(!size, "size = %d\n", size);
- ret = HttpSendRequest(request, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(request, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed: %u\n", GetLastError());
size = sizeof(file_name);
ret = InternetQueryOptionA(request, INTERNET_OPTION_DATAFILE_NAME, file_name, &size);
ok(ret, "InternetQueryOptionA(INTERNET_OPTION_DATAFILE_NAME) failed: %u\n", GetLastError());
- file = CreateFile(file_name, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING,
+ file = CreateFileA(file_name, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
ok(file != INVALID_HANDLE_VALUE, "Could not create file: %u\n", GetLastError());
file_size = GetFileSize(file, NULL);
ok(file_size == 106, "file size = %u\n", file_size);
CloseHandle(file);
+ ret = DeleteFileA(file_name);
+ ok(!ret && GetLastError() == ERROR_SHARING_VIOLATION, "Deleting file returned %x(%u)\n", ret, GetLastError());
+
ok(InternetCloseHandle(request), "Close request handle failed\n");
- file = CreateFile(file_name, GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
+ file = CreateFileA(file_name, GENERIC_READ, 0, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
ok(file != INVALID_HANDLE_VALUE, "Could not create file: %u\n", GetLastError());
CloseHandle(file);
/* Send the same request, requiring it to be retrieved from the cache */
- request = HttpOpenRequest(connect, "GET", "/tests/hello.html", NULL, NULL, NULL, INTERNET_FLAG_FROM_CACHE, 0);
+ request = HttpOpenRequestA(connect, "GET", "/tests/hello.html", NULL, NULL, NULL, INTERNET_FLAG_FROM_CACHE, 0);
- ret = HttpSendRequest(request, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(request, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed\n");
size = sizeof(buf);
ok(GetLastError() == ERROR_INTERNET_ITEM_NOT_FOUND, "GetLastError()=%u\n", GetLastError());
ok(!size, "size = %d\n", size);
- ret = HttpSendRequest(request, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(request, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed: %u\n", GetLastError());
size = sizeof(file_name);
ret = InternetQueryOptionA(request, INTERNET_OPTION_DATAFILE_NAME, file_name, &size);
if (ret)
{
- file = CreateFile(file_name, GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
+ file = CreateFileA(file_name, GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
ok(file != INVALID_HANDLE_VALUE, "Could not create file: %u\n", GetLastError());
CloseHandle(file);
test_cache_read();
}
+static void InternetLockRequestFile_test(void)
+{
+ HINTERNET session, connect, request;
+ char file_name[MAX_PATH];
+ HANDLE lock, lock2;
+ DWORD size;
+ BOOL ret;
+
+ static const char *types[] = { "*", "", NULL };
+
+ session = InternetOpenA("Wine Regression Test", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
+ ok(session != NULL ,"Unable to open Internet session\n");
+
+ connect = InternetConnectA(session, "test.winehq.org", INTERNET_DEFAULT_HTTP_PORT, NULL, NULL,
+ INTERNET_SERVICE_HTTP, 0, 0);
+ ok(connect != NULL, "Unable to connect to http://test.winehq.org with error %d\n", GetLastError());
+
+ request = HttpOpenRequestA(connect, NULL, "/tests/hello.html", NULL, NULL, types, INTERNET_FLAG_NEED_FILE|INTERNET_FLAG_RELOAD, 0);
+ if (!request && GetLastError() == ERROR_INTERNET_NAME_NOT_RESOLVED)
+ {
+ skip( "Network unreachable, skipping test\n" );
+
+ ok(InternetCloseHandle(connect), "Close connect handle failed\n");
+ ok(InternetCloseHandle(session), "Close session handle failed\n");
+
+ return;
+ }
+ ok(request != NULL, "Failed to open request handle err %u\n", GetLastError());
+
+ size = sizeof(file_name);
+ ret = InternetQueryOptionA(request, INTERNET_OPTION_DATAFILE_NAME, file_name, &size);
+ ok(!ret, "InternetQueryOptionA(INTERNET_OPTION_DATAFILE_NAME) succeeded\n");
+ ok(GetLastError() == ERROR_INTERNET_ITEM_NOT_FOUND, "GetLastError()=%u\n", GetLastError());
+ ok(!size, "size = %d\n", size);
+
+ lock = NULL;
+ ret = InternetLockRequestFile(request, &lock);
+ ok(!ret && GetLastError() == ERROR_FILE_NOT_FOUND, "InternetLockRequestFile returned: %x(%u)\n", ret, GetLastError());
+
+ ret = HttpSendRequestA(request, NULL, 0, NULL, 0);
+ ok(ret, "HttpSendRequest failed: %u\n", GetLastError());
+
+ size = sizeof(file_name);
+ ret = InternetQueryOptionA(request, INTERNET_OPTION_DATAFILE_NAME, file_name, &size);
+ ok(ret, "InternetQueryOptionA(INTERNET_OPTION_DATAFILE_NAME) failed: %u\n", GetLastError());
+
+ ret = InternetLockRequestFile(request, &lock);
+ ok(ret, "InternetLockRequestFile returned: %x(%u)\n", ret, GetLastError());
+ ok(lock != NULL, "lock == NULL\n");
+
+ ret = InternetLockRequestFile(request, &lock2);
+ ok(ret, "InternetLockRequestFile returned: %x(%u)\n", ret, GetLastError());
+ ok(lock == lock2, "lock != lock2\n");
+
+ ret = InternetUnlockRequestFile(lock2);
+ ok(ret, "InternetUnlockRequestFile failed: %u\n", GetLastError());
+
+ ret = DeleteFileA(file_name);
+ ok(!ret && GetLastError() == ERROR_SHARING_VIOLATION, "Deleting file returned %x(%u)\n", ret, GetLastError());
+
+ ok(InternetCloseHandle(request), "Close request handle failed\n");
+
+ ret = DeleteFileA(file_name);
+ ok(!ret && GetLastError() == ERROR_SHARING_VIOLATION, "Deleting file returned %x(%u)\n", ret, GetLastError());
+
+ ret = InternetUnlockRequestFile(lock);
+ ok(ret, "InternetUnlockRequestFile failed: %u\n", GetLastError());
+
+ ret = DeleteFileA(file_name);
+ ok(ret, "Deleting file returned %x(%u)\n", ret, GetLastError());
+}
+
static void HttpHeaders_test(void)
{
HINTERNET hSession;
DWORD len = 256;
DWORD oldlen;
DWORD index = 0;
+ BOOL ret;
- hSession = InternetOpen("Wine Regression Test",
+ hSession = InternetOpenA("Wine Regression Test",
INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
ok( hSession != NULL ,"Unable to open Internet session\n");
- hConnect = InternetConnect(hSession, "crossover.codeweavers.com",
+ hConnect = InternetConnectA(hSession, "crossover.codeweavers.com",
INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0,
0);
ok( hConnect != NULL, "Unable to connect to http://crossover.codeweavers.com\n");
- hRequest = HttpOpenRequest(hConnect, "POST", "/posttest.php",
+ hRequest = HttpOpenRequestA(hConnect, "POST", "/posttest.php",
NULL, NULL, NULL, INTERNET_FLAG_NO_CACHE_WRITE, 0);
if (!hRequest && GetLastError() == ERROR_INTERNET_NAME_NOT_RESOLVED)
{
index = 0;
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
buffer,&len,&index)==0,"Warning hearder reported as Existing\n");
- ok(HttpAddRequestHeaders(hRequest,"Warning:test1",-1,HTTP_ADDREQ_FLAG_ADD),
+ ok(HttpAddRequestHeadersA(hRequest,"Warning:test1",-1,HTTP_ADDREQ_FLAG_ADD),
"Failed to add new header\n");
index = 0;
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
buffer,&len,&index),"Unable to query header\n");
ok(index == 1, "Index was not incremented\n");
ok(strcmp(buffer,"test1")==0, "incorrect string was returned(%s)\n",buffer);
ok((len < sizeof(buffer)) && (buffer[len] == 0), "Buffer not NULL-terminated\n"); /* len show only 5 characters but the buffer is NULL-terminated*/
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
buffer,&len,&index)==0,"Second Index Should Not Exist\n");
index = 0;
len = 5; /* could store the string but not the NULL terminator */
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
buffer,&len,&index) == FALSE,"Query succeeded on a too small buffer\n");
ok(strcmp(buffer,"Warning")==0, "incorrect string was returned(%s)\n",buffer); /* string not touched */
ok(len == 6, "Invalid length (exp. 6, got %d)\n", len); /* unlike success, the length includes the NULL-terminator */
index = 0;
len = sizeof(buffer);
SetLastError(0xdeadbeef);
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_RAW_HEADERS_CRLF|HTTP_QUERY_FLAG_REQUEST_HEADERS,
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_RAW_HEADERS_CRLF|HTTP_QUERY_FLAG_REQUEST_HEADERS,
NULL,&len,&index) == FALSE,"Query worked\n");
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "Unexpected last error: %d\n", GetLastError());
ok(len > 40, "Invalid length (exp. more than 40, got %d)\n", len);
index = 0;
len = 15;
SetLastError(0xdeadbeef);
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_RAW_HEADERS_CRLF|HTTP_QUERY_FLAG_REQUEST_HEADERS,
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_RAW_HEADERS_CRLF|HTTP_QUERY_FLAG_REQUEST_HEADERS,
NULL,&len,&index) == FALSE,"Query worked\n");
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "Unexpected last error: %d\n", GetLastError());
ok(len > 40, "Invalid length (exp. more than 40, got %d)\n", len);
index = 0;
len = 0;
SetLastError(0xdeadbeef);
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_RAW_HEADERS_CRLF|HTTP_QUERY_FLAG_REQUEST_HEADERS,
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_RAW_HEADERS_CRLF|HTTP_QUERY_FLAG_REQUEST_HEADERS,
NULL,&len,&index) == FALSE,"Query worked\n");
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "Unexpected last error: %d\n", GetLastError());
ok(len > 40, "Invalid length (exp. more than 40, got %d)\n", len);
index = 0;
len = sizeof(buffer);
memset(buffer, 'x', sizeof(buffer));
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_RAW_HEADERS_CRLF|HTTP_QUERY_FLAG_REQUEST_HEADERS,
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_RAW_HEADERS_CRLF|HTTP_QUERY_FLAG_REQUEST_HEADERS,
buffer,&len,&index),"Unable to query header\n");
ok(len + sizeof(CHAR) <= oldlen, "Result longer than advertised\n");
ok((len < sizeof(buffer)-sizeof(CHAR)) && (buffer[len/sizeof(CHAR)] == 0),"No NUL at end\n");
index = 0;
len = sizeof(buffer);
memset(buffer, 'x', sizeof(buffer));
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_RAW_HEADERS_CRLF,
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_RAW_HEADERS_CRLF,
buffer,&len,&index) == TRUE,"Query failed\n");
ok(len == 2, "Expected 2, got %d\n", len);
ok(strcmp(buffer, "\r\n") == 0, "Expected CRLF, got '%s'\n", buffer);
ok(index == 0, "Index was incremented\n");
- ok(HttpAddRequestHeaders(hRequest,"Warning:test2",-1,HTTP_ADDREQ_FLAG_ADD),
+ ok(HttpAddRequestHeadersA(hRequest,"Warning:test2",-1,HTTP_ADDREQ_FLAG_ADD),
"Failed to add duplicate header using HTTP_ADDREQ_FLAG_ADD\n");
index = 0;
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
buffer,&len,&index),"Unable to query header\n");
ok(index == 1, "Index was not incremented\n");
ok(strcmp(buffer,"test1")==0, "incorrect string was returned(%s)\n",buffer);
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
buffer,&len,&index),"Failed to get second header\n");
ok(index == 2, "Index was not incremented\n");
ok(strcmp(buffer,"test2")==0, "incorrect string was returned(%s)\n",buffer);
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
buffer,&len,&index)==0,"Third Header Should Not Exist\n");
- ok(HttpAddRequestHeaders(hRequest,"Warning:test3",-1,HTTP_ADDREQ_FLAG_REPLACE), "Failed to replace header using HTTP_ADDREQ_FLAG_REPLACE\n");
+ ok(HttpAddRequestHeadersA(hRequest,"Warning:test3",-1,HTTP_ADDREQ_FLAG_REPLACE), "Failed to replace header using HTTP_ADDREQ_FLAG_REPLACE\n");
index = 0;
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
buffer,&len,&index),"Unable to query header\n");
ok(index == 1, "Index was not incremented\n");
ok(strcmp(buffer,"test2")==0, "incorrect string was returned(%s)\n",buffer);
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
buffer,&len,&index),"Failed to get second header\n");
ok(index == 2, "Index was not incremented\n");
ok(strcmp(buffer,"test3")==0, "incorrect string was returned(%s)\n",buffer);
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
buffer,&len,&index)==0,"Third Header Should Not Exist\n");
- ok(HttpAddRequestHeaders(hRequest,"Warning:test4",-1,HTTP_ADDREQ_FLAG_ADD_IF_NEW)==0, "HTTP_ADDREQ_FLAG_ADD_IF_NEW replaced existing header\n");
+ ok(HttpAddRequestHeadersA(hRequest,"Warning:test4",-1,HTTP_ADDREQ_FLAG_ADD_IF_NEW)==0, "HTTP_ADDREQ_FLAG_ADD_IF_NEW replaced existing header\n");
index = 0;
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
buffer,&len,&index),"Unable to query header\n");
ok(index == 1, "Index was not incremented\n");
ok(strcmp(buffer,"test2")==0, "incorrect string was returned(%s)\n",buffer);
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
buffer,&len,&index),"Failed to get second header\n");
ok(index == 2, "Index was not incremented\n");
ok(strcmp(buffer,"test3")==0, "incorrect string was returned(%s)\n",buffer);
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
buffer,&len,&index)==0,"Third Header Should Not Exist\n");
- ok(HttpAddRequestHeaders(hRequest,"Warning:test4",-1, HTTP_ADDREQ_FLAG_COALESCE), "HTTP_ADDREQ_FLAG_COALESCE Did not work\n");
+ ok(HttpAddRequestHeadersA(hRequest,"Warning:test4",-1, HTTP_ADDREQ_FLAG_COALESCE), "HTTP_ADDREQ_FLAG_COALESCE Did not work\n");
index = 0;
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS,
buffer,&len,&index),"Unable to query header\n");
ok(index == 1, "Index was not incremented\n");
ok(strcmp(buffer,"test2, test4")==0, "incorrect string was returned(%s)\n", buffer);
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Failed to get second header\n");
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Failed to get second header\n");
ok(index == 2, "Index was not incremented\n");
ok(strcmp(buffer,"test3")==0, "incorrect string was returned(%s)\n",buffer);
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index)==0,"Third Header Should Not Exist\n");
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index)==0,"Third Header Should Not Exist\n");
- ok(HttpAddRequestHeaders(hRequest,"Warning:test5",-1, HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA), "HTTP_ADDREQ_FLAG_COALESCE Did not work\n");
+ ok(HttpAddRequestHeadersA(hRequest,"Warning:test5",-1, HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA), "HTTP_ADDREQ_FLAG_COALESCE Did not work\n");
index = 0;
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Unable to query header\n");
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Unable to query header\n");
ok(index == 1, "Index was not incremented\n");
ok(strcmp(buffer,"test2, test4, test5")==0, "incorrect string was returned(%s)\n",buffer);
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Failed to get second header\n");
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Failed to get second header\n");
ok(index == 2, "Index was not incremented\n");
ok(strcmp(buffer,"test3")==0, "incorrect string was returned(%s)\n",buffer);
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index)==0,"Third Header Should Not Exist\n");
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index)==0,"Third Header Should Not Exist\n");
- ok(HttpAddRequestHeaders(hRequest,"Warning:test6",-1, HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON), "HTTP_ADDREQ_FLAG_COALESCE Did not work\n");
+ ok(HttpAddRequestHeadersA(hRequest,"Warning:test6",-1, HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON), "HTTP_ADDREQ_FLAG_COALESCE Did not work\n");
index = 0;
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Unable to query header\n");
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Unable to query header\n");
ok(index == 1, "Index was not incremented\n");
ok(strcmp(buffer,"test2, test4, test5; test6")==0, "incorrect string was returned(%s)\n",buffer);
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Failed to get second header\n");
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Failed to get second header\n");
ok(index == 2, "Index was not incremented\n");
ok(strcmp(buffer,"test3")==0, "incorrect string was returned(%s)\n",buffer);
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index)==0,"Third Header Should Not Exist\n");
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index)==0,"Third Header Should Not Exist\n");
- ok(HttpAddRequestHeaders(hRequest,"Warning:test7",-1, HTTP_ADDREQ_FLAG_ADD|HTTP_ADDREQ_FLAG_REPLACE), "HTTP_ADDREQ_FLAG_ADD with HTTP_ADDREQ_FLAG_REPALCE Did not work\n");
+ ok(HttpAddRequestHeadersA(hRequest,"Warning:test7",-1, HTTP_ADDREQ_FLAG_ADD|HTTP_ADDREQ_FLAG_REPLACE), "HTTP_ADDREQ_FLAG_ADD with HTTP_ADDREQ_FLAG_REPALCE Did not work\n");
index = 0;
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Unable to query header\n");
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Unable to query header\n");
ok(index == 1, "Index was not incremented\n");
ok(strcmp(buffer,"test3")==0, "incorrect string was returned(%s)\n",buffer);
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Failed to get second header\n");
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Failed to get second header\n");
ok(index == 2, "Index was not incremented\n");
ok(strcmp(buffer,"test7")==0, "incorrect string was returned(%s)\n",buffer);
len = sizeof(buffer);
strcpy(buffer,"Warning");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index)==0,"Third Header Should Not Exist\n");
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index)==0,"Third Header Should Not Exist\n");
/* Ensure that blank headers are ignored and don't cause a failure */
- ok(HttpAddRequestHeaders(hRequest,"\r\nBlankTest:value\r\n\r\n",-1, HTTP_ADDREQ_FLAG_ADD_IF_NEW), "Failed to add header with blank entries in list\n");
+ ok(HttpAddRequestHeadersA(hRequest,"\r\nBlankTest:value\r\n\r\n",-1, HTTP_ADDREQ_FLAG_ADD_IF_NEW), "Failed to add header with blank entries in list\n");
index = 0;
len = sizeof(buffer);
strcpy(buffer,"BlankTest");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Unable to query header\n");
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Unable to query header\n");
ok(index == 1, "Index was not incremented\n");
ok(strcmp(buffer,"value")==0, "incorrect string was returned(%s)\n",buffer);
/* Ensure that malformed header separators are ignored and don't cause a failure */
- ok(HttpAddRequestHeaders(hRequest,"\r\rMalformedTest:value\n\nMalformedTestTwo: value2\rMalformedTestThree: value3\n\n\r\r\n",-1, HTTP_ADDREQ_FLAG_ADD|HTTP_ADDREQ_FLAG_REPLACE),
+ ok(HttpAddRequestHeadersA(hRequest,"\r\rMalformedTest:value\n\nMalformedTestTwo: value2\rMalformedTestThree: value3\n\n\r\r\n",-1, HTTP_ADDREQ_FLAG_ADD|HTTP_ADDREQ_FLAG_REPLACE),
"Failed to add header with malformed entries in list\n");
index = 0;
len = sizeof(buffer);
strcpy(buffer,"MalformedTest");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Unable to query header\n");
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Unable to query header\n");
ok(index == 1, "Index was not incremented\n");
ok(strcmp(buffer,"value")==0, "incorrect string was returned(%s)\n",buffer);
index = 0;
len = sizeof(buffer);
strcpy(buffer,"MalformedTestTwo");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Unable to query header\n");
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Unable to query header\n");
ok(index == 1, "Index was not incremented\n");
ok(strcmp(buffer,"value2")==0, "incorrect string was returned(%s)\n",buffer);
index = 0;
len = sizeof(buffer);
strcpy(buffer,"MalformedTestThree");
- ok(HttpQueryInfo(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Unable to query header\n");
+ ok(HttpQueryInfoA(hRequest,HTTP_QUERY_CUSTOM|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer,&len,&index),"Unable to query header\n");
ok(index == 1, "Index was not incremented\n");
ok(strcmp(buffer,"value3")==0, "incorrect string was returned(%s)\n",buffer);
- ok(HttpAddRequestHeaders(hRequest, "Authorization: Basic\r\n", -1, HTTP_ADDREQ_FLAG_ADD),
- "unable to add header %u\n", GetLastError());
+ ret = HttpAddRequestHeadersA(hRequest, "Authorization: Basic\r\n", -1, HTTP_ADDREQ_FLAG_ADD);
+ ok(ret, "unable to add header %u\n", GetLastError());
index = 0;
buffer[0] = 0;
len = sizeof(buffer);
- ok(HttpQueryInfo(hRequest, HTTP_QUERY_AUTHORIZATION|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &len, &index),
- "unable to query header %u\n", GetLastError());
+ ret = HttpQueryInfoA(hRequest, HTTP_QUERY_AUTHORIZATION|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &len, &index);
+ ok(ret, "unable to query header %u\n", GetLastError());
ok(index == 1, "index was not incremented\n");
ok(!strcmp(buffer, "Basic"), "incorrect string was returned (%s)\n", buffer);
- ok(HttpAddRequestHeaders(hRequest, "Authorization:\r\n", -1, HTTP_ADDREQ_FLAG_REPLACE),
- "unable to remove header %u\n", GetLastError());
+ ret = HttpAddRequestHeadersA(hRequest, "Authorization:\r\n", -1, HTTP_ADDREQ_FLAG_REPLACE);
+ ok(ret, "unable to remove header %u\n", GetLastError());
index = 0;
len = sizeof(buffer);
SetLastError(0xdeadbeef);
- ok(!HttpQueryInfo(hRequest, HTTP_QUERY_AUTHORIZATION|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &len, &index),
+ ok(!HttpQueryInfoA(hRequest, HTTP_QUERY_AUTHORIZATION|HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &len, &index),
"header still present\n");
ok(GetLastError() == ERROR_HTTP_HEADER_NOT_FOUND, "got %u\n", GetLastError());
static const char ok_with_length[] =
"HTTP/1.1 200 OK\r\n"
"Connection: Keep-Alive\r\n"
-"Content-Length: 23\r\n\r\n"
-"abc\r\nHTTP/1.1 211 OK\r\n\r\n";
+"Content-Length: 18\r\n\r\n"
+"HTTP/1.1 211 OK\r\n\r\n";
static const char ok_with_length2[] =
"HTTP/1.1 210 OK\r\n"
"Connection: Keep-Alive\r\n"
-"Content-Length: 24\r\n\r\n"
-"abc\r\nHTTP/1.1 211 OK\r\n\r\n";
+"Content-Length: 19\r\n\r\n"
+"HTTP/1.1 211 OK\r\n\r\n";
struct server_info {
HANDLE hEvent;
WSADATA wsaData;
int last_request = 0;
char host_header[22];
- static int test_b = 0;
+ static BOOL test_b = FALSE;
static int test_no_cache = 0;
WSAStartup(MAKEWORD(1,1), &wsaData);
}
if (!test_b && strstr(buffer, "/testB HTTP/1.1"))
{
- test_b = 1;
+ test_b = TRUE;
send(c, okmsg, sizeof okmsg-1, 0);
recvfrom(c, buffer, sizeof buffer, 0, NULL, NULL);
send(c, okmsg, sizeof okmsg-1, 0);
count = 0;
}
}
+ if (strstr(buffer, "GET /testH"))
+ {
+ send(c, ok_with_length2, sizeof(ok_with_length2)-1, 0);
+ recvfrom(c, buffer, sizeof(buffer), 0, NULL, NULL);
+ send(c, ok_with_length, sizeof(ok_with_length)-1, 0);
+ }
if (strstr(buffer, "GET /test_no_content"))
{
if (!memcmp(buffer, "GET ", sizeof("GET ")-1) &&
!strstr(buffer, "Cache-Control: no-cache\r\n")) send(c, okmsg, sizeof(okmsg)-1, 0);
else if (strstr(buffer, "Cache-Control: no-cache\r\n")) send(c, okmsg, sizeof(okmsg)-1, 0);
- send(c, notokmsg, sizeof(notokmsg)-1, 0);
+ else send(c, notokmsg, sizeof(notokmsg)-1, 0);
}
if (strstr(buffer, "GET /test_premature_disconnect"))
trace("closing connection\n");
static void test_basic_request(int port, const char *verb, const char *url)
{
HINTERNET hi, hc, hr;
- DWORD r, count;
+ DWORD r, count, error;
char buffer[0x100];
- hi = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
+ hi = InternetOpenA(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
ok(hi != NULL, "open failed\n");
- hc = InternetConnect(hi, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
+ hc = InternetConnectA(hi, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
ok(hc != NULL, "connect failed\n");
- hr = HttpOpenRequest(hc, verb, url, NULL, NULL, NULL, 0, 0);
+ hr = HttpOpenRequestA(hc, verb, url, NULL, NULL, NULL, 0, 0);
ok(hr != NULL, "HttpOpenRequest failed\n");
- r = HttpSendRequest(hr, NULL, 0, NULL, 0);
+ SetLastError(0xdeadbeef);
+ r = HttpSendRequestA(hr, NULL, 0, NULL, 0);
+ error = GetLastError();
+ ok(error == ERROR_SUCCESS || broken(error != ERROR_SUCCESS), "expected ERROR_SUCCESS, got %u\n", error);
ok(r, "HttpSendRequest failed\n");
count = 0;
InternetCloseHandle(hi);
}
-static void test_last_error(int port)
-{
- HINTERNET hi, hc, hr;
- DWORD error;
- BOOL r;
-
- hi = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
- ok(hi != NULL, "open failed\n");
-
- hc = InternetConnect(hi, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
- ok(hc != NULL, "connect failed\n");
-
- hr = HttpOpenRequest(hc, NULL, "/test1", NULL, NULL, NULL, 0, 0);
- ok(hr != NULL, "HttpOpenRequest failed\n");
-
- SetLastError(0xdeadbeef);
- r = HttpSendRequest(hr, NULL, 0, NULL, 0);
- error = GetLastError();
- ok(r, "HttpSendRequest failed\n");
- ok(error == ERROR_SUCCESS || broken(error != ERROR_SUCCESS), "expected ERROR_SUCCESS, got %u\n", error);
-
- InternetCloseHandle(hr);
- InternetCloseHandle(hc);
- InternetCloseHandle(hi);
-}
-
static void test_proxy_indirect(int port)
{
HINTERNET hi, hc, hr;
DWORD r, sz;
char buffer[0x40];
- hi = InternetOpen(NULL, 0, NULL, NULL, 0);
+ hi = InternetOpenA(NULL, 0, NULL, NULL, 0);
ok(hi != NULL, "open failed\n");
- hc = InternetConnect(hi, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
+ hc = InternetConnectA(hi, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
ok(hc != NULL, "connect failed\n");
- hr = HttpOpenRequest(hc, NULL, "/test2", NULL, NULL, NULL, 0, 0);
+ hr = HttpOpenRequestA(hc, NULL, "/test2", NULL, NULL, NULL, 0, 0);
ok(hr != NULL, "HttpOpenRequest failed\n");
- r = HttpSendRequest(hr, NULL, 0, NULL, 0);
+ r = HttpSendRequestA(hr, NULL, 0, NULL, 0);
ok(r, "HttpSendRequest failed %u\n", GetLastError());
sz = sizeof buffer;
- r = HttpQueryInfo(hr, HTTP_QUERY_PROXY_AUTHENTICATE, buffer, &sz, NULL);
+ r = HttpQueryInfoA(hr, HTTP_QUERY_PROXY_AUTHENTICATE, buffer, &sz, NULL);
ok(r || GetLastError() == ERROR_HTTP_HEADER_NOT_FOUND, "HttpQueryInfo failed: %d\n", GetLastError());
if (!r)
{
test_request_flags(hr, 0);
sz = sizeof buffer;
- r = HttpQueryInfo(hr, HTTP_QUERY_STATUS_TEXT, buffer, &sz, NULL);
+ r = HttpQueryInfoA(hr, HTTP_QUERY_STATUS_TEXT, buffer, &sz, NULL);
ok(r, "HttpQueryInfo failed\n");
ok(!strcmp(buffer, "Proxy Authentication Required"), "proxy text wrong\n");
sz = sizeof buffer;
- r = HttpQueryInfo(hr, HTTP_QUERY_VERSION, buffer, &sz, NULL);
+ r = HttpQueryInfoA(hr, HTTP_QUERY_VERSION, buffer, &sz, NULL);
ok(r, "HttpQueryInfo failed\n");
ok(!strcmp(buffer, "HTTP/1.1"), "http version wrong\n");
sz = sizeof buffer;
- r = HttpQueryInfo(hr, HTTP_QUERY_SERVER, buffer, &sz, NULL);
+ r = HttpQueryInfoA(hr, HTTP_QUERY_SERVER, buffer, &sz, NULL);
ok(r, "HttpQueryInfo failed\n");
ok(!strcmp(buffer, "winetest"), "http server wrong\n");
sz = sizeof buffer;
- r = HttpQueryInfo(hr, HTTP_QUERY_CONTENT_ENCODING, buffer, &sz, NULL);
+ r = HttpQueryInfoA(hr, HTTP_QUERY_CONTENT_ENCODING, buffer, &sz, NULL);
ok(GetLastError() == ERROR_HTTP_HEADER_NOT_FOUND, "HttpQueryInfo should fail\n");
ok(r == FALSE, "HttpQueryInfo failed\n");
DWORD r, sz, error;
char buffer[0x40], *url;
WCHAR bufferW[0x40];
+ static const char url_fmt[] = "http://test.winehq.org:%u/test2";
static CHAR username[] = "mike",
password[] = "1101",
- useragent[] = "winetest",
- url_fmt[] = "http://test.winehq.org:%u/test2";
- static WCHAR usernameW[] = {'m','i','k','e',0},
- passwordW[] = {'1','1','0','1',0},
- useragentW[] = {'w','i','n','e','t','e','s','t',0};
+ useragent[] = "winetest";
+ static const WCHAR usernameW[] = {'m','i','k','e',0},
+ passwordW[] = {'1','1','0','1',0},
+ useragentW[] = {'w','i','n','e','t','e','s','t',0};
/* specify proxy type without the proxy and bypass */
SetLastError(0xdeadbeef);
- hi = InternetOpen(NULL, INTERNET_OPEN_TYPE_PROXY, NULL, NULL, 0);
+ hi = InternetOpenW(NULL, INTERNET_OPEN_TYPE_PROXY, NULL, NULL, 0);
error = GetLastError();
ok(error == ERROR_INVALID_PARAMETER ||
broken(error == ERROR_SUCCESS) /* WinXPProSP2 */, "got %u\n", error);
ok(hi == NULL || broken(!!hi) /* WinXPProSP2 */, "open should have failed\n");
sprintf(buffer, "localhost:%d\n", port);
- hi = InternetOpen(NULL, INTERNET_OPEN_TYPE_PROXY, buffer, NULL, 0);
+ hi = InternetOpenA(NULL, INTERNET_OPEN_TYPE_PROXY, buffer, NULL, 0);
ok(hi != NULL, "open failed\n");
/* try connect without authorization */
- hc = InternetConnect(hi, "test.winehq.org", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
+ hc = InternetConnectA(hi, "test.winehq.org", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
ok(hc != NULL, "connect failed\n");
- hr = HttpOpenRequest(hc, NULL, "/test2", NULL, NULL, NULL, 0, 0);
+ hr = HttpOpenRequestA(hc, NULL, "/test2", NULL, NULL, NULL, 0, 0);
ok(hr != NULL, "HttpOpenRequest failed\n");
sz = 0;
SetLastError(0xdeadbeef);
- r = InternetQueryOption(hr, INTERNET_OPTION_PROXY_PASSWORD, NULL, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_PROXY_PASSWORD, NULL, &sz);
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "got %u\n", GetLastError());
ok(!r, "unexpected success\n");
ok(sz == 1, "got %u\n", sz);
sz = 0;
SetLastError(0xdeadbeef);
- r = InternetQueryOption(hr, INTERNET_OPTION_PROXY_USERNAME, NULL, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_PROXY_USERNAME, NULL, &sz);
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "got %u\n", GetLastError());
ok(!r, "unexpected success\n");
ok(sz == 1, "got %u\n", sz);
sz = sizeof(buffer);
SetLastError(0xdeadbeef);
- r = InternetQueryOption(hr, INTERNET_OPTION_PROXY_PASSWORD, buffer, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_PROXY_PASSWORD, buffer, &sz);
ok(r, "unexpected failure %u\n", GetLastError());
ok(!sz, "got %u\n", sz);
sz = sizeof(buffer);
SetLastError(0xdeadbeef);
- r = InternetQueryOption(hr, INTERNET_OPTION_PROXY_USERNAME, buffer, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_PROXY_USERNAME, buffer, &sz);
ok(r, "unexpected failure %u\n", GetLastError());
ok(!sz, "got %u\n", sz);
sz = 0;
SetLastError(0xdeadbeef);
- r = InternetQueryOption(hr, INTERNET_OPTION_PASSWORD, NULL, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_PASSWORD, NULL, &sz);
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "got %u\n", GetLastError());
ok(!r, "unexpected success\n");
ok(sz == 1, "got %u\n", sz);
sz = 0;
SetLastError(0xdeadbeef);
- r = InternetQueryOption(hr, INTERNET_OPTION_USERNAME, NULL, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_USERNAME, NULL, &sz);
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "got %u\n", GetLastError());
ok(!r, "unexpected success\n");
ok(sz == 1, "got %u\n", sz);
sz = sizeof(buffer);
SetLastError(0xdeadbeef);
- r = InternetQueryOption(hr, INTERNET_OPTION_PASSWORD, buffer, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_PASSWORD, buffer, &sz);
ok(r, "unexpected failure %u\n", GetLastError());
ok(!sz, "got %u\n", sz);
sz = sizeof(buffer);
SetLastError(0xdeadbeef);
- r = InternetQueryOption(hr, INTERNET_OPTION_USERNAME, buffer, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_USERNAME, buffer, &sz);
ok(r, "unexpected failure %u\n", GetLastError());
ok(!sz, "got %u\n", sz);
sz = 0;
SetLastError(0xdeadbeef);
- r = InternetQueryOption(hr, INTERNET_OPTION_URL, NULL, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_URL, NULL, &sz);
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "got %u\n", GetLastError());
ok(!r, "unexpected success\n");
ok(sz == 34, "got %u\n", sz);
sz = sizeof(buffer);
SetLastError(0xdeadbeef);
- r = InternetQueryOption(hr, INTERNET_OPTION_URL, buffer, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_URL, buffer, &sz);
ok(r, "unexpected failure %u\n", GetLastError());
ok(sz == 33, "got %u\n", sz);
- r = HttpSendRequest(hr, NULL, 0, NULL, 0);
+ r = HttpSendRequestW(hr, NULL, 0, NULL, 0);
ok(r || broken(!r), "HttpSendRequest failed %u\n", GetLastError());
if (!r)
{
test_status_code(hr, 407);
/* set the user + password then try again */
- r = InternetSetOption(hi, INTERNET_OPTION_PROXY_USERNAME, username, 4);
+ r = InternetSetOptionA(hi, INTERNET_OPTION_PROXY_USERNAME, username, 4);
ok(!r, "unexpected success\n");
- r = InternetSetOption(hc, INTERNET_OPTION_PROXY_USERNAME, username, 4);
+ r = InternetSetOptionA(hc, INTERNET_OPTION_PROXY_USERNAME, username, 4);
ok(r, "failed to set user\n");
- r = InternetSetOption(hr, INTERNET_OPTION_PROXY_USERNAME, username, 4);
+ r = InternetSetOptionA(hr, INTERNET_OPTION_PROXY_USERNAME, username, 4);
ok(r, "failed to set user\n");
buffer[0] = 0;
sz = 3;
SetLastError(0xdeadbeef);
- r = InternetQueryOption(hr, INTERNET_OPTION_PROXY_USERNAME, buffer, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_PROXY_USERNAME, buffer, &sz);
ok(!r, "unexpected failure %u\n", GetLastError());
ok(!buffer[0], "got %s\n", buffer);
ok(sz == strlen(username) + 1, "got %u\n", sz);
buffer[0] = 0;
sz = 0;
SetLastError(0xdeadbeef);
- r = InternetQueryOption(hr, INTERNET_OPTION_PROXY_USERNAME, buffer, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_PROXY_USERNAME, buffer, &sz);
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "got %u\n", GetLastError());
ok(!r, "unexpected success\n");
ok(sz == strlen(username) + 1, "got %u\n", sz);
buffer[0] = 0;
sz = sizeof(buffer);
- r = InternetQueryOption(hr, INTERNET_OPTION_PROXY_USERNAME, buffer, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_PROXY_USERNAME, buffer, &sz);
ok(r, "failed to get username\n");
ok(!strcmp(buffer, username), "got %s\n", buffer);
ok(sz == strlen(username), "got %u\n", sz);
ok(!lstrcmpW(bufferW, usernameW), "wrong username\n");
ok(sz == lstrlenW(usernameW), "got %u\n", sz);
- r = InternetSetOption(hr, INTERNET_OPTION_PROXY_USERNAME, username, 1);
+ r = InternetSetOptionA(hr, INTERNET_OPTION_PROXY_USERNAME, username, 1);
ok(r, "failed to set user\n");
buffer[0] = 0;
sz = sizeof(buffer);
- r = InternetQueryOption(hr, INTERNET_OPTION_PROXY_USERNAME, buffer, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_PROXY_USERNAME, buffer, &sz);
ok(r, "failed to get username\n");
ok(!strcmp(buffer, username), "got %s\n", buffer);
ok(sz == strlen(username), "got %u\n", sz);
- r = InternetSetOption(hi, INTERNET_OPTION_USER_AGENT, useragent, 1);
+ r = InternetSetOptionA(hi, INTERNET_OPTION_USER_AGENT, useragent, 1);
ok(r, "failed to set useragent\n");
buffer[0] = 0;
sz = 0;
SetLastError(0xdeadbeef);
- r = InternetQueryOption(hi, INTERNET_OPTION_USER_AGENT, buffer, &sz);
+ r = InternetQueryOptionA(hi, INTERNET_OPTION_USER_AGENT, buffer, &sz);
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "got %u\n", GetLastError());
ok(!r, "unexpected success\n");
ok(sz == strlen(useragent) + 1, "got %u\n", sz);
buffer[0] = 0;
sz = sizeof(buffer);
- r = InternetQueryOption(hi, INTERNET_OPTION_USER_AGENT, buffer, &sz);
+ r = InternetQueryOptionA(hi, INTERNET_OPTION_USER_AGENT, buffer, &sz);
ok(r, "failed to get user agent\n");
ok(!strcmp(buffer, useragent), "got %s\n", buffer);
ok(sz == strlen(useragent), "got %u\n", sz);
ok(!lstrcmpW(bufferW, useragentW), "wrong user agent\n");
ok(sz == lstrlenW(useragentW), "got %u\n", sz);
- r = InternetSetOption(hr, INTERNET_OPTION_USERNAME, username, 1);
+ r = InternetSetOptionA(hr, INTERNET_OPTION_USERNAME, username, 1);
ok(r, "failed to set user\n");
buffer[0] = 0;
sz = 0;
SetLastError(0xdeadbeef);
- r = InternetQueryOption(hr, INTERNET_OPTION_USERNAME, buffer, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_USERNAME, buffer, &sz);
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "got %u\n", GetLastError());
ok(!r, "unexpected success\n");
ok(sz == strlen(username) + 1, "got %u\n", sz);
buffer[0] = 0;
sz = sizeof(buffer);
- r = InternetQueryOption(hr, INTERNET_OPTION_USERNAME, buffer, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_USERNAME, buffer, &sz);
ok(r, "failed to get user\n");
ok(!strcmp(buffer, username), "got %s\n", buffer);
ok(sz == strlen(username), "got %u\n", sz);
ok(!lstrcmpW(bufferW, usernameW), "wrong user\n");
ok(sz == lstrlenW(usernameW), "got %u\n", sz);
- r = InternetSetOption(hr, INTERNET_OPTION_PASSWORD, password, 1);
+ r = InternetSetOptionA(hr, INTERNET_OPTION_PASSWORD, password, 1);
ok(r, "failed to set password\n");
buffer[0] = 0;
sz = 0;
SetLastError(0xdeadbeef);
- r = InternetQueryOption(hr, INTERNET_OPTION_PASSWORD, buffer, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_PASSWORD, buffer, &sz);
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "got %u\n", GetLastError());
ok(!r, "unexpected success\n");
ok(sz == strlen(password) + 1, "got %u\n", sz);
buffer[0] = 0;
sz = sizeof(buffer);
- r = InternetQueryOption(hr, INTERNET_OPTION_PASSWORD, buffer, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_PASSWORD, buffer, &sz);
ok(r, "failed to get password\n");
ok(!strcmp(buffer, password), "got %s\n", buffer);
ok(sz == strlen(password), "got %u\n", sz);
buffer[0] = 0;
sz = 0;
SetLastError(0xdeadbeef);
- r = InternetQueryOption(hr, INTERNET_OPTION_URL, buffer, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_URL, buffer, &sz);
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "got %u\n", GetLastError());
ok(!r, "unexpected success\n");
ok(sz == strlen(url) + 1, "got %u\n", sz);
buffer[0] = 0;
sz = sizeof(buffer);
- r = InternetQueryOption(hr, INTERNET_OPTION_URL, buffer, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_URL, buffer, &sz);
ok(r, "failed to get url\n");
ok(!strcmp(buffer, url), "got %s\n", buffer);
ok(sz == strlen(url), "got %u\n", sz);
ok(sz == strlen(url), "got %u\n", sz);
HeapFree(GetProcessHeap(), 0, url);
- r = InternetSetOption(hr, INTERNET_OPTION_PROXY_PASSWORD, password, 4);
+ r = InternetSetOptionA(hr, INTERNET_OPTION_PROXY_PASSWORD, password, 4);
ok(r, "failed to set password\n");
buffer[0] = 0;
sz = 0;
SetLastError(0xdeadbeef);
- r = InternetQueryOption(hr, INTERNET_OPTION_PROXY_PASSWORD, buffer, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_PROXY_PASSWORD, buffer, &sz);
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "got %u\n", GetLastError());
ok(!r, "unexpected success\n");
ok(sz == strlen(password) + 1, "got %u\n", sz);
buffer[0] = 0;
sz = sizeof(buffer);
- r = InternetQueryOption(hr, INTERNET_OPTION_PROXY_PASSWORD, buffer, &sz);
+ r = InternetQueryOptionA(hr, INTERNET_OPTION_PROXY_PASSWORD, buffer, &sz);
ok(r, "failed to get password\n");
ok(!strcmp(buffer, password), "got %s\n", buffer);
ok(sz == strlen(password), "got %u\n", sz);
ok(!lstrcmpW(bufferW, passwordW), "wrong password\n");
ok(sz == lstrlenW(passwordW), "got %u\n", sz);
- r = HttpSendRequest(hr, NULL, 0, NULL, 0);
+ r = HttpSendRequestW(hr, NULL, 0, NULL, 0);
if (!r)
{
win_skip("skipping proxy tests on broken wininet\n");
}
ok(r, "HttpSendRequest failed %u\n", GetLastError());
sz = sizeof buffer;
- r = HttpQueryInfo(hr, HTTP_QUERY_STATUS_CODE, buffer, &sz, NULL);
+ r = HttpQueryInfoA(hr, HTTP_QUERY_STATUS_CODE, buffer, &sz, NULL);
ok(r, "HttpQueryInfo failed\n");
ok(!strcmp(buffer, "200"), "proxy code wrong\n");
static void test_header_handling_order(int port)
{
- static char authorization[] = "Authorization: Basic dXNlcjpwd2Q=";
- static char connection[] = "Connection: Close";
+ static const char authorization[] = "Authorization: Basic dXNlcjpwd2Q=";
+ static const char connection[] = "Connection: Close";
static const char *types[2] = { "*", NULL };
HINTERNET session, connect, request;
DWORD size, status;
BOOL ret;
- session = InternetOpen("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
+ session = InternetOpenA("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
ok(session != NULL, "InternetOpen failed\n");
- connect = InternetConnect(session, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
+ connect = InternetConnectA(session, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
ok(connect != NULL, "InternetConnect failed\n");
- request = HttpOpenRequest(connect, NULL, "/test3", NULL, NULL, types, INTERNET_FLAG_KEEP_CONNECTION, 0);
+ request = HttpOpenRequestA(connect, NULL, "/test3", NULL, NULL, types, INTERNET_FLAG_KEEP_CONNECTION, 0);
ok(request != NULL, "HttpOpenRequest failed\n");
- ret = HttpAddRequestHeaders(request, authorization, ~0u, HTTP_ADDREQ_FLAG_ADD);
+ ret = HttpAddRequestHeadersA(request, authorization, ~0u, HTTP_ADDREQ_FLAG_ADD);
ok(ret, "HttpAddRequestHeaders failed\n");
- ret = HttpSendRequest(request, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(request, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed\n");
test_status_code(request, 200);
InternetCloseHandle(request);
- request = HttpOpenRequest(connect, NULL, "/test4", NULL, NULL, types, INTERNET_FLAG_KEEP_CONNECTION, 0);
+ request = HttpOpenRequestA(connect, NULL, "/test4", NULL, NULL, types, INTERNET_FLAG_KEEP_CONNECTION, 0);
ok(request != NULL, "HttpOpenRequest failed\n");
- ret = HttpSendRequest(request, connection, ~0u, NULL, 0);
+ ret = HttpSendRequestA(request, connection, ~0u, NULL, 0);
ok(ret, "HttpSendRequest failed\n");
status = 0;
size = sizeof(status);
- ret = HttpQueryInfo( request, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, &status, &size, NULL );
+ ret = HttpQueryInfoA( request, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, &status, &size, NULL );
ok(ret, "HttpQueryInfo failed\n");
ok(status == 200 || status == 400 /* IE6 */, "got status %u, expected 200 or 400\n", status);
InternetCloseHandle(request);
- request = HttpOpenRequest(connect, "POST", "/test7", NULL, NULL, types, INTERNET_FLAG_KEEP_CONNECTION, 0);
+ request = HttpOpenRequestA(connect, "POST", "/test7", NULL, NULL, types, INTERNET_FLAG_KEEP_CONNECTION, 0);
ok(request != NULL, "HttpOpenRequest failed\n");
- ret = HttpAddRequestHeaders(request, "Content-Length: 100\r\n", ~0u, HTTP_ADDREQ_FLAG_ADD_IF_NEW);
+ ret = HttpAddRequestHeadersA(request, "Content-Length: 100\r\n", ~0u, HTTP_ADDREQ_FLAG_ADD_IF_NEW);
ok(ret, "HttpAddRequestHeaders failed\n");
- ret = HttpSendRequest(request, connection, ~0u, NULL, 0);
+ ret = HttpSendRequestA(request, connection, ~0u, NULL, 0);
ok(ret, "HttpSendRequest failed\n");
status = 0;
size = sizeof(status);
- ret = HttpQueryInfo( request, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, &status, &size, NULL );
+ ret = HttpQueryInfoA( request, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, &status, &size, NULL );
ok(ret, "HttpQueryInfo failed\n");
ok(status == 200 || status == 400 /* IE6 */, "got status %u, expected 200 or 400\n", status);
HINTERNET ses, con, req;
BOOL ret;
- ses = InternetOpen("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
+ ses = InternetOpenA("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
ok(ses != NULL, "InternetOpen failed\n");
- con = InternetConnect(ses, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
+ con = InternetConnectA(ses, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
ok(con != NULL, "InternetConnect failed\n");
- req = HttpOpenRequest(con, NULL, "/test8", NULL, NULL, NULL, INTERNET_FLAG_KEEP_CONNECTION, 0);
+ req = HttpOpenRequestA(con, NULL, "/test8", NULL, NULL, NULL, INTERNET_FLAG_KEEP_CONNECTION, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
- ret = HttpSendRequest(req, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(req, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed\n");
test_status_code(req, 200);
InternetCloseHandle(req);
- req = HttpOpenRequest(con, NULL, "/test9", NULL, NULL, NULL, 0, 0);
+ req = HttpOpenRequestA(con, NULL, "/test9", NULL, NULL, NULL, 0, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
- ret = HttpSendRequest(req, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(req, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed\n");
test_status_code(req, 200);
InternetCloseHandle(req);
- req = HttpOpenRequest(con, NULL, "/test9", NULL, NULL, NULL, INTERNET_FLAG_NO_CACHE_WRITE, 0);
+ req = HttpOpenRequestA(con, NULL, "/test9", NULL, NULL, NULL, INTERNET_FLAG_NO_CACHE_WRITE, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
- ret = HttpSendRequest(req, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(req, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed\n");
test_status_code(req, 200);
InternetCloseHandle(req);
- req = HttpOpenRequest(con, "POST", "/testA", NULL, NULL, NULL, INTERNET_FLAG_NO_CACHE_WRITE, 0);
+ req = HttpOpenRequestA(con, "POST", "/testA", NULL, NULL, NULL, INTERNET_FLAG_NO_CACHE_WRITE, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
- ret = HttpSendRequest(req, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(req, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed\n");
test_status_code(req, 200);
HINTERNET ses, con, req;
BOOL ret;
- ses = InternetOpen("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
+ ses = InternetOpenA("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
ok(ses != NULL, "InternetOpen failed\n");
- con = InternetConnect(ses, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
+ con = InternetConnectA(ses, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
ok(con != NULL, "InternetConnect failed\n");
- req = HttpOpenRequest(con, NULL, "/testB", NULL, NULL, NULL, INTERNET_FLAG_KEEP_CONNECTION, 0);
+ req = HttpOpenRequestA(con, NULL, "/testB", NULL, NULL, NULL, INTERNET_FLAG_KEEP_CONNECTION, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
- ret = HttpSendRequest(req, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(req, NULL, 0, NULL, 0);
if (ret)
{
InternetCloseHandle(req);
- req = HttpOpenRequest(con, NULL, "/testB", NULL, NULL, NULL, INTERNET_FLAG_KEEP_CONNECTION, 0);
+ req = HttpOpenRequestA(con, NULL, "/testB", NULL, NULL, NULL, INTERNET_FLAG_KEEP_CONNECTION, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
- ret = HttpSendRequest(req, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(req, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed\n");
}
HINTERNET session, connection, req;
DWORD res;
- hCompleteEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
+ hCompleteEvent = CreateEventW(NULL, FALSE, FALSE, NULL);
session = InternetOpenA("", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, INTERNET_FLAG_ASYNC);
ok(session != NULL,"InternetOpen failed with error %u\n", GetLastError());
CLEAR_NOTIFIED(INTERNET_STATUS_COOKIE_SENT);
CLEAR_NOTIFIED(INTERNET_STATUS_DETECTING_PROXY);
- todo_wine CHECK_NOTIFIED(INTERNET_STATUS_CONNECTING_TO_SERVER);
- todo_wine CHECK_NOTIFIED(INTERNET_STATUS_CONNECTED_TO_SERVER);
+ CHECK_NOTIFIED(INTERNET_STATUS_CONNECTING_TO_SERVER);
+ CHECK_NOTIFIED(INTERNET_STATUS_CONNECTED_TO_SERVER);
CHECK_NOTIFIED(INTERNET_STATUS_SENDING_REQUEST);
CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_SENT);
CHECK_NOTIFIED(INTERNET_STATUS_RECEIVING_RESPONSE);
CHECK_NOTIFIED(INTERNET_STATUS_RESPONSE_RECEIVED);
CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_COMPLETE);
- test_status_code_todo(req, 210);
+ test_status_code(req, 210);
SET_OPTIONAL(INTERNET_STATUS_COOKIE_SENT);
SET_OPTIONAL(INTERNET_STATUS_DETECTING_PROXY);
SET_EXPECT(INTERNET_STATUS_CONNECTING_TO_SERVER);
SET_EXPECT(INTERNET_STATUS_CONNECTED_TO_SERVER);
SET_EXPECT(INTERNET_STATUS_SENDING_REQUEST);
- SET_WINE_ALLOW(INTERNET_STATUS_SENDING_REQUEST);
SET_EXPECT(INTERNET_STATUS_REQUEST_SENT);
SET_EXPECT(INTERNET_STATUS_RECEIVING_RESPONSE);
SET_EXPECT(INTERNET_STATUS_RESPONSE_RECEIVED);
CLEAR_NOTIFIED(INTERNET_STATUS_DETECTING_PROXY);
CHECK_NOTIFIED(INTERNET_STATUS_CONNECTING_TO_SERVER);
CHECK_NOTIFIED(INTERNET_STATUS_CONNECTED_TO_SERVER);
- todo_wine CHECK_NOTIFIED(INTERNET_STATUS_SENDING_REQUEST);
+ CHECK_NOTIFIED(INTERNET_STATUS_SENDING_REQUEST);
CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_SENT);
CHECK_NOTIFIED(INTERNET_STATUS_RECEIVING_RESPONSE);
CHECK_NOTIFIED(INTERNET_STATUS_RESPONSE_RECEIVED);
CLEAR_NOTIFIED(INTERNET_STATUS_CONNECTION_CLOSED);
CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_COMPLETE);
- test_status_code_todo(req, 200);
+ test_status_code(req, 200);
SET_WINE_ALLOW(INTERNET_STATUS_CLOSING_CONNECTION);
SET_WINE_ALLOW(INTERNET_STATUS_CONNECTION_CLOSED);
CloseHandle(hCompleteEvent);
}
+static void test_successive_HttpSendRequest(int port)
+{
+ HINTERNET session, connection, req;
+ DWORD res;
+
+ hCompleteEvent = CreateEventW(NULL, FALSE, FALSE, NULL);
+
+ session = InternetOpenA("", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, INTERNET_FLAG_ASYNC);
+ ok(session != NULL,"InternetOpen failed with error %u\n", GetLastError());
+
+ pInternetSetStatusCallbackA(session, callback);
+
+ SET_EXPECT(INTERNET_STATUS_HANDLE_CREATED);
+ connection = InternetConnectA(session, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0x0, 0xdeadbeef);
+ ok(connection != NULL,"InternetConnect failed with error %u\n", GetLastError());
+ CHECK_NOTIFIED(INTERNET_STATUS_HANDLE_CREATED);
+
+ SET_EXPECT(INTERNET_STATUS_HANDLE_CREATED);
+ req = HttpOpenRequestA(connection, "GET", "/testH", NULL, NULL, NULL, INTERNET_FLAG_KEEP_CONNECTION, 0xdeadbeaf);
+ ok(req != NULL, "HttpOpenRequest failed: %u\n", GetLastError());
+ CHECK_NOTIFIED(INTERNET_STATUS_HANDLE_CREATED);
+
+ SET_OPTIONAL(INTERNET_STATUS_COOKIE_SENT);
+ SET_OPTIONAL(INTERNET_STATUS_DETECTING_PROXY);
+ SET_EXPECT(INTERNET_STATUS_CONNECTING_TO_SERVER);
+ SET_EXPECT(INTERNET_STATUS_CONNECTED_TO_SERVER);
+ SET_EXPECT(INTERNET_STATUS_SENDING_REQUEST);
+ SET_EXPECT(INTERNET_STATUS_REQUEST_SENT);
+ SET_EXPECT(INTERNET_STATUS_RECEIVING_RESPONSE);
+ SET_EXPECT(INTERNET_STATUS_RESPONSE_RECEIVED);
+ SET_EXPECT(INTERNET_STATUS_REQUEST_COMPLETE);
+
+ res = HttpSendRequestA(req, NULL, 0, NULL, 0);
+ ok(!res && (GetLastError() == ERROR_IO_PENDING),
+ "Asynchronous HttpSendRequest NOT returning 0 with error ERROR_IO_PENDING\n");
+ WaitForSingleObject(hCompleteEvent, INFINITE);
+ ok(req_error == ERROR_SUCCESS, "req_error = %u\n", req_error);
+
+ CLEAR_NOTIFIED(INTERNET_STATUS_COOKIE_SENT);
+ CLEAR_NOTIFIED(INTERNET_STATUS_DETECTING_PROXY);
+ CHECK_NOTIFIED(INTERNET_STATUS_CONNECTING_TO_SERVER);
+ CHECK_NOTIFIED(INTERNET_STATUS_CONNECTED_TO_SERVER);
+ CHECK_NOTIFIED(INTERNET_STATUS_SENDING_REQUEST);
+ CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_SENT);
+ CHECK_NOTIFIED(INTERNET_STATUS_RECEIVING_RESPONSE);
+ CHECK_NOTIFIED(INTERNET_STATUS_RESPONSE_RECEIVED);
+ CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_COMPLETE);
+
+ test_status_code(req, 210);
+
+ SET_OPTIONAL(INTERNET_STATUS_COOKIE_SENT);
+ SET_OPTIONAL(INTERNET_STATUS_DETECTING_PROXY);
+ SET_EXPECT(INTERNET_STATUS_SENDING_REQUEST);
+ SET_EXPECT(INTERNET_STATUS_REQUEST_SENT);
+ SET_EXPECT(INTERNET_STATUS_RECEIVING_RESPONSE);
+ SET_EXPECT(INTERNET_STATUS_RESPONSE_RECEIVED);
+ SET_OPTIONAL(INTERNET_STATUS_CLOSING_CONNECTION);
+ SET_OPTIONAL(INTERNET_STATUS_CONNECTION_CLOSED);
+ SET_EXPECT(INTERNET_STATUS_REQUEST_COMPLETE);
+
+ res = HttpSendRequestA(req, NULL, 0, NULL, 0);
+ ok(!res && (GetLastError() == ERROR_IO_PENDING),
+ "Asynchronous HttpSendRequest NOT returning 0 with error ERROR_IO_PENDING\n");
+ WaitForSingleObject(hCompleteEvent, INFINITE);
+ ok(req_error == ERROR_SUCCESS, "req_error = %u\n", req_error);
+
+ CLEAR_NOTIFIED(INTERNET_STATUS_COOKIE_SENT);
+ CLEAR_NOTIFIED(INTERNET_STATUS_DETECTING_PROXY);
+ CHECK_NOTIFIED(INTERNET_STATUS_SENDING_REQUEST);
+ CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_SENT);
+ CHECK_NOTIFIED(INTERNET_STATUS_RECEIVING_RESPONSE);
+ CHECK_NOTIFIED(INTERNET_STATUS_RESPONSE_RECEIVED);
+ CLEAR_NOTIFIED(INTERNET_STATUS_CLOSING_CONNECTION);
+ CLEAR_NOTIFIED(INTERNET_STATUS_CONNECTION_CLOSED);
+ CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_COMPLETE);
+
+ test_status_code(req, 200);
+
+ SET_WINE_ALLOW(INTERNET_STATUS_CLOSING_CONNECTION);
+ SET_WINE_ALLOW(INTERNET_STATUS_CONNECTION_CLOSED);
+
+ close_async_handle(session, hCompleteEvent, 2);
+ CloseHandle(hCompleteEvent);
+}
static void test_no_content(int port)
{
trace("Testing 204 no content response...\n");
- hCompleteEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
+ hCompleteEvent = CreateEventW(NULL, FALSE, FALSE, NULL);
session = InternetOpenA("", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, INTERNET_FLAG_ASYNC);
ok(session != NULL,"InternetOpen failed with error %u\n", GetLastError());
CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_SENT);
CHECK_NOTIFIED(INTERNET_STATUS_RECEIVING_RESPONSE);
CHECK_NOTIFIED(INTERNET_STATUS_RESPONSE_RECEIVED);
- CHECK_NOTIFIED(INTERNET_STATUS_CLOSING_CONNECTION);
- CHECK_NOTIFIED(INTERNET_STATUS_CONNECTION_CLOSED);
CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_COMPLETE);
close_async_handle(session, hCompleteEvent, 2);
CloseHandle(hCompleteEvent);
+
+ /*
+ * The connection should be closed before closing handle. This is true for most
+ * wininet versions (including Wine), but some old win2k versions fail to do that.
+ */
+ CHECK_NOTIFIED(INTERNET_STATUS_CLOSING_CONNECTION);
+ CHECK_NOTIFIED(INTERNET_STATUS_CONNECTION_CLOSED);
}
static void test_conn_close(int port)
trace("Testing connection close connection...\n");
- hCompleteEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
- conn_close_event = CreateEvent(NULL, FALSE, FALSE, NULL);
+ hCompleteEvent = CreateEventW(NULL, FALSE, FALSE, NULL);
+ conn_close_event = CreateEventW(NULL, FALSE, FALSE, NULL);
session = InternetOpenA("", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, INTERNET_FLAG_ASYNC);
ok(session != NULL,"InternetOpen failed with error %u\n", GetLastError());
SET_EXPECT(INTERNET_STATUS_CONNECTION_CLOSED);
SET_EXPECT(INTERNET_STATUS_REQUEST_COMPLETE);
SetEvent(conn_close_event);
-#ifdef ROSTESTS_73_FIXED
WaitForSingleObject(hCompleteEvent, INFINITE);
-#else /* ROSTESTS_73_FIXED */
- ok(WaitForSingleObject(hCompleteEvent, 5000) == WAIT_OBJECT_0, "Wait timed out\n");
-#endif /* ROSTESTS_73_FIXED */
ok(req_error == ERROR_SUCCESS, "req_error = %u\n", req_error);
CHECK_NOTIFIED(INTERNET_STATUS_CLOSING_CONNECTION);
CHECK_NOTIFIED(INTERNET_STATUS_CONNECTION_CLOSED);
trace("Testing no-cache header\n");
- ses = InternetOpen("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
+ ses = InternetOpenA("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
ok(ses != NULL,"InternetOpen failed with error %u\n", GetLastError());
- con = InternetConnect(ses, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
+ con = InternetConnectA(ses, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
ok(con != NULL, "InternetConnect failed with error %u\n", GetLastError());
- req = HttpOpenRequest(con, NULL, cache_control_no_cache, NULL, NULL, NULL, 0, 0);
+ req = HttpOpenRequestA(con, NULL, cache_control_no_cache, NULL, NULL, NULL, 0, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
sprintf(cache_url, cache_url_fmt, port, cache_control_no_cache);
- DeleteUrlCacheEntry(cache_url);
+ DeleteUrlCacheEntryA(cache_url);
- ret = HttpSendRequest(req, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(req, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed with error %u\n", GetLastError());
size = 0;
while(InternetReadFile(req, buf, sizeof(buf), &read) && read)
ok(size == 12, "read %d bytes of data\n", size);
InternetCloseHandle(req);
- req = HttpOpenRequest(con, NULL, cache_control_no_cache, NULL, NULL, NULL, 0, 0);
+ req = HttpOpenRequestA(con, NULL, cache_control_no_cache, NULL, NULL, NULL, 0, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
- ret = HttpSendRequest(req, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(req, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed with error %u\n", GetLastError());
size = 0;
while(InternetReadFile(req, buf, sizeof(buf), &read) && read)
size += read;
ok(size == 0, "read %d bytes of data\n", size);
InternetCloseHandle(req);
- DeleteUrlCacheEntry(cache_url);
+ DeleteUrlCacheEntryA(cache_url);
- req = HttpOpenRequest(con, NULL, cache_control_no_store, NULL, NULL, NULL, 0, 0);
+ req = HttpOpenRequestA(con, NULL, cache_control_no_store, NULL, NULL, NULL, 0, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
sprintf(cache_url, cache_url_fmt, port, cache_control_no_store);
- DeleteUrlCacheEntry(cache_url);
+ DeleteUrlCacheEntryA(cache_url);
- ret = HttpSendRequest(req, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(req, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed with error %u\n", GetLastError());
size = 0;
while(InternetReadFile(req, buf, sizeof(buf), &read) && read)
ok(size == 12, "read %d bytes of data\n", size);
InternetCloseHandle(req);
- ret = DeleteUrlCacheEntry(cache_url);
+ ret = DeleteUrlCacheEntryA(cache_url);
ok(!ret && GetLastError()==ERROR_FILE_NOT_FOUND, "cache entry should not exist\n");
InternetCloseHandle(con);
trace("Testing reading compressed content from cache\n");
- ses = InternetOpen("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
+ ses = InternetOpenA("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
ok(ses != NULL,"InternetOpen failed with error %u\n", GetLastError());
- con = InternetConnect(ses, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
+ con = InternetConnectA(ses, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
ok(con != NULL, "InternetConnect failed with error %u\n", GetLastError());
- req = HttpOpenRequest(con, NULL, get_gzip, NULL, NULL, NULL, 0, 0);
+ req = HttpOpenRequestA(con, NULL, get_gzip, NULL, NULL, NULL, 0, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
ret = TRUE;
- ret = InternetSetOption(req, INTERNET_OPTION_HTTP_DECODING, &ret, sizeof(ret));
+ ret = InternetSetOptionA(req, INTERNET_OPTION_HTTP_DECODING, &ret, sizeof(ret));
if(!ret && GetLastError()==ERROR_INTERNET_INVALID_OPTION) {
win_skip("INTERNET_OPTION_HTTP_DECODING not supported\n");
InternetCloseHandle(req);
}
ok(ret, "InternetSetOption(INTERNET_OPTION_HTTP_DECODING) failed: %d\n", GetLastError());
- ret = HttpSendRequest(req, "Accept-Encoding: gzip", -1, NULL, 0);
+ ret = HttpSendRequestA(req, "Accept-Encoding: gzip", -1, NULL, 0);
ok(ret, "HttpSendRequest failed with error %u\n", GetLastError());
size = 0;
while(InternetReadFile(req, buf+size, sizeof(buf)-size, &read) && read)
ok(!strncmp(raw_header, buf, size), "buf = %s\n", buf);
InternetCloseHandle(req);
- req = HttpOpenRequest(con, NULL, get_gzip, NULL, NULL, NULL, INTERNET_FLAG_FROM_CACHE, 0);
+ req = HttpOpenRequestA(con, NULL, get_gzip, NULL, NULL, NULL, INTERNET_FLAG_FROM_CACHE, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
ret = TRUE;
- ret = InternetSetOption(req, INTERNET_OPTION_HTTP_DECODING, &ret, sizeof(ret));
+ ret = InternetSetOptionA(req, INTERNET_OPTION_HTTP_DECODING, &ret, sizeof(ret));
ok(ret, "InternetSetOption(INTERNET_OPTION_HTTP_DECODING) failed: %d\n", GetLastError());
- ret = HttpSendRequest(req, "Accept-Encoding: gzip", -1, NULL, 0);
+ ret = HttpSendRequestA(req, "Accept-Encoding: gzip", -1, NULL, 0);
ok(ret, "HttpSendRequest failed with error %u\n", GetLastError());
size = 0;
while(InternetReadFile(req, buf+size, sizeof(buf)-1-size, &read) && read)
/* Decompression doesn't work while reading from cache */
test_cache_gzip = 0;
sprintf(cache_url, cache_url_fmt, port, get_gzip);
- DeleteUrlCacheEntry(cache_url);
+ DeleteUrlCacheEntryA(cache_url);
- req = HttpOpenRequest(con, NULL, get_gzip, NULL, NULL, NULL, 0, 0);
+ req = HttpOpenRequestA(con, NULL, get_gzip, NULL, NULL, NULL, 0, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
- ret = HttpSendRequest(req, "Accept-Encoding: gzip", -1, NULL, 0);
+ ret = HttpSendRequestA(req, "Accept-Encoding: gzip", -1, NULL, 0);
ok(ret, "HttpSendRequest failed with error %u\n", GetLastError());
size = 0;
while(InternetReadFile(req, buf+size, sizeof(buf)-1-size, &read) && read)
ok(size == 31, "read %d bytes of data\n", size);
InternetCloseHandle(req);
- req = HttpOpenRequest(con, NULL, get_gzip, NULL, NULL, NULL, INTERNET_FLAG_FROM_CACHE, 0);
+ req = HttpOpenRequestA(con, NULL, get_gzip, NULL, NULL, NULL, INTERNET_FLAG_FROM_CACHE, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
ret = TRUE;
- ret = InternetSetOption(req, INTERNET_OPTION_HTTP_DECODING, &ret, sizeof(ret));
+ ret = InternetSetOptionA(req, INTERNET_OPTION_HTTP_DECODING, &ret, sizeof(ret));
ok(ret, "InternetSetOption(INTERNET_OPTION_HTTP_DECODING) failed: %d\n", GetLastError());
- ret = HttpSendRequest(req, "Accept-Encoding: gzip", -1, NULL, 0);
+ ret = HttpSendRequestA(req, "Accept-Encoding: gzip", -1, NULL, 0);
ok(ret, "HttpSendRequest failed with error %u\n", GetLastError());
size = 0;
while(InternetReadFile(req, buf+size, sizeof(buf)-1-size, &read) && read)
InternetCloseHandle(con);
InternetCloseHandle(ses);
- DeleteUrlCacheEntry(cache_url);
+ DeleteUrlCacheEntryA(cache_url);
}
static void test_HttpSendRequestW(int port)
DWORD error;
BOOL ret;
- ses = InternetOpen("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, INTERNET_FLAG_ASYNC);
+ ses = InternetOpenA("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, INTERNET_FLAG_ASYNC);
ok(ses != NULL, "InternetOpen failed\n");
- con = InternetConnect(ses, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
+ con = InternetConnectA(ses, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
ok(con != NULL, "InternetConnect failed\n");
- req = HttpOpenRequest(con, NULL, "/test1", NULL, NULL, NULL, 0, 0);
+ req = HttpOpenRequestA(con, NULL, "/test1", NULL, NULL, NULL, 0, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
SetLastError(0xdeadbeef);
BOOL ret;
char buffer[64];
- ses = InternetOpen("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
+ ses = InternetOpenA("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
ok(ses != NULL, "InternetOpen failed\n");
- con = InternetConnect(ses, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
+ con = InternetConnectA(ses, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
ok(con != NULL, "InternetConnect failed\n");
- InternetSetCookie("http://localhost", "cookie", "biscuit");
+ InternetSetCookieA("http://localhost", "cookie", "biscuit");
- req = HttpOpenRequest(con, NULL, "/testC", NULL, NULL, NULL, INTERNET_FLAG_KEEP_CONNECTION, 0);
+ req = HttpOpenRequestA(con, NULL, "/testC", NULL, NULL, NULL, INTERNET_FLAG_KEEP_CONNECTION, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
buffer[0] = 0;
size = sizeof(buffer);
SetLastError(0xdeadbeef);
- ret = HttpQueryInfo(req, HTTP_QUERY_COOKIE | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, NULL);
+ ret = HttpQueryInfoA(req, HTTP_QUERY_COOKIE | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, NULL);
error = GetLastError();
ok(!ret, "HttpQueryInfo succeeded\n");
ok(error == ERROR_HTTP_HEADER_NOT_FOUND, "got %u expected ERROR_HTTP_HEADER_NOT_FOUND\n", error);
- ret = HttpAddRequestHeaders(req, "Cookie: cookie=not biscuit\r\n", ~0u, HTTP_ADDREQ_FLAG_ADD);
+ ret = HttpAddRequestHeadersA(req, "Cookie: cookie=not biscuit\r\n", ~0u, HTTP_ADDREQ_FLAG_ADD);
ok(ret, "HttpAddRequestHeaders failed: %u\n", GetLastError());
buffer[0] = 0;
size = sizeof(buffer);
- ret = HttpQueryInfo(req, HTTP_QUERY_COOKIE | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, NULL);
+ ret = HttpQueryInfoA(req, HTTP_QUERY_COOKIE | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, NULL);
ok(ret, "HttpQueryInfo failed: %u\n", GetLastError());
ok(!strcmp(buffer, "cookie=not biscuit"), "got '%s' expected \'cookie=not biscuit\'\n", buffer);
- ret = HttpSendRequest(req, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(req, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed: %u\n", GetLastError());
test_status_code(req, 200);
buffer[0] = 0;
size = sizeof(buffer);
- ret = HttpQueryInfo(req, HTTP_QUERY_COOKIE | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, NULL);
+ ret = HttpQueryInfoA(req, HTTP_QUERY_COOKIE | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, NULL);
ok(ret, "HttpQueryInfo failed: %u\n", GetLastError());
ok(!strcmp(buffer, "cookie=biscuit"), "got '%s' expected \'cookie=biscuit\'\n", buffer);
HINTERNET session, connect, request;
BOOL ret;
- session = InternetOpen("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
+ session = InternetOpenA("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
ok(session != NULL, "InternetOpen failed\n");
- connect = InternetConnect(session, "localhost", port, "user", "pwd", INTERNET_SERVICE_HTTP, 0, 0);
+ connect = InternetConnectA(session, "localhost", port, "user", "pwd", INTERNET_SERVICE_HTTP, 0, 0);
ok(connect != NULL, "InternetConnect failed\n");
- request = HttpOpenRequest(connect, NULL, "/test3", NULL, NULL, NULL, 0, 0);
+ request = HttpOpenRequestA(connect, NULL, "/test3", NULL, NULL, NULL, 0, 0);
ok(request != NULL, "HttpOpenRequest failed\n");
- ret = HttpSendRequest(request, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(request, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed %u\n", GetLastError());
test_status_code(request, 200);
DWORD err;
BOOL ret;
- session = InternetOpen("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
+ session = InternetOpenA("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
ok(session != NULL, "InternetOpen failed\n");
- connect = InternetConnect(session, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
+ connect = InternetConnectA(session, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
ok(connect != NULL, "InternetConnect failed\n");
- request = HttpOpenRequest(connect, NULL, "/premature_disconnect", NULL, NULL, NULL, INTERNET_FLAG_KEEP_CONNECTION, 0);
+ request = HttpOpenRequestA(connect, NULL, "/premature_disconnect", NULL, NULL, NULL, INTERNET_FLAG_KEEP_CONNECTION, 0);
ok(request != NULL, "HttpOpenRequest failed\n");
SetLastError(0xdeadbeef);
- ret = HttpSendRequest(request, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(request, NULL, 0, NULL, 0);
err = GetLastError();
todo_wine ok(!ret, "HttpSendRequest succeeded\n");
todo_wine ok(err == ERROR_HTTP_INVALID_SERVER_RESPONSE, "got %u\n", err);
BOOL ret;
char buffer[256];
- session = InternetOpen("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
+ session = InternetOpenA("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
ok(session != NULL, "InternetOpen failed\n");
- connect = InternetConnect(session, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
+ connect = InternetConnectA(session, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
ok(connect != NULL, "InternetConnect failed\n");
- request = HttpOpenRequest(connect, NULL, "/testE", NULL, NULL, NULL, 0, 0);
+ request = HttpOpenRequestA(connect, NULL, "/testE", NULL, NULL, NULL, 0, 0);
ok(request != NULL, "HttpOpenRequest failed\n");
- ret = HttpSendRequest(request, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(request, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed %u\n", GetLastError());
test_status_code(request, 401);
buffer[0] = 0;
size = sizeof(buffer);
- ret = HttpQueryInfo( request, HTTP_QUERY_RAW_HEADERS, buffer, &size, NULL);
+ ret = HttpQueryInfoA( request, HTTP_QUERY_RAW_HEADERS, buffer, &size, NULL);
ok(ret, "HttpQueryInfo failed\n");
ok(!strcmp(buffer, "HTTP/1.0 401 Anonymous requests or requests on unsecure channel are not allowed"),
"headers wrong \"%s\"\n", buffer);
buffer[0] = 0;
size = sizeof(buffer);
- ret = HttpQueryInfo( request, HTTP_QUERY_SERVER, buffer, &size, NULL);
+ ret = HttpQueryInfoA( request, HTTP_QUERY_SERVER, buffer, &size, NULL);
ok(ret, "HttpQueryInfo failed\n");
ok(!strcmp(buffer, "winetest"), "server wrong \"%s\"\n", buffer);
char buffer[1024];
SetLastError(0xdeadbeef);
- hi = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
+ hi = InternetOpenA(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
ok(hi != NULL, "open failed %u\n", GetLastError());
SetLastError(0xdeadbeef);
- hc = InternetConnect(hi, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
+ hc = InternetConnectA(hi, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
ok(hc != NULL, "connect failed %u\n", GetLastError());
SetLastError(0xdeadbeef);
- hr = HttpOpenRequest(hc, NULL, "/testG", NULL, NULL, NULL, 0, 0);
+ hr = HttpOpenRequestA(hc, NULL, "/testG", NULL, NULL, NULL, 0, 0);
ok(hr != NULL, "HttpOpenRequest failed %u\n", GetLastError());
test_request_flags(hr, INTERNET_REQFLAG_NO_HEADERS);
SetLastError(0xdeadbeef);
- r = HttpSendRequest(hr, NULL, 0, NULL, 0);
+ r = HttpSendRequestA(hr, NULL, 0, NULL, 0);
ok(r, "HttpSendRequest failed %u\n", GetLastError());
test_request_flags_todo(hr, INTERNET_REQFLAG_NO_HEADERS);
buffer[0] = 0;
size = sizeof(buffer);
SetLastError(0xdeadbeef);
- r = HttpQueryInfo(hr, HTTP_QUERY_STATUS_TEXT, buffer, &size, NULL );
+ r = HttpQueryInfoA(hr, HTTP_QUERY_STATUS_TEXT, buffer, &size, NULL );
ok(r, "HttpQueryInfo failed %u\n", GetLastError());
ok(!strcmp(buffer, "OK"), "expected OK got: \"%s\"\n", buffer);
buffer[0] = 0;
size = sizeof(buffer);
SetLastError(0xdeadbeef);
- r = HttpQueryInfo(hr, HTTP_QUERY_VERSION, buffer, &size, NULL);
+ r = HttpQueryInfoA(hr, HTTP_QUERY_VERSION, buffer, &size, NULL);
ok(r, "HttpQueryInfo failed %u\n", GetLastError());
ok(!strcmp(buffer, "HTTP/1.0"), "expected HTTP/1.0 got: \"%s\"\n", buffer);
buffer[0] = 0;
size = sizeof(buffer);
SetLastError(0xdeadbeef);
- r = HttpQueryInfo(hr, HTTP_QUERY_RAW_HEADERS, buffer, &size, NULL);
+ r = HttpQueryInfoA(hr, HTTP_QUERY_RAW_HEADERS, buffer, &size, NULL);
ok(r, "HttpQueryInfo failed %u\n", GetLastError());
ok(!strcmp(buffer, "HTTP/1.0 200 OK"), "raw headers wrong: \"%s\"\n", buffer);
static void test_HttpQueryInfo(int port)
{
HINTERNET hi, hc, hr;
- DWORD size, index;
+ DWORD size, index, error;
char buffer[1024];
BOOL ret;
- hi = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
+ hi = InternetOpenA(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
ok(hi != NULL, "InternetOpen failed\n");
- hc = InternetConnect(hi, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
+ hc = InternetConnectA(hi, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
ok(hc != NULL, "InternetConnect failed\n");
- hr = HttpOpenRequest(hc, NULL, "/testD", NULL, NULL, NULL, 0, 0);
+ hr = HttpOpenRequestA(hc, NULL, "/testD", NULL, NULL, NULL, 0, 0);
ok(hr != NULL, "HttpOpenRequest failed\n");
size = sizeof(buffer);
- ret = HttpQueryInfo(hr, HTTP_QUERY_STATUS_TEXT, buffer, &size, &index);
- ok(!ret && GetLastError() == ERROR_HTTP_HEADER_NOT_FOUND, "HttpQueryInfo failed %u\n", GetLastError());
+ ret = HttpQueryInfoA(hr, HTTP_QUERY_STATUS_TEXT, buffer, &size, &index);
+ error = GetLastError();
+ ok(!ret || broken(ret), "HttpQueryInfo succeeded\n");
+ if (!ret) ok(error == ERROR_HTTP_HEADER_NOT_FOUND, "got %u expected ERROR_HTTP_HEADER_NOT_FOUND\n", error);
- ret = HttpSendRequest(hr, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(hr, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed\n");
index = 0;
size = sizeof(buffer);
- ret = HttpQueryInfo(hr, HTTP_QUERY_HOST | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, &index);
+ ret = HttpQueryInfoA(hr, HTTP_QUERY_HOST | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, &index);
ok(ret, "HttpQueryInfo failed %u\n", GetLastError());
ok(index == 1, "expected 1 got %u\n", index);
index = 0;
size = sizeof(buffer);
- ret = HttpQueryInfo(hr, HTTP_QUERY_DATE | HTTP_QUERY_FLAG_SYSTEMTIME, buffer, &size, &index);
+ ret = HttpQueryInfoA(hr, HTTP_QUERY_DATE | HTTP_QUERY_FLAG_SYSTEMTIME, buffer, &size, &index);
ok(ret, "HttpQueryInfo failed %u\n", GetLastError());
ok(index == 1, "expected 1 got %u\n", index);
index = 0;
size = sizeof(buffer);
- ret = HttpQueryInfo(hr, HTTP_QUERY_RAW_HEADERS, buffer, &size, &index);
+ ret = HttpQueryInfoA(hr, HTTP_QUERY_RAW_HEADERS, buffer, &size, &index);
ok(ret, "HttpQueryInfo failed %u\n", GetLastError());
ok(index == 0, "expected 0 got %u\n", index);
size = sizeof(buffer);
- ret = HttpQueryInfo(hr, HTTP_QUERY_RAW_HEADERS, buffer, &size, &index);
+ ret = HttpQueryInfoA(hr, HTTP_QUERY_RAW_HEADERS, buffer, &size, &index);
ok(ret, "HttpQueryInfo failed %u\n", GetLastError());
ok(index == 0, "expected 0 got %u\n", index);
index = 0xdeadbeef; /* invalid start index */
size = sizeof(buffer);
- ret = HttpQueryInfo(hr, HTTP_QUERY_RAW_HEADERS, buffer, &size, &index);
+ ret = HttpQueryInfoA(hr, HTTP_QUERY_RAW_HEADERS, buffer, &size, &index);
todo_wine ok(!ret, "HttpQueryInfo should have failed\n");
todo_wine ok(GetLastError() == ERROR_HTTP_HEADER_NOT_FOUND,
"Expected ERROR_HTTP_HEADER_NOT_FOUND, got %u\n", GetLastError());
index = 0;
size = sizeof(buffer);
- ret = HttpQueryInfo(hr, HTTP_QUERY_RAW_HEADERS_CRLF, buffer, &size, &index);
+ ret = HttpQueryInfoA(hr, HTTP_QUERY_RAW_HEADERS_CRLF, buffer, &size, &index);
ok(ret, "HttpQueryInfo failed %u\n", GetLastError());
ok(index == 0, "expected 0 got %u\n", index);
size = sizeof(buffer);
- ret = HttpQueryInfo(hr, HTTP_QUERY_STATUS_TEXT, buffer, &size, &index);
+ ret = HttpQueryInfoA(hr, HTTP_QUERY_STATUS_TEXT, buffer, &size, &index);
ok(ret, "HttpQueryInfo failed %u\n", GetLastError());
ok(index == 0, "expected 0 got %u\n", index);
size = sizeof(buffer);
- ret = HttpQueryInfo(hr, HTTP_QUERY_VERSION, buffer, &size, &index);
+ ret = HttpQueryInfoA(hr, HTTP_QUERY_VERSION, buffer, &size, &index);
ok(ret, "HttpQueryInfo failed %u\n", GetLastError());
ok(index == 0, "expected 0 got %u\n", index);
index = 0xdeadbeef;
size = sizeof(buffer);
- ret = HttpQueryInfo(hr, HTTP_QUERY_FORWARDED, buffer, &size, &index);
+ ret = HttpQueryInfoA(hr, HTTP_QUERY_FORWARDED, buffer, &size, &index);
ok(!ret, "HttpQueryInfo succeeded\n");
ok(index == 0xdeadbeef, "expected 0xdeadbeef got %u\n", index);
index = 0;
size = sizeof(buffer);
- ret = HttpQueryInfo(hr, HTTP_QUERY_SERVER, buffer, &size, &index);
+ ret = HttpQueryInfoA(hr, HTTP_QUERY_SERVER, buffer, &size, &index);
ok(ret, "HttpQueryInfo failed %u\n", GetLastError());
ok(index == 1, "expected 1 got %u\n", index);
index = 0;
size = sizeof(buffer);
strcpy(buffer, "Server");
- ret = HttpQueryInfo(hr, HTTP_QUERY_CUSTOM, buffer, &size, &index);
+ ret = HttpQueryInfoA(hr, HTTP_QUERY_CUSTOM, buffer, &size, &index);
ok(ret, "HttpQueryInfo failed %u\n", GetLastError());
ok(index == 1, "expected 1 got %u\n", index);
index = 0;
size = sizeof(buffer);
- ret = HttpQueryInfo(hr, HTTP_QUERY_SET_COOKIE, buffer, &size, &index);
+ ret = HttpQueryInfoA(hr, HTTP_QUERY_SET_COOKIE, buffer, &size, &index);
ok(ret, "HttpQueryInfo failed %u\n", GetLastError());
ok(index == 1, "expected 1 got %u\n", index);
size = sizeof(buffer);
- ret = HttpQueryInfo(hr, HTTP_QUERY_SET_COOKIE, buffer, &size, &index);
+ ret = HttpQueryInfoA(hr, HTTP_QUERY_SET_COOKIE, buffer, &size, &index);
ok(ret, "HttpQueryInfo failed %u\n", GetLastError());
ok(index == 2, "expected 2 got %u\n", index);
DWORD_PTR ctx;
BOOL ret;
- ses = InternetOpen("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
+ ses = InternetOpenA("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
ok(ses != NULL, "InternetOpen failed\n");
SetLastError(0xdeadbeef);
- ret = InternetSetOption(ses, INTERNET_OPTION_CONTEXT_VALUE, NULL, 0);
+ ret = InternetSetOptionA(ses, INTERNET_OPTION_CONTEXT_VALUE, NULL, 0);
error = GetLastError();
ok(!ret, "InternetSetOption succeeded\n");
ok(error == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %u\n", error);
SetLastError(0xdeadbeef);
- ret = InternetSetOption(ses, INTERNET_OPTION_CONTEXT_VALUE, NULL, sizeof(ctx));
+ ret = InternetSetOptionA(ses, INTERNET_OPTION_CONTEXT_VALUE, NULL, sizeof(ctx));
ok(!ret, "InternetSetOption succeeded\n");
error = GetLastError();
ok(error == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %u\n", error);
SetLastError(0xdeadbeef);
- ret = InternetSetOption(ses, INTERNET_OPTION_CONTEXT_VALUE, &ctx, 0);
+ ret = InternetSetOptionA(ses, INTERNET_OPTION_CONTEXT_VALUE, &ctx, 0);
ok(!ret, "InternetSetOption succeeded\n");
error = GetLastError();
ok(error == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %u\n", error);
ctx = 1;
- ret = InternetSetOption(ses, INTERNET_OPTION_CONTEXT_VALUE, &ctx, sizeof(ctx));
+ ret = InternetSetOptionA(ses, INTERNET_OPTION_CONTEXT_VALUE, &ctx, sizeof(ctx));
ok(ret, "InternetSetOption failed %u\n", GetLastError());
SetLastError(0xdeadbeef);
- ret = InternetQueryOption(ses, INTERNET_OPTION_CONTEXT_VALUE, NULL, NULL);
+ ret = InternetQueryOptionA(ses, INTERNET_OPTION_CONTEXT_VALUE, NULL, NULL);
error = GetLastError();
ok(!ret, "InternetQueryOption succeeded\n");
ok(error == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %u\n", error);
SetLastError(0xdeadbeef);
- ret = InternetQueryOption(ses, INTERNET_OPTION_CONTEXT_VALUE, &ctx, NULL);
+ ret = InternetQueryOptionA(ses, INTERNET_OPTION_CONTEXT_VALUE, &ctx, NULL);
error = GetLastError();
ok(!ret, "InternetQueryOption succeeded\n");
ok(error == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %u\n", error);
size = 0;
SetLastError(0xdeadbeef);
- ret = InternetQueryOption(ses, INTERNET_OPTION_CONTEXT_VALUE, NULL, &size);
+ ret = InternetQueryOptionA(ses, INTERNET_OPTION_CONTEXT_VALUE, NULL, &size);
error = GetLastError();
ok(!ret, "InternetQueryOption succeeded\n");
ok(error == ERROR_INSUFFICIENT_BUFFER, "expected ERROR_INSUFFICIENT_BUFFER, got %u\n", error);
size = sizeof(ctx);
SetLastError(0xdeadbeef);
- ret = InternetQueryOption(NULL, INTERNET_OPTION_CONTEXT_VALUE, &ctx, &size);
+ ret = InternetQueryOptionA(NULL, INTERNET_OPTION_CONTEXT_VALUE, &ctx, &size);
error = GetLastError();
ok(!ret, "InternetQueryOption succeeded\n");
ok(error == ERROR_INTERNET_INCORRECT_HANDLE_TYPE, "expected ERROR_INTERNET_INCORRECT_HANDLE_TYPE, got %u\n", error);
ctx = 0xdeadbeef;
size = sizeof(ctx);
- ret = InternetQueryOption(ses, INTERNET_OPTION_CONTEXT_VALUE, &ctx, &size);
+ ret = InternetQueryOptionA(ses, INTERNET_OPTION_CONTEXT_VALUE, &ctx, &size);
ok(ret, "InternetQueryOption failed %u\n", GetLastError());
ok(ctx == 1, "expected 1 got %lu\n", ctx);
- con = InternetConnect(ses, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
+ con = InternetConnectA(ses, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
ok(con != NULL, "InternetConnect failed\n");
ctx = 0xdeadbeef;
size = sizeof(ctx);
- ret = InternetQueryOption(con, INTERNET_OPTION_CONTEXT_VALUE, &ctx, &size);
+ ret = InternetQueryOptionA(con, INTERNET_OPTION_CONTEXT_VALUE, &ctx, &size);
ok(ret, "InternetQueryOption failed %u\n", GetLastError());
ok(ctx == 0, "expected 0 got %lu\n", ctx);
ctx = 2;
- ret = InternetSetOption(con, INTERNET_OPTION_CONTEXT_VALUE, &ctx, sizeof(ctx));
+ ret = InternetSetOptionA(con, INTERNET_OPTION_CONTEXT_VALUE, &ctx, sizeof(ctx));
ok(ret, "InternetSetOption failed %u\n", GetLastError());
ctx = 0xdeadbeef;
size = sizeof(ctx);
- ret = InternetQueryOption(con, INTERNET_OPTION_CONTEXT_VALUE, &ctx, &size);
+ ret = InternetQueryOptionA(con, INTERNET_OPTION_CONTEXT_VALUE, &ctx, &size);
ok(ret, "InternetQueryOption failed %u\n", GetLastError());
ok(ctx == 2, "expected 2 got %lu\n", ctx);
- req = HttpOpenRequest(con, NULL, "/test1", NULL, NULL, NULL, 0, 0);
+ req = HttpOpenRequestA(con, NULL, "/test1", NULL, NULL, NULL, 0, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
ctx = 0xdeadbeef;
size = sizeof(ctx);
- ret = InternetQueryOption(req, INTERNET_OPTION_CONTEXT_VALUE, &ctx, &size);
+ ret = InternetQueryOptionA(req, INTERNET_OPTION_CONTEXT_VALUE, &ctx, &size);
ok(ret, "InternetQueryOption failed %u\n", GetLastError());
ok(ctx == 0, "expected 0 got %lu\n", ctx);
ctx = 3;
- ret = InternetSetOption(req, INTERNET_OPTION_CONTEXT_VALUE, &ctx, sizeof(ctx));
+ ret = InternetSetOptionA(req, INTERNET_OPTION_CONTEXT_VALUE, &ctx, sizeof(ctx));
ok(ret, "InternetSetOption failed %u\n", GetLastError());
ctx = 0xdeadbeef;
size = sizeof(ctx);
- ret = InternetQueryOption(req, INTERNET_OPTION_CONTEXT_VALUE, &ctx, &size);
+ ret = InternetQueryOptionA(req, INTERNET_OPTION_CONTEXT_VALUE, &ctx, &size);
ok(ret, "InternetQueryOption failed %u\n", GetLastError());
ok(ctx == 3, "expected 3 got %lu\n", ctx);
size = sizeof(idsi);
- ret = InternetQueryOption(req, INTERNET_OPTION_DIAGNOSTIC_SOCKET_INFO, &idsi, &size);
+ ret = InternetQueryOptionA(req, INTERNET_OPTION_DIAGNOSTIC_SOCKET_INFO, &idsi, &size);
ok(ret, "InternetQueryOption failed %u\n", GetLastError());
size = 0;
SetLastError(0xdeadbeef);
- ret = InternetQueryOption(req, INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT, NULL, &size);
+ ret = InternetQueryOptionA(req, INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT, NULL, &size);
error = GetLastError();
ok(!ret, "InternetQueryOption succeeded\n");
ok(error == ERROR_INTERNET_INVALID_OPERATION, "expected ERROR_INTERNET_INVALID_OPERATION, got %u\n", error);
for(i=0; i < sizeof(http_status_tests)/sizeof(*http_status_tests); i++) {
send_buffer = http_status_tests[i].response_text;
- ses = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
+ ses = InternetOpenA(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
ok(ses != NULL, "InternetOpen failed\n");
- con = InternetConnect(ses, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
+ con = InternetConnectA(ses, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
ok(con != NULL, "InternetConnect failed\n");
- req = HttpOpenRequest(con, NULL, "/send_from_buffer", NULL, NULL, NULL, 0, 0);
+ req = HttpOpenRequestA(con, NULL, "/send_from_buffer", NULL, NULL, NULL, 0, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
- res = HttpSendRequest(req, NULL, 0, NULL, 0);
+ res = HttpSendRequestA(req, NULL, 0, NULL, 0);
ok(res, "HttpSendRequest failed\n");
test_status_code(req, http_status_tests[i].status_code);
size = sizeof(buf);
- res = HttpQueryInfo(req, HTTP_QUERY_STATUS_TEXT, buf, &size, NULL);
+ res = HttpQueryInfoA(req, HTTP_QUERY_STATUS_TEXT, buf, &size, NULL);
ok(res, "HttpQueryInfo failed: %u\n", GetLastError());
ok(!strcmp(buf, http_status_tests[i].status_text), "[%u] Unexpected status text \"%s\", expected \"%s\"\n",
i, buf, http_status_tests[i].status_text);
HINTERNET session, connect, request;
BOOL ret;
- session = InternetOpen("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
+ session = InternetOpenA("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
ok(session != NULL, "InternetOpen failed\n");
- connect = InternetConnect(session, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
+ connect = InternetConnectA(session, "localhost", port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
ok(connect != NULL, "InternetConnect failed\n");
- request = HttpOpenRequest(connect, "RPC_OUT_DATA", "/test_cache_control_verb", NULL, NULL, NULL,
+ request = HttpOpenRequestA(connect, "RPC_OUT_DATA", "/test_cache_control_verb", NULL, NULL, NULL,
INTERNET_FLAG_NO_CACHE_WRITE, 0);
ok(request != NULL, "HttpOpenRequest failed\n");
- ret = HttpSendRequest(request, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(request, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed %u\n", GetLastError());
test_status_code(request, 200);
+ InternetCloseHandle(request);
- request = HttpOpenRequest(connect, "POST", "/test_cache_control_verb", NULL, NULL, NULL,
+ request = HttpOpenRequestA(connect, "POST", "/test_cache_control_verb", NULL, NULL, NULL,
INTERNET_FLAG_NO_CACHE_WRITE, 0);
ok(request != NULL, "HttpOpenRequest failed\n");
- ret = HttpSendRequest(request, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(request, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed %u\n", GetLastError());
test_status_code(request, 200);
+ InternetCloseHandle(request);
- request = HttpOpenRequest(connect, "HEAD", "/test_cache_control_verb", NULL, NULL, NULL,
+ request = HttpOpenRequestA(connect, "HEAD", "/test_cache_control_verb", NULL, NULL, NULL,
INTERNET_FLAG_NO_CACHE_WRITE, 0);
ok(request != NULL, "HttpOpenRequest failed\n");
- ret = HttpSendRequest(request, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(request, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed %u\n", GetLastError());
test_status_code(request, 200);
+ InternetCloseHandle(request);
- request = HttpOpenRequest(connect, "GET", "/test_cache_control_verb", NULL, NULL, NULL,
+ request = HttpOpenRequestA(connect, "GET", "/test_cache_control_verb", NULL, NULL, NULL,
INTERNET_FLAG_NO_CACHE_WRITE, 0);
ok(request != NULL, "HttpOpenRequest failed\n");
- ret = HttpSendRequest(request, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(request, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed %u\n", GetLastError());
test_status_code(request, 200);
-
InternetCloseHandle(request);
+
InternetCloseHandle(connect);
InternetCloseHandle(session);
}
HANDLE hThread;
DWORD id = 0, r;
- si.hEvent = CreateEvent(NULL, 0, 0, NULL);
+ si.hEvent = CreateEventW(NULL, 0, 0, NULL);
si.port = 7531;
hThread = CreateThread(NULL, 0, server_thread, (LPVOID) &si, 0, &id);
test_response_without_headers(si.port);
test_HttpQueryInfo(si.port);
test_HttpSendRequestW(si.port);
- test_last_error(si.port);
test_options(si.port);
test_no_content(si.port);
test_conn_close(si.port);
test_premature_disconnect(si.port);
test_connection_closing(si.port);
test_cache_control_verb(si.port);
+ test_successive_HttpSendRequest(si.port);
/* send the basic request again to shutdown the server thread */
test_basic_request(si.port, "GET", "/quit");
} cert_struct_test_t;
static const cert_struct_test_t test_winehq_org_cert = {
- "0mJuv1t-1CFypQkyTZwfvjHHBAbnUndG\r\n"
+ "6JcR7G3G8tgjkeoMcitK-bTbzcpumDSy\r\n"
"GT98380011\r\n"
- "See www.rapidssl.com/resources/cps (c)13\r\n"
+ "See www.rapidssl.com/resources/cps (c)14\r\n"
"Domain Control Validated - RapidSSL(R)\r\n"
"*.winehq.org",
memset(&info, 0x5, sizeof(info));
size = sizeof(info);
- res = InternetQueryOption(req, INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT, &info, &size);
+ res = InternetQueryOptionA(req, INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT, &info, &size);
ok(res, "InternetQueryOption failed: %u\n", GetLastError());
ok(size == sizeof(info), "size = %u\n", size);
static void test_security_flags(void)
{
+ INTERNET_CERTIFICATE_INFOA *cert;
HINTERNET ses, conn, req;
DWORD size, flags;
char buf[100];
trace("Testing security flags...\n");
- hCompleteEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
+ hCompleteEvent = CreateEventW(NULL, FALSE, FALSE, NULL);
- ses = InternetOpen("WineTest", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, INTERNET_FLAG_ASYNC);
+ ses = InternetOpenA("WineTest", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, INTERNET_FLAG_ASYNC);
ok(ses != NULL, "InternetOpen failed\n");
pInternetSetStatusCallbackA(ses, &callback);
CHECK_NOTIFIED(INTERNET_STATUS_HANDLE_CREATED);
SET_EXPECT(INTERNET_STATUS_HANDLE_CREATED);
- req = HttpOpenRequest(conn, "GET", "/tests/hello.html", NULL, NULL, NULL,
+ req = HttpOpenRequestA(conn, "GET", "/tests/hello.html", NULL, NULL, NULL,
INTERNET_FLAG_SECURE|INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_RELOAD|INTERNET_FLAG_NO_CACHE_WRITE,
0xdeadbeef);
ok(req != NULL, "HttpOpenRequest failed\n");
SET_OPTIONAL(INTERNET_STATUS_DETECTING_PROXY);
SET_OPTIONAL(INTERNET_STATUS_COOKIE_SENT);
- res = HttpSendRequest(req, NULL, 0, NULL, 0);
+ res = HttpSendRequestA(req, NULL, 0, NULL, 0);
ok(!res && GetLastError() == ERROR_IO_PENDING, "HttpSendRequest failed: %u\n", GetLastError());
WaitForSingleObject(hCompleteEvent, INFINITE);
ok(res, "InternetSetOption(INTERNET_OPTION_END_BROWSER_SESSION) failed: %u\n", GetLastError());
SET_EXPECT(INTERNET_STATUS_HANDLE_CREATED);
- req = HttpOpenRequest(conn, "GET", "/tests/hello.html", NULL, NULL, NULL,
+ req = HttpOpenRequestA(conn, "GET", "/tests/hello.html", NULL, NULL, NULL,
INTERNET_FLAG_SECURE|INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_RELOAD|INTERNET_FLAG_NO_CACHE_WRITE,
0xdeadbeef);
ok(req != NULL, "HttpOpenRequest failed\n");
CHECK_NOTIFIED(INTERNET_STATUS_HANDLE_CREATED);
flags = INTERNET_ERROR_MASK_COMBINED_SEC_CERT|INTERNET_ERROR_MASK_LOGIN_FAILURE_DISPLAY_ENTITY_BODY;
- res = InternetSetOption(req, INTERNET_OPTION_ERROR_MASK, (void*)&flags, sizeof(flags));
+ res = InternetSetOptionA(req, INTERNET_OPTION_ERROR_MASK, (void*)&flags, sizeof(flags));
ok(res, "InternetQueryOption(INTERNET_OPTION_ERROR_MASK failed: %u\n", GetLastError());
SET_EXPECT(INTERNET_STATUS_CONNECTING_TO_SERVER);
SET_OPTIONAL(INTERNET_STATUS_COOKIE_SENT);
SET_OPTIONAL(INTERNET_STATUS_DETECTING_PROXY);
- res = HttpSendRequest(req, NULL, 0, NULL, 0);
+ res = HttpSendRequestA(req, NULL, 0, NULL, 0);
ok(!res && GetLastError() == ERROR_IO_PENDING, "HttpSendRequest failed: %u\n", GetLastError());
WaitForSingleObject(hCompleteEvent, INFINITE);
ok(req_error == ERROR_INTERNET_SEC_CERT_REV_FAILED || broken(req_error == ERROR_INTERNET_SEC_CERT_ERRORS),
"req_error = %d\n", req_error);
+ size = 0;
+ res = InternetQueryOptionW(req, INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT, NULL, &size);
+ ok(res || GetLastError() == ERROR_INSUFFICIENT_BUFFER, "InternetQueryOption failed: %d\n", GetLastError());
+ ok(size == sizeof(INTERNET_CERTIFICATE_INFOA), "size = %u\n", size);
+ cert = HeapAlloc(GetProcessHeap(), 0, size);
+ cert->lpszSubjectInfo = NULL;
+ cert->lpszIssuerInfo = NULL;
+ cert->lpszSignatureAlgName = (char *)0xdeadbeef;
+ cert->lpszEncryptionAlgName = (char *)0xdeadbeef;
+ cert->lpszProtocolName = (char *)0xdeadbeef;
+ cert->dwKeySize = 0xdeadbeef;
+ res = InternetQueryOptionW(req, INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT, cert, &size);
+ ok(res, "InternetQueryOption failed: %u\n", GetLastError());
+ if (res)
+ {
+ ok(cert->lpszSubjectInfo && strlen(cert->lpszSubjectInfo) > 1, "expected a non-empty subject name\n");
+ ok(cert->lpszIssuerInfo && strlen(cert->lpszIssuerInfo) > 1, "expected a non-empty issuer name\n");
+ ok(!cert->lpszSignatureAlgName, "unexpected signature algorithm name\n");
+ ok(!cert->lpszEncryptionAlgName, "unexpected encryption algorithm name\n");
+ ok(!cert->lpszProtocolName, "unexpected protocol name\n");
+ ok(cert->dwKeySize != 0xdeadbeef, "unexpected key size\n");
+ }
+ HeapFree(GetProcessHeap(), 0, cert);
+
CHECK_NOTIFIED(INTERNET_STATUS_CONNECTING_TO_SERVER);
CHECK_NOTIFIED(INTERNET_STATUS_CONNECTED_TO_SERVER);
CHECK_NOTIFIED(INTERNET_STATUS_CLOSING_CONNECTION);
SET_OPTIONAL(INTERNET_STATUS_COOKIE_SENT);
SET_OPTIONAL(INTERNET_STATUS_DETECTING_PROXY);
- res = HttpSendRequest(req, NULL, 0, NULL, 0);
+ res = HttpSendRequestA(req, NULL, 0, NULL, 0);
ok(!res && GetLastError() == ERROR_IO_PENDING, "HttpSendRequest failed: %u\n", GetLastError());
WaitForSingleObject(hCompleteEvent, INFINITE);
SET_OPTIONAL(INTERNET_STATUS_COOKIE_SENT);
SET_OPTIONAL(INTERNET_STATUS_DETECTING_PROXY);
- res = HttpSendRequest(req, NULL, 0, NULL, 0);
+ res = HttpSendRequestA(req, NULL, 0, NULL, 0);
ok(!res && GetLastError() == ERROR_IO_PENDING, "HttpSendRequest failed: %u\n", GetLastError());
WaitForSingleObject(hCompleteEvent, INFINITE);
/* Make another request, without setting security flags */
- ses = InternetOpen("WineTest", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, INTERNET_FLAG_ASYNC);
+ ses = InternetOpenA("WineTest", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, INTERNET_FLAG_ASYNC);
ok(ses != NULL, "InternetOpen failed\n");
pInternetSetStatusCallbackA(ses, &callback);
CHECK_NOTIFIED(INTERNET_STATUS_HANDLE_CREATED);
SET_EXPECT(INTERNET_STATUS_HANDLE_CREATED);
- req = HttpOpenRequest(conn, "GET", "/tests/hello.html", NULL, NULL, NULL,
+ req = HttpOpenRequestA(conn, "GET", "/tests/hello.html", NULL, NULL, NULL,
INTERNET_FLAG_SECURE|INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_RELOAD|INTERNET_FLAG_NO_CACHE_WRITE,
0xdeadbeef);
ok(req != NULL, "HttpOpenRequest failed\n");
SET_EXPECT(INTERNET_STATUS_REQUEST_COMPLETE);
SET_OPTIONAL(INTERNET_STATUS_COOKIE_SENT);
- res = HttpSendRequest(req, NULL, 0, NULL, 0);
+ res = HttpSendRequestA(req, NULL, 0, NULL, 0);
ok(!res && GetLastError() == ERROR_IO_PENDING, "HttpSendRequest failed: %u\n", GetLastError());
WaitForSingleObject(hCompleteEvent, INFINITE);
INTERNET_CERTIFICATE_INFOW *certificate_structW = NULL;
BOOL ret;
- ses = InternetOpen("Gizmo5", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
+ ses = InternetOpenA("Gizmo5", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
ok(ses != NULL, "InternetOpen failed\n");
- con = InternetConnect(ses, "test.winehq.org",
+ con = InternetConnectA(ses, "test.winehq.org",
INTERNET_DEFAULT_HTTPS_PORT, NULL, NULL,
INTERNET_SERVICE_HTTP, 0, 0);
ok(con != NULL, "InternetConnect failed\n");
- req = HttpOpenRequest(con, "GET", "/tests/hello.html", NULL, NULL, NULL,
+ req = HttpOpenRequestA(con, "GET", "/tests/hello.html", NULL, NULL, NULL,
INTERNET_FLAG_SECURE, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
- ret = HttpSendRequest(req, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(req, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed: %d\n", GetLastError());
size = sizeof(flags);
- ret = InternetQueryOption(req, INTERNET_OPTION_SECURITY_FLAGS, &flags, &size);
+ ret = InternetQueryOptionA(req, INTERNET_OPTION_SECURITY_FLAGS, &flags, &size);
ok(ret, "InternetQueryOption failed: %d\n", GetLastError());
ok(flags & SECURITY_FLAG_SECURE, "expected secure flag to be set\n");
ok(ret || GetLastError() == ERROR_INSUFFICIENT_BUFFER, "InternetQueryOption failed: %d\n", GetLastError());
ok(size == sizeof(INTERNET_CERTIFICATE_INFOW), "size = %d\n", size);
certificate_structW = HeapAlloc(GetProcessHeap(), 0, size);
- ret = InternetQueryOption(req, INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT,
+ ret = InternetQueryOptionA(req, INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT,
certificate_structW, &size);
certificate_structA = (INTERNET_CERTIFICATE_INFOA *)certificate_structW;
ok(ret, "InternetQueryOption failed: %d\n", GetLastError());
INTERNET_FLAG_SECURE|INTERNET_FLAG_RELOAD, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
- ret = HttpSendRequest(req, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(req, NULL, 0, NULL, 0);
ok(ret, "HttpSendRequest failed: %d\n", GetLastError());
size = sizeof(flags);
- ret = InternetQueryOption(req, INTERNET_OPTION_SECURITY_FLAGS, &flags, &size);
+ ret = InternetQueryOptionA(req, INTERNET_OPTION_SECURITY_FLAGS, &flags, &size);
ok(ret, "InternetQueryOption failed: %d\n", GetLastError());
ok(flags & SECURITY_FLAG_SECURE, "expected secure flag to be set, got %x\n", flags);
char buffer[64];
BOOL ret;
- ses = InternetOpen("Gizmo5", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
+ ses = InternetOpenA("Gizmo5", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
ok(ses != NULL, "InternetOpen failed\n");
- con = InternetConnect(ses, "test.winehq.org", 80, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
+ con = InternetConnectA(ses, "test.winehq.org", 80, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
ok(con != NULL, "InternetConnect failed\n");
- req = HttpOpenRequest(con, "GET", "/tests/hello.html", "HTTP/1.0", NULL, NULL, 0, 0);
+ req = HttpOpenRequestA(con, "GET", "/tests/hello.html", "HTTP/1.0", NULL, NULL, 0, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
size = sizeof(buffer);
- ret = HttpQueryInfo(req, HTTP_QUERY_USER_AGENT | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, NULL);
+ ret = HttpQueryInfoA(req, HTTP_QUERY_USER_AGENT | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, NULL);
err = GetLastError();
ok(!ret, "HttpQueryInfo succeeded\n");
ok(err == ERROR_HTTP_HEADER_NOT_FOUND, "expected ERROR_HTTP_HEADER_NOT_FOUND, got %u\n", err);
- ret = HttpAddRequestHeaders(req, "User-Agent: Gizmo Project\r\n", ~0u, HTTP_ADDREQ_FLAG_ADD_IF_NEW);
+ ret = HttpAddRequestHeadersA(req, "User-Agent: Gizmo Project\r\n", ~0u, HTTP_ADDREQ_FLAG_ADD_IF_NEW);
ok(ret, "HttpAddRequestHeaders succeeded\n");
size = sizeof(buffer);
- ret = HttpQueryInfo(req, HTTP_QUERY_USER_AGENT | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, NULL);
+ ret = HttpQueryInfoA(req, HTTP_QUERY_USER_AGENT | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, NULL);
err = GetLastError();
ok(ret, "HttpQueryInfo failed\n");
ok(err == ERROR_HTTP_HEADER_NOT_FOUND, "expected ERROR_HTTP_HEADER_NOT_FOUND, got %u\n", err);
InternetCloseHandle(req);
- req = HttpOpenRequest(con, "GET", "/", "HTTP/1.0", NULL, NULL, 0, 0);
+ req = HttpOpenRequestA(con, "GET", "/", "HTTP/1.0", NULL, NULL, 0, 0);
ok(req != NULL, "HttpOpenRequest failed\n");
size = sizeof(buffer);
- ret = HttpQueryInfo(req, HTTP_QUERY_ACCEPT | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, NULL);
+ ret = HttpQueryInfoA(req, HTTP_QUERY_ACCEPT | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, NULL);
err = GetLastError();
ok(!ret, "HttpQueryInfo succeeded\n");
ok(err == ERROR_HTTP_HEADER_NOT_FOUND, "expected ERROR_HTTP_HEADER_NOT_FOUND, got %u\n", err);
- ret = HttpAddRequestHeaders(req, "Accept: audio/*, image/*, text/*\r\nUser-Agent: Gizmo Project\r\n", ~0u, HTTP_ADDREQ_FLAG_ADD_IF_NEW);
+ ret = HttpAddRequestHeadersA(req, "Accept: audio/*, image/*, text/*\r\nUser-Agent: Gizmo Project\r\n", ~0u, HTTP_ADDREQ_FLAG_ADD_IF_NEW);
ok(ret, "HttpAddRequestHeaders failed\n");
buffer[0] = 0;
size = sizeof(buffer);
- ret = HttpQueryInfo(req, HTTP_QUERY_ACCEPT | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, NULL);
+ ret = HttpQueryInfoA(req, HTTP_QUERY_ACCEPT | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, NULL);
ok(ret, "HttpQueryInfo failed: %u\n", GetLastError());
ok(!strcmp(buffer, "audio/*, image/*, text/*"), "got '%s' expected 'audio/*, image/*, text/*'\n", buffer);
char buffer[32];
BOOL ret;
- ses = InternetOpen("MERONG(0.9/;p)", INTERNET_OPEN_TYPE_DIRECT, "", "", 0);
- con = InternetConnect(ses, "www.winehq.org", 80, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
- req = HttpOpenRequest(con, "POST", "/post/post_action.php", "HTTP/1.0", "", types, INTERNET_FLAG_FORMS_SUBMIT, 0);
+ ses = InternetOpenA("MERONG(0.9/;p)", INTERNET_OPEN_TYPE_DIRECT, "", "", 0);
+ con = InternetConnectA(ses, "www.winehq.org", 80, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
+ req = HttpOpenRequestA(con, "POST", "/post/post_action.php", "HTTP/1.0", "", types, INTERNET_FLAG_FORMS_SUBMIT, 0);
ok(req != NULL, "HttpOpenRequest failed: %u\n", GetLastError());
buffer[0] = 0;
size = sizeof(buffer);
SetLastError(0xdeadbeef);
- ret = HttpQueryInfo(req, HTTP_QUERY_ACCEPT | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, NULL);
+ ret = HttpQueryInfoA(req, HTTP_QUERY_ACCEPT | HTTP_QUERY_FLAG_REQUEST_HEADERS, buffer, &size, NULL);
error = GetLastError();
ok(!ret || broken(ret), "HttpQueryInfo succeeded\n");
if (!ret) ok(error == ERROR_HTTP_HEADER_NOT_FOUND, "expected ERROR_HTTP_HEADER_NOT_FOUND, got %u\n", error);
case INTERNET_STATUS_HANDLE_CLOSING: {
DWORD type = INTERNET_HANDLE_TYPE_CONNECT_HTTP, size = sizeof(type);
- if (InternetQueryOption(handle, INTERNET_OPTION_HANDLE_TYPE, &type, &size))
+ if (InternetQueryOptionA(handle, INTERNET_OPTION_HANDLE_TYPE, &type, &size))
ok(type != INTERNET_HANDLE_TYPE_CONNECT_HTTP, "unexpected callback\n");
SetEvent(ctx->event);
break;
}
ctx.req = NULL;
- ctx.event = CreateEvent(NULL, TRUE, FALSE, "Z:_home_hans_jaman-installer.exe_ev1");
+ ctx.event = CreateEventA(NULL, TRUE, FALSE, "Z:_home_hans_jaman-installer.exe_ev1");
- ses = InternetOpen("AdvancedInstaller", 0, NULL, NULL, INTERNET_FLAG_ASYNC);
+ ses = InternetOpenA("AdvancedInstaller", 0, NULL, NULL, INTERNET_FLAG_ASYNC);
ok(ses != NULL, "InternetOpen failed\n");
SetLastError(0xdeadbeef);
pInternetSetStatusCallbackW(ses, cb);
ResetEvent(ctx.event);
- req = InternetOpenUrl(ses, "http://test.winehq.org", NULL, 0, 0, (DWORD_PTR)&ctx);
+ req = InternetOpenUrlA(ses, "http://test.winehq.org", NULL, 0, 0, (DWORD_PTR)&ctx);
ok(!req && GetLastError() == ERROR_IO_PENDING, "InternetOpenUrl failed\n");
WaitForSingleObject(ctx.event, INFINITE);
type = 0;
size = sizeof(type);
- ret = InternetQueryOption(ctx.req, INTERNET_OPTION_HANDLE_TYPE, &type, &size);
+ ret = InternetQueryOptionA(ctx.req, INTERNET_OPTION_HANDLE_TYPE, &type, &size);
ok(ret, "InternetQueryOption failed: %u\n", GetLastError());
ok(type == INTERNET_HANDLE_TYPE_HTTP_REQUEST,
"expected INTERNET_HANDLE_TYPE_HTTP_REQUEST, got %u\n", type);
size = 0;
- ret = HttpQueryInfo(ctx.req, HTTP_QUERY_RAW_HEADERS_CRLF, NULL, &size, NULL);
+ ret = HttpQueryInfoA(ctx.req, HTTP_QUERY_RAW_HEADERS_CRLF, NULL, &size, NULL);
ok(!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER, "HttpQueryInfo failed\n");
ok(size > 0, "expected size > 0\n");
{
enum api function; /* api responsible for notification */
unsigned int status; /* status received */
- int async; /* delivered from another thread? */
- int todo;
- int optional;
+ BOOL async; /* delivered from another thread? */
+ BOOL todo;
+ BOOL optional;
};
struct info
static const struct notification async_send_request_ex_test[] =
{
- { internet_connect, INTERNET_STATUS_HANDLE_CREATED, 0 },
- { http_open_request, INTERNET_STATUS_HANDLE_CREATED, 0 },
- { http_send_request_ex, INTERNET_STATUS_DETECTING_PROXY, 1, 0, 1 },
- { http_send_request_ex, INTERNET_STATUS_COOKIE_SENT, 1, 0, 1 },
- { http_send_request_ex, INTERNET_STATUS_RESOLVING_NAME, 1, 0, 1 },
- { http_send_request_ex, INTERNET_STATUS_NAME_RESOLVED, 1, 0, 1 },
- { http_send_request_ex, INTERNET_STATUS_CONNECTING_TO_SERVER, 1 },
- { http_send_request_ex, INTERNET_STATUS_CONNECTED_TO_SERVER, 1 },
- { http_send_request_ex, INTERNET_STATUS_SENDING_REQUEST, 1 },
- { http_send_request_ex, INTERNET_STATUS_REQUEST_SENT, 1 },
- { http_send_request_ex, INTERNET_STATUS_REQUEST_COMPLETE, 1 },
- { internet_writefile, INTERNET_STATUS_SENDING_REQUEST, 0 },
- { internet_writefile, INTERNET_STATUS_REQUEST_SENT, 0 },
- { http_end_request, INTERNET_STATUS_RECEIVING_RESPONSE, 1 },
- { http_end_request, INTERNET_STATUS_RESPONSE_RECEIVED, 1 },
- { http_end_request, INTERNET_STATUS_REQUEST_COMPLETE, 1 },
- { internet_close_handle, INTERNET_STATUS_CLOSING_CONNECTION, 0, 0, 1 },
- { internet_close_handle, INTERNET_STATUS_CONNECTION_CLOSED, 0, 0, 1 },
- { internet_close_handle, INTERNET_STATUS_HANDLE_CLOSING, 0, },
- { internet_close_handle, INTERNET_STATUS_HANDLE_CLOSING, 0, }
+ { internet_connect, INTERNET_STATUS_HANDLE_CREATED, FALSE },
+ { http_open_request, INTERNET_STATUS_HANDLE_CREATED, FALSE },
+ { http_send_request_ex, INTERNET_STATUS_DETECTING_PROXY, TRUE, FALSE, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_COOKIE_SENT, TRUE, FALSE, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_RESOLVING_NAME, TRUE, FALSE, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_NAME_RESOLVED, TRUE, FALSE, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_CONNECTING_TO_SERVER, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_CONNECTED_TO_SERVER, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_SENDING_REQUEST, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_REQUEST_SENT, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_REQUEST_COMPLETE, TRUE },
+ { internet_writefile, INTERNET_STATUS_SENDING_REQUEST, FALSE },
+ { internet_writefile, INTERNET_STATUS_REQUEST_SENT, FALSE },
+ { http_end_request, INTERNET_STATUS_RECEIVING_RESPONSE, TRUE },
+ { http_end_request, INTERNET_STATUS_RESPONSE_RECEIVED, TRUE },
+ { http_end_request, INTERNET_STATUS_REQUEST_COMPLETE, TRUE },
+ { internet_close_handle, INTERNET_STATUS_CLOSING_CONNECTION, FALSE, FALSE, TRUE },
+ { internet_close_handle, INTERNET_STATUS_CONNECTION_CLOSED, FALSE, FALSE, TRUE },
+ { internet_close_handle, INTERNET_STATUS_HANDLE_CLOSING, FALSE, },
+ { internet_close_handle, INTERNET_STATUS_HANDLE_CLOSING, FALSE, }
};
static const struct notification async_send_request_ex_test2[] =
{
- { internet_connect, INTERNET_STATUS_HANDLE_CREATED, 0 },
- { http_open_request, INTERNET_STATUS_HANDLE_CREATED, 0 },
- { http_send_request_ex, INTERNET_STATUS_DETECTING_PROXY, 1, 0, 1 },
- { http_send_request_ex, INTERNET_STATUS_COOKIE_SENT, 1, 0, 1 },
- { http_send_request_ex, INTERNET_STATUS_RESOLVING_NAME, 1, 0, 1 },
- { http_send_request_ex, INTERNET_STATUS_NAME_RESOLVED, 1, 0, 1 },
- { http_send_request_ex, INTERNET_STATUS_CONNECTING_TO_SERVER, 1, 1 },
- { http_send_request_ex, INTERNET_STATUS_CONNECTED_TO_SERVER, 1, 1 },
- { http_send_request_ex, INTERNET_STATUS_SENDING_REQUEST, 1 },
- { http_send_request_ex, INTERNET_STATUS_REQUEST_SENT, 1 },
- { http_send_request_ex, INTERNET_STATUS_REQUEST_COMPLETE, 1 },
- { http_end_request, INTERNET_STATUS_RECEIVING_RESPONSE, 1 },
- { http_end_request, INTERNET_STATUS_RESPONSE_RECEIVED, 1 },
- { http_end_request, INTERNET_STATUS_REQUEST_COMPLETE, 1 },
- { internet_close_handle, INTERNET_STATUS_CLOSING_CONNECTION, 0, 0, 1 },
- { internet_close_handle, INTERNET_STATUS_CONNECTION_CLOSED, 0, 0, 1 },
- { internet_close_handle, INTERNET_STATUS_HANDLE_CLOSING, 0, },
- { internet_close_handle, INTERNET_STATUS_HANDLE_CLOSING, 0, }
+ { internet_connect, INTERNET_STATUS_HANDLE_CREATED, FALSE },
+ { http_open_request, INTERNET_STATUS_HANDLE_CREATED, FALSE },
+ { http_send_request_ex, INTERNET_STATUS_DETECTING_PROXY, TRUE, FALSE, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_COOKIE_SENT, TRUE, FALSE, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_RESOLVING_NAME, TRUE, FALSE, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_NAME_RESOLVED, TRUE, FALSE, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_CONNECTING_TO_SERVER, TRUE, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_CONNECTED_TO_SERVER, TRUE, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_SENDING_REQUEST, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_REQUEST_SENT, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_REQUEST_COMPLETE, TRUE },
+ { http_end_request, INTERNET_STATUS_RECEIVING_RESPONSE, TRUE },
+ { http_end_request, INTERNET_STATUS_RESPONSE_RECEIVED, TRUE },
+ { http_end_request, INTERNET_STATUS_REQUEST_COMPLETE, TRUE },
+ { internet_close_handle, INTERNET_STATUS_CLOSING_CONNECTION, FALSE, FALSE, TRUE },
+ { internet_close_handle, INTERNET_STATUS_CONNECTION_CLOSED, FALSE, FALSE, TRUE },
+ { internet_close_handle, INTERNET_STATUS_HANDLE_CLOSING, FALSE, },
+ { internet_close_handle, INTERNET_STATUS_HANDLE_CLOSING, FALSE, }
};
static const struct notification async_send_request_ex_resolve_failure_test[] =
{
- { internet_connect, INTERNET_STATUS_HANDLE_CREATED, 0 },
- { http_open_request, INTERNET_STATUS_HANDLE_CREATED, 0 },
- { http_send_request_ex, INTERNET_STATUS_DETECTING_PROXY, 1, 0, 1 },
- { http_send_request_ex, INTERNET_STATUS_RESOLVING_NAME, 1 },
- { http_send_request_ex, INTERNET_STATUS_DETECTING_PROXY, 1, 0, 1 },
- { http_send_request_ex, INTERNET_STATUS_REQUEST_COMPLETE, 1 },
- { http_end_request, INTERNET_STATUS_REQUEST_COMPLETE, 1 },
- { internet_close_handle, INTERNET_STATUS_CLOSING_CONNECTION, 0, 0, 1 },
- { internet_close_handle, INTERNET_STATUS_CONNECTION_CLOSED, 0, 0, 1 },
- { internet_close_handle, INTERNET_STATUS_HANDLE_CLOSING, 0, },
- { internet_close_handle, INTERNET_STATUS_HANDLE_CLOSING, 0, }
+ { internet_connect, INTERNET_STATUS_HANDLE_CREATED, FALSE },
+ { http_open_request, INTERNET_STATUS_HANDLE_CREATED, FALSE },
+ { http_send_request_ex, INTERNET_STATUS_DETECTING_PROXY, TRUE, FALSE, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_RESOLVING_NAME, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_DETECTING_PROXY, TRUE, FALSE, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_REQUEST_COMPLETE, TRUE },
+ { http_end_request, INTERNET_STATUS_REQUEST_COMPLETE, TRUE },
+ { internet_close_handle, INTERNET_STATUS_CLOSING_CONNECTION, FALSE, FALSE, TRUE },
+ { internet_close_handle, INTERNET_STATUS_CONNECTION_CLOSED, FALSE, FALSE, TRUE },
+ { internet_close_handle, INTERNET_STATUS_HANDLE_CLOSING, FALSE, },
+ { internet_close_handle, INTERNET_STATUS_HANDLE_CLOSING, FALSE, }
+};
+
+static const struct notification async_send_request_ex_chunked_test[] =
+{
+ { internet_connect, INTERNET_STATUS_HANDLE_CREATED },
+ { http_open_request, INTERNET_STATUS_HANDLE_CREATED },
+ { http_send_request_ex, INTERNET_STATUS_DETECTING_PROXY, TRUE, FALSE, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_COOKIE_SENT, TRUE, FALSE, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_RESOLVING_NAME, TRUE, FALSE, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_NAME_RESOLVED, TRUE, FALSE, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_CONNECTING_TO_SERVER, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_CONNECTED_TO_SERVER, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_SENDING_REQUEST, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_REQUEST_SENT, TRUE },
+ { http_send_request_ex, INTERNET_STATUS_REQUEST_COMPLETE, TRUE },
+ { http_end_request, INTERNET_STATUS_RECEIVING_RESPONSE, TRUE },
+ { http_end_request, INTERNET_STATUS_RESPONSE_RECEIVED, TRUE },
+ { http_end_request, INTERNET_STATUS_REQUEST_COMPLETE, TRUE },
+ { internet_close_handle, INTERNET_STATUS_CLOSING_CONNECTION },
+ { internet_close_handle, INTERNET_STATUS_CONNECTION_CLOSED },
+ { internet_close_handle, INTERNET_STATUS_HANDLE_CLOSING },
+ { internet_close_handle, INTERNET_STATUS_HANDLE_CLOSING }
};
static const struct notification_data notification_data[] = {
+ {
+ async_send_request_ex_chunked_test,
+ sizeof(async_send_request_ex_chunked_test)/sizeof(async_send_request_ex_chunked_test[0]),
+ "GET",
+ "test.winehq.org",
+ "tests/data.php"
+ },
{
async_send_request_ex_test,
sizeof(async_send_request_ex_test)/sizeof(async_send_request_ex_test[0]),
info.test = nd->test;
info.count = nd->count;
info.index = 0;
- info.wait = CreateEvent( NULL, FALSE, FALSE, NULL );
+ info.wait = CreateEventW( NULL, FALSE, FALSE, NULL );
info.thread = GetCurrentThreadId();
info.is_aborted = FALSE;
- ses = InternetOpen( "winetest", 0, NULL, NULL, INTERNET_FLAG_ASYNC );
+ ses = InternetOpenA( "winetest", 0, NULL, NULL, INTERNET_FLAG_ASYNC );
ok( ses != NULL, "InternetOpen failed\n" );
pInternetSetStatusCallbackA( ses, check_notification );
setup_test( &info, internet_connect, __LINE__, ERROR_SUCCESS );
- con = InternetConnect( ses, nd->host, 80, NULL, NULL, INTERNET_SERVICE_HTTP, 0, (DWORD_PTR)&info );
+ con = InternetConnectA( ses, nd->host, 80, NULL, NULL, INTERNET_SERVICE_HTTP, 0, (DWORD_PTR)&info );
ok( con != NULL, "InternetConnect failed %u\n", GetLastError() );
WaitForSingleObject( info.wait, 10000 );
setup_test( &info, http_open_request, __LINE__, ERROR_SUCCESS );
- req = HttpOpenRequest( con, nd->method, nd->path, NULL, NULL, accept, 0, (DWORD_PTR)&info );
+ req = HttpOpenRequestA( con, nd->method, nd->path, NULL, NULL, accept, 0, (DWORD_PTR)&info );
ok( req != NULL, "HttpOpenRequest failed %u\n", GetLastError() );
WaitForSingleObject( info.wait, 10000 );
ok(request != NULL, "failed to get request handle\n");
SetLastError(0xdeadbeef);
- ret = HttpSendRequest(request, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(request, NULL, 0, NULL, 0);
error = GetLastError();
ok(!ret, "unexpected success\n");
ok(error == ERROR_INTERNET_CANNOT_CONNECT, "wrong error %u\n", error);
DWORD error;
BOOL ret;
- session = InternetOpen("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
+ session = InternetOpenA("winetest", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
ok(session != NULL, "InternetOpen failed\n");
- connect = InternetConnect(session, "test.winehq.org", INTERNET_INVALID_PORT_NUMBER, NULL, NULL,
+ connect = InternetConnectA(session, "test.winehq.org", INTERNET_INVALID_PORT_NUMBER, NULL, NULL,
INTERNET_SERVICE_HTTP, 0, 0);
ok(connect != NULL, "InternetConnect failed\n");
- request = HttpOpenRequest(connect, NULL, "/", NULL, NULL, NULL, INTERNET_FLAG_SECURE, 0);
+ request = HttpOpenRequestA(connect, NULL, "/", NULL, NULL, NULL, INTERNET_FLAG_SECURE, 0);
ok(request != NULL, "HttpOpenRequest failed\n");
SetLastError(0xdeadbeef);
- ret = HttpSendRequest(request, NULL, 0, NULL, 0);
+ ret = HttpSendRequestA(request, NULL, 0, NULL, 0);
error = GetLastError();
ok(!ret, "HttpSendRequest succeeded\n");
ok(error == ERROR_INTERNET_SECURITY_CHANNEL_ERROR || error == ERROR_INTERNET_CANNOT_CONNECT,
test_async_HttpSendRequestEx(¬ification_data[0]);
test_async_HttpSendRequestEx(¬ification_data[1]);
test_async_HttpSendRequestEx(¬ification_data[2]);
+ test_async_HttpSendRequestEx(¬ification_data[3]);
InternetOpenRequest_test();
test_http_cache();
+ InternetLockRequestFile_test();
InternetOpenUrlA_test();
HttpHeaders_test();
test_http_connection();
static char filenameA[MAX_PATH + 1];
static char filenameA1[MAX_PATH + 1];
static BOOL old_ie = FALSE;
+static BOOL ie10_cache = FALSE;
-static void check_cache_entry_infoA(const char *returnedfrom, LPINTERNET_CACHE_ENTRY_INFO lpCacheEntryInfo)
+static void check_cache_entry_infoA(const char *returnedfrom, INTERNET_CACHE_ENTRY_INFOA *lpCacheEntryInfo)
{
ok(lpCacheEntryInfo->dwStructSize == sizeof(*lpCacheEntryInfo), "%s: dwStructSize was %d\n", returnedfrom, lpCacheEntryInfo->dwStructSize);
ok(!strcmp(lpCacheEntryInfo->lpszSourceUrlName, test_url), "%s: lpszSourceUrlName should be %s instead of %s\n", returnedfrom, test_url, lpCacheEntryInfo->lpszSourceUrlName);
BOOL found = FALSE;
DWORD cbCacheEntryInfo;
DWORD cbCacheEntryInfoSaved;
- LPINTERNET_CACHE_ENTRY_INFO lpCacheEntryInfo;
+ INTERNET_CACHE_ENTRY_INFOA *lpCacheEntryInfo;
cbCacheEntryInfo = 0;
SetLastError(0xdeadbeef);
- hEnumHandle = FindFirstUrlCacheEntry(NULL, NULL, &cbCacheEntryInfo);
+ hEnumHandle = FindFirstUrlCacheEntryA(NULL, NULL, &cbCacheEntryInfo);
ok(!hEnumHandle, "FindFirstUrlCacheEntry should have failed\n");
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "FindFirstUrlCacheEntry should have set last error to ERROR_INSUFFICIENT_BUFFER instead of %d\n", GetLastError());
lpCacheEntryInfo = HeapAlloc(GetProcessHeap(), 0, cbCacheEntryInfo * sizeof(char));
cbCacheEntryInfoSaved = cbCacheEntryInfo;
- hEnumHandle = FindFirstUrlCacheEntry(NULL, lpCacheEntryInfo, &cbCacheEntryInfo);
+ hEnumHandle = FindFirstUrlCacheEntryA(NULL, lpCacheEntryInfo, &cbCacheEntryInfo);
ok(hEnumHandle != NULL, "FindFirstUrlCacheEntry failed with error %d\n", GetLastError());
while (TRUE)
{
}
SetLastError(0xdeadbeef);
cbCacheEntryInfo = cbCacheEntryInfoSaved;
- ret = FindNextUrlCacheEntry(hEnumHandle, lpCacheEntryInfo, &cbCacheEntryInfo);
+ ret = FindNextUrlCacheEntryA(hEnumHandle, lpCacheEntryInfo, &cbCacheEntryInfo);
if (!ret)
{
if (GetLastError() == ERROR_INSUFFICIENT_BUFFER)
{
lpCacheEntryInfo = HeapReAlloc(GetProcessHeap(), 0, lpCacheEntryInfo, cbCacheEntryInfo);
cbCacheEntryInfoSaved = cbCacheEntryInfo;
- ret = FindNextUrlCacheEntry(hEnumHandle, lpCacheEntryInfo, &cbCacheEntryInfo);
+ ret = FindNextUrlCacheEntryA(hEnumHandle, lpCacheEntryInfo, &cbCacheEntryInfo);
}
}
if (!ret)
{
BOOL ret;
DWORD cbCacheEntryInfo, cbRedirectUrl;
- LPINTERNET_CACHE_ENTRY_INFO lpCacheEntryInfo;
+ INTERNET_CACHE_ENTRY_INFOA *lpCacheEntryInfo;
SetLastError(0xdeadbeef);
- ret = GetUrlCacheEntryInfoEx(NULL, NULL, NULL, NULL, NULL, NULL, 0);
+ ret = GetUrlCacheEntryInfoExA(NULL, NULL, NULL, NULL, NULL, NULL, 0);
ok(!ret, "GetUrlCacheEntryInfoEx with NULL URL and NULL args should have failed\n");
ok(GetLastError() == ERROR_INVALID_PARAMETER,
"GetUrlCacheEntryInfoEx with NULL URL and NULL args should have set last error to ERROR_INVALID_PARAMETER instead of %d\n", GetLastError());
- cbCacheEntryInfo = sizeof(INTERNET_CACHE_ENTRY_INFO);
+ cbCacheEntryInfo = sizeof(INTERNET_CACHE_ENTRY_INFOA);
SetLastError(0xdeadbeef);
- ret = GetUrlCacheEntryInfoEx("", NULL, &cbCacheEntryInfo, NULL, NULL, NULL, 0);
+ ret = GetUrlCacheEntryInfoExA("", NULL, &cbCacheEntryInfo, NULL, NULL, NULL, 0);
ok(!ret, "GetUrlCacheEntryInfoEx with zero-length buffer should fail\n");
ok(GetLastError() == ERROR_FILE_NOT_FOUND,
"GetUrlCacheEntryInfoEx should have set last error to ERROR_FILE_NOT_FOUND instead of %d\n", GetLastError());
- ret = GetUrlCacheEntryInfoEx(test_url, NULL, NULL, NULL, NULL, NULL, 0);
+ ret = GetUrlCacheEntryInfoExA(test_url, NULL, NULL, NULL, NULL, NULL, 0);
ok(ret, "GetUrlCacheEntryInfoEx with NULL args failed with error %d\n", GetLastError());
cbCacheEntryInfo = 0;
SetLastError(0xdeadbeef);
- ret = GetUrlCacheEntryInfoEx(test_url, NULL, &cbCacheEntryInfo, NULL, NULL, NULL, 0);
+ ret = GetUrlCacheEntryInfoExA(test_url, NULL, &cbCacheEntryInfo, NULL, NULL, NULL, 0);
ok(!ret, "GetUrlCacheEntryInfoEx with zero-length buffer should fail\n");
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER,
"GetUrlCacheEntryInfoEx should have set last error to ERROR_INSUFFICIENT_BUFFER instead of %d\n", GetLastError());
lpCacheEntryInfo = HeapAlloc(GetProcessHeap(), 0, cbCacheEntryInfo);
SetLastError(0xdeadbeef);
- ret = GetUrlCacheEntryInfoEx(test_url, NULL, NULL, NULL, NULL, NULL, 0x200 /*GET_INSTALLED_ENTRY*/);
- ok(!ret, "GetUrlCacheEntryInfoEx succeeded\n");
- ok(GetLastError() == ERROR_FILE_NOT_FOUND,
- "GetUrlCacheEntryInfoEx should have set last error to ERROR_FILE_NOT_FOUND instead of %d\n", GetLastError());
+ ret = GetUrlCacheEntryInfoExA(test_url, NULL, NULL, NULL, NULL, NULL, 0x200 /*GET_INSTALLED_ENTRY*/);
+ ok(ret == ie10_cache, "GetUrlCacheEntryInfoEx returned %x\n", ret);
+ if (!ret) ok(GetLastError() == ERROR_FILE_NOT_FOUND,
+ "GetUrlCacheEntryInfoEx should have set last error to ERROR_FILE_NOT_FOUND instead of %d\n", GetLastError());
/* Unicode version of function seems to ignore 0x200 flag */
ret = GetUrlCacheEntryInfoExW(test_urlW, NULL, NULL, NULL, NULL, NULL, 0x200 /*GET_INSTALLED_ENTRY*/);
ok(ret || broken(old_ie && !ret), "GetUrlCacheEntryInfoExW failed with error %d\n", GetLastError());
- ret = GetUrlCacheEntryInfoEx(test_url, lpCacheEntryInfo, &cbCacheEntryInfo, NULL, NULL, NULL, 0);
+ ret = GetUrlCacheEntryInfoExA(test_url, lpCacheEntryInfo, &cbCacheEntryInfo, NULL, NULL, NULL, 0);
ok(ret, "GetUrlCacheEntryInfoEx failed with error %d\n", GetLastError());
if (ret) check_cache_entry_infoA("GetUrlCacheEntryInfoEx", lpCacheEntryInfo);
ok(ret, "SetUrlCacheEntryInfoA failed with error %d\n", GetLastError());
SetLastError(0xdeadbeef);
- ret = GetUrlCacheEntryInfoEx(test_url, NULL, NULL, NULL, NULL, NULL, 0x200 /*GET_INSTALLED_ENTRY*/);
+ ret = GetUrlCacheEntryInfoExA(test_url, NULL, NULL, NULL, NULL, NULL, 0x200 /*GET_INSTALLED_ENTRY*/);
ok(ret, "GetUrlCacheEntryInfoEx failed with error %d\n", GetLastError());
cbCacheEntryInfo = 100000;
SetLastError(0xdeadbeef);
- ret = GetUrlCacheEntryInfoEx(test_url, NULL, &cbCacheEntryInfo, NULL, NULL, NULL, 0);
+ ret = GetUrlCacheEntryInfoExA(test_url, NULL, &cbCacheEntryInfo, NULL, NULL, NULL, 0);
ok(!ret, "GetUrlCacheEntryInfoEx with zero-length buffer should fail\n");
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "GetUrlCacheEntryInfoEx should have set last error to ERROR_INSUFFICIENT_BUFFER instead of %d\n", GetLastError());
/* Querying the redirect URL fails with ERROR_INVALID_PARAMETER */
SetLastError(0xdeadbeef);
- ret = GetUrlCacheEntryInfoEx(test_url, NULL, NULL, NULL, &cbRedirectUrl, NULL, 0);
+ ret = GetUrlCacheEntryInfoExA(test_url, NULL, NULL, NULL, &cbRedirectUrl, NULL, 0);
ok(!ret, "GetUrlCacheEntryInfoEx should have failed\n");
ok(GetLastError() == ERROR_INVALID_PARAMETER,
"expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
SetLastError(0xdeadbeef);
- ret = GetUrlCacheEntryInfoEx(test_url, NULL, &cbCacheEntryInfo, NULL, &cbRedirectUrl, NULL, 0);
+ ret = GetUrlCacheEntryInfoExA(test_url, NULL, &cbCacheEntryInfo, NULL, &cbRedirectUrl, NULL, 0);
ok(!ret, "GetUrlCacheEntryInfoEx should have failed\n");
ok(GetLastError() == ERROR_INVALID_PARAMETER,
"expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
cbCacheEntryInfo = 0;
SetLastError(0xdeadbeef);
- ret = RetrieveUrlCacheEntryFile(NULL, NULL, &cbCacheEntryInfo, 0);
+ ret = RetrieveUrlCacheEntryFileA(NULL, NULL, &cbCacheEntryInfo, 0);
ok(!ret, "RetrieveUrlCacheEntryFile should have failed\n");
ok(GetLastError() == ERROR_INVALID_PARAMETER, "RetrieveUrlCacheEntryFile should have set last error to ERROR_INVALID_PARAMETER instead of %d\n", GetLastError());
{
/* Crashes on Win9x, NT4 and W2K */
SetLastError(0xdeadbeef);
- ret = RetrieveUrlCacheEntryFile(test_url, NULL, NULL, 0);
+ ret = RetrieveUrlCacheEntryFileA(test_url, NULL, NULL, 0);
ok(!ret, "RetrieveUrlCacheEntryFile should have failed\n");
ok(GetLastError() == ERROR_INVALID_PARAMETER, "RetrieveUrlCacheEntryFile should have set last error to ERROR_INVALID_PARAMETER instead of %d\n", GetLastError());
}
SetLastError(0xdeadbeef);
cbCacheEntryInfo = 100000;
- ret = RetrieveUrlCacheEntryFile(NULL, NULL, &cbCacheEntryInfo, 0);
+ ret = RetrieveUrlCacheEntryFileA(NULL, NULL, &cbCacheEntryInfo, 0);
ok(!ret, "RetrieveUrlCacheEntryFile should have failed\n");
ok(GetLastError() == ERROR_INVALID_PARAMETER, "RetrieveUrlCacheEntryFile should have set last error to ERROR_INVALID_PARAMETER instead of %d\n", GetLastError());
}
BOOL ret;
FILETIME ft;
DWORD size;
- LPINTERNET_CACHE_ENTRY_INFO info;
+ INTERNET_CACHE_ENTRY_INFOA *info;
ULARGE_INTEGER exp_time;
/* The function returns TRUE when the output time is NULL or the tested URL
* is NULL.
*/
ret = IsUrlCacheEntryExpiredA(NULL, 0, NULL);
- ok(ret, "expected TRUE\n");
+ ok(!ret == ie10_cache, "IsUrlCacheEntryExpiredA returned %x\n", ret);
ft.dwLowDateTime = 0xdeadbeef;
ft.dwHighDateTime = 0xbaadf00d;
ret = IsUrlCacheEntryExpiredA(NULL, 0, &ft);
- ok(ret, "expected TRUE\n");
+ ok(!ret == ie10_cache, "IsUrlCacheEntryExpiredA returned %x\n", ret);
ok(ft.dwLowDateTime == 0xdeadbeef && ft.dwHighDateTime == 0xbaadf00d,
"expected time to be unchanged, got (%u,%u)\n",
ft.dwLowDateTime, ft.dwHighDateTime);
ret = IsUrlCacheEntryExpiredA(test_url, 0, NULL);
- ok(ret, "expected TRUE\n");
+ ok(!ret == ie10_cache, "IsUrlCacheEntryExpiredA returned %x\n", ret);
/* The return value should indicate whether the URL is expired,
* and the filetime indicates the last modified time, but a cache entry
ft.dwLowDateTime, ft.dwHighDateTime);
/* Set the expire time to a point in the past.. */
- ret = GetUrlCacheEntryInfo(test_url, NULL, &size);
+ ret = GetUrlCacheEntryInfoA(test_url, NULL, &size);
ok(!ret, "GetUrlCacheEntryInfo should have failed\n");
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER,
"expected ERROR_INSUFFICIENT_BUFFER, got %d\n", GetLastError());
info = HeapAlloc(GetProcessHeap(), 0, size);
- ret = GetUrlCacheEntryInfo(test_url, info, &size);
+ ret = GetUrlCacheEntryInfoA(test_url, info, &size);
ok(ret, "GetUrlCacheEntryInfo failed: %d\n", GetLastError());
GetSystemTimeAsFileTime(&info->ExpireTime);
exp_time.u.LowPart = info->ExpireTime.dwLowDateTime;
exp_time.QuadPart -= 10 * 60 * (ULONGLONG)10000000;
info->ExpireTime.dwLowDateTime = exp_time.u.LowPart;
info->ExpireTime.dwHighDateTime = exp_time.u.HighPart;
- ret = SetUrlCacheEntryInfo(test_url, info, CACHE_ENTRY_EXPTIME_FC);
+ ret = SetUrlCacheEntryInfoA(test_url, info, CACHE_ENTRY_EXPTIME_FC);
ok(ret, "SetUrlCacheEntryInfo failed: %d\n", GetLastError());
ft.dwLowDateTime = 0xdeadbeef;
ft.dwHighDateTime = 0xbaadf00d;
exp_time.QuadPart += 20 * 60 * (ULONGLONG)10000000;
info->ExpireTime.dwLowDateTime = exp_time.u.LowPart;
info->ExpireTime.dwHighDateTime = exp_time.u.HighPart;
- ret = SetUrlCacheEntryInfo(test_url, info, CACHE_ENTRY_EXPTIME_FC);
+ ret = SetUrlCacheEntryInfoA(test_url, info, CACHE_ENTRY_EXPTIME_FC);
ok(ret, "SetUrlCacheEntryInfo failed: %d\n", GetLastError());
ft.dwLowDateTime = 0xdeadbeef;
ft.dwHighDateTime = 0xbaadf00d;
ft.dwLowDateTime, ft.dwHighDateTime);
/* Set the modified time... */
GetSystemTimeAsFileTime(&info->LastModifiedTime);
- ret = SetUrlCacheEntryInfo(test_url, info, CACHE_ENTRY_MODTIME_FC);
+ ret = SetUrlCacheEntryInfoA(test_url, info, CACHE_ENTRY_MODTIME_FC);
ok(ret, "SetUrlCacheEntryInfo failed: %d\n", GetLastError());
/* and the entry should still be unexpired.. */
ret = IsUrlCacheEntryExpiredA(test_url, 0, &ft);
ft.dwLowDateTime = 0xdeadbeef;
ft.dwHighDateTime = 0xbaadf00d;
ret = IsUrlCacheEntryExpiredA(uncached_url, 0, &ft);
- ok(ret, "expected TRUE\n");
+ ok(!ret == ie10_cache, "IsUrlCacheEntryExpiredA returned %x\n", ret);
ok(!ft.dwLowDateTime && !ft.dwHighDateTime,
"expected time (0,0), got (%u,%u)\n",
ft.dwLowDateTime, ft.dwHighDateTime);
BOOL ret;
HANDLE hFile;
BYTE zero_byte = 0;
- LPINTERNET_CACHE_ENTRY_INFO lpCacheEntryInfo;
- LPINTERNET_CACHE_ENTRY_INFO lpCacheEntryInfo2;
+ INTERNET_CACHE_ENTRY_INFOA *lpCacheEntryInfo;
+ INTERNET_CACHE_ENTRY_INFOA *lpCacheEntryInfo2;
DWORD cbCacheEntryInfo;
static const FILETIME filetime_zero;
FILETIME now;
- ret = CreateUrlCacheEntry(test_url, 0, "html", filenameA, 0);
+ ret = CreateUrlCacheEntryA(test_url, 0, "html", filenameA, 0);
ok(ret, "CreateUrlCacheEntry failed with error %d\n", GetLastError());
- ret = CreateUrlCacheEntry(test_url, 0, "html", filenameA1, 0);
+ ret = CreateUrlCacheEntryA(test_url, 0, "html", filenameA1, 0);
ok(ret, "CreateUrlCacheEntry failed with error %d\n", GetLastError());
check_file_exists(filenameA1);
DeleteFileA(filenameA1);
create_and_write_file(filenameA, &zero_byte, sizeof(zero_byte));
- ret = CommitUrlCacheEntry(test_url1, NULL, filetime_zero, filetime_zero, NORMAL_CACHE_ENTRY, NULL, 0, "html", NULL);
+ ret = CommitUrlCacheEntryA(test_url1, NULL, filetime_zero, filetime_zero, NORMAL_CACHE_ENTRY, NULL, 0, "html", NULL);
ok(ret, "CommitUrlCacheEntry failed with error %d\n", GetLastError());
cbCacheEntryInfo = 0;
- ret = GetUrlCacheEntryInfo(test_url1, NULL, &cbCacheEntryInfo);
+ ret = GetUrlCacheEntryInfoA(test_url1, NULL, &cbCacheEntryInfo);
ok(!ret, "GetUrlCacheEntryInfo should have failed\n");
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER,
"GetUrlCacheEntryInfo should have set last error to ERROR_INSUFFICIENT_BUFFER instead of %d\n", GetLastError());
lpCacheEntryInfo = HeapAlloc(GetProcessHeap(), 0, cbCacheEntryInfo);
- ret = GetUrlCacheEntryInfo(test_url1, lpCacheEntryInfo, &cbCacheEntryInfo);
+ ret = GetUrlCacheEntryInfoA(test_url1, lpCacheEntryInfo, &cbCacheEntryInfo);
ok(ret, "GetUrlCacheEntryInfo failed with error %d\n", GetLastError());
ok(!memcmp(&lpCacheEntryInfo->ExpireTime, &filetime_zero, sizeof(FILETIME)),
"expected zero ExpireTime\n");
/* A subsequent commit with a different time/type doesn't change most of the entry */
GetSystemTimeAsFileTime(&now);
- ret = CommitUrlCacheEntry(test_url1, NULL, now, now, NORMAL_CACHE_ENTRY,
+ ret = CommitUrlCacheEntryA(test_url1, NULL, now, now, NORMAL_CACHE_ENTRY,
(LPBYTE)ok_header, strlen(ok_header), NULL, NULL);
ok(ret, "CommitUrlCacheEntry failed with error %d\n", GetLastError());
cbCacheEntryInfo = 0;
- ret = GetUrlCacheEntryInfo(test_url1, NULL, &cbCacheEntryInfo);
+ ret = GetUrlCacheEntryInfoA(test_url1, NULL, &cbCacheEntryInfo);
ok(!ret, "GetUrlCacheEntryInfo should have failed\n");
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER,
"expected ERROR_INSUFFICIENT_BUFFER, got %d\n", GetLastError());
lpCacheEntryInfo2 = HeapAlloc(GetProcessHeap(), 0, cbCacheEntryInfo);
- ret = GetUrlCacheEntryInfo(test_url1, lpCacheEntryInfo2, &cbCacheEntryInfo);
+ ret = GetUrlCacheEntryInfoA(test_url1, lpCacheEntryInfo2, &cbCacheEntryInfo);
ok(ret, "GetUrlCacheEntryInfo failed with error %d\n", GetLastError());
/* but it does change the time.. */
ok(memcmp(&lpCacheEntryInfo2->ExpireTime, &filetime_zero, sizeof(FILETIME)),
HeapFree(GetProcessHeap(), 0, lpCacheEntryInfo);
HeapFree(GetProcessHeap(), 0, lpCacheEntryInfo2);
- ret = CommitUrlCacheEntry(test_url, filenameA, filetime_zero, filetime_zero, NORMAL_CACHE_ENTRY, NULL, 0, "html", NULL);
+ ret = CommitUrlCacheEntryA(test_url, filenameA, filetime_zero, filetime_zero, NORMAL_CACHE_ENTRY, NULL, 0, "html", NULL);
ok(ret, "CommitUrlCacheEntry failed with error %d\n", GetLastError());
cbCacheEntryInfo = 0;
SetLastError(0xdeadbeef);
- ret = RetrieveUrlCacheEntryFile(test_url, NULL, &cbCacheEntryInfo, 0);
+ ret = RetrieveUrlCacheEntryFileA(test_url, NULL, &cbCacheEntryInfo, 0);
ok(!ret, "RetrieveUrlCacheEntryFile should have failed\n");
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER,
"RetrieveUrlCacheEntryFile should have set last error to ERROR_INSUFFICIENT_BUFFER instead of %d\n", GetLastError());
lpCacheEntryInfo = HeapAlloc(GetProcessHeap(), 0, cbCacheEntryInfo);
- ret = RetrieveUrlCacheEntryFile(test_url, lpCacheEntryInfo, &cbCacheEntryInfo, 0);
+ ret = RetrieveUrlCacheEntryFileA(test_url, lpCacheEntryInfo, &cbCacheEntryInfo, 0);
ok(ret, "RetrieveUrlCacheEntryFile failed with error %d\n", GetLastError());
if (ret) check_cache_entry_infoA("RetrieveUrlCacheEntryFile", lpCacheEntryInfo);
cbCacheEntryInfo = 0;
SetLastError(0xdeadbeef);
- ret = RetrieveUrlCacheEntryFile(test_url1, NULL, &cbCacheEntryInfo, 0);
+ ret = RetrieveUrlCacheEntryFileA(test_url1, NULL, &cbCacheEntryInfo, 0);
ok(!ret, "RetrieveUrlCacheEntryFile should have failed\n");
- ok(GetLastError() == ERROR_INVALID_DATA,
+ ok(GetLastError() == ERROR_INVALID_DATA || GetLastError() == ERROR_INSUFFICIENT_BUFFER,
"RetrieveUrlCacheEntryFile should have set last error to ERROR_INVALID_DATA instead of %d\n", GetLastError());
if (pUnlockUrlCacheEntryFileA)
}
SetLastError(0xdeadbeef);
- ret = DeleteFile(filenameA);
+ ret = DeleteFileA(filenameA);
ok(!ret && GetLastError() == ERROR_FILE_NOT_FOUND, "local file should no longer exist\n");
/* Creating two entries with the same URL */
- ret = CreateUrlCacheEntry(test_url, 0, "html", filenameA, 0);
+ ret = CreateUrlCacheEntryA(test_url, 0, "html", filenameA, 0);
ok(ret, "CreateUrlCacheEntry failed with error %d\n", GetLastError());
- ret = CreateUrlCacheEntry(test_url, 0, "html", filenameA1, 0);
+ ret = CreateUrlCacheEntryA(test_url, 0, "html", filenameA1, 0);
ok(ret, "CreateUrlCacheEntry failed with error %d\n", GetLastError());
ok(lstrcmpiA(filenameA, filenameA1), "expected a different file name\n");
check_file_exists(filenameA);
check_file_exists(filenameA1);
- ret = CommitUrlCacheEntry(test_url, filenameA, filetime_zero,
+ ret = CommitUrlCacheEntryA(test_url, filenameA, filetime_zero,
filetime_zero, NORMAL_CACHE_ENTRY, (LPBYTE)ok_header,
strlen(ok_header), "html", NULL);
ok(ret, "CommitUrlCacheEntry failed with error %d\n", GetLastError());
check_file_exists(filenameA);
check_file_exists(filenameA1);
- ret = CommitUrlCacheEntry(test_url, filenameA1, filetime_zero,
+ ret = CommitUrlCacheEntryA(test_url, filenameA1, filetime_zero,
filetime_zero, COOKIE_CACHE_ENTRY, NULL, 0, "html", NULL);
ok(ret, "CommitUrlCacheEntry failed with error %d\n", GetLastError());
/* By committing the same URL a second time, the prior entry is
*/
cbCacheEntryInfo = 0;
SetLastError(0xdeadbeef);
- ret = GetUrlCacheEntryInfo(test_url, NULL, &cbCacheEntryInfo);
+ ret = GetUrlCacheEntryInfoA(test_url, NULL, &cbCacheEntryInfo);
ok(!ret, "GetUrlCacheEntryInfo should have failed\n");
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER,
"expected ERROR_INSUFFICIENT_BUFFER, got %d\n", GetLastError());
lpCacheEntryInfo = HeapAlloc(GetProcessHeap(), 0, cbCacheEntryInfo);
- ret = GetUrlCacheEntryInfo(test_url, lpCacheEntryInfo, &cbCacheEntryInfo);
+ ret = GetUrlCacheEntryInfoA(test_url, lpCacheEntryInfo, &cbCacheEntryInfo);
ok(ret, "GetUrlCacheEntryInfo failed with error %d\n", GetLastError());
/* with the previous entry type retained.. */
ok(lpCacheEntryInfo->CacheEntryType & NORMAL_CACHE_ENTRY,
/* Check whether a retrieved cache entry can be deleted before it's
* unlocked:
*/
- ret = CreateUrlCacheEntry(test_url, 0, "html", filenameA, 0);
+ ret = CreateUrlCacheEntryA(test_url, 0, "html", filenameA, 0);
ok(ret, "CreateUrlCacheEntry failed with error %d\n", GetLastError());
- ret = CommitUrlCacheEntry(test_url, filenameA, filetime_zero, filetime_zero,
+ ret = CommitUrlCacheEntryA(test_url, filenameA, filetime_zero, filetime_zero,
NORMAL_CACHE_ENTRY, NULL, 0, "html", NULL);
ok(ret, "CommitUrlCacheEntry failed with error %d\n", GetLastError());
cbCacheEntryInfo = 0;
SetLastError(0xdeadbeef);
- ret = RetrieveUrlCacheEntryFile(test_url, NULL, &cbCacheEntryInfo, 0);
+ ret = RetrieveUrlCacheEntryFileA(test_url, NULL, &cbCacheEntryInfo, 0);
ok(!ret, "RetrieveUrlCacheEntryFile should have failed\n");
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER,
"expected ERROR_INSUFFICIENT_BUFFER, got %d\n", GetLastError());
lpCacheEntryInfo = HeapAlloc(GetProcessHeap(), 0, cbCacheEntryInfo);
- ret = RetrieveUrlCacheEntryFile(test_url, lpCacheEntryInfo,
+ ret = RetrieveUrlCacheEntryFileA(test_url, lpCacheEntryInfo,
&cbCacheEntryInfo, 0);
ok(ret, "RetrieveUrlCacheEntryFile failed with error %d\n", GetLastError());
lpCacheEntryInfo = HeapAlloc(GetProcessHeap(), 0, cbCacheEntryInfo);
memset(lpCacheEntryInfo, 0, cbCacheEntryInfo);
- ret = GetUrlCacheEntryInfo(test_url, lpCacheEntryInfo, &cbCacheEntryInfo);
+ ret = GetUrlCacheEntryInfoA(test_url, lpCacheEntryInfo, &cbCacheEntryInfo);
ok(ret, "GetUrlCacheEntryInfo failed with error %d\n", GetLastError());
ok(lpCacheEntryInfo->CacheEntryType & 0x400000,
"CacheEntryType hasn't PENDING_DELETE_CACHE_ENTRY set, (flags %08x)\n",
/* Test whether preventing a file from being deleted causes
* DeleteUrlCacheEntryA to fail.
*/
- ret = CreateUrlCacheEntry(test_url, 0, "html", filenameA, 0);
+ ret = CreateUrlCacheEntryA(test_url, 0, "html", filenameA, 0);
ok(ret, "CreateUrlCacheEntry failed with error %d\n", GetLastError());
create_and_write_file(filenameA, &zero_byte, sizeof(zero_byte));
check_file_exists(filenameA);
- ret = CommitUrlCacheEntry(test_url, filenameA, filetime_zero,
+ ret = CommitUrlCacheEntryA(test_url, filenameA, filetime_zero,
filetime_zero, NORMAL_CACHE_ENTRY, (LPBYTE)ok_header,
strlen(ok_header), "html", NULL);
ok(ret, "CommitUrlCacheEntry failed with error %d\n", GetLastError());
* must have been set already.
*/
SetLastError(0xdeadbeef);
- ret = CommitUrlCacheEntry(test_url, NULL, filetime_zero, filetime_zero,
+ ret = CommitUrlCacheEntryA(test_url, NULL, filetime_zero, filetime_zero,
STICKY_CACHE_ENTRY, (LPBYTE)ok_header, strlen(ok_header), "html",
NULL);
- ok(!ret, "expected failure\n");
- ok(GetLastError() == ERROR_INVALID_PARAMETER,
- "expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
+ ok(ret == ie10_cache, "CommitUrlCacheEntryA returned %x\n", ret);
+ if (!ret) ok(GetLastError() == ERROR_INVALID_PARAMETER,
+ "expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
SetLastError(0xdeadbeef);
- ret = CommitUrlCacheEntry(test_url, NULL, filetime_zero, filetime_zero,
+ ret = CommitUrlCacheEntryA(test_url, NULL, filetime_zero, filetime_zero,
NORMAL_CACHE_ENTRY|STICKY_CACHE_ENTRY,
(LPBYTE)ok_header, strlen(ok_header), "html", NULL);
- ok(!ret, "expected failure\n");
- ok(GetLastError() == ERROR_INVALID_PARAMETER,
- "expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
+ ok(ret == ie10_cache, "CommitUrlCacheEntryA returned %x\n", ret);
+ if (!ret) ok(GetLastError() == ERROR_INVALID_PARAMETER,
+ "expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
- ret = CreateUrlCacheEntry(test_url, 0, "html", filenameA, 0);
+ ret = CreateUrlCacheEntryA(test_url, 0, "html", filenameA, 0);
ok(ret, "CreateUrlCacheEntry failed with error %d\n", GetLastError());
create_and_write_file(filenameA, &zero_byte, sizeof(zero_byte));
- ret = CommitUrlCacheEntry(test_url, filenameA, filetime_zero, filetime_zero,
+ ret = CommitUrlCacheEntryA(test_url, filenameA, filetime_zero, filetime_zero,
NORMAL_CACHE_ENTRY|STICKY_CACHE_ENTRY,
(LPBYTE)ok_header, strlen(ok_header), "html", NULL);
ok(ret, "CommitUrlCacheEntry failed with error %d\n", GetLastError());
cbCacheEntryInfo = 0;
SetLastError(0xdeadbeef);
- ret = GetUrlCacheEntryInfo(test_url, NULL, &cbCacheEntryInfo);
+ ret = GetUrlCacheEntryInfoA(test_url, NULL, &cbCacheEntryInfo);
ok(!ret, "GetUrlCacheEntryInfo should have failed\n");
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER,
"expected ERROR_INSUFFICIENT_BUFFER, got %d\n", GetLastError());
lpCacheEntryInfo = HeapAlloc(GetProcessHeap(), 0, cbCacheEntryInfo);
- ret = GetUrlCacheEntryInfo(test_url, lpCacheEntryInfo, &cbCacheEntryInfo);
+ ret = GetUrlCacheEntryInfoA(test_url, lpCacheEntryInfo, &cbCacheEntryInfo);
ok(ret, "GetUrlCacheEntryInfo failed with error %d\n", GetLastError());
ok(lpCacheEntryInfo->CacheEntryType & (NORMAL_CACHE_ENTRY|STICKY_CACHE_ENTRY),
"expected cache entry type NORMAL_CACHE_ENTRY | STICKY_CACHE_ENTRY, got %d (0x%08x)\n",
check_file_not_exists(filenameA);
}
/* Test once again, setting the exempt delta via SetUrlCacheEntryInfo */
- ret = CreateUrlCacheEntry(test_url, 0, "html", filenameA, 0);
+ ret = CreateUrlCacheEntryA(test_url, 0, "html", filenameA, 0);
ok(ret, "CreateUrlCacheEntry failed with error %d\n", GetLastError());
create_and_write_file(filenameA, &zero_byte, sizeof(zero_byte));
- ret = CommitUrlCacheEntry(test_url, filenameA, filetime_zero, filetime_zero,
+ ret = CommitUrlCacheEntryA(test_url, filenameA, filetime_zero, filetime_zero,
NORMAL_CACHE_ENTRY|STICKY_CACHE_ENTRY,
(LPBYTE)ok_header, strlen(ok_header), "html", NULL);
ok(ret, "CommitUrlCacheEntry failed with error %d\n", GetLastError());
cbCacheEntryInfo = 0;
SetLastError(0xdeadbeef);
- ret = GetUrlCacheEntryInfo(test_url, NULL, &cbCacheEntryInfo);
+ ret = GetUrlCacheEntryInfoA(test_url, NULL, &cbCacheEntryInfo);
ok(!ret, "GetUrlCacheEntryInfo should have failed\n");
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER,
"expected ERROR_INSUFFICIENT_BUFFER, got %d\n", GetLastError());
lpCacheEntryInfo = HeapAlloc(GetProcessHeap(), 0, cbCacheEntryInfo);
- ret = GetUrlCacheEntryInfo(test_url, lpCacheEntryInfo, &cbCacheEntryInfo);
+ ret = GetUrlCacheEntryInfoA(test_url, lpCacheEntryInfo, &cbCacheEntryInfo);
ok(ret, "GetUrlCacheEntryInfo failed with error %d\n", GetLastError());
ok(lpCacheEntryInfo->CacheEntryType & (NORMAL_CACHE_ENTRY|STICKY_CACHE_ENTRY),
"expected cache entry type NORMAL_CACHE_ENTRY | STICKY_CACHE_ENTRY, got %d (0x%08x)\n",
ret = SetUrlCacheEntryInfoA(test_url, lpCacheEntryInfo,
CACHE_ENTRY_EXEMPT_DELTA_FC);
ok(ret, "SetUrlCacheEntryInfo failed: %d\n", GetLastError());
- ret = GetUrlCacheEntryInfo(test_url, lpCacheEntryInfo, &cbCacheEntryInfo);
+ ret = GetUrlCacheEntryInfoA(test_url, lpCacheEntryInfo, &cbCacheEntryInfo);
ok(ret, "GetUrlCacheEntryInfo failed with error %d\n", GetLastError());
ok(!U(*lpCacheEntryInfo).dwExemptDelta, "expected dwExemptDelta 0, got %d\n",
U(*lpCacheEntryInfo).dwExemptDelta);
CACHE_ENTRY_EXEMPT_DELTA_FC);
ok(ret, "SetUrlCacheEntryInfo failed: %d\n", GetLastError());
- ret = CreateUrlCacheEntry(test_url, 0, "html", filenameA1, 0);
+ ret = CreateUrlCacheEntryA(test_url, 0, "html", filenameA1, 0);
ok(ret, "CreateUrlCacheEntry failed with error %d\n", GetLastError());
create_and_write_file(filenameA1, &zero_byte, sizeof(zero_byte));
- ret = CommitUrlCacheEntry(test_url, filenameA1, filetime_zero, filetime_zero,
+ ret = CommitUrlCacheEntryA(test_url, filenameA1, filetime_zero, filetime_zero,
NORMAL_CACHE_ENTRY|STICKY_CACHE_ENTRY,
(LPBYTE)ok_header, strlen(ok_header), "html", NULL);
ok(ret, "CommitUrlCacheEntry failed with error %d\n", GetLastError());
- ret = GetUrlCacheEntryInfo(test_url, lpCacheEntryInfo, &cbCacheEntryInfo);
+ ret = GetUrlCacheEntryInfoA(test_url, lpCacheEntryInfo, &cbCacheEntryInfo);
ok(ret, "GetUrlCacheEntryInfo failed with error %d\n", GetLastError());
- ok(U(*lpCacheEntryInfo).dwExemptDelta == 8600,
- "expected dwExemptDelta 8600, got %d\n",
- U(*lpCacheEntryInfo).dwExemptDelta);
+ ok(U(*lpCacheEntryInfo).dwExemptDelta == 8600 || (ie10_cache && U(*lpCacheEntryInfo).dwExemptDelta == 86400),
+ "expected dwExemptDelta 8600, got %d\n", U(*lpCacheEntryInfo).dwExemptDelta);
HeapFree(GetProcessHeap(), 0, lpCacheEntryInfo);
ok(ret, "CommitUrlCacheEntry failed with error %d\n", GetLastError());
cbCacheEntryInfo = 0;
- ret = GetUrlCacheEntryInfo(test_hash_collisions1, NULL, &cbCacheEntryInfo);
+ ret = GetUrlCacheEntryInfoA(test_hash_collisions1, NULL, &cbCacheEntryInfo);
ok(!ret, "GetUrlCacheEntryInfo should have failed\n");
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER,
"expected ERROR_INSUFFICIENT_BUFFER, got %d\n", GetLastError());
lpCacheEntryInfo = HeapAlloc(GetProcessHeap(), 0, cbCacheEntryInfo);
- ret = GetUrlCacheEntryInfo(test_hash_collisions1, lpCacheEntryInfo, &cbCacheEntryInfo);
+ ret = GetUrlCacheEntryInfoA(test_hash_collisions1, lpCacheEntryInfo, &cbCacheEntryInfo);
ok(ret, "GetUrlCacheEntryInfo failed with error %d\n", GetLastError());
ok(!strcmp(lpCacheEntryInfo->lpszSourceUrlName, test_hash_collisions1),
"got incorrect entry: %s\n", lpCacheEntryInfo->lpszSourceUrlName);
HeapFree(GetProcessHeap(), 0, lpCacheEntryInfo);
cbCacheEntryInfo = 0;
- ret = GetUrlCacheEntryInfo(test_hash_collisions2, NULL, &cbCacheEntryInfo);
+ ret = GetUrlCacheEntryInfoA(test_hash_collisions2, NULL, &cbCacheEntryInfo);
ok(!ret, "GetUrlCacheEntryInfo should have failed\n");
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER,
"expected ERROR_INSUFFICIENT_BUFFER, got %d\n", GetLastError());
lpCacheEntryInfo = HeapAlloc(GetProcessHeap(), 0, cbCacheEntryInfo);
- ret = GetUrlCacheEntryInfo(test_hash_collisions2, lpCacheEntryInfo, &cbCacheEntryInfo);
+ ret = GetUrlCacheEntryInfoA(test_hash_collisions2, lpCacheEntryInfo, &cbCacheEntryInfo);
ok(ret, "GetUrlCacheEntryInfo failed with error %d\n", GetLastError());
ok(!strcmp(lpCacheEntryInfo->lpszSourceUrlName, test_hash_collisions2),
"got incorrect entry: %s\n", lpCacheEntryInfo->lpszSourceUrlName);
return;
}
+ if(ie10_cache) {
+ if(!MultiByteToWideChar(CP_ACP, 0, urls[6].encoded_url, -1,
+ urls[6].url, sizeof(urls[6].url)/sizeof(WCHAR)))
+ urls[6].url[0] = 0;
+
+ trace("converted url in test 6: %s\n", wine_dbgstr_w(urls[6].url));
+ }
+
for(i=0; i<sizeof(urls)/sizeof(*urls); i++) {
INTERNET_CACHE_ENTRY_INFOA *entry_infoA;
INTERNET_CACHE_ENTRY_INFOW *entry_infoW;
DWORD size;
+ if(!urls[i].url[0]) {
+ win_skip("No UTF16 version of url (%d)\n", i);
+ continue;
+ }
+
SetLastError(0xdeadbeef);
ret = CreateUrlCacheEntryW(urls[i].url, 0, NULL, bufW, 0);
if(urls[i].err != 0) {
}
if(!urls[i].extension[0]) {
- ok(!entry_infoW->lpszFileExtension, "entry_infoW->lpszFileExtension != NULL\n");
+ ok(!entry_infoW->lpszFileExtension || (ie10_cache && !entry_infoW->lpszFileExtension[0]),
+ "%d) entry_infoW->lpszFileExtension = %s\n",
+ i, wine_dbgstr_w(entry_infoW->lpszFileExtension));
}else {
MultiByteToWideChar(CP_ACP, 0, entry_infoA->lpszFileExtension, -1, bufW, MAX_PATH);
- ok(!lstrcmpW(entry_infoW->lpszFileExtension, bufW),
+ ok(!lstrcmpW(entry_infoW->lpszFileExtension, bufW) ||
+ (ie10_cache && !lstrcmpW(entry_infoW->lpszFileExtension, urls[i].extension)),
"%d) entry_infoW->lpszFileExtension = %s, expected %s\n",
i, wine_dbgstr_w(entry_infoW->lpszFileExtension), wine_dbgstr_w(bufW));
}
if(!GetProcAddress(hdll, "InternetGetSecurityInfoByURL")) /* < IE7 */
old_ie = TRUE;
+ if(GetProcAddress(hdll, "CreateUrlCacheEntryExW")) {
+ trace("Running tests on IE10 or newer\n");
+ ie10_cache = TRUE;
+ }
+
pDeleteUrlCacheEntryA = (void*)GetProcAddress(hdll, "DeleteUrlCacheEntryA");
pUnlockUrlCacheEntryFileA = (void*)GetProcAddress(hdll, "UnlockUrlCacheEntryFileA");
test_urlcacheA();