Commit Graph

81 Commits

Author SHA1 Message Date
David Anderson 78f7610f6e remove dependency of boinc_api.h on str_replace.h (and hence config.h)
Any files that use strlcpy() or strlcat() must directly include str_replace.h
2013-06-06 17:31:46 -07:00
David Anderson 846b8c7757 all components: change strcpy() to strlcpy() when possible.
This commit should cover the client and manager code.
2013-06-03 20:24:48 -07:00
David Anderson 4434a9dd62 - client: add support for bool <no_project_notices> element
in account manager RPC reply.
    If set, suppress display of notices from projects
    (still display notices from the account manager).
2013-04-19 21:40:10 -07:00
David Anderson 18d0f1f4d9 more GAHP code 2013-03-04 17:24:20 +01:00
David Anderson 32a08d27d9 - C++ code: use MAXPATHLEN for char arrays that hold paths
svn path=/trunk/boinc/; revision=25659
2012-05-09 16:11:50 +00:00
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 995047c74f - client: fix bug in notices where, after a notice is deleted,
the notices tab refreshes once/second forever after

svn path=/trunk/boinc/; revision=25292
2012-02-20 06:29:46 +00:00
David Anderson ac2e3581d3 svn path=/trunk/boinc/; revision=24943 2011-12-30 06:18:57 +00:00
David Anderson a08ab28d1c - client: parse APP:non_cpu_intensive correctly.
This got broken somehow.
	- client: don't crash if missing RSS feed file for some reason

svn path=/trunk/boinc/; revision=24942
2011-12-30 06:03:42 +00:00
David Anderson e8027a224e - client: isdigit() asserts if its arg is negative (which it can be).
Call isascii() first.
	- GUI RPC lib: add some consts

svn path=/trunk/boinc/; revision=24726
2011-12-04 19:02:36 +00:00
David Anderson b16ccf18fc svn path=/trunk/boinc/; revision=24411 2011-10-18 04:41:13 +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 c61103ac26 - client: make the attributes of GUI RPCs (network, authentication)
explicit rather than determined by position in a list.
- client: add a new "read-only" attribute for GUI RPCs.
    This is in preparation for handling GUI RPCs in separate threads.
- client: remove code to support pre-V6 graphics.


svn path=/trunk/boinc/; revision=24232
2011-09-18 21:06:49 +00:00
David Anderson 4f21108bc2 - fix compile warnings
svn path=/trunk/boinc/; revision=24212
2011-09-14 23:22:48 +00:00
David Anderson 9dddcdb10c - XML parsing: do XML unescaping in place rather than allocating
a buffer on the stack.
    Fixes a Manager crash on the Mac,
    where the default thread stack size seems to be 512KB.


svn path=/trunk/boinc/; revision=24206
2011-09-14 17:58:53 +00:00
David Anderson e9d37aa65e - client: XML-escape the URLs in RSS feed lists
- lib: make xml_unescape work for arbitrarily large strings


svn path=/trunk/boinc/; revision=24154
2011-09-09 20:13:35 +00:00
David Anderson dde093a021 - client: fix a couple of valgrind warnings
svn path=/trunk/boinc/; revision=24076
2011-08-30 15:36:31 +00:00
David Anderson c5c5975b44 - Improve interface of XML_PARSER.
Add parsed_tag and is_tag to the class,
    so that parsing functions don't need to declare them
    and pass them around.
- Complete the task of using XML_PARSER as the argument
    to all parsing functions.
    (Internally, many of these functions still use the old XML parser;
    that's the next step.)


svn path=/trunk/boinc/; revision=23978
2011-08-10 17:11:08 +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 bb73fd9e4e - client: equate notices if their text is the same after removing digits,
so that "need 25 GB disk" and "need 24 GB disk"
    don't result in 2 notices.


svn path=/trunk/boinc/; revision=23611
2011-05-25 22:43:07 +00:00
David Anderson dc02d192a6 - client: fix bug that cause notice RSS feeds to disappear and reappear,
and notices to erroneously be shown as new.


svn path=/trunk/boinc/; revision=23371
2011-04-16 06:15:10 +00:00
David Anderson ea06547715 - client: discard messages whose create time OR arrival time
is more than 30 days ago


svn path=/trunk/boinc/; revision=23319
2011-04-04 17:43:36 +00:00
David Anderson 73dfafde79 - validator: if --credit_from_wu is set, and no credit specified in WU,
assign zero credit and keep going
- client simulator work


svn path=/trunk/boinc/; revision=23231
2011-03-14 06:27:51 +00:00
David Anderson c13d4c6fa9 - client: fix spurious error when removing a notice RSS feed
svn path=/trunk/boinc/; revision=23169
2011-03-05 05:49:32 +00:00
David Anderson fccccd7f97 - client: in deciding whether to remove the "need network" notice,
we were using the wrong (too high-level) interface

svn path=/trunk/boinc/; revision=23138
2011-03-03 06:15:20 +00:00
David Anderson 47da4f53b6 - client: when get a bunch of notices from RSS feed,
sort them by create time before appending to notice list.
    This ensures that, in the Notices tab,
    notices are ordered decreasing create time within an RSS feed
    (though not necessarily across feeds)


svn path=/trunk/boinc/; revision=23134
2011-03-02 19:15:23 +00:00
David Anderson 81ca21c828 - manager: show notice create time rather than arrival time
- client: don't show "need network" notice if we don't need it

svn path=/trunk/boinc/; revision=23133
2011-03-02 18:53:18 +00:00
David Anderson 00f7a7778b - client: on finish upload, trigger work fetch
(since we may have been waiting for upload finish)
	- client: fix crash: if remove an RSS feed, remove its active HTTP op if any.

svn path=/trunk/boinc/; revision=23097
2011-02-23 23:11:59 +00:00
Charlie Fenton 0731e726b1 client: fix compiler warning
svn path=/trunk/boinc/; revision=23080
2011-02-22 01:07:29 +00:00
David Anderson 151ca04258 - client: more notice-related fixes.
I'm working on this case:
		- start up
		- disconnect (produces notice)
		- reconnect (removes notice)
		The client is now doing the right thing.
		The manager is not.

svn path=/trunk/boinc/; revision=23074
2011-02-19 03:32:26 +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 05b9c0aa40 - client: show a given system notice at most once a week
svn path=/trunk/boinc/; revision=22861
2011-01-03 20:09:52 +00:00
David Anderson c031ea2517 - client: notice debugging
svn path=/trunk/boinc/; revision=22553
2010-10-18 21:03:07 +00:00
David Anderson 9f962b3311 - Win build fix
svn path=/trunk/boinc/; revision=22551
2010-10-18 20:54:33 +00:00
David Anderson 612362d6dc - bug fix for the above
svn path=/trunk/boinc/; revision=22544
2010-10-17 18:02:40 +00:00
David Anderson 575718e420 - client: delete a notice if it's no longer in the RSS feed.
E.g., if a project deletes a news item, remove it from notices.
- notices RSS: remove the "since_time" mechanism
    (an optimization that conflicts with the above)

svn path=/trunk/boinc/; revision=22543
2010-10-17 04:01:36 +00:00
David Anderson fcbb8a286e - client simulator: major remodel and upgrade.
Insteady of using its own XML input files,
    the simulator now takes a client_state.xml file as input.
    The simulator generates a synthetic workload based on the
    projects, apps, app versions, WUs, and result it finds there.

    This means that a user seeing aberrant behavior
    can just send their client_state.xml file
    and (hopefully) we can use the simulator to repro.

    The simulator now can model GPUs.

    As of this checkin, the simulator compiles but doesn't work.
    There should be no change in the actual client.


svn path=/trunk/boinc/; revision=22409
2010-09-24 20:02:42 +00:00
David Anderson 5f23ce067f - client: typo fix
svn path=/trunk/boinc/; revision=22398
2010-09-22 22:50:45 +00:00
David Anderson b3383c281e - client/web: change RSS feed mechanism a little.
If <use_since_time> is included in feed description,
    the client will append &since_time=x to the URL,
    where x is the lastBuildDate of the previous reply.
    This notices handler (notices.php) sends only notices
    newer than this.
- client: discard old notices as they arrive

svn path=/trunk/boinc/; revision=22396
2010-09-21 23:49:21 +00:00
David Anderson 291c0cc7a7 - client: remove duplicate notices based on GUID as well as text
(Google RSS feeds, e.g., change random strings in URLs
		in the item description, but leave the GUID the same)

svn path=/trunk/boinc/; revision=22333
2010-09-09 21:37:28 +00:00
David Anderson e0e237d4dc - debug the above. It now successfully displays an
RSS feed of news items from Google,
		linked from a project manager

svn path=/trunk/boinc/; revision=22326
2010-09-08 21:13:14 +00:00
David Anderson f31e311dd2 - client: support notice feeds from account managers.
Implementation: create a base class PROJ_AM,
    from which both PROJECT and ACCT_MGR_INFO are derived,
    with basic stuff like name, URL, and RSS feed list

svn path=/trunk/boinc/; revision=22324
2010-09-08 18:06:56 +00:00
David Anderson 11fc2dcdd2 - client: treat notices from schedulers a little differently.
Ignore duplicate notices unless they're at least 24 hours
    newer than the previous one.

svn path=/trunk/boinc/; revision=22293
2010-08-26 21:26:52 +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 afa6a3bbaf - client: have project update fetch RSS feeds as well as doing
a scheduler RPC.
    This is to facilitate debugging, and is probably temporary.

svn path=/trunk/boinc/; revision=22034
2010-07-22 18:42:15 +00:00
David Anderson a33d6a6f8b - client: don't do two RSS fetches at once
- manager: WxWidget's HTML renderer doesn't seem to like \n's.
		For example, if you try to render
			foo
			<img src=...>
			blah
		all it shows is foo.
		Work around this by replacing \n's with <br>

svn path=/trunk/boinc/; revision=22017
2010-07-20 23:13:26 +00:00
David Anderson a65517bf60 - client: don't archive system notices,
so they don't persist across client restarts.
    These notices are for transient conditions.
    If the user has fixed the condition,
    there's no reason to keep showing the notice.
    If they haven't fixed it, the notice will be regenerated soon.
- manager: fix spelling error in simple GUI.

svn path=/trunk/boinc/; revision=22015
2010-07-20 21:15:15 +00:00
David Anderson d59af26596 - client: add ".xml" to notice file names
svn path=/trunk/boinc/; revision=21857
2010-07-01 02:01:05 +00:00
David Anderson 9735a3a2be - client: improve (or at least change) logic related to duplicate notices
svn path=/trunk/boinc/; revision=21841
2010-06-29 19:33:18 +00:00
Charlie Fenton 36fcd2fcc7 client: revert my recent change to keep_old argument above
svn path=/trunk/boinc/; revision=21838
2010-06-29 12:09:25 +00:00