Rob Shearman
0be05ab6aa
wininet: Retrieve the maximum token length from the SSP and use a buffer of that length in calls to InitializeSecurityContextW.
...
Otherwise, InitializeSecurityContextW could run out of space with our
small, fixed buffer and fail.
2008-03-10 19:12:54 +01:00
Rob Shearman
7631bdf0c1
wininet: Allow HTTP_DoAuthorization to accept a NULL username/domain in the non-Basic case.
...
When using SSPI, pass in a NULL identity in this case so that the SSP
can try to use cached credentials.
2008-03-10 19:12:54 +01:00
Rob Shearman
8c6ac00820
wininet: Don't call DeleteSecurityContext and FreeCredentialsHandle on invalid handles.
2008-03-10 19:12:54 +01:00
Rob Shearman
bdc81d9963
wininet: Make the reference count of WININETHANDLEHEADER thread-safe by using InterlockedIncrement/InterlockedDecrement.
2008-03-10 19:12:54 +01:00
Jacek Caban
d597fd12fc
wininet: Moved InternetReadFileExA to vtbl.
2008-03-03 20:45:31 +01:00
Jacek Caban
ca39a55e88
wininet: Don't use INTERNET_ReadFile in HTTP_DrainContent.
2008-03-03 12:00:32 +01:00
Jacek Caban
3b4ca69e18
wininet: Move InternetReadFile to vtbl.
2008-03-03 12:00:20 +01:00
Jacek Caban
9a5c046129
wininet: Move INTERNET_STATUS_REQUEST_COMPLETE call from INTERNET_ReadFile.
2008-03-03 12:00:06 +01:00
Jacek Caban
3314184597
wininet: Move InternetQueryDataAvailable to vtbl.
2008-02-29 20:07:13 +01:00
Jacek Caban
8c45eecca7
wininet: Moved InternetFindNextFileW implementation to vtbl.
2008-02-28 10:44:42 +01:00
Jacek Caban
0e33eee9a2
wininet: Use vtbl for InternetSetOption(INTERNET_OPTION_[SEND|RECEIVE]_TIMEOUT) implementation.
2008-02-27 14:52:25 +01:00
Jacek Caban
1ffcfbce85
wininet: Use vtbl in InternetWriteFile implementation.
2008-02-27 14:52:24 +01:00
Jacek Caban
7dc9bf677b
wininet: Moved close_connection to vtbl.
2008-02-27 14:52:24 +01:00
Jacek Caban
5a535d6b23
wininet: Moved handle destructor to vtbl.
2008-02-27 14:52:24 +01:00
Maarten Lankhorst
5132fb4469
wininet: Fix retrieving raw headers.
2008-02-27 14:52:24 +01:00
Francois Gouget
abfa73b5c1
wininet: Document HttpAddRequestHeadersW()'s handling of the trailing '\0'. Fix tracing of the corresponding header strings as they may not be '\0' terminated.
2008-02-19 13:39:24 +01:00
Rob Shearman
719cd82f35
wininet: Fix potential buffer overrun in HttpQueryInfoA.
...
If HTTP_QUERY_CUSTOM is specified then the buffer contains a
null-terminated string on input and data of length len on output. The
code wasn't taking into account that the input len could be less than
the length of the string and thus could result in the allocated buffer
being overrun with the call to WideCharToMultiByte.
2008-02-19 13:39:24 +01:00
Hans Leidekker
9717113fcb
wininet: Rename a function to better match what it does.
2008-02-18 13:33:52 +01:00
Hans Leidekker
2617fb6dea
wininet: Handle the "100 Continue" response by ignoring it.
2008-02-18 13:33:33 +01:00
Hans Leidekker
d0033dbaed
wininet: Honour the version override in HttpOpenRequest.
2008-02-18 13:33:10 +01:00
Rob Shearman
f8f9dbbbe7
wininet: Fix an off-by-one error in the boundary checks in HTTP_DecodeBase64.
2008-02-16 13:54:17 +01:00
Jacek Caban
f979134270
wininet: Code clean up.
2008-02-15 10:00:12 +01:00
Jacek Caban
d7a49e8147
wininet: Added beginning support for HTTP cache files.
2008-02-15 10:00:03 +01:00
Andrew Talbot
45481db078
wininet: Remove unneeded casts.
2008-02-05 12:19:37 +01:00
Hans Leidekker
b0912d1151
wininet: Add zero value content length header to POST requests only.
2008-02-04 14:18:51 +01:00
Hans Leidekker
c132dd9360
wininet: Send HTTP/1.1 requests by default.
2008-02-04 14:18:20 +01:00
Hans Leidekker
b069ef4268
wininet: Make sure not to overwrite any caller supplied authorization header.
2008-02-04 14:18:20 +01:00
Rob Shearman
59ab0cf362
wininet: HTTP_Connect should fail if a NULL or empty hostname is passed in.
...
Add tests for these circumstances.
2008-02-04 13:04:34 +01:00
Rob Shearman
5edcf3ab6c
wininet: Pass the server name into InitializeSecurityContextW.
2008-01-25 12:30:08 +01:00
Gerald Pfeifer
3f1a20b8b1
wininet: Fix type of a loop variable in HTTP_BuildHeaderRequestStr().
2008-01-14 15:31:37 +01:00
Austin English
0e4adae973
Spelling fixes.
2008-01-07 13:41:01 +01:00
Hans Leidekker
4d84eb26d0
wininet: Fix handling of host and referrer headers in HttpOpenRequest.
2008-01-07 12:02:12 +01:00
Marcus Meissner
fe475d9e88
wininet: Check return value of InternetCrackUrl when checking referrer host.
2008-01-03 13:30:26 +01:00
Rob Shearman
01826e0c98
wininet: Don't clear the auth data for Basic authentication in HTTP_InsertAuthorizationForHeader.
...
It isn't tracked per connection, unlike NTLM authentication, and so the
server will return a 401 error and try to get us to authenticate again.
However, this doesn't work as the authentication information is assumed
by the code to be valid for the whole connection.
2007-11-27 16:42:26 +01:00
Juan Lang
9adf83e90d
wininet: Don't use HEAP_ZERO_MEMORY on memory that's fully initialized.
2007-11-08 12:18:31 +01:00
Juan Lang
a1ab4a7eff
wininet: Fix another typo.
2007-11-08 12:18:30 +01:00
Juan Lang
b210e3a751
wininet: Fix typo.
2007-11-08 12:18:30 +01:00
Nigel Liang
6f44627b04
wininet: Release object in HttpSendRequestExW before return on error.
2007-11-05 15:05:16 +01:00
Hans Leidekker
64359c2432
wininet: Always send a content length header, even if there is no content.
2007-10-29 13:06:50 +01:00
Juan Lang
d857c04c95
wininet: Don't assume lpBuffersIn is not NULL.
2007-10-23 12:23:52 +02:00
Nigel Liang
7d2ac2039b
wininet: Release object in HttpEndRequestW after use.
2007-10-18 13:21:28 +02:00
Misha Koshelev
728e5fa559
wininet: Track child handles, free all child handles on WININET_FreeHandle as native.
2007-09-21 11:53:04 +02:00
Francois Gouget
d4337f2b5e
wininet: Fix many wininet prototypes: the context is a DWORD_PTR now.
2007-08-30 17:02:49 +02:00
Misha Koshelev
0f117e568f
wininet: Separate connection closing from object destruction.
2007-08-23 13:13:24 +02:00
Misha Koshelev
5320d3e3ea
wininet: Don't send INTERNET_STATUS_HANDLE_CLOSING when closing handle opened with InternetOpen for HTTP connection.
2007-08-22 12:18:59 +02:00
Mikołaj Zalewski
3fa49f0f02
wininet: Make HttpQueryInfo[AW] work for lpBuffer == NULL and len > 0.
2007-08-16 11:52:06 +02:00
Mikołaj Zalewski
ab7d17727c
wininet: Support HTTP_QUERY_RAW_HEADER_CRLF|HTTP_QUERY_FLAG_REQUEST_HEADERS.
2007-08-16 11:51:52 +02:00
Hans Leidekker
bb9413d77a
wininet: Process caller supplied headers after inserting connection and authorization headers, not before.
2007-08-10 12:58:17 +02:00
Aric Stewart
c8dfc02bfb
wininet: Strip Accept-Encoding from http/1.0 requests.
2007-07-27 12:47:51 +02:00
Rob Shearman
cb28969c2a
wininet: Implement NTLM support for proxy authentication.
2007-06-06 12:11:34 +02:00
Jeremy White
7ad691a5ee
wininet: Mark Proxy Authorization header as a request header, so it actually gets sent.
2007-06-01 12:40:22 +02:00
Rob Shearman
76507d475b
wininet: Don't close the connection if the caller passes in zero for the number of bytes to be read.
...
Only close the connection when the bytes read equals the content length.
Fixup HTTP_DrainContent, which relied on the previous incorrect
behaviour to instead close connections with no content length manually.
2007-05-29 13:49:02 +02:00
Rob Shearman
2e21d090cb
wininet: Cope with non-nul-terminated header strings being passed to HttpSendRequestW.
2007-05-29 13:44:36 +02:00
Rob Shearman
4d1b8b1a4e
wininet: Fix basic authentication by putting Basic directing into the scheme field, as the pszAuthValue can have an optional realm string appended.
2007-05-29 13:44:35 +02:00
Andrew Talbot
8ee390f6f5
wininet: Exclude unused headers.
2007-05-29 12:10:17 +02:00
Rob Shearman
7b94871c9f
wininet: Pass context to InitializeSecurityContext in second parameter.
...
Otherwise, the call will now fail with SEC_E_INVALID_HANDLE.
2007-05-29 11:54:42 +02:00
Rob Shearman
847cc51d3b
wininet: Implement basic non-proxy authentication.
2007-05-21 16:52:21 +02:00
Rob Shearman
4b507685e8
wininet: Add support for SSPI authentication for HTTP.
2007-05-21 16:52:10 +02:00
Andrew Talbot
46fc9c2e11
wininet: Constify some variables.
2007-02-26 13:38:37 +01:00
Hans Leidekker
2024f68753
wininet: Skip empty accept type strings in HttpOpenRequest.
2007-02-13 11:50:01 +01:00
Francois Gouget
aab5e5856e
Don't put single quotes around '%s' when using the debugstr_*() functions.
2007-01-18 12:55:50 +01:00
Rob Shearman
1ec14b0b25
wininet: Fix HTTP_EncodeBasicAuth by passing an out buffer to the second set of character set conversion calls.
2007-01-17 11:24:09 +01:00
Rob Shearman
a9ebc706e3
wininet: Change HTTP_EncodeBase64 to operate on a series of bytes, instead of text.
...
Change HTTP_EncodeBasicAuth to convert the username and password into
utf8 before base64 encoding.
2007-01-15 12:31:11 +01:00
Rob Shearman
9efe083ec5
wininet: HTTP_HttpQueryInfoW deals with bytes, not characters so update the callers that have this wrong assumption.
2007-01-15 12:30:53 +01:00
Rob Shearman
7b002a39b8
wininet: Allow a NULL value to be passed into HTTP_ProcessHeader
...
instead of crashing so that when used with the replace flag it will
delete an existing value.
2007-01-15 12:30:46 +01:00
Francois Gouget
e66d1cd5e9
wininet: Consistenly use INTERNET_SetLastError().
2007-01-10 11:58:47 +01:00
Rob Shearman
47a8b86b53
wininet: Use Keep-Alive for HTTP requests if specified by the flags passed into HttpOpenRequest.
2007-01-08 12:39:50 +01:00
Rob Shearman
a9c2cfa8d9
wininet: Fix the handling of Accept types passed into HttpOpenRequest
...
by properly coalescing all the types into the Accept header value,
rather than just adding the first.
2007-01-08 12:39:47 +01:00
Rob Shearman
7e8ef764b8
wininet: Rename HTTP_Base64 to HTTP_EncodeBase64 to more accurately reflect what it does.
2007-01-08 12:39:42 +01:00
Rob Shearman
06b19b018a
wininet: Fix the releasing of the wrong reference count in HTTP_CloseHTTPRequestHandle.
...
lpwhr obviously already has a reference count of 0 because it is being destroyed.
2007-01-04 21:17:53 +01:00
Rob Shearman
272954bd81
wininet: Change the HTTP code to not assume that the connection will be closed at the end of every request.
2007-01-04 21:17:34 +01:00
Rob Shearman
f0163ae7d6
wininet: Don't send callbacks in HTTP_CloseConnection if not connected.
2007-01-04 21:17:19 +01:00
Rob Shearman
ac1b527498
wininet: Use the Content-Length header to work out how much HTTP data there is left to be read
...
and don't try to read any more than what is available.
2007-01-04 21:17:12 +01:00
Rob Shearman
cf43b16036
wininet: Always send a Connection header set to "close" because that is what we expect for the moment.
2007-01-04 21:16:38 +01:00
Rob Shearman
14fb418942
wininet: Fix HTTP redirects by reseting loop_next after one loop.
2007-01-04 21:14:54 +01:00
Jacek Caban
49f5ee746c
wininet: Get rid of ASYNC_FUNC enum.
2006-12-26 12:50:19 +01:00
Jacek Caban
c156845560
wininet: Use proc instead of enum in HTTPSENDREQUESTW request.
2006-12-26 12:48:09 +01:00
Rob Shearman
72575a06ca
wininet: Make a function for resolving the server name for an HTTP request
...
and sending the appropriate callbacks and use it to remove some duplicated code.
2006-12-07 11:42:51 +01:00
Rob Shearman
4319ec6b83
wininet: Make HTTP_HandleRedirect no longer call HTTP_HttpSendRequestW.
...
Make the redirect handling in HTTP_HttpSendRequestW iterate instead of recurse.
2006-12-07 11:42:38 +01:00
Jacek Caban
1031c5f9c6
wininet: Revert commit 760043c245
.
...
After more testing I've checked that current code is bad, but my patch
was also wrong and causes regression in WoW.
2006-11-02 21:01:05 +01:00
Jacek Caban
5c53baac8d
wininet: Inherit INET_CALLBACKW from parent handler.
2006-10-31 11:46:49 +01:00
Jacek Caban
760043c245
wininet: Call SendCallback in destructor instead of InternetCloseHandle.
2006-10-30 11:36:16 +01:00
Jacek Caban
957516f8e6
wininet: Remove lpwhparent from WININETHANDLERHEADER.
2006-10-30 11:36:02 +01:00
Jacek Caban
61a1cef6f6
wininet: Use lpHttpSession instead of lpwhcalback where possible.
2006-10-30 11:34:58 +01:00
Jacek Caban
a9bdc01e19
wininet: Store pointer to WININETHTTPSESSIONW in WININETHTTPREQUESTW.
2006-10-30 11:34:51 +01:00
Jacek Caban
a541a44f51
wininet: Use lpAppInfo instead of lpwhparent where possible.
2006-10-30 11:34:41 +01:00
Jacek Caban
c250617d88
wininet: Store WININETAPPINFOW pointer in WININETHTTPSESSIONW.
2006-10-30 11:34:21 +01:00
Jacek Caban
cc7a86ec7e
wininet: Use HTTP_ADDHDR_FLAG_REPLACE flag in HTTP_HttpSendRequest to add Content-Length header.
2006-10-23 12:28:58 +02:00
Hans Leidekker
781f3f78a0
wininet: Cast-qual warnings fix.
2006-10-14 20:16:49 +02:00
Hans Leidekker
cd2c458588
wininet: Win64 printf format warning fixes.
2006-10-05 17:45:14 +02:00
Mike McCormack
739cd1ea32
wininet: Don't crash when querying NULL values.
2006-05-30 19:29:52 +02:00
Andrew Ziem
7053321926
wininet: Constify data.
2006-05-25 11:01:06 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Mike McCormack
746bf215e0
wininet: Remove broken code for HTTP_QUERY_FLAG_COALESCE, which is unimplemented according to MSDN.
2006-05-15 11:04:50 +02:00
Mike McCormack
92ddc1c851
wininet: Clean up HTTP_GetCustomHeaderIndex.
2006-03-30 12:41:04 +02:00
Mike McCormack
7f5e273214
wininet: Use a lookup table sorted by index so we don't need a loop to do lookups.
2006-03-30 12:40:47 +02:00
Mike McCormack
ae300883fa
WININET: Clean up HttpQueryInfo.
...
Fixes another return FALSE without SetLastError.
2006-03-30 12:40:05 +02:00
Mike McCormack
2571fa004a
wininet: Make sure to set LastError when returning FALSE in HttpQueryInfo.
2006-03-30 12:38:14 +02:00
Robert Shearman
80e4fb5975
wininet: InternetCreateUrlW should return the number of bytes needed.
...
InternetCreateUrlW should return the number of bytes needed to store
the URL, not the number of characters (reported by Sven Paschukat).
2006-03-21 16:19:06 +01:00
Robert Shearman
ef20936c53
wininet: Don't duplicate empty strings.
2006-03-10 21:40:57 +01:00