aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2010-10-20Lightened the stack in wc_statemach to permit deeper recursionDan Fandrich
Also, added a few hints to help compilers to perform tail call recursion optimization.
2010-10-20SSH: use libssh2_session_handshake()Daniel Stenberg
In libssh2 1.2.8, libssh2_session_handshake() replaces libssh2_session_startup() to fix the previous portability problem with the socket type that was too small for win64 and thus easily could cause crashes and more.
2010-10-20SSH: avoid using the libssh2_ prefixDaniel Stenberg
It is a bad idea to use the public prefix used by another library and now we realize that libssh2 introduces a symbol in the upcoming version 1.2.8 that conflicts with our static function named libssh2_free.
2010-10-20formdata: provide error messageDaniel Stenberg
When failing to build form post due to an error, the code now does a proper failf(). Previously libcurl would report an error like "failed creating formpost data" when a file wasn't possible to open which was not easy for users to figure out. I also lower cased a function name to be named more curl-style and removed some unnecessary code.
2010-10-19URL-parsing: consider ? a dividerDaniel Stenberg
The URL parser got a little stricter as it now considers a ? to be a host name divider so that the slightly sloppier URLs work too. The problem that made me do this change was the reported problem with an URL like: www.example.com?email=name@example.com This form of URL is not really a legal URL (due to the missing slash after the host name) but is widely accepted by all major browsers and libcurl also already accepted it, it was just the '@' letter that triggered the problem now. The side-effect of this change is that now libcurl no longer accepts the ? letter as part of user-name or password when given in the URL, which it used to accept (and is tested in test 191). That letter is however mentioned in RFC3986 to be required to be percent encoded since it is used as a divider. Bug: http://curl.haxx.se/bug/view.cgi?id=3090268
2010-10-18krb4.h: removed unused prototypesDaniel Stenberg
2010-10-18krb4: make a few functions staticDaniel Stenberg
2010-10-17http_chunks: remove debug outputDaniel Stenberg
Accidentally left in there during my previous debugging of this
2010-10-14Curl_setopt: disallow CURLOPT_USE_SSL without SSL supportDaniel Stenberg
In order to avoid for example the pingpong protocols to issue STARTTLS (or equivalent) even though there's no SSL support built-in. Reported by: Sune Ahlgren Bug: http://curl.haxx.se/mail/archive-2010-10/0045.html
2010-10-14Some more small Watcom makefile fixes.Guenter Knauf
2010-10-13Modified Watcom makefiles to work on Linux too.Guenter Knauf
2010-10-13gitignore: ignore Makefile.vc10.dist made by maketgzDaniel Stenberg
2010-10-12Fixed Watcom makefile.Guenter Knauf
2010-10-12Added build bits for librtmp / libssh2 to Watcom makefiles.Guenter Knauf
2010-10-12Added build bits for librtmp to NetWare makefiles.Guenter Knauf
2010-10-12SFTP: more ignoring negative file sizesDaniel Stenberg
As the change in 5f0ae7a0626cbe709 added a precaution against negative file sizes that for some reason managed to get returned, this change now introduces the same check at the second place in the code where the file size from the libssh2 stat call is used. This check might not be suitable for a 32 bit curl_off_t, but libssh2.h assumes long long to work and to be 64 bit so I believe such a small curl_off_t will be very unlikely to occur in the wild.
2010-10-11SMTP: debug output for no known auth mechanisms supportedDaniel Stenberg
... and some minor source code whitespace edits
2010-10-11Added build bits for librtmp to MingW32 makefiles.Guenter Knauf
2010-10-03Some NetWare makefile tweaks.Guenter Knauf
Renamed SDK_* to NDK_*; made NDK_* defines overwriteable from environment; removed now obsolete YACC macro; moved some curl_config.h defines to IPv6 section since they are only needed when IPv6 is enabled - this makes libcurl compile with older NDKs too which were not IPv6-aware.
2010-10-02krb5-gssapi: Removed a memory leak in krb5_auth.Julien Chaffraix
We forgot to release the buffer passed to gss_init_sec_context. The previous logic was difficult to read as we were reusing the same variable (gssbuf) for both input buffer and output buffer. Splitted the logic in 2 variables to better underline who needs to be released. Also made the code break at 80 lines.
2010-10-02krb5-gssapi: Made the function always return a value.Julien Chaffraix
kr5_auth missed a final 'return' statement. This is not an error in gcc but can lead to potential bugs.
2010-10-02krb5-gssapi: Delete the GSS-API context.Julien Chaffraix
This fixes a memory leak related to the GSS-API code. Added a krb5_init and krb5_end functions. Also removed a work-around the lack of proper initialization of the GSS-API context.
2010-10-02HTTP: remove special case for 416Daniel Stenberg
It was pointed out that the special case libcurl did for 416 was incorrect and wrong. 416 is not really different to other errors so the response body must be handled like for other errors/http responses. Reported by: Chris Smowton Bug: http://curl.haxx.se/bug/view.cgi?id=3076808
2010-09-30README.ares: we know require c-ares 1.6.0Daniel Stenberg
2010-09-30SFTP: avoid downloading negative sizes!Daniel Stenberg
It is still not clarified exactly why this happens, but libssh2 sometimes report a negative file size for the remote SFTP file and that deeply confuses libcurl (or crashes it) so this precaution is added to avoid badness. Reported by: Ernest Beinrohr Bug: http://curl.haxx.se/bug/view.cgi?id=3076430
2010-09-28krb5-gssapi: Remove several memory leaks.Julien Chaffraix
Remove a leak seen on Kerberos/MIT (gss_OID is copied internally and we were leaking it). Now we just pass NULL as advised in RFC2744. |tmp| was never set back to buf->data. Cleaned up Curl_sec_end to take into account failure in Curl_sec_login (where conn->mech would be NULL but not conn->app_data or conn->in_buffer->data).
2010-09-28security.c: Remove Curl_sec_fflush_fd.Julien Chaffraix
The current implementation would make us send wrong data on a closed socket. We don't buffer our data so the method can be safely removed.
2010-09-28security.c: We should always register the socket handler.Julien Chaffraix
Following a change in the way socket handler are registered, the custom recv and send method were conditionaly registered. We need to register them everytime to handle the ftp security extensions. Re-added the clear text handling in sec_recv.
2010-09-28security.c: Fix Curl_sec_login after rewrite.Julien Chaffraix
Curl_sec_login was returning the opposite result that the code in ftp.c was expecting. Simplified the return code (using a CURLcode) so to see more clearly what is going on.
2010-09-28security.c: Readd the '\n' to the infof() calls.Julien Chaffraix
They are not automatically added and make the output of the verbose mode a lot more readable.
2010-09-28security.c: Fix typo (PSBZ -> PBSZ)Julien Chaffraix
2010-09-28security.c: Fix ftp_send_command.Julien Chaffraix
My use of va_args was completely wrong. Fixed the usage so that we send the right commands!
2010-09-28curl_easy_escape: don't escape "unreserved" charactersDaniel Stenberg
According to RFC3986 section 2.3 the letters -, ., _ and ~ should not be percent-encoded. Reported by: Miguel Diaz Bug: http://curl.haxx.se/mail/lib-2010-09/0227.html
2010-09-28multi: don't expire timeouts at disonnect or doneDaniel Stenberg
The functions Curl_disconnect() and Curl_done() are both used within the scope of a single request so they cannot be allowed to use Curl_expire(... 0) to kill all timeouts as there are some timeouts that are set before a request that are supposed to remain until the request is done. The timeouts are now instead cleared at curl_easy_cleanup() and when the multi state machine changes a handle to the complete state.
2010-09-27multi_runsingle: set timeout error messagesDirk Manske
With the latest changes to fix the timeout handling with multi interface we lost the timeout error messages. This patch brings them back.
2010-09-27parsedate: allow time specified without secondsDaniel Stenberg
The date format in RFC822 allows that the seconds part of HH:MM:SS is left out, but this function didn't allow it. This change also includes a modified test case that makes sure that this now works. Reported by: Matt Ford Bug: http://curl.haxx.se/bug/view.cgi?id=3076529
2010-09-26TFTP: re-indented the source codeDaniel Stenberg
Just made sure that the good old curl indentation style is used all over this file.
2010-09-26TFTP: Work around tftpd-hpa upload bugTim Newsome
tftpd-hpa has a bug where it will send an incorrect ack when the block counter wraps and tftp options have been sent. Work around that by accepting an ack for 65535 when we're expecting one for 0.
2010-09-24Revert "security.c: buffer_read various fixes."Daniel Stenberg
This reverts commit fbb38de415b7bb7d743e53a7b4b887ffb12b3e5b.
2010-09-22security.c: removed superfluous parenthesesDaniel Stenberg
And also removed the FIXME where memory was zeroed just before freed, and some other minor whitespace changes.
2010-09-22security.c: Update the #include statements after the rewrite.Julien Chaffraix
2010-09-22security.c: sec_write tweaksJulien Chaffraix
- |fd| is now a curl_socket_t and |len| a size_t to avoid conversions. - Added 2 FIXMEs about the 2 unsigned -> signed conversions. - Included 2 minor changes to Curl_sec_end.
2010-09-22security.c: _sec_send tweaksJulien Chaffraix
- Renamed the method to sec_send now that we renamed sec_send to do_sec_send. - Some more variable renaming.
2010-09-22security.c: sec_read tweaksJulien Chaffraix
- Renamed the function to sec_recv. - Renamed the parameters and variable to match the rest of the code.
2010-09-22security.c: Curl_sec_fflush_fd tweaksJulien Chaffraix
- Use an early return as it makes the code more readable. - Added a FIXME about a conversion.
2010-09-22security.c: sec_send tweaksJulien Chaffraix
- Renamed it to do_sec_send as it is the function doing the actual transfer. - Do not return any values as no one was checking it and it never reported a failure (added a FIXME about checking for errors). - Renamed the variables to make their use more specific. - Removed some casts (int -> curl_socket_t, ...) - Avoid doing the htnl <-> nthl twice by caching the 2 results.
2010-09-22security.c: Curl_sec_read_msg tweaksJulien Chaffraix
- Renamed the variables name to better match their intend. - Unified the |decoded_len| checks. - Added some FIXMEs to flag some improvement that did not go in this change.
2010-09-22security.c: Curl_sec_set_protection_level tweakingJulien Chaffraix
- Removed sec_prot_internal as it is now inlined in the function (this removed a redundant check). - Changed the prototype to return an error code. - Updated the method to use the new ftp_send_command function. - Added a level_to_char helper method to avoid relying on the compiler's bound checks. This default to the maximum security we have in case of a wrong input.
2010-09-22security.c: factored the logic from Curl_sec_login into a dedicated method ↵Julien Chaffraix
that better reflect its intent. Introduced a helper method ftp_send_command that synchronously send an FTP query.
2010-09-22security.c: Remove out_buffer as it was never written into.Julien Chaffraix