Commit Graph

1546 Commits

Author SHA1 Message Date
David Anderson 8ba1188dd0 - Client/server protocol:
send <client_cap_plan_class/> if client understands
    app version plan class.
    The server checks for this instead of version > 6.11.
- clean up unix_util: .h files declare only (extern) interfaces;
    no reason for daemon() to be C

svn path=/trunk/boinc/; revision=15006
2008-04-02 19:05:08 +00:00
David Anderson 463050aa21 Fix of prior checkin for Win32 build
svn path=/trunk/boinc/; revision=14997
2008-04-01 22:20:20 +00:00
Eric J. Korpela 51e24737bd - Build fixes for non-Win32, non-Linux, non-MacOS systems.
- configure script:
        - Added checks for functions strdup(), strdupa(),
            daemon(), stat64(), strcasestr()
        - Fixed problems with kc_mysql.m4 and wxWidgets.m4 returning
            invalid CFLAGS and LIBS flags.
        - Fixed incorrect order of pthread flag checking on solaris.
    - New files: lib/unix_util.[Ch].  Currently contains implementation of
        daemon() for systems that lack it.
    - Access to binary files in /proc was failing on some systems when compiled
        with 64 bit file access.  Rearranged headers and defines to force 32bit
        file access in hostinfo_unix.C
    - all_tty_idle() didn't work as advertised on any system as far as I can
        tell.  I rewrote it to check ttys that are not named /dev/tty[1-9].
        The old implementation was modifying a statically allocated read-only
        string, (and crashing on some systems) anyway.
    - added implementation of non-standard function strcasestr() to str_util.C
    - added #define of MAP_FILE to shmem.C, because it is missing from most
        unix systems, (and is unnecessary on linux anyway).
    - other minor bug fixes.


svn path=/trunk/boinc/; revision=14996
2008-04-01 21:44:12 +00:00
David Anderson 64d7e70ddd - client (Unix): don't follow symbolic links when
computing directory size.
    This will avoid counting the size of executables and input files
    in slot directories.

svn path=/trunk/boinc/; revision=14995
2008-04-01 21:10:03 +00:00
David Anderson 5b92f66bf9 - client: finish and debug coprocessor support
- manager and GUI RPC: show plan class in app version string

svn path=/trunk/boinc/; revision=14994
2008-04-01 20:46:41 +00:00
David Anderson 9fa202d8f0 - client: add coprocessor support: i.e., parse the list of coprocs
in <app_version>s from the server,
    keep track of the number free of each type of coproc,
    and don't run an app that needs more than are available.
    (not quite working yet)

svn path=/trunk/boinc/; revision=14992
2008-04-01 15:08:47 +00:00
Rom Walton 02eedda8ef - WINSETUP: Explicitly set the permissions on the BOINC Data
directory structure during every install.

    win_build/
        boincmgr_curl.vcproj
    win_build/installerv2/
        BOINC.ism
    win_build/installerv2/redist/Windows/src/boinccas/
        boinccas.def
        boinccas.rc
        boinccas.vcproj
    win_build/installerv2/redist/Windows/src/boinccas/
        CASetPermissionBOINCData.cpp, .h (Added)
        CASetPermissionBOINCDataProjects.cpp, .h (Added)
        CASetPermissionBOINCDataSlots.cpp, .h (Added)
        dirops.cpp, .h
        stdafx.h
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll

    - Tag for 6.1.12 release, all platforms
      boinc_core_release_6_1_12

    /
        configure.ac
        version.h

svn path=/trunk/boinc/; revision=14989
2008-03-31 19:05:27 +00:00
David Anderson 6af9f66b4e - DB/feeder/scheduler: change app_version.xml_doc from blob to mediumblob,
and change the correspending structure field from 64KB to 256KB
    (could increase this if needed).
    This is needed to handle app versions with lots (> 100) of files
- change LARGE_BLOB_SIZE to BLOB_SIZE a bunch of places
- Change COPROCS from vector<COPROC> to vector<COPROC*>.
    Otherwise the right virtual functions of COPROCs don't get called

svn path=/trunk/boinc/; revision=14986
2008-03-31 16:19:45 +00:00
David Anderson b91809d3c4 - try to get API to compile on Cygwin
svn path=/trunk/boinc/; revision=14982
2008-03-29 21:53:45 +00:00
David Anderson 61663b48f9 - client: debug coprocessor code
svn path=/trunk/boinc/; revision=14981
2008-03-28 21:22:48 +00:00
David Anderson ca516450e4 - some debugging code
svn path=/trunk/boinc/; revision=14980
2008-03-28 20:20:10 +00:00
David Anderson 2080d9dcc0 - Library: switch from lstat() back to stat() most places;
this broke some projects' back-end code.
    Make a new function (boinc_file_or_symlink_exists())
    for use by the client when clearing out slot dirs

svn path=/trunk/boinc/; revision=14968
2008-03-27 20:30:19 +00:00
David Anderson 13400c9516 Changes for multithread app support:
- update_versions: use __ (not :) as separator for plan class
- client: add plan_class to APP_VERSION;
    an app version is now identified by platform/version/plan_class
- client CPU scheduler: don't assume apps use 1 CPU
- client: add avg_ncpus, max_cpus, flops, cmdline to RESULT
- scheduler: implement app planning scheme

Other changes:

- client: if symlink() fails, make a XML soft link instead
    (for Unix running off a FAT32 FS)
- client: don't accept nonpositive resource share from AMS
- daemons and DB: check for error returns from enumerations,
    and exit if so.  Thus, if the MySQL server goes down,
    all the daemons will soon exit.
    The cron script will restart them every 5 min,
    so when the DB server comes back up so will the project.
- web: show empty max CPU % as ---
- API: get rid of all_threads_cpu_time option (always the case now)


svn path=/trunk/boinc/; revision=14966
2008-03-27 18:25:29 +00:00
Charlie Fenton b7e7e1cf1e Minor optimization
svn path=/trunk/boinc/; revision=14950
2008-03-20 14:20:02 +00:00
Charlie Fenton f65c9985b4 Better symbol display in Mac crash dumps; smaller mac executables; f ix bug in app_start.C.
svn path=/trunk/boinc/; revision=14949
2008-03-20 13:37:37 +00:00
David Anderson 5859b98fb8 - win fixes
svn path=/trunk/boinc/; revision=14947
2008-03-19 18:35:25 +00:00
David Anderson f9186d582b - client: fixes to the above. Need to use lstat() instead of stat()
so that we see the symlink, not what it's pointing to

svn path=/trunk/boinc/; revision=14946
2008-03-19 18:24:42 +00:00
David Anderson 6ba8928537 - client (Unix): use symbolic links instead of XML link files.
This will allow applications to access shared libraries
    by their logical names,
    which simplifies things when you have multiple platforms,
    and the apps (or libraries) refer to shared libraries
    by names that don't include the platform.
    This shouldn't impact the API - boinc_resolve_filename()
    will open the file, see that it's not an XML link file,
    and the symbolic link will be used directly.
    At some point we can change boinc_resolve_filename() on Unix
    to be a no-op if the client is 6.2+
- client (Unix):
    Append the slot dir to LD_LIBRARY_PATH.

svn path=/trunk/boinc/; revision=14944
2008-03-19 16:54:36 +00:00
Charlie Fenton 79ba008ead Fix Mac crash backtrace code to work with OS 10.5; update coprocessor CUDA library code for Mac (not tested.)
svn path=/trunk/boinc/; revision=14941
2008-03-19 07:15:43 +00:00
David Anderson aefe4ee18b svn path=/trunk/boinc/; revision=14914 2008-03-14 19:55:32 +00:00
Rom Walton 0498bcd89e Fix compile breaks.
svn path=/trunk/boinc/; revision=14913
2008-03-14 18:46:18 +00:00
Rom Walton 169eb876a7 - API: Attempt to use the 'Global' tag first, if the API
returns an ERROR_ACCESS_DENIED error code fallback
        to the original shmem_name.
        
    api/
        graphics2_util.C
    lib/
        shmem.C

svn path=/trunk/boinc/; revision=14911
2008-03-14 02:41:56 +00:00
Rom Walton ec1082130a - API: Include 'Global\' in the shared memory segment name for worker and
graphics applications so that the memory can be shared across terminal
        server sessions.
    - API: Add some trace messages to window creation and shutdown events, it
        is all logged to stderr.
    - API: Add some trace messages for loading graphic files.
    - API: Add some trace messages for loading font files.
    - API: There can be only one hInstance and it is assigned to the app at
        startup via winmain(). Use it throughout the graphics2 impl.
    - CC: Use the service security token to startup worker applications.
    - MGR: Use the interactive security token to startup graphics
        applications.
    - LIB: Create two different logon methods, one for logging on interactively
        (graphics applications) and one for services (worker application).

    api/
        graphics2_util.C
        graphics2_win.C
        gutil.C
        txf_util.C
    client/
        app_start.C
    lib/
        proc_control.C, .h
    win_build/
        boincmgr_curl.vcproj

svn path=/trunk/boinc/; revision=14905
2008-03-13 21:18:04 +00:00
Rom Walton c2028c37fd - CLI: Adjust the shared memory ACLs so that everybody can read/write to
them, the default ACL limits read/write access to SYSTEM and boinc_master
        when run in secure mode.
        
    lib/
        boinc_win.h
        shmem.C

svn path=/trunk/boinc/; revision=14903
2008-03-12 18:23:48 +00:00
Charlie Fenton 67d62d77b6 Client: Fix build breaks and compiler warnings on Mac
svn path=/trunk/boinc/; revision=14889
2008-03-11 05:31:07 +00:00
Charlie Fenton 36e7964e3b Client: Rework write_state_file logic to always retry on error, suppress intermediate warnings; Fix build breaks and compiler warnings on Mac
svn path=/trunk/boinc/; revision=14884
2008-03-11 03:59:35 +00:00
David Anderson e227059121 - Makefile for MinGW
svn path=/trunk/boinc/; revision=14883
2008-03-10 23:12:39 +00:00
David Anderson 671cf8f764 - compile fixes for Win
svn path=/trunk/boinc/; revision=14881
2008-03-10 22:52:43 +00:00
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
David Anderson b163be097f - client: win compile fixes
svn path=/trunk/boinc/; revision=14877
2008-03-10 20:54:08 +00:00
David Anderson c685f66384 - client: preliminary support for detecting and reporting coprocessors
(for now, CUDA devices)

svn path=/trunk/boinc/; revision=14876
2008-03-10 20:40:35 +00:00
David Anderson 27491c9d69 - Manager: avoid asserts on Linux
- Lib: compile fixes for MinGW

svn path=/trunk/boinc/; revision=14874
2008-03-09 18:54:33 +00:00
David Anderson 95772cba77 - removed boinc_ncpus_available() and boinc_nthreads() calls.
The design has been changed to constant #threads per app version
    Various changes from Kevin Reed/WCG:
    - server: add workunit.rsc_bandwidth_bound: if nonzero,
        send this WU only to hosts with that much download bandwidth
    - assimilators: if a handler returns DEFER_ASSIMILATION,
        the WU remains in INIT state and will be handled when the
        next instance completes.
        Useful if you want the assimilator to see all instances.
    - scheduler: when setting result.outcome = DETACHED,
        set received_time to now
    - scheduler: removed the reliable_time and reliable_min_avg_credit
        options
    - scheduler/web: add optional <allow_non_preferred_projects>
        in project preferences.
        If present, user will accept work from non-selected apps
        if no work is available for selected apps
    - scheduler: improved messages for projects with multiple apps
    - scheduler: added config options
        <granted_credit_weight> and <granted_credit_ramp_up>.
        Used in calculating host.claimed_credit_per_cpu_sec,
        but I'm not sure how.
    - Added two new credit-granting formulas (validate_util.C):
        stddev_credit() and two_credit()
    - server DB: add rollback_transaction() and affected_rows() to DB_CONN

    NOTE: DB update required

svn path=/trunk/boinc/; revision=14870
2008-03-07 21:13:01 +00:00
Rom Walton 926659e750 - lib: Remove SEH exception handling from MS sample code.
lib/
        win_util.C
    

svn path=/trunk/boinc/; revision=14865
2008-03-07 04:27:51 +00:00
David Anderson 933e1ec0be - lib: add Win function to suspend or resume all threads in a process
svn path=/trunk/boinc/; revision=14863
2008-03-06 18:31:57 +00:00
Rom Walton d504ab4905 - CLI: Make the CreateProcessAsUser process work again on Wndows.
It broke after the change of removing the call to LogonUserEx.

    client/
        app_start.C        
    lib/
        util.C

svn path=/trunk/boinc/; revision=14859
2008-03-06 17:18:59 +00:00
David Anderson 4e3764df34 - server: debugged single-job submission feature.
It works, at least in my test case.
- boinc_submit script:
    show status every 10 seconds until completed
    add --wait option to show status for previous submission
- Added get_logical_name() in validate_util.C
- create_work: change default target_nresults from 5 to 2,
    max_error_results from 10 to 3,
    max_total_results from 20 to 10,
    max_success_results from 10 to 6
- boinc_cmd: show full usage if no args
- project setup: copy single_job_assimilator

svn path=/trunk/boinc/; revision=14847
2008-03-05 20:16:10 +00:00
Rom Walton 4409e93f7a Quick Updates
svn path=/trunk/boinc/; revision=14824
2008-02-29 15:21:47 +00:00
Rom Walton e132a808e1 - lib: remove references to LogonUserEx which does not exist on Win2k or
older machines.
    - lib: comment out the CreateProcessAsUser code for graphics apps.
        (this is temporary)
        
    lib/
        util.C
        win_util.C, .h

svn path=/trunk/boinc/; revision=14823
2008-02-29 15:20:19 +00:00
Rom Walton b52146c55b Quick Updates
svn path=/trunk/boinc/; revision=14821
2008-02-28 20:59:06 +00:00
Rom Walton 0a737b6579 - CLI: CreateEnvironmentBlock always creates a Unicode Environment block.
- MGR: CreateProcessAsUser doesn't always error out when the ACLs haven't
        been changed for a specific Desktop and WindowStation so go ahead
        and Modify the ACLs with every call. It appears the ACLs revert
        themselves after CreateProcessAsUser is called anyway.
        
    client/
        app_start.C
    lib/
        util.C

svn path=/trunk/boinc/; revision=14819
2008-02-28 20:37:10 +00:00
Rom Walton 756293008b - MGR/SCR: run_program should explicitly set the desktop
and window station to whichever desktop and window station
        the app launching it belongs. If access is denied then
        change the ACLs on the current desktop and window station
        then attempt to relaunch the application.
        
    lib/
        util.C

svn path=/trunk/boinc/; revision=14812
2008-02-28 05:01:52 +00:00
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
David Anderson b6cc885abf - server: make the special substring for assigned WUs
into a #define's symbol (ASSIGNED_WU_STR)
- scheduler: when send client command to abort a WU,
    include a reason code in the scheduler log

svn path=/trunk/boinc/; revision=14798
2008-02-26 17:24:29 +00:00
David Anderson 54519a4ee1 - Server: add "job assignment" feature.
Lets you assign a WU to a particular host,
    to one or all hosts belonging to a user or team, or to all hosts.
    See http://boinc.berkeley.edu/trac/wiki/AssignedWork
    Disabled unless you include <enable_assignment> in config.xml
    Uses a new DB table.
    Tested but only a little.
- Server: code cleanup; moved result-handling to a new file,
    and removed the PLATFORM_LIST arg to everything
    (put it in SCHEDULER_REQUEST instead)

svn path=/trunk/boinc/; revision=14767
2008-02-21 00:47:50 +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 b543bcc3c4 svn path=/trunk/boinc/; revision=14730 2008-02-13 04:25:52 +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
David Anderson 69cfcebef4 - file upload handler: the FCGI version wasn't handling signatures,
because the code to read keys in FCGI was commented out
    (and was in fact wrong).
    I fixed it and uncommented it.
- make_project and upgrade: copy lib/crypt_prog to project/bin/

svn path=/trunk/boinc/; revision=14693
2008-02-06 19:32:51 +00:00
David Anderson f43452829c - client: fix compile warning
fixes #535


svn path=/trunk/boinc/; revision=14688
2008-02-06 04:32:06 +00:00
David Anderson 56b6541255 - GUI RPC: initialize disk usage structure
to avoid wacky pie charts at startup
    Fixes #549 (from Der Meister)

svn path=/trunk/boinc/; revision=14683
2008-02-06 00:21:10 +00:00
David Anderson aab1e97f7d - GUI RPC: fix some XML errors (missing / in single-tag elements)
Fixes #524 (from Nicolas)

svn path=/trunk/boinc/; revision=14682
2008-02-06 00:17:13 +00:00
David Anderson 6b74075469 - Manager/client: add the ability to specify a port
in the manager's "select host" dialog.
    Lets you connect over an SSH tunnel.
    From Der Meister.

svn path=/trunk/boinc/; revision=14681
2008-02-06 00:10:31 +00:00
David Anderson a1664cc070 - scheduler: simplified Carl's checkin (avoid virtual destructors)
- API: small tweak for standalone

svn path=/trunk/boinc/; revision=14679
2008-02-05 21:26:43 +00:00
David Anderson 94fdec8b70 - scheduler: send log messages to file, rather than httpd error log,
when using FCGI (from Carl Christensen)

svn path=/trunk/boinc/; revision=14678
2008-02-05 20:16:57 +00:00
David Anderson 7ea74282f4 - client: limit global prefs mod time to now
- server: limit global prefs mod time to now
    These changes address the situation where a server
    sends out prefs with mod time far in the future,
    and there's no way to undo them

svn path=/trunk/boinc/; revision=14664
2008-02-03 21:46:30 +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 41bd38148d Fixes missing routines and defines for MINGW32 application builds.
Also fixes some type warnings.


svn path=/trunk/boinc/; revision=14655
2008-01-31 18:34:51 +00:00
Rom Walton 58e4094892 - MGR: Change the CC startup logic so that more informative error
messages.
        
      Policy Change: When installed as a service or daemon, the service
        or daemon manager should start BOINC, not the BOINC Manager.
        (Windows Only for right now, should eventually be applied
         to all platforms)
    - LIB: Undue my previous change that launched graphics apps as
        an idle process.
    - LIB: Take care of some warnings.
        
    clientgui/
        BOINCBaseFrame.cpp, .h
        BOINCClientManager.cpp, .h (Added)
        BOINCGUIApp.cpp, .h
        MainDocument.cpp, .h
    lib/
        util.C

svn path=/trunk/boinc/; revision=14647
2008-01-30 06:09:34 +00:00
Charlie Fenton 167da5c015 API: Add executing_as_daemon bool to get_state rpc. SCR: When running V5 GFX applications as a service / daemon, display appropriate error message instead of trying to display graphics.
svn path=/trunk/boinc/; revision=14641
2008-01-30 02:47:06 +00:00
David Anderson c715d51bff - web: add "% of CPUs to use on multiprocessors" pref
- client: enforce the above pref; remove the max_cpus pref.

svn path=/trunk/boinc/; revision=14639
2008-01-29 21:01:04 +00:00
David Anderson f2761c6f68 - scheduler: get FCGI version to compile
svn path=/trunk/boinc/; revision=14621
2008-01-24 20:22:54 +00:00
Rom Walton 38803bc3c6 - LIB: Make sure that the worker and graphics processes are created
using the idle process priority class.

    lib/
        util.C

svn path=/trunk/boinc/; revision=14615
2008-01-24 14:26:19 +00:00
David Anderson cf4e42b4a3 - client: restore proper sense of --check_all_logins
(should this be set by default?)
- web: removed addslashes() when building language translation arrays.
    These caused 's to be displayed as \' everywhere.
    They may serve some purpose, but I can't think of what it is.
- web: changed max profile image dimensions from 800x600 to 640x480.
    The new profile page puts a column to the right
    of the image, so it shouldn't be quite that wide.

svn path=/trunk/boinc/; revision=14562
2008-01-15 22:22:08 +00:00
David Anderson 3c62cb8e88 - Manager: "Forgot your password" needs a question mark
- Win diagnostics: diagnostics_dump_thread_information() had a printf
  with bad format string, caused a crash, not what diagnostics should do

svn path=/trunk/boinc/; revision=14560
2008-01-15 22:03:14 +00:00
David Anderson d0241d359c - renamed clean_out_dir() to client_clean_out_dir(),
and put the original clean_out_dir() back in lib/filesys.C

svn path=/trunk/boinc/; revision=14549
2008-01-14 18:32:20 +00:00
David Anderson 2be6f8e53a - Client: add <run_apps_manually> config flag.
This is for debugging apps (currently works only in Unix).
    What it does: when running an app,
    the client does everything except actually fork/exec the app,
    i.e. it sets up the slot dir, creates shared mem segment etc.
    It then continues as if the app were actually running,
    and you can then manually run your app under a debugger
    in the slot directory.
    Note: the client won't notice the termination of your app.
- API, Unix: in situations where the timer thread wants to exit
    (e.g. it notices a missing heartbeat).
    don't directly call boinc_exit(),
    since this touches data structures that the worker thread
    may be using concurrently.
    Instead, set a flag telling the worker thread to call boinc_exit()
    (which it will do from its signal handler)
    This is an attempt to fix problems reported by Bernd;
    I haven't tested it.
- scheduler: add config flag for uploading usage data
- web: show account key and weak account key on user page
- added some code for multithread support (not finished)

api/
    boinc_api.C


svn path=/trunk/boinc/; revision=14542
2008-01-13 00:12:14 +00:00
David Anderson c43ecb7c13 svn path=/trunk/boinc/; revision=14538 2008-01-11 23:52:49 +00:00
David Anderson fd80e135a0 - client: don't count header in bytes_xferred for file uploads
(this causes confusing output in the Manager,
    bytes xferred greater than file size)
- API and client: make boinc_sleep() work regardless of signals
- some code cleanup in http_curl.C

svn path=/trunk/boinc/; revision=14522
2008-01-10 23:27:42 +00:00
David Anderson d47c5c1e2f - API, Unix: fix bug where boinc_sleep() hangs forever.
This was because SIGALRM always interrupts sleep()
    and keeps boinc_sleep() stuck in its while loop.
    Solution: change boinc_sleep() so that it works even if
    rapid signals (e.g. interval timer) are happening
- API: remove deprecated graphics files from Makefile.
    Old-style graphics are no longer supported.
- web: add empty show_user_donations_private() to donations.inc

svn path=/trunk/boinc/; revision=14513
2008-01-09 17:32:02 +00:00
David Anderson 1885f888fe - web: if user A is ignoring user B,
don't accept a friend request from B to A
- boinc_cmd: --help fix

svn path=/trunk/boinc/; revision=14486
2008-01-08 00:20:30 +00:00
Charlie Fenton aa2629a8e0 Mac Client: revert to using older API NXIdleTime() to get user idle time
svn path=/trunk/boinc/; revision=14456
2008-01-02 11:15:20 +00:00
David Anderson 9b2998009f - client: add --start_delay cmdline option and <start_delay> config option.
Specifies an amount of time to delay starting apps
    (e.g. so that BOINC doesn't slow down boot process)

    Note: mechanisms that start BOINC at boot time
    need to figure out how to set this flag.

svn path=/trunk/boinc/; revision=14445
2007-12-27 21:40:20 +00:00
David Anderson 1069770a7f - compile fixes for gcc 4.3 (from Frank Thomas)
Fixes #514

svn path=/trunk/boinc/; revision=14436
2007-12-21 21:09:40 +00:00
David Anderson 481d5dd45b - compile fixes (remove comma after last element of enum)
svn path=/trunk/boinc/; revision=14430
2007-12-21 16:27:38 +00:00
David Anderson 13baee4302 - user web: add "friend" and "notification" features
- user web: code cleanup in Profile area
- GUI RPC: add missing "/" in auth2 RPC

svn path=/trunk/boinc/; revision=14394
2007-12-18 20:28:08 +00:00
David Anderson 820eb30596 - compile fixes
svn path=/trunk/boinc/; revision=14373
2007-12-10 22:13:48 +00:00
Charlie Fenton e6129d20fd Mac: Fix compiler warnings.
svn path=/trunk/boinc/; revision=14356
2007-12-05 01:01:31 +00:00
David Anderson 74c2782624 - API: code cleanup
removed references to "graphics thread"
    removed HANDLE timer_quit_event
    removed enable_heartbeat/disable_heartbeat messages
        (not sure what the ideas was, but no longer exists)
    removed heartbeat_active flag (use options.check_heartbeat instead)
    read heartbeat-channel messages even if heartbeat disabled
        (since we use that channel for WSS messages too)
- client: remove ACTIVE_TASK::thread_handle (not used)

svn path=/trunk/boinc/; revision=14323
2007-11-29 19:48:04 +00:00
David Anderson b54abc426b - API graphics: changes to REDUCED_ARRAY to support new S@h graphics
- API: fix format codes in stack trace printf

svn path=/trunk/boinc/; revision=14309
2007-11-27 19:28:57 +00:00
Charlie Fenton f5114ac1c5 Mac: Add 64-bit Intel support to Client and libraries.
svn path=/trunk/boinc/; revision=14225
2007-11-16 13:27:35 +00:00
Rom Walton 820c4c40f2 - Fix build break introduced by new libcurl headers on Windows.
lib/
        boinc_win.h

svn path=/trunk/boinc/; revision=14177
2007-11-13 17:25:23 +00:00
David Anderson ee1621c566 - user web: more of the above.
Also, try to make it PHP 4 compatible

svn path=/trunk/boinc/; revision=13982
2007-10-29 04:02:41 +00:00
Charlie Fenton 06012437a6 Mac: Fix compiler warnings
svn path=/trunk/boinc/; revision=13958
2007-10-25 09:34:16 +00:00
Rom Walton 23609b858b - DIAG: Remove references to diagnostics_set_thread_name().
api/
        boinc_api.C
        windows_opengl.C
    lib/
        diagnostics.h
        diagnostics_win.C

svn path=/trunk/boinc/; revision=13956
2007-10-24 23:49:52 +00:00
David Anderson 7c20a8c5cf - client: add <max_stdout_file_size> and <max_stderr_file_size>
cc_config.xml options to change log file size limit
    from the default of 2 MB

svn path=/trunk/boinc/; revision=13955
2007-10-24 22:48:47 +00:00
David Anderson 5e5a063ef5 - GUI RPC: fix format of <auth2> request
- GUI RPC: don't enable network on bad request

svn path=/trunk/boinc/; revision=13933
2007-10-22 23:41:12 +00:00
David Anderson b079d40cb9 - API, Unix: call getrusage() from the timer thread,
not the worker signal handler.
    There's no reason to call it from the signal handler -
    it returns the CPU for the entire process, not the calling thread.
    And it may be asynch-signal-handler-unsafe.
- API: comment out checks for bad CPU times.
    I don't think this is needed now, and in some cases it's wrong
    (multi-threaded apps can accumulate CPU faster than real time)
- API, Unix: in boinc_calling_thread_cpu_time(), don't retry getrusage().
- Bossa: switch to better class structure (suggested by Nicolas Alvarez).
    Haven't switched to mysqli yet, but will later.
    Also various other Bossa fixes

svn path=/trunk/boinc/; revision=13855
2007-10-16 23:02:13 +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
David Anderson fde3a60e13 - client/lib: compile fixes for OpenBSD
svn path=/trunk/boinc/; revision=13821
2007-10-10 15:57:59 +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
David Anderson 383b21dd5a - update_versions now generates <api_version> for all app versions
- user web: don't XML-escape team names in DB
- deleted obsolete files
- calloc() return check, fixes #277

svn path=/trunk/boinc/; revision=13817
2007-10-09 22:58:49 +00:00
Rom Walton 38d4aecc0b Delete outdated .cvsignore files
svn path=/trunk/boinc/; revision=13814
2007-10-09 18:03:21 +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