Commit Graph

138 Commits

Author SHA1 Message Date
Aric Stewart 21712d3d15 wininet: Handle NULL lpBuffersIn in HttpSendRequestExW. 2006-01-13 13:52:38 +01:00
Jacek Caban ad02317248 wininet: lpvStatusInfo in INTERNET_STATUS_NAME_RESOLVED,
INTERNET_STATUS_CONNECTING_TO_SERVER and
INTERNET_STATUS_CONNECTED_TO_SERVER should be strings, not
sockaddr_in.
2006-01-05 14:37:06 +01:00
Aric Stewart 1e946d3e14 wininet: HTTP headers reworking.
Redo how headers are handled, eliminating the concept of Standard
Headers and allow all headers to be added multiple times.
Allow querying of headers with an index to get the multiple headers.
Respect response vs request headers in HttpQueryInfo.
Add a number of tests to extensively test header adding and replacing.
2005-12-13 17:07:41 +01:00
Marcus Meissner 73893a74fd wininet: Reinitialise NETCON on redirect. 2005-12-13 11:12:09 +01:00
Aric Stewart 7bca41a739 wininet: Handle HTTP_QUERY_CUSTOM.
In HttpQueryInfo if dwInfoLevel includes HTTP_QUERY_CUSTOM then
lpBuffer is In/Out because the header we are querying is there.
Additionally standard headers can be queried in this manner as well
(such as Set-Cookie).
2005-12-08 12:44:45 +01:00
Aric Stewart d30cec77d3 wininet: A->W bugfix.
When converting SendRequestExA -> W we need to set the lpcszHeader
parameter to NULL if the original one is NULL.
2005-12-08 11:54:24 +01:00
Robert Shearman efd067f2c3 wininet: Correctly set the last error when a called Unix network
function fails.
2005-12-03 18:10:14 +01:00
Robert Shearman 067f09604a wininet: global function/data cleanup
Make some functions and a structure static since they are only used in
one file.
2005-12-03 18:03:08 +01:00
Robert Shearman f6252cf43e Remove duplicated code by modifying HTTP_HttpSendRequest so that it
can be used by both HttpSendRequest and HttpSendRequestEx.
Also allow HttpSendRequestEx to be used asynchronously.
2005-11-30 12:31:22 +01:00
Robert Shearman dc5f1cbd5d Remove call to StrCatW by passing in NULL for lpszExtraInformation in
the call to InternetCrackUrl, which concatenates the params onto the
path.
Some other minor cleanups.
2005-11-30 12:01:50 +01:00
Robert Shearman 4350357634 HttpSendRequestExA/W doesn't touch lpBuffersIn->Next, so simplify the
code a bit.
Modify test case to demonstrate this.
2005-11-29 11:42:23 +01:00
Robert Shearman 8a8ce9c4c7 More lpszServerName -> lpszHostName fixes. 2005-11-29 11:35:19 +01:00
Robert Shearman efac01b525 Fix redirects from secure to non-secure and vice versa. 2005-11-29 11:25:31 +01:00
Robert Shearman de2666fd5f Change all SendAsyncCallback calls into the synchronous
INTERNET_SendCallback where INTERNET_FLAG_ASYNC is already handled
properly.
2005-11-29 10:44:05 +01:00
Aric Stewart 1fc760d4a7 Allow HttpEndRequest to process 302 and 301 redirects. Append Host
port if non standard on the redirect host header and make sure to
append the extra information (parameters) and such to the location if
present.  Additionally check to see if we are redirecting to https and
if so set the appropriate port.
2005-11-28 17:31:02 +01:00
Robert Shearman 0e7c41e979 Add support for using secure (SSL/TLS) connections through a proxy
server.
2005-11-28 11:55:16 +01:00
Robert Shearman 13d371da54 Move the initiation of the SSL connection into a separate function. 2005-11-28 11:54:31 +01:00
Robert Shearman 3592110af7 Add a host port field that preserves the requested port of the
destination URL.
2005-11-28 11:53:05 +01:00
Robert Shearman cc44f3a5c7 Fix "http://" prefix detection on the proxy URL. 2005-11-28 11:31:11 +01:00
Robert Shearman 0adec2b3dc Replace some useless checks in HTTP_AddProxyInfo with asserts. 2005-11-28 11:28:06 +01:00
Robert Shearman 225a9facd4 Simplify and fix Set-Cookie handling. 2005-11-28 11:24:41 +01:00
Robert Shearman 22edb3e99e Simplify HTTP_InsertProxyAuthorization. 2005-11-28 11:17:06 +01:00
Robert Shearman 29a436fd87 Add parsing of the Content-ID and Proxy-Connection headers.
Sort the table of header to option number mappings correctly.
Change a FIXME to a WARN because there are "X-..." headers that we
aren't supposed to parse.
2005-11-28 11:00:05 +01:00
Robert Shearman 7bb3463166 Add a new field "lpszHostName" to the session to track the host name
of the HTTP server, as opposed to the server that we will connect to
that could be a proxy server. Fixes the "Host:" header that we send to
servers.
2005-11-28 10:40:42 +01:00
Aric Stewart ed0eba24f9 HttpEndRequest does not actually send an extra NULL byte at the end of
the request. Help from Rob Shearman on this one.
2005-11-22 16:18:48 +00:00
Aric Stewart 9e68c651d6 Fix some logic to allow HTTP_ADDREQ_FLAG_ADD to replace existing
headers. Also adding a test for some header adding flags.
2005-11-22 14:53:30 +00:00
Robert Shearman b27457c91c Fix an incorrect entry in the HTTP header field table causing broken
Location field parsing.
2005-11-22 11:58:50 +00:00
Aric Stewart be918f48b6 Implement HttpSendRequestEx and HttpEndRequest. Restructure, breaking
some things out of HTTP_SendRequestW to avoid duplicate code.
2005-11-21 15:17:55 +00:00
Robert Shearman e6157dde9d We shouldn't pass the struct hostent returned from gethostbyname as
it's not thread-safe and isn't needed anyway.
2005-11-15 18:16:55 +00:00
Robert Shearman 79dc136a37 INTERNET_STATUS_HANDLE_CREATED notifications just send the handle, not
an INTERNET_ASYNC_RESULT structure.
The source handle in HTTP_Connect should be the parent's handle.
2005-11-15 12:01:59 +00:00
Francois Gouget 0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Alexandre Julliard dd281290e8 Authors: Marcus Meissner <marcus@jet.franken.de>, Walter Weiss <wjweiss@hotmail.com>
Added handling of more HTTP standard headers and binary search lists.
2005-11-01 18:06:54 +00:00
Jacek Caban 02708c6227 Make functions static. 2005-10-26 10:07:58 +00:00
Mike McCormack 403e58f5f4 Set the http port before figuring out whether we're using a proxy. 2005-10-19 19:07:08 +00:00
Aric Stewart 44cbdf2138 Use debugstr_a to prevent a buffer overflow when debugging. 2005-10-19 18:28:35 +00:00
Alexandre Julliard 7c1925a0f3 Remove the 'L' suffix on a number of constants to avoid comparison
errors on 64-bit platforms.
2005-09-13 15:00:32 +00:00
9c1d0cfc09 Wrong flags were being tested for INTERNET_FLAG_NO_AUTO_REDIRECT. 2005-09-07 11:26:34 +00:00
James Hawkins 92ba28851a Avoid heap corruption by not accessing old HeapReAlloc'ed pointer. 2005-08-24 09:44:59 +00:00
Maarten Lankhorst e325f7ed82 Changed setting default port number from HTTP_Connect to
HttpOpenRequestW.
2005-06-21 20:02:34 +00:00
Mike McCormack 9b95bb526d Fix some warnings. 2005-06-13 19:05:42 +00:00
Peter Berg Larsen e732fc023d Janitorial: Get rid of strncpy/strncpyW. 2005-03-28 14:17:51 +00:00
Francois Gouget 93416cdaf7 Assorted spelling fixes. 2005-03-23 13:15:18 +00:00
Robert Shearman 7707a765b7 - Fully delete custom headers on connection opening.
- Free unneeded memory on clearing of standard headers.
- Fix index sanity test in delete function.
2005-03-10 11:14:24 +00:00
David McCullough 10ff5e1e81 HTTP_HttpSendRequestW was getting invoked with a null verb, default to
the GET method.
2005-02-02 09:56:35 +00:00
Hans Leidekker 6a367dbf8d - Stub implementations for FtpGetFileSize, FtpCommand{A,W},
HttpSendRequestExW, InternetGetLastResponseInfoW,
  InternetConfirmZoneCrossing{A,W}, InternetDial{A,W},
  InternetGoOnline{A,W}, InternetHangUp, CreateMD5SSOHash,
  InternetClearAllPerSiteCookieDecisions,
  InternetEnumPerSiteCookieDecision{A,W}, InternetGetCookieEx{A,W},
  InternetGetPerSiteCookieDecision{A,W},
  InternetSetPerSiteCookieDecision{A,W}, InternetSetCookieEx{A,W},
  ResumeSuspendedDownload, RetrieveUrlCacheEntryFileW,
  UnlockUrlCacheEntryFileW, {Create,Delete}UrlCacheEntryW,
  CommitUrlCacheEntryW, RetrieveUrlCacheEntryStreamW,
  FindCloseUrlCache, FindFirstUrlCacheEntryEx{A,W},
  FindFirstUrlCacheGroup, FindNextUrlCacheEntry{,Ex}{A,W},
  FindNextUrlCacheGroup, SetUrlCacheEntryGroup{A,W},
  {Get,Set}UrlCacheGroupAttribute{A,W}, SetUrlCacheConfigInfo{A,W}.
- Spec file stubs for new undocumented functions
  ForceNexusLookup{,ExW}, Ftp{Get,Put}FileEx, HttpCheckDavCompliance,
  InternetAlgIdToString{A,W}, InternetFortezzaCommand,
  InternetGetCertByURLA, InternetQueryFortezzaStatus,
  InternetSecurityProtocolToString{A,W}, InternetSetDialState{A,W},
  InternetShowSecurityInfoByURL{A,W}, IsUrlCacheEntryExpired{A,W},
  Privacy{Get,Set}ZonePreferenceW, RegisterUrlCacheNotification,
  UrlZonesDetach.
- Use memcpy instead of strncpy in InternetGetLastResponseInfoA.
- Add and improve some traces.
- Fix my own coding style in InternetTimeToSystemTimeW.
- Fix a couple of signedness warnings.
2005-02-01 18:50:53 +00:00
Francois Gouget da8b3dd7f2 Assorted spelling fixes. 2005-01-26 21:09:04 +00:00
Maxime Bellengé e220907c71 Replace '\' with '/' in the URL in HTTP_HttpSendRequestW. 2005-01-25 16:43:17 +00:00
Diego Pettenò 869a66a8fd Get rid of DPRINTF. 2005-01-07 17:09:39 +00:00
Michael Stefaniuc 15a308a9d7 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2005-01-03 14:56:42 +00:00
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00