Commit Graph

682 Commits

Author SHA1 Message Date
David Anderson 2536797068 - validator: remove update_credit_per_cpu_sec(). Irrelevant.
TODO: remove related code
- validator: update wu.canonical_credit correctly.
    However, this field should be deprecated.
- validator: check for error return from assign_credit_set().

svn path=/trunk/boinc/; revision=21096
2010-04-05 20:03:54 +00:00
David Anderson a5c2f98481 - backend: make "print queries" a runtime instead of compile-time
decision (bool g_print_queries)


svn path=/trunk/boinc/; revision=21065
2010-04-03 00:02:38 +00:00
David Anderson 19f7d66b53 - backend programs: change the way PFC and elapsed-time statistics
are written to the DB.
    The incremental approach was bogus.
    New approach:
    host_app_version: write directly; R/W interval is tiny
    app_version: maintain an explicit list of update samples
        for both PFC and credit.
        When the validator flushes its app_version cache,
        do careful updates.
    Note: when using double fields in careful updates,
    you can't test for equality.  Use abs(new-old) < 1e-N

svn path=/trunk/boinc/; revision=21057
2010-04-02 19:10:37 +00:00
David Anderson 2335e009bb svn path=/trunk/boinc/; revision=21022 2010-03-29 22:29:21 +00:00
David Anderson fb851311e0 - server: various changes;
see http://boinc.berkeley.edu/trac/wiki/CreditNew

    Projects will need to update DB and recompile all back-end programs.

    Summary:
    - new way of computing credit
    - "reliable host" mechanism is per app version
    - "host punishment" mechanism is per app version
    - adjustment of wu.rsc_fpops_est provides the
        equivalent of per app version DCF
    - max jobs in progress is now per app
    - max jobs per RPC is now per app

    TODO:
    - reliable mechanism:
        - populate and use host_app_version.error_rate
        - populate host_app_version.turnaround
    - host punishment:
        - populate host_app_version.max_jobs_per_day
        - populate host_app_version.n_jobs_today
        - use app.max_jobs_per_day_init
    - job limits:
        - use app.max_jobs_in_progress, max_gpu_jobs_in_progress
        - use app.max_jobs_per_rpc
    - adjust wu.rsc_fpops_est
    - remove old credit stuff
        fpops_cumulative, credit_multiplier
        credit computation in scheduler

- AVERAGE class: use the Knuth algorithm (Wikipedia)


svn path=/trunk/boinc/; revision=21021
2010-03-29 22:28:20 +00:00
David Anderson 836b935234 - fix bugs in strcasestr(), which apparently had never been tested
- fix typo in schema

svn path=/trunk/boinc/; revision=20923
2010-03-16 17:20:14 +00:00
David Anderson 3452bbbc87 - GUI RPC: more replacement of std::string
svn path=/trunk/boinc/; revision=20889
2010-03-13 04:40:37 +00:00
David Anderson 85d0027d3b - server: DB update queries check that the number of affected rows is 1.
However, MySQL's default is that "affected rows" is
    rows actually modified, which is not what we want.
    Use the CLIENT_FOUND_ROWS option in mysql_real_connect()
    to change the semantics to "rows matched".
    From Oliver Bock.

svn path=/trunk/boinc/; revision=20880
2010-03-12 19:36:20 +00:00
David Anderson 4f77556c74 - client: if a GPU job is blocked on available mem,
don't fetch more jobs for that resource type

svn path=/trunk/boinc/; revision=20817
2010-03-10 06:00:37 +00:00
David Anderson 0ad0886df3 - server credit stuff.
New policy: anon platform and old platform jobs
    get average credit, possibly scaled by elapsed time.
    We no longer attempt to guess what app version produced them.

svn path=/trunk/boinc/; revision=20816
2010-03-10 00:33:31 +00:00
David Anderson 8062f21d59 - server credit stuff (partial checkin)
svn path=/trunk/boinc/; revision=20810
2010-03-09 04:15:10 +00:00
David Anderson 295d4b54ea - server: major improvements to locality scheduling from Einstein@home.
Triggering the work generator is now done via the DB
    instead of flat files.

    Since only E@h uses locality scheduling,
    I kept the DB changes in a separate file (db/schema_locality.sql).
    There's a new field in the workunit table,
    and that's a required update (in db_update.php)
- manager: compile fix


svn path=/trunk/boinc/; revision=20807
2010-03-05 22:55:16 +00:00
David Anderson 9020d0b715 - server: if MySQL version is 5.0.19 <= v < 5.1,
set the reconnect option before real_connect() instead of after.
    From Oliver Bock.

svn path=/trunk/boinc/; revision=20763
2010-03-01 19:12:19 +00:00
David Anderson 09b0a9f93c - admin web: reorganize main page;
add "transition all" command

svn path=/trunk/boinc/; revision=20745
2010-02-26 21:34:20 +00:00
David Anderson 65b581b28d svn path=/trunk/boinc/; revision=20316 2010-01-29 16:28:46 +00:00
David Anderson 5661321de3 - feeder: fix crashing bug
svn path=/trunk/boinc/; revision=19509
2009-11-06 23:31:42 +00:00
David Anderson 53aa10570a - feeder: fix crashing bug
svn path=/branches/server_stable/; revision=19508
2009-11-06 23:31:26 +00:00
David Anderson 8caa2cf3d5 - test code for new credit system
svn path=/trunk/boinc/; revision=19462
2009-11-04 21:23:56 +00:00
David Anderson c76d166344 - user web: forum_preferences.{low_rating_threshold, high_rating_threshold}
were deprecated, but were still used in deciding whether to show a post.
    This broke the "ignore list" function.

svn path=/trunk/boinc/; revision=19218
2009-09-29 21:58:54 +00:00
David Anderson 381a15c724 - create_work function and script:
check for valid ordering among max_success_results,
    max_total_results, max_error_results, and target_nresults

svn path=/trunk/boinc/; revision=19054
2009-09-16 03:10:22 +00:00
David Anderson da7e82fe15 - scheduler and back end: add new fields to result table:
elapsed_time: the elapsed time (runtime) as reported by client
    flops_estimate: the app's estimated FLOPS as reported by app_plan()
    app_version_id: the DB ID of the app_version used
        (or -1 if anonymous platform)
    TODO: show these in the web interfaces,
    and use them where appropriate

svn path=/trunk/boinc/; revision=19002
2009-09-03 20:26:31 +00:00
David Anderson 8b701fc73f - scheduler: fix messed-up deadline check logic.
Old:
        1) check deadline based on wu.delay_bound
        2) in add_result_to_reply(), potentially modify wu.delay_bound,
            e.g. because of retry acceleration
        problem: reducing delay bound may cause deadline miss
    New:
        1) new function get_delay_bound_range()
            (called from wu_is_infeasible_fast())
            returns optimistic and pessimistic delay bounds.
            Retry acceleration logic is here.
        2) check deadline based on optimistic bound;
            if that fails, check based on pessimistic bound.
            Set wu.delay_bound to the one that worked.
    Notes:
    - get_delay_bound_range() needs result priority and report deadline,
        and it's called before we read the full result.
        So add these items to WORK_ITEM and WU_RESULT.
    - get_delay_bound_range() could be customized for
        project-specific deadline policy.
    - add_result_to_reply() was becoming a toxic waste dump.
        Deadline-related stuff should have been factored out in any case.

svn path=/trunk/boinc/; revision=18946
2009-08-31 19:35:46 +00:00
David Anderson 12d4b978be - scheduler: if client request uses a weak authenticator,
don't modify user preferences or CPID.
- client: fix bug that shows ATI version incorrectly
- database: host.posts has been repurposed as a salt (or seqno)
    for a new type of weak authenticator that won't depend on password
- web code:
    modify forum_preferences.posts instead of host.posts.
    (actually, the former isn't used either, we just do a select count(*);
    should fix this at some point).

svn path=/trunk/boinc/; revision=18865
2009-08-18 20:44:12 +00:00
David Anderson 8dc464f1e4 - fix typo in schema
svn path=/trunk/boinc/; revision=18506
2009-06-27 21:10:40 +00:00
Jeff Cobb 15ccf7b778 Added table state_counts.
svn path=/trunk/boinc/; revision=18490
2009-06-23 21:45:22 +00:00
David Anderson 10f9e11ee6 - lib: created a new file for declaring "replacements"
for functions like strlcpy() etc.
    config.h is included here rather than in str_util.h


svn path=/trunk/boinc/; revision=18437
2009-06-16 20:54:44 +00:00
David Anderson c86419a9ff - DB: for tables w/ fulltext indices, specify engine as MyISAM
from Nicolas; fixes #904

svn path=/trunk/boinc/; revision=18201
2009-05-26 16:56:00 +00:00
David Anderson 323fdc0e21 - DB code: fixed three places where we accessed a MYSQL_ROW
after freeing the MYSQL_RES it came from.
    (this didn't appear to cause any problems, but not good form).
    Fixes #883

svn path=/trunk/boinc/; revision=17904
2009-04-28 19:20:23 +00:00
David Anderson 04cdfe9cab - scheduler and web: add a project preference for whether to use the CPU.
This complements the "use GPU?" pref.
    Neither should be necessary, but what the heck.

svn path=/trunk/boinc/; revision=17628
2009-03-18 21:14:44 +00:00
Eric J. Korpela 5fe6e9a098 Added include of Makefile.incl and "if INSTALL_HEADERS" around
pkginclude_HEADERS=


svn path=/trunk/boinc/; revision=17563
2009-03-09 15:38:21 +00:00
David Anderson 65679139c5 - scheduler: make host.p_features available to app_plan()
svn path=/trunk/boinc/; revision=17307
2009-02-19 15:43:37 +00:00
David Anderson 85a8e6a772 - scheduler: remove the config flag <have_cuda_apps>,
and add <cuda_multiplier>.
    The latter is used in calculating max jobs/day for a host;
    namely, it's host.max_results_day * (NCPUS + NCUDA*cuda_multiplier).
    Set it to 10 or so if you have CUDA apps.
- scheduler: don't overload effective_ncpus();
    instead, add two new functions,
    max_results_day_multiplier() and max_wus_in_progress_multiplier()
- scheduler: don't reduce max_results_day if we get an aborted job
    (it might have been aborted by the project;
    not appopriate to punish host in this case)

svn path=/trunk/boinc/; revision=16959
2009-01-20 00:54:16 +00:00
David Anderson 4a65681176 - scheduler: if client has coprocs,
put a textual summary of them in host.serialnum (currently unused)
- web: show coprocs on host detail page
- db_dump: include coproc info in host XML

svn path=/trunk/boinc/; revision=16697
2008-12-16 18:46:28 +00:00
Jeff Cobb 8b18ab4a16 Added result userid and teamid to the column set in DB_VALIDATOR_ITEM_SET.
This is needed by application validator code for cuda logging.

svn path=/trunk/boinc/; revision=16673
2008-12-12 17:54:01 +00:00
David Anderson 79fb6e969e - Remove the notion of "CPU efficiency" from both client and server.
This wasn't being measured correctly for coproc/multithread apps,
    and its effect is now subsumed in DCF.

svn path=/trunk/boinc/; revision=16610
2008-12-03 19:50:06 +00:00
David Anderson b5cece0928 - back-end programs: set MySQL option to reconnect to server
if the connection goes away
    (which it apparently does if idle for a while)

svn path=/trunk/boinc/; revision=16532
2008-11-19 00:16:07 +00:00
David Anderson 562d7ac2d7 Bolt stuff
svn path=/trunk/boinc/; revision=16370
2008-10-30 22:58:33 +00:00
David Anderson 19dfe0ee71 - Add callback mechanism for exercises and exercise sets
- Default count for exercise sets is N, not 1

svn path=/trunk/boinc/; revision=16305
2008-10-23 20:35:39 +00:00
David Anderson 3f67133c9b - forgot to add team.joinable to schema.sql
svn path=/trunk/boinc/; revision=16229
2008-10-17 18:08:26 +00:00
David Anderson 33ad1b3d40 - Added the above DB change to schema.sql
- Omit the "after" clause from update.
- Web: add missing arg; fixes #749
- server: more --help additions

svn path=/trunk/boinc/; revision=16136
2008-10-06 00:18:36 +00:00
David Anderson 59184caaa9 - scheduler: FCGI: use mysql_ping() to check that DB connection
is still alive before handling a request.  If not, try to reconnect.
    This will hopefully make things work better if MySQL goes down and up
    when using FCGI.

svn path=/trunk/boinc/; revision=16112
2008-10-02 19:03:52 +00:00
David Anderson 98cfb8d3b0 - rename .C files to .cpp so that Doxygen will work
svn path=/trunk/boinc/; revision=16069
2008-09-26 18:20:24 +00:00
David Anderson f17a800807 - API: in boinc_exit(), release the lockfile only if
we're the main program (otherwise we didn't lock it in
    the first place, and a crash results).  From Artyom Sharov.
- scheduler: add support for the GCL simulator,
    which uses special versions of backend programs
    that use virtual time,
    and that wait for signals instead of sleep()ing.

    To compile:
        make clean
        configure CXXFLAGS="-DGCL_SIMULATOR"
        make

svn path=/trunk/boinc/; revision=16038
2008-09-22 20:33:59 +00:00
David Anderson cc7d507789 - DB interface: in update(), check that 1 row was updated
- API: in APP_INIT_DATA, enclose project preferences in tags
    so that it's legal XML
- scheduler: add <multiple_clients_per_host> option.
    Use this if your project runs on Condor or grids
    and (to use multicore machines) you're running
    multiple clients per host.
    This will skip the host lookup based on IP address.


svn path=/trunk/boinc/; revision=15954
2008-09-04 08:33:21 +00:00
David Anderson a5f80bc2e6 - lib: fix typo
svn path=/trunk/boinc/; revision=15903
2008-08-20 16:49:37 +00:00
David Anderson 0e14fa8f9e - Finished implemenation of refresh intervals;
added "count" field to DB table to keep track of how many times
    we've refreshed.
- show refresh schedule on main courses page
- default for random structure is all units, not 1

svn path=/trunk/boinc/; revision=15846
2008-08-14 21:05:02 +00:00
David Anderson c69186ef74 - remove "doc_file" field; use short_name.inc
- fix tabl_exists()
- fix bugs when return to answer page
- create bolt_result records correctly

svn path=/trunk/boinc/; revision=15836
2008-08-14 15:46:30 +00:00
David Anderson b5b3fd43b7 - scheduler: make credit_multiplier stuff conditional on
<use_credit_multiplier> flag in config.xml

svn path=/trunk/boinc/; revision=15766
2008-08-06 23:30:22 +00:00
David Anderson 4f66bb4c95 - added copyright and license info to .C, .cpp, .h files
- scheduler: fix bug in adaptive replication:
    if send an unreplicated job to untrusted host,
    set both wu.target_nresults and wu.min_quorum to app.target_nresults.

svn path=/trunk/boinc/; revision=15762
2008-08-06 18:36:30 +00:00
David Anderson 80bde8a4c6 - ops: add script to fix backslashes in posts etc.
- DB: add db_update.php entry for Eric's new table

svn path=/trunk/boinc/; revision=15700
2008-07-28 22:24:57 +00:00
Eric J. Korpela 8da770569f Typo fix
svn path=/trunk/boinc/; revision=15671
2008-07-25 01:42:23 +00:00
Eric J. Korpela a5a6f693cd - Implementation of automatic credit leveling for cpu based projects that
wish to use it.
- The script calculate_credit_multiplier (expected to be run daily as
      a config.xml task) looks at the ratio of granted credit to CPU time 
      for recent results for each app.  Multiplier is calculated to cause 
      median hosts granted credit per cpu second to equal to equal that 
      expected from its benchmarks.  This is 30-day exponentially averaged 
      with the previous value of the multplier and stored in the table 
      credit_multplier.
- When a result is received the server adjusts claimed credit by the
      value the multiplier had when the result was sent.


svn path=/trunk/boinc/; revision=15661
2008-07-22 23:36:55 +00:00
David Anderson 27dee4e450 - manager: fix typo
svn path=/trunk/boinc/; revision=15640
2008-07-20 21:27:44 +00:00
David Anderson e70273774a - scheduler: in matchmaker scheduler, if find a "locked" array slot,
which whether we're the process that locked it (from Artyom Sharov)

svn path=/trunk/boinc/; revision=15635
2008-07-18 20:59:59 +00:00
David Anderson fa0dbd20c7 - scheduler: with matchmaker scheduling, avoid infinite loop
if result not in DB
    (from Artyom Sharov, DerMeister)

svn path=/trunk/boinc/; revision=15608
2008-07-15 22:44:36 +00:00
David Anderson 8c41a07992 - scheduler: Add a notion of "hard app" for SETI@home.
If an app is hard, the scheduler always does the deadline check,
    even if the client has no other jobs for this project.
    And the estimated wallclock duration is multiplied by 1.3,
    to avoid sending jobs to hosts that will barely make the deadline.

    Hard apps are marked by setting weight = -1.
    This is a total kludge, to avoid adding another field to app.

svn path=/trunk/boinc/; revision=15607
2008-07-15 21:43:45 +00:00
David Anderson 1147e60b1a - web: fix bugs that cause backslashes to be introduced
in global prefs update via account manager RPC

svn path=/trunk/boinc/; revision=15602
2008-07-14 19:13:19 +00:00
David Anderson 08f126f53b svn path=/trunk/boinc/; revision=15600 2008-07-13 04:26:23 +00:00
David Anderson 1bd7742c4a - more gcc fixes
svn path=/trunk/boinc/; revision=15496
2008-06-26 20:53:51 +00:00
David Anderson 4210ccff4c - diagnostics library: in signal handler, use _exit() instead of exit();
an atexit() function might have been what caused the signal

svn path=/trunk/boinc/; revision=15437
2008-06-19 20:56:36 +00:00
David Anderson b16fb12329 - manager: fix some strings ("comm" is not an OK abbrev.)
Also got rid of references to Yahoo.

svn path=/trunk/boinc/; revision=15406
2008-06-14 20:38:57 +00:00
David Anderson 4387e4491b - Fix emacs mode line in Makefile.am's
svn path=/trunk/boinc/; revision=15375
2008-06-08 22:18:52 +00:00
David Anderson 3054a5f6b3 - validator/assimilator: fix bug in 2 June checkin
(xml_doc_in wasn't included in DB query)

svn path=/trunk/boinc/; revision=15363
2008-06-05 18:36:31 +00:00
David Anderson 0e03df254b - Back end: add adaptive validation feature
(DB update required)
- Fixed typo in Eric's 5/28 checkin

svn path=/trunk/boinc/; revision=15357
2008-06-04 23:04:12 +00:00
David Anderson 5bb78f7a1c fix typo in schema.sql
svn path=/trunk/boinc/; revision=15356
2008-06-04 22:43:13 +00:00
David Anderson c9d38091e7 - validator/assimilator: parse <file_ref>s rather than <file_info>s;
the latter is where the <optional/> flag is.

svn path=/trunk/boinc/; revision=15337
2008-05-30 03:29:31 +00:00
Eric J. Korpela 70baf36e93 - Added database table credit_multiplier and script to be run daily
(calculate_credit_multiplier) to determine what factor to multiply
   claimed credit by before insertion into the database.  Changes to scheduler
   to implement have not yet been checked in.


svn path=/trunk/boinc/; revision=15309
2008-05-28 17:28:19 +00:00
Eric J. Korpela 1f2d65bccb - Makefiles:
added client/scripts to default client build
    removed sea from the default clientgui build
    added locale/client to the default clientgui build
    moved installed headers from $(includedir) to $(pkgincludedir) which
       is $(includedir)/boinc by default.
    removed redefinitions of $(includedir) from Makefiles.
- configure:
    added locale/client/Makefile to AC_CONFIG_FILES


svn path=/trunk/boinc/; revision=15300
2008-05-28 01:38:39 +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 4554fa5ce3 - server and client:
in server->client reply messages and in the client itself,
    move app-planning info from RESULT to APP_VERSION.
    This was necessary to allow anonymous platform info (app_info.xml)
    to specify avg_ncpus, etc.
    e.g., if someone wants to write a multithread version of SETI@home,
    or a GPU/CUDA version,
    they can run it using the anonymous platform mechanism
    and it will be scheduled correctly.

    If a server sends an existing APP_VERSION but with different
    app-planning info, the client will accept and use the new info.

svn path=/trunk/boinc/; revision=14978
2008-03-28 18:00:27 +00:00
David Anderson c9b563f066 - DB: workunit.rsc_bandwidth needed to go after mod_time
svn path=/trunk/boinc/; revision=14970
2008-03-27 20:46:31 +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
David Anderson 4e9fbac5e0 - admin web: touch reread_db in manage_app_versions.php
- DB code: remove "is_high_priority" stuff.
- scheduler: merge find_app_version() into get_app_version().
    Have the latter memoize its results (both positive and negative).
    Have it call app_plan() for apps with nonempty plan_class.
- scheduler: first steps towards improved selectability of log messages.
    It will eventually be like the client,
    where you can select among various types of messages.
- feeder: if can't unlink the reread_db trigger file, exit
    (else we'd go into an infinite loop)

svn path=/trunk/boinc/; revision=14940
2008-03-18 21:22:44 +00:00
David Anderson 815b8fc043 Various preparation for handling multithreaded apps
and apps that use coprocessors.
There now can be several app_versions for the same
(app, platform, version_num) combination.
This changes a number of things.

- Added app_version.plan_class field to DB
- update_versions now looks for a :plan-class in the
    file or directory name, and puts it in the app_version's DB record
- Change uniqueness constraint to include plan_class
- Feeder: the feeder was putting non-deprecated app_versions
    in shared mem, and leaving it to the scheduler to
    find the latest version for a given platform.
    This is dumb.
    Instead, for each app/platform pair the feeder now
    finds the highest version number of a non-deprecated app version,
    and enumerates all non-deprecated app_versions with that
    app/platform/version
- Scheduler: add a BEST_APP_VERSION data structure that keeps track,
    for each app, what the best app_version is for this host.
    This saves the work of recomputing it for each job.

svn path=/trunk/boinc/; revision=14906
2008-03-13 22:57:24 +00:00
David Anderson 546c0b899a - server: fix botched checkin from 7 March.
The new field (workunit.rsc_bandwidth_bound)
    goes at the END of the record.
    Always do it this way!
- make_work: after creating a batch of new WUs,
    we were waiting 60 sec for the transitioner to
    create the results for them
    (so that our next count of unsent results would be correct).
    This is bogus; if e.g. the transitioner isn't running,
    we'll never get the results, and we'll keep creating WUs forever.

    Instead: explicitly wait for there to be results for
    the last WU from the batch just created.

- scheduler: parse <allow_non_preferred_apps>, <allow_beta_work> correctly.

svn path=/trunk/boinc/; revision=14875
2008-03-10 17:03:15 +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
David Anderson 1106da6ec6 - transitioner: we're not supposed to ever see "assigned" WUs.
But if we do, set their transitioner time to plus infinity
    so that we don't see them again.
    (otherwise we go into an infinite loop)
- DB code: remove "high_priority" from queries not from scheduler
    (should probably remove them from there too)
- file_deleter: print error msg if apache user doesn't exist

svn path=/trunk/boinc/; revision=14835
2008-03-03 19:33:32 +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
David Anderson 02adbc4d49 - web: remove all references to the PHP "session" mechanism,
which added only confusion.
    Implement login directly, using cookies.
- All cookie setting/clearing now goes through two functions,
    send_cookie() and clear_cookie().
    These deal with path and expiry
    (e.g. if you want to have different language or forum settings
    on two projects on the same server, that now works).

svn path=/trunk/boinc/; revision=14735
2008-02-13 19:02: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 51286a03dc - Initial checkin of Bossa code
svn path=/trunk/boinc/; revision=14716
2008-02-11 23:38:31 +00:00
David Anderson f77420c2c0 - scheduler: do "careful update" of workunit.hr_class
in case someone else changed since we read it.
    Hopefully this will fix a race condition
    where WU results get sent to different HR classes.
    (Alternatively we could use transactions,
    or acquire the semaphore during read/update,
    but this could impact performance).

svn path=/trunk/boinc/; revision=14710
2008-02-08 17:20:09 +00:00
David Anderson e56ed1430f - DB code: safe_atof() was returning a float,
causing a potential loss of precision.
    Change it to double (same as atof())
- When moderator locks a thread, let them specify reason

svn path=/trunk/boinc/; revision=14662
2008-02-02 17:01:57 +00:00
David Anderson 904cbe5a4f - Add Bolt admin page
- added "hidden" flag to courses


svn path=/trunk/boinc/; revision=14660
2008-02-01 23:11:09 +00:00
David Anderson d2a0353a00 - manager: fix unix build (new file)
svn path=/trunk/boinc/; revision=14658
2008-01-31 23:43:37 +00:00
David Anderson 4cfba489df - implement the review mechanism
svn path=/trunk/boinc/; revision=14653
2008-01-30 19:29:51 +00:00
David Anderson f682236bd9 - API: fix Win build error
- API: fix Makefile.am
- add LGPL license on some files

svn path=/trunk/boinc/; revision=14629
2008-01-28 22:42:05 +00:00
David Anderson ebed572d4f - API: allow Win apps to have icon
svn path=/trunk/boinc/; revision=14625
2008-01-28 15:48:09 +00:00
David Anderson 1e5b72068e - make old-style graphics (though not supported) still compile
svn path=/trunk/boinc/; revision=14588
2008-01-17 18:09:30 +00:00
David Anderson 757c41b1fa - web: add RSS feed for notifications
- make_project: disable community-related periodic tasks
    for newly-created projects

svn path=/trunk/boinc/; revision=14468
2008-01-04 22:59:21 +00:00
David Anderson 2d40b5722d - web: fix broken link for profile like/don't like.
TODO: currently these don't do anything useful.  Fix this.

svn path=/trunk/boinc/; revision=14461
2008-01-03 17:37:38 +00:00
David Anderson dddd1fc501 - fixed bug in upgrade
svn path=/trunk/boinc/; revision=14451
2008-01-01 18:07:13 +00:00
David Anderson f183b6f47f - web: add general-purpose notification mechanism.
Users can choose whether to get 1 email per notification,
    a daily "digest" email, or no email.
    (All notifications are shown on the Account page).
    Currently used for:
    - Friend requests and confirmations
    - Posts to subscribed threads
    - Private messages

    NOTE: To implement the "daily digest" feature, projects must add
    a periodic task for html/ops/notify.php to config.xml
- web: have project_footer() generate links for
    Account Page and Message Boards as well as Home
    NOTE: projects that want this change
    will have to modify their own project.inc.

svn path=/trunk/boinc/; revision=14447
2007-12-30 22:02:16 +00:00
David Anderson 55c0ee22a0 - web: default for user_links() is to not show profile pic.
Show the pic only in the context of friends list.

svn path=/trunk/boinc/; revision=14444
2007-12-27 18:37:22 +00:00
David Anderson 11dac5e80c - make_project: add --web_only option.
This lets you create a project for Bossa or Bolt
    without compiling the C++ stuff, which is not used by Bossa or Bolt.
- DB schema: change type= to engine= to avoid MySQL warning messages

svn path=/trunk/boinc/; revision=14437
2007-12-21 23:39:25 +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 c3491a40d9 David Dec 19 2007
- May as well start keeping checkin notes for Bolt.
        At this point the fundamental structure of Bolt is
        more or less complete, I hope; many features are missing.

    Items for this particular checkin:

    - Make things work right when you resume a course at an
        exercise answer page.
        This creates a new View, whose prev_view_id link points
        to the exercise view, not the answer page view
    - When leave a page using "Up", terminate the view accordingly.
    - Rather than using $_GET, Form vars are now passed to exercise primitives
        in a global variable $bolt_ex_query_string, which they must parse.

svn path=/trunk/boinc/; revision=14414
2007-12-19 16:31:41 +00:00
David Anderson 2f3d70a228 Bolt: added mechanism to view old answer pages
svn path=/trunk/boinc/; revision=14396
2007-12-18 23:37:26 +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 69042c3284 - bolt stuff
svn path=/trunk/boinc/; revision=14374
2007-12-12 04:43:04 +00:00
David Anderson 3f41f9a88d - Add weak account key mechanism.
Each account has an associated weak account key.
    The user can see it by visiting weak_auth.php.
    If you put the weak account key in the account file on a computer
    (instead of the regular account key)
    the computer will attach to the account.
    But the weak account key cannot be used to log in
    to the account on the web, or to do web RPCs, or anything else.

    Note: this involves a scheduler change.

svn path=/trunk/boinc/; revision=14367
2007-12-07 23:23:25 +00:00
David Anderson 68ec6e6ce6 svn path=/trunk/boinc/; revision=14319 2007-11-29 02:56:10 +00:00
David Anderson 4a81532043 - DB: add fulltext index on team.name
- user web: improve "team search" function,
    and get rid of the superceded "search by name" function
- user web: don't show team founder link to initiate transfer
- user web: show team types
- user web: fix "top teams by type" function
- client: tread NOT_FOUND error on file upload as transient;
    it means the project is missing its file_upload_handler

svn path=/trunk/boinc/; revision=14272
2007-11-20 22:58:14 +00:00
David Anderson dddc2ec6d2 - user web: clean up funky search result formatting.
For thread titles, show links to forum/category also
    For posts, show complete post, with search terms highlighted.
- user web: in display of posts for a user,
    show links to thread and forum also
- user web: posts/threads can become "orphaned" if their forum
    disappears, e.g. team message board is deleted.
    Handle this gracefully in search results and user post list
- user web: where HTML tags are allowed, say so
- user web: fix bug where wrap_postcounts weren't being shown in form
- DB: use "tinyint" instead of "tinyint(1) unsigned" etc.

svn path=/trunk/boinc/; revision=14267
2007-11-20 19:23:26 +00:00
David Anderson 615d4dcf22 - user web: the "private-message notification by email" flag
should default to off.
    Note: it's necessary to clear everyone's flag.
    Projects will need to notify users (e.g. via a news item)
    that they need to explicitly set this pref if they want email
    notification of PMs

svn path=/trunk/boinc/; revision=14255
2007-11-19 02:17:57 +00:00
David Anderson 9970e2c71b - user web: bug fixes
svn path=/trunk/boinc/; revision=14204
2007-11-14 21:55:05 +00:00
David Anderson aa7b9f2547 - DB: fix typo in schema
svn path=/trunk/boinc/; revision=14141
2007-11-12 16:00:37 +00:00
David Anderson bf227ea8b1 - DB: remove "lang" from schema - not used
- DB: added parent_type to forum
- user web: BoincUser uses caching by default
- client: fixed small memory leak in statistics parsing

svn path=/trunk/boinc/; revision=14130
2007-11-10 00:32:42 +00:00
David Anderson fb8b4ffabb - user web: added the notion of "Team Admin": team members,
appointed by the founder, who have most of the same
    rights as the founder (edit team info, view/remove users).
    They can't, however, change the founder, or select/remove Admins.
- user web: added the ability for founder to delete an empty team
- user web: count/show all team members, not just those with credit
- user web: Team Search returns top team if form fields left blank
- Added db_update.php entry for Eric's banishment_vote stuff

svn path=/trunk/boinc/; revision=14108
2007-11-07 17:23:29 +00:00
David Anderson 87c0f98b10 - user web: a private message is considered "read" the
first time it's shown.
        No explicit "mark as read" action needed.
        Also, no confirmation for message delete.

svn path=/trunk/boinc/; revision=14077
2007-11-03 04:26:47 +00:00
David Anderson 26138742c6 - Initial checkin for Bolt
svn path=/trunk/boinc/; revision=13998
2007-10-30 22:31:13 +00:00
David Anderson 7302f02544 - user web: added new framework for DB access from PHP.
Here's how things should eventually be:
    - inc/db_conn.inc defines DbConn, a PHP class representing
        a connection to a database with
        various generic operations (update, insert etc.).
        DbConn prepends the DB name to table names,
        so you don't have to select a DB;
        this means you can access multiple databases
        (e.g. BOINC and Bossa) and use persistent connections.
        ALL MYSQL-SPECIFIC CODE WILL EVENTUALLY BE HERE.
    - inc/boinc_db.inc defines classes BoincUser, BoincTeam etc.,
        representing the various BOINC DB tables.
        All access to the DB should use these classes.

    When you use this framework, no initialization calls are needed.
    db.inc is deprecated and should eventually be removed.

    I changed get_logged_in_user()
    and all team-related code to use this framework.
- user web: show team founder link to "management functions"
    even if they're not currently a member;
    allow team founder to perform all operations even if not a member.
- turned on E_ALL error checking,
    and fixed a bunch of warnings
    and a couple of bugs ($team, not team)

- database: update schema/constraints for team fulltext search
- user web: forgot to change Serbia and Montenegro to Serbia

svn path=/trunk/boinc/; revision=13968
2007-10-26 21:14:35 +00:00
David Anderson 618a5c1651 - assimilator: there was a bug in the situation where:
1) a WU is marked as ready for assimilation and has no errors;
    2) it has no canonical result
    In this case, the assimilate handler gets called anyway,
    typically with the canonical result of the previous WU as arg.
    Note: this situation doesn't arise normally;
    it might happen if some results are deleted accidentally.
    The fix: 
    - identify this situation, and set the WU.error_mask to a new code
        (WU_ERROR_NO_CANONICAL_RESULT)
    - zero out the "canonical_result" variable passed to the handler,
        so even if the handler fails to check wu.error_mask,
        at least it won't assimilate the same result twice.
    Thanks to Hendrik Verhoek for finding this bug.
- DB schema: team table type is MyISAM, not InnoDB

svn path=/trunk/boinc/; revision=13938
2007-10-23 17:11:56 +00:00
Eric J. Korpela 706b283b19 Added ability for forum moderators to vote for banishment of a poster
New db tables banishment_vote and banishment_votes
Daemon script vote_monitor for timing the votes
New configuration option <moderators_vote_to_ban/>



svn path=/trunk/boinc/; revision=13917
2007-10-19 20:01:36 +00:00
David Anderson 094eb0095e - Bossa:
JSON-encode stuff
    use text instead of varchar(255) a couple of places
    create Bossa class for utility functions

svn path=/trunk/boinc/; revision=13908
2007-10-18 21:43:25 +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 1c6277a3d2 svn path=/trunk/boinc/; revision=13852 2007-10-16 17:15:57 +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
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
David Anderson bb5f54d31f - feeder/scheduler: fix bug where APP.homogeneous_redundancy
is defined as a bool instead of int
    (see its only nonzero value is 1, so the "coarse" HR type is ignored).

svn path=/trunk/boinc/; revision=13786
2007-10-05 22:32:47 +00:00
Rytis Slatkevičius 4b8aeabf91 User web: fix an annoyance when team founder transfer is requested and the requester leaves the team.
NOTE: DB UPDATE REQUIRED.

svn path=/trunk/boinc/; revision=13673
2007-09-26 15:46:54 +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 db08d30fee - scheduler: update host.n_bwdown
(this was omitted for some reason).
    From Kevin Reed.


svn path=/trunk/boinc/; revision=13431
2007-08-21 20:41:29 +00:00
David Anderson 14bc500cab - user web: added mechanism for recording team membership changes.
These are stored in a new DB table, "team_delta".
    The team founder can view the history in HTML or XML
    (links on Management Functions page)

svn path=/trunk/boinc/; revision=13231
2007-07-27 18:30:10 +00:00
David Anderson 2af893b0f2 - user web: code cleanup related to team creation.
Make a single function that creates teams
    and cleanses arguments.
- API: don't include config.h in parse.h.
    This file is included from apps
    (indirectly, via graphics_api.h)
    so it shouldn't assume that config.h exists

svn path=/trunk/boinc/; revision=13212
2007-07-25 03:17:31 +00:00
David Anderson ef247eed41 - user web: moved functions to send specific messages out of email.inc
- user web: code cleanup involving team founder transfer,
    and improved the text of some messages

svn path=/trunk/boinc/; revision=13210
2007-07-23 20:30:30 +00:00
David Anderson 3e340136da - feeder: simplified DB query
- make_project: remove space after URL in schedulers.txt

svn path=/trunk/boinc/; revision=13127
2007-07-09 20:09:49 +00:00
David Anderson 797c464b3a - Back end: add a feature for "blackballing" hosts.
To do this, set host.max_results_day to -1.
    If you do this, scheduler requests from that host
    will get an error message, and will otherwise be ignored
    (no jobs in or out, no trickles).
- Scheduler: send_message() should be called ONLY if you're
    not going to call handle_request();
    otherwise we'll write two separate replies.
    To fix this, I added a separate function (send_error_message())
    that can be called within handle_request()
    to deal with error situations.
- Scheduler: moved debug_sched() to main.C
- Scheduler: moved logic to send "delete file" commands
    out of handle_request() into a separate function,
    send_file_deletes() in sched_locality.C.
    Remove #ifdef EINSTEIN_AT_HOMEs; maybe someday another project
    will use locality scheduling!

svn path=/trunk/boinc/; revision=13108
2007-07-06 16:37:00 +00:00
David Anderson a97556bdfd - feeder: added a new enumerator of DB_WORK_ITEM that,
on successive calls, scans through ALL the sendable
    jobs satisfying the select clause
    (it does this by ID order, so there's no order clause)
    This is used for HR, so that if a job has been committed
    to an HR class, we eventually get it.

    With extremely minimal testing, the new HR stuff seems to work.

db/
    boinc_db.C,h
sched/
    feeder.C
    sample_work_generator.C
    server_types.C

svn path=/trunk/boinc/; revision=12988
2007-06-22 23:48:37 +00:00
David Anderson f5d94818dd - added "census", a program that counts up how much RAC
there is for each HR class, and writes it to a file.
    This will be used soon for HR support in the feeder.
- split the HR code into hr.C,h (stuff used by both census and scheduler)
    and sched_hr.C (stuff used only by the scheduler)
- database: change DB_CREDITED_JOB to treat workunitid
    as a double (which it is) rather than a long.
    BTW, long == int.
- fixed lots of compile warnings in the server code

db/
    boinc_db.C,h
lib/
    boinc_cmd.C
    miofile.C
    util.C
sched/
    Makefile.am
    census.C (new)
    feeder.C
    file_deleter.C
    file_upload_handler.C
    handle_request.C
    hr.C,h (new)
    main.C
    sample_assimilator.C
    sample_work_generator.C
    sched_array.C
    sched_hr.C,h
    sched_send.C
    server_types.C
    transitioner.C
    validator.C

svn path=/trunk/boinc/; revision=12970
2007-06-20 22:34:06 +00:00
Rytis Slatkevičius bcf948a03d user web: add a separate preference for private message notification emails.
'''NOTE: needs DB update, see html/ops/db_update.php'''

(Fix #167)

svn path=/trunk/boinc/; revision=12813
2007-06-04 19:35:11 +00:00
David Anderson d673440faf - Scheduler: increased the resolution of homogeneous redundancy (HR)
e.g. distinguish between models of Intel and AMD
- Scheduler: add a quick HR check that doesn't access the DB
- Transitioner: if a workunit has >0 error results and no success results,
    set its HR class to zero
From M.F. Somers.

db/
    boinc_db.C,h
sched/
    sched_array.C
    sched_hr.C,h
    transitioner.C

svn path=/trunk/boinc/; revision=12773
2007-05-29 23:41:31 +00:00
Rytis Slatkevičius 670bbd92d7 Donations system (running via PayPal).
Implements #211.
NOTE: DB updated needed. Documented in http://boinc.berkeley.edu/trac/wiki/PayPalDonations

svn path=/trunk/boinc/; revision=12754
2007-05-27 17:33:06 +00:00
Matt Lebofsky 136ce49b84 svn path=/trunk/boinc/; revision=12536 2007-05-02 23:17:52 +00:00
David Anderson 7ecdc2f44e - Scheduler: in reply, add <platform> element to each <app_version,
and add <platform> and <version_num> elements to <result>
        (server half of multi-version changes)
    - scheduler: make ssp a global; could eliminate from args everywhere

    db/
        boinc_db.h
    sched/
        feeder.C
        main.C,h
        sched_send.C
        sched_shmem.C,h
        server_types.C

svn path=/trunk/boinc/; revision=12535
2007-05-02 23:14:00 +00:00
Matt Lebofsky 846ec9fbb0 svn path=/trunk/boinc/; revision=12532 2007-05-02 18:51:51 +00:00
Rytis Slatkevičius 4332736ae9 Private message functionality for the forums.
NOTE: needs database update.

svn path=/trunk/boinc/; revision=12499
2007-04-29 14:22:28 +00:00
David Anderson 7e2b39c4db David 24 Apr 2007
- Server: add new database field host.error_rate.
        Stores a dynamic estimate of the fraction of the hosts's
        results that fail validation (updated by the validator).

    client/
        sim.C
        cs_prefs.C
    db/
        boinc_db.C,h
    html/ops/
        db_update.php
    sched/
        handle_request.C
        sched_msgs.h
        validator.C

svn path=/trunk/boinc/; revision=12466
2007-04-24 23:21:42 +00:00
David Anderson fe32380dcf David 23 Apr 2007
- make_project: remove --no_test_app option, add --test_app option
    - make_project: initial config in all cases has
        one_result_per_user_per_wu = 0
    - sample_assimilator: make it able to handle > 1 output file
    - boinc_cmd: make --help output more readable
    - User web: fix some undefined vars in translation.inc
        Rytis: let's try to fix PHP runtime warnings
    - DB: add default values for app table (avoid MySQL warnings)

    db/
        schema.sql
    html/
        inc/
            translation.inc
            uotd.inc
        ops/
            update_forum_activities.php
    lib/
        str_util.C
        boinc_cmd.C
    py/Boinc/
        setup_project.py
    sched/
        sample_work_generator.C
        sample_assimilator.C
    tools/
        make_project
        uc_wu, uc_result (new)

svn path=/trunk/boinc/; revision=12450
2007-04-23 16:14:47 +00:00
David Anderson bc98f0e90c *** empty log message ***
svn path=/trunk/boinc/; revision=12367
2007-04-13 22:55:18 +00:00
David Anderson 6b43ad0cbc *** empty log message ***
svn path=/trunk/boinc/; revision=12346
2007-04-11 18:05:26 +00:00
David Anderson 75a2b2c55b *** empty log message ***
svn path=/trunk/boinc/; revision=12322
2007-04-05 17:02:01 +00:00
David Anderson 81effa6a7b *** empty log message ***
svn path=/trunk/boinc/; revision=12127
2007-02-21 16:26:51 +00:00
David Anderson f7d648e350 *** empty log message ***
svn path=/trunk/boinc/; revision=12075
2007-02-13 21:41:07 +00:00
David Anderson 77e757c6f9 *** empty log message ***
svn path=/trunk/boinc/; revision=12043
2007-02-06 21:50:48 +00:00
David Anderson 01b32db626 *** empty log message ***
svn path=/trunk/boinc/; revision=12027
2007-02-02 20:14:18 +00:00
Matt Lebofsky 1ca0535532 *** empty log message ***
svn path=/trunk/boinc/; revision=11933
2007-01-22 21:49:55 +00:00
David Anderson 3967a1f924 *** empty log message ***
svn path=/trunk/boinc/; revision=11850
2007-01-12 17:42:29 +00:00
David Anderson ddd17a8b22 *** empty log message ***
svn path=/trunk/boinc/; revision=11745
2006-12-30 00:26:22 +00:00
David Anderson f4953d1829 *** empty log message ***
svn path=/trunk/boinc/; revision=11723
2006-12-27 18:22:17 +00:00
David Anderson 75af81175b *** empty log message ***
svn path=/trunk/boinc/; revision=11717
2006-12-22 20:34:58 +00:00
Rytis Slatkevičius 1a7a76a985 Missing db update in schema.sql
svn path=/trunk/boinc/; revision=11716
2006-12-22 15:57:48 +00:00
David Anderson adcd68afce *** empty log message ***
svn path=/trunk/boinc/; revision=11628
2006-12-06 20:59:29 +00:00
David Anderson ebc6c16252 *** empty log message ***
svn path=/trunk/boinc/; revision=11425
2006-10-31 20:31:21 +00:00
Rytis Slatkevičius ccff6971ca Big team change to allow founder transfer when he's no longer available
svn path=/trunk/boinc/; revision=11367
2006-10-27 16:06:42 +00:00
David Anderson 190f7d177a *** empty log message ***
svn path=/trunk/boinc/; revision=11337
2006-10-22 01:46:33 +00:00
David Anderson c98a2415af *** empty log message ***
svn path=/trunk/boinc/; revision=11336
2006-10-22 00:42:44 +00:00
Rom Walton 8fd4c7dd5e *** empty log message ***
svn path=/trunk/boinc/; revision=11286
2006-10-16 22:39:27 +00:00
David Anderson 8230f9ca6c *** empty log message ***
svn path=/trunk/boinc/; revision=10900
2006-08-13 04:27:24 +00:00
David Anderson 0328bd2122 *** empty log message ***
svn path=/trunk/boinc/; revision=10867
2006-08-08 20:32:37 +00:00
David Anderson be1c8ff44f *** empty log message ***
svn path=/trunk/boinc/; revision=10641
2006-07-12 23:18:57 +00:00
David Anderson b9b5d0ed48 *** empty log message ***
svn path=/trunk/boinc/; revision=10622
2006-07-11 21:49:20 +00:00
David Anderson 7f00b2fa3f outcome CLIENT_DETACHED
svn path=/trunk/boinc/; revision=10593
2006-07-06 17:30:03 +00:00
David Anderson 440c667e8a mass email
svn path=/trunk/boinc/; revision=10580
2006-07-05 21:38:08 +00:00
David Anderson aeac868c11 *** empty log message ***
svn path=/trunk/boinc/; revision=10559
2006-07-01 20:03:48 +00:00
Bruce Allen 086c94a309 When calling project-provided validator functions, populate the
WU.rsc_fpops_est field. This can be useful in
determining how much credit to assign, and preventing cheating.

DAVID: I was going to be a good guy and document this, but you
forgot to check validate_simple.php and validate_advanced.php
into CVS (:-).

svn path=/trunk/boinc/; revision=10297
2006-06-10 12:14:22 +00:00
David Anderson 923075d005 *** empty log message ***
svn path=/trunk/boinc/; revision=10258
2006-06-06 18:45:40 +00:00
Bruce Allen 033c6719a5 Scheduler: refuse to upload results if DB item is
(1) over and (2) validate state init and (3) NOT file_delete==INIT.

(David, please bless addition of file_delete_state to SCHED_RESULT_ITEM.)

svn path=/trunk/boinc/; revision=10245
2006-06-03 16:22:34 +00:00
Bruce Allen e37637661d Transitioner: nasty bug in logging, wrong result id/name
Scheduler: clearer logging for debugging purposes

svn path=/trunk/boinc/; revision=10243
2006-06-03 14:59:22 +00:00
David Anderson 9929015c1e xml_escape bug
svn path=/trunk/boinc/; revision=10238
2006-06-01 19:59:57 +00:00
Bruce Allen 26d08b603f Also need outcome...
svn path=/trunk/boinc/; revision=10229
2006-05-31 21:50:42 +00:00
Bruce Allen 490d4858bf scheduler: do a better job of accepting results from host machines
which may modify an EXISTING & OVER result in the database.

file_upload_handler: check for 'stop_upload' trigger file in the
project root directory.  If so, return ERR_TRANSIENT to hosts which
attempt uploads.  This is the equivalent of 'stop_sched' for the
scheduler.  (Eric, you may want to check that this is FCGI compatible).

svn path=/trunk/boinc/; revision=10227
2006-05-31 20:39:32 +00:00
David Anderson 210e22e537 *** empty log message ***
svn path=/trunk/boinc/; revision=10226
2006-05-31 17:19:29 +00:00
David Anderson f6a01ea730 *** empty log message ***
svn path=/trunk/boinc/; revision=10084
2006-05-02 22:33:00 +00:00
David Anderson 1abd12eab6 *** empty log message ***
svn path=/trunk/boinc/; revision=9671
2006-03-17 08:11:38 +00:00
Bruce Allen 527e83ce0c Missing return value causes sched horror...
svn path=/trunk/boinc/; revision=9667
2006-03-17 05:54:06 +00:00
David Anderson 1b3e1fe484 scheduler race condition
svn path=/trunk/boinc/; revision=9666
2006-03-17 04:47:51 +00:00
David Anderson f471b89bf9 propagate batch to result
svn path=/trunk/boinc/; revision=9318
2006-01-26 00:19:05 +00:00
David Anderson 88c741f0ac CPID consistency, larger trickle messages
svn path=/trunk/boinc/; revision=9303
2006-01-24 21:38:03 +00:00
David Anderson f9b7413d58 feeder/DB fixes
svn path=/trunk/boinc/; revision=9269
2006-01-19 21:46:25 +00:00
Bruce Allen 2be5446559 Fixed new unescape_string(): didn't null terminate string.
svn path=/trunk/boinc/; revision=9176
2006-01-05 09:30:41 +00:00
David Anderson 3527c41581 *** empty log message ***
svn path=/trunk/boinc/; revision=9175
2006-01-05 08:52:20 +00:00
Bruce Allen c14eb4a651 Kill unused variable
svn path=/trunk/boinc/; revision=9174
2006-01-05 08:21:10 +00:00
Bruce Allen 20004d75e4 Fixed David's mistake in simplifying my fix to escape_string()!
svn path=/trunk/boinc/; revision=9173
2006-01-05 08:15:18 +00:00
David Anderson 9edb1c083f *** empty log message ***
svn path=/trunk/boinc/; revision=9170
2006-01-05 06:42:45 +00:00
Bruce Allen c92a22c91a Nasty bug fix to sched. escape_string() replaces \ by \\ and
' by \'.  This makes the string longer.  To guarantee that the
resulting longer string does not overflow storage, escape_string()
uses safe_strncpy() to copy the longer string back.  But this
is too heavy-handed, since safe_strncpy() will blindly truncate
the string.  Thus it might clobber \\ into \ or \' into \ which
causes trouble.

David, Rom, please double-check my changes, since escape_string()
is used all over the place.

svn path=/trunk/boinc/; revision=9163
2005-12-30 18:07:46 +00:00
Eric J. Korpela d9ee426071 Added explicit includes of "config.h" in many files to enable use of compilers
without a -include command line option.

svn path=/trunk/boinc/; revision=8896
2005-11-21 18:34:44 +00:00
David Anderson a40fb4ca57 include integer ops in benchmark API
svn path=/trunk/boinc/; revision=8796
2005-11-03 05:31:21 +00:00
David Anderson 4bc558ffc8 disk usage fixes
svn path=/trunk/boinc/; revision=8442
2005-10-04 21:44:58 +00:00
Bruce Allen dc12b0895c Nuke unused variable
svn path=/trunk/boinc/; revision=8333
2005-09-29 22:14:59 +00:00
Reinhard Prix b6832575c1 fixed my erronous mysql include (should have no relative path prefix).
svn path=/trunk/boinc/; revision=8314
2005-09-29 12:03:23 +00:00
Reinhard Prix c8d09966cf Install header-files necessary for building workunit-generator externally linked to BOINC.
svn path=/trunk/boinc/; revision=8313
2005-09-29 11:56:28 +00:00
David Anderson b96bdc7c58 *** empty log message ***
svn path=/trunk/boinc/; revision=8137
2005-09-22 00:30:01 +00:00
David Anderson 20dcd8ae39 fix "no new work" bug
svn path=/trunk/boinc/; revision=8136
2005-09-22 00:15:43 +00:00
David Anderson 8a72aef655 remove email munge code
svn path=/trunk/boinc/; revision=7518
2005-08-26 22:26:26 +00:00
David Anderson 041b6f24c6 *** empty log message ***
svn path=/trunk/boinc/; revision=7492
2005-08-25 23:07:58 +00:00
Jeff Cobb 0680f23b68 *** empty log message ***
svn path=/trunk/boinc/; revision=7280
2005-08-11 23:53:24 +00:00
David Anderson b3dc4bcbe4 new account setup
svn path=/trunk/boinc/; revision=7205
2005-08-07 01:33:15 +00:00
David Anderson 3dfea63937 scheduler fix
svn path=/trunk/boinc/; revision=6860
2005-07-28 08:09:46 +00:00