Commit Graph

52 Commits

Author SHA1 Message Date
Vitalii Koshura ee640ea684
[Windows] Build curl for Windows without openssl.
Build it with schannel instead that allows curl to use Windows certificate store and doesn't relay on ca-bundle.crt anymore.

This fixes #4542

Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2021-10-06 12:12:37 +02:00
davidpanderson e14cef28ac Fix more compiler warnings (snprintf, sigaction). No functional changes. 2019-11-05 23:25:06 -08:00
David Anderson 13a5b9bf3e change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
David Anderson c15b8d9226 client: include client brand (if any) in HTTP user agent string 2015-04-11 10:52:37 -07:00
David Anderson 5f7366e19b client: work with old versions of libcurl
With old (7.15) versions of libcurl, args passed to curl_easy_setopt()
(such as the URL) were supposed to remain unchanged until
the operation was done.
Starting with 7.17 it was changed so that curl_easy_setopt()
copied its arguments.
The BOINC client was assuming the latter.
When linked against the former,
URLs would mysteriously change to garbage strings.

I changed things to work with the old libcurl semantics.
2014-03-14 00:21:15 -07:00
David Anderson 24e8133e4b - tabs -> spaces 2013-04-02 17:23:37 -07:00
David Anderson fdc085264a - client (Win) preallocate large files to avoid file fragmentation
when you write to them incrementally
    (workaround for shoddy filesystem design)
- admin web: remove line that limited mass emails to 10
2013-03-04 15:23:37 +01:00
David Anderson 739f40c4f7 - client: HTTP range request errors are permanent.
svn path=/trunk/boinc/; revision=25213
2012-02-07 07:58:08 +00:00
David Anderson 54311606e3 - client: associate a PROJECT with HTTP_OP where applicable,
so that if you use <http_debug> and filter by project
    you don't see other projects' HTTP stuff
- client simulator: cc_config.xml is part of the scenario;
    log flags are part of the simulation


svn path=/trunk/boinc/; revision=24410
2011-10-18 04:23:03 +00:00
David Anderson 9d2d540267 - client: intermediate checkin for replicated trickle-ups.
Not finished yet.
- example app: add --trickle_up and --trickle_down options,
    for testing trickle messages


svn path=/trunk/boinc/; revision=24245
2011-09-20 18:49:38 +00:00
David Anderson 9510005e2f - client: the client shouldn't check for a physical connection
(contacting google.com and possibly alerting the user)
    for "background" HTTP ops.  These include:
    - periodic account manager requests
    - periodic notice RSS feed fetches
    - periodic fetch of project list
    - periodic fetch of current client version


svn path=/trunk/boinc/; revision=22037
2010-07-22 19:13:36 +00:00
David Anderson b0cb81159f - client: when looking for new file xfers to start,
favor those that are partially done
- client: fix crashing bug if a project is detached
    while an RSS feed fetch for it is in progress
- code cleanup: switch from /// back to // for comments
    (so much for doxygen)

svn path=/trunk/boinc/; revision=21041
2010-04-01 05:54:29 +00:00
Rom Walton 7ca5c37952 - client: Treat each HTTP header sent to the server as a new log message.
Some tools get confused when more than one delimeter is used in
        common file types.
        
    client/
        http_curl.cpp, .h

svn path=/trunk/boinc/; revision=19714
2009-11-25 20:45:36 +00:00
David Anderson b29f920999 - Move URL-related code to a new file
- Remove stuff related to SOCKS version, since we only support 5

svn path=/trunk/boinc/; revision=19480
2009-11-05 18:02:51 +00:00
David Anderson 1f7dec108a - client:
- remove HTTP_OP::pi; just use gstate.proxy_info
    - remove HTTP_OP::set_proxy()
    - remove PROXY_INFO::operator=; struct assignment works

svn path=/trunk/boinc/; revision=18973
2009-09-01 16:41:48 +00:00
David Anderson 8728c04983 - reverted changes to PROXY_INFO which broke various things
svn path=/trunk/boinc/; revision=18936
2009-08-28 17:14:37 +00:00
Rom Walton 16156838c5 - client: Second pass through the automatic proxy detection code.
During the first pass we learned that the whole process of
        proxy detection on Win XP machines could take a few seconds
        even with no proxies to be detected, now the proxy detection
        code is executed in the same thread that is monitoring for
        power change events.
        
    client/
        cs_cmdline.cpp
        http_curl.cpp
        http_curl.h
        http_curl_win.h
        net_stats.cpp
        sysmon_win.cpp, .h
    lib/
        parse.cpp, .h
        proxy_info.cpp, .h

svn path=/trunk/boinc/; revision=18819
2009-08-07 18:16:21 +00:00
David Anderson ad3dd04e2a slight code cleanup
svn path=/trunk/boinc/; revision=18785
2009-07-30 22:23:49 +00:00
Rom Walton fec945221e - client: Initial swipe at automatic proxy server configuration
detection on Windows.  Fixes #35
        
    client/
        cs_cmdline.cpp
        http_curl.cpp
        http_curl.h
    lib/
        boinc_win.h
        proxy_info.cpp
        proxy_info.h
        util.cpp
        win_util.h

svn path=/trunk/boinc/; revision=18772
2009-07-29 23:50:00 +00:00
David Anderson 1fc3722e71 - client: add SCHEDULER_OP::rpc_failed();
this gets called when the op fails, either at initialization or later on;
        it clears the project's sched_rpc_pending flag if needed.
        This fixes a bug that caused user-requested RPCs to retry every 10 seconds
        when the network is down.
    - client: if debt-adjust period is too long, reset accounting.
        Otherwise we'll get this infinitely.
    - API: all optional alpha argument to TEXTURE_DESC::draw()

svn path=/trunk/boinc/; revision=17195
2009-02-10 19:30:59 +00:00
David Anderson f17c0879de - changed some comments for Doxygen
svn path=/trunk/boinc/; revision=16130
2008-10-04 23:44:24 +00:00
David Anderson 95adc2f8fd - Add the ability to exclude certain URLs from the use of proxies.
E.g. if you're running a project locally,
    while attached to outside projects via a proxy.
    Currently accessible only via the Manager's Options dialog.
    From Frank Weiler.

svn path=/trunk/boinc/; revision=16061
2008-09-25 23:31:56 +00:00
Frank Weiler 2a3e79a53d no proxy for ... support included
svn path=/workspaces/fweiler/boinc/; revision=16055
2008-09-25 15:44:45 +00:00
David Anderson 4f66bb4c95 - added copyright and license info to .C, .cpp, .h files
- scheduler: fix bug in adaptive replication:
    if send an unreplicated job to untrusted host,
    set both wu.target_nresults and wu.min_quorum to app.target_nresults.

svn path=/trunk/boinc/; revision=15762
2008-08-06 18:36:30 +00:00
David Anderson 02ae8d647c - client: fix crash in this scenario:
A file upload sends request.
    The network is down, and something (e.g. a router)
    sends a long (> 4KB) error page.
    This overruns the 4KB buffer of HTTP_OP::req1.
    Solution: keep track of the size of the buffer,
    and don't overrun it.
    Also move the body of a huge for loop into a separate function.
    From Ian Hay.
    Fixes #705

svn path=/trunk/boinc/; revision=15744
2008-08-03 22:36:41 +00:00
Rom Walton 51462682db - client: remove the auth_type and auth_flag code.
client/
        http_curl.C, .h

svn path=/trunk/boinc/; revision=14669
2008-02-04 17:48:48 +00:00
David Anderson fd80e135a0 - client: don't count header in bytes_xferred for file uploads
(this causes confusing output in the Manager,
    bytes xferred greater than file size)
- API and client: make boinc_sleep() work regardless of signals
- some code cleanup in http_curl.C

svn path=/trunk/boinc/; revision=14522
2008-01-10 23:27:42 +00:00
Rom Walton 90d3583400 - client: Use a buffer scoped to the HTTP_OP object instead of
a std::string scoped to the stack when passing the CABundle
        location to libcurl.
        
    client/
        http_curl.C, .h

svn path=/trunk/boinc/; revision=14349
2007-12-03 17:52:00 +00:00
Frank Thomas 3bfc78b511 Updated the postal address of the Free Software Foundation in all license headers. See http://lists.ssl.berkeley.edu/pipermail/boinc_dev/2007-October/008939.html for reference.
svn path=/trunk/boinc/; revision=13804
2007-10-09 11:35:47 +00:00
David Anderson 449e3fa257 - client: change the way upload/download throughput
estimates are maintained.
	The old way took concurrency into account but ignored compression;
	the new way does the converse.
- client: maintain new stat: recent average transfer rates.
	This track average up/down throughputs
	(over wall clock time, not just while xfers are active)
	with a half-life of 1 day.
	Will eventually add a new pref: don't fetch new work if
	either of these is above a threshold

svn path=/trunk/boinc/; revision=13407
2007-08-17 18:05:39 +00:00
David Anderson 3eaea4fb71 *** empty log message ***
svn path=/trunk/boinc/; revision=12347
2007-04-11 21:49:57 +00:00
David Anderson 894d443614 *** empty log message ***
svn path=/trunk/boinc/; revision=11240
2006-10-03 20:13:15 +00:00
David Anderson 883ea45c62 *** empty log message ***
svn path=/trunk/boinc/; revision=11237
2006-10-03 17:14:56 +00:00
David Anderson 119ef5da01 *** empty log message ***
svn path=/trunk/boinc/; revision=11231
2006-10-02 23:42:38 +00:00
David Anderson fde92c7d86 *** empty log message ***
svn path=/trunk/boinc/; revision=11225
2006-10-02 17:44:27 +00:00
David Anderson 22ed034d14 *** empty log message ***
svn path=/trunk/boinc/; revision=11224
2006-10-02 16:13:08 +00:00
David Anderson 59d5508392 *** empty log message ***
svn path=/trunk/boinc/; revision=11107
2006-09-05 19:00:59 +00:00
David Anderson 7ce1144b73 *** empty log message ***
svn path=/trunk/boinc/; revision=11076
2006-09-01 21:06:30 +00:00
David Anderson 366c9f272c *** empty log message ***
svn path=/trunk/boinc/; revision=11048
2006-08-31 18:31:28 +00:00
David Anderson a2bf431a6e *** empty log message ***
svn path=/trunk/boinc/; revision=10607
2006-07-09 20:59:41 +00:00
Rom Walton 07f6bcbd41 *** empty log message ***
svn path=/trunk/boinc/; revision=10545
2006-06-28 21:44:42 +00:00
David Anderson 9a1d91d4c9 *** empty log message ***
svn path=/trunk/boinc/; revision=10543
2006-06-28 17:46:37 +00:00
David Anderson 0d8462f7d2 *** empty log message ***
svn path=/trunk/boinc/; revision=10542
2006-06-28 16:56:15 +00:00
Walt Gribben 383c20728c *** empty log message ***
svn path=/trunk/boinc/; revision=9999
2006-04-21 02:28:27 +00:00
Walt Gribben 7936e47e95 *** empty log message ***
svn path=/trunk/boinc/; revision=9693
2006-03-21 07:37:42 +00:00
David Anderson 79bedb43ec HTTP fix and code cleanup
svn path=/trunk/boinc/; revision=9551
2006-02-25 00:02:55 +00:00
David Anderson c84e14cc6c *** empty log message ***
svn path=/trunk/boinc/; revision=9267
2006-01-19 01:13:49 +00:00
David Anderson bccae38cb2 HTTP continue
svn path=/trunk/boinc/; revision=9228
2006-01-13 21:41:23 +00:00
David Anderson 041b6f24c6 *** empty log message ***
svn path=/trunk/boinc/; revision=7492
2005-08-25 23:07:58 +00:00
David Anderson 3a489721f7 *** empty log message ***
svn path=/trunk/boinc/; revision=7374
2005-08-16 21:51:51 +00:00