aboutsummaryrefslogtreecommitdiff
path: root/lib/security.c
AgeCommit message (Collapse)Author
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-07-26stdio.h, stdlib.h, string.h, stdarg.h and ctype.h inclusion done in setup_once.hYang Tse
2011-04-27source cleanup: unify look, style and indent levelsDaniel Stenberg
By the use of a the new lib/checksrc.pl script that checks that our basic source style rules are followed.
2011-04-21Fix a couple of spelling errors in lib/Fabian Keil
Found with codespell.
2010-11-13urldata: Capitalize enum protect_level values.Julien Chaffraix
This makes it easier to spot the enum values from the variables. Removed some unneeded DEBUGASSERT added in the previous commit.
2010-11-13security: tighten enum protection_level usage.Julien Chaffraix
While changing Curl_sec_read_msg to accept an enum protection_level instead of an int, I went ahead and fixed the usage of the associated fields. Some code was assuming that prot_clear == 0. Fixed those to use the proper value. Added assertions prior to any code that would set the protection level.
2010-11-12security: Pass the right parameter to init.Julien Chaffraix
init is expecting app_data. Passing it the struct connecdata would make us crash later.
2010-10-18krb4: make a few functions staticDaniel Stenberg
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-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
2010-09-22security.c: buffer_read various fixes.Julien Chaffraix
Tighten the type of the |data| parameter to avoid a cast. Also made it const as we should not modify it. Added a DEBUGASSERT on the size to be written while changing it.
2010-09-22security.c: Made block_write return a CURLcode.Julien Chaffraix
While doing so, renamed it to socket_write to better match its function.
2010-09-22security.c: Made block_read and sec_get_data return CURLcode.Julien Chaffraix
To do so, made block_read call Curl_read_plain instead of read. While changing them renamed block_read to socket_read and sec_get_data to read_data to better match their function. Also fixed a potential memory leak in block_read.
2010-09-22Security.c: Fix headers guard to match the rest of the code.Julien Chaffraix
2010-05-11sendrecv: make them two pairs of send/recv to properly deal with FTPSHoward Chu
FTP(S) use two connections that can be set to different recv and send functions independently, so by introducing recv+send pairs in the same manner we already have sockets/connections we can work with FTPS fine. This commit fixes the FTPS regression introduced in change d64bd82.
2010-05-07sendrecv: split the I/O handling into private handlerHoward Chu
Howard Chu brought the bulk work of this patch that properly moves out the sending and recving of data to the parts of the code that are properly responsible for the various ways of doing so. Daniel Stenberg assisted with polishing a few bits and fixed some minor flaws in the original patch. Another upside of this patch is that we now abuse CURLcodes less with the "magic" -1 return codes and instead use CURLE_AGAIN more consistently.
2009-07-11silence a compiler warningDaniel Stenberg
2009-04-21libcurl's memory.h renamed to curl_memory.hYang Tse
2008-11-02Marked with TODO comments a number of problems in the Kerberos code detectedDan Fandrich
while investigating the issue in http://curl.haxx.se/mail/lib-2008-09/0262.html I'm hesitant to fix them because I have no way of testing the result.
2008-10-23moved the Curl_raw_ functions into the new lib/rawstr.c file for easier curlx_Daniel Stenberg
inclusion by the curl tool without colliding with the curl_strequal functions.
2008-10-23added include to make the krb4 code compile againDaniel Stenberg
2008-10-23Created Curl_raw_nequal() which does a C-locale string case comparison.Dan Fandrich
Changed checkprefix() to use it and those instances of strnequal() that compare host names or other protocol strings that are defined to be independent of case in the C locale. This should fix a few more Turkish locale problems.
2008-08-17libcurl internal base64.h header file renamed to curl_base64.hYang Tse
2008-05-26fix: preprocessor complaining about macro redefinitionYang Tse
2008-05-22Fixed some include file problems on Windows reported by David RosenstrauchDan Fandrich
2008-05-09- Make Curl_write and it's callees accept a const pointer, in preparationMichal Marek
of tetetest's patch for curl_easy_send()
2007-11-07if () => if()Daniel Stenberg
while () => while() and some other minor re-indentings
2007-07-06Thomas J. Moore made it build with less warningsDaniel Stenberg
2007-07-01Thomas J. Moore provided a patch that introduces Kerberos5 support inDaniel Stenberg
libcurl. This also makes the options change name to --krb (from --krb4) and CURLOPT_KRBLEVEL (from CURLOPT_KRB4LEVEL) but the old names are still
2006-11-11cleaned up Curl_write() and the sub functions it uses for various protocols.Daniel Stenberg
They all now return ssize_t to Curl_write(). Unfortunately, Curl_read() is in a sorrier state but it too would benefit from a similar cleanup.
2005-03-14Removed security.h since it shadows an include file mingw needs when buildingDaniel Stenberg
for SSPI support. The contents of the file has been moved into the krb4.h file.
2005-02-22krb4 fixedDaniel Stenberg
2004-12-15Make some arrays of pointers const, too.Dan Fandrich