Yang Tse [Sun, 14 Aug 2011 13:45:19 +0000 (15:45 +0200)]
http NTLM: split http_ntlm.[ch] between http_ntlm.[ch] and curl_ntlm.[ch]
For modularity purposes, huge chunks of NTLM existing code is transformed into
functions to allow future internal code reuse.
Resulting three new libcurl private functions:
- Curl_ntlm_create_type1_message()
- Curl_ntlm_create_type3_message()
- Curl_ntlm_decode_type2_message()
Changing static ntlm_sspi_cleanup() into non-static Curl_ntlm_sspi_cleanup()
This 'refactoring' has been prepared by previous commits to allow that this
specific one does not introduce any change to existing code. All existing
goodness and badness previous to this commit should remain the same once it is
applied, the only difference should be that existing code is moved into
functions.
Given the quite big portions of code being moved around, and the importance of
change traceability, this commit has been done in such a way that it is
possible to perform a three-way diff from initial http_ntlm.[ch] to resulting
http_ntlm.[ch] and curl_ntlm.[ch] to actually verify that no functional change
is introduced here.
Notice that Steve Holme has provided several patches, but these included this
refactoring along with 'extra' fixes. I really wanted this 'clean' refactoring
done first, in order to allow discussion or committing of 'extra' fixes on a
case by case basis, so, I had to bite the bullet ;-)
Comments, line adjustments, compiler warning fixes, whatever, may follow
afterwards.
Yang Tse [Sat, 13 Aug 2011 22:05:05 +0000 (00:05 +0200)]
http_negotiate_sspi.c: fix compiler warning
warning C4706: assignment within conditional expression
Yang Tse [Sat, 13 Aug 2011 21:58:27 +0000 (23:58 +0200)]
http NTLM: change return type of Curl_input_ntlm() to CURLcode
Remove CURLntlm enum, no longer required.
Daniel Stenberg [Sat, 13 Aug 2011 21:03:43 +0000 (23:03 +0200)]
RELEASE-NOTES: synced with
a30ede868ab64
Three more bugs fixed, three more contributors mentioned
Daniel Stenberg [Sat, 13 Aug 2011 20:30:56 +0000 (22:30 +0200)]
VC6 makefiles: added embedded documentation
Just a note about the fact that all VC[6/8/9/10] makefiles are generated
from the VC6 one as source.
Daniel Stenberg [Sat, 13 Aug 2011 12:40:01 +0000 (14:40 +0200)]
cmake: find winsock when building on windows
When building on Windows, with CMake and mingw, curl fails to compile
because the CMake build system is not properly looking for the Winsock
libraries
Patch by: Pau Garcia i Quiles
Bug: http://curl.haxx.se/bug/view.cgi?id=3389231
Daniel Stenberg [Fri, 12 Aug 2011 22:51:16 +0000 (00:51 +0200)]
Curl_retry_request: check return code!
Curl_readrewind() was called without checking its return code, which
could lead to badness.
Bug: http://curl.haxx.se/bug/view.cgi?id=3349227
Daniel Stenberg [Fri, 12 Aug 2011 22:02:34 +0000 (00:02 +0200)]
ignore rtsp
Yang Tse [Fri, 12 Aug 2011 22:20:09 +0000 (00:20 +0200)]
http NTLM: update NTLM type-* message structure descriptions - followup
Daniel Stenberg [Fri, 12 Aug 2011 21:51:41 +0000 (23:51 +0200)]
docs: --delegation
Daniel Stenberg [Fri, 12 Aug 2011 12:48:32 +0000 (14:48 +0200)]
added --delegation
Using this option with an argument being set to one of
none/policy/always instructs libcurl how to deal with GSS
credentials. Or rather how it tells the server that delegation is fine
or not.
Yang Tse [Fri, 12 Aug 2011 20:01:27 +0000 (22:01 +0200)]
http NTLM: fix inclusion of curl_ntlm.h
Yang Tse [Fri, 12 Aug 2011 19:13:01 +0000 (21:13 +0200)]
http NTLM: update NTLM message structure notes
Steve Holme [Fri, 12 Aug 2011 18:02:01 +0000 (20:02 +0200)]
http NTLM: move portions of http_ntlm.h into new curl_ntlm.h
Yang Tse [Fri, 12 Aug 2011 17:51:50 +0000 (19:51 +0200)]
http NTLM: more adjustments in preparation of code refactoring
Use preprocessor symbol NTLM_BUFSIZE to define private NTLM buffer fixed size.
Use a SessionHandle 'data' pointer variable to ease refactoring.
Update NTLM type-* message structure descriptions.
Fix some more spacing and typos (Steve Holme).
Daniel Stenberg [Thu, 11 Aug 2011 12:54:44 +0000 (14:54 +0200)]
curl_easy_cleanup: clarify the callback situation
Yang Tse [Thu, 11 Aug 2011 07:06:06 +0000 (09:06 +0200)]
http NTLM: fix compiler warning
Steve Holme [Thu, 11 Aug 2011 00:18:16 +0000 (02:18 +0200)]
http NTLM: Tidied up more inconsistent spacing.
Moved NTLMSSP_SIGNATURE, HOSTNAME_MAX, SHORTPAIR and LONGQUARTET definitions in ready for move to curl_ntlm.c.
Used separate variables for Windows SSPI and native code to ease moving of code to curl_ntlm.c.
Fixed typographical erros where SPPI should be SSPI.
Fixed compilation warnings on 64-bit builds when calling Windows SSPI functions.
Daniel Stenberg [Wed, 10 Aug 2011 08:57:50 +0000 (10:57 +0200)]
rtsp.c: converted to C
Trimmed the newlines to be LF-only. Converted the source to plain C, to
use curl style indents, to compile warning-free with picky options and
fixed the minor fprintf() bug on line 245. Added to makefile.
Jim Hollinger [Wed, 10 Aug 2011 08:54:53 +0000 (10:54 +0200)]
rtsp.c: new example
Code from
http://code.google.com/p/rtsprequest/source/browse/trunk/rtsprequest.cpp
Daniel Stenberg [Wed, 10 Aug 2011 06:55:13 +0000 (08:55 +0200)]
TODO: remove curl_formpost in a future version
15.8 remove 'curl_httppost' from public
Yang Tse [Tue, 9 Aug 2011 20:56:17 +0000 (22:56 +0200)]
http NTLM: Further tiding up to libcurl standards
Steve Holme [Tue, 9 Aug 2011 20:53:48 +0000 (22:53 +0200)]
http NTLM: Tidied up http_ntlm prior to splitting the ntlm specific code
Daniel Stenberg [Tue, 9 Aug 2011 12:23:35 +0000 (14:23 +0200)]
TODO-RELEASE: issue #289 is fixed
289 - bug 3349227 "secure attribute in cookie does not work with equals sign"
Daniel Stenberg [Tue, 9 Aug 2011 12:02:05 +0000 (14:02 +0200)]
cookie parser: handle 'secure='
There are two keywords in cookie headers that don't follow the regular
name=value style: secure and httponly. Still we must support that they
are written like 'secure=' and then treat them as if they were written
'secure'. Test case 31 was much extended by Rob Ward to test this.
Bug: http://curl.haxx.se/bug/view.cgi?id=3349227
Reported by: "gnombat"
Daniel Stenberg [Tue, 9 Aug 2011 08:46:02 +0000 (10:46 +0200)]
curl.h: mark deprecated CURLOPT_ options on same line
This is to aid easier machine parsing and to make sure nobody who reads
these header lines can miss the info.
Daniel Stenberg [Tue, 9 Aug 2011 07:32:53 +0000 (09:32 +0200)]
RELEASE-NOTES: recounted and updated some numbers
Daniel Stenberg [Tue, 9 Aug 2011 07:12:51 +0000 (09:12 +0200)]
proxy protocol docs: rephrased and updated
Daniel Stenberg [Mon, 8 Aug 2011 17:40:45 +0000 (19:40 +0200)]
RELEASE-NOTES: synced with
45d883d88df7
Mention 5 bugixes and 1 change more
Daniel Stenberg [Mon, 8 Aug 2011 08:21:03 +0000 (10:21 +0200)]
CURLFORM_BUFFER: insert filename as documented
A regression where CURLFORM_BUFFER stopped to properly insert the file
name part in the formpart. Bug introduced in commit
f851f768578dc096.
Added CURLFORM_BUFFER use to test 554 to verify this.
Bug: http://curl.haxx.se/mail/lib-2011-07/0176.html
Reported by: Henry Ludemann
Yang Tse [Mon, 8 Aug 2011 16:25:01 +0000 (18:25 +0200)]
curl-compilers.m4: serial number bump
Yang Tse [Mon, 8 Aug 2011 15:50:16 +0000 (17:50 +0200)]
curl-compilers.m4: CURL_CONVERT_INCLUDE_TO_ISYSTEM adjustments:
Add CURL_CHECK_COMPILER as a requirement.
Ensure macro does nothing unless GNU_C or CLANG compiler is used.
This should allow usage of this macro in unforeseen placements.
Daniel Stenberg [Mon, 8 Aug 2011 09:10:17 +0000 (11:10 +0200)]
SOCKS: fix the connect timeout
The connect timeout logic when using SOCKS was done wrong
Bug: http://curl.haxx.se/mail/lib-2011-07/0177.html
Reported by: "Spoon Man"
Daniel Stenberg [Mon, 8 Aug 2011 08:41:35 +0000 (10:41 +0200)]
ftp_doing: bail out on error properly
When a failure has been detected we must abort immdiately.
Bug: http://curl.haxx.se/mail/lib-2011-07/0177.html
Reported by: "Spoon Man"
Daniel Stenberg [Mon, 8 Aug 2011 08:13:09 +0000 (10:13 +0200)]
s/7.21.8/7.22.0
Daniel Stenberg [Mon, 8 Aug 2011 07:27:53 +0000 (09:27 +0200)]
version bump: next release is 7.22.0
Daniel Stenberg [Mon, 8 Aug 2011 07:25:59 +0000 (09:25 +0200)]
VERSIONS: clarify our versioning concept
Drop the pre-release part from this text as we don't use that in
practise since many years.
Update the phrasing to reflect our more strict interpretation:
http://curl.haxx.se/mail/lib-2011-08/0064.html
Cristian Rodríguez [Wed, 3 Aug 2011 20:20:45 +0000 (22:20 +0200)]
OpenSSL: Use SSL_MODE_RELEASE_BUFFERS if available, reduces memory use
See also :
http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html
http://www.imperialviolet.org/2010/06/25/overclocking-ssl.html
Signed-off-by: Cristian Rodríguez <crrodriguez@opensuse.org>
Daniel Stenberg [Sun, 7 Aug 2011 20:54:37 +0000 (22:54 +0200)]
TODO-RELEASE: close issue #292
Fixed:
292 - bug 3385258 "Addendum to 3370895"
Basically brushing up commit
27b8814017a19
Daniel Stenberg [Sun, 7 Aug 2011 20:26:57 +0000 (22:26 +0200)]
Curl_pgrsStartNow: clear all bits except HIDE
Bug: http://curl.haxx.se/bug/view.cgi?id=3385258
Reported by: Ben Winslow
Daniel Stenberg [Sun, 7 Aug 2011 17:55:23 +0000 (19:55 +0200)]
readwrite_data: improved C-E decoding error message
Yang Tse [Sun, 7 Aug 2011 06:45:57 +0000 (08:45 +0200)]
BSD-style lwIP TCP/IP stack support - followup
lwIP library initialization.
Yang Tse [Sun, 7 Aug 2011 01:05:04 +0000 (03:05 +0200)]
NTLM single-sign on adjustments (IX)
Use swrite/sread instead of write/read to avoid SIGPIPE
Yang Tse [Sat, 6 Aug 2011 17:18:43 +0000 (19:18 +0200)]
config-win32.h: comments adjustments
Daniel Stenberg [Sat, 6 Aug 2011 13:24:48 +0000 (15:24 +0200)]
TODO-RELEASE: committed issue #304
304 - "Async-DNS-resolve-thread gets started even when a dotted IP is
provided" by Christian H<E4>gele
http://curl.haxx.se/mail/lib-2011-08/0009.html
Christian Hägele [Sat, 6 Aug 2011 13:21:42 +0000 (15:21 +0200)]
asyn-thread: check for dotted addresses before thread starts
Daniel Stenberg [Sat, 6 Aug 2011 10:17:49 +0000 (12:17 +0200)]
TODO-RELEASE: Add #307 two issues by "Spoon Man"
Yang Tse [Fri, 5 Aug 2011 19:24:59 +0000 (21:24 +0200)]
checksrc.pl: add quotes to var
Yang Tse [Fri, 5 Aug 2011 19:01:39 +0000 (21:01 +0200)]
keep a single copy of config-win32.h in version control repository - followup
Allow configure builds to generate src/config-win32.h
Skip checksrc on src/config-win32.h contents already checked at lib/config-win32.h
Allow multiple -W in checksrc.pl
Yang Tse [Fri, 5 Aug 2011 14:32:20 +0000 (16:32 +0200)]
BSD-style lwIP TCP/IP stack support - docs/INSTALL blurb
Yang Tse [Fri, 5 Aug 2011 13:42:05 +0000 (15:42 +0200)]
BSD-style lwIP TCP/IP stack support - followup
Yang Tse [Fri, 5 Aug 2011 11:24:02 +0000 (13:24 +0200)]
git ignore src/config-win32.h
Yang Tse [Fri, 5 Aug 2011 11:20:22 +0000 (13:20 +0200)]
keep a single copy of config-win32.h in version control repository.
maketgz and buildconf.bat updated to reflect this.
Daniel Stenberg [Thu, 4 Aug 2011 23:12:24 +0000 (01:12 +0200)]
RELEASE-NOTES: synced with
afe88d85f40e1
Daniel Stenberg [Thu, 4 Aug 2011 22:46:59 +0000 (00:46 +0200)]
test710: verify that --proxy socks5://hostname works
Daniel Stenberg [Thu, 4 Aug 2011 22:44:40 +0000 (00:44 +0200)]
create_conn: mark non-HTTP proxies accordingly
A proxy could be marked 'httpproxy' wrongly before if set with an
environment variable or with the CURLOPT_PROXY option with a socks*://
prefix or similar.
Added test 710 to verify
Bug: http://curl.haxx.se/mail/lib-2011-07/0194.html
Daniel Stenberg [Thu, 4 Aug 2011 22:28:03 +0000 (00:28 +0200)]
test709: HTTP GET via SOCKS5 set in environment
Daniel Stenberg [Thu, 4 Aug 2011 21:27:05 +0000 (23:27 +0200)]
TODO-RELEASE: issue #293 is done
Fixed:
293 - from http://bugzilla.redhat.com/723075 "curl segfaults"
Daniel Stenberg [Thu, 4 Aug 2011 21:22:48 +0000 (23:22 +0200)]
segfault fixed
When using both -J and a single -O with multiple URLs, a missing init
could cause badness.
Bug: http://curl.haxx.se/mail/lib-2011-07/0126.html and
http://bugzilla.redhat.com/723075
Reported by: Paul Howarth and Garrett Holmstrom
Daniel Stenberg [Thu, 4 Aug 2011 21:20:14 +0000 (23:20 +0200)]
test1313: test content-disposition with uneven quotes
Daniel Stenberg [Thu, 4 Aug 2011 21:14:12 +0000 (23:14 +0200)]
parse_filename: deal with escaped quotes
Yang Tse [Thu, 4 Aug 2011 19:27:29 +0000 (21:27 +0200)]
BSD-style lwIP TCP/IP stack support:
Allow compilation of libcurl and curl using BSD-style lwIP on Win32.
In order to compile libcurl and curl with this support it is necessary
to edit files lib/config-win32.h and src/config-win32.h and uncomment
a line to make definition of preprocessor symbol USE_LWIPSOCK visible.
Afterwards you can compile as usual.
In order to use compiled library with BSD-style lwIP TCP/IP stack in
your program it is mandatory that you include lwIP header file <lwip/opt.h>
before including <curl/curl.h> or <curl/multi.h>
Compilation has been verified with lwIP 1.4.0 and contrib-1.4.0 from:
http://download.savannah.gnu.org/releases/lwip/lwip-1.4.0.zip
http://download.savannah.gnu.org/releases/lwip/contrib-1.4.0.zip
Have fun!
Yang Tse [Thu, 4 Aug 2011 18:47:31 +0000 (20:47 +0200)]
curl.h: untangle a preprocessor block, removing duplicate sys/types.h inclusion
Daniel Stenberg [Thu, 4 Aug 2011 15:51:08 +0000 (17:51 +0200)]
TODO-RELEASE: issue #290 fixed
Closed this entry:
290 - bug 3375603 "curl has problem with remote names containing ';'"
Daniel Stenberg [Thu, 4 Aug 2011 15:48:45 +0000 (17:48 +0200)]
-J: support ';' in quoted file names
Content-disposition headers can provide file names with semicolons which
previously would be cut off at that point.
Added test case 1311 and 1312 to verify -J.
Bug: http://curl.haxx.se/bug/view.cgi?id=3375603
Reported by: Peter Hjalmarsson
Daniel Stenberg [Thu, 4 Aug 2011 15:36:31 +0000 (17:36 +0200)]
getpart.pm: when no part match, return blank when section ends
Daniel Stenberg [Thu, 4 Aug 2011 15:36:00 +0000 (17:36 +0200)]
runtests.pl: support option=no-include
Daniel Stenberg [Thu, 4 Aug 2011 09:11:03 +0000 (11:11 +0200)]
TODO-RELESE: #306 - SSL Sessions shared
Daniel Stenberg [Wed, 3 Aug 2011 22:22:04 +0000 (00:22 +0200)]
TODO-RELEASE: updated with current issues
Kamil Dudka [Wed, 3 Aug 2011 16:00:07 +0000 (18:00 +0200)]
curl_gssapi: add a missing include of sendf.h
... to avoid build failure when GSS_C_DELEG_POLICY_FLAG is not defined.
Reported by: Paul Howarth
Kamil Dudka [Mon, 25 Jul 2011 09:49:26 +0000 (11:49 +0200)]
curl_gssapi: refine the handling of CURLOPT_GSSAPI_DELEGATION
Suggested by Richard Silverman.
Adam Tkac [Tue, 19 Jul 2011 17:10:43 +0000 (19:10 +0200)]
Add new CURLOPT_GSSAPI_DELEGATION option.
Curl_gss_init_sec_context got new parameter - SessionHandle.
Signed-off-by: Adam Tkac <atkac@redhat.com>
Yang Tse [Sun, 31 Jul 2011 20:36:54 +0000 (22:36 +0200)]
configure: add check for <sys/wait.h>
Yang Tse [Sun, 31 Jul 2011 18:44:41 +0000 (20:44 +0200)]
NTLM single-sign on adjustments (VIII)
Use preprocessor symbols WINBIND_NTLM_AUTH_ENABLED and WINBIND_NTLM_AUTH_FILE
for Samba's winbind daemon ntlm_auth helper code implementation and filename.
Retain preprocessor symbol USE_NTLM_SSO for NTLM single-sign-on feature
availability implementation independent.
For test harness, prefix NTLM_AUTH environment vars with CURL_
Refactor and rename configure option --with-ntlm-auth to --enable-wb-ntlm-auth[=FILE]
Dan Fandrich [Fri, 29 Jul 2011 16:32:32 +0000 (09:32 -0700)]
Renumbered test2005 to test1310
The 20xx range is for multiple sequential tests.
Yang Tse [Fri, 29 Jul 2011 18:29:48 +0000 (20:29 +0200)]
curl-functions.m4 serial # bump
Yang Tse [Fri, 29 Jul 2011 18:24:37 +0000 (20:24 +0200)]
Revert "configure: additional flag checks for fcntl() socket() and socketpair()"
This reverts commit
bc6e6a465ad0b9f9757c4385698fe5f255dd125b.
Yang Tse [Fri, 29 Jul 2011 16:28:04 +0000 (18:28 +0200)]
configure: additional flag checks for fcntl() socket() and socketpair()
Yang Tse [Fri, 29 Jul 2011 14:27:15 +0000 (16:27 +0200)]
NTLM single-sign on adjustments (VII)
Initialize variables when connectdata object is created.
Yang Tse [Fri, 29 Jul 2011 11:25:52 +0000 (13:25 +0200)]
socketpair() usage tracking to allow fd leak detection
Yang Tse [Fri, 29 Jul 2011 11:21:30 +0000 (13:21 +0200)]
fix compiler warning
Dan Fandrich [Thu, 28 Jul 2011 21:03:07 +0000 (14:03 -0700)]
Avoid a "shadows global declaration" warning on old MIT Kerberos
Defining NCOMPAT eliminates the backwards-compatibility macros
that are the source of the problem and which we don't need,
anyway.
Yang Tse [Thu, 28 Jul 2011 20:47:42 +0000 (22:47 +0200)]
NTLM single-sign on adjustments (VI)
Fix compiler warning
Dan Fandrich [Thu, 28 Jul 2011 19:27:55 +0000 (12:27 -0700)]
Give the NTLM SSO helper a moment to cleanly shut down if needed
Dan Fandrich [Thu, 28 Jul 2011 19:41:44 +0000 (12:41 -0700)]
Removed an extraneous \n that violated the SSO daemon protocol
This caused fake_ntlm to abort due to an invalid command
causing sporadic test 2005 failures.
Yang Tse [Thu, 28 Jul 2011 19:12:41 +0000 (21:12 +0200)]
NTLM single-sign on adjustments (V)
Enhance test harness fake_ntlm logging upon invalid input.
Dan Fandrich [Thu, 28 Jul 2011 01:07:02 +0000 (18:07 -0700)]
Fixed a couple of memory leaks in NTLM SSO support
Yang Tse [Wed, 27 Jul 2011 18:10:02 +0000 (20:10 +0200)]
NTLM single-sign on adjustments (IV)
Fix compiler warning
Yang Tse [Wed, 27 Jul 2011 17:12:06 +0000 (19:12 +0200)]
NTLM single-sign on adjustments (III)
Provide some error tracing and fix execl() calling.
Yang Tse [Wed, 27 Jul 2011 17:04:55 +0000 (19:04 +0200)]
NTLM single-sign on adjustments (II)
Ensure test harness fake_ntlm main function can properly handle arguments.
Yang Tse [Wed, 27 Jul 2011 16:58:21 +0000 (18:58 +0200)]
NTLM single-sign on adjustments (I)
Use fake_ntlm absolute filename in NTLM_AUTH environment variable for test
2005 definition.
Dan Fandrich [Tue, 26 Jul 2011 19:47:04 +0000 (12:47 -0700)]
Fixed test 2005 to work in out-of-tree builds
Also, set the test number in the test data file so fake_ntlm can
be reused in future tests.
Yang Tse [Tue, 26 Jul 2011 19:36:35 +0000 (21:36 +0200)]
fix compiler warning
Yang Tse [Tue, 26 Jul 2011 17:42:16 +0000 (19:42 +0200)]
fix compiler warning
Yang Tse [Tue, 26 Jul 2011 15:23:27 +0000 (17:23 +0200)]
stdio.h, stdlib.h, string.h, stdarg.h and ctype.h inclusion done in setup_once.h
Yang Tse [Mon, 25 Jul 2011 03:30:14 +0000 (05:30 +0200)]
WIN32 io.h and fcntl.h inclusion done in setup_once.h
Yang Tse [Mon, 25 Jul 2011 02:08:08 +0000 (04:08 +0200)]
time.h and sys/time.h inclusion conditionally done in setup_once.h
Yang Tse [Mon, 25 Jul 2011 01:10:24 +0000 (03:10 +0200)]
errno.h inclusion conditionally done in setup_once.h - followup
Yang Tse [Sun, 24 Jul 2011 02:39:43 +0000 (04:39 +0200)]
errno.h inclusion conditionally done in setup_once.h
Ben Winslow [Fri, 22 Jul 2011 20:50:58 +0000 (22:50 +0200)]
progress: reset flags at transfer start
When an easy handle is used to download an URI which has no
Content-Length header (or equivalent) after downloading an URI which
does, the value from the previous transfer is reused and returned by
CURLINFO_CONTENT_LENGTH_DOWNLOAD. This is because the progress flags
(used to determine whether such a header was received) are not reset
between transfers.
Bug: http://curl.haxx.se/bug/view.cgi?id=3370895