aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2013-02-08ntlm: fix memory leakGisle Vanem
Running tests\libtest\libntlmconnect.exe reveals a 1 byte (!) leak in ./lib/curl_ntlm_msgs.c: perl ..\memanalyze.pl c:memdebug.curl Leak detected: memory still allocated: 1 bytes At 9771e8, there's 1 bytes. allocated by curl_ntlm_msgs.c:399 Snippet from curl_ntlm_msgs.c: /* setup ntlm identity's domain and length */ dup_domain.tchar_ptr = malloc(sizeof(TCHAR) * (domlen + 1)); (my domlen == 0). 'dup_domain.tbyte_ptr' looks to be freed in Curl_ntlm_sspi_cleanup() via 'ntlm->identity.Domain'. But I see no freeing of 'dup_domain.tchar_ptr'.
2013-02-08DONE: consider callback-aborted transfers prematureDaniel Stenberg
This bug report properly identified that when doing SMTP and aborting the transfer with a callback, it must be considered aborted prematurely by the code to avoid QUIT etc to be attempted as that would cause a hang. The new test case 1507 verifies this behavior. Reported by: Patricia Muscalu Bug: http://curl.haxx.se/bug/view.cgi?id=1184
2013-02-07darwinssl: Fix build under LeopardNick Zitzmann
It turns out that Leopard (OS X 10.5) doesn't have constants for the ECDH ciphers in its headers, so the cases for them have been taken out of the build when building under Leopard. Also added a standard function for getting a string description of a SecCertificateRef.
2013-02-07imap: Added support for SASL-IR extension (Part 2)Steve Holme
Modified imap_authenticate() to add support for sending the initial response with the AUTHENTICATE command, as per RFC4959.
2013-02-07smtp: Updated SMTP_AUTH_PASSWD state constantSteve Holme
Changed the SMTP_AUTH_PASSWD state constant to SMTP_AUTH_LOGIN_PASSWD to better describe the state as the second part of an AUTH LOGIN command, as well as for consistency with the imap and pop3 modules.
2013-02-07imap: Added support for SASL-IR extension (Part 1)Steve Holme
Introduced detection of the SASL-IR capability, in order to add support for sending the initial response with the AUTHENTICATE command, as per RFC4959.
2013-02-07imap: Changed response tag generation to be completely uniqueSteve Holme
Updated the automatic response tag generation to follow the examples given in RC3501, which list a 4 character string such as A001, A002, etc. As a unique identifier should be generated for each command the string generation is based on the connection id and the incrementing command id.
2013-02-06imap: Small variable rename in preparation for upcoming changeSteve Holme
Renamed a couple of variables and updated some comments in preparation for upcoming command id / response tag change.
2013-02-06msvc: move Makefile.msvc.names into winbuild/Daniel Stenberg
In an attempt to clear up misc files from the root dir
2013-02-06email: Moved starttls code in separate functionsSteve Holme
To help maintain the readability of the code in imap.c, pop3.c and smtp.c moved the starttls code into state_starttls() functions.
2013-02-06vms: config-vms.h is removed, no use trying to distribute itDaniel Stenberg
2013-02-06Curl_sasl_create_digest_md5_message: fix buffer overflowEldar Zaitov
When negotiating SASL DIGEST-MD5 authentication, the function Curl_sasl_create_digest_md5_message() uses the data provided from the server without doing the proper length checks and that data is then appended to a local fixed-size buffer on the stack. This vulnerability can be exploited by someone who is in control of a server that a libcurl based program is accessing with POP3, SMTP or IMAP. For applications that accept user provided URLs, it is also thinkable that a malicious user would feed an application with a URL to a server hosting code targetting this flaw. Bug: http://curl.haxx.se/docs/adv_20130206.html
2013-02-06setup-vms.h: post VMS patch cleanup - IIIYang Tse
- rename post-config-vms.h to setup-vms.h - move its inclusion into proper location in curl_setup.h
2013-02-05imap.h: Corrected incorrect comment clarificationSteve Holme
Corrected comment clarification made in commit 167717b8069a.
2013-02-05VMS: fix and generate the VMS build configJohn E. Malmberg
config_h.com is a new file that generates a config.h file based on the curl_config.h.in file and a quick scan of the configure script. This is actually a generic procedure that is shared with other VMS packages. The existing pre-built config-vms.h had over 100 entries that were not correct and in some cases conflicted with the build options available in the build_vms.com. generate_config_vms_h_curl.com is a helper procedure to the config_h.com. It covers the cases that the generic config_h.com is not able to figure out, and accepts input from the build_vms.com procedure. build_curlbuild_h.com is a new file to generate the curlbuild.h file that Curl is now using when it is using a curl_config.h file. post-config-vms.h is a new file that is needed to provide VMS specific definitions, and most of them need to be set before the system header files are included. The VMS build procedure is fixed: 1. Fixed to link in the correct HP ssl library. 2. Fixed to detect if HP Kerberos is installed. 3. Fixed to detect if HP LDAP is installed. 4. Fixed to detect if gnv$libzshr is installed. 5. Simplified the input parameter parsing to not use a loop. 6. Warn that 64 bit pointer option support is not complete in comments. 7. Default to IEEE floating if platform supports it so resulting libcurl will be compatible with other open source projects on VMS. 8. Default to LARGEFILE if platform supports it. 9. Default to enable SSL, LDAP, Kerberos, libz if the libraries are present. 10. Build with exact case global symbols for libcurl. 11. Generate linker option file needed. 12. Compiler list option only commonly needed items. 13. fulllist option for those who really want it. 14. Create debug symbol file on Alpha, IA64.
2013-02-05Curl_proxyCONNECT: return once CONNECT is sentDaniel Stenberg
By doing this unconditionally, we infer a simpler and more defined behavior. This also has the upside that test 1021 no longer fails for me even if I run with valgrind. Also fixed some wrong comments.
2013-02-05email: Reworked comments in the endofresp() functionsSteve Holme
Tidied up the comments in the endofresp() functions to be more meaningful prior to release.
2013-02-05schannel: Removed extended error connection setup flagMarc Hoersken
According KB975858 this flag may cause problems on Windows 7 and Windows Server 2008 R2 systems. Extended error information is not currently used by libcurl and therefore not a requirement. The flag may improve the SSL-connection shutdown in case of an error. This means it might be a good improvement in the future. Fixes bug/issue #1187 - thanks for the report
2013-02-05singleipconnect: Update *sockp for all CURLE_OKTor Arntsen
The 56b7c87c7 change left a case where a good sockfd was not copied to *sockp before returning with CURLE_OK
2013-02-05curl_easy_perform: Value stored to 'mcode' is never readDaniel Stenberg
pointed out by clang-analyzer
2013-02-05singleipconnect: remove dead assignmentDaniel Stenberg
pointed out by clang-analyzer
2013-02-05CURLMOPT_MAXCONNECTS: restore functionalityLinus Nielsen Feltzing
When a connection is no longer used, it is kept in the cache. If the cache is full, the oldest idle connection is closed. If no connection is idle, the current one is closed instead.
2013-02-04email: Provided extra comments following recent pop3/imap fixesSteve Holme
Provided additional clarification about the logic of the authenticate() functions following commit 6b6bdc83bd36 and b4270a9af1d0.
2013-02-04pop3.c: Updated variable names to use shorter / more readable variantSteve Holme
Tidied up code from commit 6b6bdc83bdUpdated where a few instances of the pop3c struct variable used the longer conndata struct rather than matching what other code in pop3_authenticate() used.
2013-02-03imap: Fixed no known authentication mechanism when fallback is requiredSteve Holme
Fixed an issue where (lib)curl is compiled without support for a supported challenge-response based SASL authentication mechanism, such as CRAM-MD5 or NTLM, the server doesn't support the LOGIN or PLAIN mechanisms and (lib)curl doesn't fallback to Clear Text authentication. Note: In order to fallback to Clear Text authentication properly this fix adds support for the LOGINDISABLED server capability. imap: Fixed no known authentication mechanism when fallback is required Fixed an issue where (lib)curl is compiled without support for a supported challenge-response based SASL authentication mechanism, such as CRAM-MD5 or NTLM, the server doesn't support the LOGIN or PLAIN mechanisms and (lib)curl doesn't fallback to Clear Text authentication. Note: In order to fallback to Clear Text authentication properly this fix adds support for the LOGINDISABLED server capability. Related bug: http://curl.haxx.se/mail/lib-2013-02/0004.html Reported by: Stanislav Ivochkin
2013-02-03pop3: Fixed no known authentication mechanism when fallback is requiredSteve Holme
Fixed an issue where (lib)curl is compiled without support for a supported challenge-response based SASL authentication mechanism, such as CRAM-MD5 or NTLM, the server doesn't support the LOGIN or PLAIN mechanisms and (lib)curl doesn't fallback to APOP or Clear Text authentication. Bug: http://curl.haxx.se/mail/lib-2013-02/0004.html Reported by: Stanislav Ivochkin
2013-02-01singleipconnect: simplify and clean upDaniel Stenberg
Remove timeout argument that's never used. Make the actual connection get detected on a single spot to reduce code duplication. Store the IPv6 state already when the connection is attempted.
2013-02-01Curl_perfom: removedDaniel Stenberg
Curl_perfom is no longer used anywhere since the always-multi commit c43127414d89ccb9, and some related functions were used only from within Curl_perfom.
2013-01-29darwinssl: Fix bug where packets were sometimes transmitted twiceNick Zitzmann
There was a bug where, if SSLWrite() returned errSSLWouldBlock but did succeed in transmitting at least something, then we'd incorrectly resend the packet. Now we never take errSSLWouldBlock as a sign that nothing was transferred to/from the server. Bug: http://curl.haxx.se/mail/lib-2013-01/0295.html Reported by: Bruno de Carvalho
2013-01-28Updated dependency libs.Guenter Knauf
2013-01-27smtp.c: Fixed unnecessary state change if starttls failsSteve Holme
The state machine should only be changed to SMTP_STARTTLS when the STARTTLS command has been successfully sent to the server.
2013-01-27pop3.c: Fixed unnecessary state change if starttls failsSteve Holme
The state machine should only be changed to POP3_STARTTLS when the STLS command has been successfully sent to the server.
2013-01-27imap.c: Fixed unnecessary state change if starttls failsSteve Holme
The state machine should only be changed to IMAP_STARTTLS when the STARTTLS command has been successfully sent to the server.
2013-01-26email: Updated comment regarding ssldone usageSteve Holme
Updated the ssldone comment as multi mode is always used internally now.
2013-01-25smtp.c: Added comments to smtp_endofresp()Steve Holme
Minor code tidy up to add comments similar to those used in the pop3 and imap end of resp functions, in order to assist anyone reading the code and highlight the similarities between each of these protocols.
2013-01-24smtp.c: Corrected RFC referencesSteve Holme
The most recent version of the SMTP RFC is RFC5321 and not RFC2821 as previously documented. Added RFC1870 and re-ordered list numerically.
2013-01-24smtp.c: Fixed failure detection during TLS upgradeSteve Holme
smtp_state_upgrade_tls() would attempt to incorrectly complete the upgrade to smtps and start the EHLO command if Curl_ssl_connect_nonblocking() returned a failure code and if ssldone was set to TRUE. This would only happen when a non-blocking API hadn't been provided by the SSL implementation and curlssl_connect() was called underneath.
2013-01-24pop3.c: Fixed failure detection during TLS upgradeSteve Holme
pop3_state_upgrade_tls() would attempt to incorrectly complete the upgrade to pop3s and start the CAPA command if Curl_ssl_connect_nonblocking() returned a failure code and if ssldone was set to TRUE. This would only happen when a non-blocking API hadn't been provided by the SSL implementation and curlssl_connect() was called underneath.
2013-01-24imap.c: Fixed failure detection during TLS upgradeSteve Holme
imap_state_upgrade_tls() would attempt to incorrectly complete the upgrade to imaps and start the CAPABILITY command if Curl_ssl_connect_nonblocking() returned a failure code and if ssldone was set to TRUE. This would only happen when a non-blocking API hadn't been provided by the SSL implementation and curlssl_connect() was called underneath.
2013-01-23email: Removed unnecessary return statementsSteve Holme
Small tidy up to remove unnecessary return statements prior to the next fix.
2013-01-22curl_sasl.c: Corrected references to RFCSteve Holme
The most recent version of the RFC is RFC4422 and not RFC2222 as previously documented.
2013-01-22email: Corrected references to SASL RFCSteve Holme
The most recent version of the SASL RFC is RFC4422 and not RFC2222 as previously documented.
2013-01-22formpost: support quotes, commas and semicolon in file namesUlion
- document the double-quote and backslash need be escaped if quoting. - libcurl formdata escape double-quote in filename by backslash. - curl formparse can parse filename both contains '"' and ',' or ';'. - curl now can uploading file with ',' or ';' in filename. Bug: http://curl.haxx.se/bug/view.cgi?id=1171
2013-01-20pop3.c: Fixed conditional compilation of the apop response functionSteve Holme
Extended the fix from commit 8b15c84ea91e to additionally exclude pop3_state_apop_resp() if the CURL_DISABLE_CRYPTO_AUTH flag is defined.
2013-01-19formadd: reject trying to read a directory where a file is expectedDaniel Stenberg
Bug: http://curl.haxx.se/mail/archive-2013-01/0017.html Reported by: Ulrich Doehner
2013-01-19email: General code tidy upSteve Holme
Corrected some function argument definitions to maximize the 80 character line length limit and be in keeping with the curl coding style.
2013-01-18pop3.c: Fixed a problem with pop3s connections not connecting properlySteve Holme
Fixed an issue where Curl_ssl_connect_nonblocking() wouldn't complete correctly and the ssldone flag wouldn't be set to true for pop3s based connections. Bug introduced in commit: 4ffb8a6398ed.
2013-01-17always-multi: always use non-blocking internalsDaniel Stenberg
Remove internal separated behavior of the easy vs multi intercace. curl_easy_perform() is now using the multi interface itself. Several minor multi interface quirks and bugs have been fixed in the process. Much help with debugging this has been provided by: Yang Tse
2013-01-17url.c: fix HTTP CONNECT tunnel establishment upon delayed responseYang Tse
Fixes initial proxy response being processed by the tunneled protocol handler instead of the HTTP wrapper handler. This issue would trigger upon delayed CONNECT response from the proxy. Additionally fixes a multi interface code-path in which connections would not time out properly. This does not fix known bug #39. URL: http://curl.haxx.se/mail/lib-2013-01/0191.html
2013-01-15FTP: reject illegal port numbers in EPSV 229 responsesDaniel Stenberg