aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2011-09-02Fix NTLM winbind support to pass the torture testsDan Fandrich
Calling sclose() both in the child and the parent fools the socket leak detector into thinking it's been closed twice. Calling close() in the child instead overcomes this problem. It's not as portable as the sclose() macro, but this code is highly POSIX-specific, anyway.
2011-09-02MemoryTracking: fix logging of free() calls done where Curl_safefree is calledYang Tse
Just internal stuff... Curl_safefree is now a macro defined in memdebug.h instead of a function prototyped in url.h and implemented in url.c, so inclusion of url.h is no longer required in order to simply use Curl_safefree. Provide definition of macro WHILE_FALSE in setup_once.h in order to allow other macros such as DEBUGF and DEBUGASSERT, and code using it, to compile without 'conditional expression is constant' warnings. The WHILE_FALSE stuff fixes 150+ MSVC compiler warnings.
2011-09-02transfer.c: fix parentheses/braces placement for vi/emacs delimiter matchingYang Tse
2011-09-02transfer.c: fix loadhostpairs() OOM handlingYang Tse
2011-09-01hostip.c: return immediately from Curl_resolv_timeout() upon expired timeout.Yang Tse
Ensure existing logic in Curl_resolv_timeout() is not subverted upon getting a negative timeout from resolve_server(). The timeout in resolve_server() could be checked to avoid calling Curl_resolv_timeout() with an expired timeout, but fixing this in this way allows existing logic in resolve_server() to be kept unchanged.
2011-09-01ftp.c: fix some leaks torture tests detected 2011-08-30 - follow-upYang Tse
follow-up for commit d20408e8
2011-08-31ssh.c: fix realloc() OOM handlingYang Tse
2011-08-31ftp.c: fix some leaks torture tests detected 2011-08-30 - follow-upYang Tse
follow-up for commit c06de200
2011-08-31fix some leaks torture tests detected 2011-08-30Yang Tse
2011-08-31fix some leaks torture tests detected 2011-08-30Yang Tse
2011-08-29pingpong.c: fix Curl_pp_vsendf() arbitrary restrictions on command lengthYang Tse
This removes command length restrictions on calling functions.
2011-08-28NTLM: header inclusion cleanup follow-upYang Tse
2011-08-28NTLM: header inclusion cleanupYang Tse
2011-08-28NTLM: END of refactoring/splitting/movingYang Tse
First: File curl_ntlm.h renamed curl_ntlm_msgs.h File curl_ntlm.c renamed curl_ntlm_msgs.c Afterwards: File http_ntlm.c renamed curl_ntlm.c File http_ntlm.h renamed curl_ntlm.h
2011-08-28NTLM: move NTLM core specifics into curl_ntlm_core.[ch]Yang Tse
2011-08-27NTLM_WB: move NTLM_WB specifics into curl_ntlm_wb.[ch]Yang Tse
2011-08-27NTLM_WB: final congruency naming adjustmentsYang Tse
Configure script option --enable-wb-ntlm-auth renamed to --enable-ntlm-wb Configure script option --disable-wb-ntlm-auth renamed to --disable-ntlm-wb Preprocessor symbol WINBIND_NTLM_AUTH_ENABLED renamed to NTLM_WB_ENABLED Preprocessor symbol WINBIND_NTLM_AUTH_FILE renamed to NTLM_WB_FILE Test harness env var CURL_NTLM_AUTH renamed to CURL_NTLM_WB_FILE Static function wb_ntlm_close renamed to ntlm_wb_cleanup Static function wb_ntlm_initiate renamed to ntlm_wb_init Static function wb_ntlm_response renamed to ntlm_wb_response
2011-08-27NTLM single-sign on adjustments (XI)Yang Tse
Feature string literal NTLM_SSO renamed to NTLM_WB. Preprocessor symbol USE_NTLM_SSO renamed to WINBIND_NTLM_AUTH_ENABLED. curl's 'long' option 'ntlm-sso' renamed to 'ntlm-wb'. Fix some comments to make clear that this is actually a NTLM delegation.
2011-08-26Curl_read_plain: indent codeDaniel Stenberg
2011-08-26NTLM single-sign on adjustments (X)Yang Tse
Functions renamed: Curl_output_ntlm_sso -> Curl_output_ntlm_wb sso_ntlm_close -> wb_ntlm_close sso_ntlm_response -> wb_ntlm_response sso_ntlm_initiate -> wb_ntlm_initiate Preprocessor symbols renamed: CURLAUTH_NTLM_SSO -> CURLAUTH_NTLM_WB CURL_VERSION_NTLM_SSO -> CURL_VERSION_NTLM_WB
2011-08-25http NTLM: refactoring followupSteve Holme
Output of Curl_ntlm_create_type1_message() and Curl_ntlm_create_type3_message() functions is now already base64 encoded.
2011-08-24include limits.h for INT_MAXYang Tse
2011-08-24add missing semicolonsYang Tse
2011-08-24add missing semicolonsDaniel Stenberg
2011-08-24safefree use: fix compiler warningDaniel Stenberg
include the prototype header
2011-08-24SMTP authentication: fix ordering of preferred authentication methodSteve Holme
Fixed the order of the preferred SMTP authentication method to: AUTH CRAM-MD5, AUTH LOGIN then AUTH PLAIN. AUTH PLAIN should be the last as it slightly more insecure than AUTH LOGIN as the username and password are sent together - there is no handshaking between the client and server like there is with AUTH LOGIN.
2011-08-24base64: fix Curl_base64_encode and Curl_base64_decode interfacesYang Tse
Previous interfaces for these libcurl internal functions did not allow to tell apart a legitimate zero size result from an error condition. These functions now return a CURLcode indicating function success or otherwise specific error. Output size is returned using a pointer argument. All usage of these two functions, and others closely related, has been adapted to the new interfaces. Relative error and OOM handling adapted or added where missing. Unit test 1302 also adapted.
2011-08-22http NTLM: remaining bits from 0001-Moved-ntlm-[...]-curl_ntlm-mod_3.patchSteve Holme
* Added function comments: - Curl_ntlm_decode_type2_message - Curl_ntlm_create_type1_message - Curl_ntlm_create_type3_message * Modification of ntlm processing state to NTLMSTATE_TYPE2 is now done only when Curl_ntlm_decode_type2_message() has fully succeeded.
2011-08-21zlib: ensure user provided memory functions are used by zlib, when givenYang Tse
As a bonus, this lets our MemoryTracking subsystem track zlib operations. And also fixes a shortcut some zlib 1.2.x versions took using malloc() instead of calloc(), which would trigger memory debuggers warnings on memory being used without having been initialized.
2011-08-20MemoryTracking: adjust initialization callingYang Tse
Calling of curl_memdebug() was still done with a pending free()
2011-08-19tcpconnect: follow-up commit after b998d95bDaniel Stenberg
As I modified conn->bits.tcpconnect to become an array that holds one bool for each potential connection all uses of that struct field must index it correctly.
2011-08-19ssh.c: add PATH_MAX definition for WIN32Yang Tse
2011-08-19connect: set TIMER_CONNECTDaniel Stenberg
When connecting, make sure TIMER_CONNECT is set.
2011-08-18FTP: fix proxy connect race conditionDaniel Stenberg
When using the multi interface, a SOCKS proxy, and a connection that wouldn't immediately consider itself connected (which my Linux tests do by default), libcurl would be tricked into doing _two_ connects to the SOCKS proxy when it setup the data connection and then of course the second attempt would fail miserably and cause error. This problem is a regression that was introduced by commit 4a42e5cdaa344755 that was introduced in the 7.21.7 release. Bug: http://curl.haxx.se/mail/lib-2011-08/0199.html Reported by: Fabian Keil
2011-08-18Curl_SOCKS4: minor code compressionDaniel Stenberg
2011-08-18zlib: enforce full initialization of our data space z_stream structsYang Tse
2011-08-17VC makefiles: fixed variable name mistakeDaniel Stenberg
2011-08-17MemoryTracking: adjust curl_domalloc() and curl_dofree() memory fillingYang Tse
Until 2011-08-17 libcurl's Memory Tracking feature also performed automatic malloc and free filling operations using 0xA5 and 0x13 values. Our own preinitialization of dynamically allocated memory might be useful when not using third party memory debuggers, but on the other hand this would fool memory debuggers into thinking that all dynamically allocated memory is properly initialized. As a default setting, libcurl's Memory Tracking feature no longer performs preinitialization of dynamically allocated memory on its own. If you know what you are doing, and really want to retain old behavior, you can achieve this compiling with preprocessor symbols CURL_MT_MALLOC_FILL and CURL_MT_FREE_FILL defined with appropriate values.
2011-08-16MemoryTracking: make curl_docalloc() call calloc() avoiding our zero fillYang Tse
2011-08-15MSVC makefiles: provide SSH build targetsDaniel Stenberg
"release-ssl-ssh2-zlib" and "debug-ssl-ssh2-zlib" are two new makefile targets that build libcurl with MSVC and link with libssh2 Bug: http://curl.haxx.se/bug/view.cgi?id=3388920 Reported by: "kdekker"
2011-08-15Curl_pgrsStartNow: clear all flags but HIDEDaniel Stenberg
As bug 3385258 pointed out but I missed up the fix for. This is another take at a fix. Bug: http://curl.haxx.se/bug/view.cgi?id=3392101 Reported by: Wu Yongzheng
2011-08-15nss: start with no database if the selected database is brokenKamil Dudka
Bug: https://bugzilla.redhat.com/728562
2011-08-15http NTLM: reinstate "nssg.h" "curl_sspi.h" header inclusionsYang Tse
2011-08-14telnet: allow programatic use on WindowsDaniel Stenberg
Summary of the issue can be found at: http://curl.haxx.se/mail/lib-2010-04/0367.html That patch only updated the unix sockets code - the winsock code was not updated and no longer works the same was as the unix code. This change updates the windows code accordingly. Bug: http://curl.haxx.se/bug/view.cgi?id=3163118
2011-08-14http NTLM: reinstate "memdebug.h" header inclusionYang Tse
Inclusion of header "memdebug.h" in http_ntlm.c got lost in commit 98fb0ef7.
2011-08-14RTSP: GET_PARAMETER requests have a bodyDaniel Stenberg
Bug: http://curl.haxx.se/bug/view.cgi?id=3383692
2011-08-14Curl_output_ntlm: remove unused variableDaniel Stenberg
2011-08-14http NTLM: fix 8 compiler warningsYang Tse
Strict splitting of http_ntlm.[ch] may trigger 8 compiler warnings when building with some compilers and strict compiler warnings enabled, depending on other specific configuration options some could get triggered or not. Seven are related with 'unused function parameters' and another one with 'var may be used before its value is set'.
2011-08-14http NTLM: split http_ntlm.[ch] between http_ntlm.[ch] and curl_ntlm.[ch]Yang Tse
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.
2011-08-14http_negotiate_sspi.c: fix compiler warningYang Tse
warning C4706: assignment within conditional expression