Commit Graph

35 Commits

Author SHA1 Message Date
Charlie Fenton 7522d192b8 Mac: Update to libcurl 7.21.7 and c-ares 1.7.4
svn path=/trunk/boinc/; revision=23798
2011-07-06 11:02:50 +00:00
David Anderson 94e8c48220 - client: change --detach_phase_two (??) to --detach_console
- eliminate compiler warnings (e.g. shadowed vars)
    in various places, mostly in client


svn path=/trunk/boinc/; revision=23710
2011-06-12 20:58:43 +00:00
David Anderson 7075ce8285 - client: add <http_transfer_timeout_bps> config option.
Defines the transfer rate below which the connection
    is considered idle, and timeout starts


svn path=/trunk/boinc/; revision=23514
2011-05-07 17:56:13 +00:00
David Anderson 53a514bb1a - client: when detach project, remove its RSS feeds from list
- client: remove once-per-week limit for client-generated notices;
        need to show "network connection required" more often
    - client: when remove "network conn required" notice
        (because now have conn)
        set the flag that says complete notice list is being sent
    - client: if RSS feed fetch returns <error_num>,
        show the corresponding message rather than "XML parse error"

svn path=/trunk/boinc/; revision=23063
2011-02-18 02:00:02 +00:00
David Anderson a7376343cf - client: fix a bug that caused GPU apps to fail on startup
in the following situation.
    Suppose GPU job A is running,
    and GPU job B (which has never run before) preempts it.
    Then
    1) an ACTIVE_TASK and slot dir are allocated for B (slot dir is empty)
    2) A is told to quit; B isn't started until A exits
        (because they're GPU jobs)
    3) before A exits, B is suspended
    4) eventually B is started.
        Its scheduler state is SUSPENDED rather than UNINITIALIZED,
        so the scheduler thinks it slot dir has already been populated.
        But it hasn't, and when the app starts it fails immediately
        because no files are there.

    Fix: decide whether a slot dir needs to be populated by
    seeing whether it's empty,
    rather than looking at the scheduler state of the task.


svn path=/trunk/boinc/; revision=22206
2010-08-11 23:03:09 +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 61aee059bc - client: call curl_global_cleanup() on exit
svn path=/trunk/boinc/; revision=21751
2010-06-15 19:01:56 +00:00
Rom Walton 9cb3e6ffc7 - client & lib: bring header inclusion up-to-date for the CC to begin
hunting down a memory leak.
        
    client/
        <Various Files>
    lib/
        <Various Files>

svn path=/trunk/boinc/; revision=21457
2010-05-11 19:10:29 +00:00
David Anderson 7db608660f - client: standardize debug messages.
Messages enabled by <foo_debug> are prefixed by "[foo]"


svn path=/trunk/boinc/; revision=21335
2010-04-29 20:32:51 +00:00
David Anderson 15f0b193e9 - client: keep track of daily history of network transfers
svn path=/trunk/boinc/; revision=21238
2010-04-21 22:05:55 +00:00
Rom Walton e14e1cad34 - Remove BOINC_RCSID tags from source files, we are doing branching and tagging
properly.
        
    <Various Files>

svn path=/trunk/boinc/; revision=20873
2010-03-12 16:51:57 +00:00
David Anderson 4bd0e4a2de - client: sort out proxy_info mess.
Source of proxy info (descending priority)
    - GUI RPC (Manager or boinccmd)
        This and only this is saved in state file.
        If neither HTTP nor SOCKS server name present,
        this is viewed as not present
    - environment vars
    - cc_config.xml

    Show sources of proxy info in message log.
    If one is present but overridden, show a message to that effect.

    This fixes a bug where someone had a proxy info env var and
    forgot about it.
    They got an erroneous message saying no proxy was being used.

svn path=/trunk/boinc/; revision=19785
2009-12-05 00:51:05 +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 177fae6e08 - client: parse HTTP_PROXY strings of the form
http://username:passwd@host.dom.dom:port/file
    (we weren't parsing the username and password before).
- client: fix the feature that lets you exclude a list of hosts
    from going through the proxy.

svn path=/trunk/boinc/; revision=19513
2009-11-07 06:00:08 +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 2e702db323 - client/API: add autosetup proxy info to init_data.xml
svn path=/trunk/boinc/; revision=19090
2009-09-18 16:30:25 +00:00
Rom Walton 3f5034618c - client: Use HTTP_OP::pi to avoid a crash when using a proxy. libcurl uses
the proxy information after the PROXY_INFO struct in setup_proxy_session()
        had been popped off the stack.
        
    client/
        http_curl.cpp,h

svn path=/trunk/boinc/; revision=18974
2009-09-01 17:14:39 +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
Rom Walton ea0ab71e45 - client: autoproxy detection should happen at startup too.
- client: when autoproxy detection is in progress don't attempt to use
        old values
    - client: user defined proxies should take presidence over automatically
        detected ones.
    - lib: Re-implement the assignment operator for proxy_info, http_curl.cpp
        uses it to clone the proxy information for each http op.  See set_proxy();

    client/
        client_state.cpp
        http_curl.cpp
        net_stats.cpp
    lib/
        proxy_info.cpp, .h

svn path=/trunk/boinc/; revision=18971
2009-09-01 16:01:30 +00:00
David Anderson 607119dcbf - fixes to proxy autodetect
svn path=/trunk/boinc/; revision=18941
2009-08-28 21:25:13 +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
David Anderson 563a55f37e - client/libs/samples: remove "#define read _read" etc. from boinc_win.h
These cause problems when "read" is a member name, etc.
		Do these #defines, conditioned on _MSC_VER,
		in the files that actually need them.
	- don't include boinc_win.h from parse.h.
		principle of minimal inclusion

svn path=/trunk/boinc/; revision=18902
2009-08-22 17:00:19 +00:00
Charlie Fenton 290d92aeb0 client: fix compiler warnings "call will abort at run time"; Sandbox: add casts
svn path=/trunk/boinc/; revision=18820
2009-08-08 01:07:10 +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
Rom Walton b932711a80 - client: refactor the CC startup process, move majority of the
windows code into sysmon_win.cpp, .h
        
    client/
        client_state.cpp, .h
        cpp.h
        http_curl.cpp
        main.cpp, .h
        net_stats.cpp
        sysmon_win.cpp, .h

svn path=/trunk/boinc/; revision=18803
2009-08-03 20:55:00 +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 10f9e11ee6 - lib: created a new file for declaring "replacements"
for functions like strlcpy() etc.
    config.h is included here rather than in str_util.h


svn path=/trunk/boinc/; revision=18437
2009-06-16 20:54:44 +00:00
David Anderson 72a59f0527 - client: put back the call to res_init() on lookup failure.
Apparently it worked after all.

svn path=/trunk/boinc/; revision=17793
2009-04-12 15:30:45 +00:00
David Anderson f3e362097e - client: back out res_init() change; it didn't work
svn path=/trunk/boinc/; revision=17758
2009-04-09 04:41:41 +00:00
David Anderson bc889ca27a - client: (unix): if host name lookup fails, call res_init().
This is an attempt to fix a problem on Linux where,
    if the client starts before a VPN is set up, it can never communicate

svn path=/trunk/boinc/; revision=17711
2009-03-31 16:45:17 +00:00
David Anderson de2bacab35 - boinccmd: fix bug in --set_proxy_settings command
(it wasn't setting the "use_XXX" flags).  Fixes #776
- client: you can now include a <proxy_info> element
    in your cc_config.xml options.

TODO: the whole proxy info thing needs an overhaul:
- no separate "use_XXX" flags;
    non-empty http_server_name implies using HTTP proxy, etc.
- merge PROXY_INFO and GR_PROXY_INFO classes
- use XML_PARSER for parsing
- no PROXY_INFO element in HTTP_OP; just use gstate.proxy_info

svn path=/trunk/boinc/; revision=17379
2009-02-25 19:18:41 +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 a42ba237f3 - client: correctly null-terminate file upload handler reply
- web: fix typo

svn path=/trunk/boinc/; revision=16189
2008-10-11 18:13:33 +00:00
David Anderson 98cfb8d3b0 - rename .C files to .cpp so that Doxygen will work
svn path=/trunk/boinc/; revision=16069
2008-09-26 18:20:24 +00:00