The problem was that there's a lot of extra stuff needed
for running apps on Windows (e.g. related to sandboxing).
This needed to be a new function.
svn path=/trunk/boinc/; revision=14879
block for applications launched using the 'boinc_project' account.
Windows contains environment variables that describe username,
domain name, profile directory and even logon server.
- client: correctly parse domain name information from the
client_auth.xml file when a different account is used for
'boinc_master'.
- SCR/MGR: Add two API's to adjust the ACLs on the current users
desktop and windowstation so that graphics applications can
properly create controls and dialogs for applications
launched using 'boinc_project'.
client/
app_start.C
lib/
boinc_win.h
util.C, .h
lib/
win_util.C, .h
win_build/
boinc_cli_curl.vcproj
svn path=/trunk/boinc/; revision=14748
Win2k requires any user account that is going to attempt
to logon as another account to have admin privs.
- WINSETUP: Give 'boinc_project' the right to be able to
logon as a service, we denied the right to logon
interactively.
- WINSETUP: Disable the 'failed to shutdown BOINC service'
dialog box.
- CC: Use the client_auth.xml file if present to launch
boinc applications as boinc_project if it exists.
- LIB: Use the client_auth.xml file if present to launch
boinc graphics applications as boinc_project if it
exists.
client/
app_start.C
lib/
diagnostics_win.C
lib/
util.C, .h
win_build/installerv2/redist/Windows/src/boinccas/
boinccas.rc
CACreateBOINCGroups.cpp
CACreateClientAuthFile.cpp
CAGrantBOINCMasterRights.cpp
CAGrantBOINCProjectRights.cpp
CAShutdownBOINC.cpp
win_build/installerv2/redist/Windows/Win32/
boinccas.dll
boinccas95.dll
win_build/installerv2/redist/Windows/x64/
boinccas.dll
boinccas95.dll
win_build/
boinc_ss.vcproj
boincmgr_curl.vcproj
libboinc.vcproj
svn path=/trunk/boinc/; revision=14659
and access to worker_thread_ru.
This was being used in the worker signal handler,
which is bad because pthread_mutex_lock() can allocate memory.
I don't think this matters; at worst we might get
CPU times off by < 1 sec.
svn path=/trunk/boinc/; revision=13844
like source code and text files. I skipped to check most files in html/
and mac_*/ though.
- Added svn:executable to tools/watch_tcp because it has a shebang.
svn path=/trunk/boinc/; revision=13819
- move client sandbox-specific code to a new file, sandbox.C
- remove g_use_sandbox from util.C; move to MainDocument.cpp (manager)
and sandbox.C (client)
- don't declare check_security() in util.h; it's not in util.C
- don't call remove_project_owned_file_or_dir() in
boinc_delete_file_aux() or boinc_rmdir();
rather, at the points in the client that delete
dirs that are usually owned by boinc_projects,
call remove_project_owned_file_or_dir() first,
then clean_out_dir().
- rename boinc_exec() to switcher_exec() and move it to sandbox.C
Note: this change was sparked by needing to remove a call to getgrnam()
from boinclib, to avoid requiring the same version of glibc
on both compile and target hosts
svn path=/trunk/boinc/; revision=13784
at most one regular and one full-screen graphics window can be open,
and a "hide" message kills the full-screen window if one exists,
else a regular window.
Keep track of the PIDs separately for regular and full-screen.
Also, don't send a "hide" ack if we don't do graphics.
svn path=/trunk/boinc/; revision=13697
- client: parse <cpid_time> in scheduler reply;
add cpid_time field to PROJECT.
This defaults to the user_create_time.
In deciding which CPID to send in a scheduler request,
use the one with oldest cpid_time (not user_create_time).
This is the client half of fixing a bug that causes
CPID to flip/flop between to values in a certain case.
svn path=/trunk/boinc/; revision=13531
loop
read a line X
S += X
it performs real bad if the file is large
(allocation of std::string seems to stupid)
So I changed this to
find file size n
read file into malloced buf size n
S = buf
free buf
- lib: moved functions to appropriate file
client/
acct_setup.C
cs_prefs.C
lib/
parse.C,h
str_util.C,h
util.C,h
svn path=/trunk/boinc/; revision=12983
words from a space or comma delimited string. Returns a space delimited string.
(i.e. "this is this a is test" -> "this is a test").
svn path=/trunk/boinc/; revision=11194
have inserted a new averaging function
update_credit_per_cpu_sec() into lib/util.C. This function
should be called from validator.C, and then the value of
credit_per_cpu_sec should be exported by db_dump.C in the
host_id.gz stats file.
David, Eric, if you could check the code and logic here I would
be grateful. I won't modify validator.C or db_dump.C until
we've agreed on this.
svn path=/trunk/boinc/; revision=11135
the logging functions to print fractional seconds down to hundred
microsecond precision. I think the only place that these logging
functions are used is in the server back-end code and in error logging
on the client side, where this should be OK. Rom, David, Charlie, if
you are unhappy with client side effects, I'm sure there is a way
to do this that only affects server side logging.
svn path=/trunk/boinc/; revision=8002
in error_numbers.h. In the future, when adding a new error number
to this file, please update boincerror() in util.C to contain a
short text description of the error.
svn path=/trunk/boinc/; revision=5997