BOINC_QUERY_BATCHES now prints, for each queried batch,
a count of jobs followed by the jobs
BOINC_ABORT_JOBS takes a list of jobs, which may belong to different batches.
The handler for this looks up the batches and makes sure
the jobs belong to the user.
- If user preferences allow "Run while on battery" then run boincscr or project screensavers even when dual-GPU Macbook Pro is on battery power
- Replace a deprecated API (applies to all Macs)
- Fix a crash bug.
- Don't run boincscr or project screensavers when on battery power because OpenGL apps trigger the use of the power-hungry discrete GPU.
- Fix a crash bug.
- Don't run boincscr or project screensavers when on battery power because OpenGL apps trigger the use of the power-hungry discrete GPU.
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.
- XML parser: for parse_string(), malloc the 256KB buffer instead of
allocating it on the stack; the latter crashes threads with 32KB stacks.
However, do the malloc() only if we've actually seen the start tag
(this required a bit of code shuffle).
- BOINC GAHP: escape spaces in error msgs
Problem: a workunit could error out with unsent results.
The feeder skips such results, but the size_regulator counts them
and doesn't so doesn't promote any new results.
Solution: the feeder scans for results even with workunit errors.
If marks these results as state OVER, outcome DIDNT_NEED