Commit Graph

139 Commits

Author SHA1 Message Date
David Anderson f3ffbf67f4 GUI RPC: add cpu_time (as well as elapsed_time) to OLD_RESULT 2013-10-18 00:46:48 -07:00
David Anderson d6398b0834 Client and boinccmd: fixes for get_old_results GUI RPC
- Add binding for get_old_results GUI RPC
- Add --get_old_tasks option to boinccmd
- Compile fixes for gcc (can't have a var named "or")
2013-09-08 12:11:09 -07:00
Charlie Fenton 7d372d2803 Fix warnings of class or global variables shadowed by local variables or arguments 2013-07-29 01:31:09 -07:00
David Anderson 1eb93fb757 Manager and GUI RPC: fix bugs that caused bad Intel GPU backoff display 2013-07-09 12:23:20 -07:00
David Anderson 9c50abaffa Manager and GUI RPC interface: fix possible buffer overruns
If the user typed an extremely long URL into the
Attach to Account Manager wizard, a buffer overrun could result.
There were several places in the code that assumed user-entered
URLs are small (e.g. 256 chars):
- canonicalize_master_url.cpp()
- several GUI RPC interfaces, when generating XML request message
- URL-escaping (not relevant here, but fix anyway)
Change all these to stay within buffers regardless of URL size.
Note: do this by truncation.
This will cause error messages like "can't connect to project"
rather than saying the URL is too long.  That's OK.
2013-05-27 23:08:02 -07:00
David Anderson 1a6a7128a1 client: get product name in Android
We want to track the product name (e.g. "HTC One X") of Android devices.
On Android, the API to get this is Java,
so we need to do it in the GUI rather than the client.
- Add product_name field to HOST_INFO
- Add a GUI RPC for passing this info from the GUI to the client.
- Store it in client_state.xml, so that the client knows it initially.

The product name is included in scheduler RPC requests, as part of <host_info>.
TODO: add server-side support for parsing it and storing in DB.

Also: move DEVICE_STATUS out of HOST_INFO; it didn't belong there.
2013-05-21 13:20:56 -07:00
Charlie Fenton 93aad6826c client & MGR: add support for <max_event_log_lines>N</max_event_log_lines> in cc_config.xml
Default is 2000
0 means unlimited
2013-05-18 03:25:44 -07:00
David Anderson ecfd6d8a63 - boinccmd: check RPC replies for errors; show them. 2013-05-03 15:05:30 -07:00
David Anderson aa07305eeb - GUI RPC: add "project_dir" field to PROJECT struct.
GUIs can look for image files (stat_icon etc.) in this directory.
2013-04-18 12:43:17 -07:00
David Anderson 2ea7f44f22 - boinccmd: show correct error message if auth failure 2013-04-08 11:35:49 -07:00
David Anderson 994f4d6b4c - Manager: fix case where the client has only an Intel GPU,
and the manager was acting as if it had no GPUs.
2013-03-05 13:39:42 +01:00
David Anderson 10f8baca5b - lib: function name tweak 2013-03-05 13:33:27 +01:00
Charlie Fenton b37c720661 Mgr: Display "Fetching notices..." instead of "There are no notices" while getting notices. Display "There are no notices" only if we have actually determined there are no notices 2013-03-04 17:19:40 +01:00
Rom Walton 2dd82881de - client/server: fix build breaks I introduced last night with a variable
rename.
2013-03-04 15:30:03 +01:00
David Anderson 2ded3ff67d - fix typo in GUI RPC
- check in some code for multi-user job prioritization
2013-03-04 15:23:39 +01:00
Charlie Fenton ce87ec9848 OpenCL: First pass at adding support for Intel Ivy Bridge GPUs 2013-03-04 15:23:39 +01:00
David Anderson 9cf10b400a - GUI RPC: expose TIME_STATS info (e.g. on_frac) in
the binding of the get_state() RPC
- client: move client_start_time and previous_uptime
    from CLIENT_STATE to TIME_STATS,
    so that these are also visible in GUI RPC
- scheduler RPC: move uptime and previous_uptime
    into <time_stats>
- client: condition an RR simulation message on <rrsim_detail>
- boinccmd: show TIME_STATS info in --get_state
2013-03-01 16:08:52 +01:00
Oliver Bock 02213ba568 Merge branch 'charlie/master' into master
Conflicts:
	checkin_notes
2013-03-01 15:31:10 +01:00
Charlie Fenton 062e401816 lib: don't clear entire APP_VERSION struct in APP_VERSION::parse_coproc() 2013-03-01 15:29:31 +01:00
Oliver Bock b0f81fcf83 Merge branch 'charlie/master' into master 2013-03-01 15:17:27 +01:00
Charlie Fenton 951e480636 Compile fixes 2013-03-01 15:16:57 +01:00
Charlie Fenton 6550c6927a lib: fix unmatched parentheses which confused source file editor 2013-02-28 15:58:01 +01:00
David Anderson 36c304e7d3 - client: maintain current and previous uptime, and include them in scheduler RPC request. - scheduler: parse them Note: this is to support a future feature where the scheduler will send non-checkpointing jobs only clients likely to be able to complete them. 2013-02-26 16:53:20 +01:00
David Anderson 1db61a208c - Client/manager: if a GPU app is suspended because a GPU-exclusive
app is running, show an appropriate message.


svn path=/trunk/boinc/; revision=26128
2012-09-20 06:09:02 +00:00
David Anderson 53782b7de4 - lib: switch include order to the way it was (general to specific).
Should fix MinGW compile


svn path=/trunk/boinc/; revision=26008
2012-08-11 05:47:18 +00:00
David Anderson d085bc4ee6 - Client/manager: there was a bug because some code was writing
"cpu" in XML, and other code was looking for "CPU".
    To fix this and prevent similar problems,
    processor type names are now encapsulated in proc_type_name_xml().
    Code should use this rather than having hard-wired names.
    Redefine: GPU_TYPE_* as macros that call proc_type_name_xml().


svn path=/trunk/boinc/; revision=25996
2012-08-08 23:09:43 +00:00
David Anderson 2e71ade9c5 Win compile fixes
svn path=/trunk/boinc/; revision=25937
2012-08-01 21:02:54 +00:00
David Anderson 405f567c81 - code cleanup: in foo.cpp, include foo.h first
svn path=/trunk/boinc/; revision=25933
2012-08-01 20:04:05 +00:00
David Anderson 19458ba4de - Compile fixes for Fedora core 17. From Christian B. Fixes #1194.
- Fix various #include issues.

CODING STYLE LAW (minimal inclusion principle):
    If foo.cpp requires <blah.h>,
    #include <blah.h> in foo.cpp, NOT foo.h


svn path=/trunk/boinc/; revision=25837
2012-07-02 18:51:02 +00:00
David Anderson d5bf5c46e3 - Manager: in Project Properties page,
show if a GPU type is excluded by configuration
- client: don't fetch work for a resource type if all instances
    of that type are excluded
- web: don't use filter_var(, FILTER_SANITIZE_STRING)
    to strip HTML tags from a string.
    This escapes singles quotes also.
    Use strip_tags() instead.


svn path=/trunk/boinc/; revision=25375
2012-03-04 04:58:41 +00:00
David Anderson 7c3bc68a05 - API, client, and Manager: add an optional "reason" argument to
boinc_temporary_exit(),
        explaining why the app is exiting.
        Convey this to the client, and then to the Manager,
        and display it there and in the log.

    clientgui/
        MainDocument.cpp
    lib/
        gui_rpc_client_ops.cpp
        gui_rpc_client.h
    api/
        boinc_api.cpp,h
    client/
        client_types.cpp,h
        app.h
        app_control.cpp

svn path=/trunk/boinc/; revision=25315
2012-02-22 22:56:05 +00:00
David Anderson 721493bf29 - Manager/Client: fix bugs in GUI RPC that prevented
updates to proxy info from being saved by client


svn path=/trunk/boinc/; revision=25297
2012-02-20 21:32:26 +00:00
David Anderson 4b7a079776 - bug fixes to previous checkin
svn path=/trunk/boinc/; revision=25218
2012-02-08 01:53:19 +00:00
David Anderson 7e48057f44 - client/Manager/GUI RPC: clean up RPC stuff involving
resource-specific backoff and exclusion

    Old: client writes
            <rsc_backoff_time>
            <rsc_backoff_interval>
            <no_rsc_ams>
            <no_rsc_apps>
            <no_rsc_pref>
        in GUI RPC entries for projects.
        Manager (GUI RPC client): PROJECT struct has
            cpu_backoff_time
            cpu_backoff_interval
            ... cuda, ati
            no_cpu_pref
            ... cuda, ati
        and it parses tags of these names.
        In other words, no information is being conveyed
        from client to Manager.

    New:
        manager parses both forms


svn path=/trunk/boinc/; revision=25217
2012-02-08 01:39:01 +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
David Anderson c05444ad1e - GUI RPC: switching to the new XML parser
(which won't parse a double as an int)
    revealed a type mismatch in FILE_TRANSFER::next_request_time
    between client and server.


svn path=/trunk/boinc/; revision=25125
2012-01-23 05:03:52 +00:00
David Anderson c7d766f6d7 - client: parse HOST_INFO::p_vm_extensions_disabled correctly
svn path=/trunk/boinc/; revision=25105
2012-01-19 09:38:35 +00:00
David Anderson 1117f7b944 - GUI RPC client: don't write spurious messages to stderr
svn path=/trunk/boinc/; revision=25066
2012-01-14 23:08:07 +00:00
David Anderson 81b29b0cc9 - API: fix queueing problem for graphics-related messages
(web graphics URL and remote desktop addr)
- GUI RPC and API:
    change "remote_desktop_connection" to "remote_desktop_addr" everywhere.
    It's an address, not a connection.
- vboxwrapper: log message cleanup


svn path=/trunk/boinc/; revision=25044
2012-01-13 19:00:16 +00:00
Rom Walton 3bc326db3e - client: Add plumbing to support passing the remote desktop
connection information to the manager
    - MGR: Add a "Show VM Console" button for those tasks which
        report a remote desktop port number.

    client/
        app.cpp, .h
        app_control.cpp
    clientgui/
        Events.h
        MainDocument.cpp, .h
        ViewWork.cpp, .h
    lib/
        gui_rpc_client.h
        gui_rpc_client_ops.cpp

svn path=/trunk/boinc/; revision=25036
2012-01-12 22:05:25 +00:00
David Anderson 962cee0689 - manager: parse message contents with XML_PARSER::element_content().
svn path=/trunk/boinc/; revision=25005
2012-01-06 21:58:43 +00:00
Rom Walton 1287b95f73 - MGR: Remove sash window divider between the task panel and list panel
in the advanced view. Retain the ability to dynamically adjust the
        width of the task panel based on widest button.
    - LIB: Use parse string instead of copy contents for messages RPC.
    
    clientgui/
        BOINCBaseView.cpp, .h
        ViewNotices.cpp
        ViewResources.cpp
        ViewStatistics.cpp
    lib/
        gui_rpc_client_ops.cpp

svn path=/trunk/boinc/; revision=25001
2012-01-06 17:12:19 +00:00
David Anderson 57d1c580e8 - GUI RPC: use new XML parser
svn path=/trunk/boinc/; revision=24998
2012-01-05 19:58:51 +00:00
David Anderson fc6d530a6c - client: shuffle disk usage code in preparation for disk accounting
- use new XML parser in some GUI RPC code


svn path=/trunk/boinc/; revision=24925
2011-12-28 14:52:03 +00:00
David Anderson b003b8e290 - add support for APP::needs_network flag.
If set, don't run jobs for that app while network is suspended.
		- client: parse this flag and maintain in state file;
			do a job reschedule when network suspend state changes
		- GUI RPC: add RESULT::network_wait flag;
			if set, this job is waiting for network access to be allowed
		- Manager: display the above in task info
	- add support for "web graphics URL" (see above)
		- client: parse message containing URL on graphics_reply channel
			and store in ACTIVE_TASK::web_graphics_url
		- GUI RPC: add RESULT::web_graphics_url
		- Manager: if web graphics URL is present, Show Graphics opens a browser
	- remove some vestigial code for pre-V6 graphics

svn path=/trunk/boinc/; revision=24899
2011-12-26 03:30:32 +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 690e18bbe3 - server: plan class names containing 'nvidia' or 'cuda'
are assumed to be for NVIDIA GPU apps;
    plan class names containing 'ati' are assumed to be for AMD GPU apps.
    Clauses for 'nvidia' were missing in a couple of places.


svn path=/trunk/boinc/; revision=24512
2011-11-03 05:26:19 +00:00
Rom Walton 687195e7f0 Quick Updates
svn path=/trunk/boinc/; revision=24510
2011-11-03 02:35:04 +00:00
Rom Walton afb727eba3 - Remove dead code related to v5 graphics applications from the
client software.
    
    client/
        boinc_cmd.cpp
    clientgui/
        AsyncRPC.cpp, .h
        BOINCGUIApp.cpp, .h
        MainDocument.cpp
    clientgui/gtk/
        taskbarex.cpp
    clientscr/
        screensaver.cpp
    lib/
        gui_rpc_client.h
        gui_rpc_client_ops.cpp
    win_build/
        win-config.h

svn path=/trunk/boinc/; revision=24398
2011-10-14 19:02:43 +00:00
David Anderson 115ca46730 - GUI RPC: add get_daily_xfer_history() RPC for getting
the daily records of #bytes uploaded and downloaded


svn path=/trunk/boinc/; revision=24340
2011-10-06 17:23:16 +00:00