Commit Graph

122 Commits

Author SHA1 Message Date
David Anderson 671524df2a - Second pass at the above. We still need run_program() in util.C.
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
2008-03-10 22:36:22 +00:00
David Anderson cc2f1a20a0 - lib: moved "run program as user" stuff to a separate file,
so it doesn't screw up the linkage of apps that don't use it
- start of server-side support for coprocessors

svn path=/trunk/boinc/; revision=14878
2008-03-10 21:59:27 +00:00
Rom Walton 75e334811a - client: prevent information disclosure by creating a new environment
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
2008-02-15 15:52:16 +00:00
David Anderson 51764d5abc compile fixes
svn path=/trunk/boinc/; revision=14726
2008-02-12 20:49:44 +00:00
David Anderson 35dab13859 - client code: my next-to-last checkin was flawed
svn path=/trunk/boinc/; revision=14725
2008-02-12 20:33:05 +00:00
David Anderson cf9b2b7c4a - compile fixes
svn path=/trunk/boinc/; revision=14722
2008-02-12 15:28:31 +00:00
David Anderson ee34cf3ab7 - client: removed sprawl
svn path=/trunk/boinc/; revision=14721
2008-02-12 15:04:27 +00:00
Rom Walton bda057588a - WINSETUP: disable creation of client_auth.xml on Win2k.
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
2008-02-01 22:08:48 +00:00
David Anderson 028544e184 - API: get rid of getrusage_mutex to synchronize calls to getrusage()
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
2007-10-12 19:28:30 +00:00
Frank Thomas fbcfeaf456 - Removed the svn:executable property from files that should not be executable,
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
2007-10-10 09:25:40 +00:00
Frank Thomas 3bfc78b511 Updated the postal address of the Free Software Foundation in all license headers. See http://lists.ssl.berkeley.edu/pipermail/boinc_dev/2007-October/008939.html for reference.
svn path=/trunk/boinc/; revision=13804
2007-10-09 11:35:47 +00:00
David Anderson d302a5e107 - client/manager/API: code cleanup to disentangle sandbox code from lib/.
- 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
2007-10-05 16:47:07 +00:00
David Anderson ab09ba8834 - graphics API: redo the code for backwards compatibility with V5 so that
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
2007-09-28 04:23:34 +00:00
David Anderson dabba949a4 - client: when a job finishes, read last (not first) 63KB of stderr
- 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
2007-09-03 23:00:22 +00:00
David Anderson e1a0c552e2 - compile fixes for Win
client/
		acct_setup.C
		cs_prefs.C
		cs_trickle.C
	lib/
		filesys.C
		str_util.C,h
		util.C,h
	tools/
		updater.C
	win_build/
		sim.vcproj

svn path=/trunk/boinc/; revision=12985
2007-06-22 20:17:08 +00:00
David Anderson 7b74befedc - client: when you read a file into a string with:
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
2007-06-22 18:53:55 +00:00
David Anderson 6b4e912b27 - random compile warning fixes
client/
    auto_update.C
    file_names.h
    scheduler_op.C
    time_stats.C
lib/
    util.C,h
tools/
    create_work.C
    updater.C

svn path=/trunk/boinc/; revision=12971
2007-06-20 23:16:30 +00:00
David Anderson b7fad32d14 svn path=/trunk/boinc/; revision=12960 2007-06-19 15:46:53 +00:00
David Anderson 90374052f2 - debug version 6-style graphics on Windows.
New example app works now!

	api/
		graphics2.C,h
		graphics2_util.C
		graphics2_win.C
	lib/
		util.C,h

svn path=/trunk/boinc/; revision=12735
2007-05-23 21:02:19 +00:00
David Anderson 11869bc0be *** empty log message ***
svn path=/trunk/boinc/; revision=12333
2007-04-09 02:17:26 +00:00
David Anderson 52793262e1 *** empty log message ***
svn path=/trunk/boinc/; revision=12257
2007-03-20 23:12:22 +00:00
David Anderson aacfe0c952 *** empty log message ***
svn path=/trunk/boinc/; revision=12255
2007-03-20 19:55:53 +00:00
David Anderson 81effa6a7b *** empty log message ***
svn path=/trunk/boinc/; revision=12127
2007-02-21 16:26:51 +00:00
David Anderson 6a10211584 *** empty log message ***
svn path=/trunk/boinc/; revision=11960
2007-01-24 22:55:00 +00:00
David Anderson eba028a27d *** empty log message ***
svn path=/trunk/boinc/; revision=11946
2007-01-23 22:29:19 +00:00
David Anderson 3967a1f924 *** empty log message ***
svn path=/trunk/boinc/; revision=11850
2007-01-12 17:42:29 +00:00
David Anderson 46695c2155 *** empty log message ***
svn path=/trunk/boinc/; revision=11683
2006-12-14 20:44:39 +00:00
David Anderson 86ad19ce5f *** empty log message ***
svn path=/trunk/boinc/; revision=11672
2006-12-14 00:42:43 +00:00
David Anderson 883ea45c62 *** empty log message ***
svn path=/trunk/boinc/; revision=11237
2006-10-03 17:14:56 +00:00
Eric J. Korpela 9e924706a0 New functions remove_duplicate_words(char * or string &). Removes duplicate
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
2006-09-26 16:22:36 +00:00
Bruce Allen 3efc634fdf For computing and tracking a host's average credit/cpu_time I
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
2006-09-11 11:25:29 +00:00
David Anderson b86bd36cf6 *** empty log message ***
svn path=/trunk/boinc/; revision=11082
2006-09-01 22:21:20 +00:00
David Anderson baae07da72 *** empty log message ***
svn path=/trunk/boinc/; revision=11034
2006-08-29 18:18:36 +00:00
Charlie Fenton 6ecd5de4d9 *** empty log message ***
svn path=/trunk/boinc/; revision=10803
2006-08-01 12:36:19 +00:00
David Anderson 986e2e5047 *** empty log message ***
svn path=/trunk/boinc/; revision=10665
2006-07-18 01:46:55 +00:00
Eric J. Korpela c2b585ade9 Protected the getrusage call in boinc_calling_thread_cpu_time() with the
same mutex used in boinc_api.C

svn path=/trunk/boinc/; revision=10358
2006-06-15 18:19:06 +00:00
Charlie Fenton 477677ac5a *** empty log message ***
svn path=/trunk/boinc/; revision=10356
2006-06-15 11:11:41 +00:00
Charlie Fenton e05a8ed187 *** empty log message ***
svn path=/trunk/boinc/; revision=10340
2006-06-14 10:45:42 +00:00
David Anderson 8b53c08ffb *** empty log message ***
svn path=/trunk/boinc/; revision=10290
2006-06-09 22:53:24 +00:00
Rom Walton 6c3751ca06 *** empty log message ***
svn path=/trunk/boinc/; revision=10146
2006-05-16 21:14:18 +00:00
David Anderson 3a0a20ae0d *** empty log message ***
svn path=/trunk/boinc/; revision=10068
2006-05-01 05:54:52 +00:00
Rom Walton bb52314899 *** empty log message ***
svn path=/trunk/boinc/; revision=9580
2006-03-01 10:10:22 +00:00
David Anderson 9edb1c083f *** empty log message ***
svn path=/trunk/boinc/; revision=9170
2006-01-05 06:42:45 +00:00
David Anderson b56b31363a more random password generation
svn path=/trunk/boinc/; revision=8753
2005-10-27 20:03:51 +00:00
Bruce Allen 5a0bf91707 Logging: to help resolve future race conditions etc, I have modified
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
2005-09-13 16:30:04 +00:00
David Anderson f7dbc80eae canonicalize URLs in GUI RPC interfaces
svn path=/trunk/boinc/; revision=7246
2005-08-11 06:52:19 +00:00
David Anderson d37df9e36f *** empty log message ***
svn path=/trunk/boinc/; revision=6286
2005-06-06 19:18:01 +00:00
Bruce Allen 13d1f435d3 Added a utility function to 'print' a text description of errors
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
2005-05-01 13:10:53 +00:00
David Anderson 3e2ad042ba *** empty log message ***
svn path=/trunk/boinc/; revision=5769
2005-04-04 06:02:36 +00:00
David Anderson e18a297017 *** empty log message ***
svn path=/trunk/boinc/; revision=5625
2005-03-10 22:05:42 +00:00