summaryrefslogtreecommitdiff
path: root/content/fetchers/curl.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix description for FETCH_HEADERAshish Gupta2017-10-251-18/+2
| | | | Remove redundant FETCH_XXX description from the curl fetcher.
* Use coccinelle to change logging macro calls in c filesVincent Sanders2017-09-061-31/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | for F in $(git ls-files '*.c');do spatch --sp-file foo.cocci --in-place ${F};done @@ expression E; @@ -LOG(E); +NSLOG(netsurf, INFO, E); @@ expression E, E1; @@ -LOG(E, E1); +NSLOG(netsurf, INFO, E, E1); @@ expression E, E1, E2; @@ -LOG(E, E1, E2); +NSLOG(netsurf, INFO, E, E1, E2); @@ expression E, E1, E2, E3; @@ -LOG(E, E1, E2, E3); +NSLOG(netsurf, INFO, E, E1, E2, E3); @@ expression E, E1, E2, E3, E4; @@ -LOG(E, E1, E2, E3, E4); +NSLOG(netsurf, INFO, E, E1, E2, E3, E4); @@ expression E, E1, E2, E3, E4, E5; @@ -LOG(E, E1, E2, E3, E4, E5); +NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5); @@ expression E, E1, E2, E3, E4, E5, E6; @@ -LOG(E, E1, E2, E3, E4, E5, E6); +NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5, E6); @@ expression E, E1, E2, E3, E4, E5, E6, E7; @@ -LOG(E, E1, E2, E3, E4, E5, E6, E7); +NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5, E6, E7);
* Fix OpenSSL X509 cert API detectionVincent Sanders2016-11-211-2/+4
| | | | | LibreSSL defines a OPENSSL_VERSION_NUMBER of 2.1 but only provides the old OpenSSL 1.0.x API.
* fix openSSL 1.1.0 X509 certificate handlingVincent Sanders2016-11-201-9/+23
|
* Refactor the fdset acquisition into the fetchers to stop fetch.c including ↵Daniel Silverstone2016-06-271-0/+18
| | | | curl.h
* Fix handling of certificate chainsVincent Sanders2016-06-271-145/+251
| | | | | | | When processing a x509 certificate chain from openssl it is necessary to allow teh entire chain to be processed rather than halting processing at the first certificate with an error. This allows errors with a certificate authority to be examined.
* move fetch header into public APIVincent Sanders2016-05-301-1/+1
|
* move misc header into public APIVincent Sanders2016-05-301-1/+1
|
* remove all core usage of warn_user APIVincent Sanders2016-04-261-1/+2
|
* Split utils header into string functions and everything elseVincent Sanders2016-04-211-0/+1
| | | | | split out the string handling API from the rest of the utils header and fix up all the fallout.
* remove curl fetchers use of the wallclock APIVincent Sanders2016-04-191-13/+15
| | | | | | | | | | The wallclock() API uses gettimeofday which can be affected by the the systems clock being changed etc. The curl fetcher usage of this API is to generate a timing delta and does not cope with the gettimeofday issues. This changes the fetcher to use the nsutils library monotonic time function which does not suffer from the issues with gettimeofday.
* Reduce unecessary use of networking headersVincent Sanders2016-04-171-1/+2
| | | | | | | | The utility configuration header dragged in a number of bsd sockets and related API as a side effect of setting up the configuration. By splitting the header and API setup into a separate header only the small number of places that need the functionality explitly include it.
* Tiny simplification of curl debug logging.Michael Drake2016-01-211-1/+1
|
* Add extra logging to curl poll fn when not suppressing curl debug.Michael Drake2015-11-111-0/+38
|
* Add support for retrying timed-out cURL fetches.Daniel Silverstone2015-11-101-4/+12
| | | | | | | | | | | | | This is an attempt to amelioriate the situation found in #2384 where we see the cURL connect() failing to complete. Based on the pcap from the bug log, we believe that RISC OS is likely failing to signal the completion of the connection to cURL. As such, cURL times out. This change permits retries of timed out connections in the hope that a fresh socket FD might subsequently function correctly. The defaults chosen mean that the previous behaviour of 30 seconds before timeout is reported will remain the same, but in that time we will make 3 separate attempts to connect the socket.
* Change LOG() macro to be varadicVincent Sanders2015-05-281-33/+26
| | | | | | | | | | | | This changes the LOG macro to be varadic removing the need for all callsites to have double bracketing and allows for future improvement on how we use the logging macros. The callsites were changed with coccinelle and the changes checked by hand. Compile tested for several frontends but not all. A formatting annotation has also been added which allows the compiler to check the parameters and types passed to the logging.
* Move win32 window operations into their own moduleVincent Sanders2015-03-121-1/+2
| | | | | | This splits up a great deal of the win32 window code out from other gui code. It also remove large quantities of unused and junk variables and functions.
* Fix my spelling of teh everywhereVincent Sanders2014-11-181-1/+1
|
* Remove unecessary form debugVincent Sanders2014-11-151-1/+1
| | | | | Additionaly we make the curl fetcher report errors instead of uninitialised buffer.
* Doxygen cleanupsVincent Sanders2014-11-091-3/+3
|
* update fetcher registration API to return an error code.Vincent Sanders2014-10-251-521/+491
| | | | | | | | By using an error code return we can gracefully handle fetcher registration faliures instead of just immediately aborting. The curl handler was also cleaned up and documentation improved as a side effect.
* Update the core to use the split operations table headersVincent Sanders2014-10-161-1/+2
| | | | Second in the series to decouple the core API usage from the frontends.
* HTTPS: disable all SSL versions; emit fallback SCSV on downgrade.John-Mark Bell2014-10-151-1/+5
| | | | | | This removes all support for SSL and (with help from servers that support the fallback SCSV) protects against inappropriate protocol downgrade.
* split version info into its own header and remove unnecessary nesurf.h includesVincent Sanders2014-10-131-1/+0
| | | | | | | | | The netsurf.h header should *only* contain the registration, core initialisation and finalisation methods. Version information is best placed in its own header. Also remove any unneeded inclusion of this header limiting it to solely the places the relevant API is required.
* memcpy and terminate from openssl buffersVincent Sanders2014-09-031-18/+23
| | | | | The memcpy is used instead of snprintf as the source data may not be null terminated and was causing OpenBSD to segfault.
* terminate buffers from X509_NAME_print_ex()Vincent Sanders2014-09-021-7/+13
|
* make fetchers scheduledVincent Sanders2014-06-261-3/+1
|
* clean up the fetcher factory and improve its APIVincent Sanders2014-06-191-22/+12
|
* add file operations table and make all frontends use it.Vincent Sanders2014-05-071-5/+6
| | | | | | | | | | | | | This rationalises the path construction and basename file operations. The default implementation is POSIX which works for all frontends except windows, riscos and amiga which have differeing path separators and rules. These implementations are significantly more robust than the previous nine implementations and also do not use unsafe strncpy or buffers with arbitrary length limits. These implementations also carry full documentation comments.
* move scheduleing into browser operation tableVincent Sanders2014-03-091-7/+7
|
* Use libcurl's cache if it's new enough. Fixes #2064.John-Mark Bell2014-02-061-7/+32
|
* Just use corestring refs.Michael Drake2014-01-241-10/+3
|
* create table for fetcher operations and move all operations into itVincent Sanders2014-01-231-2/+2
|
* Enable TLS 1.2 support again.John-Mark Bell2014-01-191-5/+3
|
* move filename_from_path and path_add_part into gui operation tablesVincent Sanders2014-01-161-1/+2
|
* Remove logging now that file upload *seems* to workDaniel Silverstone2014-01-041-1/+0
|
* Add a bunch of logging to try and help track down the issue with rawfile ↵Daniel Silverstone2014-01-041-0/+1
| | | | handling, sorry guys
* In theory, store raw filenames and pass them through for file upload. ↵Daniel Silverstone2014-01-041-1/+1
| | | | Untested due to no file-upload in GTK frontend just yet
* Clean up cached fetch handles.Michael Drake2013-10-241-0/+2
|
* Fix Coverity #1109871.Michael Drake2013-10-231-1/+2
|
* only set no proxy value in modern enough versions of teh libraryVincent Sanders2013-06-041-0/+3
|
* Add and use no proxy list optionVincent Sanders2013-06-041-0/+5
|
* move options includeVincent Sanders2013-05-281-1/+1
|
* Downgrade TLS version support if it turns out the server can't cope with ↵John-Mark Bell2013-01-041-9/+28
| | | | TLSv1.1.
* Rough implementation of httponly cookie supportDaniel Silverstone2012-11-091-1/+1
|
* Only disable TLS1.2 if it can be disabled.John-Mark Bell2012-11-041-0/+2
|
* Disable TLS1.2 support.John-Mark Bell2012-11-041-0/+2
|
* Disable SSL session ID caching.John-Mark Bell2012-11-041-0/+3
|
* Revert "Enable verbose curl debug"John-Mark Bell2012-11-041-4/+1
| | | | This reverts commit f5a98defaec97cf7a18516c8c9af49f10b93f0cf.
* Enable verbose curl debugJohn-Mark Bell2012-11-041-1/+4
|