Commit Graph

518 Commits

Author SHA1 Message Date
Mike McCormack 39c905f6d0 wininet: Make sure to null terminate a string before copying it. 2006-06-19 20:53:31 +02:00
Alexandre Julliard 68e4cf4a0b wininet/tests: Use lstrlenA instead of strlen in ok() to avoid printf format warnings. 2006-06-13 13:58:30 +02:00
Alexandre Julliard 9936feef07 include: Make the Dll* entry points hidden. 2006-06-12 16:18:01 +02:00
Phil Lodwick 3575918411 wininet: ftp: Fix crash if input buffer is larger than MAX_PATH. 2006-06-08 10:17:41 +02:00
Phil Lodwick 5ea41cc5fb wininet: ftp: 125 is an acceptable response code for the STORE command. 2006-06-08 10:17:27 +02:00
Mike McCormack 24b886d916 wininet: Simple tests for InternetGetCookie's parameters. 2006-06-02 20:44:11 +02:00
Mike McCormack 68d18612a0 wininet: Fix up and test InternetSetCookie parameter checking. 2006-06-02 20:44:04 +02:00
Mike McCormack 7b3cf21dc1 wininet: Remove some dead code (Coverity). 2006-06-02 20:43:58 +02:00
Mike McCormack 739cd1ea32 wininet: Don't crash when querying NULL values. 2006-05-30 19:29:52 +02:00
Mike McCormack 8af1faec24 wininet: Add a test for basic authentication. 2006-05-30 19:29:48 +02:00
Andrew Ziem 7053321926 wininet: Constify data. 2006-05-25 11:01:06 +02:00
Mike McCormack e480b6d07d wininet: Fix a possible NULL pointer deference. 2006-05-24 14:37:05 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Robert Shearman d4245634ca wininet: Fix a failing test. 2006-05-23 11:36:41 +02:00
Mike McCormack 854808d9d4 wininet: Add a standalone http test. 2006-05-16 20:21:34 +02:00
Mike McCormack 8dcb4479f3 wininet: Make sure hIC is valid before trying to use it. (Coverity) 2006-05-16 20:21:28 +02:00
Mike McCormack 2eec6b04c0 wininet: Return correct errors in InternetOpenUrlW. 2006-05-16 12:40:31 +02:00
Mike McCormack f57360af52 wininet: Return correct errors in InternetConnectW 2006-05-16 12:40:23 +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 35f0965c43 wininet: Check for null parameters in FtpSetCurrentDirectoryW. 2006-05-15 11:04:32 +02:00
Mike McCormack a27eee868e wininet: Fix a typo (spotted by Coverity). 2006-05-11 12:10:20 +02:00
Michael Stefaniuc a87520036f janitorial: Remove redundant NULL pointer checks before HeapFree'ing them.
Some HeapFree's are hidden behind macros. Found by smatch.
2006-05-10 11:31:41 +02:00
Robert Shearman 64ff0e54a3 wininet: Initialise the LPWITHREADERROR structure after it has been allocated. 2006-05-05 16:35:48 +02:00
Mike McCormack c1dce86f1f wininet: Fix peeking of http data with a nul byte in it. 2006-05-05 16:33:30 +02:00
Robert Shearman d133ff9afb wininet: Don't allocate memory for the thread error structure until it is needed.
Don't allocate memory for the thread error structure until it is
needed, as it is quite large and wastes memory for threads that don't
call any wininet function.
2006-04-20 15:16:52 +02:00
Antonio Codazzi 33a232a4a2 wininet: Added Esperanto language. 2006-04-11 11:31:02 +02:00
Antonio Codazzi f2d320b0a6 wininet: Italian language update. 2006-04-11 11:26:30 +02:00
Robert Shearman c564ee826f wininet: Fix some string length calculations.
Fix some string length calculations that didn't account for the
different sized characters with Unicode.
2006-03-30 21:55:37 +02:00
Robert Shearman 4f40f17226 wininet: Only access the URL in the cache by the provided offset. 2006-03-30 21:55:29 +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
Francois Gouget 6bddeb1cf7 Assorted spelling fixes. 2006-03-21 20:10:39 +01:00
Robert Shearman dc03c0e3f3 wininet: Document InternetCrackUrlW. 2006-03-21 16:19:06 +01: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 15a7d3b2b4 wininet: Copy from the start of the cookie name, not the cookie data.
Copy from the start of the cookie name, not the cookie data when
parsing cookies with a NULL cookie name.
2006-03-20 12:01:25 +01:00
András Kovács a2a4029e40 wininet: Added Hungarian translation. 2006-03-15 11:34:10 +01:00
Robert Shearman 74cb03247d wininet: Move URL-related tests to a separate file. 2006-03-14 18:49:19 +01:00
Robert Shearman 366fc247fc wininet: Make InternetCrackUrlW set the components related to net_loc
to NULL when net_loc isn't present in the input URL.
2006-03-14 17:51:51 +01:00
Robert Shearman 153aac0194 wininet: Move cookie-related stubs to cookie.c 2006-03-14 17:51:31 +01:00
Robert Shearman 5b5d45586e wininet: Implement setting of send and receive timeouts. 2006-03-14 17:50:41 +01:00
Robert Shearman 0252e5e875 wininet: Fix the conversion of NULL component values from InternetCreateUrlA. 2006-03-13 13:33:03 +01:00
Robert Shearman f18305b176 wininet: Host name isn't present when two slashes aren't present in InternetCrackUrl.
The test for "about:" in InternetCrackUrlW should be more general so
that only URLs without double slashes should also be assumed not to
have a host name.

Add another test for this case and remove an unreliable
InternetCreateUrl test.
2006-03-13 13:32:45 +01:00
Robert Shearman ae677d356c wininet: InternetCrackUrl should set nPort to the default port if not specified. 2006-03-13 13:32:20 +01:00
Robert Shearman ef20936c53 wininet: Don't duplicate empty strings. 2006-03-10 21:40:57 +01:00
Robert Shearman 1b8f7f0605 wininet: Fix InternetGetCookie with no matching cookies.
Return FALSE and an error of ERROR_NO_MORE_ITEMS from
InternetGetCookie when there are no cookies for the specified
domain. This fixes a bug in sending a blank cookie to HTTP servers.
2006-03-09 22:48:08 +01:00
Robert Shearman e4adc07333 wininet: Fix an off-by-one error in InternetCreateUrlW.
Fix an off-by-one error in the size of buffer used to store the port
number in InternetCreateUrlW.
2006-03-09 22:47:50 +01:00
Robert Shearman b0fcaf9d48 wininet: Further InternetCreateFileW fixes.
- Add the slash after the port number.
- Only add the port number if the host name is present.
2006-03-09 22:47:35 +01:00
Robert Shearman d3047aaeba wininet: If necessary, add a slash between the hostname and path in
InternetCreateUrlW.
2006-03-09 22:47:16 +01:00
Robert Shearman 8eab78c235 wininet: More InternetCreateUrlW fixes.
- Don't add double slashes for opaque URLs.
- The default port number for all other schemes is 0.
2006-03-09 22:47:00 +01:00
Robert Shearman e58a448c4a wininet: Parse the scheme the string in InternetCreateFileW.
Parse the scheme the string in InternetCreateFileW and rewrite
url_uses_default_port using schemes instead of strings.
2006-03-09 22:46:45 +01:00
Robert Shearman 02839948d2 wininet: Get the string for the scheme if specified only by the
INTERNET_SCHEME enumeration in InternetCreateUrlW.
2006-03-09 22:46:30 +01:00
Robert Shearman 01219c65aa wininet: The host name is optional in InternetCreateUrlW. 2006-03-09 22:46:07 +01:00
Robert Shearman ed90c868a9 wininet: Use an array of schemes for mapping from a string to an INTERNET_SCHEME.
Use an array of schemes so that it can be re-used for mapping from
INTERNET_SCHEME back to a string and simplify the code in
GetInternetSchemeW.
2006-03-09 22:45:56 +01:00
Robert Shearman e2b7bc1efd wininet: Fix Trace in InternetCreateUrl.
The url passed in to InternetCreateUrl is an out parameter, so don't
dump it.
2006-03-09 22:45:26 +01:00
Robert Shearman 0590025e3c wininet: Fix redirects with relative URIs instead of absolute URIs. 2006-03-09 22:45:18 +01:00
Robert Shearman 414d1ddeb9 wininet: Rewrite InternetCreateUrlW.
- Rewrite InternetCreateUrlW to respect the lengths passed in via the
  URL_COMPONENTS structure and fall back to a strlenW call when a
  length is zero.
- Expand the number of protocols supported when determining whether
  the port number should be added.
- Fix a test by passing in the correct length of scheme.
2006-03-06 20:00:53 +01:00
Robert Shearman 9981f337e3 wininet: Don't continue to connect to a secure server without SSL support since it won't work.
Don't continue to connect to a secure server without SSL support since
it won't work. Return an error back to the application instead.
2006-03-06 20:00:21 +01:00
Robert Shearman 8bfc85957a wininet: More tests for InternetCreateUrl.
Fix an InternetCreateUrl test so that it correctly sets the scheme
length and add tests which show the behaviour when the lengths are set
to zero and when the https scheme is used.
2006-03-06 20:00:08 +01:00
Victor Pelt 472ad3a450 wininet: Add stub for missing InternetSetOption. 2006-03-06 19:56:21 +01:00
Juan Lang 89529f8a8e wininet: Use CertNameToStr for INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT
and update comment.
2006-02-16 12:19:00 +01:00
Robert Shearman 7a2357a480 wininet: Documentation fixes. 2006-02-14 11:34:14 +01:00
Petr Tesarik 3a9b7b4b17 wininet: Czech language resources encoding fix. 2006-02-13 13:28:37 +01:00
Dmitry Timoshkov 03434c728e wininet: Fix InternetQueryOption test to pass under Windows. 2006-02-06 20:59:21 +01:00
Vijay Kiran Kamuju 7660614b0d wininet: Add tests for InternetQueryOption. 2006-02-06 14:12:22 +01:00
Eric Pouech e66e227dbe Fixes for missing prototypes warnings. 2006-02-06 13:13:28 +01:00
Fatih Aşıcı 7578e31735 wininet: Turkish translation. 2006-02-06 13:06:49 +01:00
Aric Stewart 8b0883576e wininet: INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT work.
Beginning of framework to implement handling of InternetQueryOption
for INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT.
2006-01-20 20:16:56 +01:00
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
Robert Shearman 7b4b4b7930 wininet: Handle the cache being full better in CommitUrlCacheEntryInternal.
Move the freeing of allocation blocks for an entry into
URLCache_DeleteEntry.
Call URLCache_DeleteEntry to rollback from failure in
CommitUrlCacheEntryInternal.
2005-12-31 13:21:19 +01:00
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