Commit Graph

52 Commits

Author SHA1 Message Date
David Anderson bbfbef0fe8 - client: code cleanup. Move RESULT and PROJECT to separate files
svn path=/trunk/boinc/; revision=25621
2012-04-30 21:00:28 +00:00
David Anderson 43278d0f41 - client: fix bug where WCG downloads were getting wrong size errors.
To be honest, I don't know that the problem was or why my change fixed it.

svn path=/trunk/boinc/; revision=25279
2012-02-17 08:55:45 +00:00
David Anderson e268b81a3d - async file stuff. mostly working. still a few bugs
svn path=/trunk/boinc/; revision=25214
2012-02-07 17:54:09 +00: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
Rom Walton b72c5d1310 - client: Undo my change of 24 Jan 2012 which broke WCG's use of the
.gzb file extension.  I was wrong in how I read the conditional and
        it turns out that libcurl does not honor the content-encoding even
        if it is capable of supporting it.  My bad.

    client/
        http_curl.cpp

svn path=/trunk/boinc/; revision=25205
2012-02-06 18:41:17 +00:00
Rom Walton dc11b06ff6 - client: Fix long standing issue with the .gz extension automatically being
decompressed on-the-fly when it wasn't supposed to be.

    client/
        http_curl.cpp

svn path=/trunk/boinc/; revision=25144
2012-01-25 00:00:30 +00:00
Rom Walton 37fa2267c1 - client: undo my previous commit. We request .gz from the server and write
the contents to a .gzt file.
 
    client/
        http_curl.cpp

svn path=/trunk/boinc/; revision=25142
2012-01-24 22:12:30 +00:00
Rom Walton 188e792365 - client: treat the gzt file extension like we do for the gz file extension.
Disable libcurls ability to decompress on-the-fly and let the CC decompress
        it after it has been fully downloaded.
        
    client/
        http_curl.cpp

svn path=/trunk/boinc/; revision=25138
2012-01-24 16:29:28 +00:00
Rom Walton c7233c9a00 - client - Remove Mac OSX 10.3.9 hack, it is no longer needed.
client/
        http_curl.cpp

svn path=/trunk/boinc/; revision=25130
2012-01-23 19:32:24 +00:00
David Anderson b16ccf18fc svn path=/trunk/boinc/; revision=24411 2011-10-18 04:41:13 +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 e279b59913 - Updates Linux notifications to use current libnotify.
- Fix build problems on Mac OS X using autotools
- Consistently use #if HAVE_X for platform checks,
    rather than #ifdef HAVE_X or #if defined(HAVE_X)
- In Unix build, make lots of compiler checks standard
- Fix some compile warnings

From Matt Arsenault.

Note: there are now lots of compile warnings in clientgui/ on Unix,
    mostly in WxWidgets code


svn path=/trunk/boinc/; revision=24303
2011-09-27 19:45:27 +00:00
David Anderson 96feb0014c - client: replicated trickles. Seems to be working now.
- client: added <trickle_debug> config option

svn path=/trunk/boinc/; revision=24265
2011-09-22 18:52:21 +00:00
David Anderson 3a7def077a - client: more stuff for replicated trickle ups
svn path=/trunk/boinc/; revision=24255
2011-09-22 05:39:42 +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 1c039bab77 - client: curl_easy_escape() escapes way too much. Just escape spaces.
svn path=/trunk/boinc/; revision=24205
2011-09-14 06:45:04 +00:00
David Anderson 11a5372961 - client: escape URLs for curl, otherwise filenames with spaces don't work
svn path=/trunk/boinc/; revision=24204
2011-09-14 05:44:09 +00:00
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