Commit Graph

334 Commits

Author SHA1 Message Date
David Anderson c8384113e4 - changes to many files to fix gcc4.3 compile
svn path=/trunk/boinc/; revision=14811
2008-02-27 23:26:38 +00:00
Charlie Fenton 3ad653d8ac Mac Sandbox: make BOINC Data directory and files not world-readable to hide account keys from unauthorized users
svn path=/trunk/boinc/; revision=14566
2008-01-16 10:38:21 +00:00
David Anderson 80c6f55d7d - client: a project (Ralph) had accidentally included a .svn directory in a zip archive,
resulting in a lot of read-only files in its slot directories.
        When the client attempts to delete these files,
        each delete fails and the client retries for about 5 seconds.
        This adds up to a delay of about 20 minutes,
        during which the client (and Manager) appear to be hung.

        Solution:
        1) if a file delete fails with error ERROR_ACCESS_DENIED,
            use SetFileAttributes() to clear the read-only flag, then try again.
        2) Don't use the 5-second retry mechanism when clearing out
            slot directories.  These can contain unbounded numbers of files,
            and this can lead to long periods where the client appears hung.

svn path=/trunk/boinc/; revision=14557
2008-01-15 19:12:43 +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
Charlie Fenton 3158d103ab client/manager/API: Finish & fix bugs in code cleanup to disentangle sandbox code from lib/.
svn path=/trunk/boinc/; revision=13798
2007-10-09 00:34:38 +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 bc5b979afb - Added new script "update_versions_v6"; use this instead of
update_versions to add version 6 apps.
    It looks for API_VERSION string in main executable,
    adds the API version to the app_version XML,
    and sets min_core_version to 6 for version 6+ apps
- API: include API_VERSION string
- convert tabs to spaces here and there
- scheduler: parse unused elements in <net_stats>
- ops/show_log.php: if no URL args, just show form (fixes #415)
- client: parse and store api_version (not used yet)

svn path=/trunk/boinc/; revision=13627
2007-09-21 18:10:54 +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 9850a17167 - GUI RPC: add graphics_exec_path and slot_path fields to RESULT.
These let the Manager run the graphics app.
    Graphics apps have physical name *v6graphics*
- Separated ACTIVE_TASK::write() and ACTIVE_TASK::write_gui().
    These need to write largely disjoint set of items.
- code cleanup: remove a zillion "else"s in parsing code
- code cleanup: change a zillion match_tag(buf, "<foo/>"
    to parse_bool(buf, "foo")

client/
    app.C,h
    client_state.C
    client_types.C,h
lib/
    gui_rpc_client.h
    gui_rpc_client_ops.C
sched/
    server_types.C

svn path=/trunk/boinc/; revision=12938
2007-06-14 23:08:43 +00:00
David Anderson 4f81994be6 - Add a mechanism for a project to shut down gracefully.
If <ended>1</ended> is included in config.xml,
    this gets send to clients,
    and they display a "Project ended - OK to detach" message.

client/
    client_state.C
    client_types.C,h
    scheduler_op.C
clientgui/
    VIewProjects.cpp
    VIewProjectsGrid.cpp
lib/
    gui_rpc_client.h
    gui_rpc_client_ops.C
    gui_rpc_client_print.C
sched/
    sched_config.C,h
    server_types.C

svn path=/trunk/boinc/; revision=12742
2007-05-24 16:07:21 +00:00
David Anderson 2fcd2cb7d5 - lib/filesys: do timed retry of delete/rename on Unix as well as Win
- client: sleep 1 sec (not 60) before retry statefile write
- client: parse <credit> in workunit XML
- scheduler: better error messages if insert_wu_tags() fails

api/
    graphics2_unix.C
client/
    client_state.C
    client_types.C
lib/
    filesys.C
sched/
    sched_send.C

svn path=/trunk/boinc/; revision=12720
2007-05-23 03:55:53 +00:00
David Anderson f7e650191a - client: change Win program launch to suppress hourglass cursor
- client simulator: add --cpu_sched_rr_only and --dual_dcf options

client/
    app.h
    app_start.C
    client_types.C,h
    cpu_sched.C
    cs_scheduler.C
    sim.C,h
    work_fetch.C

svn path=/trunk/boinc/; revision=12671
2007-05-15 20:29:26 +00:00
David Anderson bd8b0aed41 - core client: on attach to project,
if the initial sched request failed,
		the manager would show "communicating" for 60 sec,
		then time out and show "failed to attach".
		But the project would actually be attached.
		This was due to a logic error,
		but I fixed it in a more fundamental way:
		by considering an attach to be complete immediately,
		without waiting for a successful scheduler RPC.

		This was originally done to ensure that the URL and account key were valid.
		But when using the BOINC Manager, we've already verified
		both of these before doing the attach project RPC.

		When using boinc_cmd, you now have to check for messages
		indicating a bad URL or account key.
		I changed things to print these messages on every sched RPC.

		Implementation: the notion of "tentative project" no longer exists.

	client/
		client_state.C,h
		client_types.C,h
		cs_account.C
		cs_benchmarks.C
		cs_scheduler.C
		gui_rpc_server_ops.C
		scheduler_op.C
		sim.C
		sim_util.C

svn path=/trunk/boinc/; revision=12663
2007-05-14 19:18:45 +00:00
David Anderson a8016c461c - another multi-platform fix (missing \n)
client/
		client_types.C

svn path=/trunk/boinc/; revision=12578
2007-05-06 19:48:17 +00:00
David Anderson 4a1741e220 - Core client: handle multiple platforms correctly.
Remove the tacet assumption that a host can handle
        applications for a single platform.
        With the Apr 30 scheduler changes,
        a project may (at different times)
        send app versions for the same app and version number,
        but different platforms.
        Before we would have ignored all but the first;
        now we handle them correctly.

        Implementation notes:
        - Add APP_VERSION.platform, RESULT.platform,
            and RESULT.version_num.
            If these are missing from an XML doc
            (e.g. an existing state file or a scheduler reply
            from a project not running current server)
            then set to the primary platform.
        - Continue to write workunit.version_num
            and active_task.version_num to state file,
            even though these are no longer part of the struct.
            This allows users to revert to an older version.

    client/
        app.C
        check_state.C
        client_state.C,h
        client_types.C,h
        cs_apps.C
        cs_scheduler.C
        cs_statefile.C
        sim.C

svn path=/trunk/boinc/; revision=12542
2007-05-03 17:14:30 +00:00
David Anderson 564504eff6 svn path=/trunk/boinc/; revision=12402 2007-04-17 17:12:44 +00:00
David Anderson bc98f0e90c *** empty log message ***
svn path=/trunk/boinc/; revision=12367
2007-04-13 22:55:18 +00:00
David Anderson e6f9499b02 *** empty log message ***
svn path=/trunk/boinc/; revision=12361
2007-04-13 04:22:20 +00:00
David Anderson 3eaea4fb71 *** empty log message ***
svn path=/trunk/boinc/; revision=12347
2007-04-11 21:49:57 +00:00
David Anderson 1be9af1b1a *** empty log message ***
svn path=/trunk/boinc/; revision=12303
2007-04-03 19:35:33 +00:00
David Anderson 8ee50511de *** empty log message ***
svn path=/trunk/boinc/; revision=12277
2007-03-28 21:30:45 +00:00
David Anderson 035642f298 *** empty log message ***
svn path=/trunk/boinc/; revision=12244
2007-03-19 19:13:40 +00:00
David Anderson 138f17af40 *** empty log message ***
svn path=/trunk/boinc/; revision=12216
2007-03-13 19:33:27 +00:00
David Anderson 2b440dacfe *** empty log message ***
svn path=/trunk/boinc/; revision=12188
2007-03-05 00:32:26 +00:00
David Anderson 2b67a5e84e *** empty log message ***
svn path=/trunk/boinc/; revision=12185
2007-03-04 02:30:48 +00:00
David Anderson 1e26582c8c *** empty log message ***
svn path=/trunk/boinc/; revision=12151
2007-02-24 20:10:06 +00:00
David Anderson 6b4803d969 *** empty log message ***
svn path=/trunk/boinc/; revision=12146
2007-02-23 20:24:52 +00:00
David Anderson e3dd5f75f9 *** empty log message ***
svn path=/trunk/boinc/; revision=12136
2007-02-21 22:27:35 +00:00
David Anderson 81effa6a7b *** empty log message ***
svn path=/trunk/boinc/; revision=12127
2007-02-21 16:26:51 +00:00
David Anderson 1836caad77 *** empty log message ***
svn path=/trunk/boinc/; revision=12058
2007-02-08 21:58:24 +00:00
David Anderson ac3e809427 *** empty log message ***
svn path=/trunk/boinc/; revision=12026
2007-02-02 17:12:07 +00:00
David Anderson c7548f1a65 *** empty log message ***
svn path=/trunk/boinc/; revision=12022
2007-01-31 18:31:29 +00:00
David Anderson bb3933121e *** empty log message ***
svn path=/trunk/boinc/; revision=12008
2007-01-30 19:48:28 +00:00
David Anderson b161d44800 *** empty log message ***
svn path=/trunk/boinc/; revision=11994
2007-01-29 16:19:51 +00:00
David Anderson a26b6a2215 *** empty log message ***
svn path=/trunk/boinc/; revision=11972
2007-01-25 23:39:06 +00:00
David Anderson 71fc6345b7 *** empty log message ***
svn path=/trunk/boinc/; revision=11957
2007-01-24 21:20:57 +00:00
David Anderson d7811336bc *** empty log message ***
svn path=/trunk/boinc/; revision=11911
2007-01-19 20:56:49 +00:00
David Anderson 7550b38daf *** empty log message ***
svn path=/trunk/boinc/; revision=11899
2007-01-18 19:29:15 +00:00
David Anderson 2e3df006c2 *** empty log message ***
svn path=/trunk/boinc/; revision=11827
2007-01-10 20:55:30 +00:00
David Anderson 86ad19ce5f *** empty log message ***
svn path=/trunk/boinc/; revision=11672
2006-12-14 00:42:43 +00:00
David Anderson 6d48e0e244 *** empty log message ***
svn path=/trunk/boinc/; revision=11656
2006-12-12 23:32:25 +00:00
David Anderson 41eb40b051 *** empty log message ***
svn path=/trunk/boinc/; revision=11643
2006-12-11 23:42:54 +00:00
David Anderson dcf1b946db *** empty log message ***
svn path=/trunk/boinc/; revision=11589
2006-11-26 02:06:30 +00:00
Rom Walton 178a16c6c9 *** empty log message ***
svn path=/trunk/boinc/; revision=11563
2006-11-22 09:51:59 +00:00
David Anderson e9a0efd06d *** empty log message ***
svn path=/trunk/boinc/; revision=11562
2006-11-22 03:23:38 +00:00
David Anderson 76991d81b5 *** empty log message ***
svn path=/trunk/boinc/; revision=11561
2006-11-21 20:57:36 +00:00
David Anderson 0a3a6fa5d7 *** empty log message ***
svn path=/trunk/boinc/; revision=11560
2006-11-21 18:41:27 +00:00
David Anderson 27d33df2d4 *** empty log message ***
svn path=/trunk/boinc/; revision=11553
2006-11-20 16:52:03 +00:00
David Anderson 6f6f62c955 *** empty log message ***
svn path=/trunk/boinc/; revision=11515
2006-11-10 17:55:22 +00:00
David Anderson 92a34648a6 *** empty log message ***
svn path=/trunk/boinc/; revision=11494
2006-11-08 00:20:16 +00:00