Commit Graph

2838 Commits

Author SHA1 Message Date
David Anderson f9a6b9eb0b client, Win: use _stat64() instead of _stat(); _stat() returns error for > 4GB files 2015-05-08 14:53:42 -07:00
David Anderson 579597be93 client: fix botched commit from just now 2015-05-04 15:15:25 -07:00
David Anderson 44c82bea9e client: detect errors in directory enumeration
Previously, the dir_scan() function didn't distinguish between
- reaching the end of the directory
- errors
It just returned nonzero in either case.
This means that the function that cleans out a slot dir
(client_clean_out_dir())
could potentially return success even though the directory is nonempty.
This could potentially cause the recently-reported problem
where a slot dir contains a VM image from a previous job.
2015-05-04 14:48:34 -07:00
Benji Wiebe 83b731fd49 Formatted with spaces instead of TABs 2015-04-28 14:23:42 -05:00
Benji Wiebe 517e4ce080 Update gui_rpc_client.cpp 2015-04-28 14:22:35 -05:00
Benji Wiebe 06bb1d031c Fixed error message in boinccmd 2015-04-28 14:17:47 -05:00
Charlie Fenton ed983c1f91 lib: revert incorrect modification from commit 0773510 2015-04-18 22:25:49 -07:00
David Anderson f81105f707 create_work: show DB error messages 2015-04-13 23:58:59 -07:00
David Anderson af97b5f9be client: bug fixes to sorting projects alphabetically
There were two problems:
1) we were sorting before parsing the client state file
   (which is where we get project names from)
2) the Win implementation of strcasecmp() wasn't right;
   it returned difference but not order.
2015-04-10 13:20:19 -05:00
Charlie Fenton fb85aa7d5a lib: Ignore time-of-day or day-of-week settings (i.e., don't set "present" flag) if start time = end time. 2015-04-07 01:00:55 -07:00
David Anderson 7135f46c75 client: if get 417 HTTP status, switch to HTTP 1.0
417 (Expectation Failed) probably means we're talking to a 1.0 proxy
2015-03-05 15:19:41 -08:00
Charlie Fenton 3148f84cc6 MGR: In Advanced Preferences dialog, fix initial values set for network usage limit and time of day and day-of-week suspensions; more code cleanup. 2015-03-04 03:01:13 -08:00
Charlie Fenton 8419e3a9da lib: tweak values in GLOBAL_PREFS::enabled_defaults() function to better match new web prefs 2015-02-14 03:14:26 -08:00
David Anderson cb0d59ba5e lib: add enabled_defaults() function to GLOBAL_PREFS (for GUI) 2015-02-13 13:03:02 -08:00
Charlie Fenton 0773510fce client: fix incorrect parsing of <max_ncpus_pct> (0 means no limit) 2015-02-12 04:27:11 -08:00
Rom Walton 6e6fc4f741 BUILD: Add missing CXX Flags options for SSL to crypt_prog 2015-01-20 08:23:33 -05:00
Rom Walton 9536e1d161 BUILD: Do not build libboinccrypt unless we are also building either the server or client software.
We should not require projects to build/install openssl for Android just so use libboinc and libboincapi.
2015-01-19 16:50:27 -05:00
Julien Nabet d75222ebf3 cppcheck: Prefer prefix ++/-- operators for non-primitive types 2015-01-14 21:18:29 +01:00
David Anderson df37758441 lib, Mac: fix build error 2015-01-11 21:26:10 -08:00
Rom Walton 6bc87783dc LIB: We do not need to log trace statements on release builds (MSVC only).
LIB: Reset the file buffer size to 0 after cycling the stderr log file.
2015-01-06 11:31:04 -05:00
David Anderson fb31a869ed client: add <dont_suspend_nci> config option.
If set, non-CPU-intensive jobs are exempted from mass suspend
(e.g. suspend CPU, time of day, CPU throttling).
You can still suspend them individually.
2015-01-05 12:58:40 -08:00
Rom Walton 0afb366294 LIB: Fix potential parser problem with applications compiled against really old BOINC API code (pre-2012). 2014-12-19 11:29:43 -05:00
David Anderson 9411118774 client: fix bug where GPU jobs non suspended
There was a bug where, when you suspend GPU activity,
GPU jobs show as suspended but are not actually suspended.
This was because of recent changes to distinguish GPU and non-GPU coprocs.
Change things so that coprocs are by default GPUs.
If you want to declare a non-GPU coproc in your cc_config.xml,
you much put <non_gpu/> in its <coproc> element.
2014-12-08 20:38:56 -08:00
David Anderson cda6bd334b client: get static host info items only on startup
On Android, the way we were getting os_version
(Linux version + Android version)
didn't work because get_host_info() was getting called before every
scheduler RPC, and it overwrote the Android version part.

Solution: divide host info into dynamic (disk usage, network info)
and static (everything else).
Computer the static part only at startup.

Also factor the Unix HOST_INFO code into multiple functions.
2014-11-25 14:46:58 -08:00
David Anderson 115894f1e3 client emulator: don't crash if > 64 coproc instances specified 2014-11-24 23:07:21 -08:00
Rom Walton cb6c328151 VBOX: Make the vboxmanage interface work on Windows again.
VBOX: Make the service install scenario work again.
2014-11-23 23:22:57 -05:00
David Anderson 274b7cd8e3 client/manager: more fixes for WCG attach problem. Should work now. 2014-11-19 00:11:37 -08:00
David Anderson 303a0df53b client: fixes to last commit 2014-11-18 23:11:27 -08:00
David Anderson cce00e4587 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2014-11-18 22:14:58 -08:00
David Anderson aeac6c01f5 client/manager: fix WCG attach
When I added LDAP support I assumed that an email_addr without
a "@" is an LDAP name.
I forgot that WCG uses user names rather than email addrs.  D'oh!
2014-11-18 21:58:38 -08:00
Rom Walton 2d8d092e3c Merge branch 'master' of ssh://isaac.ssl.berkeley.edu/boinc-v2 2014-11-18 16:36:21 -05:00
Rom Walton 0bd6fa7c8a LIB: Remove string type conversion naming conflict with the ATL framework. 2014-11-18 16:35:47 -05:00
Charlie Fenton 07ba0a57d7 lib: in procindo_setup() for Mac, do not mark processes as low priority because some processes (e.g., Finder) change priority frequently, which would cause procinfo_non_boinc() and ACTIVE_TASK_SET::get_memory_usage() to get incorrect results for the % CPU used. 2014-11-15 02:54:56 -08:00
David Anderson db501739a6 client: timestamp all writes to stderr 2014-11-14 13:07:24 -08:00
David Anderson 2b2b04188a client: "suspend GPUs" shouldn't suspend non-GPU coprocessors
The following should apply to GPUs but not other coprocs (e.g. miner ASICs):
- "suspend GPUs" command in GUI
- prefs for suspending GPUs
- always removing app from memory when suspended
2014-11-07 00:57:39 -08:00
David Anderson f163dd0ec7 client: send LDAP credentials only over HTTPS 2014-10-28 14:06:49 -07:00
David Anderson 183adbb997 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2014-10-28 13:35:02 -07:00
David Anderson d62825fb21 Client: don't XML-unescape notice bodies when reading from file
There's no need for this since the bodies are stored in CDATA.
Doing so causes a bug:
if a notice body contains an entity (like &amp;)
and we get the same notice from an RSS feed,
the 2 notices are treated as separate
since the old copy is unescaped and the new one isn't.
2014-10-28 13:34:46 -07:00
Charlie Fenton 62e70a8e98 client: Handle future versions of CUDA which may not report NVIDIA GPUs with Compute Capability < 2.0 at all; prevent use of those GPUs for OpenCL and show explanation in Event Log and Notices. 2014-10-26 04:12:01 -07:00
David Anderson 6eabd34068 server: extend script_validator and script_assimilator to pass extra args
You can arrange to pass result IDs, runtime, etc.
to your validation and assimilation scripts.  See
http://boinc.berkeley.edu/trac/wiki/ValidationSimple#Usingscriptinglanguages
http://boinc.berkeley.edu/trac/wiki/AssimilateIntro#Usingscriptinglanguages
2014-10-24 14:22:07 -07:00
David Anderson bda8d7bc56 client: remove <data_dir> option from cc_config.xml
This leads to confusion;
e.g. if you do "read config files" it will look for cc_config.xml
in the new directory, not find it, and set default options.
Also, log files end up in old directory.
Also, gui_rpc_auth.cfg will be in new directory,
and the Manager won't look there.
2014-10-22 20:08:48 -07:00
Charlie Fenton 18b2f4a8da lib: On Mac, count ScreenSaverEngine as a BOINC process so BOINC screensaver doesn't cause BOINC to suspend tasks because it thinks CPU is busy. 2014-10-21 03:00:09 -07:00
David Anderson d0fb0184e8 client/manager/server: finish LDAP support
- get_project_config.php: if project supports LDAP,
  advertise this to the client.
- Manager: if project supports LDAP, say "Email address or LDAP ID"
  in Attach Project wizard,
  and don't do email address validation.
- lookup_account GUI RPC (client side): if passing an LDAP ID,
  don't lowercase it, and don't hash passwd
- lookup_account GUI RPC (server side): if passing an LDAP ID,
  pass appropriate URL args to Web RPC
- lookup_account Web RPC: in LDAP case, pass "ldap_auth" arg,
  and pass "ldap_uid" and "passwd".
  Handle these appropriately.
2014-10-18 23:53:27 -07:00
David Anderson 317dc915b0 wrapper: let job.xml specify the process priorities of sub-tasks
Add optional <priority>N</priority> to <task> element to job.xml.
Lets you specify the process priority of the task;
in particular, task can run at high priority.
Apparently this is needed to make bitcoin ASIC apps perform well.
2014-10-13 11:35:16 -07:00
David Anderson 74f3d25106 client: small code cleanup 2014-10-10 14:45:40 -07:00
David Anderson f8538c29b3 client: add <dont_use_vbox> cc_config option 2014-09-25 01:28:19 -07:00
Charlie Fenton 328d87be26 API: Fix a bug in boinc_get_opencl_ids() which incorrectly returned CL_INVALID_DEVICE on some systems. This would happen on hosts with multiple GPUs if:
* the host has GPUs from two different vendors with different OpenCL platforms (e.g., NVIDIA and AMD), and
 * the second platform queried has more GPUs than the first one, and
 * the requested GPU is a higher numbed one in the second platform.
2014-09-22 04:57:23 -07:00
David Anderson c2a0421074 scheduler: add support for miner_asic coprocessor type
I.e. treat miner ASICs as a distinct processor type;
send miner_asic jobs only if the client requests them.

Note: I was planning to do this in a more general way,
in which the scheduler wouldn't have a hard-wired list of processor types.
However, that would be a large code change,
so for now I just added miner_asic to the list of processor types
(nvidia, ati, intel_gpu),
and made various changes to get things to work.

Also: in the job dispatch logic, try to send coproc jobs
before CPU jobs.
That way if e.g. there's a limit on jobs in progress,
we'll preferentially send coproc jobs.
2014-09-21 21:08:09 -07:00
David Anderson ac242a2feb boinccmd: accept [IPv6_addr]:port as --hostname arg 2014-09-16 12:38:30 -07:00
Charlie Fenton bcb15ea355 client: fix minor bug in my previous commit - the cast should be to unsigned long, not signed long. 2014-09-15 06:40:26 -07:00