Commit Graph

446 Commits

Author SHA1 Message Date
Robert Shearman 13f2ce26dd wininet: Create new hash tables for URL cache on demand. 2005-12-31 13:20:54 +01:00
Robert Shearman 2ceb052496 wininet: Move URL cache hash table creation to a separate function. 2005-12-31 13:20:29 +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
Patrick Ammann d437f37f58 wininet: compilation fix
- make netconnection.c compile when HAVE_OPENSSL_SSL_H or 
HAVE_OPENSSL_ERR_H are not defined.
2005-12-05 12:01:56 +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 1e5153cf3c Cleanup SSL connections properly, do a few security checks in
NETCON_secure_connect and display errors from SSL on failure. Don't
use SSL_set_bio as SSL_set_fd is cleaner for us.
2005-12-01 11:18:43 +01:00
Robert Shearman 03aea8c1b1 Test the behaviour of HttpSendRequestEx when putting data into the
lpvBuffer.
2005-11-30 12:31:38 +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
Ge van Geldorp 1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +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 8c8c81a1ef Change some SendAsyncCallback calls to INTERNET_SendCallback as the
tests show that the callbacks happen either synchronously or within an
alternative asynchronous call.
Remove a check for a NULL lpfnStatusCB that is already performed by
INTERNET_SendCallback and add a comment about a difference to native.
2005-11-28 11:00:18 +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
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Francois Gouget 6d442aeb34 Assorted spelling fixes. 2005-11-23 20:14:43 +01:00
Francois Gouget d69268e77c Documentation tweaks to make winapi_check happy.
Also specify the documented spec file entry.
2005-11-23 20:14:04 +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 dece43d880 Test the sizes of some of the parameters passed into the callback. 2005-11-22 11:59:16 +00:00
Robert Shearman 756f197945 Rename SendAsyncCallback to INTERNET_SendCallback. 2005-11-22 11:59:07 +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
Aric Stewart 526d3e51ee Implement the use of NETCON_send for HTTP connections when in
InternetWriteFile.
2005-11-21 11:57:33 +00:00
Robert Shearman f5af18f05f - Improve callback to give context sensitive information about the
different statuses and print the thread ID that it was called from.
- Replace the busy waiting on the "goon" flag with an event.
- Replace hard coded numbers with more informative constants
  throughout the InternetReadFile test.
- Add tests for InternetReadFileExA.
- Fix the error value from calling InternetReadFile with a NULL handle
  as indicated by the test.
2005-11-16 11:21:41 +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 e87fe3a17f Correct the size of a callback parameter.
Fix the declaration of INTERNET_WorkerThreadFunc.
2005-11-15 18:12:42 +00:00
Alexandre Julliard 3566fe60a8 Fixed Unicode buffer size bug in CreateUrlCacheEntryW. 2005-11-15 16:56:04 +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
Robert Shearman 5b1fd2e58e SSL doesn't need to use a different socket to unsecure communications. 2005-11-15 12:01:40 +00:00
Saulius Krasuckas bc52612f77 Fix a test for InternetCreateUrlA as no Windows platform sets last
error here. Make InternetCreateUrlA pass the test.
2005-11-14 11:23:02 +00:00
Robert Shearman 01e91e5f6c Implement InternetReadFileExA (based on a patch by Brian Gerst). 2005-11-12 19:10:56 +00:00
YunSong Hwang 58d6722e7a Add Korean translations. 2005-11-11 10:55:09 +00:00
Francois Gouget 0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Mike Hearn 3ba70220d2 Update wininet version info. 2005-11-10 11:03:51 +00:00
Vincent Béron 522b39bb42 Unicodify InternetCheckConnection.
Use HeapAlloc'ed buffers where applicable.
2005-11-08 16:09:20 +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
James Hawkins 1928ee8804 Implement InternetCreateUrlW and test cases. 2005-10-31 14:06:35 +00:00
James Hawkins 19ce8115a8 Correct parameter names for InternetSetFilePointer. 2005-10-28 10:08:44 +00:00
Vijay Kiran Kamuju ab80e557d7 Add default implementation for max_conn_pre_*_server flag.
Add stubs for the above flags in InternetSetOption.
2005-10-27 18:28:59 +00:00
Jacek Caban 02708c6227 Make functions static. 2005-10-26 10:07:58 +00:00
Aric Stewart 4a38fb2b10 Move the peek_msg buffers for SSL connections into the
WININET_CONNECTION structure to prevent 2 threads from clobbering each
other's buffers.
2005-10-20 11:35:54 +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
Denis Lukianov d664711cae Use ICU_BROWSER_MODE in InternetCanonicalizeUrl. 2005-09-29 13:33:39 +00:00
Alexandre Julliard 7e22be4d84 We are no longer generating .dbg.c files. 2005-09-29 10:35:58 +00:00
Vincent Béron a0c185ee1b Cast the result of strlen() to DWORD and print it via %ld to get rid
of warnings with gcc 3.2.
2005-09-29 10:33:20 +00:00
Alexander N. Sørnes cd6e5bab8b Added Norwegian translations. 2005-09-26 10:56:47 +00:00
Kimmo Myllyvirta a7cdcfd995 Update Finnish resources. 2005-09-25 15:14:58 +00:00
Milko Krachounov 980f817737 Bulgarian resources for mpr, msi, user, commdlg, oleaut32, shdocvw,
shell32, comctl32, msrle32, mshtml, winspool, wineps, serialui,
setupapi, wininet, regedit, uninstaller, notepad, winecfg and
winhelp.
2005-09-19 17:00:58 +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
Alexandre Julliard c6b005ac69 Fixed some more traces to use the right printf format and avoid
typecasts.
2005-09-12 14:12:46 +00:00
Alexandre Julliard 4c34d9386c Specify 64-bit integers as double instead of long long in spec files
so that we get the correct number of arguments.
2005-09-09 15:05:01 +00:00
Alexandre Julliard 20a1a203c6 Use a more portable scheme for storing the name of a critical
section.
2005-09-09 10:19:44 +00:00
9c1d0cfc09 Wrong flags were being tested for INTERNET_FLAG_NO_AUTO_REDIRECT. 2005-09-07 11:26:34 +00:00
Alexandre Julliard cc4da88563 Explicitly import kernel32 in tests that use it. 2005-08-27 09:27:09 +00:00
James Hawkins 92ba28851a Avoid heap corruption by not accessing old HeapReAlloc'ed pointer. 2005-08-24 09:44:59 +00:00
Saulius Krasuckas 69cf6a28f5 Correct failing test and transform it into a bunch of another tests. 2005-08-17 09:53:57 +00:00
Saulius Krasuckas 43e93117e3 Move repetitive code to two helper functions. 2005-08-16 15:56:42 +00:00
Francois Gouget bcd56fe0e5 Assorted spelling fixes. 2005-08-12 18:22:06 +00:00
Alexandre Julliard 94defee579 Don't prefix the functions DllInstall and DllGetVersion with the dll
name so that the compiler can check the prototypes.
2005-08-08 17:43:51 +00:00
Robert Shearman b1722b7ad7 As per MSDN, INTERNET_OPTION_CONNECTED_STATE should take a DWORD
instead of the INTERNET_CONNECTED_INFO structure.
2005-08-03 19:13:27 +00:00
Robert Shearman d89705daf6 Fix return value of InternetQueryDataAvailable. 2005-07-15 09:56:34 +00:00
Mike McCormack bda7ace2e9 Interlocked LONG* gcc warning fixes. 2005-07-13 11:59:15 +00:00
Mike McCormack 257c337c19 gcc 4.0 -Wpointer-sign fixes (Reg* functions). 2005-07-07 12:08:42 +00:00
Mike McCormack b8fc783be2 Avoid warnings in generated tests by casting sizeof(x) to an int. 2005-07-03 11:23:30 +00:00
Alexandre Julliard 9c80ef3d85 Added missing LGPL header. 2005-06-30 20:49:27 +00:00
Robert Shearman 5cee3988bf Add stubs for some InternetSetOption options. 2005-06-30 10:13:50 +00:00
Alexandre Julliard aa0b9aac0d Sort entry points alphabetically. 2005-06-22 18:38:23 +00:00
Maarten Lankhorst e325f7ed82 Changed setting default port number from HTTP_Connect to
HttpOpenRequestW.
2005-06-21 20:02:34 +00:00
Maarten Lankhorst 6d6ca1e7c5 - Added new INTERNET_OPTION* defines.
- Fixed InternetSetOptionW unknown option handling, and added
  INTERNET_OPTION_DISABLE_PASSPORT_AUTH.
2005-06-21 20:02:21 +00:00
Mike McCormack 9b95bb526d Fix some warnings. 2005-06-13 19:05:42 +00:00
Mike Hearn 599f3e879e - Don't return NULL for proxy details if there is no proxy.
- Remove stub message, it seems to be complete.
2005-06-05 19:19:43 +00:00
Uwe Bonnes 29db8816b2 Handle more Escape situations. 2005-05-24 11:43:35 +00:00
Alexandre Julliard 34fa35dc99 Added rules for building import libraries in the individual dll
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Alexandre Julliard d62356aa1e Added rules to build import libraries in the individual dll makefiles.
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +00:00
Troy Rollo 9d86716ef6 Create URL Cache if it does not already exist. 2005-05-04 10:36:43 +00:00
Alexandre Julliard b965457c4a Get rid of the remaining calls to strncpyW, and remove that function
from wine/unicode.h.
2005-04-21 17:18:50 +00:00
Francois Gouget 3ef8c51c8a Tweak the API documentation to silence winapi_check warnings. 2005-04-20 15:18:42 +00:00
Peter Berg Larsen 6aefbc0934 Strncpy elimination. 2005-04-18 15:36:20 +00:00
Peter Berg Larsen 6e3bcb5a54 Replace strncpy with memcpy or lstrcpyn. 2005-04-18 10:30:55 +00:00
Benjamin Cutler 8c37f4362b Better handling of hInternet == NULL for INTERNET_OPTION_PROXY in
INET_QueryOptionHelper. MSDN says to return 'global proxy info' when
hInternet == NULL. Thanks to Juan Lang for helping with this.
2005-04-14 11:31:39 +00:00
Benjamin Cutler c2053e1ded Check for an invalid hInternet handle in INET_QueryOptionHelper for
INTERNET_OPTION_PROXY before attempting to use it.
2005-04-13 16:11:36 +00:00
Jason Edmeades 2f30d307df Ensure A->W version of InternetCrackURL passes correct length values,
and associated tests.
2005-04-11 16:10:50 +00:00
Juan Lang 6d83105054 - set size required correctly for all supported options
- tidy up a few lines of indenting in INET_QueryOptionHelper
- implement querying INTERNET_OPTION_PROXY
2005-04-11 14:26:18 +00:00