mirror of https://github.com/BOINC/boinc.git
20633 lines
569 KiB
Plaintext
Executable File
20633 lines
569 KiB
Plaintext
Executable File
;; -*- tab-width: 4 ; indent-tabs-mode: nil; -*-
|
||
David A. April 10 2002
|
||
Initial checkin of all files.
|
||
The system is fairly feature-complete and
|
||
runs a number of test cases correctly.
|
||
Currently runs only on Linux.
|
||
|
||
David A. April 11 2002
|
||
- Got things to compile on Solaris.
|
||
- Pass in platform name, version number from Makefile
|
||
(platform name comes from configure)
|
||
|
||
David A. May 15 2002
|
||
- Allow applications to have multiple files
|
||
(e.g. scripts, libraries, pre- and post-processing programs).
|
||
The app_version table now has an xml_doc field,
|
||
which contains a list of <file_info> and <file_ref> elements.
|
||
Note: the utility for adding applications (tools/add.C)
|
||
still handles only single-file applications.
|
||
- Changed IO_FILE_DESC to FILE_REF since it now represents
|
||
an association of a file to workunit, result or application
|
||
|
||
client
|
||
app.C
|
||
client_state.C,h
|
||
cs_apps.C
|
||
cs_scheduler.C
|
||
main.C
|
||
message.h (new)
|
||
parse.C,h
|
||
scheduler_reply.C,h
|
||
types.C,h
|
||
Makefile.in
|
||
db
|
||
db.h
|
||
db_mysql.C
|
||
schema.sql
|
||
doc
|
||
app.html (new)
|
||
files.html
|
||
index.html
|
||
intro.html
|
||
project.gif
|
||
project.html
|
||
project.png
|
||
protocol.html
|
||
result.html (new)
|
||
work.html
|
||
html_user
|
||
db.inc
|
||
sched
|
||
handle_request.C
|
||
server_types.C,h
|
||
test
|
||
test_uc.php
|
||
init.inc
|
||
tools
|
||
add.C
|
||
|
||
David A. May 23 2002
|
||
- Change the scheduling server to reduce database accesses.
|
||
There's now a shared-memory segment that contains
|
||
1) the platform, app, and app_version tables in their entirety;
|
||
2) a fixed-size set of results ready to be sent,
|
||
and their corresponding workunit.
|
||
This segment is initialized and maintained by a new program
|
||
called the "feeder" (sched/feeder.C) that should run
|
||
whenever the scheduling server is up.
|
||
Note: the scheduler still needs to be converted to fast CGI
|
||
- Added handy interfaces for dealing with shared memory and semaphores.
|
||
- Changed to utilities and scripts used for testing so that all
|
||
server-specific names (paths and URLs) come from environment
|
||
variables instead of being hardwired in the code.
|
||
You'll want to add these to your .tcshrc or whatever.
|
||
See the doc/install.html for details.
|
||
|
||
Files:
|
||
TODO
|
||
apps/
|
||
Makefile.in
|
||
client/
|
||
app.C
|
||
db/
|
||
db.h
|
||
doc/
|
||
index.html
|
||
install.html
|
||
intro.html
|
||
tools.html (removed)
|
||
tools_other.html
|
||
tools_work.html
|
||
work.html
|
||
lib/
|
||
Makefile.in
|
||
md5_file.C
|
||
shmem.C,h (new)
|
||
shmem_test.C (new)
|
||
synch.C,h (new)
|
||
synch_test.C (new)
|
||
sched/
|
||
feeder.C (new)
|
||
Makefile.in
|
||
handle_request.C,h
|
||
main.C
|
||
sched_shmem.C,h (new)
|
||
server_types.C,h
|
||
test/
|
||
account.xml (deleted)
|
||
account1.xml
|
||
init.inc
|
||
test_uc.php
|
||
tools/
|
||
add.C
|
||
create_work.C
|
||
|
||
Hiram C. Fri May 24 23:34:59 PDT 2002
|
||
files db/dependencies and client/config.status and client/config.log
|
||
removed. These are build time files and should not belong
|
||
in the source tree. They confuse subsequent builds.
|
||
files updated: configure configure.in api/Makefile.in
|
||
apps/Makefile.in client/Makefile.in db/Makefile.in
|
||
db/mysql.h lib/Makefile.in sched/Makefile.in
|
||
tools/Makefile.in
|
||
|
||
These Makefile.in changes will allow the build to be performed
|
||
outside the source tree. This is convenient for several
|
||
reasons. The number one reason is that this allows the source
|
||
tree to remain untouched by the build and therefore clean.
|
||
This will prevent garbage build files from being checked in
|
||
during a 'cvs commit'
|
||
|
||
To run a build outside the source tree, simply make an object
|
||
directory anywhere else that you would like to work, then just
|
||
execute the configure script in the top-level boinc directory.
|
||
$ mkdir boincobj
|
||
$ cd boincobj
|
||
$ <... path to source tree ...>/boinc/configure
|
||
$ make > make.out 2>&1 &
|
||
|
||
Note the examples in apps/Makefile.in and sched/Makefile.in
|
||
of how to use the top_srcdir variable to locate include files
|
||
in the source tree outside of the current directory. Local
|
||
references to other object files and libraries produced by
|
||
the build remain as local .. references.
|
||
|
||
The change to configure.in, (and thus configure) and db/mysql.h
|
||
allow a proper identification of where the mysql .h files live.
|
||
The SSL location of /usr/local/mysql/include is a bit non-standard.
|
||
Most systems will have these in /usr/local/include/mysql
|
||
|
||
Hiram C. Sat May 25 09:20:25 PDT 2002
|
||
Continue updating:
|
||
Makefile.in config.guess configure configure.in api/Makefile.in
|
||
apps/Makefile.in client/Makefile.in client/config.guess
|
||
client/configure client/configure.in sched/Makefile.in
|
||
tools/Makefile.in
|
||
|
||
I have almost clean builds now on Solaris, Mac OS X,
|
||
and UnixWare. There appears to be a missing sched_shmem.h
|
||
file from the source tree.
|
||
|
||
There is still cruft in this configure system. I will continue
|
||
to work on it to clean it up.
|
||
|
||
David A. May 29, 2002
|
||
- Mostly implemented support for editing preferences,
|
||
including project-specific preferences.
|
||
Simplified the preferences scheme.
|
||
Abandoned the idea of multiple preference sets per user;
|
||
each user now has a single set of preferences.
|
||
Got rid of the "prefs" database table;
|
||
prefs are now just an XML and mod_time field in the user table.
|
||
Haven't tested much yet.
|
||
|
||
NOTE: these new features use the XML parsing features of PHP.
|
||
This means that, on the BOINC web server,
|
||
you must configure PHP with the --with-xml option,
|
||
and you must make and install Apache.
|
||
Also, you probably need to use a recent version of PHP;
|
||
XML parsing was broken in PHP 4.0.4, but it works in 4.2.1.
|
||
|
||
client/
|
||
Makefile.in
|
||
speed_stats.C (fixed code formatting a bit; doesn't compile on linux)
|
||
db/
|
||
Makefile.in
|
||
db.h
|
||
db_mysql.C
|
||
schema.sql
|
||
doc/
|
||
prefs.html
|
||
html_user/
|
||
db.inc
|
||
prefs.inc
|
||
prefs.php
|
||
prefs_action.php (removed)
|
||
prefs_add_project_action.php (new)
|
||
prefs_add_project_form.php (new)
|
||
prefs_delete_project.php (new)
|
||
prefs_delete_project_confirm.php (new)
|
||
prefs_edit.php (removed)
|
||
prefs_edit_disk_action.php (new)
|
||
prefs_edit_disk_form.php (new)
|
||
prefs_edit_project_action.php (new)
|
||
prefs_edit_project_form.php (new)
|
||
prefs_edit_projects.php (new)
|
||
prefs_edit_work_action.php (new)
|
||
prefs_edit_work_form.php (new)
|
||
test.php (removed)
|
||
sched/
|
||
handle_request.C
|
||
server_types.C,h
|
||
test/
|
||
init.inc
|
||
test_1sec.php
|
||
test_concat.php
|
||
test_dynamic.php
|
||
test_prefs.php
|
||
test_projects.php
|
||
test_stderr.php
|
||
test_uc.php
|
||
test_uc_slow.php
|
||
tools/
|
||
add.C
|
||
|
||
David A. May 29, 2002
|
||
- forgot to add a couple of files
|
||
sched/
|
||
feeder.C
|
||
sched_shmem.C,h
|
||
|
||
Hiram C. Thu May 30 01:28:47 PDT 2002
|
||
updating: client/configure client/configure.in
|
||
client/net_xfer.C sched/Makefile.in sched/feeder.C
|
||
|
||
This now builds just fine on Solaris, Linux and OpenUnix8.
|
||
And only two tiny errors remain for a Mac OS X build.
|
||
That being the specification of g++ in the sched/Makefile
|
||
and statvfs() is not available on the Mac for
|
||
the client/hostinfo_unix.C compile. Need a substitute for
|
||
that function on the Mac.
|
||
|
||
Eric H. May 30, 2002
|
||
Added safeguard to avoid removing root directory when
|
||
BOINC_DOWNLOAD_DIR and BOINC_UPLOAD_ DIR environment
|
||
variables aren't declared.
|
||
test/
|
||
init.inc
|
||
|
||
David A. June 1, 2002
|
||
- Ensure that preferences propagate from the server
|
||
where they are updated to all hosts,
|
||
Eliminated concept of "home project".
|
||
Not tested yet.
|
||
Also to do: replace the "accounts.xml" file with
|
||
a file containing preferences.
|
||
- Changed the way the client handles preferences.
|
||
It now saves saves the exact XML it gets from the server,
|
||
regardless of whether it can parse it all.
|
||
- Fixed client parsing code to reflect new names for preferences
|
||
- Changed the way the scheduling server handles prefs in
|
||
a client/server interaction.
|
||
If it gets newer prefs, it updates its own DB.
|
||
If its DB has newer prefs, it sends them to client.
|
||
- Fixed the test scripts so that they start/stop the feeder also.
|
||
This required adding a "ready" flag to the shared-mem structure
|
||
so that the scheduling server can find out if the feeder hasn't
|
||
finished initializing the structure.
|
||
Also required adding a "-synch" cmdline option to feeder.
|
||
- added utility program (sched/show_shmem.C) for looking at
|
||
scheduler shared memory
|
||
- renamed "types.*" to "client_types.*" to avoid name conflict
|
||
with system include files
|
||
|
||
/Makefile (removed - this is derived from Makefile.in)
|
||
client/
|
||
Makefile.in
|
||
accounts.C,h
|
||
app.C
|
||
client_state.C,h
|
||
client_types.C,h (new)
|
||
cs_files.C
|
||
cs_scheduler.C
|
||
file_names.h
|
||
file_xfer.h
|
||
hostinfo_unix.C
|
||
net_xfer.C
|
||
prefs.C,h
|
||
scheduler_reply.C,h
|
||
speed_stats.C
|
||
types.C,h (removed)
|
||
db/
|
||
constraints.sql
|
||
doc/
|
||
protocol.html
|
||
html_user
|
||
prefs.inc
|
||
sched/
|
||
feeder.C
|
||
handle_request.C
|
||
main.C
|
||
sched_shmem.h
|
||
server_types.C,h
|
||
show_shmem.C (new)
|
||
ss_reply_file (removed)
|
||
ss_req_file (removed)
|
||
test/
|
||
account1.xml
|
||
init.inc
|
||
sched_reply.xml (removed)
|
||
sched_request.xml (removed)
|
||
test_uc.php
|
||
tools/
|
||
add.C
|
||
|
||
Eric Heien June 03, 2002
|
||
- Consolidated XML parsing functions into lib
|
||
- Fixed compile bug on Solaris in shmem.C
|
||
|
||
client/
|
||
parse.C (moved to lib)
|
||
parse.h (moved to lib)
|
||
Makefile.in
|
||
lib/
|
||
parse.C (moved from client)
|
||
parse.h (moved from client)
|
||
shmem.C
|
||
sched/
|
||
parse.C (removed, uses lib version now)
|
||
parse.h (removed, uses lib version now)
|
||
Makefile.in
|
||
|
||
Michael Gary June 04, 2002
|
||
- Added server side water level functionality, now sends as many work units
|
||
as necessary to fill the time requested.
|
||
|
||
sched/
|
||
handle_request.C
|
||
|
||
Eric Heien June 06, 2002
|
||
- Changes and additions made to begin porting to Windows.
|
||
- This code will compile on Windows, but is not quite fully functional.
|
||
|
||
client/
|
||
hostinfo_unix.C
|
||
hostinfo_win.C (added)
|
||
http.C
|
||
main.C
|
||
net_xfer.C
|
||
prefs.C
|
||
speed_stats.C
|
||
test_file_xfer.C
|
||
test_http.C
|
||
test_net_xfer.C
|
||
util.C
|
||
util.h
|
||
windows_cpp.h (added)
|
||
win_main.C (added)
|
||
lib/
|
||
md5.c
|
||
parse.C
|
||
|
||
Michael Gary June 06, 2002
|
||
- Added client side water level functionality.
|
||
- Added rsc_fpops and rsc_iops to the client WORKUNIT struct, bun not yet
|
||
functional since not initialized.
|
||
- Test scripts to check water level functionality, including minima and
|
||
maxima. Test scripts are based on test_prefs.php.
|
||
|
||
client/
|
||
client_state.h
|
||
cs_scheduler.C
|
||
client_types.h
|
||
test/
|
||
max_water_prefs.xml (new)
|
||
min_water_prefs.xml (new)
|
||
normal_water_prefs.xml (new)
|
||
test_max_water_prefs.php (new)
|
||
test_min_water_prefs.php (new)
|
||
test_normal_water_prefs.php (new)
|
||
|
||
Michael Gary June 07, 2002
|
||
- Converted scheduling server to allow for Fast CGI. Fast CGI will only be
|
||
used if Makefile.in is replaced by Makefile.fcgi.in. Makefile.nofcgi.in
|
||
is a copy of the current Makefile.in.
|
||
|
||
sched/
|
||
feeder.C
|
||
handle_request.C
|
||
main.C
|
||
sched_shmem.C
|
||
main.C
|
||
sched_shmem.C
|
||
server_types.C
|
||
show_shmem.C
|
||
Makefile.nofcgi.in (new)
|
||
Makefile.fcgi.in (new)
|
||
lib/
|
||
parse.C
|
||
|
||
Eric Heien June 07, 2002
|
||
- Added initial functionality for passing graphics preferences between core and app
|
||
|
||
client/
|
||
Makefile.in
|
||
app.C
|
||
lib/
|
||
gfx_interface.C
|
||
gfx_interface.h
|
||
|
||
Michael Gary June 08, 2002
|
||
- Moved fast cgi Makefile.in to boinc/sched_fcgi
|
||
- make now makes fcgi in boinc/sched_fcgi
|
||
- Added links to existing code where necessary for making fast cgi
|
||
scheduling server.
|
||
|
||
configure
|
||
Makefile.in
|
||
sched/
|
||
Makefile.nofcgi.in (removed)
|
||
Makefile.fcgi.in (removed)
|
||
Makefile.in
|
||
parse.C (added)
|
||
parse.h (added)
|
||
sched_fcgi/ (added)
|
||
Makefile.in (added)
|
||
feeder.C (added)
|
||
handle_request.C (added)
|
||
handle_request.h (added)
|
||
main.C (added)
|
||
parse.C (added)
|
||
parse.h (added)
|
||
sched_shmem.C (added)
|
||
sched_shmem.h (added)
|
||
server_types.C (added)
|
||
server_types.h (added)
|
||
show_shmem.C (added)
|
||
|
||
David A June 9 2002
|
||
- added support for multiple URLs in a FILE_INFO
|
||
(e.g. multiple servers from which the file can be downloaded)
|
||
- started work on "persistent file transfer": a layer on top of
|
||
FILE_XFER that manages restarting from failed connections,
|
||
and that implements a give-up policy
|
||
- added offset arguments to GET and PUT HTTP operations.
|
||
NOTE: this will work fine for downloading files (GET)
|
||
but we'll have to use something else for upload,
|
||
since the standard PUT handler doesn't do offsets,
|
||
and we need security functionality in any case.
|
||
- added preliminary version of application API for
|
||
communicating with core client.
|
||
- use <file_ref> tags instead of <input_file> and <output_file>
|
||
(makes things simpler)
|
||
|
||
TODO
|
||
notes
|
||
api/
|
||
api.C,h
|
||
client/
|
||
configure.in
|
||
client_state.C
|
||
client_types.C,h
|
||
cs_files.C
|
||
error_numbers.h
|
||
file_xfer.h
|
||
http.C,h
|
||
pers_file_xfer.C,h
|
||
test_http.C
|
||
html_ops/
|
||
db.php
|
||
html_user/
|
||
db.inc
|
||
test/
|
||
1sec_result
|
||
account2.xml
|
||
*_result
|
||
*_wu
|
||
init.inc
|
||
laptop_prefs.xml
|
||
test_*.php
|
||
tools/
|
||
add.C
|
||
|
||
David A June 13 2002
|
||
- added the RSAEuro library to the project,
|
||
and some interface routines for it.
|
||
|
||
RSAEuro/ (new)
|
||
source/*
|
||
demo/*
|
||
lib/
|
||
crypt.C,h (new)
|
||
crypt_prog.C
|
||
Makefile.in
|
||
sched/
|
||
file_upload_handler.C
|
||
|
||
Eric H June 19, 2002
|
||
- Removed redundant files
|
||
|
||
sched/
|
||
parse.C (removed)
|
||
parse.h (removed)
|
||
|
||
Eric H June 20, 2002
|
||
- added soft link support via XML tags
|
||
- fixed Windows ASCII/binary bug
|
||
- Added Windows networking support
|
||
- Fixed some bad indenting
|
||
|
||
api/
|
||
api.C
|
||
api.h
|
||
lib/
|
||
md5_file.C
|
||
client/
|
||
client_state.C
|
||
cs_scheduler.C
|
||
net_xfer.C
|
||
win_net.cpp (added)
|
||
win_net.h (added)
|
||
win_main.C (changed to win_main.cpp)
|
||
win_main.cpp (changed from win_main.C)
|
||
windows_cpp.h
|
||
|
||
David A June 20 2002
|
||
- Replaced the "accounts.xml" file with the user preferences ("prefs.xml").
|
||
All non-host-specific project info is stored in this file;
|
||
all host-specific project info is in client_state.xml.
|
||
The PROJECT class is a union of the two.
|
||
The logic for dealing with inconsistencies between
|
||
prefs.xml and client_state.xml, and with updating in-memory
|
||
and on-disk project lists in response to an update from a server,
|
||
are a little tricky and are described in the code.
|
||
- The prefs file can be overwritten by <preferences> in a scheduling
|
||
server reply. To prevent buggy servers from zeroing out
|
||
users' project lists, the client makes sure there's at least
|
||
one project, and backs up the old prefs.xml into a timestamped file.
|
||
- The command-line client, if prefs.xml is absent,
|
||
prompts the user for a project URL and authenticator,
|
||
and creates an initial prefs.xml.
|
||
- Each project now has a "master URL", with is its home page
|
||
and also contains <scheduler> elements giving the URLs of
|
||
its scheduling servers.
|
||
- Added a class SCHEDULER_OP which encapsulates fetching and
|
||
parsing a project's master page (if necessary),
|
||
then making an RPC to one of its scheduling servers.
|
||
TODO: add retry and failure logic.
|
||
- A project can have more than one scheduling server.
|
||
TODO: use all of them.
|
||
- Project directories are stored in URL-encoded form.
|
||
This allows project master URLs to have slashes, which is a necessity.
|
||
|
||
client/
|
||
Makefile.in
|
||
accounts.C,h (deleted)
|
||
app.C,h
|
||
client_state.C,h
|
||
client_types.C,h
|
||
cs_apps.C
|
||
cs_scheduler.C
|
||
file_names.C,h
|
||
main.C
|
||
prefs.C,h
|
||
scheduler_op.C,h (new)
|
||
scheduler_reply.C,h (deleted)
|
||
doc/
|
||
project.html
|
||
lib/
|
||
parse.C,h
|
||
sched/
|
||
server_types.C
|
||
test/
|
||
account1.xml, account2.xml (deleted)
|
||
init.inc
|
||
prefs1.xml, prefs2.xml (new)
|
||
test_*.php
|
||
|
||
David A June 21 2002
|
||
- top-level Makefile now compiles RSAEuro/,
|
||
and doesn't refer to sched_fcgi
|
||
- Added <scheduler> element to html_user/index.html,
|
||
making it the "master file" for test project.
|
||
This file must be placed in the directory referred to by
|
||
http://localhost/
|
||
|
||
Makefile.in
|
||
html_user/
|
||
index.html
|
||
|
||
Michael Gary June 21 2002
|
||
- added install to the make system to put executables
|
||
in /usr/local/boinc
|
||
- simplified make system for fast cgi scheduling server
|
||
- completed implementation of high/low water system and
|
||
testing of host.
|
||
- checkpoints and timekeeping now implemented in api
|
||
- timekeeping through api done in client state
|
||
|
||
Makefile.in
|
||
configure
|
||
api/
|
||
Makefile.in
|
||
api.C
|
||
api.h
|
||
api_test.C
|
||
apps/
|
||
Makefile.in
|
||
client/
|
||
Makefile.in
|
||
client_state.C
|
||
client_state.h
|
||
client_types.C
|
||
client_types.h
|
||
cs_scheduler.C
|
||
hostinfo.C
|
||
hostinfo.h
|
||
app.h
|
||
app.C
|
||
db/
|
||
db.h
|
||
lib/
|
||
Makefile.in
|
||
sched/
|
||
Makefile.in
|
||
feeder.C
|
||
handle_request.C
|
||
main.C
|
||
parse.C (removed)
|
||
parse.h (removed)
|
||
sched_shmem.C
|
||
server_types.C
|
||
show_shmem.C
|
||
test/
|
||
log_flags.php
|
||
sched_fcgi/ (removed)
|
||
|
||
Micahel Gary 6/23/2002
|
||
- Checkpoint timer initialized in boinc_init.
|
||
- Test script added for api.
|
||
|
||
api/
|
||
api.C
|
||
test_api.C
|
||
test/
|
||
init.inc
|
||
test_api.php (new)
|
||
ta_correct_atc (new)
|
||
ta_correct_f (new)
|
||
core_to_app.xml.in (new)
|
||
|
||
Michael Gary 6/25/2002
|
||
- Maggie is now the master url for boinc.
|
||
|
||
test/
|
||
prefs1.html
|
||
doc/
|
||
test.html
|
||
|
||
Michael Gary 6/27/2002
|
||
- Fixed a bug in add_work and added water level testing to test_uc.php
|
||
|
||
test/
|
||
test_uc.php
|
||
tools/
|
||
add_work.C
|
||
|
||
Michael Gary 6/28/2002
|
||
- Added an explicit test for water level
|
||
- Added a -no_time_test argument to the boinc client to stop the time tests
|
||
from running.
|
||
|
||
client/
|
||
main.C
|
||
client_state.h
|
||
client_state.C
|
||
test/
|
||
test_water.php (new)
|
||
|
||
Eric Heien 7/01/2002
|
||
- Added S@H test scripts, added other testing functionality.
|
||
- Added random WU generation.
|
||
- Added concat_slow application.
|
||
- Altered functionality of API checkpoint_completed.
|
||
|
||
api/
|
||
api.C
|
||
api.h
|
||
api_test.C
|
||
apps/
|
||
concat_slow.C (added)
|
||
Makefile.in
|
||
uc_slow.C
|
||
upper_case.C
|
||
test/
|
||
sah_result (added)
|
||
sah_wu (added)
|
||
sah_test.php (added)
|
||
init.inc
|
||
test_uc_slow.php
|
||
tools/
|
||
create_work.C
|
||
|
||
Michael Gary 7/01/2002
|
||
- Fixed fast cgi scheduling server
|
||
- If low water mark is higher than high water mark, water marks are
|
||
switched
|
||
- Updated documentation
|
||
|
||
doc/
|
||
flow.html
|
||
protocol.html
|
||
client/
|
||
client_state.C
|
||
cs_scheduler.C
|
||
sched/
|
||
main.C
|
||
test/
|
||
prefs1.xml
|
||
|
||
Michael Gary 7/03/2002
|
||
- api test is now more thorough, tests time accounting and restarting
|
||
- added app_completed function to api
|
||
- api_test.C was moved to api_app.C
|
||
- removed #ifdef solaris and #ifdef unix from all files
|
||
|
||
api/
|
||
Makefile.in
|
||
api.C
|
||
api.h
|
||
api_test.C
|
||
api_app.C (new)
|
||
test/
|
||
init.inc
|
||
ta_correct_f
|
||
test_api.php
|
||
client/
|
||
app.C
|
||
hostinfo_unix.C
|
||
configure
|
||
configure.in
|
||
filesys.C
|
||
doc/
|
||
api.html
|
||
configure
|
||
configure.in
|
||
|
||
David Anderson July 4, 2002
|
||
- Added support for upload authentication.
|
||
This prevents bad guys from filling up data servers with trash.
|
||
In this scheme, each <file_info> element sent from
|
||
server to client includes a <max_nbytes> field limiting
|
||
the size of the file, and includes a digital signature
|
||
based on the project's "upload authentication" key pair.
|
||
File uploads, instead of being done by PUT, are now done by POST
|
||
to a CGI program, "file_upload_handler".
|
||
The request header includes the signed <file_info>,
|
||
and the CGI program verifies the signature and enforces the size limit.
|
||
|
||
The affected pieces of code:
|
||
- Added a function create_keys() in PHP test scripts
|
||
to create encryption keys. Call it from all script.
|
||
- Added environment var BOINC_KEY_DIR saying where keys are kept.
|
||
- The client must maintain an exact copy of each <file_info> XML,
|
||
and of the signature, so that it can send to upload server.
|
||
- Added a new variant of HTTP operation, HTTP_OP_POST2.
|
||
The existing variants all use single files for request and reply.
|
||
The new variant (used for file upload) has a request
|
||
consisting of a memory block followed by (part of) a file;
|
||
the reply is in memory.
|
||
This avoid copying possibly huge upload files.
|
||
- FILE_XFER objects now take a FILE_INFO as initialization argument;
|
||
needed to convey authentication info.
|
||
The upload variant creates and sends the authentication header.
|
||
- Result templates now include a <max_nbytes> in each
|
||
<file_info> element, and the URLs refer to the
|
||
file_upload_handler (with no filename)
|
||
- process_result_template() works differently, since it must
|
||
generate a digital signature at the end of each <file_info>
|
||
- create_work expects the name of a private key file.
|
||
- Added crypt/md5 functions to sign/verify in memory,
|
||
encode/decode ASCII data in memory, checksum in memory
|
||
- Change "gmake" to "make" in top-level makefile.
|
||
(alias make to gmake if this is a problem)
|
||
|
||
boinc/
|
||
Makefile.in
|
||
TODO
|
||
RSAEuro/source/
|
||
rsaeuro.h
|
||
client/
|
||
Makefile.in
|
||
client_state.C
|
||
client_types.C,h
|
||
cs_files.C
|
||
file_names.C
|
||
file_xfer.C,h
|
||
http.C,h
|
||
main.C
|
||
scheduler_op.C
|
||
test_file_xfer.C
|
||
db/
|
||
mysql_util.C
|
||
doc/
|
||
index.html
|
||
intro.html
|
||
master_url.html (new)
|
||
project_startup.html (new)
|
||
tools_security.html (new)
|
||
html_user/
|
||
index.html
|
||
lib/
|
||
Makefile.in
|
||
crypt.C,h
|
||
crypt_prog.C
|
||
md5_file.C,h
|
||
parse.C,h
|
||
sched/
|
||
Makefile.in
|
||
file_upload_handler.C
|
||
server_types.C
|
||
test/
|
||
1sec_result
|
||
concat_result
|
||
init.inc
|
||
master.html (new)
|
||
sah_result
|
||
test_1sec.php
|
||
test_concat.php
|
||
test_dynamic.php
|
||
test_max_water_prefs.php
|
||
test_min_water_prefs.php
|
||
test_normal_water_prefs.php
|
||
test_prefs.php
|
||
test_projects.php
|
||
test_stderr.php
|
||
test_uc.php
|
||
test_uc_slow.php
|
||
uc_result
|
||
ucs_result
|
||
tools/
|
||
Makefile.in
|
||
add.C
|
||
backend_lib.C,h
|
||
create_work.C
|
||
process_result_template.C
|
||
|
||
David July 4, 2002
|
||
- fixed compile problems on linux.
|
||
use kill() instead of sigsend()
|
||
|
||
client/app.C
|
||
sched/file_upload_handler.C
|
||
|
||
Michael Gary July 5, 2002
|
||
- fixed fast cgi crypto
|
||
use fgets and sscanf instead of fscanf, which
|
||
is not implemented in fcgi_stdio.h
|
||
|
||
sched/Makefile.in
|
||
lib/crypt.C
|
||
|
||
David A. July 7, 2002
|
||
- Added code signing. All files associated with an app version
|
||
(i.e. all executable files) must now be signed
|
||
with the project's "code sign key". The components include:
|
||
- PROJECT has new field "code_sign_key", keep track of project's
|
||
public code-signing key.
|
||
Send this on each scheduler RPC.
|
||
- The scheduling server stores the public code-signing key in memory.
|
||
Send it to any client who doesn't have it.
|
||
If the client has an old key,
|
||
send them the new key signed with the old key.
|
||
NOTE: this uses a scheme in which signatures are kept
|
||
in files on the server, to avoid keeping private keys
|
||
in online machines. This should be documented.
|
||
- The utility to add new app versions (add.C) adds a signature
|
||
to the FILE_INFO element.
|
||
NOTE: eventually the signing should be done offline.
|
||
- FILE_INFO has a new boolean field "signature_required";
|
||
set for all files associated with an app version
|
||
- FILE_INFO has a new char* field "file_signature",
|
||
which is the digital signature.
|
||
Renamed upload authenticator from "signature" to "xml_signature"
|
||
to avoid confusion.
|
||
- Add function verify_downloaded_file(), called after every download;
|
||
does MD5 or signature checking as needed.
|
||
- Added some new functions for signature checking etc.
|
||
- the client is now linked with the crypt library
|
||
- Server-side errors should always include the name of the
|
||
CGI program generating the error (scheduler or file upload handler)
|
||
|
||
client/
|
||
Makefile.in
|
||
client_state.C
|
||
client_types.C,h
|
||
cs_files.C
|
||
cs_scheduler.C
|
||
file_xfer.C
|
||
scheduler_op.C,h
|
||
test_file_xfer.C
|
||
doc/
|
||
index.html
|
||
project_startup.html (new)
|
||
security.html
|
||
lib/
|
||
crypt.C,h
|
||
parse.C,h
|
||
sched/
|
||
file_upload_handler.C
|
||
handle_request.C,h
|
||
main.C
|
||
server_types.C,h
|
||
test/
|
||
init.inc
|
||
prefs1.xml
|
||
test_uc.php
|
||
tools/
|
||
add.C
|
||
process_result_template.C
|
||
|
||
David A. July 8, 2002
|
||
- fix compile errors
|
||
- fix bugs in FCGI version of scan_hex_data stuff
|
||
|
||
client/
|
||
client_types.C
|
||
lib/
|
||
crypt.C
|
||
crypt_prog.C
|
||
sched/
|
||
file_upload_handler.C
|
||
tools/
|
||
Makefile.in
|
||
add.C
|
||
process_result_template.C
|
||
|
||
Michael Gary July 10, 2002
|
||
- Added asserts to the server side
|
||
- Added error checks on function parameters
|
||
- Made the api update result with time information at
|
||
checkpoints and when an application exits
|
||
- Removed unused tests
|
||
- Fixed bug in crypto sscan
|
||
- Moved client/error_numbers.h to lib/error_numbers.h
|
||
|
||
api/
|
||
Makefile.in
|
||
api.C
|
||
app.C
|
||
client/
|
||
app.h
|
||
client_state.C
|
||
client_types.C
|
||
cs_apps.C
|
||
cs_files.C
|
||
cs_scheduler.C
|
||
file_names.C
|
||
file_xfer.C
|
||
filesys.C
|
||
hostinfo.C
|
||
hostinfo_unix.C
|
||
http.C
|
||
log_flags.C
|
||
main.C
|
||
net_stats.C
|
||
scheduler_op.C
|
||
speed_stats.C
|
||
time_stats.C
|
||
util.C
|
||
error_numbers.h (removed)
|
||
db/
|
||
db_mysql.C
|
||
mysql_util.C
|
||
lib/
|
||
crypt.C
|
||
md5_file.C
|
||
parse.C
|
||
shmem.C
|
||
error_numbers.h (added)
|
||
sched/
|
||
Makefile.in
|
||
feeder.C
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
main.C
|
||
sched_shmem.C
|
||
sched_shmem.h
|
||
server_types.C
|
||
test/
|
||
max_water_prefs.xml (removed)
|
||
min_water_prefs.xml (removed)
|
||
normal_water_prefs.xml (removed)
|
||
test_max_water_prefs.php (removed)
|
||
test_min_water_prefs.php (removed)
|
||
test_normal_water_prefs.php (removed)
|
||
tools/
|
||
add.C
|
||
backend_lib.C
|
||
process_result_template.C
|
||
|
||
Barry Luong July 11, 2002
|
||
- added changes to allow for multiple servers on one machine
|
||
- database names are from environment variables
|
||
- download and upload directories are from environment variables
|
||
- download and upload url's are from environment variables
|
||
- boinc_key (for shared memory) is from environment variables
|
||
- new directory tree:
|
||
|
||
~barry/
|
||
/ \
|
||
/ \
|
||
/ \
|
||
boinc_cvs/ boinc_server/
|
||
/ / / \ \
|
||
/ / / \ \
|
||
/ / / \ \
|
||
boinc/ cgi/ keys/ upload/ download/
|
||
/ \ \
|
||
/ \ \
|
||
/ \ \
|
||
client/ sched/ ...
|
||
|
||
- sched cgi, fcgi, file_upload_handler are copied into
|
||
~barry/boinc_server/cgi/
|
||
- in httpd.conf set up cgi permissions for appropriate files and
|
||
directories
|
||
- must define new environment variables:
|
||
BOINC_DOWNLOAD_DIR ~/barry/boinc_server/download
|
||
BOINC_UPLOAD_DIR ~/barry/boinc_server/upload
|
||
BOINC_DB_NAME boinc_barry
|
||
BOINC_UPLOAD_URL http://localhost/barry/boinc_server/cgi/fileupload_handler
|
||
BOINC_DOWNLOAD_URL http://localhost/barry/boinc_server/cgi/download
|
||
BOINC_KEY 0xdabacafe
|
||
BOINC_USER barry
|
||
BOINC_PUBLIC_KEY_PATH ~/barry/boinc_server/keys/upload_public
|
||
BOINC_KEY_DIR ~barry/boinc_server/keys
|
||
|
||
db/
|
||
init_db
|
||
drop.sql
|
||
schema.sql
|
||
constraints.sql
|
||
|
||
sched/
|
||
main.C
|
||
feeder.C
|
||
Makefile.in
|
||
file_upload_handler.C
|
||
sched_shmem.h
|
||
|
||
tools/
|
||
backend_lib.C
|
||
process_result_template.C
|
||
add.C
|
||
create_work.C
|
||
|
||
html_user/
|
||
db.inc
|
||
|
||
Barry Luong July 12, 2002
|
||
- Changed error messages in main.C so user names are printed out also
|
||
- took out a debugging variable I accidentally left in feeder.C
|
||
- removed an assert in file_upload_handler.C
|
||
- changed so BOINC_UPLOAD_DIR and BOINC_KEY_DIR are defined at compile time
|
||
|
||
sched/
|
||
main.C
|
||
Makefile.in
|
||
feeder.C
|
||
file_upload_handler.C
|
||
|
||
Michael Gary July 12, 2002
|
||
- Added a test to make sure the scheduling server does not send unfeasible
|
||
work units
|
||
- Removed some debug output
|
||
|
||
lib/
|
||
shmem.C
|
||
sched/
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
test/
|
||
prefs3.xml
|
||
test_rsc.php
|
||
|
||
David A July 14 2002
|
||
- Added reasonable policies for making scheduler RPCs. Summary:
|
||
- results now have a "report deadline".
|
||
This may be useful for various purposes; for now,
|
||
we use it to trigger scheduler RPCs to report results
|
||
- The client now tries all a project's scheduler URLs in turn.
|
||
- Projects have a "min_rpc_time", the earliest time to
|
||
attempt another RPC (replaces next_request_time)
|
||
- We maintain an RPC failure count for each project.
|
||
If RPCs to all its URLs fail, we increment the count
|
||
and set its min_rpc_time according to an exponential backoff
|
||
- If a project is getting repeated RPC failures,
|
||
reread and parse its master URL file every so often,
|
||
in case the set of scheduler URLs has changed
|
||
- When the client has a completed result past its deadline,
|
||
it attempts to report it to that project.
|
||
- When the client's estimated work falls below low water,
|
||
it ranks projects according to their "resource deficit",
|
||
then attempts RPCs to project in that order
|
||
until the estimated work is above high water.
|
||
NOTE: only the simplest case has been tested.
|
||
We need to write test scripts for many other cases.
|
||
NOTE: currently a result's report deadline is now+1000.
|
||
We need to add a mechanism for setting it.
|
||
- The CLIENT_STATE is now kept in a global variable instead of
|
||
a local var of main().
|
||
This is because SCHEDULER_OP needs to get at it.
|
||
|
||
client/
|
||
client_state.C,h
|
||
client_types.C,h
|
||
cs_scheduler.C
|
||
main.C
|
||
scheduler_op.C,h
|
||
db/
|
||
db.h
|
||
db_mysql.h
|
||
schema.sql
|
||
doc/
|
||
file_xfer_policy.html (new)
|
||
index.html
|
||
result.html
|
||
rpc_policy.html (new)
|
||
html_user/
|
||
db.inc
|
||
tools/
|
||
backend_lib.C
|
||
create_work.C
|
||
|
||
David A July 15, 2002
|
||
- added env var BOINC_MASTER_URL.
|
||
Each / in the master URL must be preceded by four \s
|
||
e.g. setenv BOINC_MASTER_URL http:\\\\/\\\\/localhost\\\\/index.html
|
||
- team name must be non-null to be unique
|
||
- TODO (Barry): make the master page per-project;
|
||
make database access from PHP/Web per-project
|
||
db/
|
||
schema.sql
|
||
html_user/
|
||
db.inc
|
||
test/
|
||
init.inc
|
||
master.html
|
||
prefs1.xml
|
||
tools/
|
||
Makefile.in
|
||
|
||
Michael Gary July 15, 2002
|
||
- Fixed compile bug
|
||
- Updated documentation
|
||
- Fixed test script bug
|
||
- Added comments to some .h files
|
||
- Fixed timing bug
|
||
doc/
|
||
api.html
|
||
client_debug.html
|
||
flow.html
|
||
index.html
|
||
protocol.html
|
||
sched_debug.html
|
||
sched_policy.html
|
||
test.html
|
||
tools/
|
||
Makefile.in
|
||
test/
|
||
test_uc.php
|
||
test_rsc.php
|
||
init.inc
|
||
client/
|
||
client_types.h
|
||
hostinfo.h
|
||
api/
|
||
api.C
|
||
api.h
|
||
|
||
Michael Gary July 16, 2002
|
||
-Fixed test script bug
|
||
test/
|
||
concat_result
|
||
test_concat.php
|
||
|
||
Eric Heien July 17, 2002
|
||
- Removed assembly optimized routines from RSAEuro, since we
|
||
want to be platform independent and RSAEuro isn't a highly speed
|
||
critical piece of code. This had the side benefit of making the
|
||
RSAEuro Makefile operate cleanly with make.
|
||
- Fixed compiler warnings in RSAEuro demo programs. Do we really
|
||
need to keep these demo programs around?
|
||
- Turned off the "secure" versions of memcpy, memset and memcmp.
|
||
If needed, we can turn them back on.
|
||
RSAEuro/
|
||
source/
|
||
makefile (moved to Makefile)
|
||
Makefile (renamed from makefile)
|
||
des386.s (removed)
|
||
rsa386.s (removed)
|
||
rsa68k.s (removed)
|
||
rsasparc.s (removed)
|
||
demo/
|
||
mdemo.c
|
||
randemo.c
|
||
redemo.c
|
||
|
||
Michael Gary 7/17/2002
|
||
- Fixed more test scripts
|
||
- Added a comprehensive test
|
||
- Added make tar_client to toplevel makefile
|
||
- Added installation notes for the server and the client
|
||
Makefile.in
|
||
INSTALL (added)
|
||
INSTALL_CLIENT (added)
|
||
test/
|
||
test_1sec.php
|
||
test_dynamic.php
|
||
test_prefs.php
|
||
test_projects.php
|
||
test_stderr.php
|
||
test_uc_slow.php
|
||
test_suite.php (added)
|
||
|
||
|
||
Michael Gary 7/18/2002
|
||
- Configure now checks to make sure that apache, mysql, and php are
|
||
installed. If they are not installed, it prints out a warning and
|
||
continues configuration
|
||
- Added uninstall target, made Makefiles more compliant with GNU standards
|
||
INSTALL
|
||
INSTALL_CLIENT
|
||
aclocal.m4 (added)
|
||
configure
|
||
configure.in
|
||
Makefile.in
|
||
sched/
|
||
Makefile.in
|
||
lib/
|
||
Makefile.in
|
||
api/
|
||
Makefile.in
|
||
client/
|
||
Makefile.in
|
||
|
||
Eric Heien 7/18/2002
|
||
- Fixed RSAEuro makefile so that it doesn't require gcc. This was
|
||
causing problems when porting.
|
||
|
||
RSAEuro/source/
|
||
Makefile (removed)
|
||
Makefile.in (added)
|
||
configure
|
||
configure.in
|
||
|
||
Michael Gary 7/23/2002
|
||
- Added a test for sticky files. Required updating escape_url to support
|
||
RRC1738 (-_. no longer escaped out).
|
||
client/
|
||
file_names.C
|
||
test/
|
||
test_sticky.php (added)
|
||
uc_wu_sticky (added)
|
||
uc_result_sticky (added)
|
||
|
||
Michael Gary 7/24/2002
|
||
- Added a test for the time reporting system.
|
||
test/
|
||
test_time.php (added)
|
||
init.inc
|
||
apps/
|
||
uc_slow.C
|
||
uc_cpu.C (added)
|
||
Makefile.in
|
||
|
||
David July 28 2002
|
||
- Changed the "add" utility so that, when adding an app version,
|
||
you can give it the signature files (computed offline, presumably)
|
||
- Changed the "add" utility so that an app version can consist
|
||
of multiple files
|
||
- Removed the notion of alpha/beta/production versions of an app.
|
||
The same effect can be achieved by making separate projects
|
||
for alpha and beta testing.
|
||
- Apps now have a "minimum version number" on the server side -
|
||
Don't send a WU unless there's an app version of that number or greater.
|
||
Send the latest available version for the platform.
|
||
- Clarified app version semantics:
|
||
- Workunits don't have a version# on the server
|
||
- When a client gets a workunit, it associates it with
|
||
the most recent version of the application that it knows about
|
||
(possibly one it received in the same reply message).
|
||
It continues to use this version for this WU,
|
||
even if it receives a later version while the WU is in progress.
|
||
- On the client, no version #s are associated with apps
|
||
|
||
PROGRAMMERS NOTE:
|
||
- Removed checking of args in client_state.C
|
||
This gunks up the code too much. Let's do checking at higher level.
|
||
- Comments should be in the imperative mood.
|
||
"Write the state file", not "Writes the state file"
|
||
- Comments should not be vague, e.g.
|
||
// See if the application (name) associated with project p is
|
||
// around here
|
||
... what does "around here" mean?
|
||
- Leave a space between "if" and "("
|
||
- When asserting that a pointer is non-NULL, just say "assert(p)".
|
||
Saying "assert(p!=NULL)" is like saying if (flag==true)
|
||
- Linux doesn't have -lsocket and -lnsl.
|
||
Don't put them in Makefile.in.
|
||
|
||
TODO
|
||
client/
|
||
client_state.C,h
|
||
client_types.C,h
|
||
cs_scheduler.C
|
||
main.C
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
schema.sql
|
||
doc/
|
||
app.html
|
||
index.html
|
||
intro.html
|
||
project.html
|
||
tools_other.html
|
||
html_user/
|
||
db.inc
|
||
sched/
|
||
handle_request.C
|
||
sched_shmem.C
|
||
server_types.C
|
||
test/
|
||
init.inc
|
||
master.html
|
||
tools/
|
||
Makefile.in
|
||
add.C
|
||
backend_lib.C
|
||
|
||
|
||
Eric Heien July 29 2002
|
||
- Added code to determine the amount of disk space being
|
||
used by BOINC, by recursively descending through the
|
||
root directory. Still needs to be ported to Windows.
|
||
|
||
client/
|
||
filesys.C
|
||
filesys.h
|
||
|
||
David A. July 30 2002
|
||
- Revised API doc
|
||
- made some API implementation functions static
|
||
(this breaks the test program, need to discuss)
|
||
- removed CPU spin from uc_slow (why?)
|
||
|
||
api/
|
||
api.C,h
|
||
apps/
|
||
uc_slow.C
|
||
doc/
|
||
api.html
|
||
graphics.html
|
||
index.html
|
||
|
||
David A. July 30, 2002
|
||
- Revised API and graphics docs
|
||
- removed error checks from parse.C
|
||
|
||
doc/
|
||
api.html
|
||
graphics.html
|
||
index.html
|
||
lib/
|
||
parse.C
|
||
|
||
Eric Heien August 2, 2002
|
||
- Implemented HTTP 301 and 302 redirect commands.
|
||
- These still need to be fully tested.
|
||
|
||
TODO
|
||
client/
|
||
http.C
|
||
http.h
|
||
net_xfer.C
|
||
net_xfer.h
|
||
|
||
David A. August 4 2002
|
||
Various changes to API:
|
||
- Added user, team names, credit info to APP_INIT_DATA
|
||
- separate call for getting init data
|
||
- separate call for returning fraction done
|
||
- separated out fraction_done_update_period
|
||
- moved graphics API to separate file
|
||
- moved MFILE implementation to separate file
|
||
- API timer is now 0.1 sec; use counters for various uses
|
||
(checkpoint, fraction done, graphics)
|
||
- changed name of API files to boinc_api.C,h
|
||
|
||
- clarify distinction between
|
||
"current CPU time"
|
||
"CPU time at last checkpoint"
|
||
"CPU time at start of current run"
|
||
These are all kept in ACTIVE_TASK.
|
||
RESULT now only has "final CPU time".
|
||
|
||
- fixed bug in dir scanning (ahem...)
|
||
|
||
- Coding style notes:
|
||
- every fopen() MUST have a matching fclose() in same function
|
||
- every malloc() MUST have a matching free() in same function
|
||
- don't do a rewind() right after fopen()
|
||
- write function calls as
|
||
func(arg1, arg2);
|
||
NOTE: there's a space after every comma, everywhere
|
||
- write "if" statements as
|
||
if (condition) {
|
||
...
|
||
}
|
||
- no explicit argument checking. do this at higher level
|
||
- functions in foo.C should be declared (as extern) in foo.h,
|
||
AND NOWHERE ELSE.
|
||
|
||
api/
|
||
Makefile.in
|
||
api.C,h (removed)
|
||
boinc_api.C,h (new)
|
||
graphics_api.C,h (new)
|
||
mfile.C (new)
|
||
apps/
|
||
Makefile.in
|
||
*.C
|
||
client/
|
||
Makefile.in
|
||
app.C,h
|
||
client_state.C,h
|
||
client_types.C,h
|
||
cs_apps.C
|
||
cs_scheduler.C
|
||
file_names.C
|
||
filesys.C,h
|
||
doc/
|
||
api.html
|
||
|
||
|
||
Barry Luong August 6, 2002
|
||
|
||
- Added team pages in html_user/
|
||
- pages to display team page, join team, quit team, edit team, disband
|
||
team, and remove inactive members
|
||
- Added database access per project via the web
|
||
- a new file in html_user/ called db_name containing only the name of
|
||
that project's database
|
||
|
||
html_user/
|
||
db.inc
|
||
team.inc
|
||
team.php
|
||
team_create_action.php
|
||
team_create_form.php
|
||
team_disband_action.php
|
||
team_disband_form.php
|
||
team_display.php
|
||
team_edit_action.php
|
||
team_edit_form.php
|
||
team_join_action.php
|
||
team_join_form.php
|
||
team_lookup.php
|
||
team_quit_action.php
|
||
team_quit_form.php
|
||
team_remove_inactive_action.php
|
||
team_remove_inactive_form.php
|
||
|
||
|
||
Eric Heien August 7, 2002
|
||
- Added PERS_FILE_XFER (persistent file transfer)
|
||
functionality. This includes the notions of retrying
|
||
when unable to connect, exponential backoff, and giving
|
||
up after a period of time. Giving up is currently
|
||
not fully implemented. Includes initial work for
|
||
supporting upload/download resumption. All features
|
||
still need to be thoroughly tested.
|
||
- Added initial functionality to calculate allowable disk
|
||
usage.
|
||
|
||
client/
|
||
Makefile.in
|
||
client_state.C
|
||
client_state.h
|
||
client_types.C
|
||
client_types.h
|
||
cs_files.C
|
||
cs_scheduler.C
|
||
file_xfer.C
|
||
hostinfo_unix.C
|
||
http.C
|
||
http.h
|
||
pers_file_xfer.C
|
||
pers_file_xfer.h
|
||
scheduler_op.C
|
||
test_file_xfer.C
|
||
test_http.C
|
||
util.C
|
||
util.h
|
||
sched/
|
||
file_upload_handler.C
|
||
|
||
Eric Heien August 9, 2002
|
||
- Moved windows files to client/win directory, added win_build.zip
|
||
for building Windows GUI and CLI clients.
|
||
- Fixed compile bugs in graphics_api.C and graphics_api.h
|
||
- Updated TODO and INSTALL docs
|
||
- Added Mac init, event loop, and cleanup functionality in main.C
|
||
- Added user requestable quit to main loop for use in GUI interfaces.
|
||
- Fixed Windows specific compile bugs in filesys and pers_file_xfer.
|
||
|
||
TODO
|
||
INSTALL
|
||
INSTALL_CLIENT
|
||
win_build.zip
|
||
api/
|
||
boinc_api.C
|
||
graphics_api.C
|
||
graphics_api.h
|
||
client/
|
||
app.C
|
||
filesys.C
|
||
filesys.h
|
||
hostinfo_win.C (removed)
|
||
main.C
|
||
pers_file_xfer.C
|
||
util.C
|
||
util.h
|
||
win_main.cpp (removed)
|
||
win_net.cpp (removed)
|
||
win_net.h (removed)
|
||
windows_cpp.h (removed)
|
||
win/
|
||
hostinfo_win.cpp (added)
|
||
win_main.cpp (added)
|
||
win_net.cpp (added)
|
||
win_net.h (added)
|
||
windows_cpp.h (added)
|
||
|
||
David A. August 10 2002
|
||
- Changed Winmain() to get argc/argv correctly
|
||
- fixed bugs in CLIENT_STATE::allowed_disk_usage
|
||
NOTE: keep track of whether units are bytes or GB.
|
||
Not interchangeable!
|
||
NOTE: above bugs caused compiler warnings.
|
||
- Got rid of all compiler warnings in Windows
|
||
|
||
api/
|
||
boinc_api.h
|
||
client/
|
||
app.C
|
||
client_state.C
|
||
hostinfo_unix.C (??? should remove this from Windows project)
|
||
pers_file_xfer.C,h
|
||
client/win/
|
||
Resource.h (new)
|
||
win_main.cpp
|
||
wingui.cpp,h (new)
|
||
|
||
Barry August 12, 2002
|
||
- Changed front page to a php page so we can check for cookies
|
||
Added explanatory text to front page and to team pages
|
||
|
||
html_user/
|
||
index.php
|
||
|
||
Eric Heien August 12, 2002
|
||
- Added concept of result state. This replaces the old boolean
|
||
flags and represents what phase of the computation pipeline
|
||
each result is currently at (downloading, computing, uploading,
|
||
etc).
|
||
- Added file upload/download resumption. For downloads, this
|
||
involves checking how big the local file is, then asking
|
||
the server for the remainder of it. For uploads, this
|
||
involves asking the file_upload_handler how much of a certain
|
||
file it already has, then sending the remainder of it.
|
||
Both ul and dl resumption need to be thoroughly tested.
|
||
|
||
client/
|
||
client_state.C
|
||
client_state.h
|
||
client_types.C
|
||
client_types.h
|
||
cs_apps.C
|
||
cs_files.C
|
||
cs_scheduler.C
|
||
file_xfer.C
|
||
http.C
|
||
net_xfer.C
|
||
pers_file_xfer.C
|
||
scheduler_op.C
|
||
sched/
|
||
file_upload_handler.C
|
||
|
||
David August 12 2002
|
||
- Cleaned up initialization code:
|
||
main.C is now used ONLY for CLI versions
|
||
(remove this file from GUI projects)
|
||
Factored out initialization code that is common to
|
||
both GUI and CLI versions.
|
||
|
||
client/
|
||
client_state.C,h
|
||
log_flags.C,h
|
||
main.C
|
||
prefs.h
|
||
|
||
Eric Heien August 13, 2002
|
||
- Implemented correct handling of RSA or MD5 failures. The
|
||
result associated with the file will be flagged and the
|
||
failure will be passed back to the scheduling server.
|
||
|
||
client/
|
||
client_state.C
|
||
client_types.C
|
||
client_types.h
|
||
cs_files.C
|
||
pers_file_xfer.C
|
||
lib/
|
||
error_numbers.h
|
||
|
||
Eric Heien August 21, 2002
|
||
- Finished persistent file transfer implementation, including
|
||
file upload/download resumption, exponential backoff
|
||
|
||
client/
|
||
client_state.C
|
||
client_state.h
|
||
client_types.C
|
||
client_types.h
|
||
cs_files.C
|
||
file_xfer.C
|
||
file_xfer.h
|
||
http.h
|
||
main.C
|
||
pers_file_xfer.C
|
||
pers_file_xfer.h
|
||
mac/
|
||
mac_main.cpp
|
||
mac_main.h
|
||
lib/
|
||
error_numbers.h
|
||
|
||
David August 24, 2002
|
||
- fixed bugs in the Windows variant of app.C
|
||
Notes on Windows:
|
||
- Some places (e.g. current dir arg of CreateProcess())
|
||
require a full path
|
||
- Some places require \ instead of / in paths.
|
||
Added the constant PATH_SEPARATOR for this purpose.
|
||
- To redirect stdin/stdout, you need to use freopen();
|
||
it's not enough to dup2 the underlying descriptor
|
||
|
||
api/
|
||
boinc_api.C
|
||
apps/
|
||
upper_case.C
|
||
client/
|
||
app.C,h
|
||
file_names.C
|
||
filesys.C,h
|
||
lib/
|
||
error_numbers.h
|
||
|
||
David August 25, 2002
|
||
- Implemented project name (as shown in GUI).
|
||
It's stored in the DB (in a single-row "project" table)
|
||
and sent in scheduler RPC
|
||
- Changed env var BOINC_KEY to BOINC_SHMEM_KEY
|
||
(avoid confusion w/ encryption keys)
|
||
|
||
Makefile.in
|
||
client/
|
||
cs_scheduler.C
|
||
filesys.C
|
||
scheduler_op.C,h
|
||
win/
|
||
windows_cpp.h
|
||
wingui.cpp
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
schema.sql
|
||
sched/
|
||
Makefile.in
|
||
feeder.C
|
||
main.C
|
||
server_types.C
|
||
show_shmem.C
|
||
test/
|
||
init.inc
|
||
test_uc.php
|
||
test_uc_win.php
|
||
tools/
|
||
add.C
|
||
|
||
Eric August 26, 2002
|
||
- Finished multi-slot functionality. The client now requests an
|
||
open slot from the ACTIVE_TASK_SET which will be the slot
|
||
for the new process.
|
||
|
||
client/
|
||
app.C
|
||
app.h
|
||
cs_apps.C
|
||
|
||
David August 26, 2002
|
||
- adding missing clause to SCHEDULER_OP::poll(); was failing to
|
||
return state to IDLE, caused reply to get processed twice
|
||
- return user name, total credit, avg credit in scheduler RPC reply
|
||
- save/restore these in client state file
|
||
- client was trying to delete "checkpoint CPU file" in wrong directory
|
||
- change CLIENT_STATE field from "version" to "core_client_version"
|
||
- got rid of CLIENT_STATE::update_net_stats(), insert_file_xfer()
|
||
(made some stuff public)
|
||
- disable host performance measurement (temp! turn back on later)
|
||
- removed comments of the form
|
||
read_config_file(); // read config file
|
||
- in HTTP op of type POST2, it's not an error if htp->file is zero
|
||
- replaced hardwired HTTP_STATUS constants
|
||
- made separate db.inc, util.inc in html_ops
|
||
- key creation prints message before delay, not after
|
||
- file upload handler prints user name in error log lines
|
||
- scheduling server: make USER, HOST part of SCHEDULER_REPLY
|
||
so don't have to pass around as separate args
|
||
- in test/init.inc, don't use the init_db() from html_user/.
|
||
define it separately here.
|
||
- in test/init.inc, split up clear_data_dirs() into
|
||
client, server parts
|
||
- change test_uc.php to not create keys by default
|
||
|
||
client/
|
||
app.C
|
||
client_state.C,h
|
||
cs_scheduler.C
|
||
file_xfer.C
|
||
http.C,h
|
||
pers_file_xfer.C
|
||
scheduler_op.C,h
|
||
db/
|
||
db.h
|
||
html_ops/
|
||
db.inc (new)
|
||
util.inc (new)
|
||
lib/
|
||
crypt_prog.C
|
||
sched/
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
server_types.C,h
|
||
test/
|
||
init.inc
|
||
master.html
|
||
test_uc.php
|
||
|
||
David August 28, 2002
|
||
- added DB fields to keep track of credit for hosts and result
|
||
- added utility program "grant_credit" to grant credit for a result
|
||
- removed some extraneous printfs
|
||
- file upload handler error messages have user name
|
||
- added a "poll_debug" flag; turn this on in case of infinite
|
||
poll loop, to see what's causing the problem
|
||
- added a "libboinc.a" target to lib/ Makefile.
|
||
We might want to consider using a random library
|
||
instead of referring to explicit .o files everywhere
|
||
|
||
api/
|
||
boinc_api.h
|
||
client/
|
||
Makefile.in
|
||
app.C
|
||
client_state.C
|
||
cs_apps.C
|
||
cs_files.C
|
||
cs_scheduler.C
|
||
file_xfer.C
|
||
log_flags.C,h
|
||
net_xfer.C
|
||
pers_file_xfer.C
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
schema.sql
|
||
html_ops/
|
||
db.inc
|
||
db.php
|
||
html_user/
|
||
index.html
|
||
lib/
|
||
Makefile.in
|
||
sched/
|
||
feeder.C
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
test/
|
||
master.html
|
||
test_uc.php
|
||
tools/
|
||
Makefile.in
|
||
backend_lib.C,h
|
||
grant_credit.C (new)
|
||
|
||
David August 30 2002
|
||
- improved Win GUI
|
||
- print error if file validate failure
|
||
- fix lib Makefile.in
|
||
|
||
client/
|
||
client_state.C
|
||
cs_files.C
|
||
pers_file_xfer.C
|
||
client/win/
|
||
wingui.cpp,h
|
||
lib/
|
||
Makefile.in
|
||
countries.C
|
||
crypt.C
|
||
error_numbers.h
|
||
filesys.C
|
||
md5_file.C
|
||
|
||
Eric September 4, 2002
|
||
- condensed uc_slow, uc_cpu into upper_case, concat_slow into concat, using command line arguments
|
||
- changed test_uc to use files rather than stdin/stdout
|
||
|
||
apps/
|
||
uc_slow.C (removed)
|
||
concat_slow.C (removed)
|
||
uc_cpu.C (removed)
|
||
upper_case.C
|
||
concat.C
|
||
Makefile.in
|
||
lib/
|
||
error_numbers.h
|
||
test/
|
||
test_uc_slow.php
|
||
test_concat.php
|
||
uc_result
|
||
uc_wu
|
||
ucs_wu
|
||
|
||
Eric September 18, 2002
|
||
- Windows OpenGL based graphics added, graphics API updated
|
||
- Beginning of Mac Carbon based graphics added
|
||
- Uppercase application updated to use GL, GLUT graphics
|
||
|
||
apps/
|
||
upper_case.C
|
||
api/
|
||
boinc_api.C
|
||
boinc_api.h
|
||
graphics_api.C
|
||
graphics_api.h
|
||
windows_opengl.cpp
|
||
|
||
David Sept 22, 2002
|
||
- Various changes to prevent buffer overrun in servers;
|
||
parse_str and parse_attr now take a buffer length arg
|
||
|
||
api/
|
||
boinc_api.C,h
|
||
apps/
|
||
concat.C
|
||
upper_case.C
|
||
client/
|
||
app.C
|
||
client_types.C
|
||
file_xfer.C
|
||
hostinfo.C
|
||
scheduler_op.C
|
||
doc/
|
||
account.html
|
||
lib/
|
||
parse.C,h
|
||
sched/
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
server_types.C,h
|
||
|
||
David Sept 25 2002
|
||
- Progress on validation and credit-granting
|
||
- added DB fields to support the above
|
||
|
||
client/
|
||
cs_scheduler.C
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
schema.sql
|
||
sched/
|
||
Makefile.in
|
||
validate.C
|
||
validate_test.C (new)
|
||
|
||
David Sept 25 2002
|
||
- Move account into (master URL, authenticator, per-project prefs)
|
||
from the prefs.xml file into separate files, one per project
|
||
(with names of the form account_XXX.xml, XXX = master URL).
|
||
Adding new projects is now done using the core client
|
||
(via GUI or command line) or by copying an existing account file,
|
||
but NOT via web site; this was a major security weakness
|
||
since bad guys could guess your web password,
|
||
then register you for a bogus project.
|
||
|
||
This change also involved the html_user files (not finished).
|
||
|
||
- Further work on credit-granting.
|
||
On each RPC, the scheduler computes a "credit per CPU second"
|
||
for the host (linear combo of FP/int/mem speeds).
|
||
For each result received, the scheduler computes a "claimed credit",
|
||
the claimed CPU time times the credit per CPU second.
|
||
It also sets the "need validate" flag of the WU.
|
||
|
||
api/
|
||
boinc_api.C
|
||
apps/
|
||
upper_case.C
|
||
client/
|
||
Makefile.in
|
||
account.C,h (new)
|
||
client_state.C,h
|
||
client_types.C,h
|
||
cs_scheduler.C
|
||
file_names.C,h
|
||
file_xfer.C
|
||
main.C
|
||
prefs.C,h
|
||
db/
|
||
db.h
|
||
doc/
|
||
account.html
|
||
boinc_dev.html
|
||
client_files.html
|
||
client_logic.html
|
||
prefs.html
|
||
startup.html
|
||
validation.html
|
||
html_user/
|
||
prefs.inc
|
||
prefs.php
|
||
prefs_edit_project_form.php
|
||
sched/
|
||
handle_request.C
|
||
validate.C
|
||
test/
|
||
account1.xml (new)
|
||
init.inc
|
||
master.html
|
||
prefs1.xml
|
||
test_uc.php
|
||
tools/
|
||
backend_lib.C
|
||
|
||
David Sept 26 2002
|
||
- added todo list
|
||
- added license comment to various files
|
||
|
||
tools/
|
||
grant_credit.C (removed)
|
||
|
||
David Sept 26 2002
|
||
- continue with separation of global vs. project preferences.
|
||
Added separate DB field for project prefs.
|
||
Revised PHP files for editing separately
|
||
|
||
client/
|
||
prefs.C
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
schema.sql
|
||
doc/
|
||
prefs.html
|
||
html_user/
|
||
removed prefs_add*, prefs_delete*, prefs_edit_disk*, prefs_edit_work*
|
||
removed prefs_edit_projects.php
|
||
added prefs_edit_global*
|
||
prefs_edit_project_action.php
|
||
prefs.inc
|
||
prefs.php
|
||
util.inc
|
||
sched/
|
||
server_types.C
|
||
test/
|
||
init.inc
|
||
test_uc.php
|
||
tools/
|
||
add.C
|
||
|
||
David Sept 28 2002
|
||
- Clarified the way that preferences (global and project)
|
||
are stored in the database and in the core client,
|
||
and the protocol (part of scheduler RPC) for maintaining them.
|
||
See doc/prefs_impl.html
|
||
- Implemented the above: lots of small changes to client, server
|
||
- Changed names from "prefs" to "global_prefs" where relevant
|
||
|
||
client/
|
||
client_state.C,h
|
||
client_types.C,h
|
||
cs_scheduler.C
|
||
file_names.C,h
|
||
prefs.C,h
|
||
scheduler_op.C,h
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
schema.sql
|
||
doc/
|
||
boinc_dev.html
|
||
prefs_impl.html (new)
|
||
prefs_mod.html (removed)
|
||
html_user/
|
||
prefs.inc
|
||
sched/
|
||
handle_request.C
|
||
server_types.C,h
|
||
tools/
|
||
add.C
|
||
|
||
David Oct 3 2002
|
||
- Changed the PHP framework for testing to facilitate
|
||
multi-project, multi-host tests (all on one machine).
|
||
See doc/test.html for details.
|
||
- NOTE: the BOINC-related environment variables have changed.
|
||
There are no longer any project-specific variables
|
||
(e.g. database name, shmem key)
|
||
- NOTE: the server programs now expect a configuration file
|
||
in their directory.
|
||
- TODO: enhance the testing framework to allow projects with
|
||
multiple scheduling servers or data servers
|
||
- TODO: enhance the testing framework to allow specification
|
||
of failure and recovery of servers
|
||
|
||
- changed things so a NULL in the DB won't crash db_mysql.C
|
||
- parse_int() can now handle hex
|
||
- "add" now takes args for DB name/passwd
|
||
- "create_work" now takes args for DB name/passwd,
|
||
upload/download URL, download dir
|
||
|
||
db/
|
||
db_mysql.C
|
||
mysql_util.C
|
||
doc/
|
||
data_server_setup.html
|
||
sched_server_setup.html
|
||
test.html
|
||
web_site.html
|
||
html_user/
|
||
index.html
|
||
lib/
|
||
md5_file.C
|
||
parse.C
|
||
sched/
|
||
Makefile.in
|
||
config.C,h (new)
|
||
feeder.C
|
||
file_upload_handler.C
|
||
main.C
|
||
validate.C
|
||
validate_test.C
|
||
test/
|
||
test.inc (new)
|
||
test_uc.php
|
||
tools/
|
||
add.C
|
||
backend_lib.C,h
|
||
create_work.C
|
||
process_result_template.C
|
||
|
||
David Oct 3 2002
|
||
- updated test scripts to use new framework
|
||
- got rid of some obsolete scripts
|
||
|
||
David Oct 8 2002
|
||
- progress getting "make_work" (dummy work generator) to work.
|
||
Removed the <name> element from workunit XML,
|
||
and the <name> and <wu_name> elements from result XML;
|
||
instead, the scheduler server inserts these as it sends them.
|
||
|
||
This simplifies things a little in work generation,
|
||
and removes some redundancy.
|
||
|
||
Everything seems to work now except that the file upload signature
|
||
ends up being wrong, which is expected,
|
||
and it shows that the security mechanism works.
|
||
- added test_loop.php, which simulates a system that is complete
|
||
except for the validation process.
|
||
|
||
client/
|
||
http.C
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
html_ops/
|
||
index.html
|
||
sched/
|
||
Makefile.in
|
||
feeder.C
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
main.C
|
||
make_work.C (new)
|
||
test/
|
||
*_result
|
||
*_wu
|
||
*.php
|
||
test_loop.php (new)
|
||
tools/
|
||
backend_lib.C,h
|
||
process_result_template.C
|
||
|
||
Eric October 13, 2002
|
||
- Now uses alternate means (statfs, sysctl) to get host information
|
||
on non-Linux platforms
|
||
- Fixed compile warnings
|
||
|
||
client/
|
||
client_state.C
|
||
hostinfo.h
|
||
hostinfo_unix.C
|
||
file_names.C
|
||
scheduler_op.C
|
||
|
||
Eric October 14, 2002
|
||
- Added initial support for Mac OpenGL graphics, still needs to
|
||
be polished and tested (particularly multithreaded aspect)
|
||
|
||
api/
|
||
mac_app_opengl.c,h
|
||
mac_carbon_dsp.c,h
|
||
mac_carbon_gl.c,h
|
||
mac_build/
|
||
boinc.pbproj/
|
||
project.pbxproj
|
||
|
||
David Oct 14 2002
|
||
- Change make_work so that it generates results with
|
||
valid file upload signatures.
|
||
Instead of directly creating new DB.result records,
|
||
it now calls create_result() to do the work.
|
||
- Changed create_result() to take a name suffix
|
||
- Factored key parsing into a function
|
||
- Removed random-WU-name feature from create_work;
|
||
names should be generated at a higher level
|
||
- added a key-generation function to test.inc
|
||
|
||
lib/
|
||
parse.C
|
||
sched/
|
||
Makefile.in
|
||
config.C,h
|
||
make_work.C
|
||
test/
|
||
test.inc
|
||
test_loop.php
|
||
tools/
|
||
add.C
|
||
backend_lib.C,h
|
||
create_work.C
|
||
process_result_template.C
|
||
|
||
David Oct 15 2002
|
||
- remove the idea of "dynamic result" generation
|
||
(remove some DB fields and code relating to it)
|
||
- remove the nresults_* fields from the workunit table.
|
||
These are redundant, and they weren't being used.
|
||
Furthermore, they were being updated in a way that
|
||
overwrote other updates.
|
||
- change html_ops table displays to 2 columns
|
||
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
mysql_util.C,h
|
||
schema.sql
|
||
doc/
|
||
test.html
|
||
html_ops/
|
||
db.inc
|
||
sched/
|
||
handle_request.C
|
||
tools/
|
||
backend_lib.C
|
||
create_work.C
|
||
|
||
David Oct 18, 2002
|
||
- make_work now adds new WUs as well as results
|
||
|
||
sched/
|
||
feeder.C
|
||
make_work.C
|
||
|
||
David Oct 20, 2002
|
||
- Pin down exactly what credit is, both in the docs and the code
|
||
- Show credit in admin PHP pages.
|
||
- NOTE: multi-word titles (e.g. in admin pages) should
|
||
have only the first letter capitalized
|
||
|
||
todo
|
||
client/
|
||
client_state.C
|
||
speed_stats.C
|
||
doc/
|
||
credit.html (new)
|
||
participation.html
|
||
validation.html
|
||
html_ops/
|
||
db.inc
|
||
db.php
|
||
index.html
|
||
util.inc
|
||
sched/
|
||
handle_request.C
|
||
validate.C
|
||
|
||
David Oct 21, 2002
|
||
- floating-point values are passed to/from MySQL using sprintf and atof.
|
||
The "%f" format, by default, uses 6 decimal places of precision.
|
||
This is inadequate for small values, e.g. 1e-7.
|
||
So db_mysql.C should use %.12e instead of %f.
|
||
- changed all floats to doubles in DB schema
|
||
- Credit half-life is one week
|
||
|
||
db/
|
||
db_mysql.C
|
||
schema.sql
|
||
doc/
|
||
credit.html
|
||
html_ops/
|
||
util.inc
|
||
sched/
|
||
validate.C
|
||
test/
|
||
test_loop.php
|
||
|
||
Eric October 28, 2002
|
||
- added signal handling to API
|
||
- removed win_build.zip
|
||
|
||
api/
|
||
boinc_api.C,h
|
||
apps/
|
||
upper_case.C
|
||
concat.C
|
||
lib/
|
||
error_numbers.h
|
||
win_build.zip (removed)
|
||
|
||
Eric October 29, 2002
|
||
- Mac graphics completed (except for screensaver mode)
|
||
|
||
api/
|
||
boinc_api.C
|
||
graphics_api.C
|
||
mac_app_opengl.c,h
|
||
mac_carbon_dsp.c,h
|
||
mac_carbon_gl.c,h
|
||
|
||
David Nov 5 2002
|
||
- Continued work on result retry mechanism:
|
||
- new fields "retry_check_time" and "state" in workunit table
|
||
- logic for creating new output filenames
|
||
- needs a bit more work
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
schema.sql
|
||
sched/
|
||
Makefile.in
|
||
make_work.C
|
||
result_retry.C
|
||
|
||
David Nov 7 2002
|
||
- Finished and did basic testing of result retry mechanism.
|
||
It now correctly generates new results with unique names,
|
||
unique filenames, and upload signatures.
|
||
TODO: make a test script
|
||
- added DB field workunit.delay_bound:
|
||
determines deadlines of result, determines retry check period
|
||
Mandatory argument to create_work.
|
||
- Added DB indices for all enumeration functions
|
||
|
||
client/
|
||
client_types.C
|
||
db/
|
||
constraints.sql
|
||
db.h
|
||
db_mysql.C
|
||
schema.sql
|
||
doc/
|
||
result.html
|
||
tools_work.html
|
||
work.html
|
||
html_ops/
|
||
db.inc
|
||
sched/
|
||
Makefile.in
|
||
feeder.C
|
||
handle_request.C
|
||
result_retry.C
|
||
test/
|
||
1sec_wu
|
||
concat_wu
|
||
sah_result
|
||
sah_wu
|
||
test.inc
|
||
test_uc.php
|
||
uc_wu
|
||
ucs_wu
|
||
tools/
|
||
backend_lib.Ch
|
||
create_work.C
|
||
process_result_template.C
|
||
|
||
David Nov 9 2002
|
||
- fixed bug that caused file upload authentication failure
|
||
- The user web site now correctly provides download of the core client,
|
||
as long as you add a core client app version in your test script
|
||
(see test_uc.php for an example)
|
||
- version numbers now come from env vars BOINC_MAJOR_VERSION
|
||
and BOINC_MINOR_VERSION. You must set these in your .cshrc
|
||
- Web server config file must have
|
||
DefaultType application/octet-stream
|
||
so that core client is saved as file, not displayed
|
||
- replaced "db_name" file in html_user, html_ops directories with
|
||
"config.xml", which contains download URL as well as DB name/passwd
|
||
- got rid of "install" target in main Makefile
|
||
|
||
Makefile.in
|
||
client/
|
||
Makefile.in
|
||
doc/
|
||
data_server_setup.html
|
||
single_host_server.html
|
||
html_ops/
|
||
util.inc
|
||
html_user/
|
||
db.inc
|
||
download.php
|
||
index.php
|
||
login.inc
|
||
login_action.php
|
||
util.inc
|
||
sched/
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
test/
|
||
test.inc
|
||
test_uc.php
|
||
tools/
|
||
process_result_template.C
|
||
|
||
David Nov 9 2002
|
||
- Simplified account creation.
|
||
Only screen name, email address required; country, zip optional.
|
||
Only account ID required to log in
|
||
Removed web password from form;
|
||
projects can add this if they want.
|
||
- Change "authenticator" to "account ID" everywhere
|
||
- made country list appear on account creation form
|
||
|
||
todo
|
||
db/
|
||
constraints.sql
|
||
db.h
|
||
doc/
|
||
account.html
|
||
app.html
|
||
create_project.html
|
||
participate.html
|
||
startup.html
|
||
html_user/
|
||
renamed create_account.php to create_account_form.php
|
||
renamed login.php to login_form.php
|
||
download.php
|
||
index.php
|
||
login_action.php
|
||
util.inc
|
||
test/
|
||
test_uc.php
|
||
|
||
Eric Nov 12, 2002
|
||
- X11 graphics support added
|
||
- upper_case_x11 target added
|
||
- configure now checks for pthread, gl libraries
|
||
|
||
configure
|
||
configure.in
|
||
api/
|
||
boinc_api.C
|
||
graphics_api.C
|
||
x_opengl.C,h (added)
|
||
apps/
|
||
upper_case.C
|
||
Makefile.in
|
||
|
||
Eric Nov 14, 2002
|
||
- windows screensaver module
|
||
|
||
api/
|
||
boinc_api.C
|
||
graphics_api.C
|
||
windows_opengl.cpp
|
||
client/
|
||
win/
|
||
win_screensaver.cpp (added)
|
||
win_build/
|
||
boinc.dsw
|
||
boinc_ss/ (added)
|
||
boinc_ss.dsp (added)
|
||
|
||
Seth/Eric Nov 18, 2002
|
||
- windows idle detection
|
||
- Communication to app for suspend/resume/quit
|
||
|
||
api/
|
||
boinc_api.C,h
|
||
windows_opengl.cpp
|
||
client/
|
||
app.C
|
||
client_state.C,h
|
||
prefs.C,h
|
||
win/
|
||
win_screensaver.cpp
|
||
wingui.cpp,h
|
||
win_idle_tracker.cpp,h,def (added)
|
||
win_build/
|
||
boinc.dsw
|
||
boinc_dll/ (added)
|
||
boinc_dll.dsp (added)
|
||
boinc_gui/
|
||
boinc_gui.dsp
|
||
|
||
David Nov 30 2002
|
||
- use the major/minor version from env vars to identify the core client
|
||
(rather than the single version in Makefile)
|
||
|
||
client/
|
||
Makefile.in
|
||
client_state.C,h
|
||
cs_scheduler.C
|
||
|
||
David Nov 30 200
|
||
- first part of work sequence implementation
|
||
|
||
db/
|
||
schema.sql
|
||
db.h
|
||
db_mysql.C
|
||
David Dec 1 2002
|
||
- If request to scheduling server is from client with wrong version,
|
||
return an error
|
||
- Change the file upload handler protocol a little:
|
||
1) add core client version to request
|
||
2) add enclosing <data_server_request> element
|
||
- The file upload handler returns an error if client has wrong version
|
||
- Split up long function in file_upload_handler.C
|
||
- Changed name of feeder trigger file so that it works
|
||
(when did this get broken??)
|
||
|
||
client/
|
||
file_xfer.C,h
|
||
doc/
|
||
protocol.html
|
||
upload.html
|
||
sched/
|
||
Makefile.in
|
||
feeder.C
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
server_types.C,h
|
||
test/
|
||
test.inc
|
||
|
||
David Dec 3 2002
|
||
- change scheduling server so that by default it doesn't
|
||
store request and reply messages in files;
|
||
add "-use_files" option to do this
|
||
- added validation step to test_uc.php;
|
||
this computes and grants credit
|
||
- added "-one_pass" option to validate
|
||
- split scheduler trigger files into two:
|
||
stop_server: used for all server components;
|
||
NOT deleted after reading
|
||
reread_db: used to tell feeder to reread DB
|
||
deleted after reading
|
||
- added license text to some files
|
||
|
||
sched/
|
||
config.C,h
|
||
feeder.C
|
||
handle_request.C
|
||
main.C,h
|
||
make_work.C
|
||
result_retry.C
|
||
sched_shmem.h
|
||
show_shmem.C
|
||
validate.C
|
||
test/
|
||
test.inc
|
||
test_uc.php
|
||
|
||
David Dec 5 2002
|
||
- added initial support for aborting runaway applications:
|
||
check for exceeding maximum CPU time or disk usage
|
||
- create_work now takes max_cobblestones and max_disk_usage
|
||
- split ACTIVE_TASK::suspend into separate suspend, resume functions
|
||
|
||
A bunch of coding style notes:
|
||
- changed ACTIVE_TASK::request_exit() so that it doesn't sleep.
|
||
==> The core client should never sleep <==
|
||
This would cause a period of non-response in the GUI client
|
||
- changed file_delete() so that it doesn't sleep or retry.
|
||
Should eventually add garbage-collection mechanism
|
||
- Most functions NEED to be implemented in the client.
|
||
So e.g. instead of
|
||
#if HAVE_SIGNAL_H
|
||
unix code
|
||
#endif
|
||
#ifdef _WIN32
|
||
win code
|
||
#endif
|
||
we should have
|
||
#ifdef _WIN32
|
||
win code
|
||
#else
|
||
unix code
|
||
#endif
|
||
Any compilation that doesn't match anything should cause a
|
||
compile-time error
|
||
- change file_size(), dir_size(), CLIENT_STATE::total_disk_usage() etc.
|
||
so that:
|
||
1) they report file size in double, not int
|
||
2) they return an error code, not a size overloaded with error code;
|
||
size is return in reference param
|
||
- All fopen()s should check for zero pointer and return ERR_FOPEN
|
||
- Omit "this->" wherever it appears
|
||
|
||
client/
|
||
app.C,h
|
||
client_state.C,h
|
||
client_types.C,h
|
||
file_xfer.C
|
||
http.C
|
||
pers_file_xfer.C
|
||
lib/
|
||
filesys.C,h
|
||
test/
|
||
test.inc
|
||
tools/
|
||
backend_lib.C,h
|
||
create_work.C
|
||
|
||
David Dec 6 2002
|
||
- fix bugs in get_local_ip_addr()
|
||
(need to figure out why they were happening)
|
||
|
||
Eric Dec 8, 2002
|
||
- added and tested HTTP proxy support (no SOCKS support yet)
|
||
- proxy server is specified through environment variable HTTP_PROXY
|
||
|
||
client/
|
||
client_state.C,h
|
||
http.C,h
|
||
net_xfer.C
|
||
pers_file_xfer.C
|
||
scheduler_op.C
|
||
|
||
Hamid Dec 9,2002
|
||
- added field client_state to result
|
||
|
||
- added some more functionality to repor_project_error()
|
||
It now adds the following info to stderr_out of the result:
|
||
|
||
<message>message if any passed</mesage>
|
||
<active_task_state>%d</active_task_state>
|
||
<exit_status>%d</exit_status>
|
||
<signal>%d</signal>
|
||
if download had failures
|
||
"<download_error>\
|
||
" <file_name>%s</file_name>
|
||
" <error_code>%d</error_code>\n"
|
||
" </download_error>\n"
|
||
|
||
|
||
if upload had failures
|
||
same as above
|
||
|
||
if coudln't start active task for result (in which err_num should be set)
|
||
"<couldnt_start>%d</couldnt_start>\n"
|
||
|
||
|
||
- The error mechanism right now is such that any failures
|
||
regarding file_infos (download, upload or whatever)
|
||
are recorded in the status of the file_infos and then garbage collect
|
||
called report_project_error.
|
||
However errors regarding starting and ending active tasks
|
||
are reported from app.C and cs_apps.C.
|
||
|
||
Seth Dec 9, 2002
|
||
- time tests run in their own thread when needed, if they are global state
|
||
won't do anything until they are done; threads communicate by a file
|
||
- windows host info complete except for cache
|
||
|
||
client/
|
||
client_stat.C,h
|
||
file_names.h
|
||
hostinfo.C,h
|
||
client/win/
|
||
hostinfo_win.cpp
|
||
|
||
David Dec 11 2002
|
||
- Have process_wu_template() fill in the file size as well as the MD5.
|
||
This necessitated changing the format of WU templates,
|
||
and the way they are processed.
|
||
|
||
NOTE: this breaks the multiple-data-server test.
|
||
Need to figure out another way to do that.
|
||
|
||
tools/
|
||
backend_lib.C
|
||
doc/
|
||
tools_work.html
|
||
test/
|
||
*wu
|
||
|
||
David Dec 13 2002
|
||
- use lock file mechanism to prevent multiple instances of
|
||
core client from running in same directory
|
||
|
||
configure
|
||
configure.in
|
||
client/
|
||
file_names.h
|
||
main.C
|
||
lib/
|
||
util.C,y
|
||
|
||
David Dec. 17 2002
|
||
- Added new state fields to workunit and result to support
|
||
file deletion and assimilation backend phases
|
||
- Added sample assimilator program
|
||
- Added file_deleter program (AKA garbage collector)
|
||
|
||
client/
|
||
main.C
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
schema.sql
|
||
sched/
|
||
Makefile.in
|
||
assimilator.C (new)
|
||
config.C,h
|
||
result_retry.C
|
||
validate.C
|
||
test/
|
||
test.inc
|
||
tools/
|
||
backend_lib.C
|
||
|
||
David Dec 17 2002
|
||
- The assimilator takes a -app argument
|
||
- Added execution of file_delete and assimilator to test_uc.php
|
||
this should delete all input and output files
|
||
TODO: check that it actually does
|
||
- fixed bugs in file_deleter
|
||
|
||
todo
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
doc/
|
||
backend.gif (new)
|
||
backend.html
|
||
backend.png (new)
|
||
work_states.html
|
||
html_ops/
|
||
db.inc
|
||
html_user/
|
||
user.inc
|
||
sched/
|
||
assimilator.C
|
||
file_deleter.C
|
||
handle_request.C
|
||
test/
|
||
test.inc
|
||
test_uc.php
|
||
|
||
Seth Dec 18 2002
|
||
- net_xfers in windows will get permission before connecting if needed
|
||
- added global pref for whether or not to hang up the modem if BOINC dialed
|
||
- client state saves global prefs confirm_before_connecting
|
||
and hangup_if_dialed locally for now
|
||
- wingui split into different files, bug fixes
|
||
|
||
client/
|
||
net_xfer.C,h
|
||
prefs.C,h
|
||
client_state.C
|
||
client/win
|
||
win_net.cpp,h
|
||
wingui.cpp,h
|
||
wingui_mainwindow.cpp,h (new)
|
||
wingui_dialog.cpp,h (new)
|
||
wingui_listctrl.cpp,h (new)
|
||
wingui_pictrl.cpp,h (new)
|
||
|
||
David Dec 18 2002
|
||
- Have account create action redirect to a different page
|
||
so you don't get "Repost form data" if you go back to it
|
||
- Added full support for project-specific preferences.
|
||
Logic is encapsulated in project_specific_prefs.inc.
|
||
The example lets you choose color scheme
|
||
(Tahiti Sunset, Desert Sands)
|
||
|
||
html_user/
|
||
account_created.php (new)
|
||
project_specific_prefs.inc (new)
|
||
create_account_action.php
|
||
prefs.inc
|
||
prefs.php
|
||
prefs_edit_global_form.php
|
||
prefs_edit_project_action.php
|
||
prefs_edit_project_form.php
|
||
util.inc
|
||
lib/
|
||
countries.C,h
|
||
|
||
David Dec 19 2002
|
||
- The Edit Account form now shows current values
|
||
directly in input fields.
|
||
- Country select popup shows current value
|
||
- Improve new account email
|
||
|
||
html_user/
|
||
account_created.php
|
||
change_pass_action.php
|
||
create_account_action.php
|
||
edit.inc
|
||
edit_action.php
|
||
edit_user_info.php
|
||
util.inc
|
||
tools/
|
||
country_select.C
|
||
|
||
Hamid Dec 19 2002
|
||
|
||
-Edited make_work.C, now when a new work_unit is created,
|
||
it's input files are copied along with it,
|
||
with some random numbers added to the end,
|
||
so for each new work_unit there are a set of associated new input files
|
||
|
||
-fixed a little bug in file_deleter
|
||
|
||
-note: strtok() changes the original string passed to it, kind of dangerous to use
|
||
|
||
-from parse.h : replace_element() is now in use ( I used it for make_work.C)
|
||
|
||
David Dec 19 2002
|
||
- added -add_new_project option to command line version
|
||
changed func name from get_initial_project() to add_new_project()
|
||
|
||
client/
|
||
account.C,h
|
||
client_state.C,h
|
||
main.C
|
||
scheduler_op.h
|
||
win/
|
||
wingui.cpp,h
|
||
|
||
David Dec 23 2002
|
||
- Made stripcharts work with BOINC test framework
|
||
The script "test_loop.php" now generates a data file of
|
||
CPU load that can be graphed using stripchart.
|
||
TODO: add other data sources
|
||
- added "country" field to team
|
||
- expanded team description from 256 chars to blob
|
||
- turned off debug output from file upload handler, scheduler
|
||
- removed "time" args from various Project member functions
|
||
in test.inc. Use sleep().
|
||
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
schema.sql
|
||
html_user/
|
||
db.inc
|
||
team_create_form.php
|
||
sched/
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
result_retry.C
|
||
stripchart/
|
||
stripchart.cgi
|
||
stripchart.cnf
|
||
samples/
|
||
datafiles
|
||
test/
|
||
test.inc
|
||
test_download_backoff.php
|
||
test_loop.php
|
||
test_masterurl_failure.php
|
||
test_sched_failure.php
|
||
|
||
David Jan 2 2003
|
||
- Back off on a project if we make a scheduler RPC asking for work
|
||
and don't get any
|
||
- fixed "http_proxy_name" XML parsing problem in client
|
||
- added drand() function.
|
||
NOTE: always make repeated code blocks into functions
|
||
- make_work was using uninitialized seqno, caused negative
|
||
numbers in filenames
|
||
|
||
client/
|
||
client_state.C,h
|
||
cs_scheduler.C
|
||
scheduler_op.C
|
||
doc/
|
||
credit.html
|
||
lib/
|
||
util.C,h
|
||
sched/
|
||
make_work.C
|
||
validate.C
|
||
|
||
David Jan 3 2003
|
||
- added some indices to DB.
|
||
|
||
NOTE: there must be an index for each field or combination of fields
|
||
that we do a "select" on!!
|
||
|
||
David Jan 6 2003
|
||
- change all server programs to do logging the same way:
|
||
- all log entries written to stderr
|
||
- write date/time at start of log entries
|
||
- don't include program or user name in log entries
|
||
- client: when get no work from project,
|
||
don't back off if we're in exit_when_idle mode
|
||
- added ob_end_flush() call in test.inc so that PHP test scripts
|
||
have unbuffered output
|
||
- added other backend phases (validate, file_delete) to test_loop.php
|
||
- PROGRAMMER NOTES:
|
||
- don't use tab chars in files
|
||
- split long comments into separate lines
|
||
- "extern" should never appear in a .C file
|
||
- Don't use member function names that conflict with global functions
|
||
(e.g. CLIENT_STATE::exit(); use cleanup_and_exit() instead)
|
||
|
||
client/
|
||
client_state.C,h
|
||
client_types.h
|
||
cs_apps.C
|
||
http.h
|
||
main.C
|
||
scheduler_op.C
|
||
html_ops/
|
||
db.inc
|
||
db.php
|
||
sched/
|
||
assimilator.C
|
||
feeder.C
|
||
file_deleter.C
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
main.C,h
|
||
make_work.C
|
||
result_retry.C
|
||
server_types.C
|
||
validate.C
|
||
stripchart/
|
||
stripchart.cnf
|
||
test/
|
||
test.inc
|
||
test_loop.php
|
||
|
||
David Jan 7 2003
|
||
- extend client "print state summary" function to give more
|
||
detailed information about state, e.g. names and states
|
||
of everything, and active file xfers and tasks
|
||
- fixed bug where feeder inserted same result twice in shmem
|
||
|
||
client/
|
||
client_state.C,h
|
||
cs_apps.C
|
||
cs_scheduler.C
|
||
sched/
|
||
assimilator.C
|
||
feeder.C
|
||
test/
|
||
log_flags.xml
|
||
|
||
David Jan 8 2003
|
||
- changed the DB code so that you can use the mySQL utility functions
|
||
to access different databases from a single program.
|
||
There's now a MYSQL_DB class that you can subclass.
|
||
See db_mysql.C for an example.
|
||
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
mysql_util.C,h
|
||
sched/
|
||
assimilator.C
|
||
feeder.C
|
||
file_deleter.C
|
||
handle_request.C
|
||
main.C
|
||
make_work.C
|
||
result_retry.C
|
||
validate.C
|
||
tools/
|
||
add.C
|
||
backend_lib.C
|
||
create_work.C
|
||
|
||
Seth Jan 8 2003
|
||
- Set up Windows client to read captions from a file
|
||
|
||
client/win/
|
||
Resource.h
|
||
resource.rc
|
||
wingui_dialog.cpp,h
|
||
wingui_mainwindow.cpp,h
|
||
|
||
David Jan 13 2003
|
||
- With -no_time_test flag, client now uses default values for
|
||
various speeds, rather than zero
|
||
- Restored commented-out timezone code.
|
||
May need to get working on Solaris
|
||
- Added stripchart scripts for getting DB info
|
||
(need to macro-substitute DB name)
|
||
|
||
Net result: test_loop.php now works correctly and generates
|
||
stripcharts that show an ever-growing set of results
|
||
|
||
client/
|
||
client_state.C,h
|
||
hostinfo_unix.C
|
||
html_ops/
|
||
db.inc
|
||
stripchart/samples
|
||
count_users
|
||
count_results (new)
|
||
datafiles
|
||
get_load
|
||
looper
|
||
test/
|
||
test.inc
|
||
test_loop.php
|
||
|
||
David Jan 14 2003
|
||
- Removed INSTALL_CLIENT and gutted INSTALL
|
||
|
||
NOTE: all docs should be in HTML
|
||
NOTE: spell-check all new documents
|
||
|
||
INSTALL
|
||
INSTALL_CLIENT (removed)
|
||
doc/
|
||
boinc_dev.html
|
||
road_map.html
|
||
single_host_server.html
|
||
test.html
|
||
|
||
David Jan 14 2003
|
||
- Added log writes to sched server in some error cases
|
||
- Removed -use_files flag to sched server. Use compile-time flag instead.
|
||
|
||
sched/
|
||
handle_request.C
|
||
main.C
|
||
|
||
David Jan 15 2003
|
||
- create_work() makes a copy of result, WU templates since
|
||
they get modified (fixed bug when create >1 WU)
|
||
- scheduler reports errors in WU/result XML docs
|
||
|
||
sched/
|
||
handle_request.C
|
||
test/
|
||
test.inc
|
||
tools/
|
||
backend_lib.C
|
||
|
||
David Jan 22 2003
|
||
- Changed some of the state fields of workunit and result,
|
||
to accommodate new policies about when to delete files
|
||
See doc/backend_* for details
|
||
- Split off dummy assimilation function from the main program.
|
||
- Added new stripchart scripts for logging DB counts
|
||
and directory sizes
|
||
|
||
NOTE: it looks like shared memory segment is at same address
|
||
in feeder and cgi. So it's OK to use pointers in it.
|
||
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
schema.sql
|
||
doc/
|
||
backend.html (removed)
|
||
backend_functions.html (new)
|
||
backend_programs.html (new)
|
||
backend_state.html (new)
|
||
backend_work_sequence.html (new)
|
||
create_project.html
|
||
garbage.html (removed)
|
||
retry.html (removed)
|
||
work.html
|
||
work_states.html (removed)
|
||
html_ops/
|
||
db.inc
|
||
db.php
|
||
sched/
|
||
Makefile.in
|
||
assimilate_handler.C,h (new)
|
||
assimilator.C
|
||
handle_request.C
|
||
result_retry.C
|
||
validate.C
|
||
strichart/samples/
|
||
datafiles
|
||
db_count (new)
|
||
db_looper (new)
|
||
dir_size (new)
|
||
test/
|
||
test.inc
|
||
test_loop.php
|
||
tools/
|
||
backend_lib.C
|
||
create_work.C
|
||
|
||
David Jan 29 2003
|
||
- updated country-name list according to CIA site
|
||
- added program to generate XML stats files
|
||
- added classes to assist double-buffered graphics info for applications
|
||
|
||
api/
|
||
graphics_data.C,h (new)
|
||
Makefile.in
|
||
lib/
|
||
countries.C
|
||
sched/
|
||
db_dump.C (new)
|
||
Makefile.in
|
||
|
||
David Jan 30 2003
|
||
- continued work on db_dump
|
||
- added doc for db_dump
|
||
- added create_time field to team table
|
||
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
mysql_util.C,h
|
||
doc/
|
||
db_dump.html (new)
|
||
stripchart.html (new)
|
||
stripchart_data.html (new)
|
||
html_user/
|
||
team_create_action.php
|
||
lib/
|
||
util.C,h
|
||
sched/
|
||
Makefile.in
|
||
db_dump.C
|
||
|
||
David Jan 30 2003
|
||
- got db_dump working
|
||
- scheduler: change max WUs from 2 to 10
|
||
|
||
NOTE: for any DB field that could conceivable contain a ',
|
||
you must escape and unescape it in struct_to_str()
|
||
|
||
db/
|
||
constraints.sql
|
||
db_mysql.C
|
||
mysql_util.C
|
||
sched/
|
||
db_dump.C
|
||
handle_request.C
|
||
|
||
Eric Feb 04, 2003
|
||
- Cleaned up formatting of client_state.xml
|
||
- Added retry message to transfers tab of Windows client
|
||
- Added error catching for network transfer failures
|
||
|
||
client/
|
||
client_state.C
|
||
client_types.C
|
||
cs_files.C
|
||
http.C
|
||
pers_file_xfer.C,h
|
||
win/
|
||
wingui.h
|
||
wingui_mainwindow.cpp,h
|
||
|
||
David Feb 4 2003
|
||
- removed graphics logic from boinc_ready_to_checkpoint().
|
||
Rendering logic is now entirely in the GUI thread.
|
||
It's up to the application to synchronize computation and rendering.
|
||
- added REDUCED_ARRAY::draw_part()
|
||
- bug fixes in db_dump
|
||
|
||
api/
|
||
boinc_api.C
|
||
graphics_data.C,h
|
||
reduce.cpp,h
|
||
windows_opengl.cpp
|
||
db/
|
||
db_mysql.C
|
||
doc/
|
||
db_dump.html (new)
|
||
index.html
|
||
participate.html
|
||
sched/
|
||
db_dump.C
|
||
|
||
David Feb 7 2003
|
||
- Changed account creation features quite a bit.
|
||
It now bifurcates according to whether this is first project.
|
||
Asks for preferences and offers download accordingly.
|
||
|
||
html_user/
|
||
account_setup* (new)
|
||
|
||
David Feb 8 2003
|
||
- Work on account creation a bit more.
|
||
Removed project graphics prefs.
|
||
Added email prefs.
|
||
|
||
html_user/
|
||
various
|
||
|
||
David Feb 10 2003
|
||
- fix memory leaks
|
||
|
||
client/
|
||
client_types.C
|
||
net_xfer.C
|
||
|
||
David Feb 10 2003
|
||
- attempt to fix bugs by eliminating dynamic allocation
|
||
|
||
client/
|
||
client_state.C
|
||
client_types.C,h
|
||
cs_scheduler.C
|
||
scheduler_op.C
|
||
test_file_xfer.C
|
||
lib/
|
||
parse.C,h
|
||
|
||
David Feb 12 2003
|
||
- Added mechanism for starting or restarting all back-end processes
|
||
for a project. A list of the programs are now in config.xml.
|
||
All programs now use lock files to prevent duplicate execution.
|
||
A new program "start_servers" reads config.xml and starts servers.
|
||
- Added "user-friendly name" field to platform, so that users
|
||
see e.g. "Windows 95/98/XP" instead of "windows_intelx86"
|
||
NOTE: this requires patching existing databases
|
||
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
schema.sql
|
||
html_ops/
|
||
db.inc
|
||
html_user/
|
||
download.inc
|
||
download.php
|
||
index.php
|
||
sched/
|
||
Makefile.in
|
||
config.C,h
|
||
start_servers.C
|
||
test/
|
||
make_project.php
|
||
test.inc
|
||
tools/
|
||
add.C
|
||
|
||
David Feb 12 2003
|
||
- changed "exit_after" to "exit_after_app_started_secs"
|
||
and changed its null value from -1 to 0.
|
||
- don't ask a scheduler for work if in exit_when_idle mode
|
||
and we've already contacted scheduler
|
||
- remove exit_when_idle clause from backoff after no work available
|
||
|
||
client/
|
||
client_state.C,h
|
||
cs_apps.C
|
||
cs_scheduler.C
|
||
scheduler_op.C
|
||
test/
|
||
test_time.php
|
||
|
||
David Feb 12 2003
|
||
- changed server startup mechanism so that config.xml contains
|
||
actual commands (so you can include cmdline args etc.)
|
||
|
||
sched/
|
||
config.C,h
|
||
start_servers.C
|
||
test/
|
||
test.inc
|
||
|
||
David Feb 12 2003
|
||
- changed user HTML so that all project-specific stuff
|
||
(intro, banner, etc.) is in a separate file.
|
||
Can specify this file in test scripts.
|
||
- added test scripts to make dummy SETI@home and Astropulse projects,
|
||
and made project-specific HTML files for them
|
||
|
||
html_user/
|
||
index.php
|
||
project.inc (new)
|
||
project_ap.inc (new)
|
||
project_sah.inc (new)
|
||
sched/
|
||
start_servers.C
|
||
test/
|
||
make_project.php
|
||
make_project_ap.php (new)
|
||
make_project_sah.php (new)
|
||
test.inc
|
||
|
||
David Feb 14 2003
|
||
- Added "long_name" field to project table (display this in GUI)
|
||
Can have spaces, special chars etc.
|
||
- fixed bugs in prefs updating
|
||
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
schema.sql
|
||
html_user/
|
||
prefs.inc
|
||
sched/
|
||
server_types.C
|
||
test/
|
||
make_project_ap.php
|
||
make_project_sah.php
|
||
test.inc
|
||
|
||
David Feb 17 2003
|
||
- restored some of the changes for faster network throughput
|
||
|
||
client/
|
||
client_state.C,h
|
||
main.C
|
||
next_xfer.C,h
|
||
|
||
David Feb 18 2003
|
||
- fixed formatting; changed vector remove to use iterator
|
||
|
||
client/
|
||
app.C
|
||
cs_files.C
|
||
app.C
|
||
|
||
David Feb 18 2003
|
||
- added "opaque" fields to result and workunit tables.
|
||
(allows projects to cross-reference to their science DB)
|
||
- added "venue" field to host (home/school/work)
|
||
This has two goals:
|
||
1) provides a basis for multiple preference sets
|
||
(one each for home/school/work)
|
||
2) provides another account breakdown for stats
|
||
- added "venue" field to user
|
||
This is the default venue, for newly created hosts
|
||
- simplified preferences:
|
||
For account setup, all preferences are now on one form
|
||
(different forms for new/return users)
|
||
For preference editing, preferences are now in two groups
|
||
- project preferences, including resource share,
|
||
venue, and per-project prefs
|
||
- global prefs (called "BOINC prefs" in user interface)
|
||
- fixed bug where user/host credits in client state file were giant numbers
|
||
|
||
todo
|
||
client/
|
||
scheduler_op.C
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
schema.sql
|
||
html_ops/
|
||
db.inc
|
||
html_user/
|
||
account_setup_first.php
|
||
account_setup_first_email.php (removed)
|
||
account_setup_first_project.php (removed)
|
||
account_setup_first_action.php (new)
|
||
account_setup_nonfirst.php
|
||
account_setup_nonfirst_email.php (removed)
|
||
account_setup_nonfirst_project.php (removed)
|
||
account_setup_nonfirst_action.php (new)
|
||
create_account_action.php
|
||
prefs.inc
|
||
prefs_edit_global_*
|
||
prefs_edit_email_* (removed)
|
||
prefs_edit_project_*
|
||
prefs_edit_resource_* (removed)
|
||
project_specific_prefs.php
|
||
sched/
|
||
handle_request.C
|
||
server_types.C
|
||
test/
|
||
test.inc
|
||
|
||
David Feb 19 2003
|
||
- Added scheme for verified user update of email address
|
||
When user updates email address, their email address in the DB
|
||
is set to a "munged" form that includes a random string,
|
||
and an email is sent to the new address that includes a
|
||
URL that they must visit to verify the change.
|
||
- The same mechanism is used on account creation;
|
||
the email DB field is initially set to a munged form.
|
||
This prevents hackers from adding entries to the DB
|
||
with other peoples' email addresses.
|
||
- Separate logic for update email address from update other user info;
|
||
remove combinatorial logic (?) for update other user info
|
||
|
||
configure (removed; generated from configure.in by autoconf)
|
||
db/
|
||
db.h
|
||
html_user/
|
||
create_account_action.php
|
||
create_account_form.php
|
||
edit_action.php (removed)
|
||
edit_email_action.php (new)
|
||
edit_email_form.php (new)
|
||
edit_user_info.php (removed)
|
||
edit_user_info_form.php (new)
|
||
login_action.php
|
||
user.inc
|
||
util.inc
|
||
|
||
David Feb 20 2003
|
||
- project preferences are now handled correctly,
|
||
written/read to account file
|
||
- fix bugs in web pages for editing prefs
|
||
- change dont_run_on_batteries to run_on_batteries etc.
|
||
- fix bug in test scripts where account file had wrong name
|
||
|
||
apps/
|
||
upper_case.C
|
||
client/
|
||
account.C,h
|
||
client_state.C
|
||
client_types.C
|
||
cs_scheduler.C
|
||
prefs.C,h
|
||
doc/
|
||
client_files.html
|
||
html_user/
|
||
confirm_email_change.php
|
||
edit_user_info_action.php
|
||
prefs.inc
|
||
prefs_edit_project_action.php
|
||
prefs_edit_project_form.php
|
||
test/
|
||
test.inc
|
||
test_uc.php
|
||
|
||
David Feb 22
|
||
- API now passes both host and user credit to apps
|
||
- API now passes team name to apps (scheduler RPC now returns it)
|
||
- don't use malloc in get_free_slot
|
||
- added fancier project-specific prefs for astropulse
|
||
- fixed bugs in account creation
|
||
- imported code to remove dangerous HTML tags from user-supplied text
|
||
|
||
api/
|
||
boinc_api.C,h
|
||
client/
|
||
app.C
|
||
client_state.C
|
||
client_types.C,h
|
||
cs_scheduler.C
|
||
hostinfo.C,h
|
||
hostinfo_unix.C
|
||
time_stats.C
|
||
html_user/
|
||
account_setup.php
|
||
account_setup_first_action.php
|
||
download.inc
|
||
htmlfilter.inc
|
||
logout.php (new)
|
||
prefs.inc
|
||
project.inc
|
||
project_specific_prefs_ap.inc (new)
|
||
sanitize_html.inc
|
||
team.inc
|
||
team_edit_action.php
|
||
util.inc
|
||
sched/
|
||
handle_request.C
|
||
server_types.C,h
|
||
test/
|
||
make_project_ap.php
|
||
test.inc
|
||
|
||
Seth Feb 24
|
||
- changed windows graphics handling.
|
||
client now has a child window in which all graphics are displayed.
|
||
when an app is running, this window sends a message to the app telling
|
||
it to draw on the window.
|
||
|
||
api/
|
||
windows_opengl.cpp
|
||
client/win/
|
||
wingui.C,h
|
||
wingui_mainwindow.C,h
|
||
wingui_sswindow.C,h (new)
|
||
|
||
David Feb 25 2003
|
||
- Implemented network throughput limits, part of global prefs.
|
||
There are separate limits for upload and download.
|
||
Implementation: the NET_XFER_SET objects now has fields for
|
||
1) the max # bytes/sec up and down (from global prefs)
|
||
2) the limit on bytes that can be xferred this second
|
||
Can go negative. If it's negative, don't include
|
||
sockets in select().
|
||
Replenish every second.
|
||
This replaces an implementation that didn't work
|
||
- Reimplemented the way network throughput is measured.
|
||
The old way measured throughput for each file xfer, and kept an average.
|
||
This doesn't work with multiple simultaneous xfers.
|
||
The new way uses a NET_STATS::poll() function.
|
||
If there has been an active file xfer during the last poll period
|
||
(new logic in NET_XFER_SET lets you find this out)
|
||
then you add the duration of the polling period,
|
||
and the number of bytes transferred.
|
||
The reported throughput is averaged with throughput
|
||
from previous sessions of the core client.
|
||
- Increased file xfer blocksize from 4KB to 16KB
|
||
- Got rid of dynamic buffer allocation in NET_XFER
|
||
- Renamed "water days" to "work buf days" everywhere
|
||
NOTE:
|
||
clock() measure calling process CPU time, not time of day.
|
||
Use time(0) if you want time of day.
|
||
|
||
client/
|
||
client_state.C,h
|
||
cs_scheduler.C
|
||
file_xfer.C
|
||
http.C
|
||
main.C
|
||
net_stats.C,h
|
||
net_xfer.C,h
|
||
pers_file_xfer.C
|
||
prefs.C,h
|
||
scheduler_op.C
|
||
test_file_xfer.C
|
||
test_http.C
|
||
test_net_xfer.C
|
||
test/
|
||
test.inc
|
||
test_uc.php
|
||
|
||
Eric Feb 25, 2003
|
||
- Added net transfer progress. Tracks number of bytes transferred
|
||
for file uploads and downloads.
|
||
- Fixed Windows battery status bug.
|
||
- Net transfer speed measurement in bytes/sec. The measurement decays by
|
||
1/2 every 3 seconds.
|
||
- Added PHP function to password protect project admin pages via .htaccess.
|
||
- Altered show_message function to specify the project a message is
|
||
associated with.
|
||
|
||
client/
|
||
client_state.C
|
||
cs_scheduler.C
|
||
file_xfer.C
|
||
net_xfer.C,h
|
||
pers_file_xfer.C
|
||
mac/
|
||
mac_main.cpp
|
||
main.C
|
||
message.h
|
||
scheduler_op.C
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
wingui.cpp
|
||
hostinfo_win.cpp
|
||
test/
|
||
test.inc
|
||
|
||
Eric Feb 26, 2003
|
||
- Added ability to automatically zip/gzip stats files.
|
||
|
||
sched/
|
||
db_dump.C
|
||
|
||
David Feb 27 2003
|
||
- fix bug in prefs display
|
||
- use $_GET["foo"] to access form variables in PHP scripts
|
||
(this makes it clear what the form variables are)
|
||
- use trim() to get rid of white space and start/end of authenticator.
|
||
Should do this for most user-supplied data
|
||
- use row2() to generate all two-item rows.
|
||
Right-align the first part and embolden the second.
|
||
Get rid of row() and row2a()
|
||
- change "water days" terminology to "work buf"
|
||
|
||
html_user/
|
||
account_created.php
|
||
bug_report_action.php
|
||
confirm_email_change.php
|
||
login_action.php
|
||
login_form.php
|
||
prefs.inc
|
||
prefs_edit_global_action.php
|
||
prefs_edit_project_action.php
|
||
prefs_edit_project_form.php
|
||
project_specific_prefs.inc
|
||
project_specific_prefs_ap.inc
|
||
show_host_detail.php
|
||
team.inc
|
||
user.inc
|
||
util.inc
|
||
|
||
Eric Feb 28, 2003
|
||
- Fixed screensaver to open client/go to full screen mode correctly.
|
||
- Implemented "Go to blank screen after x minutes" functionality.
|
||
|
||
api/
|
||
graphics_api.h
|
||
client/
|
||
client_state.C,h
|
||
win/
|
||
wingui_mainwindow.cpp,h
|
||
win_util.h
|
||
win_screensaver.cpp
|
||
wingui_sswindow.cpp,h
|
||
|
||
David Feb 28 2003
|
||
- after master URL fetch done, write client state file
|
||
(so that we don't fetch it again)
|
||
- scheduler: don't check for WU feasibility if the client reports
|
||
zero disk or zero memory;
|
||
improved reporting of infeasibility
|
||
- added a "watchdog" script (wd.php) that checks log files for error msgs
|
||
and sends an email if any. Also added a sample watchdog that
|
||
makes sure #results changes
|
||
|
||
client/
|
||
client_types.C
|
||
cs_scheduler.C
|
||
scheduler_op.C
|
||
sched/
|
||
handle_request.C
|
||
wd.php
|
||
wd_nresults_changing.php
|
||
|
||
David Feb 28 2003
|
||
- add some fields to copy_state_fields().
|
||
(fixed bug where client always fetches master URL)
|
||
|
||
client/
|
||
client_types.C,h
|
||
|
||
David Mar 2 2003
|
||
- added code to garbage-collect APP_VERSIONs:
|
||
delete any APP_VERSION that's not referenced and for which
|
||
there's a later version of the same app.
|
||
Also garbage-collect executable files
|
||
(previously, they were never deleted).
|
||
- fixed minor bug (file offset on redirected POST2 HTTP op)
|
||
- added network bandwidth limits to global prefs web interface
|
||
|
||
todo
|
||
client/
|
||
client_state.C,h
|
||
cs_files.C
|
||
hostinfo_unix.C
|
||
http.C,h
|
||
html_user/
|
||
prefs.inc
|
||
sched/
|
||
handle_request.C
|
||
|
||
David Mar 2 2003
|
||
- escape single quotes on result.stderr_out and result.xml_doc_out
|
||
(since client could return something with single quotes)
|
||
- when get a DB error, write mysql's error string to log
|
||
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
mysql_util.C,h
|
||
sched/
|
||
handle_request.C
|
||
|
||
David Mar 3 2003
|
||
- run_on_batteries defaults to true
|
||
(else can't run test_uc.php on batteries)
|
||
- show correct time diffs in client out
|
||
- In user_html, use row2() uniformly, and added shading
|
||
- laid some groundwork for multiple prefs sets
|
||
|
||
client/
|
||
client_state.C
|
||
main.C
|
||
prefs.C
|
||
html_user/
|
||
prefs.inc
|
||
prefs_edit_global_form.php
|
||
project_specific_prefs.inc
|
||
show_hosts.php
|
||
user.inc
|
||
util.inc
|
||
test/
|
||
test_uc.php
|
||
|
||
David Mar 4 2003
|
||
- added PHP code for creating/editing/deleting multiple pref sets
|
||
See "prefs.inc" for a description of the XML format.
|
||
Prefs are divided into two subsets (global and project).
|
||
For each subset there is a mandatory "primary" version
|
||
and optional versions for home, school, and work.
|
||
The prefs display/editing code has been consolidated
|
||
and parameterized (subset = global or project,
|
||
venue = none, home, school, work).
|
||
This actually simplifies things a little.
|
||
|
||
html_user/
|
||
account_setup_first_action.php
|
||
account_setup_nonfirst_action.php
|
||
add_venue_action.php (new)
|
||
add_venue_form.php (new)
|
||
prefs.inc
|
||
prefs.php
|
||
prefs_edit_action.php (new)
|
||
prefs_edit_form.php (new)
|
||
prefs_edit_global* (removed)
|
||
prefs_edit_project* (removed)
|
||
user.inc
|
||
util.inc
|
||
|
||
David Mar 4 2003
|
||
- debugged prefs editing code
|
||
|
||
html_user/
|
||
account_setup_first_action.php
|
||
add_venue_action.php
|
||
add_venue_form.php
|
||
prefs.inc
|
||
prefs_edit_action.php
|
||
project_specific_prefs.inc
|
||
|
||
David Mar 5 2003
|
||
- use venue-specific prefs on client side:
|
||
- schedule server passes <host_venue> element in scheduler reply
|
||
(but only when it passes back new global prefs)
|
||
- when parsing global prefs, if find a matching
|
||
<venue> element, parse its contents and ignore all else
|
||
- when passing project-specific prefs to app,
|
||
look for matching <venue> element
|
||
- changed XML syntax of venue-specific prefs: instead of
|
||
<home>...</home>, e.g., use
|
||
<venue name="home">...</venue>
|
||
- added safe_strncpy(): always adds zero byte at end.
|
||
Use this instead of strncpy().
|
||
|
||
client/
|
||
app.C
|
||
client_state.C,h
|
||
cs_scheduler.C
|
||
hostinfo.C
|
||
prefs.C,h
|
||
scheduler_op.C,h
|
||
html_users/
|
||
add_venue_action.php
|
||
prefs.inc
|
||
show_host_detail.php
|
||
user.inc
|
||
lib/
|
||
parse.C,h
|
||
util.C,h
|
||
sched/
|
||
Makefile.in
|
||
server_types.C
|
||
|
||
David Mar 6 2003
|
||
- new show_message() conventions (not fully implemented):
|
||
- all error conditions should call show_message() with MSG_ERROR
|
||
- all log writes should use show_message() with MSG_INFO
|
||
TODO: change Win implementation of show_message() to
|
||
write to window AND to file (stderr.txt or stdout.txt)
|
||
- messages are now timestamped and show project name
|
||
- use start_table() and row2() more uniformly in user HTML
|
||
- user HTML: show message if can't connect to DB
|
||
- standardize terminology in user HTML: "general prefs",
|
||
"default computer location", etc.
|
||
|
||
client/
|
||
client_state.C
|
||
cs_scheduler.C
|
||
main.C
|
||
message.h
|
||
scheduler_op.C
|
||
doc/
|
||
prefs.html
|
||
html_user/
|
||
add_venue_form.php
|
||
bug_report_form.php
|
||
create_account*.php
|
||
db.inc
|
||
edit_email_form.php
|
||
edit_user_info_form.php
|
||
index.php
|
||
login*.php
|
||
prefs.inc
|
||
prefs_edit_form.php
|
||
show_user.php
|
||
team_create_form.php
|
||
top_hosts.php
|
||
user.inc
|
||
util.inc
|
||
lib/
|
||
util.C,h
|
||
sched/
|
||
*.C
|
||
|
||
Eric March 7, 2003
|
||
- Moved common functions (write_log, check_trigger, update_average)
|
||
into sched_util.C
|
||
- Added stop_server checking to more server programs
|
||
- Added update_stats program to periodically update exponential average
|
||
credit for users and hosts, and to update team credit by summing member credit
|
||
- Added db_sum, db_query_double to retrieve sums of columns (used by update_stats)
|
||
- Added db_user_sum_team_expavg_credit, db_user_sum_team_total_credit,
|
||
db_user_count_team for updating team statistics
|
||
- Confirmed that current exponential average algorithm is correct
|
||
|
||
db/
|
||
mysql_util.C,h
|
||
db_mysql.C
|
||
db.h
|
||
html_user/
|
||
top_teams.php
|
||
sched/
|
||
Makefile.in
|
||
*.C
|
||
sched_util.C,h (added)
|
||
update_stats.C (added)
|
||
|
||
Seth March 10, 2003
|
||
- changed windows graphics handling again. client/app messaging
|
||
now mainly consists of the client polling the app windows,
|
||
with apps messaging the client when they change modes.
|
||
moved most of this into the client's child screensaver window.
|
||
|
||
api/
|
||
windows_opengl.cpp
|
||
client/win/
|
||
wingui_sswindow.cpp,h
|
||
wingui_mainwindow.cpp,h
|
||
|
||
Eric March 11, 2003
|
||
- changed client exit to send a quit request to the apps, wait 1
|
||
second for them to quit, then kill them if they're still open.
|
||
This allows applications to do a final checkpoint before
|
||
quitting, rather than lose their recent work
|
||
- changed boinc_sleep to accept fractional sleep values
|
||
|
||
apps/
|
||
concat.C
|
||
upper_case.C
|
||
client/
|
||
app.C,h
|
||
client_state.C
|
||
cs_apps.C
|
||
test_*.C
|
||
lib/
|
||
util.C,h
|
||
|
||
Eric March 12, 2003
|
||
- Quit requests are now sent via the SIGQUIT signal (on UNIX)
|
||
or a named Event (on Windows), rather than via an XML file
|
||
|
||
api/
|
||
boinc_api.C,h
|
||
client/
|
||
app.C,h
|
||
|
||
Eric March 13, 2003
|
||
- Added System V message queue functions to library
|
||
|
||
lib/
|
||
msg_queue.C,h
|
||
msg_test.C
|
||
|
||
David Mar 15 2003
|
||
- added some state diagrams to docs
|
||
- changed var name from "giveup_after" to "file_xfer_giveup_period"
|
||
PLEASE USE MEANINGFUL NAMES, especially for global vars
|
||
|
||
todo
|
||
api/
|
||
boinc_api.h
|
||
client/
|
||
app.C
|
||
client_state.C,h
|
||
pers_file_xfer.C,h
|
||
doc/
|
||
various
|
||
sched/
|
||
feeder.C
|
||
|
||
Eric March 17, 2003
|
||
- Changed app->client communication to use shared memory rather
|
||
than files. The client sets up a shared memory segment when
|
||
starting the app. The app attaches to it and writes XML tags
|
||
into a 4K text buffer every second.
|
||
- The shared memory communication has been tested by hand under
|
||
Windows and UNIX (Mac OS X). We should write test scripts for
|
||
it to make sure.
|
||
|
||
configure.in
|
||
api/
|
||
boinc_api.C,h
|
||
apps/
|
||
Makefile.in
|
||
client/
|
||
app.C,h
|
||
cs_apps.C
|
||
lib/
|
||
shmem.C,h
|
||
|
||
David Mar 18 2003
|
||
- Don't write signed_xml and xml_signature tags in the state file
|
||
if they're empty strings
|
||
(this eliminates malformed XML in state file)
|
||
- Replace safe_strncpy(foo, "", sizeof(foo)) with strcpy(foo, "").
|
||
Reduce noise.
|
||
|
||
client/
|
||
app.C
|
||
client_state.C
|
||
client_types.C
|
||
file_xfer.C
|
||
hostinfo.C
|
||
http.C
|
||
scheduler_op.C
|
||
|
||
Eric March 19, 2003
|
||
- Moved OpenGL context creation/destruction outside of drawing
|
||
loop. This seems to improve speed on Windows 98.
|
||
- Added memory deallocation routine for client_state vectors.
|
||
This clears up several dozen unnecessary memory leak reports.
|
||
|
||
api/
|
||
windows_opengl.cpp
|
||
client/
|
||
app.C,h
|
||
client_state.C,h
|
||
cs_apps.C
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
|
||
David Mar 19 2003
|
||
- general cleanup of user web
|
||
|
||
html_user/
|
||
*
|
||
show_hosts.php (removed)
|
||
|
||
David Mar 19 2003
|
||
- added global pref for max CPUs
|
||
- added global pref for min interval between disk writes
|
||
(applies to checkpoint writes only)
|
||
- added URL field to user table
|
||
- moved "send_email" field from XML to DB
|
||
- added "show_hosts" field to user table
|
||
|
||
show_host_public.php (removed)
|
||
client/
|
||
app.C
|
||
client_state.C,h
|
||
cs_apps.C
|
||
prefs.C,h
|
||
db/
|
||
db.h
|
||
db_mysql.C
|
||
schema.sql
|
||
doc/
|
||
index.html
|
||
html_user/
|
||
edit_user_info*
|
||
host.inc
|
||
prefs.inc
|
||
prefs_edit_*
|
||
show_host_detail.php
|
||
user.inc
|
||
util.inc
|
||
sched/
|
||
db_dump.C
|
||
test/
|
||
test.inc
|
||
tools/
|
||
add.C
|
||
|
||
Eric March 20, 2003
|
||
- Changed speed tests to use a realtime timer rather than
|
||
estimating the number of iterations.
|
||
- Changed floating point test to use more accurate code.
|
||
- Fixed memory bandwidth test reporting.
|
||
|
||
client/
|
||
app.C
|
||
client_state.C,h
|
||
speed_stats.C,h
|
||
|
||
David Mar 20 2003
|
||
- added web interface for "merging" hosts
|
||
- cleaned up team-related PHP code
|
||
|
||
html_user/
|
||
edit_host_action.php
|
||
edit_host_form.php
|
||
|
||
David Mar 21 2003
|
||
- fixed bugs in host merge
|
||
- (Eric) fix secs-per-day problem in credit
|
||
|
||
David Mar 24 2003
|
||
- added preference for time-of-day restrictions
|
||
(run only between hours X and Y)
|
||
|
||
client/
|
||
client_state.C
|
||
prefs.C,h
|
||
html_user/
|
||
create_account_action.php
|
||
create_account_form.php
|
||
prefs.inc
|
||
|
||
David Mar 25 2003
|
||
- account creation is now turned off by putting
|
||
"<disable_account_creation/>" in html_user/config.xml
|
||
- change name of config file to .htconfig.xml
|
||
(so can't read via HTTP)
|
||
|
||
html_user/
|
||
create_account*
|
||
util.inc
|
||
|
||
David Mar 31 2003
|
||
- add "-exit_before_upload" cmdline option
|
||
|
||
client/
|
||
client_state.C,h
|
||
pers_file_xfer.C
|
||
html_user/
|
||
team_create_action.php
|
||
test/
|
||
test_uc.php
|
||
|
||
David Mar 31 2003
|
||
- added random field to result.
|
||
Results are sent in random order, making it hard for hackers
|
||
to get multiple results for the same WU
|
||
- user-visible messages about files give names, not URLs
|
||
- Changed all occurrences of "time test" and "speed test"
|
||
to "CPU benchmark".
|
||
Please use accurate, consistent terminology in the code.
|
||
- changed command-line options:
|
||
-skip_cpu_benchmarks instead of -no_time_tests
|
||
-run_cpu_benchmarks instead of -run_speed_test
|
||
|
||
client/
|
||
client_state.C,h
|
||
file_names.h
|
||
hostinfo.C,h
|
||
net_xfer.C
|
||
pers_file_xfer.C
|
||
speed_stats.h
|
||
db/
|
||
constraints.sql
|
||
db.h
|
||
db_mysql.C
|
||
schema.sql
|
||
html_user/
|
||
prefs.inc
|
||
user.inc
|
||
sched/
|
||
make_work.C
|
||
test/
|
||
test_1sec.php
|
||
test_backend.php
|
||
test_uc.php
|
||
tools/
|
||
backend_lib.C
|
||
|
||
David Apr 3 2003
|
||
- added macro "safe_strcpy(x, y)"
|
||
** USE THIS INSTEAD OF safe_strncpy(x, y, sizeof(x))
|
||
- added macro "safe_strcat(x, y)"
|
||
** USE THIS INSTEAD OF strcat()
|
||
- changed dynamically-allocated fields of SCHEDULER_REQUEST,
|
||
SCHEDULER_REPLY to static
|
||
|
||
That combination of the above fixes a bug where a long
|
||
stderr_out could overwrite other fields of RESULT
|
||
|
||
client/
|
||
app.C
|
||
client_state.C
|
||
client_types.C
|
||
cs_scheduler.C
|
||
hostinfo_unix.C
|
||
http.C
|
||
net_xfer.C
|
||
pers_file_xfer.C
|
||
scheduler_op.C
|
||
doc/
|
||
index.html
|
||
lib/
|
||
filesys.C
|
||
util.C,h
|
||
sched/
|
||
file_deleter.C
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
server_types.C,h
|
||
|
||
David Apr 7 2003
|
||
- changed names of DB interface routines to get rid of conflict
|
||
with SETI@home DB interface
|
||
- changed name of "db.h" to "boinc_db.h" to remove conflict w/ SETI@home
|
||
|
||
db/
|
||
db.h (removed)
|
||
boinc_db.h (new)
|
||
db_mysql.C
|
||
sched/
|
||
*.C
|
||
tools/
|
||
*.C
|
||
|
||
Erik May 6 2003
|
||
- Added a notion of "transient" and "permanent" errors on file uploads.
|
||
A permanent error is returned by the file upload handler if
|
||
- the request is malformed
|
||
- filename includes ".."
|
||
- the signature is bad
|
||
- the file size is larger than allowed
|
||
PERS_FILE_XFER checks for this return from FILE_XFER
|
||
and gives up immediately.
|
||
- FILE_XFER now always parses the server response (not just for file size)
|
||
- Added some missing error checks to FILE_XFER
|
||
- Punted on the timezone-related ifdefs:
|
||
added hardwired ifdefs for linux and unix.
|
||
Need to revisit this
|
||
- in PHP test library, add a provision for multiple files per application
|
||
|
||
client/
|
||
file_xfer.C
|
||
hostinfo_unix.C
|
||
pers_file_xfer.C,h
|
||
doc/
|
||
client.html
|
||
index.html
|
||
old_news.html (new)
|
||
result.fig
|
||
setiathome.jpg
|
||
upload.html
|
||
lib/
|
||
error_numbers.h
|
||
sched/
|
||
file_upload_handler.C
|
||
test/
|
||
test.inc
|
||
|
||
Erik May 8 2003
|
||
- Added a new class SS_LOGIC that encapsulates the core client's
|
||
screensaver-related logic.
|
||
It tries to get graphics-capable apps to provide graphics,
|
||
and if necessary it draws logo-based graphics or blanks the screen.
|
||
- Changed ACTIVE_TASK.app_client_shm from a pointer to an object.
|
||
NOTE: AVOID DYNAMIC ALLOCATION WHENEVER POSSIBLE
|
||
- got rid of free_mem() stuff
|
||
|
||
client/
|
||
Makefile.in
|
||
app.C,h
|
||
cs_apps.C
|
||
ss_logic.C,h (new)
|
||
lib/
|
||
Makefile.in
|
||
app_ipc.C,h
|
||
|
||
Erik May 13 2003
|
||
- Added a notion of "tentative" project.
|
||
This means that the (URL, account ID) pair hasn't been verified,
|
||
i.e. we haven't fetched the master page, found a scheduler,
|
||
and done a scheduler op that verified the account ID.
|
||
If anything fails for a tentative project, call project_add_failed().
|
||
in the cmdline version this prints an error message,
|
||
deletes all evidence of the project, and exits.
|
||
TODO: implement for GUI
|
||
- Make write_account_file() into a member function of PROJECT.
|
||
- Got rid of CLIENT_STATE::change_project().
|
||
The user must detach and attach.
|
||
- CLIENT_STATE::quit_project() now takes a PROJECT*, not an int.
|
||
Need to change the GUI code.
|
||
- got rid of separate WIN_32 implementations of
|
||
make_project_dir(), remove_project_dir(), make_slot_dir().
|
||
THIS IS THE WRONG LEVEL FOR PLATFORM-DEPENDENT CODE!
|
||
Instead, added boinc_mkdir() and boinc_rmdir()
|
||
- added implementation docs for screensaver logic
|
||
- test_uc.php: wait for a second before running client.
|
||
On fast computers the client runs before feeder has seeded shmem.
|
||
|
||
client/
|
||
account.C,h
|
||
client_state.C,h
|
||
client_types.C,h
|
||
cs_scheduler.C
|
||
file_names.C
|
||
main.C
|
||
scheduler_op.C,h
|
||
ss_logic.C
|
||
win/
|
||
wingui.cpp
|
||
wingui_mainwindow.cpp
|
||
doc/
|
||
client_app.html
|
||
client_app_graphic.html
|
||
lib/
|
||
filesys.C,y
|
||
test/
|
||
test_uc.php
|
||
|
||
Erik May 14 2003
|
||
- added function to "reset" project (stop all current activities
|
||
and delete everything except sticky files)
|
||
- added function to "detach" from project (the above, plus
|
||
deleting all files, the account file, and the project)
|
||
|
||
client/
|
||
account.C
|
||
client_state.C,h
|
||
main.C
|
||
pers_file_xfer.C
|
||
lib/
|
||
util.C
|
||
test/
|
||
test_uc.php
|
||
|
||
Erik May 15 2003
|
||
- added cmdline options for show/detach/reset project
|
||
- -update_prefs command now takes a URL
|
||
- added license text to some files
|
||
|
||
client/
|
||
account.C
|
||
client_state.C,h
|
||
lib/
|
||
util.C
|
||
doc/
|
||
client.html
|
||
|
||
Erik May 15 2003
|
||
- change NET_XFER::net_sleep() so that it does up to about .5 sec of I/O,
|
||
rather than just one block per socket
|
||
|
||
client/
|
||
net_xfer.C
|
||
|
||
Erik May 16 2003
|
||
- set FILE_INFO::upload_offset to -1 before restarting file upload.
|
||
This forces file size check, so that upload can resume
|
||
with nonzero offset.
|
||
NOTE: THE USE OF "SPECIAL VALUES" (LIKE -1) IS DISCOURAGED
|
||
- don't set RESULT::state to NEW after parse.
|
||
This caused completed results to start over.
|
||
- PERS_FILE_XFER::start_xfer() is int, not bool
|
||
- better messages on file transfer failure and project backoff
|
||
- better message from scheduler if wrong major version
|
||
- file upload handler logging is on by default
|
||
|
||
client/
|
||
scheduler_op.C
|
||
pers_file_xfer.C,h
|
||
client_state.C
|
||
file_xfer.C
|
||
lib/
|
||
error_numbers.h
|
||
sched/
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
|
||
Eric May 16, 2003
|
||
- changed do_select to keep calling do_xfer for uploads until either
|
||
a) the send buffers are full or b) 1 second has passed
|
||
- changed variable name in Windows GUI code for clarity
|
||
|
||
client/
|
||
net_xfer.C
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
|
||
Erik May 19 2003
|
||
- added support for user-selected files to be included
|
||
as part of an app_version.
|
||
If there is an element of the form
|
||
<app_file>
|
||
<url>X</url>
|
||
<open_name>Y</open_name>
|
||
</app_file>
|
||
in a user's project preferences,
|
||
then for every APP_VERSION that is sent to the user,
|
||
elements of the form
|
||
<file_info>
|
||
<name>X'</name>
|
||
<url>X</url>
|
||
</file_info>
|
||
... and in the <app_version> element
|
||
<file_ref>
|
||
<file_name>X'</file_name>
|
||
<open_name>Y</open_name>
|
||
</file_ref>
|
||
are added to the app version's XML description,
|
||
where X' is an escaped version of X.
|
||
This can be used (for example) to allow applications to
|
||
have user-specified images in their graphics
|
||
- Handle it correctly if the "insert" part of a file transfer fails
|
||
- The "main program" of an app version is the one labeled <main_program/>
|
||
(not necessarily the first one)
|
||
- Only files labeled <executable/> are required to be signed
|
||
- added copyright notice to some files
|
||
- added sgets() for parsing a string that is made up of multiple lines
|
||
- write MD5 checksum elements only if checksum is present
|
||
- created escape_url_readable
|
||
|
||
TODO: app_versions are currently treated as immutable by client.
|
||
Need to change this.
|
||
|
||
todo
|
||
api/
|
||
graphics_data.C,h
|
||
util.cpp,h
|
||
client/
|
||
app.C
|
||
client_state.C
|
||
client_types.C
|
||
cs_files.C
|
||
file_names.C
|
||
pers_file_xfer.C,h
|
||
doc/
|
||
api.html
|
||
boinc_dev.html
|
||
client_app.html
|
||
client_app_graphics.html
|
||
graphics.html
|
||
lib/
|
||
parse.C,h
|
||
util.C,h
|
||
sched/
|
||
handle_request.C
|
||
server_types.C,h
|
||
|
||
Eric May 20, 2003
|
||
- When you create a team you automatically join it
|
||
|
||
html_user/
|
||
team.inc
|
||
team_create_action.php
|
||
team_join_action.php
|
||
|
||
Erik May 21 2003
|
||
- in application w/ graphics, make sure worker thread is lower
|
||
priority than GUI thread
|
||
- show error msg if attach to existing project
|
||
- trim CR from end of message strings
|
||
- consider it a failure if tentative project master page
|
||
downloads OK but has no scheduler URLs
|
||
- clean up formatting of download page
|
||
|
||
api/
|
||
graphics_api.C
|
||
client/
|
||
account.C
|
||
main.C
|
||
scheduler_op.C
|
||
win/
|
||
wingui.cpp
|
||
html_user/
|
||
download.inc
|
||
lib/
|
||
error_numbers.h
|
||
|
||
Erik May 21 2003
|
||
- various changes to support abort of apps if use too much disk or CPU
|
||
- send workunit rsc_* fields in scheduler reply; store on client
|
||
- scheduler doesn't send estimated CPU time; instead,
|
||
client calculates it
|
||
- CPU time bound is estimated time * 2
|
||
- disk bound is rsc_disk
|
||
TODO: finish implementing this
|
||
- When an app finishes, see if any of the output files is larger
|
||
than its max_nbytes.
|
||
If so set its status to ERR_FILE_TOO_BIG.
|
||
This will prevent the client from trying to upload it.
|
||
TODO: make sure result is flagged as erroneous
|
||
- Change API_IGNORE_CLIENT to API_STANDALONE
|
||
- Apps start in MODE_WINDOW if standalone
|
||
|
||
api/
|
||
boinc_api.C,h
|
||
windows_opengl.cpp
|
||
client/
|
||
app.C,h
|
||
client_state.C,h
|
||
client_types.C,h
|
||
cs_apps.C
|
||
cs_scheduler.C
|
||
db/
|
||
boinc_db.h
|
||
lib/
|
||
error_numbers.h
|
||
sched/
|
||
handle_request.C
|
||
|
||
Erik May 22 2003
|
||
- abort applications that exceed max disk usage
|
||
Do this check at most global_prefs.disk_interval seconds
|
||
- moved code that detaches core/app shared memory from
|
||
CLIENT_STATE::handle_finished_apps() to
|
||
ACTIVE_TASK::check_app_exited()
|
||
NOTE: ACTIVE_TASK IS SUPPOSED TO ENCAPSULATE TASK IMPLEMENTATION
|
||
- CLIENT_STATE::handle_finished_apps(): don't view an app as finished
|
||
if it's in PROCESS_ABORT_PENDING state
|
||
- got rid of ACTIVE_TASK_SET::poll_time();
|
||
moved its functionality to ACTIVE_TASK_SET::poll()
|
||
- broke up ACTIVE_TASK_SET::poll() into subfunctions:
|
||
get_cpu_times(), check_app_exited(),
|
||
check_max_cpu_exceeded(), check_max_disk_exceeded()
|
||
- change function names:
|
||
get_cpu_time() -> get_cpu_time_via_os()
|
||
check_app_state() -> get_cpu_time_via_shmem()
|
||
handle_running_aps() -> handle_finished_apps()
|
||
- exit_tasks() is a member function of ACTIVE_TASK_SET, not CLIENT_STATE
|
||
|
||
client/
|
||
app.C,h
|
||
client_state.C,h
|
||
cs_apps.C
|
||
|
||
Eric May 29, 2003
|
||
- added foreign language support functions
|
||
- fixed allowed space calculation (standardized on 1 GB=2^30 bytes, not 10^9)
|
||
|
||
client/
|
||
client_state.C
|
||
lib/
|
||
language.C,h
|
||
|
||
Eric May 30, 2003
|
||
- nslots will now be updated correctly
|
||
if user changes preferences on web site
|
||
|
||
client/
|
||
client_state.C,h
|
||
cs_scheduler.C
|
||
|
||
David June 2 2003
|
||
In client API, standalone mode uses init files if they're there
|
||
|
||
api/
|
||
boinc_api.C
|
||
|
||
Karl 2003/06/02
|
||
- fixed some spelling and grammar
|
||
|
||
doc/
|
||
api.html
|
||
boinc_version.html
|
||
road_map.html
|
||
sequence.html
|
||
single_host_server.html
|
||
|
||
Eric June 3, 2002
|
||
- Added msg_printf function.
|
||
Use this function rather than show_message, since it
|
||
doesn't require a locally allocated buffer for formatted strings.
|
||
|
||
client/
|
||
account.C
|
||
app.C
|
||
client_state.C,h
|
||
cs_apps.C
|
||
cs_scheduler.C
|
||
file_xfer.C
|
||
net_xfer.C
|
||
pers_file_xfer.C
|
||
scheduler_op.C
|
||
|
||
Tim June 3, 2003
|
||
- Windows GUI enhancement
|
||
graphics window opens on top
|
||
simplified disk chart labels
|
||
message window scrolls to the bottom with new messages
|
||
reduce flicker in projects, results, and transfers
|
||
|
||
api/
|
||
windows_opengl.cpp
|
||
client/
|
||
gui_titles.c
|
||
wingui_mainwindow.cpp
|
||
|
||
David June 4 2003
|
||
- Checked in Eric Korpela's rewrite of the DB interface code.
|
||
No more db_xxx functions; instead, use derived classes
|
||
with insert(), update() etc. functions
|
||
|
||
db/
|
||
Makefile.in
|
||
boinc_db.C,h (.C new)
|
||
mysql_util.C,h (removed)
|
||
db_mysql.C (removed)
|
||
sched/
|
||
Makefile.in
|
||
assimilator.C
|
||
db_dump.C
|
||
feeder.C
|
||
file_deleter.C
|
||
handle_request.C
|
||
main.C,h
|
||
make_work.C
|
||
sched_shmem.C
|
||
timeout_check.C
|
||
update_stats.C
|
||
validate.C
|
||
tools/
|
||
Makefile.in
|
||
add.C
|
||
backend_lib.C,h
|
||
create_work.C
|
||
|
||
Eric June 4, 2003
|
||
- Added signal handlers for keyboard suspend/resume on UNIX
|
||
|
||
client/
|
||
main.C
|
||
|
||
Tim June 4, 2003
|
||
- Windows GUI enhancement
|
||
added "show" and "hide" to system tray icon context menu
|
||
added line between menu and tabs (not perfect; currently reside in updateGUI)
|
||
results now reads "downloading" and "uploading" during file transfer
|
||
removed history (i.e. completed results, old messages from last session)
|
||
|
||
client/
|
||
client_state.c
|
||
client_types.h
|
||
wingui_mainwindow.cpp
|
||
resource.rc
|
||
|
||
David June 5 2003
|
||
- use a separate DB table for core versions
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
schema.sql
|
||
html_user/
|
||
download.inc
|
||
test/
|
||
test.inc
|
||
test_uc.php
|
||
tools/
|
||
add.C
|
||
|
||
Tim June 5, 2003
|
||
- bug fix
|
||
fixed "uploading" "downloading" problem
|
||
fixed minor problem with updateGUI
|
||
fixed "time of day" suspension check (was parsing XML incorrectly)
|
||
fixed "website" problem (missing "http://")
|
||
fixed "write to disk frequency" (was not implemented)
|
||
|
||
client/
|
||
client_state.c
|
||
client_state.h
|
||
prefs.c
|
||
wingui_mainwindow.cpp
|
||
|
||
Karl 2003/06/06
|
||
Rewrote build system using automake and modern autoconf.
|
||
|
||
Added:
|
||
|
||
RSAEuro/Makefile.am
|
||
RSAEuro/source/Makefile.am
|
||
api/Makefile.am
|
||
apps/Makefile.am
|
||
client/Makefile.am
|
||
db/Makefile.am
|
||
lib/Makefile.am
|
||
sched/Makefile.am
|
||
sched_fcgi/Makefile.am
|
||
tools/Makefile.am
|
||
configure.ac
|
||
|
||
(helper files:)
|
||
Makefile.incl
|
||
_autosetup
|
||
aclocal.m4
|
||
compile
|
||
depcomp
|
||
install-sh
|
||
missing
|
||
mkinstalldirs
|
||
config.h.in
|
||
test/version.inc.in
|
||
|
||
Modified:
|
||
test/test.inc
|
||
|
||
Removed:
|
||
RSAEuro/source/targets.mak
|
||
configure.in
|
||
|
||
These files are now built automatically:
|
||
|
||
RSAEuro/Makefile.in
|
||
RSAEuro/source/Makefile.in
|
||
api/Makefile.in
|
||
apps/Makefile.in
|
||
client/Makefile.in
|
||
db/Makefile.in
|
||
lib/Makefile.in
|
||
sched/Makefile.in
|
||
sched_fcgi/Makefile.in
|
||
tools/Makefile.in
|
||
|
||
Eric June 6, 2003
|
||
- Removed old extraneous functions from wingui
|
||
(EnumWindowsProc, GetWndFromProcId)
|
||
- Moved GetByteString to util.C, made platform independent,
|
||
added "x/y KB" option
|
||
- Changed est_time_to_completion to use a recent exponential
|
||
average of change in percent done. This is more accurate
|
||
than the old method.
|
||
- Bug fixes involving result state changes
|
||
|
||
client/
|
||
app.C,h
|
||
client_types.h
|
||
client_state.C
|
||
win/
|
||
wingui.cpp, h
|
||
wingui_mainwindow.cpp
|
||
wingui_piectrl.cpp
|
||
lib/
|
||
util.C,h
|
||
|
||
Karl 2003/06/06
|
||
|
||
- updated version number, email address, copyright date
|
||
- documented automake system and updated build notes (there's only 1 step
|
||
now instead of 5)
|
||
|
||
configure.ac
|
||
LICENSE
|
||
doc/
|
||
boinc_dev.html
|
||
build.txt
|
||
build_system.html (added)
|
||
|
||
Karl 2003/06/07
|
||
|
||
- removed "client" distribution
|
||
- started "make check" targets
|
||
- "make distcheck" now works
|
||
- documentation
|
||
|
||
Makefile.am
|
||
Makefile.incl
|
||
configure.ac
|
||
doc/
|
||
build.txt
|
||
build_system.html
|
||
road_map.html
|
||
test/
|
||
Makefile.am (added)
|
||
|
||
Tim June 9, 2003
|
||
- Windows GUI Enhancement
|
||
disk usage now displayed in two separate pie charts
|
||
improved the separation line between menu and tabs
|
||
- Preference
|
||
prompt user when downloading executable (commented out)
|
||
|
||
client/
|
||
file_xfer.c
|
||
gui_titles.c
|
||
pers_file_xfer.c
|
||
wingui_mainwindow.h
|
||
wingui_mainwindow.cpp
|
||
|
||
Karl 2003/06/09
|
||
- refactored exponential backoff to util.h
|
||
|
||
client/
|
||
pers_file_xfer.C
|
||
scheduler_op.C
|
||
lib/
|
||
util.h
|
||
util.C
|
||
|
||
Karl 2003/06/09
|
||
- enabled automake maintainer mode - less rebuilding of Makefiles
|
||
- updated doc
|
||
|
||
configure.ac
|
||
doc/
|
||
build_system.html
|
||
|
||
Karl 2003/06/11
|
||
- fixed skip_cpu_benchmarks bug
|
||
|
||
client/
|
||
client_state.C
|
||
|
||
Tim June 11, 2003
|
||
- Windows GUI Enhancement
|
||
modified flicker-reducing checks
|
||
- Preference
|
||
fixed prompt user when downloading executable (commented out)
|
||
|
||
client/
|
||
file_xfer.c
|
||
pers_file_xfer.c
|
||
wingui_mainwindow.cpp
|
||
|
||
Tim June 11, 2003
|
||
- Preference
|
||
improved executable confirmation message (commented out)
|
||
added max_memory_mbytes, process_priority, cpu_affinity
|
||
|
||
client/
|
||
pers_file_xfer.c
|
||
prefs.c
|
||
prefs.h
|
||
|
||
Karl 2003/06/11
|
||
- test suite overhaul
|
||
|
||
_autosetup
|
||
configure.ac
|
||
test/
|
||
Makefile.am
|
||
db_def_to_php
|
||
boinc_db.inc
|
||
version.inc.in
|
||
test.inc
|
||
test_1sec.php
|
||
test_backend.php
|
||
test_concat.php
|
||
test_download_backoff.php
|
||
test_limit.php
|
||
test_masterurl_failure.php
|
||
test_mdownload_backoff.php
|
||
test_pers.php
|
||
test_rsc.php
|
||
test_sched_failure.php
|
||
test_sticky.php
|
||
test_time.php
|
||
test_uc.php
|
||
test_upload_backoff.php
|
||
|
||
Eric K. 2003/06/16
|
||
Attempted to make the XML parser more robust by adding
|
||
extract_xml_record() to parse.C
|
||
Added const modifier to constant parameters to increase class
|
||
compatibility.
|
||
|
||
parse.C
|
||
parse.h
|
||
|
||
Karl 2003/06/16
|
||
Removed bzip2 rule; add 'foreign' option to automake through
|
||
configure.ac so you don't need to specify when invoking automake
|
||
manually
|
||
|
||
_autosetup
|
||
configure.ac
|
||
|
||
Karl 2003/06/16
|
||
Testing upload and connection failures (work in progress)
|
||
|
||
test.inc
|
||
test_uc.inc
|
||
test_uc.php
|
||
test_masterurl_failure.php
|
||
test_upload_resume.php
|
||
test_upload_backoff.php
|
||
testproxy
|
||
|
||
Tim June 16, 2003
|
||
- Preference
|
||
removed executable confirmation
|
||
implemented max_memory_mbyte
|
||
|
||
client/
|
||
pers_file_xfer.c
|
||
app.c
|
||
|
||
Tim June 17, 2003
|
||
- application graphics file
|
||
added timestamp to astropulse appfile
|
||
modified APP_FILE struct to include timestamp handling
|
||
scheduler sends "openname_timestamp" as name
|
||
open_name (if available) is used when creating a slot directory
|
||
- Windows GUI
|
||
finished items in results and transfers are now immediately removed
|
||
|
||
client/
|
||
app.c
|
||
wingui_mainwindow.cpp
|
||
html_user/
|
||
project_specific_prefs_ap.inc
|
||
sched/
|
||
handle_request.c
|
||
server_types.c
|
||
server_types.h
|
||
|
||
David June 17 2003
|
||
- If connect() fails, mark the HTTP_OP as done and in error.
|
||
Previously it just hung forever.
|
||
- Added DB fields for BOINC disk usage: total, project, and max
|
||
TODO: compute these on client and send in sched RPC
|
||
- Scheduler RPC request now includes a list of projects
|
||
and resource shares for the host.
|
||
Stored in the DB.
|
||
This lets the web site show other projects
|
||
that people participate in.
|
||
Also might be used in scheduling estimates.
|
||
- added a "Rules and policies" page to the web interface.
|
||
Users read this before creating account
|
||
- commented out check_max_mem_exceeded() (not ready)
|
||
|
||
todo
|
||
client/
|
||
app.C
|
||
cs_scheduler.C
|
||
http.C
|
||
db/
|
||
boinc_db.C,h
|
||
schema.sql
|
||
doc/
|
||
index.html
|
||
html_user/
|
||
create_account_form.php
|
||
index.php
|
||
info.php
|
||
|
||
Karl 2003/06/17
|
||
Fixed miscellaneous bugs, some very dangerous, from compiler warnings
|
||
|
||
lib/
|
||
parse.C
|
||
crypt.C
|
||
tools/
|
||
backend_lib.C
|
||
create_work.C
|
||
|
||
Karl 2003/06/17
|
||
Converting test scripts to Python
|
||
|
||
configure.ac
|
||
test/
|
||
Makefile.am
|
||
boinc.py
|
||
boinc_db.py
|
||
db_def_to_py
|
||
testproxy
|
||
test.inc
|
||
test_upload_backoff.php
|
||
test_uc.py
|
||
test_concat.py
|
||
test_1sec.py
|
||
test_backend.py
|
||
version.py.in
|
||
|
||
Tim June 18, 2003
|
||
- Windows GUI
|
||
updated icons
|
||
- project preference
|
||
implemented account mirroring
|
||
|
||
client/win/res/
|
||
icon.ico
|
||
iconhigh.ico
|
||
iconsmall.ico
|
||
html_user/
|
||
create_account_action.php
|
||
create_account_form.php
|
||
|
||
David June 18 2003
|
||
- export user country and create_time in db_dump
|
||
- move functions involving BOINC "soft links" to app_ipc.C
|
||
(they don't belong in filesys.C)
|
||
- move functions to get filesystem total/free to filesys.C
|
||
- add doc page for watchdogs
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
hostinfo.h
|
||
hostinfo_unix.C
|
||
db/
|
||
boinc_db.h
|
||
doc/
|
||
create_project.html
|
||
db_dump.html
|
||
watchdog.html (new)
|
||
lib/
|
||
app_ipc.C,h
|
||
filesys.C,h
|
||
sched/
|
||
Makefile.am
|
||
db_dump.C
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
server_types.C,h
|
||
|
||
David June 18 2003
|
||
- upload: if exceed size limit, read and discard rest of request
|
||
|
||
sched/
|
||
file_upload_handler.C
|
||
|
||
David June 18 2003
|
||
- added user web interface for seeing results for a host
|
||
|
||
client/
|
||
cs_scheduler.C
|
||
lib/
|
||
result_state.h
|
||
html_user/
|
||
host.inc
|
||
result.inc (new)
|
||
results_host.php (new)
|
||
|
||
David June 19 2003
|
||
- added admin web interface for looking at status of recent results
|
||
- set result.received_time whenever the server_state becomes DONE
|
||
(this makes it possible to enumerate all results that have
|
||
become done recently, including timeouts and other errors)
|
||
|
||
html_ops/
|
||
index.html (removed)
|
||
index.php
|
||
result_summary.php (new)
|
||
sched/
|
||
handle_request.C
|
||
validate.C
|
||
timeout_check.C
|
||
|
||
Karl 2003/06/19
|
||
- make_work: make hard links instead of copies of workunit files
|
||
|
||
sched/
|
||
make_work.C
|
||
|
||
Tim June 19, 2003
|
||
- Astropulse Website
|
||
added description to project preferences
|
||
- Windows GUI
|
||
implemented message pane entry limit
|
||
new icons
|
||
|
||
client/win/res/
|
||
icon.ico
|
||
iconhigh.ico
|
||
iconsmall.ico
|
||
html_user/
|
||
db.inc
|
||
host.inc
|
||
project_specific_prefs_ap.inc
|
||
|
||
Karl 2003/06/19
|
||
- scheduler daemons: write pid to a pidfile. trap SIGINTs and exit on
|
||
the next check_stop_trigger() (the 'stop_server' file still works)
|
||
- wrote a kill_server program that kills specified daemons by sending
|
||
SIGINT to processes
|
||
- use kill_server in test scripts
|
||
|
||
sched/
|
||
kill_server (added)
|
||
Makefile.am
|
||
assimilator.C
|
||
feeder.C
|
||
file_deleter.C
|
||
make_work.C
|
||
sched_util.C
|
||
sched_util.h
|
||
timeout_check.C
|
||
update_stats.C
|
||
validate.C
|
||
test/
|
||
.cvsignore
|
||
Makefile.am
|
||
boinc.py
|
||
version.py.in
|
||
|
||
David June 20 2003
|
||
- use mysql_connect() instead of mysql_pconnect() in PHP.
|
||
The latter caused failures in mysql_select_db(),
|
||
with "commands out of sync" error.
|
||
|
||
html_user/
|
||
db.inc
|
||
html_ops/
|
||
db.inc
|
||
|
||
Karl 2003/06/20
|
||
- make client build by default use static libraries
|
||
|
||
client/
|
||
Makefile.am
|
||
doc/
|
||
build.txt
|
||
|
||
Karl 2003/06/20
|
||
- improve readability of shmem error message
|
||
|
||
sched/
|
||
main.C
|
||
lib/
|
||
shmem.C
|
||
test/
|
||
boinc.py
|
||
|
||
Karl 2003/06/20
|
||
- remove OpenGL(U) dependency on unix test apps
|
||
|
||
apps/
|
||
Makefile.am
|
||
upper_case.C
|
||
|
||
Tim June 23, 2003
|
||
- Project Preference
|
||
Added venue parsing (fixes stderr.txt PROJECT::parse_account() error), but commented out
|
||
- Windows GUI
|
||
UpdateGUI only refreshes active tab (reduces Windows CPU time by 85%)
|
||
Fixed m_MessageListCtrl scrolling issue
|
||
Changed pie chart labels
|
||
Temporarily fixed the afx assertion failure at line 157
|
||
|
||
client/
|
||
client_types.c
|
||
gui_title.c
|
||
client/win/
|
||
wingui_mainwindow.cpp
|
||
|
||
John Brian 2003/06/23
|
||
- Changed label text in "Disk" tab:
|
||
"BOINC" -> "BOINC core client"
|
||
"PROJECT:" prepending removed
|
||
|
||
- Removed CProgressListCtrl::OnLButtonDown to allow
|
||
left mouse clicks to highlight list items.
|
||
|
||
/client/win/
|
||
gui_titles.C
|
||
wingui_listctrl.h
|
||
wingui_listctrl.cpp
|
||
|
||
Karl 2003/06/23
|
||
- changed uses of HOST to HOSTTYPE to simplify command line and fix
|
||
conflict with boinc_db.h's HOST
|
||
|
||
configure.ac
|
||
Makefile.incl
|
||
client/
|
||
client_state.C
|
||
db/
|
||
boinc_db.h
|
||
|
||
Karl 2003/06/23
|
||
- Make sure the user can't add one project twice (by one having a trailing
|
||
slash).
|
||
Canonicalize master urls to have a trailing '/' and remove double
|
||
slashes. Ensure account filenames and directories do not have the
|
||
trailing '_'. For many users their account files already have
|
||
trailing '_'s so if such files are found, rename them and their
|
||
corresponding project directories on startup. Created C++ string
|
||
versions of some functions for easier/safer/more efficient string
|
||
manipulation.
|
||
|
||
client/
|
||
account.C
|
||
client_types.C
|
||
file_names.C
|
||
lib/
|
||
filesys.C
|
||
filesys.h
|
||
util.C
|
||
util.h
|
||
|
||
Karl 2003/06/23
|
||
- removed stderr messages on detach_project() after user adds a URL that
|
||
doesn't work
|
||
|
||
client/
|
||
http.C
|
||
net_xfer.C
|
||
|
||
John Brian 2003/06/24
|
||
- Added context-menu support for copying items in the Messages tab to the
|
||
clipboard.
|
||
|
||
client/
|
||
wingui_mainwindow.cpp
|
||
wingui_mainwindow.h
|
||
resource.rc
|
||
resource.h
|
||
|
||
Karl 2003/06/24
|
||
- Got test_1sec working
|
||
|
||
test/
|
||
boinc.py
|
||
test.inc
|
||
test_backend.py
|
||
test_uc.py
|
||
sched/
|
||
start_servers.C
|
||
|
||
Karl 2003/06/25
|
||
- if application exceeds disk space limit, output message "Exceeded size
|
||
limit" instead of "Couldn't upload files"
|
||
- test that an aborted result due to file limit causes client_state =
|
||
RESULT_OUTCOME_CLIENT_ERROR (currently this test FAILS!)
|
||
- test resource limits in python
|
||
|
||
db/
|
||
boinc_db.h
|
||
client/
|
||
client_state.C
|
||
sched/
|
||
handle_request.C
|
||
test/
|
||
boinc.py
|
||
test_abort.py (new)
|
||
test_rsc.py (new)
|
||
test_backend.py
|
||
test_concat.py
|
||
test_uc.py
|
||
|
||
Karl 2003/06/25
|
||
- created a script to automatically run make all, check, distcheck from a
|
||
cronjob - complains if anything fails.
|
||
|
||
./testbase (new)
|
||
|
||
Karl 2003/06/26
|
||
- fixed bug that caused client state to transition to
|
||
RESULT_FILES_UPLOADING even when file info(s) had errors; now it stays
|
||
in RESULT_COMPUTE_DONE. [passes test_abort now]
|
||
|
||
client/
|
||
client_state.C
|
||
cs_apps.C
|
||
|
||
Karl 2003/06/26
|
||
- makefile should rebuild version.py and boinc_db.py if necessary
|
||
- test_sanity should make sure proxy setup works
|
||
- test_masterurl_failure
|
||
|
||
test/
|
||
Makefile.am
|
||
test_sanity.py
|
||
boinc.py
|
||
test_masterurl_failure.py (new)
|
||
|
||
Karl 2003/06/26
|
||
- working on master url fetch failure retry policy
|
||
- test_signal.py. currently FAILS!
|
||
- test_exit.py. currently FAILS!
|
||
There is another bug similar to the one found by test_abort where the
|
||
client goes into FILES_UPLOADED even the application exited with an error.
|
||
|
||
client/
|
||
client_state.C
|
||
scheduler_op.C
|
||
|
||
lib/
|
||
util.C
|
||
util.h
|
||
|
||
test/
|
||
boinc.py
|
||
test_masterurl_failure.py
|
||
test_uc.py
|
||
testproxy
|
||
test_exit.py (added)
|
||
test_signal.py (added)
|
||
|
||
Karl 2003/06/30
|
||
- added checks for OUTCOME for successful and (expected) unsuccessful
|
||
results, and CLIENT_STATE for successful results. Parse
|
||
lib/result_state.h.
|
||
|
||
test/
|
||
Makefile.am
|
||
boinc_db.py
|
||
BOINC_db.inc
|
||
test_uc.py
|
||
|
||
John Brian 2003/06/30
|
||
- Removed stray printf used in debugging background graphics code.
|
||
|
||
astropulse/client/
|
||
ap_graphics.C
|
||
|
||
|
||
Karl 2003/06/30
|
||
- schedulers: improved logging facilities.
|
||
- Use a library for common object files.
|
||
- changed timestamp() to be numeric, similar to ISO 8601
|
||
|
||
lib/
|
||
util.C
|
||
sched/
|
||
Makefile.am
|
||
assimilate_handler.C
|
||
assimilator.C
|
||
db_dump.C
|
||
feeder.C
|
||
file_deleter.C
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
main.C
|
||
make_work.C
|
||
sched_util.C
|
||
sched_util.h
|
||
server_types.C
|
||
start_servers.C
|
||
timeout_check.C
|
||
update_stats.C
|
||
validate.C
|
||
validate_test.C
|
||
|
||
David June 30 2003
|
||
- change the admin interface to the DB
|
||
|
||
html_ops/
|
||
db.inc
|
||
db_action.php (new)
|
||
db_form.php (new)
|
||
index.php
|
||
result_summary.php
|
||
util.inc
|
||
|
||
David July 1 2003
|
||
- further tweaks to web DB interface
|
||
|
||
html_ops/
|
||
db.inc
|
||
db_action.php
|
||
db_form.php
|
||
index.php
|
||
|
||
Karl 2003/07/01-02
|
||
- redesigned logging facilities for both scheduler servers and client
|
||
It is now easy to see the flow of events from looking at client.out
|
||
|
||
client/
|
||
Makefile.am
|
||
app.C
|
||
client_messages.C (added)
|
||
client_state.C
|
||
cs_apps.C
|
||
cs_files.C
|
||
cs_scheduler.C
|
||
file_xfer.C
|
||
http.C
|
||
main.C
|
||
message.h
|
||
net_xfer.C
|
||
pers_file_xfer.C
|
||
scheduler_op.C
|
||
|
||
lib/
|
||
messages.C (added)
|
||
util.h
|
||
|
||
sched/
|
||
Makefile.am
|
||
assimilate_handler.C
|
||
assimilator.C
|
||
db_dump.C
|
||
feeder.C
|
||
file_deleter.C
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
main.C
|
||
make_work.C
|
||
sched_messages.C (added)
|
||
sched_util.C
|
||
sched_util.h
|
||
server_types.C
|
||
start_servers.C
|
||
timeout_check.C
|
||
update_stats.C
|
||
validate.C
|
||
validate_test.C
|
||
|
||
Karl 2003/07/02
|
||
- added grepping for WU/results in log files. Can also just view log
|
||
file(s). Spiffy colorization and hyperlinks.
|
||
|
||
html_ops/
|
||
db.inc
|
||
db_action.php
|
||
show_log.php (new)
|
||
sched/
|
||
grep_logs (new)
|
||
test/
|
||
boinc.py
|
||
test_backend.py
|
||
|
||
Karl 2003/07/02
|
||
- turn on static libraries only on Linux
|
||
|
||
configure.ac
|
||
client/
|
||
Makefile.am
|
||
|
||
Karl 2003/07/02
|
||
- changed when "deferring communication" messages are printed so that user
|
||
sees them on client startup and every hour. Also format the message as
|
||
"X hours, X minutes, X seconds", etc.
|
||
|
||
lib/
|
||
util.h
|
||
util.c
|
||
|
||
client/
|
||
client_types.C
|
||
client_types.h
|
||
cs_scheduler.C
|
||
scheduler_op.C
|
||
scheduler_op.h
|
||
|
||
David July 2 2003
|
||
- changed all "fprintf(stderr," in the client to msg_printf()
|
||
This will give better messages (timestamps, project names)
|
||
in the cmdline version, and more complete error messages
|
||
in the GUI version
|
||
- moved msg_printf() from client_state.C to message.C
|
||
|
||
client/
|
||
*.C
|
||
message.C (new)
|
||
|
||
David July 3 2003
|
||
- added "custom signup page" feature
|
||
|
||
html_user/
|
||
clone.php (new)
|
||
create_account_action.php
|
||
create_account_form.php
|
||
index.php
|
||
project_ap.inc
|
||
team.php
|
||
user.inc
|
||
util.inc
|
||
|
||
Karl 2003/07/03-08
|
||
- created python start/stop program to handle daemonish and cronish tasks.
|
||
See sched/start builtin help for info
|
||
|
||
sched/
|
||
boinc_config.py (new)
|
||
start (new)
|
||
Makefile.am
|
||
assimilator.C
|
||
config.C
|
||
feeder.C
|
||
file_deleter.C
|
||
make_work.C
|
||
timeout_check.C
|
||
update_stats.C
|
||
validate.C
|
||
test/
|
||
boinc.py
|
||
|
||
John Brian 2003/07/11
|
||
- added profile functionality to BOINC. Users can now add, modify, and delete
|
||
personal profiles. Scripts to build picture galleries, and country summaries
|
||
are also available. Most of the functionality of the SETI@Home profiling system
|
||
is now available in BOINC.
|
||
|
||
html_user/
|
||
create_profile.php (new)
|
||
delete_profile.php (new)
|
||
gallery.inc (new)
|
||
generate_country_pages.php (new)
|
||
generate_picture_pages.php (new)
|
||
index.php
|
||
languages.txt (new)
|
||
profile.inc (new)
|
||
profile_menu.php (new)
|
||
project.inc
|
||
user.inc
|
||
util.inc
|
||
view_profile.php (new)
|
||
|
||
David July 15 2003
|
||
- use double for VM working set size
|
||
- finished replacing license text
|
||
|
||
api/
|
||
boinc_api.C,h
|
||
|
||
David July 15 2003
|
||
- project-specific files are now kept in separate repositories
|
||
|
||
html_user/
|
||
project_ap.inc (removed)
|
||
project_specific_prefs_ap.inc (removed)
|
||
|
||
Karl 2003/07/18
|
||
- created make_project script
|
||
- split test/boinc.py into test-specific and project-creation
|
||
- made everything work if build dir != src dir
|
||
|
||
configure.ac
|
||
|
||
py/ (added)
|
||
Makefile.am
|
||
boinc.py
|
||
version.py.in
|
||
|
||
test/
|
||
boinc.py (removed)
|
||
test_*.py
|
||
|
||
tools/
|
||
make_project (added)
|
||
|
||
Karl 2003/07/22
|
||
fixed 'debug assertion failure'. Release 1.05.
|
||
|
||
Client/*
|
||
|
||
updated database schema
|
||
db/*, test/*, py/*
|
||
|
||
Karl 2003/07/24
|
||
fixed dll problem. Added language.ini files from
|
||
http://www.boinc.dk/index.php?page=download_languages.
|
||
|
||
Release 1.06.
|
||
|
||
David July 24 2003
|
||
- added code to check integrity of client data structures
|
||
|
||
client/
|
||
client_state.C,h
|
||
|
||
Karl 2003/07/24
|
||
fixed bugs with file_info->pers_file_info->file_info and stderr.txt
|
||
reading
|
||
|
||
release 1.07.
|
||
|
||
client/*
|
||
|
||
Karl 2003/07/25
|
||
added client_version_num (e.g. 105) field to RESULT table
|
||
|
||
New tools/update_core_client_versions script that scans apps/ for client
|
||
versions and updates the database
|
||
|
||
improved start/stop program
|
||
|
||
added "run benchmarks now" File menu command, and display results.
|
||
|
||
Fixed global preferences not being updated to/from client because of
|
||
<mod_time> parse bug.
|
||
|
||
db/*
|
||
sched/*
|
||
py/*
|
||
tools/*
|
||
client/*
|
||
|
||
Karl 2003/07/27
|
||
fixed bug in timeout_check if WU has no results
|
||
sched/timeout_check.C
|
||
|
||
Karl 2003/07/28
|
||
- fixed "work between X:00 and Y:00" prefs/xml bug
|
||
- added idle_time_to_run and run_if_user_active checking
|
||
- changed country "none" to "none or international"
|
||
- show "Suspended" in GUI if suspended. Preliminary work to cleanup
|
||
files,transfers
|
||
- fixed "platform '%s' not found" not found \n bug
|
||
- show "preferences updated" for global and project prefs
|
||
|
||
html_user/*
|
||
client/*
|
||
sched/*
|
||
|
||
Karl 2003/07/29
|
||
- GUI: right clicking sets list item focus
|
||
- added right click -> retry transfer now
|
||
|
||
client/*
|
||
client/win/*
|
||
|
||
David July 29 2003
|
||
- allow scheduler RPCs while client is suspended
|
||
- when suspend client, stop all PERS_FILE_XFERs,
|
||
close the associated sockets and FILE*s
|
||
and delete the FILE_XFER objects
|
||
- cleaned up suspend/resume logic a bit;
|
||
check_suspend_activities() now just checks,
|
||
a separate function suspend_activities() does the suspending
|
||
- don't start new FILE_XFERS while suspended
|
||
- show message when restarting a result
|
||
|
||
client/
|
||
app.C
|
||
client_state.C,h
|
||
cs_apps.C
|
||
cs_files.C
|
||
file_xfer.h
|
||
http.C
|
||
net_xfer.C
|
||
pers_file_xfer.C,h
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
doc/
|
||
index.html
|
||
old_news.html
|
||
|
||
Karl 2003/07/30-31
|
||
- translations: refactored translation functions; added dynamic project
|
||
menu item; added missing translations for dialogs and menu
|
||
items. Updated translation template and fixed '\r's.
|
||
- file & status bar menus: 'force run' / 'run based on preferences' /
|
||
'pause' (as radio checks)
|
||
- file menu: 'Hide'
|
||
- show reason for Unrecoverable error in user output
|
||
|
||
Client/*
|
||
client/win/*
|
||
client/translations/*
|
||
|
||
Karl 2003/07/31
|
||
- fixed screensaver "freezing" (on blanking) bug
|
||
|
||
client/ss_logic.C, win/*
|
||
|
||
Karl 2003/07/31
|
||
- fixed astropulse memory leak
|
||
|
||
astropulse/client/*
|
||
|
||
Karl 2003/08/01
|
||
- if a file to download exists already and signature and checksum match,
|
||
skip downloading it.
|
||
- when running benchmarks say pausing computation, and "run always / run
|
||
never" works correctly with benchmarks
|
||
|
||
Client/*
|
||
|
||
David August 1 2003
|
||
- add "-suspend" cmdline option (start up in suspended mode)
|
||
- parse <optional/> tag within <file_ref> element
|
||
- implement behavior for "optional" file references
|
||
(if file hasn't been downloaded by deadline, start app anyway)
|
||
|
||
client/
|
||
client_state.C
|
||
client_types.C,h
|
||
cs_apps.C
|
||
cs_scheduler.C
|
||
|
||
David Aug 1 2003
|
||
- global_prefs.disk_interval doesn't apply to writing the state file
|
||
(only to application checkpointing)
|
||
|
||
client/
|
||
client_state.C,h
|
||
|
||
David Aug 1 2003
|
||
- use _exit() instead of exit() on execv failure
|
||
- garbage_collect() and update_results() even if suspended
|
||
|
||
client/
|
||
app.C
|
||
client_state.C
|
||
|
||
Karl 2003/08/01
|
||
- increased MAX_APP_VERSIONS from 100 to 500
|
||
sched/*
|
||
|
||
Karl 2003/08/01
|
||
- fixed \n s in client messages
|
||
client/*
|
||
|
||
Karl 2003/08/01
|
||
Release BOINC 1.09, Astropulse 1.09
|
||
|
||
Karl 2003/08/04
|
||
Astropulse: Fixed windows \r\n translation bug
|
||
|
||
release Astropulse 1.10.
|
||
|
||
Karl 2003/08/04
|
||
Show release date and "new" on download page.
|
||
Fixed date_str and changed format of timestamps to be sortable.
|
||
Remodelling html_ops view.
|
||
|
||
Html_user/*
|
||
html_ops/*
|
||
|
||
Karl 2003/08/05
|
||
Fixed Astropulse checkpoint-resume crash bugs: save relevant state
|
||
variables. In the process got rid of single-letter variables and
|
||
refactored some code.
|
||
|
||
Astropulse/client/*
|
||
|
||
Release Astropulse 1.11.
|
||
|
||
Karl 2003/08/06
|
||
Fixed time stats calculation - changed integer division to FP division.
|
||
|
||
Client/time_stats.C
|
||
|
||
David Aug 7 2003
|
||
- use "%e" instead of "%f" in database printfs; avoid roundoff errors
|
||
- let users browse info about their results,
|
||
e.g. to see other results for the same WU
|
||
|
||
db/
|
||
boinc_db.C
|
||
html_user/
|
||
explain_state.php (new)
|
||
login_action.php
|
||
results_host.php
|
||
workunit.php (new)
|
||
|
||
Karl 2003/08/07
|
||
- client: Start tasks in order of earliest report_deadline.
|
||
- added next_result_to_start()
|
||
- client: don't report a result until 6 hours before report_deadline
|
||
(or other reason to contact scheduler)
|
||
- scheduler: Send report deadline
|
||
- client GUI: added 'report deadline' column. Rewrote column-order
|
||
profile code.
|
||
|
||
client/
|
||
client_state.h
|
||
cs_apps.C
|
||
cs_scheduler.C
|
||
win/*
|
||
|
||
sched/
|
||
handle_request.C
|
||
|
||
Karl 2003/08/08
|
||
- fixed bug with timeout_check not noticing old wu error_mask, generating
|
||
new result and then marking WU as FILE_DELETE_READY.
|
||
|
||
Sched/timeout_check.C
|
||
|
||
Karl 2003/08/08
|
||
- changed team disbanding to happen automatically when user quits it (or
|
||
joins a different team).
|
||
- fixed various bugs and quirks in team
|
||
joining/quitting/switching/removing inactive users
|
||
|
||
Html_user/*
|
||
|
||
Karl 2003/08/08
|
||
- client: take into account active_frac and n_cpus when requesting work.
|
||
- removed vestigial host_info variables {active,on,connected}_frac.
|
||
- server: take into account delay_bound, active_frac and n_cpus when
|
||
checking WU feasibility
|
||
|
||
client/*
|
||
sched/*
|
||
|
||
Karl 2003/08/10
|
||
- client (unix): handle fork() failure
|
||
- client (unix): set application process priority to 19
|
||
|
||
configure.ac
|
||
config.h.in
|
||
client/
|
||
app.C
|
||
|
||
Karl 2003/08/10
|
||
- client: show platform name on startup
|
||
client/
|
||
client_state.C
|
||
|
||
Karl 2003/08/10
|
||
- timeout_check: change 'random' for new results (!)
|
||
- moved lrand48() and init code from create_result() to
|
||
result.insert()
|
||
|
||
tools/
|
||
backend_lib.C
|
||
|
||
db/
|
||
boinc_db.C
|
||
boinc_db.h
|
||
|
||
Karl 2003/08/11
|
||
- astropulse: change delay_bound from 2 days to 14 days
|
||
- astropulse: validator fixes
|
||
- allow broken results (file not found) instead of crashing
|
||
- misc fixes
|
||
|
||
astropulse/result/*
|
||
|
||
Karl 2003/08/12
|
||
- client: take into account active_task's fraction_done when calculating
|
||
seconds of work needed
|
||
- client: completion time estimate fixes
|
||
|
||
client/
|
||
app.[Ch]
|
||
client_state.[Ch]
|
||
cs_scheduler.C
|
||
client/win/
|
||
wingui_mainwindow.cpp
|
||
|
||
Karl 2003/08/12
|
||
- Astropulse: changed timeout_check_time to time(0)+delay_bound instead
|
||
of time(0)+1day
|
||
- Astropulse: rsc_fpops calculation: reduced fudge factor by 3
|
||
|
||
Astropulse/split/pulse_split.C
|
||
|
||
Karl 2003/08/12
|
||
- scheduler: if a result is received while already in
|
||
RESULT_SERVER_STATE_OVER, don't immediately mark it FILE_DELETE_READY.
|
||
we shouldn't delete the file yet because we could potentially still
|
||
check it against the canonical result (if its result hasn't been deleted
|
||
yet).
|
||
|
||
sched/
|
||
handle_request.C
|
||
|
||
Chrisz 2003/8/13
|
||
- if get either new global prefs OR new venue,
|
||
parse and install prefs
|
||
|
||
client/
|
||
cs_scheduler.C
|
||
|
||
Karl 2003/08/13
|
||
- validator: use SQL queries instead of 'if' statements
|
||
- validator: fixed bug where UNSENT results don't get marked DIDNT_NEED
|
||
|
||
sched/
|
||
validate.C
|
||
|
||
Karl 2003/08/13
|
||
- applied FreeBSD patch & misc fixes
|
||
|
||
configure.ac
|
||
m4/
|
||
acx_pthread.m4
|
||
client/
|
||
hostinfo_unix.C
|
||
lib/
|
||
filesys.C
|
||
shmem.C
|
||
|
||
_autosetup
|
||
aclocal.m4
|
||
|
||
|
||
|
||
Karl 2003/08/13
|
||
- test script fixes: increase delay_bound to reasonable value since it's
|
||
now checked by handle_request
|
||
|
||
test/
|
||
testbase.py
|
||
test_uc.py
|
||
|
||
Karl 2003/08/13
|
||
- create validation routines which generalize what used to be
|
||
validate_test, but more efficiently and safer (from buffer overruns and
|
||
allows NULL character in files). Rewrote validate_test using this, and
|
||
created validate_trivial which grants credit to all results.
|
||
- more greppability
|
||
|
||
Sched/
|
||
Makefile.am
|
||
validate.C
|
||
validate_test.C
|
||
validate_trivial.C (new)
|
||
validate_trivial.h (new)
|
||
validate_util.C (new)
|
||
validate_util.h (new)
|
||
|
||
Karl 2003/08/13
|
||
- added '-return_results_immediately' flag to client to allow it to
|
||
ignore the report deadline when deciding when to report a result
|
||
(mainly for testing)
|
||
|
||
client/
|
||
cs_scheduler.C
|
||
client_state.C
|
||
client_state.h
|
||
|
||
Karl 2003/08/14
|
||
- Astropulse: created autoconf and automake files
|
||
- Astropulse: if output file doesn't exist yet when opening, write a
|
||
version number.
|
||
- scheduler: renamed config.h to sched_config.h to avoid conflict with
|
||
default autoconf config.h
|
||
- api: added MFILE::ftell() function
|
||
- cleaned up boinc configure/makefiles
|
||
|
||
Astropulse/
|
||
configure.ac, configure (added)
|
||
_autosetup, aclocal.m4, config.h.in (added)
|
||
depcomp, install-sh, missing, mkinstalldirs (added)
|
||
*/Makefile.am, */Makefile.in (added)
|
||
*/Makefile (removed)
|
||
client/
|
||
ap_file_io.C
|
||
|
||
sched/
|
||
config.h ->renamed-> sched_config.h
|
||
*.C
|
||
api/
|
||
boinc_api.h
|
||
mfile.C
|
||
|
||
|
||
Karl,Dave 2003/08/14
|
||
|
||
- rewriting scheduler
|
||
- tagged old code as SCHEDULER_V1
|
||
|
||
sched/
|
||
|
||
Karl 2003/08/15
|
||
- sched: added explanatory messages to file_upload_handler errors
|
||
|
||
sched/
|
||
file_upload_handler.C
|
||
|
||
Karl 2003/08/15
|
||
- db_dump: added core_versions.xml; simplified
|
||
|
||
sched/
|
||
db_dump.C
|
||
|
||
David Aug 15 2003
|
||
- revised backend logic
|
||
This fixes some bugs and inefficiencies (I hope)
|
||
Redundancy parameters are now part of workunit DB records
|
||
- TODO: update test scripts to reflect these changes; debug
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
constraints.sql
|
||
schema.sql
|
||
sched/
|
||
assimilate_handler.C
|
||
assimilator.C
|
||
handle_request.C
|
||
main.h
|
||
timeout_check.C
|
||
validate.C
|
||
tools/
|
||
backend_lib.C,h
|
||
create_work.C
|
||
|
||
David Aug 15 2003
|
||
- changed "timeout_check" to "transitioner"
|
||
|
||
David Aug 15 2003
|
||
- changed logic so that create_work doesn't create any results;
|
||
this is left to the transitioner, since it does this anyway.
|
||
This required adding a result_template field to the workunit table,
|
||
which is the original result template macro-substituted
|
||
with the upload URL
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
schema.sql
|
||
sched/
|
||
make_work.C
|
||
transitioner.C
|
||
tools/
|
||
backend_lib.C,h
|
||
process_result_template.C
|
||
|
||
|
||
Chrisz 2003/8/15
|
||
- first init preference then parse command line
|
||
|
||
client/win/
|
||
wingui_mainwindow.cpp
|
||
|
||
Eric K 8/15/2003
|
||
- Prefaced transform() with std:: to get util.C to compile under windows.
|
||
api/util.C
|
||
|
||
|
||
Karl 2003/08/18
|
||
- scheduler bug fixes
|
||
- test system update
|
||
- astropulse:
|
||
- updated scheduler code
|
||
- rewrote validator
|
||
- created autoconf system to check host so that we can have separate
|
||
settings on kodos test project
|
||
|
||
sched/
|
||
transitioner.C
|
||
make_work.C
|
||
lib/
|
||
backend_lib.C
|
||
|
||
py/boinc.py
|
||
test/*.py
|
||
|
||
astropulse/*/*.C
|
||
|
||
Karl 2003/08/19
|
||
- misc test case updates
|
||
|
||
Karl 2003/08/20
|
||
- changed 'active_frac' initial assumption to "on" instead of the current
|
||
state
|
||
|
||
client/
|
||
time_stats.C
|
||
|
||
Chrisz 2003/08/20
|
||
- make progress and size on GUI keep old values when suspend during downloading
|
||
|
||
client/
|
||
http.C
|
||
client/win
|
||
wingui_mainwindow.cpp
|
||
|
||
Karl 2003/08/20
|
||
- rewrote header parsing to be more robust:
|
||
- allow for header to not have to be a single TCP message
|
||
- parse line-by-line instead of full-header strstr for efficiency
|
||
- compare header names case insensitively
|
||
- test scripts: no longer need apache or any environment variables.
|
||
|
||
client/
|
||
http.C
|
||
http.h
|
||
account.C
|
||
lib/
|
||
util.C
|
||
util.h
|
||
|
||
test/
|
||
cgiserver.py (added)
|
||
fake_php.py (added)
|
||
miniserv.pl (removed)
|
||
testbase.py
|
||
|
||
Karl 2003/08/21
|
||
- changed 'standalone' mode from a compile-time option to a run-time
|
||
option
|
||
- boinc_init() takes optional bool parameter which is true if
|
||
standalone (app has to parse this from argv or however it wants)
|
||
|
||
api/
|
||
boinc_api.C
|
||
boinc_api.h
|
||
windows_opengl.C
|
||
|
||
David Aug 21 2003
|
||
- added administrative function for adding accounts
|
||
(even if account creation is disabled in config)
|
||
- html_ops can now refer to project-specific stuff (e.g. PROJECT)
|
||
- removed include of db.inc in html_user/util.inc.
|
||
This lets you use util.inc from html_ops
|
||
|
||
html_ops/
|
||
create_account_form.php (new)
|
||
create_acction_action.php (new)
|
||
|
||
Karl 2003/08/21
|
||
- various website and documentation fixes and updates
|
||
-
|
||
|
||
doc/*
|
||
tools/
|
||
update_versions
|
||
|
||
Karl,ChrisZ 2003/08/21
|
||
- changed url_encode_readable from '%zz' to '_'
|
||
|
||
lib/
|
||
util.C
|
||
|
||
Chrisz 2003/08/25
|
||
- changed _url_to_filename from nonalnum to '_'
|
||
|
||
py/
|
||
boinc.py
|
||
|
||
Karl 2003/08/28
|
||
- rewrote all documentation related to software prerequisites and
|
||
build system, and compiling server and clients
|
||
|
||
doc/
|
||
boinc_dev.php
|
||
build_client.php (new)
|
||
build_client_mac.php (new)
|
||
build_client_unix.php (new)
|
||
build_client_win.php (new)
|
||
build_server.php
|
||
build_system.php
|
||
build.txt (removed)
|
||
create_project.php
|
||
single_host_server.php
|
||
software.php (new)
|
||
|
||
David Aug 30 2003
|
||
- split db_base.C off from boinc_db.C
|
||
(it's the class DB_BASE that supports MySQL access,
|
||
independent of the BOINC database)
|
||
|
||
db/
|
||
db_base.C,h (new)
|
||
|
||
David Sept 1 2003
|
||
- Client: keep error messages about failed file transfers
|
||
in the FILE_INFO object (and save them in client_state.xml),
|
||
so that they can be reported to server.
|
||
|
||
client/
|
||
client_state.C,h
|
||
client_types.C,h
|
||
file_xfer.C,h
|
||
net_xfer.C
|
||
pers_file_xfer.C
|
||
|
||
David Sept 1 2003
|
||
- Client: project reset wasn't working in cmdline version
|
||
if there was an active task
|
||
(because kill_task() blindly sends a KILL signal,
|
||
even though no process has been started yet so the PID is zero,
|
||
which just kills the core client)
|
||
- Correctly print command-line options
|
||
|
||
client/
|
||
app.C
|
||
client_state.C
|
||
doc/
|
||
client.php
|
||
|
||
David Sept 2 2003
|
||
- changed tools (create_work, add) to use config.xml if it's present
|
||
(reduces number of command-line args)
|
||
- renamed config.h to sched_config.h
|
||
- renamed tools/add to add.py (to avoid confusion with binary)
|
||
|
||
sched/
|
||
Makefile.am
|
||
sched_config.h (renamed from config.h)
|
||
*.C
|
||
tools/
|
||
Makefile.am
|
||
add.py (renamed from add)
|
||
add.C
|
||
create_work.C
|
||
|
||
David Sept 2 2003
|
||
- fix omissions in parsing of general prefs
|
||
- show which set of general prefs was actually used
|
||
|
||
client/
|
||
prefs.C,h
|
||
|
||
Karl 2003/08/25 - 2003/09/02
|
||
- created python database modules
|
||
- created sign_executable C program which factors out key signing from
|
||
add.C for python use
|
||
|
||
tools/
|
||
Makefile.am
|
||
add.py (added)
|
||
sign_executable.C (added)
|
||
backend_lib.C
|
||
backend_lib.h
|
||
lib/
|
||
crypt.C
|
||
crypt.h
|
||
py/
|
||
boinc_db.py (added)
|
||
db_mid.py (added)
|
||
database.py (added)
|
||
Makefile.am
|
||
|
||
|
||
Karl 2003/09/02
|
||
- temporarily remove satellite test cases from 'make check'
|
||
- check MySQL setup in test_sanity
|
||
|
||
test/
|
||
Makefile.am
|
||
test_sanity.py
|
||
|
||
Korpela 2003/09/02
|
||
Added lib/std_fixes.h which is used to add missing functions/templates
|
||
to the standard namespace. Used in SETI@home, but probably has wider
|
||
application, so I moved it to BOINC.
|
||
|
||
Korpela 2003/09/03
|
||
- Added OpenGL header check to configure.ac
|
||
- Changed gutil.C to use OpenGL header paths found by configure.
|
||
|
||
api/gutil.C
|
||
configure.ac
|
||
|
||
David Sept 3 2003
|
||
- Changed the way a WU's resources usage is described.
|
||
There are now separate estimates and bounds for FP ops.
|
||
Nothing about integer ops.
|
||
Disk and memory numbers are bounds.
|
||
|
||
This changes the client/server RPC format and the DB format,
|
||
so it will require a major version number increment
|
||
|
||
client/
|
||
app.C
|
||
client_state.C
|
||
client_types.C,h
|
||
http.C
|
||
net_xfer.C
|
||
db/
|
||
boinc_db.C,h
|
||
schema.sql
|
||
lib/
|
||
crypt.C,h
|
||
sched/
|
||
handle_request.C
|
||
test/
|
||
test_rsc.py
|
||
testbase.py
|
||
tools/
|
||
create_work.C
|
||
|
||
quarl 2003/09/03
|
||
- overhauled python scripts
|
||
- reorganized directory structure. Now 'modules' are under
|
||
boinc/py/Boinc (so you can do "from Boinc import *").
|
||
|
||
- all python scripts can run from anywhere
|
||
|
||
- start and add.py know where config.xml and run_state.xml are
|
||
(customizable too)
|
||
|
||
- finished database.py and add.py
|
||
|
||
- configure runs test/test_sanity.py
|
||
|
||
- wrote extensive documentation for python framework and tools; revised
|
||
other documentation
|
||
|
||
py/Boinc/ (added entire tree)
|
||
Makefile.am
|
||
__init__.py
|
||
boinc_db.py
|
||
boinc_path_config.py.in
|
||
configxml.py
|
||
database.py
|
||
db_def_to_py
|
||
db_mid.py
|
||
setup_project.py (this used to be py/boinc.py)
|
||
util.py
|
||
version.py.in
|
||
test/
|
||
testbase.py
|
||
tools/
|
||
add.py
|
||
sched/
|
||
start
|
||
*/Makefile.am
|
||
configure.ac
|
||
|
||
doc/
|
||
python.php (added)
|
||
software.php
|
||
test.php
|
||
tools.php (added)
|
||
tool_add.php (added)
|
||
tool_start.php (added)
|
||
tool_update_versions.php (added)
|
||
tools_other.php
|
||
single_host_server.php
|
||
create_project.php
|
||
|
||
David Sept 4 2003
|
||
- fix bug in scheduler: the buffer in insert_wu_tags() wasn't large enough.
|
||
This is a powerful argument in favor of using "string" everywhere!
|
||
NOTE: in spite of fix, test_uc.py isn't working. Problem w/ proxy?
|
||
- HTTP_OP_SET::poll(): if header read_reply() returns nonzero,
|
||
set htp->io_ready to false (to avoid lots and lots of spurious recv()s)
|
||
- in test scripts: if TEST_STOP_BEFORE_RUN is set,
|
||
go into sleep loop rather than exiting
|
||
(to avoid deleting the test setup)
|
||
- factor out get_socket_error()
|
||
|
||
client/
|
||
client_state.C
|
||
cs_scheduler.C
|
||
http.C
|
||
main.C
|
||
net_xfer.C,h
|
||
scheduler_op.C
|
||
sched/
|
||
handle_request.C
|
||
main.C
|
||
test/
|
||
testbase.py
|
||
|
||
David Sept 5 2003
|
||
- changed DB interface to make it possible for an application
|
||
to use different MySQL databases at the same time.
|
||
A new class DB_CONN represents a connection to a database.
|
||
Old functions like boinc_db_open() etc. are members of this class.
|
||
The connection to the BOINC database is represented by
|
||
by a global object "boinc_db" of this class.
|
||
You're free to have others
|
||
(e.g. "app_db" in the work gen or assimilator for an app)
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
db_base.C,h
|
||
html_ops/
|
||
db_ops.php
|
||
sched/
|
||
*.C
|
||
|
||
Karl 2003/09/05
|
||
- restructured application add system; rewrote update_versions:
|
||
- applications now go in <config.xml:apps_dir>/APPLICATION/
|
||
- update_versions checks for all versions of core client and all
|
||
applications, regardless of package version
|
||
|
||
py/Boinc/
|
||
configxml.py
|
||
database.py
|
||
db_mid.py
|
||
tools.py (new)
|
||
|
||
tools/
|
||
add.py
|
||
update_versions
|
||
|
||
- renamed add.C output to old_add and renamed add.py to add
|
||
|
||
tools/
|
||
Makefile.am
|
||
add.py -> add (renamed)
|
||
|
||
|
||
- astropulse: use a protocol version number separate of the astropulse
|
||
client version
|
||
|
||
astropulse/client/
|
||
*.C
|
||
|
||
- misc. Win32 fixes
|
||
api/
|
||
boinc_api.C
|
||
guitl.C
|
||
|
||
Karl 2003/09/05
|
||
- created COBBLESTONE_FACTOR variable and changed it from 1/3 to 100.
|
||
- fixed superfluous authenticator in cgi.log
|
||
|
||
Sched/
|
||
handle_request.C
|
||
|
||
David Sept 6 2003
|
||
- fixed bug where do_select wasn't sleeping
|
||
when there are no fds (doh!!)
|
||
|
||
client/
|
||
net_xfer.C,h
|
||
lib/
|
||
util.C
|
||
|
||
Karl 2003/09/07
|
||
- working on python code:
|
||
- database back end:
|
||
- database objects are now weakly hashed, with a cached list of
|
||
size 1024.
|
||
- new count() methods with arbitrary arguments like find()
|
||
- misc. bug fixes
|
||
|
||
- make_project and setup_project modify database directly instead of
|
||
calling old_add
|
||
|
||
- make_project doesn't add platform, app, or app_version
|
||
|
||
Karl 2003/09/07
|
||
- changed all user-visible cobblestone numbers to use a new
|
||
format_credit() function which does sprintf %.3f
|
||
|
||
- allow sorting top_{team,user,host}s.php by either expavg_credit or
|
||
total_credit (default expavg_credit)
|
||
|
||
html_user/*.php, *.inc
|
||
|
||
- changed "Results uploaded" to "Outputs uploaded"
|
||
|
||
client/
|
||
gui_titles.C
|
||
|
||
- use rsc_fpops_bound instead of rsc_fpops_est*2
|
||
|
||
client/
|
||
app.C
|
||
client_types.C
|
||
|
||
Karl 2003/09/10
|
||
- fixed transitioner bug where canonical result output files got deleted.
|
||
- changed all forms of "DB_RESULT result = results[I]" to "DB_RESULTS&
|
||
result = results[I]"
|
||
|
||
Sched/
|
||
transitioner.C
|
||
|
||
David Sept 11 2003
|
||
- transitioner: set file delete state to READY only if it's currently INIT
|
||
This should make file_deleter more efficient,
|
||
because each WU/result is file-deleted only once.
|
||
Also means that unlink()s should always succeed
|
||
- file deleter: print retval of unlink() (should always be zero)
|
||
|
||
sched/
|
||
file_deleter.C
|
||
transitioner.C
|
||
|
||
Karl 2003/09/15
|
||
- fixed transitioner bug where usage of `unsigned int' instead of signed
|
||
int caused 400k results to be generated.
|
||
|
||
Sched/
|
||
transitioner.C
|
||
|
||
Eric K. 16-Sep-2003
|
||
- added "const" qualifiers to prototype for create_work and some others
|
||
where appropriate. I didn't fix all the API routines where parameters
|
||
should be const. Using C++ makes it important to get these right.
|
||
|
||
tools/backend_lib.[Ch]
|
||
tools/create_work.C
|
||
tools/process_result_template.C
|
||
|
||
Jeff 2003/09/17
|
||
No code changes. This is the branch point for the seti beta. The tag is:
|
||
|
||
setiathome-4.xx_all_platforms_beta
|
||
|
||
for both seti_boinc and boinc. They both make on solaris without serious
|
||
error and the resulting seti client links without error with the resulting
|
||
boinc libs.
|
||
|
||
Karl,Eric Heien 2003/09/18
|
||
- fixed some pre-ANSI C
|
||
sched/
|
||
transitioner.C
|
||
tools/
|
||
create_work.C
|
||
|
||
David Sept 21 2003
|
||
- Added mechanism for marking results as COULDNT_SEND:
|
||
When the scheduler finds that a result is infeasible
|
||
for a host, it increments the "infeasible_count" in the work array.
|
||
When the feeder finds that too many results in the array
|
||
have nonzero infeasible_count, it marks some of them
|
||
as COULDNT_SEND and removes them from the array
|
||
|
||
db/
|
||
boinc_db.h
|
||
sched/
|
||
feeder.C
|
||
handle_request.C
|
||
sched_shmem.h
|
||
|
||
David Sept 21 2003
|
||
- Partly debugged the above changes:
|
||
- The feeder's result enumeration should have no limit;
|
||
otherwise it may enumerate the same results over and over
|
||
- If the infeasible_count of a result a threshold (MAX_INFEASIBLE_COUNT)
|
||
the feeder marks it as couldnt_send.
|
||
This prevents a situation where results sit in the work array
|
||
forever, their infeasible_count approaching infinity
|
||
- Added show_shmem to sched/ Makefile, and fleshed it out a bit
|
||
- Show hostID correctly when get RPC from wrong major version
|
||
|
||
NOTE: still haven't exercised the case where a result is marked COULDNT_SEND
|
||
|
||
sched/
|
||
Makefile.am
|
||
feeder.C
|
||
handle_request.C
|
||
show_shmem.C
|
||
|
||
Eric K 9/22/03
|
||
|
||
Modified DB_CONN::open() to support "db_name@host" syntax for remote
|
||
database connections.
|
||
|
||
db/db_base.C
|
||
|
||
David Sept 23 2003
|
||
- Don't reference-count WUs for results that are ready to report
|
||
(since don't need their input files anymore)
|
||
NOTE: this means that RESULT.wup may be zero.
|
||
Much check before dereferencing.
|
||
- Changed "ready_to_ack" to "ready_to_report"
|
||
(Ack is server->client, not client->server)
|
||
- Changed "server_ack" to "got_server_ack"
|
||
- Moved CLIENT_STATE integrity-check code to a new file (check_state.C)
|
||
In general it would be nice to move stuff out of client_state.C;
|
||
It's a hodge-podge currently
|
||
|
||
client/
|
||
Makefile.am
|
||
client_state.h
|
||
client_types.C,h
|
||
cs_scheduler.C
|
||
check_state.C (new)
|
||
|
||
Eric K 9/24/03
|
||
- Create an XML entity encoder/decoder for single byte entities. In new
|
||
files lib/xml_util.[Ch]. Encoder will make the following translations.
|
||
'>' => ">"
|
||
'<' => "<"
|
||
'&' => "&"
|
||
"'" => "'"
|
||
'"' => """
|
||
other unprintable -> "&#nnnd;"
|
||
The decoder recognizes a larger number of translations for single byte
|
||
entities found in XML/HTML.
|
||
- Added check for <map> header to configure scripts.
|
||
(Used by xml_util.[Ch] if found).
|
||
|
||
lib/xml_util.[Ch]
|
||
lib/Makefile.am
|
||
configure.ac
|
||
|
||
David Sept 27 2003
|
||
- add app_name to APP_INIT_DATA structure
|
||
(so that an app can know its own name,
|
||
and in particular so that we can use it to title its window)
|
||
|
||
api/
|
||
boinc_api.h
|
||
windows_opengl.C
|
||
client/
|
||
app.C
|
||
lib/
|
||
app_ipc.C,h
|
||
|
||
David Sept 27 2003
|
||
- added a program "wu_check" that sees whether input files
|
||
of unsent or in-progress results are actually on disk
|
||
|
||
sched/
|
||
Makefile.am
|
||
wu_check.C (new)
|
||
|
||
Eric K Sept 29 2003
|
||
- Fixed bug that cause a encoded null to be appended to strings in
|
||
xml_encode()
|
||
|
||
lib/xml_util.C
|
||
|
||
Karl 2003/09/28
|
||
- python work
|
||
|
||
py/Boinc/
|
||
database.py
|
||
setup_project.py
|
||
tools/
|
||
dbcheck_files_exist
|
||
|
||
David Sept 30 2003
|
||
- Core client: if get 404 error (not found) when downloading file,
|
||
treat it as permanent error.
|
||
(not tested)
|
||
|
||
api/
|
||
boinc_api.C,h
|
||
client/
|
||
file_xfer.C,h
|
||
http.C,h
|
||
pers_file_xfer.C
|
||
lib/
|
||
error_numbers.h
|
||
|
||
|
||
David Sept 30 2003
|
||
- Move graphics-related code from boinc_api.C to graphics_api.C
|
||
- Don't use the preprocessor symbol BOINC_APP_GRAPHICS in api/
|
||
|
||
api/
|
||
boinc_api.C
|
||
graphics_api.C,h
|
||
windows_opengl.C
|
||
x_opengl.h
|
||
apps/
|
||
upper_case.C
|
||
|
||
David Sept 30 2003
|
||
- Undid checkin of 9/23. Reference count all WUs,
|
||
and can assume that result->wup is always valid.
|
||
I can't remember why we did this, but it creates too many problems.
|
||
- in Windows GUI, if a result had an error in download or upload,
|
||
display status as "Download failed" instead of "Download" etc.
|
||
|
||
client/
|
||
client_state.C
|
||
cs_scheduler.C
|
||
win/wingui_mainwindow.cpp
|
||
|
||
|
||
Eric Oct 1 2003 11:15 am
|
||
- Fixed compile problems on solaris.
|
||
- redid graphics_api.h entirely. C'mon people we use automake for a
|
||
reason. Use the macros in config.h!
|
||
- Moved OpenGL and header and library finding to a macro file
|
||
sah_grx.m4 (an identical macro file exists in seti_boinc)
|
||
- Will verify it works on windows in the next hour or so
|
||
|
||
Makefile.in
|
||
aclocal.m4
|
||
config.h.in
|
||
configure
|
||
configure.ac
|
||
graphics_api.C
|
||
graphics_api.h
|
||
m4/sah_grx.m4
|
||
|
||
David Oct 2 2003
|
||
- Added code to limit frame rate in either or both of two ways:
|
||
1) max frames per second
|
||
2) upper bound on rendering CPU time as a fraction or real time
|
||
NOTE: currently these limits are hardware in the code.
|
||
Need to put them in preferences.
|
||
|
||
api/
|
||
graphics_api.C,h
|
||
windows_opengl.C
|
||
|
||
Eric Oct 2 2003
|
||
|
||
-moved xml_indent() from seti_boinc/db/sqlrow.[cpp,h] to i
|
||
boinc/lib/xml_util.[C,h]
|
||
-fixed problems with graphics_api.h
|
||
|
||
api/graphics_api.h
|
||
lib/xml_util.[Ch]
|
||
|
||
Karl 2003/10/02
|
||
- rewrote make_project and related; a lot of restructuring:
|
||
|
||
- make_project only creates the project and database but doesn't add
|
||
platform, app, app_version, or core_version. Use `add' for these.
|
||
- database actions are through MySQLdb, removing need for mysql client
|
||
binary.
|
||
|
||
tools/
|
||
make_project
|
||
add
|
||
update_versions
|
||
upgrade (new)
|
||
py/Boinc/
|
||
configxml.py
|
||
database.py
|
||
setup_project.py
|
||
tools.py
|
||
test/
|
||
testbase.py
|
||
test_uc.py
|
||
sched/
|
||
boinc_config.py (removed)
|
||
db/
|
||
constraints.sql
|
||
doc/
|
||
single_host_server.php
|
||
|
||
Karl 2003/10/02
|
||
- made C parsing of config.xml more flexible (allow multiple tags per
|
||
line or tags on multiple lines)
|
||
- made config.xml and run_state.xml pretty
|
||
|
||
sched/
|
||
sched_config.C
|
||
sched_config.h
|
||
lib/
|
||
parse.C
|
||
parse.h
|
||
|
||
py/
|
||
configxml.py
|
||
|
||
David Oct 4 2003
|
||
- throttled_app_render() returns true iff it rendered anything.
|
||
This lets the caller do swapbuffers only if needed
|
||
- app_render() now returns void
|
||
- added functions that read graphics files (JPEG, PPM, BMP, TGA)
|
||
and create textures (moved from SETI@home)
|
||
|
||
api/
|
||
graphics_api.C,h
|
||
gutil.C,h
|
||
windows_opengl.C
|
||
lib/
|
||
xml_util.C
|
||
|
||
David Oct 6 2003
|
||
- Created class MOVING_TEXT_PANEL (in boinc/api/gutil.h)
|
||
to do Astropulse-type text display
|
||
- Created class TEXTURE_DESC (same place)
|
||
to represent an OpenGL texture (including its ID and size).
|
||
- Modify draw_texture() to not change the aspect ratio of the picture;
|
||
it shrinks the image in one dimension or the other, and centers
|
||
it in the allotted space
|
||
- Add a GRAPH_DRAW_STYLE field to REDUCED_ARRAY
|
||
- Eliminate methods of REDUCED_ARRAY that take a style argument
|
||
|
||
api/
|
||
graphics_api.C
|
||
gutil.C,h
|
||
reduce.C,h
|
||
|
||
Karl 2003/10/06
|
||
- client release 2.04
|
||
|
||
Karl 2003/10/06
|
||
- transitioner: log every state transition, and check return value for
|
||
every update()
|
||
|
||
sched/
|
||
transitioner.C
|
||
|
||
David Oct 6 2003
|
||
- Don't send two results from the same WU in a single RPC
|
||
Note: this is a weak but possibly sufficient step towards not sending
|
||
multiple results from the same WU to one user.
|
||
- Scheduler: before updating a result, reread it from the database.
|
||
What's in shared memory may be way out of date.
|
||
E.g. it may no longer be in server state UNSENT.
|
||
Hopefully this fixes the missing-input-file bug!!
|
||
|
||
sched/
|
||
handle_request.C
|
||
|
||
David Oct 6 2003
|
||
- added "repair" option to wu_check
|
||
|
||
sched/
|
||
wu_check.C
|
||
|
||
David Oct 8 2003
|
||
- added "present" flag to TEXTURE_DESC
|
||
- fixed function names:
|
||
double_to_ydhms() -> ndays_to_string()
|
||
get_byte_string -> nbytes_to_string()
|
||
|
||
api/
|
||
boinc_api.C
|
||
gutil.C,h
|
||
client/
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
wingui_piecectrl.cpp
|
||
lib/
|
||
util.C,h
|
||
|
||
David Oct 8 2003
|
||
- add low-detail option to WU display
|
||
|
||
html_ops/
|
||
db_action.php
|
||
db_form.php
|
||
db_ops.php
|
||
|
||
Oliver Oct 8 2003
|
||
- fixed reduced graph display
|
||
- fixed opengl resize bug
|
||
/api/
|
||
recuce.c
|
||
gutil.c
|
||
windows_opengl.c
|
||
|
||
David Oct 8 2003
|
||
- made draw, CreateTextureJPG etc. into member functions of TEXTURE_DESC
|
||
- added xalign, yalign args to TEXTURE_DESC::draw()
|
||
- attempted to turn off rendering when window is hidden (don't think I succeeded)
|
||
|
||
api/
|
||
gutil.C,h
|
||
windows_opengl.C
|
||
|
||
Oliver Oct 9 2003
|
||
- fixed error handling when jpeglib fails
|
||
api/
|
||
gutil.C
|
||
|
||
Karl 2003/10/08
|
||
- tests: fixed bug re user global prefs
|
||
- tests: fixed checking of result outputs
|
||
- tests: fixed min_quorum=2 bug
|
||
|
||
py/
|
||
setup_project.py
|
||
test/
|
||
testbase.py
|
||
test_uc.py
|
||
|
||
- transitioner: fixed bug in sscan_hex_data() with \r or other whitespace
|
||
- transitioner: log more
|
||
- file_upload_handler: log more
|
||
|
||
lib/
|
||
crypt.C
|
||
sched/
|
||
file_upload_handler.C
|
||
transitioner.C
|
||
|
||
David Oct 10 2003
|
||
- made STARFIELD CLASS
|
||
- implement tickmarks for RIBBON_GRAPH
|
||
|
||
api/
|
||
gutil.C,h
|
||
|
||
David Oct 10 2003
|
||
- various web stuff
|
||
- "-repair" option for wu_check
|
||
|
||
html_ops/
|
||
db_action.php
|
||
db_form.ph
|
||
db_ops.inc
|
||
html_user/
|
||
white.css, black.css (new)
|
||
|
||
Oliver Oct 10 2003
|
||
- fixed surface drawing bug
|
||
- fixed jpeg loading bug
|
||
- updated primitives (progress bar. etc.) to have public pos field
|
||
|
||
api/
|
||
gutil.c,h
|
||
graphics_api.c
|
||
reduce.c
|
||
windows_opengl.c
|
||
|
||
Karl 2003/10/11
|
||
- Astropulse: output in index by samples, rather than bytes + fft bin;
|
||
- indicate that output is finished; also make it valid XML
|
||
- fixed BOINC graphics api header problems with autoconf
|
||
|
||
Astropulse/client/
|
||
ap_client_main.C
|
||
ap_fileio.C
|
||
ap_params.h
|
||
Astropulse/m4/
|
||
sah_grx.m4
|
||
|
||
- BOINC: fixed make distcheck problem
|
||
|
||
sched/
|
||
Makefile.am
|
||
|
||
David Oct 12 2003
|
||
- add "Confirm before accept executable" flag to global prefs
|
||
- Implement said flag in cmdline client:
|
||
- add "approval_pending" flag to FILE_INFO
|
||
- don't count a file as present if it has approval pending
|
||
- set approval pending flag on new exec files if
|
||
"confirm_executable" is set in global prefs
|
||
|
||
TODO: implement in Win GUI; IMPORTANT!!
|
||
|
||
client/
|
||
client_state.C,h
|
||
client_types.C,h
|
||
cs_apps.C
|
||
cs_files.C
|
||
main.C
|
||
prefs_file_xfer.C
|
||
html_user/
|
||
prefs.inc
|
||
white.css
|
||
|
||
Karl 2003-10-13
|
||
- removed some graphics stuff from non-graphics files. Split graphics
|
||
source files into separate library libboinc_graphics_api.a
|
||
|
||
api/
|
||
boinc_api.C
|
||
lib/
|
||
Makefile.am
|
||
api/
|
||
Makefile.am
|
||
|
||
Oliver Oct 13 2003
|
||
- stars now draw in visible pyramid
|
||
|
||
api/
|
||
gutil.C,h
|
||
|
||
|
||
David Oct 14 2003
|
||
- don't call boinc_finish_opengl() in boinc_finish()!!
|
||
- max frame rate and max graphics CPU are accessible to app
|
||
(via global variables boinc_max_fps and boinc_max_gfx_cpu_frac)
|
||
- in windows_opengl.C, moved InitGL() and app_init_gl() calls
|
||
from SetMode() to start of win_graphics_event_loop()
|
||
(just want to call these once, right?)
|
||
- in windows_opengl.C: if in standalone mode and get WM_CLOSE event,
|
||
actually exit (makes debugging easier).
|
||
|
||
api/
|
||
boinc_api.C
|
||
graphics_api.C,h
|
||
gutil.C
|
||
windows_opengl.C
|
||
|
||
Oliver Oct 14 2003
|
||
- stars now draw in visible pyramid with original coordinate system
|
||
- axis draws vertices in correct CCW order
|
||
- added font width function
|
||
|
||
api/
|
||
gutil.C,h
|
||
reduce.c
|
||
windows_opengl.C
|
||
|
||
David Oct 14 2003
|
||
- extended MOVING_TEXT_PANEL interface to let you draw text on
|
||
particular line numbers,
|
||
and get the coords the start of a line number
|
||
|
||
api/
|
||
gutil.C,h
|
||
|
||
Karl 2003-10-14
|
||
- makefiles:
|
||
- fixed some issues when building outside of source tree
|
||
- fixed some missing 'make dist' files
|
||
- fixed "ln -s start stop" bug
|
||
|
||
*/Makefile.am
|
||
|
||
Karl 2003-10-14
|
||
- replaced C country_select program with a php function
|
||
- replaced "None or International" with "None" and "International"
|
||
|
||
lib/
|
||
countries.C (removed)
|
||
Makefile.am
|
||
|
||
tools/
|
||
country_select.C (removed)
|
||
Makefile.am
|
||
|
||
html_user/
|
||
countries.inc (added)
|
||
util.inc
|
||
|
||
Karl 2003-10-14
|
||
- added Rank column to top users; made presentation consistent for top
|
||
teams/users/hosts
|
||
|
||
- show number of results valid, successful, total (instead of just total)
|
||
|
||
html_user/
|
||
top_teams.php
|
||
top_users.php
|
||
top_hosts.php
|
||
team.inc
|
||
user.inc
|
||
host.inc
|
||
|
||
David 15 Oct 2003
|
||
- if user rejects executable, mark result as failed (not tested)
|
||
|
||
client/
|
||
cs_apps.C
|
||
main.C
|
||
doc/
|
||
graphics.php
|
||
lib/
|
||
error_numbers.h
|
||
|
||
David 16 Oct 2003
|
||
- add "userid" to result table
|
||
- send at most one result per WU per user
|
||
NOTE: since this change breaks test_uc.py and other tests,
|
||
it's enabled by a <one_result_per_user_per_wu/> tag in the config file;
|
||
make sure this is present in production projects
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
schema.sql
|
||
constraints.sql
|
||
sched/
|
||
handle_request.C
|
||
|
||
David 16 Oct 2003
|
||
- moved client/win/windows_cpp.h to client/cpp.h,
|
||
since it's included (and needed) in UNIX as well as Windows
|
||
|
||
Oliver 16 Oct 2003
|
||
- Implemented scaling factor to center objects
|
||
- Fixed starfields
|
||
- Right justified text
|
||
|
||
api/
|
||
graphics_api.C
|
||
gutil.C,h
|
||
windows_opengl.C
|
||
|
||
Karl 2003-10-16
|
||
- updated python database API with new workunit.userid field
|
||
|
||
- refactored database.py into db_base.py and merged in changes from
|
||
CourseSurvey system
|
||
- improved object caching and implemented lazy lookup of relational
|
||
objects; database-heavy python programs should now be much faster
|
||
|
||
- added <one_result_per_user_per_wu/> to
|
||
config.XML in make_project (but not testbase)
|
||
|
||
py/Boinc/
|
||
db_base.py (new)
|
||
database.py
|
||
setup_project.py
|
||
test/
|
||
testbase.py
|
||
|
||
David 17 Oct 2003
|
||
- db_base::lookup() returns an error if >1 rows satisfy the query
|
||
- return #defined error numbers in db_base.C
|
||
- add more info to CGI log entries
|
||
|
||
db/
|
||
db_base.C
|
||
lib/
|
||
error_numbers.h
|
||
sched/
|
||
handle_request.C
|
||
|
||
Oliver 17 Oct 2003
|
||
- small label coord tweak
|
||
api/
|
||
reduce.c
|
||
|
||
David 18 Oct 2003
|
||
- factored some code out of client_state.C into new files
|
||
|
||
client/
|
||
client_state.C,h
|
||
cs_account.C,h (renamed from account.C,h)
|
||
cs_benchmark.C (new)
|
||
cs_prefs.C (new)
|
||
cs_statefile.C (new)
|
||
main.C
|
||
maybe_gui.h (removed)
|
||
|
||
David 18 Oct 2003
|
||
- When reset (or detach from) a process, wait for running applications to exit
|
||
before doing other things (e.g., deleting files,
|
||
which will fail if processes have them open)
|
||
Implementation: exit_tasks() etc. now take a PROJECT* arg
|
||
- When a master file fetch fails on a tentative project (e.g. bad URL)
|
||
avoid a situation where we remove the HTTP_OP,
|
||
then detach_project() tries to remove it a second time
|
||
- print messages when reset/detach
|
||
|
||
client/
|
||
app.C,h
|
||
client_state.C,h
|
||
prefs.C
|
||
scheduler_op.C
|
||
win/
|
||
wingui.h
|
||
|
||
David 19 Oct 2003
|
||
- fixed file names
|
||
|
||
client/
|
||
speed_stats.C,h (old)
|
||
cpu_benchmark.C,h (new)
|
||
|
||
Karl 2003-10-19
|
||
- maybe fixed "screensaver blanks immediately" bug due to uninitialized
|
||
variable
|
||
- if blank time is <=0 or unset: don't blank (instead of blanking
|
||
immediately).
|
||
|
||
client/win/
|
||
wingui_mainwindow.cpp
|
||
|
||
David 20 Oct 2003
|
||
- fixed bug that prevented screensaver from launching core client
|
||
|
||
win_screensaver.cpp
|
||
|
||
Karl 2003-10-20
|
||
- BOINC client release 2.05
|
||
- added glut32.dll to BOINC distribution
|
||
|
||
David 20 Oct 2003
|
||
- replace return -1's with error codes
|
||
|
||
client/
|
||
app.C
|
||
cs_benchmark.C
|
||
hostinfo.C
|
||
net_xfer.C
|
||
lib/
|
||
app_ipc.C
|
||
crypt.C
|
||
error_numbers.h
|
||
filesys.C
|
||
md5_file.C
|
||
parse.C
|
||
shmem.C
|
||
util.C
|
||
sched/
|
||
handle_request.C
|
||
sched_shmem.C
|
||
validate_util.C
|
||
wu_check.C
|
||
|
||
|
||
David 20 Oct 2003
|
||
- changed CPU benchmark code to store all times as doubles.
|
||
This might fix the "negative fpops/sec" bug
|
||
|
||
client/
|
||
cpu_benchmark.C
|
||
cs_benchmark.C
|
||
|
||
David 20 Oct 2003
|
||
- changed overflowing integer calculation in CPU checkpoint code.
|
||
This definitely will fix the negative fpops problem
|
||
|
||
client/
|
||
cpu_benchmark.C,h
|
||
|
||
Karl 2003-10-21
|
||
- BOINC client release 2.06
|
||
|
||
- Astropulse client release 2.06
|
||
|
||
|
||
David 22 Oct 2003
|
||
- trunc_stderr_stdout() had a typo: it never truncated stdout.txt
|
||
|
||
client/
|
||
cs_files.C
|
||
|
||
David 22 Oct 2003
|
||
- fixed bug that caused project disk usage to be reported as zero
|
||
- Added debugging printfs (enabled by #define DEBUG)
|
||
to wingui_mainwindow.cpp. These write to C:/temp/core.txt.
|
||
- In CMyApp::InitInstance(), changed 2nd arg of CreateMutex
|
||
from false to true. This matches "1 instance" code samples from web.
|
||
Thought it might fix startup bug - no.
|
||
- Added debugging printfs (enabled by #define DEBUG) into screensaver;
|
||
causes it to write info to C:/temp/boinc_scr.txt
|
||
- Removed CREATE_NO_WINDOW and IDLE_PRIORITY flags from
|
||
CreateProcess() call in screensaver.
|
||
These aren't listed in the MSDN man page; are they needed?
|
||
- slight change to startup logic in screensaver:
|
||
- send it a BOINC_SS_START message only if it's already running
|
||
(not needed if start it ourselves, since we give it -saver arg)
|
||
- don't wait for 3 seconds after starting it
|
||
- In the cmdline passed to the core client from screensaver,
|
||
make argv[0] the real path of the executable.
|
||
Thought this might fix startup bug - no.
|
||
- Change "start_saver" to "started_by_screensaver". Truth in advertising.
|
||
|
||
client/
|
||
client_state.C,h
|
||
cs_cmdline.C
|
||
win/
|
||
win_screensaver.cpp
|
||
wingui_mainwindow.cpp
|
||
lib/
|
||
filesys.C
|
||
|
||
David 24 Oct 2003
|
||
- complete Bob's addition of SETI@home "grandfather" fields to DB
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
constraints.sql
|
||
schema.sql
|
||
sched/
|
||
handle_request.C
|
||
|
||
Oliver 24 Oct 2003
|
||
- updated reduced array class to contain the name of the labels. they are set when the reduced array
|
||
is created
|
||
|
||
api/
|
||
reduce.h,C
|
||
|
||
David 24 Oct 2003
|
||
- db_dump generates valid XML
|
||
- fixed bugs in boinc_db.C (team parse)
|
||
|
||
db/
|
||
boinc_db.C
|
||
sched/
|
||
db_dump.C
|
||
|
||
|
||
Karl 2003-10-24
|
||
- fixed missing comma typos
|
||
db/
|
||
constraints.sql
|
||
|
||
Karl 2003-10-25
|
||
- client GUI: fixed context menu bug
|
||
|
||
client/win/
|
||
wingui_mainwindow.cpp
|
||
|
||
|
||
David 25 Oct 2003
|
||
- removed code that caps backoff count at one
|
||
TODO: we still need to reexamine the backoff policy,
|
||
so that multiple file failures don't lead to huge backoffs
|
||
- moved OpenGL init calls from the start of the event loop
|
||
back to SetMode, undoing an earlier change.
|
||
Turns out the need to be in SetMode because it creates a new
|
||
window every time.
|
||
This should fix the bug that cause Astropulse to show no graphics.
|
||
TODO: make sure that when an application window is hidden,
|
||
no rendering work gets done.
|
||
|
||
api/
|
||
windows_opengl.C
|
||
client/
|
||
scheduler_op.C
|
||
|
||
Karl 2003-10-25
|
||
- updated_versions: don't be so verbose unless "-v" verbose command-line
|
||
option is given
|
||
- if a directory contains an executable, add the first executable found,
|
||
and bundle all other files as non-executables.
|
||
- process_executable_file(): added mechanisms for adding non-executable files
|
||
|
||
tools/
|
||
update_versions
|
||
|
||
py/Boinc/
|
||
tools.py
|
||
|
||
David 27 Oct 2003
|
||
- Parse project-specific prefs correctly (i.e. based on venue)
|
||
These prefs are read from account files.
|
||
Account files are read before the client state file is parsed.
|
||
This presented a problem because the host venue,
|
||
which is needed to decide which project prefs to use,
|
||
is kept in the client state file.
|
||
So I added a new function, parse_venue(), that gets the
|
||
host venue from the state file; this is done before parsing account files.
|
||
- Also added <project_name> element to account file so that we can
|
||
display that correctly in message about project prefs
|
||
|
||
api/
|
||
windows_opengl.C
|
||
client/
|
||
client_state.C,h
|
||
client_types.C
|
||
cs_statefile.C
|
||
pers_file_xfer.h
|
||
prefs.C
|
||
|
||
Oliver 27 Oct 2003
|
||
- Fixed efficiency bugs in starfield
|
||
api/
|
||
gutil.C,h
|
||
|
||
Eric K 27 Oct 2003
|
||
- xml_indent() is now limited to a max of 40 spaces.
|
||
|
||
lib/
|
||
xml_util.h
|
||
|
||
David 27 Oct 2003
|
||
- let users see list of all their results
|
||
- added db_dump to list of programs updated by update_project
|
||
|
||
html_user/
|
||
host.inc
|
||
results.php (new)
|
||
results_host.php (deleted)
|
||
user.inc
|
||
py/Boinc/
|
||
setup_project.py
|
||
|
||
Karl 2003-10-27
|
||
- installshield: add "BOINC_gui -min" to startup folder
|
||
|
||
win_build/
|
||
boinc_installshield.zip
|
||
|
||
- process_app_version: write <open_name> tags; open_name is parsed from
|
||
disk filename 'open_name=url_filename' (url_filename is the basename of
|
||
file as copied to download/)
|
||
- print objects as they are committed (for database ID)
|
||
|
||
tools/
|
||
update_versions
|
||
py/Boinc/
|
||
tools.py
|
||
|
||
- upgrade: restart BOINC scheduler daemons automatically
|
||
|
||
tools/
|
||
upgrade
|
||
|
||
- BOINC 2.07 release
|
||
- Astropulse 2.07 release (...)
|
||
- SETI@Home 2.01 release
|
||
|
||
Karl 2003-10-27
|
||
- fixed bug in assuming client_state.XML always exists (it doesn't, on a
|
||
clean install)
|
||
|
||
- BOINC 2.08 release
|
||
|
||
David 28 Oct 2003
|
||
- login form: keyboard focus is on auth input field
|
||
html_user/
|
||
util.inc
|
||
|
||
Eric K 28 Oct 2003
|
||
- for machines with sysinfo, host.p_vendor and host.p_model are now
|
||
meaningful.
|
||
|
||
client/hostinfo_unix.C
|
||
|
||
Karl 2003-10-28
|
||
- added "const" to API function calls
|
||
- created "string" (as opposed to char[]) version of API function calls
|
||
|
||
M api/boinc_api.h
|
||
M api/mfile.C
|
||
M lib/app_ipc.C
|
||
M lib/app_ipc.h
|
||
|
||
Oliver 29 Oct 2003
|
||
|
||
- fixed improperly scaled logos
|
||
|
||
api/
|
||
gutil.C,h
|
||
|
||
|
||
David 28 Oct 2003
|
||
- app library: don't access shared memory if it's not there
|
||
(should keep non-standalone version from crashing
|
||
when run in isolation)
|
||
|
||
api/
|
||
windows_opengl.C
|
||
|
||
Karl 2003-10-29
|
||
- removed test_sanity check from configure
|
||
- updated distribution file lists
|
||
- updated installation program to get rid of country_select
|
||
configure.ac
|
||
*/Makefile.am
|
||
tools/
|
||
make_project
|
||
|
||
David 30 Oct 2003
|
||
- On call to CreateEvent() to make "event" object for
|
||
core client to ask app to quit (Windows)
|
||
changed ManualReset argument to false.
|
||
This fixes a bug where, after resetting a project,
|
||
all apps get quit signal immediately
|
||
- Change CLIENT_STATE::report_result_error() so that it
|
||
takes a format string and varargs
|
||
|
||
client/
|
||
app.C
|
||
client_state.C,h
|
||
pers_file_xfer.C
|
||
|
||
David 30 Oct 2003
|
||
- API writes to stderr if get quit request
|
||
- Include signal numbers, error codes in messages about process exit
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
app.C
|
||
client_state.C
|
||
cs_apps.C
|
||
cs_scheduler.C
|
||
|
||
David 30 Oct 2003
|
||
- When get new project preferences, notify (via shared-memory msg)
|
||
all running apps of that project.
|
||
New graphics prefs will take effect immediately.
|
||
|
||
lib/
|
||
app_ipc.C,h
|
||
client/
|
||
app.C
|
||
|
||
David 31 Oct 2003
|
||
- clarified types of seti_* fields
|
||
(cpu time is double, last result time is int)
|
||
- fixed bug in project prefs that caused unbounded extraneous CRs
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
schema.sql
|
||
html_user/
|
||
index.php
|
||
prefs.inc
|
||
prefs.php
|
||
prefs_edit_action.php
|
||
stats.php (new)
|
||
|
||
David 31 Oct 2003
|
||
- Added a mechanism allowing applications to change their graphics
|
||
"on the fly" in response to new project preferences:
|
||
- Added a new message type <reread_prefs/> to the
|
||
core->app graphics segment
|
||
- When the graphics framework (windows_opengl.C) gets this message,
|
||
it calls an application function app_graphics_reread_prefs().
|
||
This function can call boinc_parse_init_data_file() (see below)
|
||
to get the new prefs
|
||
- Core client: when get new project preferences,
|
||
write new init_data.xml files for all running apps,
|
||
and send them <reread_prefs/> messages.
|
||
New functions:
|
||
ACTIVE_TASK::write_app_init_file()
|
||
ACTIVE_TASK::request_reread_prefs()
|
||
ACTIVE_TASK_SET::request_reread_prefs(PROJECT*)
|
||
- name changes:
|
||
old new
|
||
boinc_init_opengl boinc_init_graphics
|
||
boinc_finish_opengl boinc_finish_graphics
|
||
app_init_gl app_graphics_init
|
||
app_render app_graphics_render
|
||
app_resize app_graphics_resize
|
||
REDUCED_ARRAY::init init_data
|
||
REDUCED_ARRAY::init_draw init_display:$
|
||
- changed graphics objects (PROGRESS, PROGRESS2D, RIBBON_GRAPH)
|
||
to use init() functions instead of constructor for setup;
|
||
changed STARFIELD::build_stars() so that it can be called repeatedly
|
||
- factored code to read init_data.xml into a new function
|
||
boinc_parse_init_data_file()
|
||
- moved tImageJPG out of the .h file - it's not interface
|
||
|
||
api/
|
||
boinc_api.C,h
|
||
graphics_api.C,h
|
||
gutil.C,h
|
||
reduce.C,h
|
||
windows_opengl.C
|
||
client/
|
||
app.C,h
|
||
cs_scheduler.C
|
||
doc/
|
||
graphics.sxd (new)
|
||
graphics.png (new)
|
||
lib/
|
||
app_ipc.C
|
||
parse.C,h
|
||
|
||
David 31 Oct 2003
|
||
- boinc_resolve_filename() (string version)
|
||
physical name defaults to virtual name
|
||
|
||
lib/
|
||
app_ipc.C
|
||
|
||
David 1 Nov 2003
|
||
- core client: when get new project prefs,
|
||
use PROJECT::parse_account_file() to extract the correct
|
||
venue-specific variant
|
||
|
||
client/
|
||
client_types.C,h
|
||
cs_scheduler.C
|
||
|
||
David 2 Nov 2003
|
||
- Changed the way that user-supplied files (e.g. logos and images) work.
|
||
OLD WAY: (see checkin by "Erik", May 19 2003)
|
||
the scheduling server scans the user's project prefs
|
||
and inserts <file_info> and <file_ref> elements
|
||
into the <app_version> element,
|
||
making it look like the user-supplied files are associated
|
||
with the app.
|
||
This necessitated the slightly kludgy "optional"
|
||
attribute of FILE_INFO, so that slow-downloading
|
||
user-supplied files wouldn't defer work indefinitely.
|
||
NEW WAY:
|
||
The scheduling server is not involved.
|
||
PROJECT now has list "user_files" of FILE_REFS
|
||
FILE_INFO now has an attribute "is_user"file"
|
||
- When parse project prefs from account file,
|
||
or when get new project preferences from server,
|
||
convert <app_file> elements to entries in project.user_files
|
||
- new function ACTIVE_TASK::link_user_files() makes links
|
||
from slot dir to all user files that are present
|
||
- when the download of a user file completes,
|
||
tell running apps to reread prefs
|
||
(they'll find the user file now)
|
||
- garbage collection reference-counts user files
|
||
- got rid of "optional" mechanism
|
||
With this change, user-supplied images in graphics are updated
|
||
dynamically when the user edits prefs on web,
|
||
then does "Get Preferences" in core client
|
||
- Handling of completed file transfers moved from
|
||
PERS_FILE_XFER::poll() to CLIENT_STATE::handle_pers_file_xfers().
|
||
(this job of PERS_FILE_XFER is to transfer the file,
|
||
not deal with its contents)
|
||
- changed benchmarks defaults from 1GFLOPs to 10MFLOPs;
|
||
prevents slow computers from being inundated with work
|
||
|
||
api/
|
||
gutil.C (fixed code formatting)
|
||
client/
|
||
app.C,h
|
||
client_state.C,h
|
||
client_types.C,h
|
||
cs_account.C
|
||
cs_apps.C
|
||
cs_benchmark.C
|
||
cs_files.C
|
||
cs_scheduler.C
|
||
cs_statefile.C
|
||
pers_file_xfer.C
|
||
|
||
David 2 Nov 2003
|
||
- removed code in scheduling server for parsing project prefs
|
||
and inserting <file_info> elements into <app_version> elements
|
||
|
||
lib/
|
||
parse.C
|
||
sched/
|
||
handle_request.C
|
||
server_types.C,h
|
||
|
||
Karl 2003-11-02
|
||
- changed GUI titles:
|
||
- "computation done" is now "computation error"
|
||
- "results uploaded" is now "ready to report"
|
||
|
||
client/
|
||
gui_titles.C
|
||
|
||
- BOINC core client release 2.09
|
||
|
||
Karl 2003-11-03
|
||
|
||
- installer: ask whether BOINC should run at system startup (default yes)
|
||
|
||
- Moved installation files from win_build/boinc_installer.zip to
|
||
win_build/installer/
|
||
|
||
- automate changing version numbers
|
||
|
||
win_build/
|
||
boinc_installer.zip (removed)
|
||
|
||
win_build/installer/*
|
||
added (115 files)
|
||
|
||
Karl 2003-11-04
|
||
- trivial validator: check for a minimum CPU time
|
||
|
||
sched/
|
||
validate_trivial.C
|
||
|
||
David 4 Nov 2003
|
||
- scheduler now respects disk usage limits.
|
||
Scheduler request message now includes BOINC disk usage,
|
||
both total and for this project.
|
||
The scheduler parses user's global preferences
|
||
to get disk-related prefs,
|
||
and computes the max storage that can be used.
|
||
It will send only as many results as fit within this limit.
|
||
NOTE: this is still deficient in several ways:
|
||
- it assumes that all results will use all their storage
|
||
simultaneously. It doesn't take into account that
|
||
some results may use large storage while running,
|
||
but not before or after.
|
||
- it doesn't take into account storage that has been
|
||
committed (to this or other projects) but not yet in use.
|
||
- there's no mechanism for enforcing resource shares for storage,
|
||
or for dynamic adjustment
|
||
- print exit codes in both dec and hex
|
||
|
||
client/
|
||
app.C
|
||
client_state.h
|
||
cs_prefs.C
|
||
cs_scheduler.C
|
||
pers_file_xfer.C
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
sched/
|
||
handle_request.C
|
||
server_types.C,h
|
||
|
||
David 4 Nov 2003
|
||
- change project file to get cmdline version to compile
|
||
(didn't test it)
|
||
|
||
client/
|
||
client_state.C
|
||
win/
|
||
win_net.cpp
|
||
win_build/
|
||
boinc_cli.dsp
|
||
boinc_gui.dsp
|
||
|
||
David 5 Nov 2003
|
||
- The following changes fix core client crashes that occur when
|
||
reset a project, then quickly detach from the project
|
||
while downloads are occurring.
|
||
In once instance, this produced a state file that caused
|
||
the client to crash each time it started up.
|
||
- when parse an ACTIVE_TASK in state file,
|
||
verify that the corresponding result is in the right state
|
||
(RESULT_FILES_DOWNLOADED, with got_server_ack and ready_to_report false)
|
||
- when parse a RESULT in state file,
|
||
make sure it's consistent: in particular,
|
||
if got_server_ack or ready_to_report is true,
|
||
the state must be RESULT_FILES_UPLOADED
|
||
- CLIENT_STATE::detach_project(): delete all the project's FILE_INFOs
|
||
(reset_project() doesn't do this)
|
||
|
||
client/
|
||
app.C
|
||
client_state.C
|
||
client_types.C
|
||
lib/
|
||
error_numbers.h
|
||
|
||
David 5 Nov 2003
|
||
- improve clarity of messages about prefs
|
||
(e.g. say "your defaults" instead of just "defaults")
|
||
|
||
client/
|
||
client_state.C
|
||
client_types.C
|
||
prefs.C
|
||
|
||
David 6 Nov 2003
|
||
- cleaned up CPU time chaos
|
||
OLD:
|
||
An app measures and reports its CPU time when it calls
|
||
boinc_time_to_checkpoint(), which may be infrequent.
|
||
The reported CPU time is for the whole process
|
||
(including graphics thread: wrong)
|
||
If the core client doesn't get a message within 5 seconds,
|
||
it measures app CPU time externally,
|
||
with ACTIVE_TASK::get_cpu_time_via_os()
|
||
(this can cause reported CPU time to jump up and down).
|
||
Ambiguous function boinc_cpu_time(): does it return time for
|
||
calling thread only? time since WU start?
|
||
NEW:
|
||
An app measures and reports its CPU time every 1 sec,
|
||
from the timer interrupt.
|
||
The reported CPU time is only for the worker thread.
|
||
Replace boinc_cpu_time() with:
|
||
boinc_thread_cpu_time(): CPU time of calling thread
|
||
(also used by graphics_cpi.C to measure rendering time)
|
||
boinc_wu_cpu_time(): CPU time of WU so far (for graphics thread)
|
||
Notes:
|
||
- The app no longer needs to call boinc_time_to_checkpoint()
|
||
with any regularity
|
||
- the timer interrupt handler runs on a different thread,
|
||
so we record the worker thread handle.
|
||
- use double rather than time_t in calculation of estimated completion
|
||
- Code cleanup:
|
||
removed some declarations from boinc_api.h
|
||
(Don't declare internal functions in a .h file!)
|
||
removed using_opengl, write_frac_done
|
||
made things static that should be static
|
||
removed "externs" from .C files (SHOULD NEVER EXIST)
|
||
|
||
api/
|
||
boinc_api.C,h
|
||
graphics.C,h
|
||
windows_opengl.C
|
||
client/
|
||
app.C,h
|
||
|
||
David 6 Nov 2003
|
||
- default value for disk_min_free_gb is now 0.1 (100 MB)
|
||
- scheduler writes detailed msg when get insufficient disk condition;
|
||
also writes explanatory msg to user
|
||
- Admin interfaces: order WUs/results by descending ID in general
|
||
|
||
html_ops/
|
||
db_action.php
|
||
db_form.php
|
||
db_ops.inc
|
||
index.php
|
||
html_user/
|
||
prefs.inc
|
||
sched/
|
||
handle_request.C
|
||
|
||
Eric 7 Nov 2003
|
||
- Fixed UNIX (Mac) compile problems
|
||
|
||
api/boinc_api.C
|
||
apps/upper_case.C
|
||
|
||
David 6 Nov 2003 (note: Eric's on the other side of the Int. Date Line)
|
||
- Fixed bug that cause CPU time to jump whenever Get Preferences.
|
||
It's because the app is getting a new aid.wu_cpu_time
|
||
as part of reread_prefs;
|
||
this is incorrectly added to the thread's CPU time.
|
||
Solution: make a copy of aid.wu_cpu_time at startup and use the copy.
|
||
|
||
api/
|
||
boinc_api.C
|
||
|
||
David 7 Nov 2003
|
||
- Added "remember authenticator" checkbox to user login
|
||
(sends cookie with 1 year expiration)
|
||
- General preferences use defined symbols so field descriptions
|
||
are same in both display and edit versions
|
||
- In admin web interface, make SQL clauses feature work
|
||
|
||
html_ops/
|
||
db_ops.inc
|
||
html_user/
|
||
index.php
|
||
login_action.php
|
||
prefs.inc
|
||
util.inc
|
||
logout.php
|
||
|
||
David 7 Nov 2003
|
||
- Were using the wrong block size in disk size calculation
|
||
(off by a factor of 16 on Solaris)
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
app.C
|
||
lib/
|
||
filesys.C
|
||
|
||
David 7 Nov 2003
|
||
- In make_work, need to initialize many fields of the WU being created.
|
||
For example, if assimilate_state is not INIT,
|
||
the transitioner will not create any results for the new WU!
|
||
|
||
html_ops/
|
||
db_form.php
|
||
sched/
|
||
make_work.C
|
||
|
||
David 7 Nov 2003
|
||
- Added const to some char* args (so can use strings)
|
||
- Removed cruft from upper_case.C
|
||
|
||
apps/
|
||
upper_case.C
|
||
lib/
|
||
filesys.C,h
|
||
|
||
Karl 2003-11-07
|
||
- changed { 'Get preferences' , 'Retry now' } to { 'Update', 'Update
|
||
(retry now)' }
|
||
|
||
client/win
|
||
wingui_mainwindow.cpp
|
||
|
||
David 9 Nov 2003
|
||
- change upper_case app so that -cpu_time actually uses
|
||
significant CPU time (36 secs on my laptop)
|
||
- core state file writes sometimes fail if another app (e.g. text editor)
|
||
has the file open. Show error code.
|
||
- don't start a scheduler RPC if we're suspended
|
||
- don't show parse error messages for empty lines in scheduler reply
|
||
- if reset a project during a scheduler RPC, set the scheduler_op state
|
||
to IDLE (else will never do another RPC)
|
||
|
||
api/
|
||
graphics_api.C
|
||
apps/
|
||
upper_case.C
|
||
client/
|
||
client_state.C
|
||
cs_scheduler.C
|
||
scheduler_op.C
|
||
lib/
|
||
filesys.C
|
||
|
||
Eric 10 Nov 2003
|
||
- readded statfs support for systems that don't have statvfs (i.e. Mac)
|
||
|
||
lib/filesys.C
|
||
|
||
David 9 Nov 2003
|
||
- boinc_init(): initialize last_checkpoint_cpu_time.
|
||
This is why reported CPU time would sometimes go to zero
|
||
- Upper case app: report fraction done like you're supposed to
|
||
- Write checkpoint CPU time in %.15e format.
|
||
SHOULD ALWAYS USE THIS FOR FLOATING PT NUMBERS
|
||
- released version 2.06 of upper_case in the client test project.
|
||
Also changed est FP ops in that DB so that clients get few results
|
||
|
||
api/
|
||
boinc_api.C
|
||
apps/
|
||
upper_case.C
|
||
win_builc/
|
||
upper_case.dsp
|
||
|
||
David 10 Nov 2003
|
||
- released versions of Astropulse (2.10) and SETI@home (2.08) for Windows.
|
||
|
||
Karl 2003-11-11
|
||
- compile fixes
|
||
lib/
|
||
xml_util.C
|
||
|
||
David 11 Nov 2003
|
||
- added "appid" field to result (redundant copy of WU's appid)
|
||
- added index on result (appid, received_time desc)
|
||
- changed admin web interface to show recent results
|
||
broken down by application
|
||
- sched_shmem: omit app versions with wrong major version
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
constraints.sql
|
||
schema.sql
|
||
html_ops/
|
||
db_action.php
|
||
db_form.php
|
||
db_ops.php
|
||
index.php
|
||
html_user/
|
||
util.inc
|
||
sched/
|
||
sched_shmem.C
|
||
tools/
|
||
backend_lib.C
|
||
|
||
David 11 Nov 2003
|
||
- modify the scheduler so that if a client requests work,
|
||
and there are unsent results, but none can be sent,
|
||
then the client gets an explanatory message: either
|
||
- no app version available
|
||
- insufficient disk
|
||
- insufficient memory
|
||
- host is too slow
|
||
This involved creating a WORK_REQ structure that gets passed
|
||
around, to avoid huge numbers of arguments
|
||
- modify the scheduler so that if either
|
||
1) the shared-mem segment is absent or
|
||
2) the DB can't be opened
|
||
then it writes a "project temporarily down for maintenance"
|
||
message instead of just exiting
|
||
|
||
sched/
|
||
handle_request.C
|
||
main.C
|
||
|
||
David 11 Nov 2003
|
||
- if get MD5 error, print expected and computed checksum
|
||
|
||
client/
|
||
cs_files.C
|
||
|
||
David 12 Nov 2003
|
||
- commented, cleanup up and fixed SqlQueryString (db_ops.inc)
|
||
It now correctly passes clauses in URLs, etc.
|
||
|
||
client/
|
||
cs_files.C
|
||
html_ops/
|
||
db_action.php
|
||
db_ops.inc
|
||
|
||
Karl 2003-11-17
|
||
- BOINC release 2.10 for windows, Linux, solaris2.7, solaris2.8
|
||
|
||
|
||
Karl 2003-11-20
|
||
- updated translation files
|
||
|
||
client/translation/
|
||
language.ini.fr
|
||
langauge.ini.nl
|
||
|
||
Karl 2003-11-21
|
||
client/translation/
|
||
langauge.ini.de
|
||
|
||
Karl 2003-11-21
|
||
- fixed recursive boinc_thread_cpu_time typo bug that resulted in loss of
|
||
client app functionality (bug noticed by Nuno Ferreira
|
||
<nuno.ferreira@graycell.biz>)
|
||
|
||
api/
|
||
boinc_api.C
|
||
|
||
|
||
Karl 2003-11-22
|
||
- made change to get_filesystem_info() that reportedly is all that's
|
||
needed to get BOINC working on NT4. (fix by <bewolf.geo@yahoo.com>)
|
||
|
||
lib/
|
||
filesys.C
|
||
|
||
- accept command-line options with two dashes or one dash (instead of
|
||
only with one dash)
|
||
- if arguments are incorrect, exit after showing help
|
||
|
||
client/
|
||
cs_cmdline.C
|
||
|
||
- chmod 600 the account file.
|
||
|
||
client/
|
||
client_types.C
|
||
|
||
Karl 2003-11-24
|
||
- fixed bug in boinc_db.C which causes SQL lookups to seg fault if any of
|
||
the 'seti_*' grandfather fields are NULL (how does the current beta test
|
||
run at all?!)
|
||
|
||
db/
|
||
boinc_db.C
|
||
|
||
- testbase tweaks
|
||
|
||
test/
|
||
testbase.py
|
||
cgiserver.py
|
||
|
||
David 25 Nov 2003
|
||
- added host.rpc_time to DB dump
|
||
- made seti_* fields "not null" in schema
|
||
|
||
client/
|
||
hostinfo_unix.C
|
||
db/
|
||
schema.sql
|
||
doc/
|
||
db_dump.php
|
||
index.html
|
||
software.php
|
||
sched/
|
||
db_dump.C
|
||
|
||
David 25 Nov 2003
|
||
- Changes to a running app's checkpoint_cpu_time
|
||
(as conveyed in shared-memory msgs)
|
||
were not triggering state file writes.
|
||
As a result the CPU time of a result was, in general,
|
||
returning to zero after a reboot.
|
||
- ACTIVE_TASK_SET::poll(): if any task's checkpoint_cpu_time has changed,
|
||
trigger a client state file write
|
||
- renamed ACTIVE_TASK_SET::get_cpu_times() -> get_status_msgs()
|
||
Also, this function now returns boolean:
|
||
whether any checkpoint_cpu_time has changed
|
||
- renamed ACTIVE_TASK::get_cpu_time_via_shmem() -> get_status_msg()
|
||
(since the message includes more than just CPU time)
|
||
- removed ACTIVE_TASK.last_status_msg_time (not used)
|
||
- factored out logic to compute frac_rate_of_change
|
||
and put it in a separate function
|
||
(ACTIVE_TASK::estimate_frac_rate_of_change())
|
||
- print app version for results in GUI
|
||
|
||
client/
|
||
app.C,h
|
||
client_types.C,h
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
|
||
Karl 2003-11-25
|
||
- wrote release notes
|
||
doc/
|
||
ssl_client_release_instructions.txt
|
||
|
||
David 25 Nov 2003
|
||
- Fixed bug that could cause a workunit to be sent to a client
|
||
without any corresponding result.
|
||
I'm not sure what happens then but it can't be good.
|
||
|
||
Here's the deal:
|
||
OLD:
|
||
retval = add_wu_to_reply() // returns error if no app version
|
||
if (retval) continue
|
||
reread result from DB
|
||
if result.state != UNSENT continue
|
||
// if this happens, we'll send the WU but not the result
|
||
NEW:
|
||
found = find_app_version()
|
||
if (!found) continue;
|
||
reread result from DB
|
||
if result.state != UNSENT continue
|
||
add_wu_to_reply()
|
||
|
||
sched/
|
||
handle_request.C
|
||
|
||
David 25 Nov 2003
|
||
- Changed db_dump to generate valid XML.
|
||
Escape text fields as follows
|
||
& -> &
|
||
' -> '
|
||
" -> "
|
||
< -> <
|
||
> -> >
|
||
|
||
sched/
|
||
db_dump.C
|
||
|
||
Gary 25 Nov 2003
|
||
- BOINC release 2.11 for windows, Linux, solaris2.7, solaris2.8
|
||
|
||
Gary 26 Nov 2003
|
||
- BOINC release 2.12 for windows, Linux, solaris2.7, solaris2.8
|
||
fixes problem with windows release 2.11 installer
|
||
no change to Solaris/Linux clients
|
||
|
||
Gary 26 Nov 2003
|
||
- Changed Network Bandwith limits display & entry units to be
|
||
expressed in terms of Kbytes instead of bytes. Values are
|
||
still stored in db as bytes.
|
||
|
||
html_user/
|
||
prefs.inc
|
||
|
||
David 27 Nov 2003
|
||
- put missing <project_specific> tags around
|
||
project-specific prefs when write account files
|
||
- removed uniqueness constraint on user.seti_id
|
||
(this will generally be zero)
|
||
|
||
client/
|
||
client_types.C,h
|
||
db/
|
||
constraints.sql
|
||
|
||
David 28 Nov 2003
|
||
- Fixed various problems with project preferences.
|
||
(overrides yesterday's non-fix)
|
||
PROJECT now has separate fields for
|
||
project_prefs (entire prefs, include venue variants)
|
||
project_specific_prefs (only project specific,
|
||
and only for current venue).
|
||
These had been confused before.
|
||
The account_*.xml file has the project_prefs,
|
||
enclosed in a <project_preferences> element
|
||
- updated document about account files
|
||
- Changed project prefs from char[MAX_BLOB_LEN] to string,
|
||
and added variant of copy_element_contents() for string.
|
||
|
||
client/
|
||
app.C
|
||
client_types.C,h
|
||
cs_scheduler.C
|
||
scheduler_ops.C
|
||
doc/
|
||
client_files.php
|
||
lib/
|
||
parse.C,h
|
||
|
||
Karl 2003-11-28
|
||
- fixed unix help for -update_prefs
|
||
|
||
client/
|
||
cs_cmdline.C
|
||
|
||
David 2003-11-28
|
||
- changed date/time display in Windows to yyyy-mm-dd hh:mm:ss
|
||
|
||
client/win/
|
||
wingui_mainwindow.cpp
|
||
|
||
David 28 Nov 2003
|
||
- added "signature" field to user table;
|
||
when making forum postings,
|
||
users have the option of appending signature
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
schema.sql
|
||
html_user/
|
||
edit_user_info_action.php
|
||
edit_user_info_form.php
|
||
index.php
|
||
util.inc
|
||
|
||
Karl 2003-11-28
|
||
- fixed problems in testbase.py:
|
||
- changed workunit fpops due to change in client default benchmark
|
||
- changed app_version major version to come from version.MAJOR_VERSION
|
||
- added new columns to python database interface
|
||
- test_uc.py (and thus 'make check') pass now.
|
||
|
||
test/
|
||
testbase.py
|
||
py/Boinc/
|
||
database.py
|
||
|
||
- client: close write socket when done writing (but still reading) by
|
||
using shutdown(2). This allows the 'use_file' mechanism in
|
||
sched/main.C to work.
|
||
|
||
client/
|
||
http.C
|
||
|
||
David 28 Nov 2003
|
||
- print "expected X, got Y" msg only if md5 computation succeeded
|
||
|
||
client/
|
||
cs_files.C
|
||
|
||
Karl 2003-11-28
|
||
- new base64_encode() and base64_decode() functions.
|
||
- small fixes to Makefiles
|
||
|
||
lib/
|
||
parse.h
|
||
base64.C (new)
|
||
Makefile.am
|
||
api/
|
||
Makefile.am
|
||
|
||
David 29 Nov 2003
|
||
- top hosts shows 10 hosts, lets you page forward/back
|
||
- Various stuff related to message boards (formerly known as Forum)
|
||
- don't show blue links on blue background
|
||
- terminology in message-board interface
|
||
"message boards" describes the message system
|
||
"questions/problems" describes the FAQ system
|
||
- got rid of hard-wired field widths
|
||
- removed "activity" stuff (wasn't being used)
|
||
- cleaned up names in the beta-test database
|
||
- Yahoo-type hierarchical page titles
|
||
- made "sort by" work when step through pages
|
||
- added category, forum tables to schema.sql
|
||
- added comments on PHP-only tables to schema.sql
|
||
|
||
db/
|
||
schema.sql
|
||
html_user/
|
||
edit_user_info_action.php
|
||
index.php
|
||
top_hosts.php
|
||
user.inc
|
||
util.inc
|
||
white.css
|
||
forum/
|
||
forum.inc
|
||
forum.php
|
||
help_desk.php
|
||
index.php
|
||
post.php
|
||
reply.php
|
||
thread.php
|
||
|
||
Karl 2003-12-02
|
||
- created export-tarball program for nightly-tarball
|
||
|
||
nightly-tarball
|
||
|
||
David 2 Dec 2003
|
||
- changed indices on result table
|
||
changed res_hostid to include id desc
|
||
removed res_wuid
|
||
added app_received_time
|
||
- removed "last result for host" info from web pages;
|
||
this required an index with no other function
|
||
- added comments to constraints.sql explaining why each index is needed
|
||
- add "subscriptions" table to schema.sql
|
||
|
||
db/
|
||
constraints.sql
|
||
schema.sql
|
||
html_user/
|
||
host.inc
|
||
totals.php
|
||
util.inc
|
||
forum/
|
||
post.php
|
||
subscribe.inc
|
||
|
||
David 2 Dec 2003
|
||
- Don't start more than 2 simultaneous file transfers per project
|
||
|
||
client/
|
||
client_state.h
|
||
cs_cmdline.C
|
||
cs_files.C
|
||
cs_scheduler.C
|
||
hostinfo.C
|
||
pers_file_xfer.C
|
||
|
||
Karl 2003-12-02
|
||
- committed Robi Buecheler's translation updates.
|
||
|
||
client/translation/
|
||
language.ini.bg
|
||
language.ini.ca
|
||
language.ini.cs
|
||
language.ini.da
|
||
language.ini.de
|
||
language.ini.es
|
||
language.ini.et
|
||
language.ini.fi
|
||
language.ini.fr
|
||
language.ini.gl
|
||
language.ini.hr
|
||
language.ini.it
|
||
language.ini.ja-euc (added)
|
||
language.ini.ja-sjis (added)
|
||
language.ini.ko
|
||
language.ini.nl
|
||
language.ini.pl
|
||
language.ini.pt
|
||
language.ini.ru
|
||
language.ini.sk
|
||
language.ini.sv
|
||
language.ini.template
|
||
language.ini.zh-big5 (added)
|
||
language.ini.zh-gb2312 (added)
|
||
|
||
David 3 Dec 2003
|
||
- Added "Pending credit" row to user page
|
||
- Added new elements to XML stats dump (tables.xml) to show
|
||
- applications
|
||
- # results unsent/in progress/over for each app
|
||
|
||
html_user/
|
||
user.inc
|
||
sched/
|
||
db_dump.C
|
||
|
||
David 3 Dec 2003
|
||
- express message board times as "X days Y hours Z minutes ago"
|
||
instead of absolute time
|
||
- on FAQ entries, display #times asked and time of last answer
|
||
|
||
html_user
|
||
/forum/
|
||
forum.inc
|
||
forum.php
|
||
help_desk.php
|
||
time.inc (new)
|
||
sched/
|
||
db_dump.C
|
||
|
||
Gary 04 Dec 2003
|
||
- fixed a bug in app.C which caused the checkpoint_cpu_time to
|
||
nearly double in certain cases. This was most obvious in the
|
||
windows core client.
|
||
[in ACTIVE_TASK::write_app_init_file()]
|
||
old:
|
||
aid.wu_cpu_time = checkpoint_cpu_time;
|
||
new:
|
||
aid.wu_cpu_time = starting_cpu_time;
|
||
|
||
client/
|
||
app.C
|
||
|
||
Gary 04 Dec 2003
|
||
- BOINC release 2.13 for windows, Linux, solaris2.7, solaris2.8
|
||
|
||
David 4 Dec 2003
|
||
- Use a different PHP HTML filter; the old one was buggy.
|
||
- Add HTML filtering of user-supplied text
|
||
(user profiles, message boards, etc.)
|
||
NOTE: should be explicit about what things
|
||
cannot contain ANY html tags
|
||
(user names, team names)
|
||
what about team descriptions? user URLs etc.
|
||
NOTE: someone should figure out exactly where we should
|
||
be using stripslashes() and addslashes().
|
||
|
||
html_user/
|
||
htmlfilter.inc (removed)
|
||
profile.inc
|
||
sanitize_html.inc
|
||
team.inc
|
||
time.inc
|
||
kses.php (new)
|
||
forum/
|
||
edit.php
|
||
forum.inc
|
||
forum.php
|
||
index.php
|
||
reply.php
|
||
|
||
Gary 05 Dec 2003
|
||
- in check_app_exited() look for most recent checkpoint_cpu_time
|
||
and use it to calculate final_cpu_time for result.
|
||
|
||
client/
|
||
app.C
|
||
|
||
David 5 Dec 2003
|
||
- On Windows, removed the shutdown() in http.C;
|
||
this caused a problem with Norton Firewall
|
||
- Removed counts of done/validated results for host from user web;
|
||
no efficient way to get this
|
||
- in cgi.log, show when send an app_version
|
||
- make_work: maintain cushion based on unsent results for this app
|
||
(not total)
|
||
- transitioner: check trigger file every WU, not every pass
|
||
|
||
client/
|
||
app.C
|
||
http.C
|
||
html_user/
|
||
host.inc
|
||
profile.inc
|
||
sched/
|
||
handle_reqest.C
|
||
make_work.C
|
||
transitioner.C
|
||
|
||
David 6 Dec 2003
|
||
- Extend the "start" script to handle remote tasks. Summary:
|
||
- config.xml has a mandatory config.host element
|
||
(for the project's main server)
|
||
and optional task.host elements (default is main host)
|
||
- Host X has its own run state file, run_state_X.xml
|
||
- Host X has its own pid directory, pid_dir_X/
|
||
- Host X has its own log directory, log_X/
|
||
- Host X has its own lock file for "start", start.lock.X
|
||
- run_daemons() etc. run tasks only for the current host
|
||
- When run on the main host, start builds a list of other hosts
|
||
and runs itself (with same cmdline, using ssh)
|
||
on each of the other hosts.
|
||
|
||
Notes:
|
||
1) I didn't add <host>*</host> capability;
|
||
it's not clear that we need this
|
||
2) Output formatting could be improved
|
||
|
||
- Changed the scheduler to log to ../log_X/cgi.log (X=hostname)
|
||
|
||
sched/
|
||
main.C
|
||
start
|
||
|
||
David 7 Dec 2003
|
||
- Fixed bugs involving buffer overflow of BLOB fields.
|
||
These can be up to 65536 bytes in MySQL.
|
||
MAX_BLOB_SIZE was defined as 4K.
|
||
strcpy2() didn't do any buffer size checking.
|
||
A team description was over 8K long.
|
||
This caused db_dump to crash.
|
||
Solution:
|
||
- strcpy2() now defined as a macro that uses the sizeof()
|
||
its destination, and doesn't overwrite it.
|
||
- MAX_BLOB_SIZE replaced with 2 symbols:
|
||
MEDIUM_BLOB_SIZE for fields used by BOINC
|
||
defined as 4K so as to not increase shmem usage
|
||
LARGE_BLOB_SIZE for fields with user-supplied text
|
||
defined as 64K
|
||
|
||
db/
|
||
boinc_db.h
|
||
db_base.C,h
|
||
html_user/
|
||
result.inc
|
||
white.css
|
||
sched/
|
||
assimilator.C
|
||
db_dump.C
|
||
file_deleter.C
|
||
handle_request.C
|
||
make_work.C
|
||
server_types.C
|
||
transitioner.C
|
||
tools/
|
||
add.C
|
||
backend_lib.C
|
||
create_work.C
|
||
process_result_template.C
|
||
|
||
David 7 Dec 2003
|
||
- Changed db_dump so that it doesn't chdir() into the output directory
|
||
(it it does, and it crashes, that makes its core file
|
||
visible to the world, and that may contain private info)
|
||
|
||
sched/
|
||
db_dump.C
|
||
|
||
David 7 Dec 2003
|
||
- add sort options for FAQ questions, answers
|
||
- added create_time field to "thread" table
|
||
(so can sort questions by time asked)
|
||
- increase href limit in HMTL sanitizer to 150 chars
|
||
- simply time difference display
|
||
|
||
db/
|
||
schema.sql
|
||
html_user/
|
||
sanitize_html.inc
|
||
time.inc
|
||
forum/
|
||
forum.inc
|
||
forum.php
|
||
help_desk.php
|
||
thread.php
|
||
|
||
Jeff 8 Dec 2003
|
||
- Fixed the ifdef's surrounding the typedef of socklen_t. Removed the
|
||
"#ifdef socklen_t" because it does nothing and added the
|
||
"#elif defined (__APPLE__)".
|
||
|
||
client/
|
||
net_xfer.C
|
||
|
||
David 8 Dec 2003
|
||
- added full-text keyword search of message bodies and thread titles
|
||
|
||
html_user/forum/
|
||
forum.inc
|
||
forum.php
|
||
help_desk.php
|
||
index.php
|
||
text_search_action.php (new)
|
||
text_search_form.php (new)
|
||
|
||
Jeff 09 Dec 2003
|
||
- We have the same gcc version problem with solaris that we do with
|
||
linux whereby if the version number of libstdc++.so on the run
|
||
machine is different than that on the build machine, the loader
|
||
fails. However, on solaris you cannot just say gcc -static as there
|
||
are dynamic only versions of some needed libs, namely libdl and
|
||
libaio. I tried to use the -Xlinker gcc option which theoretically
|
||
should allow us to specify the link (collect2) line in precise
|
||
detail. But -lstdc++ kept showing up twice with one occurrence
|
||
being outside my -Xlinker -B -Xlinker static directive. So I
|
||
hand crafted a collect2 line and placed it in a file - collect2_line.
|
||
Sourcing this file produces an executable that will load and run
|
||
across gcc versions (and solaris versions for that matter). I
|
||
don't like it but it works.
|
||
|
||
IMPORTANT NOTE. After sourcing collect2_line you have to
|
||
re-"hard link" the executable boinc_client to a proper
|
||
name with the correct version.
|
||
|
||
client/
|
||
collect2_line (new file)
|
||
|
||
Gary 09 Dec 2003
|
||
- BOINC release 2.14 for windows, Linux, solaris2.7, solaris2.8
|
||
|
||
Gary 09 Dec 2003
|
||
- fixed typo in Network Bandwidth limits display (was missing /s)
|
||
|
||
html_user/
|
||
prefs.inc
|
||
|
||
|
||
Karl 2003-12-09
|
||
- don't run the scheduler cgi if stop_server trigger exists.
|
||
|
||
sched/
|
||
main.C
|
||
|
||
David 9 Dec 2003
|
||
- scheduler returns message if "../stop_servers" exists
|
||
NOTE SPELLING; "stop_server" was error
|
||
- web site main page checks for "stop_servers" file,
|
||
shows "project down" message if so
|
||
TODO: have all DB-driven pages do this
|
||
- don't show link to main page on main page
|
||
- turned off "rate message" control (wasn't being used)
|
||
|
||
html_user/
|
||
index.php
|
||
time.inc
|
||
util.inc
|
||
forum/
|
||
forum.inc
|
||
post.php
|
||
text_search_action.php
|
||
thread.php
|
||
sched/
|
||
main.C
|
||
sched_util.C,h
|
||
|
||
Eric K. 12/11/2003
|
||
|
||
Added check for strlcpy() to configure.ac and definition of
|
||
strlcpy() to std_fixes.h.
|
||
Added C++ header and namespace checks to m4 and config.h
|
||
Added include of "std_fixes.h" to boinc_db.C
|
||
|
||
aclocal.m4
|
||
configure.ac
|
||
configure
|
||
config.h.in
|
||
lib/std_fixes.h
|
||
m4/sah_namespace.m4
|
||
m4/sah_header_stdcxx.m4
|
||
|
||
David 11 Dec 2003
|
||
- Add <db_host> element to config file and SCHED_CONFIG.
|
||
Add db_host argument to DB_CONN::open()
|
||
All server programs can now be run on different machine from MySQL
|
||
- Add "deprecated" field to app table
|
||
Deprecated apps are treated as non-existent
|
||
- Add "deprecated", "user_friendly_name" to platform table
|
||
Deprecated platforms are treated as non-existent
|
||
- Add new value for validate_state: VALIDATE_STATE_NO_CHECK
|
||
This indicates the the result's WU had an error,
|
||
and the result will never be validated.
|
||
Such results are not counted towards pending credit.
|
||
Transitioner: when set a WU error flag,
|
||
change its results VALIDATE_STATE_INIT -> NO_CHECK
|
||
- Add "Applications" page to web site:
|
||
shows platforms, latest version for each app
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
db_base.C,h
|
||
schema.sql
|
||
html_ops/
|
||
db_ops.inc
|
||
html_user/
|
||
download.inc
|
||
host.inc
|
||
index.php
|
||
stats.php
|
||
util.inc
|
||
apps.php (new)
|
||
intro.php (new)
|
||
py/Boinc
|
||
database.py
|
||
sched/
|
||
assimilator.C
|
||
db_dump.C
|
||
feeder.C
|
||
file_deleter.C
|
||
main.C
|
||
make_work.C
|
||
sched_config.C,h
|
||
sched_shmem.C
|
||
transitioner.C
|
||
update_stats.C
|
||
validate.C
|
||
wu_check.C
|
||
|
||
Gary 11 Dec 2003
|
||
- changed the way tab windows are hidden/shown in windows gui,
|
||
to fix intermittent window repainting bug.
|
||
old:
|
||
<hide all windows by setting turning off WS_VISIBLE style>
|
||
<show selected window by turning on WS_VISIBLE style>
|
||
<redraw window>
|
||
The trouble with this technique is that it does not
|
||
activate the window, so it will only work if the
|
||
window becomes active *before* the redraw takes place.
|
||
new:
|
||
<hide all visible windows via ShowWindow(SW_HIDE)>
|
||
<redraw selected window >
|
||
<show selected window via ShowWindow(SW_SHOW)>
|
||
|
||
client/win/
|
||
wingui_mainwindow.cpp
|
||
|
||
David 12 Dec 2003
|
||
- changed "opaque" fields from int to double
|
||
- Unix core client: if execv() fails, exit with errno rather than -1
|
||
- show link to user on non-private host page
|
||
- fix bug in update_stats: don't crash if team has zero members
|
||
- add "update_stats" to install_boinc_files()
|
||
|
||
client/
|
||
app.C
|
||
doc/
|
||
client_files.php
|
||
db_dump.php
|
||
index.html
|
||
old_news.php
|
||
prefs.php
|
||
db/
|
||
boinc_db.C,h
|
||
schema.sql
|
||
html_user/
|
||
db.inc
|
||
host.inc
|
||
index.php
|
||
workunit.php
|
||
py/Boinc/
|
||
setup_project.py
|
||
sched/
|
||
update_stats.C
|
||
|
||
David 12 Dec 2003
|
||
- Core client: print host ID (per project) in startup messages
|
||
- calculate file transfer speeds correctly
|
||
(e.g. use doubles for time, not int)
|
||
Show latest transfer speed in message when transfer finishes
|
||
|
||
client/
|
||
client_state.C
|
||
net_xfer.C,h
|
||
pers_file_xfer.C
|
||
|
||
Gary 12 Dec 2003
|
||
- fixed bug that caused 'Progress' and 'To completion' columns to reset to
|
||
0.00% and init completion time at end of WU.
|
||
|
||
client/win/
|
||
wingui_mainwindow.cpp
|
||
|
||
David 12 Dec 2003
|
||
- fixed bug that caused est. time to completion to not update
|
||
|
||
client/
|
||
app.C
|
||
|
||
David 14 Dec 2003
|
||
- added "has_profile" flag to user table;
|
||
whenever a user has a profile,
|
||
display a "profile icon" linking to it.
|
||
Also write it to XML files
|
||
- Change file_upload_handler to put its log file
|
||
in the right directory
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
scheme.sql
|
||
html_user/
|
||
host.inc
|
||
host_user.php
|
||
index.php
|
||
profile.inc
|
||
team.inc
|
||
top_hosts.php
|
||
user.inc
|
||
util.inc
|
||
py/Boinc/
|
||
database.py
|
||
sched/
|
||
db_dump.C
|
||
file_upload_handler.C
|
||
|
||
David 15 Dec 2003
|
||
- fixed bug in database API: "return p && atoi(p)"
|
||
In C (unlike Python) this does not generally return atoi(p);
|
||
it returns 1. Fortunately the only effect of this was that user.posts
|
||
kept getting set to 1 for all users
|
||
- increased max query length in DB API,
|
||
in case prefs become really really long
|
||
|
||
db/
|
||
boinc_db.C
|
||
db_base.C
|
||
html_user/
|
||
download.php
|
||
util.inc
|
||
forum/
|
||
forum.inc
|
||
forum.php
|
||
reply.php
|
||
|
||
Gary 15 Dec 2003
|
||
- fixed bug in installer script which would not clean up previous
|
||
Boinc client autostart settings, when a new version was installed
|
||
without uninstalling the previous version first.
|
||
|
||
win_build/installer/Script Files/
|
||
setup.rul
|
||
|
||
Gary 16 Dec 2003
|
||
- fixed bug in windows Boinc_gui core client, which caused the
|
||
horizontal scroll bar on the Messages tab to be moved to the
|
||
extreme right whenever new messages were written.
|
||
|
||
client/win/
|
||
wingui_mainwindow.cpp
|
||
|
||
Eric K. 17 Dec 2003
|
||
- Added include of unistd.h to get definition of gethostname() on
|
||
Solaris 7
|
||
|
||
sched/
|
||
file_upload_handler.C
|
||
|
||
Gary 17 Dec 2003
|
||
- BOINC release 2.15 for windows, Linux, solaris, mac os x
|
||
|
||
David 17 Dec 2003
|
||
- fixed bug where remote invocation of "start" is not verbose when it should be
|
||
|
||
lib/
|
||
error_numbers.h
|
||
sched/
|
||
feeder.C
|
||
start
|
||
|
||
Karl 2003-12-18
|
||
- fixed CRLF bug in *.dsw, *.dsp
|
||
|
||
Makefile.am
|
||
win_build/
|
||
*.dsp
|
||
*.dsw
|
||
|
||
Jeff 18 Dec 2003
|
||
- Surrounded the base64 prototypes in parse.h with an #ifndef _WIN32. Windows
|
||
compiles were failing on it.
|
||
|
||
lib/
|
||
parse.h
|
||
|
||
David 19 Dec 2003
|
||
- new system tray icons, for "new message" and "new error message" situations,
|
||
contributed by Rom Walton.
|
||
NOTE: these are not actually used;
|
||
we need to add flags for when they should be displayed
|
||
|
||
client/win/
|
||
resource.h
|
||
resource.rc
|
||
wingui_mainwindow.cpp,h
|
||
res/
|
||
iconerror.ico (new)
|
||
iconinfo.ico (new)
|
||
|
||
Karl 2003-12-19
|
||
- undid #ifndef for base64. Renamed to r_base64.
|
||
|
||
lib/
|
||
parse.h
|
||
base64.C
|
||
|
||
David 20 Dec 2003
|
||
- Changes by Rom Walton to flash system tray icon when new message
|
||
|
||
client/win/
|
||
wingui_mainwindow.cpp,h
|
||
|
||
David 20 Dec 2003
|
||
- compute recent average credit correctly
|
||
- compute "activity" for questions in a reasonable way:
|
||
the number of times per day this question has been asked
|
||
- default sort order for questions is by descending activity
|
||
- added fulltext indices on profile.response1 and profile.response2
|
||
- added text search of profiles to web interface
|
||
- link to list of a user's posts from their user page
|
||
- generate UOD page even if already there
|
||
- clean up some PHP code:
|
||
use $foo->bar, not $foo['bar']
|
||
indent by 4 spaces
|
||
|
||
db/
|
||
constraints.sql
|
||
schema.sql
|
||
html_ops/
|
||
gallery.inc
|
||
update_forum_activities.php
|
||
html_user/
|
||
profile_menu.php
|
||
user.inc
|
||
util.inc
|
||
profile_search_action.php (new)
|
||
forum/
|
||
forum.inc
|
||
forum.php
|
||
text_search_action.php
|
||
user_posts.php (new)
|
||
sched/
|
||
sched_util.C
|
||
|
||
David 21 Dec 2003
|
||
- moved "search for user name" feature out of profile code
|
||
- add link to profile from user page
|
||
- fix bug in get_passwd
|
||
|
||
html_user/
|
||
get_passwd.php
|
||
profile.inc
|
||
profile_menu.php
|
||
profile_search_action.php
|
||
user.inc
|
||
user_search_action.php (new)
|
||
|
||
David 23 Dec 2003
|
||
- add mechanism to prevent server spamming
|
||
(i.e. frequence requests for work from a single host).
|
||
The mechanism: if the last RPC was within 15 minutes,
|
||
don't send any work.
|
||
- add result.exit_status field to DB
|
||
Currently this is populated by the server,
|
||
if there's a <exit_status> element in the reply's stderr_out.
|
||
There may be a better way to do this.
|
||
TODO: display this field in the web GUI
|
||
- use SIGHUP instead of SIGINT to stop daemon processes
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
schema.sql
|
||
sched/
|
||
handle_request.C
|
||
start
|
||
|
||
David 23 Dec 2003
|
||
- improved error messages in stderr_out
|
||
|
||
client/
|
||
app.C
|
||
client_state.C
|
||
|
||
David 23 Dec 2003
|
||
- added boinc_fopen() function.
|
||
This should be used in lieu of fopen(), in both core client and apps,
|
||
whenever opening a file for writing.
|
||
This is because on Windows a utility program like FileFind
|
||
might have the file open at that exact moment,
|
||
and your fopen() will fail.
|
||
boinc_fopen() deals with this by sleeping for 3 seconds and trying again.
|
||
NOTE: in SETI@home there's a much fancier function
|
||
that does exponential backoff up to one hour.
|
||
Can't do that here, in part because the GUI requires
|
||
the core client to be nonblocking.
|
||
api/
|
||
boinc_api.C
|
||
graphics_api.C
|
||
gutil.C
|
||
mfile.C
|
||
client/
|
||
app.C
|
||
client_types.C
|
||
cs_benchmark.C
|
||
cs_scheduler.C
|
||
cs_statefile.C
|
||
http.C
|
||
doc/
|
||
(various)
|
||
lib/
|
||
filesys.C,h
|
||
|
||
David 24 Dec 2003
|
||
- Fixed errors in deciding whether more work was needed,
|
||
and if so how much.
|
||
This caused a situation where hosts would repeatedly
|
||
ask the server for more work
|
||
(which, because of recent anti-spam mechanism, would return no work)
|
||
The error involved the confusion of two quantities:
|
||
1) work buffer
|
||
This is an estimate of the time (measured in days)
|
||
until this host will finish all current work.
|
||
It reflects the host's "active_frac" and the # of CPUs.
|
||
2) CPU time
|
||
This is an estimate of the CPU time a WU will take on this host.
|
||
It does not reflect active_frac or # of CPUs
|
||
Example error: current_work_buf_days() didn't reflect active_frac and ncpus.
|
||
So we underestimated the work buffer, and requested work inappropriately.
|
||
|
||
NOTE: the <work_req_seconds> field in a request message
|
||
is in units of CPU time, NOT work buffer
|
||
|
||
- Fixed errors in estimating the wallclock duration of a WU
|
||
(used in feasibility test in scheduler):
|
||
Should divide, not multiply, by active_frac;
|
||
should not multiply by # cpus
|
||
- add a "deprecated" flag to app_version.
|
||
If you decide that a particulate app_version has problems,
|
||
you can deprecate it.
|
||
The scheduler advertises the latest non-deprecated version.
|
||
NOTE: this only is effective if core clients have the following:
|
||
- Changed the policy assigning an app_version to a WU
|
||
Use the version included in the scheduler reply,
|
||
and if there is none, use the latest version.
|
||
This means that if a project deprecates an app_version,
|
||
clients won't use it.
|
||
client/
|
||
client_state.h
|
||
cs_apps.C
|
||
cs_scheduler.C
|
||
scheduler_op.C
|
||
db/
|
||
schema.sql
|
||
boinc_db.C,h
|
||
lib/
|
||
filesys.h
|
||
result_state.h
|
||
py/Boinc/
|
||
database.py
|
||
sched/
|
||
handle_request.C
|
||
sched_shmem.C
|
||
|
||
David 23 Dec 2003 (supplied by Rom Walton)
|
||
- new message class: warnings and network (with corresponding icons)
|
||
|
||
client/
|
||
message.h
|
||
win/
|
||
resource.h
|
||
resource.rc
|
||
wingui_mainwindow.cpp,h
|
||
res/
|
||
iconnetwork.ico (new)
|
||
iconwarning.ico (new)
|
||
win_build/
|
||
boinc_gui.dsp
|
||
|
||
David 23 Dec 2003
|
||
- change string-escape function in DB code to handle \ as well as '
|
||
(otherwise updates/inserts can fail)
|
||
|
||
db/
|
||
boinc_db.C
|
||
db_base.C,h
|
||
sched/
|
||
update_stats.C
|
||
|
||
Gary 25 Dec 2003
|
||
- BOINC release 2.16 for windows, Linux, solaris, mac os x 10.3
|
||
(os x 10.2 compatability will come soon)
|
||
|
||
Jeff 30 Dec 2003
|
||
- Check for buffer reallocation errors in MFILE functions and return values
|
||
that mimic the normal system versions of these functions.
|
||
|
||
Functions that were changed: * indicates a change.
|
||
function successful return failure return
|
||
-------------- ------------------ --------------
|
||
MFILE::printf() num bytes output -1 *
|
||
MFILE::write() num bytes output -1 *
|
||
MFILE::putchar(c) c EOF *
|
||
MFILE::puts(s) strlen(s) * EOF *
|
||
|
||
MFILE::puts() used to return 0 on success. I greped both astropulse
|
||
and seti_boinc code and found no current use of this function.
|
||
|
||
api/
|
||
mfile.C
|
||
|
||
David 30 Dec 2003
|
||
- added optional <disabled>1</disabled> flag to daemons and tasks
|
||
in config.xml. (would prefer "<disabled/>", but couldn't
|
||
figure out how to get the minidom parser to recognize)
|
||
|
||
sched/
|
||
start
|
||
|
||
David 30 Dec 2003
|
||
- added <app_version> element to <stderr_out> in RPC request message
|
||
|
||
client/
|
||
client_types.C,h
|
||
|
||
David 31 Dec 2003
|
||
- Made the basic test script (test_uc.py) work again:
|
||
- fixed syntax errors in SQL files
|
||
- initial config.xml file includes <host> element
|
||
- back-end processes handle SIGHUP, not SIGINT
|
||
(we changed in "start"; need to change here too)
|
||
- "MIN_SENDWORK_INTERVAL" is read from config.xml (default 0)
|
||
- added 12-second sleep in run_check_all()
|
||
(based on 10-sec sleep in assimilator; should reduce)
|
||
- The user and admin web interfaces now work in the basic test case
|
||
(i.e. you can use html_ops to look at DB contents)
|
||
|
||
db/
|
||
constraints.sql
|
||
schema.sql
|
||
html_ops/
|
||
db_ops.inc
|
||
html_user/
|
||
project.inc.sample
|
||
util.inc
|
||
py/Boinc/
|
||
setup_project.py
|
||
sched/
|
||
assimilator.C
|
||
feeder.C
|
||
file_deleter.C
|
||
handle_request.C
|
||
make_work.C
|
||
sched_config.C,h
|
||
sched_util.C,h
|
||
transitioner.C
|
||
validate.C
|
||
test/
|
||
testbase.py
|
||
|
||
David 31 Dec 2003
|
||
- Added Python assimilator, courtesy of Stephen Pellicer
|
||
All the back-end programs could be implemented in Python;
|
||
CPU usage is a non-factor.
|
||
Some people might prefer this to C++.
|
||
No reason not to have both, as long as the logic stays in synch.
|
||
|
||
py/Boinc/
|
||
sched_messages.py
|
||
sched/
|
||
assimilator.py
|
||
|
||
Gary 31 Dec 2003
|
||
- Fixed error in windows client initial startup after a clean
|
||
install. Default wait time before initial server request was
|
||
too long (3 minutes).
|
||
- Fixed initial screensaver blank time setting. Test for existence
|
||
of registry entries before writing values to dialog box.
|
||
|
||
client/
|
||
Prefs.C
|
||
client/win
|
||
win_screensaver.cpp
|
||
|
||
David 3 Jan 2004
|
||
- prelimary checkin of "trickle" mechanism
|
||
- added trickle table to DB
|
||
- add boinc_trickle() to API; implement
|
||
- logic in client to find/rename trickle files
|
||
- got rid of strlcpy() (not portable)
|
||
- commented out WORKSEQ code (probably will never finish)
|
||
- factored out project directory name function
|
||
- error checking of malloc()s in MFILE
|
||
|
||
api/
|
||
boinc_api.C,h
|
||
mfile.C
|
||
client/
|
||
app.C,h
|
||
client_state.C
|
||
client_types.C
|
||
cs_benchmark.C
|
||
file_names.C,h
|
||
db/
|
||
boinc_db.C,h
|
||
constraints.sql
|
||
db_base.h
|
||
schema.sql
|
||
doc/
|
||
api.php
|
||
create_project.php
|
||
language.php (new)
|
||
trickle.php (new)
|
||
lib/
|
||
filesys.C,h
|
||
tools/
|
||
backend_lib.C,h
|
||
|
||
Gary 4 Jan 2004
|
||
- Added missing sys header declaration needed to build libboinc
|
||
on OSX jaguar
|
||
|
||
api/
|
||
boinc_api.C
|
||
|
||
David 5 Jan 2004
|
||
- patch up hole in hosts_user.php that shows hosts
|
||
even when user doesn't want
|
||
- All pages check for project up before opening DB
|
||
|
||
html_user/
|
||
apps.php
|
||
db.inc
|
||
download.php
|
||
hosts_user.php
|
||
util.inc
|
||
|
||
Gary 5 Jan 2004
|
||
- changed file_delete() function calls to boinc_delete_file()
|
||
as a result of the 2004-01-03 change to filesys.C,h
|
||
client/win
|
||
wingui_mainwindow.cpp
|
||
|
||
Gary 5 Jan 2004
|
||
- BOINC release 2.17 for windows, linux, solaris, mac os x
|
||
(os x version supports both 10.2 <jaguar> and 10.3 <panther>)
|
||
|
||
David 6 Jan 2004
|
||
- When showing a user's posts, break into groups of 10
|
||
- Don't show pending credit directly in user page.
|
||
Give a link to a separate page that shows pending results
|
||
and their claimed credit
|
||
- When show list of results, add linked ID column allowing user
|
||
to see details of result (e.g. stderr_out)
|
||
- removed "private" arg for show_host_detail.php.
|
||
If the host belongs to logged-in user, show private info
|
||
- removed alternative sorting options for host lists
|
||
(there was a bug where a user host list
|
||
linked to top_hosts.php)
|
||
- added a couple of "repair" scripts
|
||
|
||
html_user/
|
||
db.inc
|
||
host.inc
|
||
host_edit_action.php
|
||
host_venue_action.php
|
||
pending.php (new)
|
||
repair.php (new)
|
||
result.inc
|
||
result.php
|
||
results.php
|
||
show_host_detail.php
|
||
user.inc
|
||
util.inc
|
||
workunit.php
|
||
forum/
|
||
repair.php (new)
|
||
user_posts.php
|
||
|
||
David 7 Jan 2004
|
||
- don't show #results in 1-line host summary (too slow)
|
||
- totally redid "host merge" mechanism.
|
||
- show all hosts that are compatible with this one
|
||
(not just older ones)
|
||
- show checkboxes with "select all" button
|
||
so you can easily merge large #s of hosts
|
||
- merge logic merges into newest host
|
||
- let anyone look at any result and any host
|
||
(may want to change this later,
|
||
but for now it helps with debuggin)
|
||
- write log message when scheduler creates new host
|
||
because of bad RPC seqno
|
||
|
||
html_user/
|
||
host.inc
|
||
host_edit_action.php
|
||
host_edit_form.php
|
||
repair.php
|
||
result.php
|
||
results.php
|
||
show_host_detail.php
|
||
user.inc
|
||
workunit.php
|
||
sched/
|
||
handle_request.C
|
||
|
||
David 7 Jan 2004
|
||
- more trickle support:
|
||
- server parses <trickle> elements from RPC request,
|
||
creates trickle records,
|
||
sends <trickle_ack> if it did any
|
||
- client scans project for trickle files,
|
||
adds them to RPC requests
|
||
- if get <trickle_ack> in RPC reply, delete trickle files
|
||
- parse <trickle_ack> in RPC reply
|
||
- use safe_strncpy for shared-mem graphics messages
|
||
|
||
client/
|
||
client_state.h
|
||
cs_scheduler.C
|
||
scheduler_op.C,h
|
||
db/
|
||
boinc_db.h
|
||
doc/
|
||
boinc_dev.php
|
||
host_id.php (new)
|
||
host_measure.php
|
||
participate.php
|
||
lib/
|
||
app_ipc.C,h
|
||
filesys.h
|
||
sched/
|
||
handle_request.C
|
||
server_types.C,h
|
||
|
||
David 7 Jan 2004
|
||
- scheduling server: if get invalid hostid,
|
||
look up user before creating new host
|
||
(otherwise will create a host record with userid 0)
|
||
- if get a result that's already been received, ignore it
|
||
|
||
sched/
|
||
handle_request.C
|
||
|
||
David 7 Jan 2004
|
||
- added "host delete" function (if host has zero results)
|
||
|
||
html_user/
|
||
host_delete.php (new)
|
||
|
||
David 8 Jan 2004
|
||
- Fixed bugs that caused WUs to be mistakenly marked COULDNT_SEND:
|
||
- the feeder marks WUs as COULDNT_SEND whenever
|
||
at least 50% of the results have infeasible_count > 20
|
||
(it used to be > 0, i.e. a WU could be marked as COULDNT_SEND
|
||
when it was infeasible for even a single host)
|
||
- Some hosts (Macs) report their memory size (host.m_nbytes)
|
||
as a large negative number.
|
||
Change this so that the min memory size is 64 MB
|
||
|
||
html_user/
|
||
host.inc
|
||
host_delete.php (new)
|
||
sched/
|
||
feeder.C
|
||
handle_request.C
|
||
sched_shmem.h
|
||
|
||
Gary 8 Jan 2004
|
||
- Fixed problem in windows client where user prefs were
|
||
being ignored at startup as a side-effect of the previous
|
||
initial startup fix. Now initial startup works and user
|
||
prefs are honored at startup.
|
||
|
||
client/
|
||
Prefs.C
|
||
client/win
|
||
wingui_mainwindow.cpp,h
|
||
|
||
David 9 Jan 2004
|
||
- on download page, don't tell people to create an account
|
||
if they already are logged in (and hence have an account)
|
||
- print message in CGI log if can't find user
|
||
- don't hyperlink 0 results etc.
|
||
|
||
html_user/
|
||
download.inc
|
||
download.php
|
||
host.inc
|
||
repair.php
|
||
forum/
|
||
help_desk.php
|
||
thread.php
|
||
user_posts.php
|
||
sched/
|
||
handle_request.C
|
||
|
||
David 9 Jan 2004
|
||
- added project files for VC++ 7.0, and fixed a few compile warnings
|
||
|
||
client/
|
||
app.C
|
||
cs_benchmark.C
|
||
cs_scheduler.C
|
||
net_xfer.C
|
||
win/
|
||
stackwalker.h
|
||
win_build/
|
||
boinc.sln
|
||
*.vcproj
|
||
|
||
Karl 2004-01-12
|
||
|
||
- BOINC how has a project.xml file (by default in the same location as
|
||
config.xml) that can contain database information:
|
||
- projects
|
||
- platforms
|
||
- core versions
|
||
- apps
|
||
- app versions
|
||
- this information used to be added one at a time using the `add'
|
||
command-line tool; now there is a new tool `xadd' available, which
|
||
parses project.xml and adds anything necessary.
|
||
|
||
- refactored configxml.py into boincxml.py and configxml.py:
|
||
- boincxml.py contains generic XML utility code
|
||
- configxml.py contains code specific to config.xml and run_state.XML
|
||
- external interface to configxml.py unchanged
|
||
|
||
- new projectxml.py that parses and writes project.xml
|
||
|
||
- refactored tools/add into tools/add and py/Boinc/add_util.py
|
||
|
||
- added new addable fields
|
||
|
||
py/Boinc/
|
||
boinc_project_path.py
|
||
configxml.py
|
||
boincxml.py (new)
|
||
projectxml.py (new)
|
||
add_util.py (new)
|
||
db_base.py
|
||
Makefile.am
|
||
tools/
|
||
xadd (new)
|
||
add
|
||
Makefile.am
|
||
doc/
|
||
tool_xadd.php (new)
|
||
tool_add.php
|
||
make_project.php
|
||
tools.php
|
||
|
||
Karl 2004-01-12
|
||
- source release 2.18 (no client-visible changes)
|
||
|
||
David Jan 12 2004
|
||
- change team account so that team gets (and keeps) credit
|
||
for results of users while they belong to team:
|
||
- add team_id field to result
|
||
- add expavg_time field to team
|
||
- validator increments team credit
|
||
- scheduler fills in result.teamid
|
||
- don't delete empty teams
|
||
- rename result.client_version_num to result.app_version_num
|
||
populate this field based on <app_version> field of stderr_out
|
||
- change update_stats so that it doesn't compute team credit fields,
|
||
and so that it updates expavg fields only if the entity
|
||
has been idle for 4 days or more
|
||
- add DB_BASE::update_field() (to update one or more fields,
|
||
not whole record)
|
||
- add lookup_team() to db.inc
|
||
SHOULD ALWAYS USE FUNCTIONS LIKE THIS INSTEAD OF AD-HOC QUERIES
|
||
- factor out mysql_query() into DB_BASE::do_query()
|
||
|
||
db/
|
||
db_boinc.C,h
|
||
db_base.C,h
|
||
schema.sql
|
||
html_user/
|
||
db.inc
|
||
team.inc
|
||
team_join_action.php
|
||
team_quit_action.php
|
||
sched/
|
||
handle_request.C
|
||
update_stats.C
|
||
validate.C
|
||
|
||
David Jan 14 2004
|
||
- typo in boincxml.py
|
||
(caused "start" script to always set enabled=0
|
||
in run_state file, with various bad consequences)
|
||
- two indentation problems in "start":
|
||
line 499
|
||
line 516
|
||
|
||
py/Boinc/
|
||
boincxml.py
|
||
sched/
|
||
start
|
||
|
||
David Jan 14 2004
|
||
- add <core_client_version> element to <stderr_out>
|
||
of results when send to server
|
||
|
||
client/
|
||
client_types.C
|
||
|
||
David Jan 14 2004
|
||
- don't blink sys tray icon more than 10 sec (from Rom Walton)
|
||
|
||
client/win/
|
||
wingui_mainwindow.cpp,h
|
||
|
||
David Jan 14 2004
|
||
- windows console version works again (from Rom Walton)
|
||
|
||
client/
|
||
main.C
|
||
net_xfer.C
|
||
win_build/
|
||
boinc_cli.vcproj
|
||
|
||
David Jan 15 2004
|
||
- factored base64 declarations
|
||
|
||
lib/
|
||
base64.h (new)
|
||
|
||
David Jan 15 2004
|
||
- changed file_upload_handler so that it returns success
|
||
if offset >= nbytes.
|
||
That this happens at all indicates an error in the client,
|
||
but we'll get to that later.
|
||
- Scheduler: if last RPC too recent, show the interval
|
||
|
||
html_user/
|
||
db.inc
|
||
info.php
|
||
team_join_action.php
|
||
team_quit_action.php
|
||
sched/
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
|
||
Karl 2004-01-15
|
||
- fixed database schema for new 'teamid' field
|
||
- misc. fixes
|
||
|
||
db/
|
||
schema.sql
|
||
py/Boinc/
|
||
Makefile.am
|
||
database.py
|
||
lib/
|
||
Makefile.am
|
||
base64.C
|
||
base64.h
|
||
|
||
Karl 2004-01-15
|
||
- renamed user_name to db_user
|
||
|
||
- applied changes by Daniel Sumers Myers <dmyers@umiacs.umd.edu>
|
||
- setup script creates log_<host>
|
||
- add support for <db_user> field in config.XML in C, python, php
|
||
- missing default project.inc.sample fields
|
||
|
||
db/
|
||
db_base.C
|
||
db_base.h
|
||
html_ops/
|
||
db_ops.inc
|
||
db.inc
|
||
project.inc.sample
|
||
py/Boinc/
|
||
setup_project.py
|
||
sched/
|
||
assimilator.C
|
||
db_dump.C
|
||
feeder.C
|
||
file_deleter.C
|
||
main.C
|
||
make_work.C
|
||
transitioner.C
|
||
update_stats.C
|
||
validate.C
|
||
wu_check.C
|
||
|
||
David Jan 16 2004
|
||
- released core client 2.18 for Windows
|
||
|
||
David Jan 17 2004
|
||
- change logic in windows_opengl.C so that an app has no window
|
||
when it doesn't need one.
|
||
In particular, it has no window when it initially runs,
|
||
so it won't wake up screensaver when an app starts.
|
||
This requires using a window-less timer
|
||
to poll for messages from core client.
|
||
|
||
api/
|
||
windows_opengl.C
|
||
|
||
David Jan 17 2004
|
||
- remove win_main.cpp
|
||
- if result exceeds disk, show both usage and limit
|
||
- change title of Attach to Project dialog
|
||
- change debugging symbol from DEBUG to SS_DEBUG
|
||
(since VC7.0 equates _DEBUG and DEBUG)
|
||
|
||
client/
|
||
app.C
|
||
win_main.cpp (removed)
|
||
win/
|
||
resource.rc
|
||
win_build/
|
||
boinc_gui.vcproj
|
||
|
||
David Jan 17 2004
|
||
- new screensaver (from Rom Walton)
|
||
works correctly on multiple monitors;
|
||
handles password protection correctly
|
||
- fix compile warnings
|
||
- removed redundant definition of BOINC_SS_END
|
||
|
||
client/
|
||
cs_benchmark.C
|
||
net_xfer.C
|
||
win/
|
||
Scricon3.ico (removed)
|
||
boinc_ss.h (new)
|
||
boinc_ss.rc
|
||
win_main.cpp (removed)
|
||
win_screensaver.cpp
|
||
win_screensaver.h (new)
|
||
win_util.h
|
||
wingui_listcrl.cpp
|
||
wingui_mainwindow.cpp
|
||
wingui_piectrl.cpp
|
||
res/
|
||
Scricon3.ico (new)
|
||
lib/
|
||
app_ipc.h
|
||
win_build/
|
||
boinc.vcproj
|
||
boinc_cli.vcproj
|
||
boinc_ss.vcproj
|
||
|
||
David Jan 17 2004
|
||
- use TRACE() instead of fprintfs for debugging output
|
||
|
||
client/win/
|
||
wingui_mainwindow.cpp
|
||
|
||
David Jan 18 2004
|
||
- fix possible memory leak in screensaver on Win9x (from Rom Walton)
|
||
|
||
client/win/
|
||
win_screensaver.cpp,h
|
||
|
||
David Jan 18 2004
|
||
- add a function HOST::fix_nans(), called before updating or inserting
|
||
a host record; replaces NaNs with zeros. Otherwise DB barfs
|
||
- on any failed DB query, write the query to stderr
|
||
- store sorting order for message boards in a cookie
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
db_base.C
|
||
html_user/forum/
|
||
forum.php
|
||
thread.php
|
||
sched/
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
|
||
David Jan 19 2004
|
||
- use STOP_SS_MSG symbol instead of END_SS_MSG
|
||
(these redundantly refered to the same string)
|
||
- fixed buggy error-handling code for Win CreateProcess()
|
||
|
||
api/
|
||
windows_opengl.C
|
||
client/
|
||
app.C
|
||
win/
|
||
win_util.h
|
||
lib/util.C
|
||
|
||
David Jan 19 2004 (from Rom Walton)
|
||
- Win screensaver: check to see if BOINC is configured for
|
||
automatic startup and if not make a suggestion to the user to do so.
|
||
|
||
client/win/
|
||
boinc_ss.h
|
||
boinc_ss.rc
|
||
win_screensaver.cpp,h
|
||
win_util.cpp,h
|
||
|
||
David Jan 19 2004 (from Rom Walton)
|
||
- handle BOINC core client as service
|
||
|
||
client/
|
||
client_state.C,h
|
||
cs_cmdline.C
|
||
main.C
|
||
win/
|
||
win_net.cpp
|
||
win_service.cpp,h (new)
|
||
win_build/
|
||
boinc_cli.vcproj
|
||
boinc_ss.vcproj
|
||
|
||
David Jan 19 2004
|
||
- modify logic of file_upload_handler so that it always
|
||
returns an HTML header, regardless of whether
|
||
request message is missing or malformed
|
||
- hyperlink results on pending credit page
|
||
- fix bug in parsing of exit status in result stderr_out
|
||
- include "validate_trivial" in install_boinc_files()
|
||
|
||
html_user/
|
||
index.php
|
||
pending.php
|
||
py/Boinc/
|
||
setup_project.py
|
||
sched/
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
|
||
David Jan 20 2004
|
||
- added basic support for GUI RPCs in the core client.
|
||
This allows GUIs to be implemented in a separate process.
|
||
There can be multiple GUIs looking at the same core client.
|
||
New classes:
|
||
GUI_RPC_CONN: represents a connection to a GUI program
|
||
GUI_RPC_CONN_SET: represents the set of all such connections
|
||
has the usual poll() function.
|
||
This is currently implemented only for UNIX, using UNIX domain sockets.
|
||
Should be straightforward to do in Win using named pipes.
|
||
- The isspace() macro crashes if called with a non-ASCII arg,
|
||
so use it only after isascii()
|
||
- reimplement strip_whitespace() to do the above,
|
||
have it trim at both start and end,
|
||
and make a version for string
|
||
NOTE: the real problem is that user-supplied text is being
|
||
kept in XML elements in the state file.
|
||
Should escape it.
|
||
|
||
client/
|
||
Makefile.am,in
|
||
client_state.C,h
|
||
gui_rpc_client.C,h (new)
|
||
gui_rpc_server.C,h (new)
|
||
gui_test.C
|
||
|
||
lib/
|
||
parse.C
|
||
util.C,h
|
||
|
||
David Jan 21 2004
|
||
- get new GUI RPC stuff to compile on Win
|
||
|
||
client/
|
||
gui_rpc_server.C
|
||
win_build/
|
||
boinc.sln
|
||
boinc_cli.vcproj
|
||
boinc_gui.vcproj
|
||
|
||
Eric Jan 21 2004
|
||
- Modified match_tag to work with tags of the form "<tag>" and "tag"
|
||
- Added strlcat() to std_fixes.h
|
||
- Added check for strlcat() configure.ac
|
||
- fixed "#elif" without clause in main.C
|
||
|
||
configure
|
||
configure.ac
|
||
config.h.in
|
||
client/
|
||
main.C
|
||
lib/
|
||
parse.C
|
||
std_fixes.h
|
||
|
||
Karl 2004-01-21
|
||
Client translations update from Robi Beucheler
|
||
|
||
client/translation/
|
||
language.ini.ca
|
||
language.ini.es
|
||
language.ini.et
|
||
language.ini.gl
|
||
language.ini.hr
|
||
language.ini.ko
|
||
language.ini.pl
|
||
language.ini.pt
|
||
language.ini.template
|
||
language.ini.th (new)
|
||
language.ini.tr (new)
|
||
|
||
David Jan 21 2004
|
||
- small changes to get console version to compile
|
||
|
||
client/
|
||
cs_cmdline.C
|
||
main.C
|
||
win_build/
|
||
boinc_cli.vcproj
|
||
|
||
David Jan 22 2004
|
||
- match_tag() changes broke Win compile.
|
||
Moved new match_tag() to xml_match_tag() in xml_util.C,
|
||
put old match_tag() back.
|
||
|
||
lib/
|
||
util.C,h
|
||
xml_util.C,h
|
||
|
||
David Jan 22 2004
|
||
- change the GUI RPC protocol so that there's a single
|
||
<get_state/> request that returns the entire state
|
||
(same contents as the client state file)
|
||
- add fraction_done, current_cpu_time to <active_task> output
|
||
- factored out CLIENT_STATE::write_state(FILE*)
|
||
(used for both state file write and GUI RPC)
|
||
- always copy team name from scheduler reply
|
||
(so that we'll learn if user quits team)
|
||
|
||
client/
|
||
app.C
|
||
client_state.h
|
||
cs_scheduler.C
|
||
cs_statefile.C
|
||
gui_rpc_client.C,h
|
||
gui_rpc_server.C
|
||
gui_test.C
|
||
|
||
David Jan 23 2004
|
||
- fix problem with DLL dependency (from Rom Walton)
|
||
|
||
api/
|
||
boinc_api.C
|
||
graphics_api.C
|
||
gutil.C
|
||
windows_opengl.C
|
||
lib/
|
||
parse.C
|
||
util.C
|
||
|
||
David Jan 23 2004
|
||
- Fleshed out client-side support for GUI RPCs
|
||
The GUI_RPC class now parses the XML it gets back from
|
||
the <get_state> request, and builds a data structure
|
||
that is more or less a clone of the state of the core client.
|
||
There are still a number of missing pieces,
|
||
e.g. active tasks and file transfers
|
||
|
||
client/
|
||
cs_apps.C
|
||
gui_rpc_client.C,h
|
||
gui_test.C
|
||
makefile.gui_test (new)
|
||
|
||
David Jan 24 2004
|
||
- add resource to let you control name of screensaver in
|
||
choose-screensaver popup (from Rom Walton)
|
||
|
||
client/win/
|
||
boinc_ss.h
|
||
boinc_ss.rc
|
||
|
||
David Jan 26 2004
|
||
- server-side support for anonymous platform mechanism
|
||
- struct CLIENT_APP_VERSION represents an app version
|
||
that an anonymous-platform client says it has
|
||
- SCHEDULER_REQUEST has a vector of CLIENT_APP_VERSIONs,
|
||
parsed from request message
|
||
- in scan_work_array(): if anonymous platform,
|
||
instead of checking for an app version in the DB,
|
||
check that the client has an app version with an
|
||
acceptable version#
|
||
|
||
NOTE: for this to work you need to add an entry named "anonymous"
|
||
to the platform table
|
||
|
||
html_user/
|
||
index.php
|
||
team_join_form.php
|
||
team_quit_form.php
|
||
sched/
|
||
handle_request.C
|
||
server_types.C,h
|
||
|
||
David Jan 26 2004
|
||
- client-side support for anonymous platform mechanism
|
||
- To use this mechanism, user puts a file "app_info.xml" in a project dir.
|
||
This file contains <app>, <file_info>, and <app_version> elements
|
||
for app versions present in the project dir
|
||
(compiled or manually installed by the user).
|
||
- If this file is found, the project is marked as "anonymous_platform"
|
||
and app/app_version info in the state file is ignored.
|
||
- Scheduler RPCs for anonymous projects include a list of app_versions
|
||
- CLIENT_STATE::link_*(): fail if object is already in state
|
||
|
||
client/
|
||
client_state.C,h
|
||
client_types.C,h
|
||
cs_scheduler.C
|
||
cs_statefile.C
|
||
file_names.h
|
||
lib/
|
||
error_numbers.h
|
||
|
||
David Jan 30 2004
|
||
- replaced a bunch of "return 1"s with meaningful codes
|
||
(mostly ERR_NOT_FOUND); fixed comments; added license text here and there
|
||
client/
|
||
app.C
|
||
client_state.C
|
||
cs_apps.C
|
||
cs_cmdline.C
|
||
cs_files.C
|
||
cs_prefs.C
|
||
cs_scheduler.C
|
||
file_xfer.C
|
||
gui_rpc_server.C,h
|
||
http.C
|
||
message.C
|
||
net_stats.C
|
||
net_xfer.C
|
||
pers_file_xfer.C
|
||
doc/
|
||
account.php
|
||
lib/
|
||
app_ipc.C
|
||
error_numbers.h
|
||
|
||
David Jan 30 2004
|
||
- mark result as OUTCOME_SUCCESS only if exit status is zero (from Rom Walton)
|
||
|
||
sched/
|
||
handle_request.C
|
||
|
||
David Jan 31 2004
|
||
- GUI RPC: get_state RPC now returns active tasks and file xfers
|
||
- remove "hostname" field from HTTP_OP.
|
||
There was already a field of this name in NET_XFER,
|
||
a base class of HTTP_OP.
|
||
|
||
client/
|
||
client_types.C
|
||
gui_rpc_client.C,h
|
||
gui_rpc_server.C
|
||
http.h
|
||
net_xfer.C,h
|
||
pers_file_xfer.C
|
||
makefile.gui_test
|
||
|
||
David Feb 2 2004
|
||
- escape all user-supplied text in XML (messages and files)
|
||
e.g. user name, team name
|
||
- added functions xml_escape() and xml_unescape()
|
||
(very simple versions; just escape < and &)
|
||
- parse_str() does unescape
|
||
|
||
client/
|
||
client_types.C
|
||
lib/
|
||
parse.C,h
|
||
sched/
|
||
server_types.C
|
||
|
||
David Feb 2 2004
|
||
- changed directory structure of HTML stuff
|
||
|
||
Rom Feb 2 2004
|
||
- Added a diagnostics library for project clients
|
||
Currently only windows specific stuff has been implemented for the
|
||
BOINCASSERT and BOINCTRACE.
|
||
BOINCASSERT has been defined as an ASNI C assert
|
||
for all other platforms.
|
||
|
||
boinc_trace(), boinc_diag_init(), and boinc_diag_cleanup()
|
||
need to be defined for all the other platforms.
|
||
- Moved stderr redirection into boinc_diag_init() for the Windows client.
|
||
|
||
api/
|
||
boincdiag.cpp,h (Added)
|
||
boinc_api.c
|
||
|
||
Rom Feb 3 2004
|
||
- Fixed warning while compiling with gcc.
|
||
|
||
api/
|
||
boincdiag.cpp,h
|
||
|
||
David Feb 3 2004
|
||
- removed pathMod arguments in PHP code (this was needed when we had
|
||
multi-level directory structure; not needed anymore)
|
||
- changed max_wus_to_send from a compile constant to a config.xml parameter
|
||
|
||
html/
|
||
forum/
|
||
post.php
|
||
rate.php
|
||
reply.php
|
||
subscribe.php
|
||
inc/
|
||
db.inc
|
||
subscribe.inc
|
||
util.inc
|
||
sched/
|
||
handle_request.C
|
||
sched_config.C,h
|
||
|
||
David 2004-02-03
|
||
BOINC 2.23 release for Windows
|
||
|
||
Karl 2004-02-03
|
||
- updates for html directory structure change
|
||
|
||
tools/
|
||
make_project
|
||
|
||
py/Boinc/
|
||
setup_project.py
|
||
|
||
html/
|
||
project.sample/ (new directory)
|
||
project.inc (new)
|
||
project_specific_prefs.inc (new)
|
||
|
||
html/
|
||
user/
|
||
project.inc.sample (removed)
|
||
project_specific_prefs.inc (removed)
|
||
|
||
Rom Feb 4 2004
|
||
- Fixed the windows_error_string routine so it'll report back windows system errors.
|
||
- Updated the CreateProcess part of app.c to report OS Errors based on the above funtion.
|
||
- Removed the seperate header blocks for both release and debug and made them the same.
|
||
clears up one customer bug on Windows NT 4.0 platforms
|
||
- Changed the 1400 version check in stackwalker.h to 1310 which is what the 7.1 compiler
|
||
version is really.
|
||
- Changed the service routines to use windows_error_string instead of GetSystemErrorText
|
||
|
||
client/
|
||
app.c
|
||
client
|
||
win/
|
||
stackwalker.h
|
||
win_screensaver.h
|
||
win_service.cpp
|
||
lib/
|
||
util.c,h
|
||
|
||
Rom Feb 4 2004
|
||
- Changed from using SHGetSpecialFolder to SHGetFolderPath which now uses COM and so will
|
||
will not throw a dynamic link error on startup for platforms that don't support it.
|
||
|
||
client
|
||
win/
|
||
win_screensaver.cpp
|
||
|
||
David Feb 4 2004
|
||
- BOINC API: if get a REREAD_PREFS message from core client,
|
||
only call the app's reread_prefs function if there's a window open
|
||
(the SETI@home reread_prefs function goes into an infinite loop
|
||
if there's not a window open)
|
||
- change copyright year to 2004
|
||
|
||
api/
|
||
windows_opengl.C
|
||
client/win/
|
||
resource.rc
|
||
|
||
Karl 2004-02-03
|
||
- more misc. make_project fixes
|
||
|
||
David Feb 4 2004
|
||
- define a destructor for ACTIVE_TASK.
|
||
Do all resource deallocation (close thread/proc/msg handles;
|
||
detach and/or destroy shmem) here.
|
||
This deallocation was being done piecemeal;
|
||
for example, it wasn't being done if the process was aborted.
|
||
Hence the "quit message" object was still there,
|
||
and when another process started in the same slot it would
|
||
immediately get the message (caused "reset project" problem)
|
||
- Eventually delete all ACTIVE_TASK objects.
|
||
The following removed them from the list but didn't deleting:
|
||
ACTIVE_TASK_SET::abort_project()
|
||
ACTIVE_TASK_SET::restart_tasks() (failure case)
|
||
- Don't ask for work if we have any unfinished work.
|
||
This is a temporary kludge to prevent repeated work requests;
|
||
it means that min work buffer is meaningless.
|
||
But maybe this is OK.
|
||
|
||
client/
|
||
app.h,C
|
||
cs_scheduler.C
|
||
|
||
David Feb 4 2004
|
||
- Cleaned up the project-reset logic a little:
|
||
- first garbage-collect, THEN unlink and delete the apps and app_versions
|
||
- When detach project, delete FILE_INFO*s.
|
||
|
||
NOTE: there are lots of loose ends, e.g. files/sockets left open etc.
|
||
|
||
client/
|
||
client_state.C
|
||
|
||
David Feb 4 2004
|
||
- Released version 2.24 of core client
|
||
|
||
Rom Feb 4 2004
|
||
- When handled errors occur provide the translated error message as well as the
|
||
error code.
|
||
|
||
client/
|
||
app.c
|
||
|
||
Rom Feb 4 2004
|
||
- Update the debugging page with some more useful information about what we need
|
||
when a crash occurs
|
||
|
||
html/user/
|
||
debug.php
|
||
|
||
Rom Feb 5 2004
|
||
- Microsofts documentation on the matter of SHGetFolderPath seems to be wrong.
|
||
instead of relying on it, just do a dynamic link and call the function
|
||
if successful.
|
||
|
||
client/win/
|
||
win_screensaver.cpp
|
||
|
||
David Feb 5 2004
|
||
- db_dump: files ordered by ID now have a fixed-size ID range,
|
||
not a fixed # of elements
|
||
- Changed FEASIBLE_COUNT parameters to very large values,
|
||
so that results are never classified as COULDNT_SEND.
|
||
This mechanism is not needed for SETI@home (all results are the same)
|
||
and is occasionally screwing things up.
|
||
Can revisit this later.
|
||
- Make "host" web links consistent ("---" if ID is zero)
|
||
- In UOTD browse, show only profiles w/ pics
|
||
|
||
html/
|
||
inc/
|
||
host.inc
|
||
result.inc
|
||
util.inc
|
||
ops/
|
||
profile_ops.php
|
||
sched/
|
||
db_dump.C
|
||
feeder.C
|
||
handle_request.C
|
||
sched_shmem.h
|
||
|
||
David Feb 5 2004
|
||
- My checkin of Jan 31 broke access via HTTP proxies.
|
||
Here's an attempt to fix it
|
||
|
||
client/
|
||
http.C,h
|
||
net_xfer.C,h
|
||
pers_file_xfer.C
|
||
|
||
David Feb 5 2004
|
||
- skip over <file_xfer> elements while parsing <file_info>
|
||
(they're there for the benefit of GUI RPC)
|
||
- removed old TRACEs from Win code
|
||
|
||
client/
|
||
client_types.C
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
|
||
Rom Feb 5 2004
|
||
- Moved the unhandled exception filter back into boinc_api.c where it was orginally.
|
||
- Moved stackwalker that is used by BOINC Client applications into api folder since
|
||
the unhandled exception filter depends on it.
|
||
- Removed the unhandled exception filter init code from boincdiag.cpp
|
||
|
||
api/
|
||
boinc_api.c
|
||
boincdiag.cpp
|
||
api/win/
|
||
stackwalker.cpp,h (Added)
|
||
|
||
Rom Feb 6 2004
|
||
- Removed boincdiag.cpp,h from build and encorporated all its functionality into
|
||
boinc_api.c, h
|
||
- Improved unhandled exception filter to handle STACK_OVERFLOW exceptions, using
|
||
new stackwalker code base, STACK_OVERFLOWs would have caused a nested
|
||
exception issue that would have masked the real error.
|
||
- Improved unhandled exception filter to handle ACCESS_VIOLATIONs better, using
|
||
stackwalker code base, giving some of the same information for release builds
|
||
that is given in debug builds
|
||
- Created a new macro called BOINCERROR which will trip the management thread into
|
||
gracefully exiting the process with the correct exit code. This macro will work
|
||
across debug/release builds. Some more work has to go into the base function,
|
||
hopefully in tomorrow.
|
||
|
||
api/
|
||
boinc_api.c,h
|
||
boincdiag.cpp,h (deleted)
|
||
|
||
David Feb 6 2004
|
||
- changed default min/max work buffers from (1,3) to (.1, 1)
|
||
|
||
html/incs/
|
||
prefs.inc
|
||
|
||
David Feb 6 2004
|
||
- ask for more work when # of results in progress is less than # CPUs
|
||
- when get an APP_VERSION in a scheduler reply that's already in client state,
|
||
DON'T update the client state (it can't be any different anyway)
|
||
This fixes a garbage-collection crash
|
||
- Win client: added check_state.C to the project.
|
||
You can call check_all() to verify the integrity of client data.
|
||
This is commented out but useful for debugging.
|
||
- FILE_XFER_SET::insert() adds item to list, even if the underlying
|
||
HTTP_OP::insert() fails (because can't connect, e.g.)
|
||
This is necessary to make sure that the FILE_XFER remains in the
|
||
FILE_XFER_SET even in case of error, so that check_all() works.
|
||
|
||
NOTE: the semantics of insert() should be reexamined through the whole
|
||
FSM stack. Does it initialize? Is it guaranteed to insert?
|
||
Need consistency.
|
||
|
||
client/
|
||
check_state.C
|
||
client_state.C,h
|
||
cs_scheduler.C
|
||
file_xfer.C
|
||
win_build/
|
||
boinc_cli.vcproj
|
||
boinc_gui.vcproj
|
||
|
||
David Feb 6 2004
|
||
- Windows core client 2.25 release
|
||
|
||
David Feb 6 2004
|
||
- API: is we're not using shared memory,
|
||
then app_client_shm is NULL (not app_client_shm->shm)
|
||
- add constructor for APP_CLIENT_SHM
|
||
|
||
api/
|
||
boinc_api.C,h
|
||
lib/
|
||
app_ipc.C,h
|
||
|
||
Rom Feb 6 2004
|
||
- When reporting exit codes of the project application to the DB,
|
||
use the exit code that was reported from the application
|
||
instead of the value from GetLastError()
|
||
|
||
lib/
|
||
util.c,h
|
||
client/
|
||
app.c
|
||
|
||
David Feb 8 2004
|
||
- reorganized "Creating a BOINC project" and "Getting work done"
|
||
parts of docs
|
||
doc/
|
||
anonymous_platforms.php
|
||
assimilate.php (new)
|
||
back_end.php (removed)
|
||
backend_functions.php (removed)
|
||
backend_logic.php (new)
|
||
backend_programs.php
|
||
boinc_dev.php
|
||
build_system.php
|
||
configuration.php (new)
|
||
create_project.php
|
||
database.php
|
||
docutil.php
|
||
make_project.php
|
||
platform.php
|
||
server_components.php
|
||
software.php
|
||
tool_start.php
|
||
tool_xadd.php
|
||
tools_work.php
|
||
validate.php
|
||
web_site.php (removed)
|
||
|
||
David Feb 9 2004
|
||
- Scheduler: when last work request was too recent,
|
||
send request_delay to tell client to wait (from Jens)
|
||
- code that generates user profile gallery pages (inc/gallery.inc)
|
||
has a nightmare of hardwired URL and path names.
|
||
I unraveled things enough to make them work again.
|
||
Should revisit at some point.
|
||
- page_tail() wasn't working when writing to files
|
||
|
||
html/
|
||
inc/
|
||
gallery.inc
|
||
profile.inc
|
||
util.inc
|
||
ops/
|
||
gallery.inc (removed)
|
||
project.sample/
|
||
project.inc
|
||
user/
|
||
debug.php
|
||
profile_menu.php
|
||
project.inc.sample
|
||
sched/
|
||
handle_request.C
|
||
|
||
David Feb 9 2004
|
||
- ACTIVE_TASK_SET::poll(): set state file dirty flag whenever the
|
||
set of active tasks changes (e.g. app exited).
|
||
- rename ACTIVE_TASK::abort() to abort_task() (eliminate ambiguity)
|
||
- ACTIVE_TASK_SET::check_rsc_limits_exceeded():
|
||
check only running tasks
|
||
- CLIENT_STATE::reset_project(): don't delete apps, app_versions
|
||
if project is anonymous-platform
|
||
- PROJECT::set_min_rpc_time(): don't change min_rpc_time
|
||
if it's already later than requested time (from Jens)
|
||
|
||
client/
|
||
app.C,h
|
||
client_state.C
|
||
cs_scheduler.C
|
||
|
||
David Feb 11 2004
|
||
- updated docs
|
||
- "request_delay" from server overrides exponential backoff
|
||
|
||
client/
|
||
cs_scheduler.C
|
||
|
||
David Feb 15 2004
|
||
- updated docs
|
||
- make_project:
|
||
use short hostname
|
||
shorten instructions at end
|
||
- add a sample project.xml
|
||
- scheduler: write log debug msg when set result.outcome
|
||
- setup_project.py and make_project:
|
||
add copy of "create_work"
|
||
make symbolic link of html/user_profile to itself
|
||
don't capitalize long name
|
||
- parse_attr(): don't modify const input string
|
||
- XML error in client: </hostname/>
|
||
|
||
doc/
|
||
(many files)
|
||
lib/
|
||
parse.C
|
||
sched/
|
||
handle_request.C
|
||
tools/
|
||
create_work.C
|
||
project.xml (new)
|
||
make_project
|
||
py/Boinc/
|
||
database.py
|
||
setup_project.py
|
||
|
||
David Feb 16 2004
|
||
- removed references to Workseq table from python code
|
||
- commented out shutdown()s in http.C.
|
||
These seemed to be causing problems.
|
||
- doc updates
|
||
|
||
client/
|
||
http.C
|
||
html/user/
|
||
index.php
|
||
stats.php
|
||
doc/
|
||
(various)
|
||
py/Boinc/
|
||
database.py
|
||
db_mid.py
|
||
|
||
David Feb 16 2004
|
||
- enable the min_core_version attribute of app_version:
|
||
don't send a result to a host whose core version is too low.
|
||
(Note: this is a no-op unless you set min_core_version
|
||
to something nonzero).
|
||
If a host isn't sent any work because of this,
|
||
send a message suggesting upgrade
|
||
- Core client: put an <exit_status> element at the top level of <result>,
|
||
not within <stderr_out>
|
||
- Scheduler: parse <exit_status> from within <result>
|
||
Also parse it within <stderr_out> for backwards compat
|
||
- Client state file not parsed correctly when it contained a <file_xfer>
|
||
(because of active file xfer).
|
||
- add uniqueness constraints for category and forum
|
||
- add a script to set up initial categories and forums
|
||
|
||
client/
|
||
client_state.C
|
||
client_types.C
|
||
db/
|
||
constraints.sql
|
||
html/ops/
|
||
create_forums.php (new)
|
||
sched/
|
||
handle_request.C
|
||
sched_shmem.C
|
||
server_types.C
|
||
|
||
Rom Feb 19 2004
|
||
- Removed #ifdef around stackwalker dump so it'll dump release builds as well
|
||
|
||
api/
|
||
boinc_api.C
|
||
|
||
David Feb 19 2004
|
||
- FILE_XFER_SET::insert(): check for error BEFORE inserting in set.
|
||
- fix time zone display
|
||
|
||
client/
|
||
file_xfer.C
|
||
http.C
|
||
doc/
|
||
(various)
|
||
html/inc/
|
||
host.inc
|
||
|
||
Jeff Feb 19 2004
|
||
- CVS tagged as seti_boinc_app_release_2_25.
|
||
|
||
Rom Feb 23 2004
|
||
- Removed stackwalkers exception description so duplicate information is not logged.
|
||
|
||
api/win/
|
||
stackwalker.cpp
|
||
|
||
Karl 2004-02-23
|
||
- cookbook changes
|
||
|
||
doc/
|
||
project_cookbook.php
|
||
|
||
Rom Feb 23 2004
|
||
- New projects were failing to be able to make profiles. Added a bunch of defines
|
||
to project.inc that are now required.
|
||
- Updated the schema.sql file to include columns that are now required.
|
||
- Changed URL handling to include URL_BASE before quite a few relative links.
|
||
Basically PROFILE_PATH was being used for URL generation instead of URL_BASE +
|
||
IMAGE_URL|PROFILE_URL.
|
||
|
||
db/
|
||
schema.sql
|
||
html/inc/
|
||
forum.inc
|
||
gallery.inc
|
||
html/project.sample/
|
||
project.inc
|
||
user/
|
||
profile_menu.php
|
||
|
||
Jeff Feb 25 2004
|
||
- CVS tagged as seti_boinc_app_release_2_26. This tag is a little late but
|
||
the sources should be little if any changed.
|
||
|
||
David Feb 28 2004
|
||
- change page_head() so that it doesn't try to find user
|
||
when being used for offline page generation
|
||
|
||
html/inc/
|
||
gallery.inc
|
||
host.inc
|
||
util.inc
|
||
|
||
David Feb 28 2004
|
||
- added some #includes for freeBSD compile
|
||
|
||
David Feb 28 2004
|
||
- made some stuff const
|
||
- added new GUI RPCs (for control)
|
||
- added GUI RPCs for Windows
|
||
NOTE: pipes don't work on Win. need to change to TCP
|
||
|
||
client/
|
||
client_state.C,h
|
||
cs_account.C
|
||
gui_rpc_server.C
|
||
doc/
|
||
gui_rpc.php
|
||
|
||
David Feb 28 2004
|
||
- (from Rom) fixes a bug reported by Matze in the forums
|
||
where after an explorer crash the BOINC GUI doesn't re-register itself with
|
||
the new explorer.
|
||
|
||
client/win/
|
||
wingui_mainwindow.cpp,h
|
||
|
||
Rom Feb 28 2004
|
||
- Added boinc_diagnostics.c,.h, boinc_exceptions.c,.h. Not included in the build yet,
|
||
but needed to snapshot the source.
|
||
- Fixed a bug where on Windows we were not really waiting for three seconds before
|
||
a retry. This is done for both reads and writes since on Windows there is a notion
|
||
of exclusive reads which would make successive read requests fail as well.
|
||
|
||
api/
|
||
boinc_diagnostics.C, .h (added)
|
||
boinc_exception.C, .h (added)
|
||
lib/
|
||
filesys.C
|
||
|
||
David Feb 29 2004
|
||
- check for "w", "a" in boinc_fopen()
|
||
|
||
lib/
|
||
filesys.C
|
||
|
||
Rom Mar 1 2004
|
||
- Retry on all boinc_fopen operations
|
||
- added boinc_file_exists()
|
||
|
||
client/
|
||
app.c
|
||
cs_scheduler.c
|
||
cs_statefile.c
|
||
log_flags.c
|
||
lib/
|
||
filesys.C, .h
|
||
|
||
David Mar 1 2004
|
||
- compile errors
|
||
|
||
client/
|
||
gui_rpc_server.C
|
||
|
||
Rom Mar 1 2004
|
||
- Update project files so they'll build symbol files for release builds
|
||
- Remove the name collision between boinc.scr and boinc.dll as far as symbol
|
||
generation goes
|
||
- updated uppercase so it'll build again
|
||
|
||
winbuild/
|
||
boinc_cli.vsproj
|
||
boinc_dll.vsproj
|
||
boinc_gui.vsproj
|
||
boinc_ss.vsproj
|
||
upper_case.vsproj
|
||
|
||
Rom Mar 2 2004
|
||
- Get the complete version string for the Windows OS and include Service Pack
|
||
Information if any exist. An example is below:
|
||
<os_name>Microsoft Windows 2003 Standard Server Edition (Build 3790)</os_name>
|
||
- #ifdef out the GUI RPC stuff on Windows for right now, causes a crash on startup.
|
||
|
||
client/
|
||
client_state.C
|
||
client/win/
|
||
hostinfo_win.cpp
|
||
|
||
Rom Mar 2 2004
|
||
- Update version Resouces to version 2.26 for the Windows release.
|
||
|
||
client/win/
|
||
boinc_ss.rc
|
||
resource.rc
|
||
win_config.h
|
||
|
||
Rom Mar 2 2004
|
||
- CVS tagged as boinc_app_release_2_26.
|
||
|
||
David Mar 3 2004
|
||
- added "using namespace std;" a couple places to fix bizarre
|
||
link problems on Windows
|
||
|
||
client/
|
||
parse.C
|
||
util.C
|
||
|
||
David Mar 3 2004
|
||
- "account key" -> "account ID" in the PHP code
|
||
|
||
html/
|
||
inc/
|
||
util.inc
|
||
user/
|
||
account_created.php
|
||
accountsetup_nonfirst_done.php
|
||
create_account_form.php
|
||
get-passwd.php
|
||
login_action.php
|
||
mail_passwd.php
|
||
|
||
Rom Mar 3 2004
|
||
- Some house keeping with the Windows sources
|
||
- All Windows binaries now have a version resource assigned to them.
|
||
- The Windows CLI should no longer need to have references to afxwin.h
|
||
- project file cleanup work to get rid of some warnings
|
||
|
||
client/
|
||
app.h
|
||
net_xfer.c
|
||
client/win/
|
||
boinc_ss.rc, .h
|
||
boinc_cli.rc, .h (added)
|
||
boinc_dll.rc, .h (added)
|
||
boinc_gui.rc, .h (added)
|
||
resource.rc, .h (removed)
|
||
update-resource-version
|
||
win_idle_tracker.def
|
||
win_net.cpp
|
||
wingui.h
|
||
wingui_mainwindow.cpp, .h
|
||
winbuild/
|
||
*.vcproj
|
||
boinc.vcproj (removed)
|
||
|
||
Rom Mar 4 2004
|
||
- Include file overhaul for the Windows platform
|
||
|
||
Basically the linker was linking Windows GUI resources into it because of various
|
||
references to afxwin.h, these have now been banished from the source tree except in
|
||
one location.
|
||
|
||
I added a header file called stdafx.h which contains all the includes for all the
|
||
system header files on Windows, each source file contains a pointer to stdafx.h.
|
||
|
||
stdafx.h contains conditional logic to switch between afxwin.h and windows.h depending
|
||
on whether or not _CONSOLE is defined.
|
||
|
||
Compiled Source Sizes: Debug Release
|
||
boinc_gui.exe (Before Changes) 1.732MB 328KB
|
||
boinc_cli.exe (Before Changes) 2.080MB Unknown
|
||
boinc.scr (Before Changes) 244KB 88KB
|
||
boinc.dll (Before Changes) 136KB 44KB
|
||
|
||
boinc_gui.exe (After Changes) 1.716MB 428KB
|
||
boinc_cli.exe (After Changes) 1.508MB 412KB
|
||
boinc.scr (After Changes) 188KB 116KB
|
||
boinc.dll (After Changes) 140KB 58KB
|
||
|
||
I pretty much touched all the source and header files. This checkin should not have any
|
||
effect on any platform other than Windows.
|
||
|
||
Rom Mar 4 2004 (from John Keck)
|
||
|
||
Edits to change when the client considers a result to be at its deadline
|
||
it was originally 6 hours as defined in _BASE
|
||
if I did this right it will use the connected fraction to modify that amount
|
||
a 100% connected client will use the base figure, a 0% connected client will
|
||
use the base figure times the multiplier in addition to the base figure.
|
||
The figures I have here will produce a maximum time before deadline of
|
||
18 hours. 6*2=12+6=18 for debugging that may be too much but
|
||
it may not be enough for release.
|
||
|
||
client/
|
||
client_state.h
|
||
cs_scheduler.c
|
||
|
||
Rom Mar 4 2004
|
||
- More Windows header file cleanup.
|
||
|
||
api/
|
||
boinc_api.c
|
||
mfile.c
|
||
client/
|
||
<Header files>
|
||
lib/
|
||
filesys.h
|
||
language.h
|
||
parse.h
|
||
util.h
|
||
|
||
Rom Mar 5 2004
|
||
- Include file overhaul for the Windows platform ( Part 2 )
|
||
|
||
Compiled Source Sizes: Debug Release
|
||
boinc_gui.exe (Before Changes) 1.732MB 328KB
|
||
boinc_cli.exe (Before Changes) 2.080MB Unknown
|
||
boinc.scr (Before Changes) 244KB 88KB
|
||
boinc.dll (Before Changes) 136KB 44KB
|
||
|
||
boinc_gui.exe (After Changes) 1.716MB 332KB
|
||
boinc_cli.exe (After Changes) 624KB 324KB
|
||
boinc.scr (After Changes) 188KB 88KB
|
||
boinc.dll (After Changes) 140KB 35KB
|
||
|
||
I pretty much touched all the source and header files. This checkin should not have any
|
||
effect on any platform other than Windows.
|
||
|
||
Rom Mar 5 2004 (from John Keck)
|
||
- Adjust default values to download minimum work-unit load until the client can
|
||
collect preferences from the server.
|
||
|
||
client/
|
||
perfs.c
|
||
|
||
Rom Mar 5 2004
|
||
- Add the Alpha project test team members names to the Contact Us page.
|
||
|
||
doc/
|
||
contact.php
|
||
|
||
Rom Mar 6 2004
|
||
- I am backing out a change by John Keck until a server RPC overload problem is fixed.
|
||
|
||
client/
|
||
cs_scheduler.c
|
||
|
||
Rom Mar 6 2004
|
||
- Changed the namespace references back to the orginal references so that the clients
|
||
will build on Solaris and Linux.
|
||
|
||
lib/
|
||
util.c, .h
|
||
|
||
Rom Mar 6 2004
|
||
- Updated the version setting code so that it will include the new file resources for Windows
|
||
|
||
/
|
||
set-verson
|
||
client/
|
||
makefile.am
|
||
client/win/
|
||
update-boinc-cli-version
|
||
update-boinc-dll-version
|
||
update-boinc-gui-version
|
||
update-boinc-ss-version
|
||
|
||
Jeff Mar 9 2004
|
||
- CVS tagged as boinc_app_release_2_27.
|
||
|
||
Rom Mar 9 2004
|
||
- Fix fatal error with the intro.php page because of missing function in project.inc
|
||
|
||
html/project.sample/
|
||
project.inc
|
||
html/user
|
||
info.php
|
||
|
||
Rom Mar 9 2004
|
||
- Windows Product SKU was being over-written if the person was running with Service Pack 6a.
|
||
|
||
client/win/
|
||
hostinfo_win.cpp
|
||
|
||
Rom Mar 11 2004
|
||
- Properly identify Windows Longhorn
|
||
|
||
client/win/
|
||
hostinfo_win.cpp
|
||
|
||
Rom Mar 11 2004 (for Thomas Horsten)
|
||
- Here is a patch that fixes CPU detection for Linux (i386) and adds CPU detection for MIPS.
|
||
It is not perfect (it's really the proc interface's fault), but at least it is a lot better
|
||
than what is there now.
|
||
|
||
|
||
client/
|
||
hostinfo_unix.cpp
|
||
|
||
Jeff Mar 14 2004
|
||
- Another static/dynamic linking problem fixed by an ugly collect2
|
||
hack. It turns out that a statically linked linux client gets the
|
||
following warning at build time:
|
||
|
||
hostinfo.C:230: warning: Using 'gethostbyname' in statically
|
||
linked applications requires at runtime the shared libraries
|
||
from the glibc version used for linking
|
||
|
||
and sure enough, when such a client is run on a linux platform
|
||
with a incompatible glibc, we saw the following:
|
||
|
||
2004-03-12 11:07:57 [BOINC] Can't resolve hostname setiboinc
|
||
2004-03-12 11:07:57 [BOINC] Can't resolve hostname setiboinc
|
||
2004-03-12 11:07:57 [http://setiboinc/ap/] Couldn't read master
|
||
page for http://setiboinc/ap/: error -113
|
||
2004-03-12 11:07:57 [http://setiboinc/ap/] Couldn't read master
|
||
page for http://setiboinc/ap/: error -113
|
||
2004-03-12 11:07:57 [http://setiboinc/ap/] Detaching from project -
|
||
check for URL error
|
||
2004-03-12 11:07:57 [http://setiboinc/ap/] Detaching from project -
|
||
check for URL error
|
||
|
||
So we needed to link dynamically to libc but statically to libstdc++
|
||
(for reasons described elsewhere in these notes). The only way found
|
||
so far to do this is via a hand crafted collect2 line. That, and
|
||
not linking the client statically in a global fashion.
|
||
|
||
We should make the collect2 scripts adapt to the environment in
|
||
which they ar run. Or, better, figure out how to do this all
|
||
within configure/make.
|
||
|
||
- bumped version to 2.28.
|
||
|
||
configure.ac
|
||
configure
|
||
client
|
||
Makefile.am
|
||
Makefile.in
|
||
collect2_line_linux.csh new file
|
||
collect2_line_solaris.csh new file
|
||
collect2_line removed
|
||
|
||
Jeff Mar 15 2004
|
||
- CVS tagged boinc and seti_boinc as boinc_app_release_2_28.
|
||
|
||
Karl 2004-04-15
|
||
- fixed bug when files are copied to apps/ in different order
|
||
|
||
tools/
|
||
update_versions
|
||
|
||
David Mar 16 2004
|
||
- fleshed out trickle-message support a bit.
|
||
Separate notions of "trickle up" (client->server)
|
||
and "trickle down" (server->client) messages.
|
||
They're kept in different tables.
|
||
- added a program trickle_handler.C for handling trickle-up messages.
|
||
This is a framework program: you need to supply a handler function
|
||
- The scheduler sees if there are any trickle-down messages
|
||
for the host, and sends them
|
||
|
||
STILL TO BE DONE:
|
||
- server-side API for creating trickle-down messages
|
||
- client logic for delivering trickle-down messages
|
||
|
||
- fix bad mem size reporting on Mac w/ > 2GB mem
|
||
|
||
client/
|
||
hostinfo_unix.C
|
||
scheduler_op.C,h
|
||
db/
|
||
boinc_db.C,h
|
||
constraints.sql
|
||
doc/
|
||
contact.php
|
||
docutil.php
|
||
gui_rpc.php
|
||
software.php
|
||
trickle.php
|
||
validate.php
|
||
sched/
|
||
handle_request.C
|
||
sched_config.C,h
|
||
server_types.C,h
|
||
trickle_handler.C (new)
|
||
validate_test.C
|
||
validate_trivial.C
|
||
|
||
Rom Mar 16 2004
|
||
- Add back in support for Thomas's multi-proc protection aginst strcat for
|
||
vendor and CPU information
|
||
- Included the same multi-proc stuff for the x86
|
||
- Add JKecks change for changing when to report results based on the amount
|
||
of time the machine is connected onto the Internet.
|
||
- Added support for keeping a backup copy of stderr.txt and stdout.txt for
|
||
the previous session of BOINC in case it crashes.
|
||
|
||
client/
|
||
cs_scheduler.c
|
||
file_names.h
|
||
hostinfo_unix.c
|
||
client/win/
|
||
wingui_mainwindow.cpp
|
||
|
||
kevin 17 March 2004
|
||
checked in signal handling code. Uses sigaction. If signal is
|
||
originally ignored, do not handle signals.
|
||
|
||
David Mar 18 2004
|
||
- Remove "confirm executables" preference.
|
||
This is replaced by the anonymous platform mechanism.
|
||
|
||
client/
|
||
client_state.h
|
||
client_types.C,h
|
||
cs_apps.C
|
||
cs_files.C
|
||
main.C
|
||
prefs.C,h
|
||
html/inc/
|
||
prefs.inc
|
||
|
||
kevin 18 March 2004
|
||
- exit status of application set to nonzero value if there is an
|
||
uncaught signal.
|
||
client/
|
||
app.C
|
||
|
||
Rom Mar 18 2004
|
||
- Fixed a bug causing build problems for a customer in Australia, basically
|
||
we were trying to do some ANSI<->Unicode conversions that were not needed.
|
||
- sighandle.h does not need to include its contents on the Win32 platform
|
||
|
||
client/win/
|
||
wingui_dialog.cpp
|
||
lib/
|
||
sighandle.h
|
||
|
||
Jeff Mar 19 2004
|
||
BTW, here is how to buils the mac osx client/app in such a way that you
|
||
can specify the build name:
|
||
configure --build powerpc-apple-darwin
|
||
|
||
David Mar 19 2004
|
||
- small web-site fixes (e.g. you can now set your country to Cote d'Ivoire)
|
||
|
||
html/
|
||
inc/
|
||
download.inc
|
||
prefs.inc
|
||
util.inc
|
||
user/
|
||
host_edit_form.php
|
||
index.php
|
||
profile_menu.php
|
||
white.css
|
||
|
||
kevin March 19 2004
|
||
- Scheduler: don't handle partial requests
|
||
(i.e. missing </scheduler_request> tag)
|
||
lib/
|
||
error_numbers.h
|
||
sched/
|
||
server_types.C
|
||
handle_request.C
|
||
|
||
David Mar 20 2004
|
||
- Various changes to the way CPU benchmarking is done,
|
||
motivated by the need to make claimed credit constant across CPUs,
|
||
including "hyperthreaded" X86 CPUs
|
||
Old:
|
||
A single process runs the benchmark.
|
||
This gets 100% of the FPU on a HT CPU.
|
||
When 2 copies of an app are run,
|
||
they will each get 50% of the FPU,
|
||
so the claimed credit will be too high by a factor of 2.
|
||
New:
|
||
Run N copies of the benchmark in parallel,
|
||
where N is the number of CPUs reported by the OS
|
||
(e.g. twice the number of HT CPUs)
|
||
Average the results.
|
||
Revised interface:
|
||
start_cpu_benchmarks() starts up the N benchmark processes
|
||
cpu_benchmarks_poll() checks for completion
|
||
are_cpu_benchmarks_running() returns true iff running (doesn't poll)
|
||
abort_cpu_benchmarks() aborts processes
|
||
The set of running processes is maintained in an
|
||
array of BENCHMARK_DESC structures
|
||
Results are passed back in files in the Unix case,
|
||
where we use separate processes.
|
||
In the Windows case (where we use threads)
|
||
results are passed back in the BENCHMARK_DESC structure.
|
||
|
||
api/boinc_api.C
|
||
client/
|
||
Makefile.am
|
||
client_state.C,h
|
||
cs_apps.C
|
||
cs_benchmark.C
|
||
cs_prefs.C
|
||
file_names.h
|
||
gui_rpc_server.C
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
doc/
|
||
various
|
||
lib/
|
||
sighandle.C
|
||
|
||
Rom Mar 22 2004
|
||
- Setup project clients so they report back possible memory leaks on exit and
|
||
validate the heap after every 1024 allocations.
|
||
- Define constant for stdout.txt
|
||
|
||
api/
|
||
boinc_api.c
|
||
lib/
|
||
app_ipc.h
|
||
|
||
kevin Mon Mar 22 2004
|
||
- ensure that </stderr_txt> is included in stderr_out,
|
||
even if stderr_out is too long.
|
||
client/
|
||
app.C
|
||
|
||
Rom Mar 22 2004
|
||
- Attempt to force load glut32.dll in a specific location,
|
||
if it fails catch the SEH exception and just disable grapgics.
|
||
|
||
api/
|
||
graphics_api.c
|
||
|
||
David Mar 22 2004
|
||
- Web: Show mod time when display global prefs
|
||
- Client: when write global prefs to a file,
|
||
tag with source project and scheduler only if not already tagged
|
||
(otherwise get multiple tags)
|
||
- Client messages: show source project and mod time of global prefs
|
||
- Web: show all date/time strings in same format, use UTC
|
||
- Client messages: don't list "BOINC" as a project.
|
||
Indicate non-project-specific by "---"
|
||
|
||
client/
|
||
app.C
|
||
cs_scheduler.C
|
||
main.C
|
||
prefs.C,h
|
||
win/
|
||
wingui.cpp
|
||
html/
|
||
inc/
|
||
prefs.inc
|
||
util.inc
|
||
user/
|
||
prefs_edit_form.php
|
||
lib/
|
||
util.C,h
|
||
|
||
kevin Mar 22 2004
|
||
- Scheduling server: we were failing to copy a result's exit_status
|
||
from the request message to the DB record.
|
||
So exit_status was always zero in the DB. Dooh!
|
||
|
||
sched/
|
||
handle_request.C
|
||
|
||
David Mar 22 2004
|
||
- Change the policy for propagating global preferences.
|
||
OLD: if a scheduler request message has newer prefs than
|
||
those in the DB, update the user record.
|
||
I.e. propagate prefs from hosts to projects
|
||
The problem with this: see bug #1164
|
||
NEW: Use whichever is more recent of the prefs in the
|
||
request msg and the prefs in the DB.
|
||
Don't update the prefs in the DB
|
||
|
||
sched/
|
||
handle_request.C
|
||
server_types.C
|
||
|
||
Jeff Mar 23 2004
|
||
- At check_pair() time, if the validator sees that the canonical result
|
||
is deleted, a message is sent to the validator log. Canonical result
|
||
deletion should only happen when all results for a WU are received
|
||
or expired.
|
||
|
||
sched/
|
||
validate.C
|
||
|
||
Rom Mar 23 2004
|
||
- client applications don't really need to dump leak detection information
|
||
for public consumption. So remark it out for public release.
|
||
|
||
api/
|
||
boinc_api.c
|
||
|
||
David Mar 23 2004
|
||
- Initial global prefs (as defined in GLOBAL_PREFS::init()) should
|
||
impose minimal restrictions, so that the client can do its first
|
||
scheduler RPC and get global prefs from a server
|
||
- Fix bug where benchmarks always run on Win client startup
|
||
- Improve startup and prefs messages
|
||
|
||
client/
|
||
client_state.C
|
||
client_types.C
|
||
cs_benchmark.C
|
||
prefs.C
|
||
|
||
David Mar 23 2004
|
||
- Turned off the entire "infeasible result" mechanism for now.
|
||
The recent usage of min_core_version was causing
|
||
lots of results to (undeservedly) get tagged as infeasible.
|
||
- Don't bump infeasible_count (or print message!)
|
||
if min_core_version is not met
|
||
|
||
sched/
|
||
handle_request.C
|
||
feeder.C
|
||
|
||
Rom Mar 24 2004
|
||
- Unify all diagnostics functionality under the same banner, SETI_BOINC,
|
||
BOINC_CLI, BOINC_GUI, upper_case now all initialize the BOINC Diagnostics
|
||
Library which sets up stdout and stderr redirection, heap corruption
|
||
detection, stackwalker for Windows, and stackalker fo *nix can be pluged
|
||
in and be automatically used by all applications.
|
||
- Taskbase#1131 -- closed
|
||
- Taskbase#1132 -- closed
|
||
|
||
api/
|
||
boinc_diagnostics.c, .h (removed)
|
||
boinc_exeception.c, .h (removed)
|
||
boinc_api.c, .h
|
||
api/win/
|
||
stackwalker.cpp, .h (removed)
|
||
apps/
|
||
upper_case.c
|
||
client/
|
||
file_names.h
|
||
main.c
|
||
stdafx.h
|
||
client/win/
|
||
wingui_mainwindow.cpp
|
||
lib/
|
||
diagnostics.c, .h (added)
|
||
exception.c, .h (added)
|
||
stackwalker_win.cpp, .h (added)
|
||
winbuild/
|
||
boinc_cli.vcproj
|
||
boinc_gui.vcproj
|
||
boinc_ss.vcproj
|
||
upper_case.vcproj
|
||
|
||
kevin Mar 24 2004
|
||
- class boinc_base_exception: changed order of initialization
|
||
in constructor so that initialization matches declaration.
|
||
|
||
lib/
|
||
exception.h
|
||
|
||
Rom Mar 24 2004
|
||
- I was a little to agressive in cleaning up boinc_api.c and removed some
|
||
signal handling code, added that back in.
|
||
- The new exceptions use string's, so include <string> in the exception header.
|
||
- gcc has stronger exception enforcement than mscl
|
||
|
||
api/
|
||
makefile.am
|
||
lib/
|
||
diagnostics.c
|
||
exception.c, .h
|
||
|
||
Rom Mar 24 2004
|
||
- Taskbase#1029 - graphics API bugs
|
||
* App graphics window sometimes becomes invisible
|
||
Not Repro
|
||
* App graphics window doesn't restore to original size
|
||
if you maximize, close window, and show graphics again.
|
||
Fixed
|
||
- When window is in minimized state switch the visibility flag to false
|
||
|
||
api/
|
||
windows_opengl.C
|
||
|
||
David Mar 24 2004
|
||
- change priority of "no work" messages in scheduler reply
|
||
from low to high
|
||
- remove "hide_email" field from profile table and associated web pages
|
||
(BOINC should never show email addresses)
|
||
|
||
html/inc/
|
||
profile.inc
|
||
sched/
|
||
handle_request.C
|
||
|
||
David Mar 24 2004
|
||
- check for the existence and correct size (but not checksum)
|
||
of a result's files (app_version and inputs)
|
||
before starting or restarting the app
|
||
If a file is deleted (e.g., manually by the user)
|
||
the core client should download it again before starting the app.
|
||
|
||
New function: FILE_INFO::verify_existing_file()
|
||
- various changes to get Unix client and apps to compile
|
||
with new diagnostics code
|
||
- diagnostics.C subsumes sighandle.C
|
||
|
||
NOTES:
|
||
- use int where possible
|
||
- all numeric error codes go in lib/error_numbers.h
|
||
- libboinc.a is to be used by applications only
|
||
(not client or server programs)
|
||
We can create a different lib for the latter,
|
||
but for now they use explicit .o's
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
Makefile.am
|
||
app.C
|
||
client_state.h
|
||
client_types.C,h
|
||
cs_apps.C
|
||
cs_files.C
|
||
main.C
|
||
html/inc/
|
||
util.inc
|
||
lib/
|
||
Makefile.am
|
||
diagnostics.C,h
|
||
error_numbers.h
|
||
sighandle.C,h (removed)
|
||
|
||
David Mar 24 2004
|
||
- get the above stuff working on Windows
|
||
|
||
client/
|
||
app.C
|
||
cs_apps.C
|
||
lib/
|
||
diagnostics.C,h
|
||
error_numbers.h
|
||
|
||
David Mar 24 2004
|
||
- add log flag to suppress file-size checking on app startup
|
||
|
||
client/
|
||
client_types.C
|
||
log_flags.C,h
|
||
|
||
Rom Mar 25 2004
|
||
- I have made SETI_BOINC Glut Free, Basically copied font code from glut
|
||
and put it into the glut folder.
|
||
- Removed Glut libraries
|
||
- Removed Delay Load technologies
|
||
|
||
api/
|
||
graphics_api.C
|
||
|
||
David Mar 25 2004
|
||
- Unix client: use semaphore instead of lockfile to prevent multiple copies
|
||
- rename boinc_init_diag() to boinc_init_diagnostics()
|
||
- rename boinc_execution_engine() to main_loop()
|
||
- add get_key() (to generate IPC key unique to a directory)
|
||
- replaced RETSIGTYPE with void
|
||
|
||
apps/
|
||
upper_case.C
|
||
client/
|
||
Makefile.am
|
||
client_types.h
|
||
cs_apps.C
|
||
main.C
|
||
lib/
|
||
diagnostics.C,h
|
||
error_numbers.h
|
||
synch.C,h
|
||
|
||
Jeff Mar 26 2004
|
||
- Release tags. Sources were tagged as seti_boinc_release_2_30 and then,
|
||
after some build problems were fixed,
|
||
were tagged as seti_boinc_release_2_30a.
|
||
The build from this latter tag was what was released
|
||
as app version 2.30.
|
||
|
||
David Mar 26 2004
|
||
- when show country select on web,
|
||
pre-populate based on client's IP (using GeoIP; from Janus)
|
||
- fix compile problem with semaphore code
|
||
|
||
html/
|
||
inc/
|
||
GeoIP.dat (new)
|
||
geoip.inc (new)
|
||
team.inc
|
||
util.inc
|
||
lib/
|
||
app_ipc.h
|
||
synch.C
|
||
user/
|
||
create_account_form.php
|
||
edit_user_info_form.php
|
||
|
||
David Mar 26 2004
|
||
- Give the PHP session mechanism a "path" (last component of project URL)
|
||
to disambiguate multiple projects on same host,
|
||
so you can log into both at once w/ separate cookies
|
||
(suggested by Janus)
|
||
- Change "Most often asked" to "Most frequently asked"
|
||
|
||
html/inc/
|
||
forum.inc
|
||
util.inc
|
||
|
||
Rom Mar 26 2004
|
||
- Fix a minor bug where after the screen saver shutdown BOINC would fire-up
|
||
a new SAH Window
|
||
- Fix a few build breaks in the Windows CC
|
||
- Tag for a 2.31 release.
|
||
|
||
api/
|
||
boinc_api.c
|
||
windows_opengl.c
|
||
client/
|
||
app.c
|
||
client/win/
|
||
wingui_mainwindow.cpp
|
||
lib/
|
||
app_ipc.c
|
||
|
||
Rom Mar 26 2004
|
||
- Update versions started to complain about PDB files,
|
||
so tell it to ignore them for determining platforms
|
||
|
||
tools/
|
||
update_versions
|
||
|
||
David Mar 26 2004
|
||
- combine RAC when merging hosts
|
||
|
||
html/
|
||
inc/
|
||
forum.inc
|
||
user/
|
||
host_edit_action.php
|
||
|
||
Eric H Mar 27 2004
|
||
- added support for SOCKS4 and SOCKS5 proxy servers
|
||
- added a new PROXY layer between HTTP_OP and NET_XFER.
|
||
This layer takes care of the state transitions
|
||
involved in negotiating with a SOCKS server.
|
||
Support for editing SOCKS proxy server
|
||
information still needs to be completed in the Windows GUI.
|
||
- Possible future projects: add IPv6 support, GSSAPI support,
|
||
test on SOCKS4 server
|
||
|
||
client/
|
||
Makefile.am
|
||
client_messages.C
|
||
client_state.C,h
|
||
cs_cmdline.C
|
||
cs_statefile.C
|
||
gui_rpc_server.C
|
||
http.C,h
|
||
log_flags.C,h
|
||
message.h
|
||
net_xfer.C,h
|
||
pers_file_xfer.C
|
||
proxy.C,h (added)
|
||
scheduler_op.C
|
||
lib/
|
||
error_numbers.h
|
||
|
||
Eric H Mar 27 2004
|
||
- Catch error returns from CPU benchmark timer
|
||
|
||
client/
|
||
cpu_benchmark.C
|
||
lib/
|
||
error_numbers.h
|
||
|
||
Rom Mar 26 2004
|
||
- Updated setup so it'll ask if you want it to be the defult screensaver
|
||
- Updated setup so that it'll remember where you installed it last and
|
||
select that folder by default.
|
||
|
||
win_build/installer
|
||
BOINC.ipr
|
||
win_build/installer/Media/Default/
|
||
default.mda
|
||
win_build/installer/Script Files/
|
||
Setup.ino, .ins, .obs, .rul
|
||
|
||
Rom Mar 28 2004
|
||
- Prepare the environment and installation program for a language aware
|
||
system. All language files will be installed with every installation.
|
||
|
||
This is the begining on bringing us into the Windows MUI effort.
|
||
|
||
win_build/installer/
|
||
<several files>
|
||
client/translation/
|
||
<deleted old layout>
|
||
<created new layout>
|
||
|
||
Rom Mar 28 2004
|
||
- Issue fix that Janus gave for the parsing error.
|
||
|
||
html/user/
|
||
host_edit_action.php
|
||
|
||
David Mar 28 2004
|
||
- Fix compile/link errors I introduced on Friday (sorry!!)
|
||
|
||
api/
|
||
Makefile.in
|
||
boinc_api.C
|
||
client/
|
||
Makefile.in
|
||
cpu_benchmark.C
|
||
|
||
Rom Mar 29 2004
|
||
- Fix BOINC_GUI so it'll build again.
|
||
|
||
client/
|
||
proxy.c
|
||
client/win/
|
||
wingui_dialog.cpp
|
||
win_build/
|
||
boinc_cli.vcproj
|
||
boinc_gui.vcproj
|
||
|
||
David Mar 29 2004
|
||
- Don't use semaphores for multiple-copy exclusion on Unix.
|
||
Semaphores don't work better than lockfile.
|
||
- Fix bugs in global preferences.
|
||
- GLOBAL_PREFS::parse() now sets all booleans to false
|
||
- removed confused should_request_global_prefs() from Win client.
|
||
|
||
client/
|
||
main.C
|
||
prefs.C
|
||
win/
|
||
wingui_mainwindow.cpp,h
|
||
lib/
|
||
filesys.C
|
||
tools/
|
||
create_work.C
|
||
|
||
David Mar 29 2004
|
||
- rename main_loop() to boinc_main_loop()
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
main.C
|
||
win/
|
||
win_service.cpp
|
||
|
||
Rom Mar 29 2004
|
||
- Implement UI for SOCKS proxy server
|
||
- Fix setup bug in the making, only automatically startup BOINC if the user
|
||
has opted for the always start BOINC at startup.
|
||
|
||
client/win
|
||
wingui_dialog.cpp, .h
|
||
wingui_mainwindow.cpp, .h
|
||
wingui_proxydlg.cpp, .h (Added)
|
||
win_build/
|
||
boinc_gui.vcproj
|
||
win_build/installer/Script Files/
|
||
setup.rul
|
||
|
||
David Mar 30 2004
|
||
- preparation for moving prefs.C from client/ to lib/
|
||
(so can use in server):
|
||
- add bool found_venue return value from GLOBAL_PREFS::parse_file()
|
||
- add separate show_global_prefs_source() to print messages
|
||
- before sending signals to ACTIVE_TASKs, check their state
|
||
to avoid signaling non-existent processes
|
||
(this caused the Unix client to crash when reset)
|
||
- remove remaining semaphore-related code
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
app.C
|
||
client_state.C,h
|
||
cs_prefs.C
|
||
cs_scheduler.C
|
||
prefs.C,h
|
||
|
||
David Mar 30 2004
|
||
- don't check file size (on app startup) if it's an anonymous
|
||
platform project, and it's an app version file
|
||
|
||
client/
|
||
cs_apps.C
|
||
|
||
David Mar 30 2004
|
||
- sched server: when parse preferences, take venue into account
|
||
|
||
lib/
|
||
parse.C,h
|
||
sched/
|
||
Makefile.am
|
||
handle_request.C
|
||
server_types.C,h
|
||
|
||
Rom Mar 30 2004
|
||
- Asserts should be included in the output spew under the Windows IDE
|
||
- Make sure Semephore stuff is out of app_ipc.* stuff
|
||
- Include fix for Linux APM bug, the driver version info can contain
|
||
characters
|
||
|
||
client/
|
||
hostinfo_unix.c
|
||
lib/
|
||
app_ipc.c, .h
|
||
diagnostics.c
|
||
|
||
David Mar 31 2004
|
||
- make host_info related functions into members of HOST_INFO
|
||
|
||
client/
|
||
client_state.C
|
||
cs_benchmarks.C
|
||
cs_prefs.C
|
||
hostinfo.C,h
|
||
hostinfo_unix.C
|
||
win/
|
||
hostinfo_win.cpp
|
||
lib/
|
||
app_ipc.C
|
||
|
||
David Mar 31 2004
|
||
- call set_nslots() whenever there are new global prefs,
|
||
in case max_cpus has changed.
|
||
E.g. on a multiproc machine, if max_cpus is increased from 1 to 2,
|
||
it should start a new app.
|
||
- Call report_result_error() immediately when abort a client
|
||
due to excess CPU/disk/mem usage,
|
||
to ensure that the result is marked as erroneous,
|
||
and to make the error message more specific.
|
||
(Currently this is called after process is reaped,
|
||
but this may never happen).
|
||
|
||
client/
|
||
app.C,h
|
||
cs_prefs.C
|
||
hostinfo_unix.C
|
||
prefs.C
|
||
lib/
|
||
error_numbers.h
|
||
|
||
Rom Mar 31 2004
|
||
- Checkin prototype of universal gui based on wxWidgets.
|
||
|
||
clientgui/proto/
|
||
<Multiple Files>
|
||
|
||
David Mar 31 2004
|
||
- add support for mouse-event handling in apps
|
||
Apps that use graphics must now supply
|
||
boinc_app_mouse_move() and boinc_app_mouse_button functions
|
||
- check for file existence before opening for read, avoid 5-second delay
|
||
|
||
api/
|
||
boinc_api.C
|
||
graphics_api.C
|
||
windows_opengl.C
|
||
|
||
David April 1 2004
|
||
- Client: add a mechanism for suspending/resume network activity,
|
||
exactly parallel to the one existing mechanism for
|
||
suspending/resuming all (CPU+network) activity.
|
||
Initially this will be used to provide a GUI control.
|
||
Eventually we might have preference that control network
|
||
independently (time of day, only if idle, etc.)
|
||
- Client: save all messages in memory.
|
||
Implement GUI RPCs for getting ranges of messages.
|
||
|
||
client/
|
||
client_state.C,h
|
||
cs_prefs.C
|
||
gui_rpc_client.h
|
||
gui_rpc_server.C
|
||
main.C
|
||
message.C,h
|
||
lib/
|
||
messages.C
|
||
util.C,h
|
||
|
||
|
||
Davaid April 1 2004
|
||
- print message when resume network activity
|
||
- flesh out GUI RPC for messages
|
||
|
||
client/
|
||
cs_prefs.C
|
||
gui_rpc_client.C,h
|
||
gui_test.C
|
||
makefile.gui_test (new)
|
||
|
||
Rom April 1 2004
|
||
- Checkin UI for disabling/enabling network activity from the GUI
|
||
|
||
client/win/
|
||
boinc_gui.rc, .h
|
||
wingui_mainwindow.cpp, .h
|
||
|
||
David April 1 2004
|
||
- extend mouse interface to handle buttons better
|
||
|
||
api/
|
||
windows_opengl.C
|
||
|
||
Rom April 1 2004
|
||
- Found another place that should have been using boinc_file_exist.
|
||
NOTE: Still hasn't fixed the performance issue(s) on my machine though.
|
||
|
||
api/
|
||
boinc_api.c
|
||
|
||
David April 2 2004
|
||
- Client: fixed for disabling network activity
|
||
|
||
cs_files.C
|
||
cs_scheduler.C
|
||
hostinfo_unix.C
|
||
main.C
|
||
|
||
Jeff April 2 2004
|
||
- tagged as seti_boinc_app_release_2_32 and released to alpha.
|
||
|
||
David April 3 2004
|
||
- added a mechanism to handle situations where an app
|
||
appears to have exited successfully,
|
||
but in fact didn't call boinc_finish() or exit(0).
|
||
This apparently can happen on various platforms, don't ask me how.
|
||
The new mechanism:
|
||
boinc_finish() writes a file "boinc_finish_called"
|
||
in the slot directory.
|
||
When an app appears to have exited successfully,
|
||
the core client checks for the existence of this file.
|
||
If it's not there, the result is placed "in limbo":
|
||
it takes up a slot, but the app isn't restarted.
|
||
If the core client is restarted, the app is restarted.
|
||
|
||
NOTE: when we release a core client with this feature,
|
||
it's critical that all users reset the project,
|
||
and that updated versions of all apps are released.
|
||
Might be a good time for a major release increment.
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
app.C,h
|
||
lib/
|
||
app_ipc.h
|
||
|
||
David April 3 2004
|
||
- synchronize access to shared-mem work array by scheduler processes,
|
||
with the goal of NEVER sending the same result to different hosts.
|
||
- Instead of a single bool present flag, there are now 3 states
|
||
for an element in the array: absent, present, and
|
||
"checked out" (being considered for sending)
|
||
- There's now a semaphore that a scheduler process must acquire before
|
||
examining the state field of an array entry
|
||
(note: the feeder creates this semaphore,
|
||
but doesn't have to acquire it
|
||
because of the producer/consumer situation).
|
||
- split out the work-sending part of handle_request.C to a new file
|
||
(sched_send.C,h) because it was getting kinda big
|
||
|
||
sched/
|
||
Makefile.am
|
||
main.C,h
|
||
sched_send.C,h (new)
|
||
sched_shmem.h
|
||
show_shmem.C
|
||
|
||
David April 3 2004
|
||
- fix bugs in the above
|
||
|
||
client/
|
||
app.C
|
||
html/inc/
|
||
result.inc
|
||
lib/
|
||
filesys.C
|
||
synch.C
|
||
sched/
|
||
feeder.C
|
||
main.C
|
||
sched_config.C,h
|
||
|
||
David April 3 2004
|
||
- added code (from Rob Ogilvie) to check for battery usage
|
||
on Linux ACPI hosts
|
||
|
||
client/
|
||
hostinfo_unix.C
|
||
|
||
David April 3 2004
|
||
- If a web page requires login (e.g., forum/post.php)
|
||
the resulting form will refer to a handler (login_action.php)
|
||
in the wrong directory.
|
||
Kludge solution: put a symbolic link in forum/login_action.php
|
||
Is there a better solution? Maybe, but I'm too tired to think of it.
|
||
- better download instructions for Unix
|
||
|
||
html/
|
||
forum/
|
||
post.php
|
||
user/
|
||
account_setup_first_download.php
|
||
py/Boinc/
|
||
setup_project.py
|
||
|
||
David April 4 2004
|
||
- change the way file transfer speed is computed.
|
||
Instead of fancy exponential averaging,
|
||
just take the average every 3 seconds
|
||
|
||
client/
|
||
net_xfer.C,h
|
||
pers_file_xfer.h
|
||
|
||
David April 4 2004
|
||
- ACTIVE_TASK::request_exit() (win): kill the process immediately,
|
||
instead of sending it a quit request event,
|
||
waiting a few seconds, then killing it.
|
||
Currently the quit request event is checked only in
|
||
boinc_time_to_checkpoint(),
|
||
which (at least, in SETI@home) isn't called very often.
|
||
So it always takes 5 seconds to exit the core client.
|
||
|
||
NOTE: when the new app management-thread stuff is done,
|
||
we can change this back
|
||
|
||
client/
|
||
app.C
|
||
|
||
David April 6 2004
|
||
- move update_average() from sched_util.C to util.C
|
||
(and give it a half-life arg)
|
||
- move Messages class declaration out of util.h into its own file
|
||
- move file_lock() from util.C to filesys.C
|
||
- client: rename get_percent_done() to get_fraction_done
|
||
(uh... percents are 0..100; fracs are 0..1)
|
||
|
||
client/
|
||
client_state.h
|
||
cs_apps.C
|
||
cs_benchmark.C
|
||
cs_cmdline.C
|
||
cs_prefs.C
|
||
cs_scheduler.C
|
||
gui_rpc_server.C
|
||
message.h
|
||
lib/
|
||
filesys.C,h
|
||
messages.C
|
||
messages.h (new)
|
||
util.C,h
|
||
sched/
|
||
Makefile.am
|
||
sched_send.C
|
||
sched_util.C,h
|
||
update_stats.C
|
||
validate.C
|
||
validate_test.C
|
||
|
||
David April 7 2004
|
||
- Client: replace the buggy update_avg_cpu()
|
||
with the tried-and-true update_average()
|
||
to estimate average CPU rate per project
|
||
|
||
client/
|
||
client_state.h
|
||
client_types.C,h
|
||
cs_apps.C
|
||
cs_scheduler.C
|
||
|
||
David April 8 2004
|
||
- Clarify distinction between log messages (debugging)
|
||
and user messages (shown to user) in the client
|
||
and put both in one place (client_msgs.C,h)
|
||
- rename ClientMessages to CLIENT_MSG_LOG
|
||
- rename SchedMessages to SCHED_MSG_LOG
|
||
- rename Messages to MSG_LOG
|
||
- rename ScopeMessages to SCOPE_MSG_LOG
|
||
|
||
client/
|
||
Makefile.am
|
||
*.C
|
||
client_messages.C (removed)
|
||
message.h (removed)
|
||
client_msgs.C,h (new)
|
||
lib/
|
||
messages.C,h (removed)
|
||
msg_log.C,h (new)
|
||
sched/
|
||
Makefile.am
|
||
*.C
|
||
sched_messages.C (removed)
|
||
sched_msgs.C,h (new)
|
||
|
||
David April 8 2004
|
||
- If an active task is in limbo, don't mark its result as done!
|
||
(from James Drews)
|
||
|
||
client/
|
||
cs_apps.C
|
||
|
||
David April 8 2004
|
||
- Fix a major error in back-end logic (found by Jeff):
|
||
The canonical result's output files (and WU input files)
|
||
were being deleted when all results had server_state = OVER.
|
||
But this doesn't mean they've been validated!
|
||
So the third result from every group of three
|
||
was failing validation about half the time
|
||
because the canonical result output files had been deleted.
|
||
|
||
The fix: delete canonical result and WU files only when
|
||
all results are OVER *and* all results with outcome SUCCESS
|
||
have been validated.
|
||
|
||
sched/
|
||
transitioner.C
|
||
|
||
David April 9 2004
|
||
- Added zip/unzip code (from Carl Christensen).
|
||
This is basically the Info-ZIP code with unused files stripped out,
|
||
and some minor tweaks to return errors instead of exiting
|
||
|
||
zip/
|
||
* (new)
|
||
unzip/
|
||
* (new)
|
||
|
||
David April 9 2004
|
||
- Fixed a nasty bug that caused back-end processes
|
||
to corrupt records in the "result" table, and potentially others.
|
||
The Bug:
|
||
- escape_string() replaces ' and \ by \' and \\ respectively;
|
||
this is done so that they can be used in SQL statements, e.g.
|
||
update foo set blah='abc\'def';
|
||
- escape_string() (which can increase the length of a string)
|
||
didn't check the size of its output buffer
|
||
- The stderr_out field of results with stack traces
|
||
often are near their 4KB limit,
|
||
and have LOTS of \s (in file paths)
|
||
- escape_string() was writing beyond the end of the
|
||
stderr_out field, writing garbage into fields
|
||
like batch, claimed_credit, etc.
|
||
The Fix:
|
||
add a "len" argument to escape_string(),
|
||
and use safe_strncpy() to avoid writing off the end of the buffer.
|
||
|
||
db/
|
||
boinc_db.C
|
||
db_base.C,h
|
||
html/user/
|
||
stats.php
|
||
|
||
Rom April 10 2004
|
||
- Initial Snapshot of the new BOINC Universal GUI,
|
||
this GUI will provide the native interface for all supported platforms.
|
||
NOTE: This is just a bare bones skeleton.
|
||
Header file stuff still needs
|
||
to be moved around to support all the platforms.
|
||
stdwx.h should include config.h or win_config.h
|
||
depending on platform, etc.
|
||
|
||
clientgui/
|
||
* (new)
|
||
|
||
David April 10 2004
|
||
- restore compilation on Linux
|
||
|
||
lib/
|
||
filesys.C
|
||
sched/
|
||
sched_config.C
|
||
zip/
|
||
Makefile
|
||
|
||
David April 11 2004
|
||
- scheduler RPC: return a result's app version number
|
||
in a <app_version_num> field within <result>,
|
||
not an <app_version> field within <stderr_out>
|
||
Change scheduler to look in both places for now.
|
||
|
||
client/
|
||
client_types.C
|
||
sched/
|
||
handle_request.C
|
||
server_types.C
|
||
|
||
Jeff April 12 2004
|
||
- tagged with both:
|
||
boinc_core_release_3_00
|
||
seti_boinc_app_release_3_00
|
||
|
||
|
||
David April 13 2004
|
||
- removed "result_template_file" arg (and several other args)
|
||
from make_work; these can just be copied from the WU
|
||
|
||
sched/
|
||
make_work.C
|
||
|
||
David April 13 2004
|
||
- Changes in the parsing of WU template files:
|
||
- Any unrecognized elements in a <file_info>
|
||
are now just copied to the output.
|
||
So you can include attributes like <sticky/>
|
||
and they'll get propagated correctly.
|
||
- The following items can now be included in a WU template:
|
||
rsc_fpops_est
|
||
rsc_fpops_bound
|
||
rsc_memory_bound
|
||
rsc_disk_bound
|
||
delay_bound
|
||
min_quorum
|
||
target_nresults
|
||
max_error_results
|
||
max_total_results
|
||
max_success_results
|
||
|
||
These are not copied to the output,
|
||
but are used to populate the WORKUNIT
|
||
(which is now passed in as an arg)
|
||
|
||
The latter means that 'create_work' (the cmdline program) is simplified;
|
||
it can now take as few as 5 args
|
||
|
||
tools
|
||
backend_lib.C
|
||
create_work.C
|
||
|
||
David April 14 2004
|
||
- Added code (from Janus Kristensen) to cache web pages.
|
||
Restored leader boards (users/teams/hosts)
|
||
and made them cached with a refresh time of 1 hour
|
||
|
||
html/
|
||
inc/
|
||
cache.inc (new)
|
||
user/
|
||
index.php
|
||
stats.php
|
||
top_hosts.php
|
||
top_teams.php
|
||
top_users.php
|
||
|
||
David April 14 2004
|
||
- added boinc_make_dirs()
|
||
(preliminary support for projects subdirs for CPDN)
|
||
- If <non_cpu_intensive/> is in config file, send it in sched replies
|
||
|
||
lib/
|
||
app_ipc.C
|
||
filesys.C,h
|
||
sched/
|
||
sched_config.C,h
|
||
server_types.C
|
||
|
||
David April 14 2004
|
||
- moved MFILE declaration to a separate file
|
||
to facilitate a plain-C BOINC API
|
||
|
||
api/
|
||
mfile.h (new)
|
||
|
||
David April 15 2004
|
||
- change GUI RPC so that it uses TCP instead of UNIX-domain socket.
|
||
Core client accepts connections only from local host (127.0.0.1)
|
||
We currently use port 31416, since there's been no response
|
||
to my request for an official port.
|
||
- changed boinc_mkdir() so that it sees if the path already
|
||
exists and is a dir, and returns success if so
|
||
- main.C: print error message if CLIENT_STATE::init() fails
|
||
|
||
client/
|
||
client_state.C
|
||
file_names.C
|
||
gui_rpc_client.C,h
|
||
gui_rpc_server.C,h
|
||
main.C
|
||
lib/
|
||
filesys.C
|
||
|
||
David April 15 2004
|
||
- CLIENT_STATE::computer_resource_debts():
|
||
fix kludge that could result in seg fault
|
||
|
||
client/
|
||
cs_scheduler.C
|
||
|
||
Rom April 15 2004
|
||
- Increase benchmark timeout from 60 seconds to 120 seconds
|
||
|
||
client/
|
||
cpu_benchmark.h
|
||
|
||
David April 18 2004
|
||
- Added cross-project identification (scheme developed by Janus Kristensen)
|
||
|
||
NOTE: this involves a database change (new field in user table).
|
||
You must update your database by adding the field and initializing it
|
||
(see html/ops/db_update.php) before using this code.
|
||
|
||
client/
|
||
client_types.C,h
|
||
cs_scheduler.C
|
||
db/
|
||
boinc_db.C,h
|
||
schema.sql
|
||
html/
|
||
user/
|
||
create_account_action.php
|
||
ops/
|
||
db_update.php (new)
|
||
py/Boinc/
|
||
database.py
|
||
sched/
|
||
db_dump.C
|
||
server_types.C
|
||
|
||
David April 19 2004
|
||
- Client: change the way network transfer speed is computed.
|
||
Instead of computing it every 3 seconds (which doesn't work
|
||
for short transfers) just computed it from start of transfer.
|
||
- when detach from a project, and global prefs are from that project,
|
||
delete the global prefs file and init() prefs in mem.
|
||
Otherwise you have prefs from unknown project.
|
||
- write <app_version_num> element in <result> only if writing to server
|
||
(avoid error parsing state file)
|
||
- some message end with multiple \n's. delete them all.
|
||
- change return type of boinc_file_exists() to bool
|
||
|
||
client/
|
||
client_state.C
|
||
client_types.C
|
||
net_xfer.C,h
|
||
prefs.C
|
||
win/
|
||
wingui.cpp
|
||
wingui_proxydlg.cpp
|
||
lib/
|
||
filesys.C,h
|
||
|
||
Rom April 20 2004
|
||
- Prevent a nested exception during a heap check by disabling the
|
||
heap check during a stack dump.
|
||
lib/
|
||
diagnostics.C
|
||
|
||
|
||
David April 20 2004
|
||
- The Windows CreateDirectory and RemoveDirectory return
|
||
nonzero on error (unlike rmdir and mkdir).
|
||
The code had it backwards, which led to various problems,
|
||
e.g. after attaching to a new project no RPC happened
|
||
- print error messages if fail to delete account file
|
||
or project dir on detach
|
||
|
||
client/
|
||
client_state.C
|
||
file_names.C
|
||
lib/
|
||
filesys.C
|
||
|
||
Jeff April 21 2004
|
||
- tagged as seti_boinc_app_release_3_01
|
||
|
||
David April 21 2004
|
||
- Web: page_head() no longer checks for logged-in user.
|
||
Pages that care about that must do it separately,
|
||
and can pass the user into page_head() if they want.
|
||
- added is_valid_country() function
|
||
- don't get logged-in user for pages that don't show sensitive info
|
||
(results, workunit, host).
|
||
This also makes these pages cacheable.
|
||
|
||
html/
|
||
forum/
|
||
edit.php
|
||
inc/
|
||
countries.php
|
||
util.inc
|
||
user/
|
||
result.php
|
||
results.php
|
||
show_host_detail.php
|
||
|
||
Rom April 22 2004
|
||
- Integrate in Sebastian Masch's ACPI code that works with multiple
|
||
AC Adapter types
|
||
- Integrate back in the APM code that works with the Linux 2.6 kernels
|
||
|
||
client/
|
||
hostinfo_unix.c
|
||
|
||
Jeff April 22 2004
|
||
- tagged as boinc_core_release_3_01
|
||
|
||
David April 22 2004
|
||
- boinc_fopen(): add a Unix-specific #ifdef case that,
|
||
in case of failure, sees if errno is EINTR and if so retries the fopen.
|
||
This fixes a problem in the SETI@home app,
|
||
where an initial fopen() gets interrupted by the timer (I think)
|
||
- add project_dir and wu_name elements to the APP_INIT_DATA structure;
|
||
add corresponding elements to the app_init_data.xml file;
|
||
populate these in the core client, and parse in the API
|
||
- rename boinc_trickle() to boinc_trickle_up()
|
||
- rename full_path() to relative_to_absolute()
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
app.C
|
||
cs_statefile.C
|
||
lib/
|
||
app_ipc.C,h
|
||
filesys.C,h
|
||
|
||
David April 23 2004
|
||
- added new items to APP_INIT_DATA (for Folding@home):
|
||
slot
|
||
boinc_dir
|
||
authenticator
|
||
- rename app_preferences to project_preferences in APP_INIT_DATA
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
app.C
|
||
lib/
|
||
app_ipc.C,h
|
||
|
||
Rom April 26 2004
|
||
- Fix a condition where we were leaking a file handle on Linux
|
||
- Fix a seg fault when the dirscanner attempts to scan a non
|
||
existent directory
|
||
|
||
client/
|
||
hostinfo_unix.c
|
||
lib/
|
||
filesys.c
|
||
|
||
Rom April 27 2004
|
||
- Remove dependency on semaphore stuff so the Mac 10.2 client will build.
|
||
NOTE: The semaphore stuff should only be used in server components now.
|
||
|
||
client/
|
||
Makefile.am
|
||
lib/
|
||
Makefile.am
|
||
|
||
Rom April 28 2004
|
||
- Fixup build system so it doesn't have to change the version number in the
|
||
Windows resource files for every version change. Make the resource files
|
||
include win_config.h which contain the nessassary information and then
|
||
reference it.
|
||
|
||
/
|
||
set-version
|
||
client/
|
||
Makefile.am
|
||
client/win/
|
||
*.rc
|
||
update* (deleted)
|
||
|
||
David April 28 2004
|
||
- fix compile problem on Linux
|
||
|
||
client/
|
||
hostinfo_unix.C
|
||
|
||
Rom April 28 2004
|
||
- Fixup Windows service controls so that pause/resume/start/stop work as
|
||
expected, when running as a service log to the Windows event log.
|
||
- When attempting to change the service description use runtime dynamic
|
||
linking for the call to ChangeServiceConfig2 so that we will work even
|
||
on NT 4.0 systems.
|
||
- Some of these fixes were based on code from Mathias Walter
|
||
|
||
client/
|
||
cs_cmdline.C
|
||
main.C
|
||
client/win/
|
||
win_service.cpp, .h
|
||
win_build/
|
||
boinc_cli.vcproj
|
||
|
||
David April 30 2004
|
||
- scheduler: connect to DB after checking major version#
|
||
- scheduler: request 24-hour delay if bad major version#
|
||
- scheduler: request 1 hr delay if project is shut down
|
||
- scheduler: parse <cross_project_id> from client
|
||
- print expanded error in PHP when can't connect to DB
|
||
|
||
html/
|
||
inc/
|
||
db.inc
|
||
user/
|
||
create_account_action.php
|
||
sched/
|
||
handle_request.C
|
||
main.C,h
|
||
server_types.C,h
|
||
|
||
David April 30 2004
|
||
- Add a 10 second delay in "start", after starting daemons
|
||
but before writing run_state.xml file.
|
||
This lets the feeder delete the shared-mem segment
|
||
(if there is one) before CGI programs are created
|
||
and create new attachments
|
||
- get Fast CGI to compile (but not link)
|
||
|
||
sched/
|
||
Makefile.am
|
||
handle_request.C
|
||
main.C
|
||
server_types.C
|
||
start
|
||
|
||
David April 30 2004
|
||
- Got the scheduling server to compile (but not link) under fastCGI
|
||
For some reason I had to modify fcgi_stdio.h to accomplish this.
|
||
Would be nice to figure out what the problem is.
|
||
- Eliminated the use of streambuf stuff in various places.
|
||
This seems to cause problems.
|
||
|
||
db/
|
||
db_base.C
|
||
lib/
|
||
filesys.C
|
||
msg_log.C,h
|
||
parse.C
|
||
util.C,h
|
||
sched/
|
||
Makefile.am,in
|
||
fcgi_stdio.h (new)
|
||
fcgsapp.h (new)
|
||
handle_request.C
|
||
main.C
|
||
sched_config.C,h
|
||
sched_util.C
|
||
server_types.C
|
||
|
||
tools/
|
||
backend_lib.C
|
||
process_results_template.C
|
||
|
||
David May 2 2004
|
||
- removed the "project" table from DB.
|
||
Its only role was to store the project name.
|
||
This is now in the config file instead.
|
||
|
||
NOTE: if you upgrade to this code, you must add an entry
|
||
<long_name>...</long_name>
|
||
to your config.xml file.
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
schema.sql
|
||
py/Boinc/
|
||
add_util.py
|
||
database.py
|
||
db_mid.py
|
||
setup_project.py
|
||
sched/
|
||
main.C,h
|
||
sched_config.C,h
|
||
server_types.C
|
||
|
||
David May 2 2004
|
||
- finished the implementation of cross-project identification:
|
||
scheduler: if get cross_project ID in request message,
|
||
and it's different than in DB, update user record
|
||
- new global-prefs propagation policy:
|
||
global prefs are propagated to accounts with the same email address.
|
||
Implementation:
|
||
- RPC request message has <global_prefs_source_email_hash>
|
||
- scheduler: if get global prefs in request message,
|
||
and they're from an account w/ same email address,
|
||
and they're newer than in DB,
|
||
then update user record
|
||
|
||
client/
|
||
cs_scheduler.C
|
||
sched/
|
||
handle_request.C
|
||
server_types.C,h
|
||
|
||
David May 2 2004
|
||
- client: fixed bug in general prefs parsing that caused
|
||
source project to be "unidentified"
|
||
|
||
client/
|
||
prefs.C
|
||
|
||
David May 3 2004
|
||
- server: instead of a single "stop" file, we now have two:
|
||
stop_daemons: tells daemon processes to stop
|
||
stop_sched: tells scheduler to return "down" message
|
||
|
||
This allows us to have the following logic in "start":
|
||
remove stop_daemons
|
||
start daemon processes
|
||
wait 10 seconds
|
||
remove stop_sched
|
||
which is necessary to give the feeder a "head start"
|
||
on deleting and creating the shared memory segment.
|
||
|
||
NOTE: there's still a problem when a sched process
|
||
hangs (e.g. while sending to hung client) while attached to shmem.
|
||
|
||
sched/
|
||
*.C
|
||
start
|
||
|
||
David May 3 2004
|
||
- core client, Unix: if app is killed by SIGKILL,
|
||
put it in limbo (same as if exited zero without writing finish file).
|
||
|
||
client/
|
||
app.C
|
||
|
||
Rom May 3 2004
|
||
- Try to cleanup a recursive failure during a dump to stderr by changing
|
||
the fprintf call in diagnostics.c
|
||
- Apparently exceptions don't walk up the inheritance tree when calling
|
||
virtual functions, so force the issue by locally scoping additional
|
||
variables that can be set by constructors which will allow base functions
|
||
to get the correct information.
|
||
|
||
lib/
|
||
diagnostics.c
|
||
exception.c, .h
|
||
|
||
Rom May 3 2004
|
||
- Add new report to OPs pages to show failures by platform
|
||
|
||
html/ops/
|
||
db_ops.inc
|
||
failure_result_summary_by_platform.php
|
||
index.php
|
||
|
||
Rom May 3 2004
|
||
- Fix a screensaver bug where if BOINC was suspended it would get stuck
|
||
trying to bring up graphics for a suspended application.
|
||
- Remove obselete db_ops.inc and util_ops.inc file from the ops directory.
|
||
|
||
client/
|
||
ss_logic.c
|
||
html/ops/
|
||
db_ops.inc (remove)
|
||
util_ops.inc (remove)
|
||
|
||
Rom May 3 2004
|
||
- Fix a bug where the number of files deleted being returned on the result
|
||
summary report was actually the number of invalid records
|
||
|
||
html/inc/
|
||
db_ops.inc
|
||
|
||
Rom May 4 2004
|
||
- Fixup new report so it gives a quick roll-up of information, i.e. strips
|
||
Linux kernel version down to just major, minor, and revision and shortens
|
||
the Windows on_name down to just 'Windows'
|
||
|
||
html/inc/
|
||
db_ops.inc
|
||
|
||
Rom May 4 2004
|
||
- Use a more optimized query for the results summary page,
|
||
load times go from 8-10 seconds to 1-2 seconds
|
||
- Fix client_version_num bug after field was renamed to app_version_num
|
||
|
||
html/inc/
|
||
db_ops.inc
|
||
|
||
Rom May 4 2004
|
||
- Include a link on the failure page that'll bring up a report
|
||
with only those failures
|
||
|
||
html/inc/
|
||
db_ops.inc
|
||
|
||
David May 4 2004
|
||
- file upload handler: accept any major version
|
||
- scheduler: if wrong major version, don't set "nucleus only" flag
|
||
(this prevents acking of results)
|
||
- db_dump: put encoding=iso-8859-1 into header
|
||
|
||
sched/
|
||
db_dump.C
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
|
||
Rom May 4 2004
|
||
- Touchup on the os_name and os_version fields in the host table.
|
||
This will cause some merging woes but should fix things
|
||
in the long run as version changes and service packs
|
||
won't block a host merger.
|
||
|
||
client/win/
|
||
hostinfo_win.C
|
||
|
||
Rom May 4 2004
|
||
- Tag for 3.03 release, all platforms
|
||
boinc_core_release_3_03
|
||
seti_boinc_app_release_3_03
|
||
|
||
David May 5 2004
|
||
- fixed bug where Unix client ignored QUIT signal
|
||
- rename CLIENT_STATE::cleanup_and_exit()
|
||
to CLIENT_STATE::quit_activities()
|
||
(this function does NOT exit!!!!)
|
||
- quit_client(): exit() after quitting activities
|
||
(this is why the client wasn't exiting)
|
||
- quit_client(), susp_client(), resume_client():
|
||
print messages about which signal was received
|
||
- core client, Unix: if app is killed by SIGQUIT,
|
||
put it in limbo (same as if exited zero without writing finish file).
|
||
|
||
client/
|
||
app.C
|
||
client_state.h
|
||
cs_apps.C
|
||
main.C
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
tools/
|
||
backend_lib.C
|
||
create_work.C
|
||
|
||
Rom May 5 2004
|
||
- Tag for 3.03 release, all platforms
|
||
boinc_core_release_3_04
|
||
|
||
David May 5 2004
|
||
- core client: if there are errors in GUI_RPC setup
|
||
(e.g. the port is already in use),
|
||
just print the error, don't exit
|
||
- In some cases we ask for work in order to keep
|
||
all processors busy;
|
||
make sure we ask for at least 1 second in this case.
|
||
|
||
client/
|
||
cs_scheduler.C
|
||
gui_rpc_server.C,h
|
||
scheduler_op.C
|
||
lib/
|
||
error_numbers.h
|
||
|
||
David May 5 2004
|
||
- get "make dist" to work again
|
||
|
||
Makefile.am,in
|
||
client/
|
||
Makefile.am,in
|
||
sched/
|
||
Makefile.am,in
|
||
|
||
Rom May 5 2004
|
||
- Our exit strategy should be the same for Windows and Unix.
|
||
The signal handler should use the same global flags as Windows
|
||
for suspending and resuming activities.
|
||
|
||
client/
|
||
main.C
|
||
|
||
Rom May 6 2004
|
||
- Add a new report called pass percentage by platform which will allow us
|
||
to continue monitoring the pass percentages for the latest release of
|
||
each app version per platform.
|
||
|
||
NOTE: The query isn't smart enough yet to exclude invalid platform to
|
||
version combinations. For instance currently Linux is on version
|
||
302 and Windows is on 301, but the report will still show results
|
||
for Linux 301
|
||
|
||
html/inc/
|
||
db_ops.inc
|
||
html/ops/
|
||
failure_result_summary_by_platform.php
|
||
index.php
|
||
pass_percentage_by_platform.php
|
||
|
||
David May 9 2004
|
||
html/
|
||
inc/
|
||
gallery.inc
|
||
uotd.inc (new)
|
||
user/
|
||
index.php
|
||
team.php
|
||
team_lookup.php
|
||
|
||
David May 10 2004
|
||
- extend the set of signals that are treated as "external",
|
||
i.e. if an app exits with one of these, put it in limbo
|
||
rather than treating it as error:
|
||
SIGHUP, SIGINT, SIGQUIT, SIGKILL, SIGTERM, SiGSTOP
|
||
Note: some of these should in principle never happen
|
||
because they're caught by the API.
|
||
But it doesn't hurt to be safe.
|
||
- update_average(): avoid divides by zero
|
||
|
||
client/
|
||
app.C
|
||
lib/
|
||
exception.h
|
||
util.C
|
||
|
||
David May 10 2004
|
||
- added support for key up/down handling by apps
|
||
|
||
api/
|
||
windows_opengl.cpp
|
||
|
||
David May 11 2004
|
||
- replaced zip/unzip libraries with new code from Carl Christensen
|
||
|
||
zip/
|
||
*
|
||
|
||
David May 11 2004
|
||
- remove "user" argument from page_head()
|
||
|
||
html/
|
||
*
|
||
|
||
David May 11 2004
|
||
- Web: added "title" argument to project_banner().
|
||
Lets the project control how page titles are rendered.
|
||
Removed explicit <h2>title</h2>s from most pages
|
||
|
||
html/
|
||
inc/many
|
||
user/many
|
||
|
||
David May 11 2004
|
||
- continued implementation of trickle messages;
|
||
fairly complete now except for app receipt of trickle-downs
|
||
|
||
NOTE: changed format of trickle_down table.
|
||
An update function is included in html/ops/db_update.php
|
||
|
||
api/
|
||
boinc_api.h
|
||
client/
|
||
Makefile.am,in
|
||
app.h
|
||
client_state.h
|
||
cs_scheduler.C
|
||
gui_rpc_server.C
|
||
scheduler_op.C
|
||
cs_trickle.C (new)
|
||
db/
|
||
boinc_db.C,h
|
||
schema.sql
|
||
sched/
|
||
handle_request.C
|
||
trickle_handler.C
|
||
|
||
David May 11 2004
|
||
- bug fixes in trickle code.
|
||
Trickle-ups work correctly.
|
||
handle_trickles works correctly.
|
||
trickle-downs are getting sent back OK
|
||
- client: if scheduler reply gets parse error, backoff project
|
||
(fixed bug where we retry every second)
|
||
- sched server: if request message doesn't parse,
|
||
send an "incomplete request received" reply
|
||
(instead of just returning: uh, ????)
|
||
- sched server: if request is not asking for work,
|
||
don't check min_sendwork_interval or try to send work
|
||
(avoid spurious "last RPC too recent" messages)
|
||
|
||
client/
|
||
scheduler_op.C
|
||
sched/
|
||
handle_request.C
|
||
server_types.C,h
|
||
trickle_handler.C
|
||
|
||
David May 12 2004
|
||
- Server: remove MEDIUM_BLOB_SIZE and use LARGE_BLOB_SIZE instead.
|
||
MEDIUM_BLOB_SIZE was used in various C structs
|
||
to hold database blobs for:
|
||
app_version.xml_doc (list of files in app)
|
||
result.xml_doc_in, xml_doc_out (output files)
|
||
result.stderr_out
|
||
wu.xml_doc (input files)
|
||
It was defined as 4KB, which overflowed if you had
|
||
more than 10 or so files (with signatures etc.)
|
||
|
||
Note 1: this greatly increases the size of WORKUNIT and RESULT,
|
||
to I decreased the number of WU_RESULTs in shared memory
|
||
from 1000 to 100.
|
||
Eventually we might want to redefine the shared memory
|
||
so that it doesn't store the entire structs
|
||
Note 2: these buffer overflows should have been caught early-on,
|
||
i.e. when the workunit, result or app_version was created.
|
||
We should never just do a strcpy() or even safe_strncpy();
|
||
instead, we should check for overflow, return error if so,
|
||
then do the copy.
|
||
I added some code to do this in workunit and result generation;
|
||
still need to do this for app_version (in Python)
|
||
|
||
db/
|
||
boinc_db.h
|
||
sched/
|
||
assimilator.C
|
||
file_deleter.C
|
||
make_work.C
|
||
sched_send.C
|
||
sched_shmem.C
|
||
server_types.h
|
||
transitioner.C
|
||
tools/
|
||
backend_lib.C
|
||
process_result_template.C
|
||
|
||
David May 12 2004
|
||
- Added Janus Kristensen's "download network" pages
|
||
(for dissemination of 3rd-party add-ons)
|
||
|
||
html/
|
||
inc/
|
||
download_network.inc
|
||
user/
|
||
download_network.php
|
||
|
||
Karl 2004-05-12
|
||
- update_versions: by default only allow most recent core client
|
||
|
||
tools/
|
||
update_versions
|
||
|
||
David May 14 2004
|
||
- various web fixes
|
||
|
||
David May 15 2004
|
||
- small trickle-down fixes
|
||
client/
|
||
cs_trickle.C
|
||
scheduler_op.C
|
||
|
||
David May 15 2004
|
||
- Massive simplification of STARFIELD implementation.
|
||
Instead of using the same 3D coordinate space as other stuff,
|
||
stars now have their own -1..1 type coordinate space,
|
||
and we do the perspective transformation ourselves.
|
||
This eliminates the need for all the is_visible() crap.
|
||
|
||
The goal was to get rid of the hang/crash when the user
|
||
moves the viewpoint too far away,
|
||
but I ended up rewriting the (crufty) code.
|
||
|
||
Got rid of get_matrix_invert()
|
||
|
||
- Moved glFlush() from REDUCED_ARRAY::draw() to SAH_GFX_BASE::render
|
||
(or whatever the app's render routine is)
|
||
|
||
api/
|
||
gutil.C,h
|
||
reduce.C
|
||
|
||
David May 17 2004
|
||
- In the scheduler shared-memory segment,
|
||
keep only the result ID (not the whole result record)
|
||
in each WU_RESULT.
|
||
This saves large amounts of memory,
|
||
and doesn't incur any DB overhead because we have to
|
||
reread the result record anyway.
|
||
|
||
sched/
|
||
feeder.C
|
||
sched_shmem.h
|
||
sched_send.C
|
||
show_shmem.C
|
||
|
||
David May 18 2004
|
||
- Added the "homogeneous redundancy" feature courtesy of Michela Taufer.
|
||
This lets a project say that results for a given
|
||
workunit should be sent only to hosts with the same
|
||
OS name + CPU vendor.
|
||
Enabled it by putting <homogeneous_redundancy/> in config.xml
|
||
- parse <non_cpu_intensive/> in scheduler replies
|
||
|
||
client/
|
||
scheduler_op.C
|
||
sched/
|
||
sched_config.C,h
|
||
sched_send.C
|
||
|
||
David May 18 2004
|
||
- Various changes to benchmark code:
|
||
- unroll loops in FP benchmark
|
||
- use 10M instead of 1M ops per iteration
|
||
- use dtime() for timing
|
||
- get rid of wacky integer benchmark;
|
||
replace with integer counterpart to FP benchmark
|
||
|
||
client/
|
||
cpu_benchmark.C
|
||
|
||
Rom May 18 2004
|
||
- XML Parsing errors should now be hidden from normal operation.
|
||
NOTE: In order to see XML parsing errors you'll need to turn on the
|
||
debug state and debug scheduler operation log flags.
|
||
|
||
client/
|
||
app.C
|
||
client_types.C
|
||
cs_statefile.C
|
||
hostinfo.C
|
||
prefs.C
|
||
proxy.C
|
||
scheduler_op.C
|
||
time_stats.C
|
||
|
||
Rom May 18 2004
|
||
- Tag for 3.05 release, all platforms
|
||
boinc_core_release_3_05
|
||
|
||
David May 19 2004
|
||
- Added code for Whetstone benchmark.
|
||
This produces a result several times larger than our own floating-point
|
||
benchmark (e.g., 750MFLOPS versus 160MFLOPS).
|
||
But it's not clear that the Whetstone number
|
||
should be interpreted as MFLOPS.
|
||
If you want to check it out, add a call to whetstone(10, x) somewhere,
|
||
and look at the result in the debugger.
|
||
|
||
client/
|
||
whetstone.C (new)
|
||
|
||
David May 19 2004
|
||
- Added code for Dhrystone benchmark.
|
||
Use the "VAX MIPS" result as integer benchmark.
|
||
It's somewhat higher than the benchmark we've been using.
|
||
- Switch to using Whetstone and Dhrystone instead of home-brew benchmarks.
|
||
|
||
client/
|
||
cpu_benchmark.C,h
|
||
cs_benchmark.C
|
||
dhrystone.C (new)
|
||
whetstone.C
|
||
|
||
David May 19 2004
|
||
- Since new benchmarks are higher than old ones,
|
||
redefine a cobblestone as 100 * (fpops + iops)/2
|
||
(omit memory bandwidth, use 100 instead of 300)
|
||
|
||
sched/
|
||
handle_request.C
|
||
|
||
David May 19 2004
|
||
- Changed dhry/whetstone to use fixed # of iterations instead
|
||
of dynamically adapting.
|
||
This hopefully will make multiple CPUs run more in lockstep
|
||
|
||
client
|
||
cpu_benchmark.h
|
||
cs_benchmark.C
|
||
dhrystone.C
|
||
whetstone.C
|
||
|
||
David May 19 2004
|
||
- boinc_fopen: if opening for read, and file doesn't exist,
|
||
return 0 immediately (avoid 5-sec delays)
|
||
- boinc_resolve_filename: use boinc_fopen() to open symlink file
|
||
- graphics: scale starfield velocity down by a factor of 10
|
||
|
||
api/
|
||
gutil.C
|
||
lib/
|
||
app_ipc.C
|
||
filesys.C
|
||
|
||
David May 20 2004
|
||
- In messages about benchmarks, report the number of CPUs, and
|
||
say that benchmark numbers are per CPU
|
||
|
||
client/
|
||
cs_benchmark.C
|
||
|
||
David May 21 2004
|
||
- API: changed timer period from 50 Hz to 1 Hz.
|
||
This timer is used only for reporting progress and CPU,
|
||
not for doing graphics, to 1 Hz is enough
|
||
- API: if setup_shared_mem() returns error, set standalone = true.
|
||
This means that if you run an app standalone,
|
||
it will be detected automatically,
|
||
so no need for command-line args or even
|
||
standalone argument to boinc_init()
|
||
(but leave that arg in for now)
|
||
- API: initialize fraction_done to -1,
|
||
and only report it to core client if >= 0
|
||
(i.e. don't report it unless app specifies it)
|
||
- API: removed
|
||
#ifdef HAVE_SYS_SHM_H
|
||
#ifdef HAVE_SYS_IPC_H
|
||
around calls to attach_shmem in non-Win case.
|
||
This not an appropriate place for these ifdefs.
|
||
- core client: ACTIVE_TASK_SET::check_app_exited():
|
||
skip tasks in state PROCESS_IN_LIMBO.
|
||
This avoid core client spinning when apps misbehave.
|
||
- core client: changed variable names in app.C:
|
||
starting_cpu_time -> episode_start_cpu_time
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
app.C,h
|
||
|
||
David May 21 2004
|
||
- Core client: attempted to make benchmarks more accurate
|
||
and reproducible on multiprocessor or HT machines
|
||
be forcing each phase (floating point, integer)
|
||
to be more or less concurrent across processors.
|
||
This is done using trigger files.
|
||
Each benchmark waits for its trigger file before starting,
|
||
and stops when the file goes away.
|
||
|
||
client/
|
||
cpu_benchmark.h
|
||
cs_benchmark.C
|
||
dhrystone.C
|
||
whetstone.C
|
||
|
||
Rom May 21 2004
|
||
- A little fine tuning to the benchmark process.
|
||
Should be less than 1% difference between executions without any
|
||
other software runing
|
||
|
||
client/
|
||
cs_benchmark.C
|
||
dhrystone.C
|
||
whetstone.C
|
||
|
||
David May 21 2004
|
||
- Core client: in FILE_XFER_SET::poll(), when completed a file-size query,
|
||
close the socket before iniating the file transfer.
|
||
Otherwise we have a socket that's never closed.
|
||
|
||
Note: some aspects of the FILE_XFER/HTTP_OP/NET_XFER hierarchy
|
||
seem absurdly complex, like the issue of when sockets are closed.
|
||
The whole thing should be reexamined at some point (but not now).
|
||
|
||
client/
|
||
file_xfer.X
|
||
|
||
Rom May 22 2004
|
||
- Somehow the boinc release build switched over to using shared libraries on
|
||
Windows instead of static, so now i'm switching it back to static libraries.
|
||
|
||
win_build/
|
||
boinc_gui.vcproj
|
||
|
||
Rom May 23 2004
|
||
- Add new report to OPs pages to show failures by host
|
||
|
||
html/ops/
|
||
failure_result_summary_by_host.php
|
||
index.php
|
||
|
||
David May 23 2004
|
||
- web: activating an account (un-munging the email address)
|
||
can fail if there's already an account with that email address.
|
||
Print an explanatory message in this case.
|
||
- web: moved forum-display code to separate file/functions
|
||
(forum_show.inc) so can selectively show forums
|
||
Renamed "$n" to "$thread_per_page" (come on, folks)
|
||
- remove extra tags in core_version XML dump file
|
||
|
||
html/
|
||
forum/
|
||
forum.php
|
||
forum_show.inc (new)
|
||
sample_index.php (renamed from index.php)
|
||
inc/
|
||
forum.inc
|
||
user/
|
||
download.php
|
||
download_network.php
|
||
login_action.php
|
||
sample_index.php (renamed from index.php)
|
||
sched/
|
||
db_dump.C
|
||
|
||
David May 23 2004
|
||
- Support for "compound applications" (such as climateprediction.net)
|
||
in which a main program runs several apps in sequence.
|
||
The items are:
|
||
1) The app init file now contains fields
|
||
<fraction_done_start> and <fraction_done_end>
|
||
giving the fraction-done range occupied by the app.
|
||
Note: the app calls boinc_fraction_done() with values
|
||
from 0 to 1 as usual.
|
||
The API implementation takes care of scaling them
|
||
to the start..end range.
|
||
|
||
The main program must fill in these fields and call
|
||
boinc_write_app_init_file() prior to running each app.
|
||
2) boinc_finish() fills the final CPU time into the
|
||
APP_INIT_DATA struct, then calls boinc_write_app_init_file().
|
||
This passes the CPU time along to the next program.
|
||
3) got rid of boinc_child_start() and boinc_child_done().
|
||
|
||
api/
|
||
boinc_ipc.C,h
|
||
client/
|
||
app.C
|
||
lib/
|
||
app_ipc.C,h
|
||
|
||
David May 24 2004
|
||
- Change benchmarks functions to use CPU time instead wall-clock time.
|
||
- move CPU measurement functions from api/boinc_api.C to lib/util.C
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
cs_scheduler.C
|
||
dhrystone.C
|
||
whetstone.C
|
||
lib/
|
||
util.C,h
|
||
|
||
David May 24 2004
|
||
- boinc_delete_file(): Windows: retry 5 times w/ 1 second delay
|
||
(in case virus-check program has file locked).
|
||
This may fix a problem where slot directories
|
||
weren't getting cleaned up.
|
||
- if clean_out_dirs() fails when starting app,
|
||
print error message and return error (so app won't start)
|
||
|
||
client/
|
||
app.C
|
||
cpu_benchmark.h
|
||
cs_benchmark.C
|
||
file_names.C
|
||
lib/
|
||
filesys.C,h
|
||
|
||
David May 24 2004
|
||
- client: initialize NET_XFER::xfer_speed to -1,
|
||
and when we print it out check for this value
|
||
and print "no bytes transferred"
|
||
(this happens e.g. if upload a file that's
|
||
already been uploaded)
|
||
- removed NET_XFER::net_xfer_state (not used)
|
||
|
||
client/
|
||
net_xfer.C,h
|
||
pers_file_xfer.h
|
||
|
||
Rom May 24 2004
|
||
- Tag for 3.06 release, all platforms
|
||
boinc_core_release_3_06
|
||
|
||
David May 24 2004
|
||
- bugs in update_versions:
|
||
"cur" -> "cursor"
|
||
move call to get_current_core_version() after DB init
|
||
|
||
tools/
|
||
update_versions
|
||
|
||
David May 24 2004
|
||
- Change benchmarks to not use global variables
|
||
(since, on Windows, we have several threads running them
|
||
in the same address space).
|
||
This requires passing around an extra structure pointer,
|
||
which slows down the benchmarks,
|
||
but it doesn't seem to make a big difference.
|
||
|
||
client/
|
||
dhrystone.C
|
||
whetstone.C
|
||
|
||
David May 25 2004
|
||
- added -noinsert option to assimilator
|
||
|
||
sched/
|
||
assimilator.C
|
||
|
||
David May 25 2004
|
||
- change client compile from -O2 to -O6 (Unix)
|
||
This brings the benchmark speeds on my laptop
|
||
(2.2 GHz Celeron) roughly into line with Win:
|
||
|
||
Linux -O6:
|
||
whet 933
|
||
dhry 1585
|
||
|
||
Linux -O2
|
||
whet 545
|
||
dhry 1268
|
||
|
||
Win release
|
||
whet 840
|
||
dhry 1512
|
||
|
||
Win debug
|
||
whet 655
|
||
dhry 1436
|
||
|
||
client/
|
||
Makefile.am
|
||
|
||
David May 25 2004
|
||
- setup_project.py:
|
||
copy sample_index.php to index.php
|
||
Otherwise tests don't work.
|
||
|
||
py/Boinc/
|
||
setup_project.py
|
||
test/
|
||
testbase.py
|
||
|
||
Rom May 25 2004
|
||
- Tag for 3.07 release, all platforms
|
||
boinc_core_release_3_07
|
||
|
||
David May 26 2004
|
||
- update Dhrystone/Whetstone code based on latest versions (2.1, ?)
|
||
I don't think this will make a damn bit of difference,
|
||
but it's better to stay current
|
||
|
||
client/
|
||
dhrystone.C
|
||
whetstone.C
|
||
|
||
David May 26 2004
|
||
- updated config.guess
|
||
|
||
config.guess
|
||
|
||
Rom May 26 2004
|
||
- Update config.guess so we don't have to add the --build command to
|
||
each execution of ./configure for the Macs
|
||
|
||
/
|
||
config.guess
|
||
|
||
Rom May 26 2004
|
||
- NEW GUI: Implement Render and State management infrastructure.
|
||
|
||
clientgui/
|
||
BOINCGUIApp.cpp
|
||
BaseListCtrlView.cpp, .h
|
||
BaseWindowView.cpp, .h
|
||
MainFrame.cpp, .h
|
||
MessagesView.cpp, .h
|
||
ProjectsView.cpp, .h
|
||
ResourceUtilizationView.cpp, .h
|
||
TransfersView.cpp, .h
|
||
WorkView.cpp, .h
|
||
|
||
David May 27 2004
|
||
- Added a mechanism for limiting the number of results
|
||
sent to a given host in a given day.
|
||
- added 'nresults_today field' to host DB table
|
||
- added 'daily_result_quota' element to config.xml and SCHED_CONFIG
|
||
(optional - gives max results per host per day)
|
||
- change server logic so that the host record is updated
|
||
after calling send_work()
|
||
- change server logic to enforce daily result quota,
|
||
send message to user if quota exceeded,
|
||
also write log message if this happens
|
||
- Added script to send email to all opted-in users
|
||
|
||
NOTE: existing projects will have to update their DB.
|
||
You can do this using html/ops/db_update.php
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
schema.sql
|
||
html/ops/
|
||
create_forums.php
|
||
db_update.php
|
||
mass_email.php (new)
|
||
sched/
|
||
handle_request.C
|
||
sched_config.C,h
|
||
sched_send.C
|
||
|
||
David May 27 2004
|
||
- update comments in 'start'
|
||
|
||
sched/
|
||
start
|
||
|
||
David May 27 2004
|
||
- The BOINC app graphics framework does not use
|
||
(or require the use of) OpenGL.
|
||
Get rid of all OpenGL stuff in the code.
|
||
Note: windows_opengl.C is misnamed.
|
||
|
||
api/
|
||
graphics_api.C,h
|
||
windows_opengl.C
|
||
|
||
David May 27 2004
|
||
- added support for "static graphics":
|
||
applications generate graphics from a static image file
|
||
(part of the workunit) rather than dynamically.
|
||
- removed cruft from gutil.C:
|
||
mode_orth_ratio()
|
||
set_viewport_*()
|
||
center_screen_ratio()
|
||
I have no idea what these were for,
|
||
and perhaps neither did their author.
|
||
|
||
- moved declarations of boinc_ap_mouse_button() etc.
|
||
to graphics_api.h
|
||
api/
|
||
graphics_api.h
|
||
gutil.C
|
||
static_graphics.C (new)
|
||
windows_opengl.C
|
||
doc/
|
||
graphics.png
|
||
graphics.sxd
|
||
|
||
David May 27 2004
|
||
- negated Windows timezone, and server-side timezone usage
|
||
|
||
client/
|
||
hostinfo_win.cpp
|
||
html/inc/
|
||
host.inc
|
||
|
||
Rom May 28 2004
|
||
- Fix screensaver issue where somebody may have configured a 0 blank time,
|
||
if so, the blank time is set to twenty minutes.
|
||
- Host properties on the BOINC Ops page now shows the nresults_today value
|
||
- The host failures report now displays the nresults_today
|
||
|
||
client/win/
|
||
wingui_mainwindow.cpp
|
||
html/inc
|
||
db_ops.inc
|
||
html/ops/
|
||
failure_result_summary_by_host.php
|
||
|
||
Rom May 29 2004
|
||
- Fix a possible bug in the new Limiting number of results sent
|
||
to a host per day due to a floating point issue.
|
||
|
||
sched/
|
||
handle_request.C
|
||
|
||
David May 30 2004
|
||
- scheduler: modify_host_struct():
|
||
modify the actual structure, not a copy
|
||
(this caused results from new hosts to get zero claimed credit)
|
||
- numerous web site changes, including:
|
||
- added "recompute credit" feature for hosts
|
||
- moved forum files from html/forum to html/user
|
||
Also changed forum code to use object notation
|
||
(instead of archaic array notation)
|
||
and to eliminate the use of global variables
|
||
- show SETI@home credit, CPU hours
|
||
|
||
html/
|
||
inc/
|
||
forum.inc
|
||
forum_show.inc (new)
|
||
host.inc
|
||
profile.inc
|
||
user.inc
|
||
ops/
|
||
forum_repair.php (moved from forum)
|
||
user/
|
||
forum_*.php (new; moved/renamed from forum)
|
||
host_delete.php
|
||
host_edit_action.php
|
||
host_edit_form.php
|
||
sched/
|
||
handle_request.C
|
||
sched_send.C
|
||
|
||
David May 30 2004
|
||
- Add the ability to sort by total or expavg credit in most lists
|
||
- Fix the "update credit" feature to use the same
|
||
formula used to compute expavg credit in the first place
|
||
|
||
html/
|
||
inc/
|
||
host.inc
|
||
team.inc
|
||
user.inc
|
||
user/
|
||
host_update_credit.php
|
||
hosts_user.php
|
||
top_hosts.php
|
||
top_teams.php
|
||
top_users.php
|
||
|
||
Karl 2004-05-31
|
||
- update_versions signature files: added feature so that if
|
||
'exec-file.sig' exists in a directory, treat it as the signature file
|
||
for exec-file.
|
||
|
||
tools/
|
||
update_versions
|
||
py/Boinc/
|
||
tools.py
|
||
|
||
David May 31 2004
|
||
- Web: changed project news mechanism to use RSS
|
||
(Really Simple Syndication), described here:
|
||
http://blogs.law.harvard.edu/tech/rss
|
||
All projects now offer news feed at rss_main.php
|
||
This code courtesy of Jens Seidler.
|
||
- SETI@home public site: made front page cached
|
||
- added index on profile.uotd_time
|
||
|
||
db/
|
||
constraints.sql
|
||
html/
|
||
inc/
|
||
cache.inc
|
||
util.inc
|
||
news.inc (new)
|
||
user/
|
||
rss_main.php
|
||
sample_index.php
|
||
old_news.php (new)
|
||
|
||
David May 31 2004
|
||
- Changed BOINC news to use RSS also
|
||
|
||
doc/
|
||
index.php (new)
|
||
index.html (removed)
|
||
rss_main.php (new)
|
||
|
||
David May 31 2004
|
||
- API: do not catch HUP, INT or QUIT signals.
|
||
This must be allowed to kill the application,
|
||
so that the core client sees the app as having
|
||
been killed externally, and puts it in limbo
|
||
(rather than seeing it as having quit with an error)
|
||
|
||
lib/
|
||
diagnostics.C
|
||
|
||
David June 1 2004
|
||
web stuff:
|
||
- fix bug in merging > 2 hosts
|
||
- remove references to html/forum in setup script
|
||
- move host_update_credit() to host.inc
|
||
and make an ops page for updating a host's credit
|
||
|
||
py/Boinc/
|
||
setup_project.py
|
||
|
||
David June 1 2004
|
||
- small web fixes related to moving forum files
|
||
html/
|
||
inc/
|
||
forum_show.inc
|
||
host.inc
|
||
util.inc
|
||
ops/
|
||
host_update_credit.php (new)
|
||
user/
|
||
forum_edit.php
|
||
forum_forum.php
|
||
forum_user_posts.php
|
||
host_edit_action.php
|
||
host_update_credit.php
|
||
|
||
David June 1 2004
|
||
- client: change benchmark interval from 30 days to 5 days
|
||
- Python: install_boinc_files(): don't copy sample_index.php
|
||
to index.php (overwrites file on running projects)
|
||
|
||
client/
|
||
cs_benchmark.C
|
||
html/user/
|
||
forum_thread.php
|
||
py/Boinc/
|
||
setup_project.py
|
||
|
||
David June 1 2004
|
||
- client: SCHEDULER_OP::poll(): if a RPC or master fetch fails for
|
||
a tentative project, set the RPC state to IDLE
|
||
before calling project_add_failed().
|
||
Otherwise that function will attempt to remove the
|
||
NET_XFER and HTTP_OP, which have alread been removed
|
||
- client: clean_out_dir(): return 0 if directory doesn't exist
|
||
client/
|
||
scheduler_op.C
|
||
lib/
|
||
filesys.C
|
||
|
||
Rom June 1 2004
|
||
- Give visual indictators as to whether the build is debug or release.
|
||
|
||
client/
|
||
client_state.C
|
||
client/win/
|
||
wingui_dialog.cpp
|
||
|
||
Rom June 1 2004
|
||
- Clean-up some server trace output.
|
||
|
||
sched/
|
||
handle_request.C
|
||
|
||
David June 2 2004
|
||
- client: cosmetic changes: "Account Key" -> "Account ID",
|
||
"BOINC Core Client" -> "BOINC software"
|
||
|
||
client/
|
||
gui_titles.C
|
||
win/
|
||
boinc_gui.rc
|
||
|
||
David June 2 2004
|
||
- API: if app init data file not present,
|
||
set standalone to true, don't return error
|
||
|
||
api/
|
||
boinc_api.C
|
||
|
||
Daniel June 3 2004
|
||
- client: handle_pers_file_xfers(): if file transfer fails,
|
||
then don't verify the file
|
||
- client: start_xfer(): need to assign fxp in order for
|
||
handle_xfer_failure() to work
|
||
|
||
client/
|
||
cs_files.C
|
||
pers_file_xfer.C
|
||
|
||
Karl 2004-06-04
|
||
- start: fixed bug where Python 2.3.3 writes 'True' instead of '1' to
|
||
run_state.xml
|
||
|
||
sched/
|
||
start
|
||
|
||
- fixed compile bugs
|
||
|
||
lib/
|
||
exception.h
|
||
util.C
|
||
|
||
- install_boinc_files(): *do* copy sample_index.php to index.php, unless
|
||
it already exists (otherwise test scripts don't work)
|
||
|
||
py/Boinc/
|
||
setup_project.py
|
||
|
||
- changed the default delay between requests for ResultMeter from 0.1 to
|
||
0.5 - this should help MySQL servers that disconnect under load. Also
|
||
added a message on how to change it.
|
||
|
||
- simplified code in ProjectList
|
||
|
||
- fixed MySQL access concurrency bug that caused test scripts to fail
|
||
sometimes (re-open new database connection)
|
||
|
||
test/
|
||
testbase.py
|
||
|
||
David June 6 2004
|
||
- add "ignore_upload_certificates" flag to config.xml;
|
||
tells file upload handler to skip certificate check
|
||
- web:
|
||
- unified list displays (team members, teams, hosts, users):
|
||
groups of 20 with sort links
|
||
- clean up profile code
|
||
- make team pages generic (not depend on viewing user)
|
||
- moved team quit/manage links to user page
|
||
- update_profile_pages.php: remove PHP 30-sec time limit
|
||
|
||
html/
|
||
inc/
|
||
gallery.inc
|
||
subscribe.inc
|
||
team.inc
|
||
user.inc
|
||
util.inc
|
||
ops/
|
||
update_profile_pages.php
|
||
user/
|
||
download_network.php
|
||
forum_edit.php
|
||
forum_post.php
|
||
prefs.php
|
||
profile_menu.php
|
||
sample_rss_main.php (new)
|
||
team_create_form.php
|
||
team_display.php
|
||
team_email_list.php
|
||
team_manage.php (new)
|
||
team_quit_form.php
|
||
top_hosts.php
|
||
top_teams.php
|
||
top_users.php
|
||
sched/
|
||
db_dump.C
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
sched_config.C,h
|
||
|
||
David June 6 2004
|
||
- client: show error messages on errors linking structures
|
||
- PERS_FILE_XFER::giveup(): add "why" argument;
|
||
store in FILE_INFO::error_msg, and show to user
|
||
(all permanent xfer failures pass through here)
|
||
|
||
client/
|
||
client_state.C
|
||
pers_file_xfer.C,h
|
||
|
||
Karl 2004-06-08
|
||
- changed BOINC api calls to extern "C" -- makes it easier to call from
|
||
other languages (Fortran)
|
||
|
||
api/
|
||
boinc_api.h
|
||
apps/
|
||
upper-case.C
|
||
lib/
|
||
app_ipc.C
|
||
|
||
David 6 June 2004
|
||
- in strcpy2(), use strlcpy instead of strncpy
|
||
strncpy() always copies the full N bytes,
|
||
which is inefficient when there are long (64KB) fields
|
||
that are short or empty.
|
||
strlcpy() does what we want - it only copies significant bytes,
|
||
but doesn't go off the end of the destination buffer.
|
||
I also commented out the version of strlcpy in std_fixes.h -
|
||
this has the same performance problem.
|
||
- fixed "show team email addresses" function to not show auths
|
||
- temporarily turned off user search by name and team search by name;
|
||
we don't have indices on these fields
|
||
- file upload handler: show bad-certificate message even
|
||
if we're not enforcing it.
|
||
- scheduler: fix insufficient-speed message
|
||
- validator: print log messages if can't lookup/update anything
|
||
|
||
db/
|
||
db_base.h
|
||
html/
|
||
inc/
|
||
util.inc
|
||
user/
|
||
forum_text_search*
|
||
team_email_list.php
|
||
team_lookup.php
|
||
user_search_action.php
|
||
lib/
|
||
std_fixes.h
|
||
sched/
|
||
file_upload_handler.C
|
||
sched_send.C
|
||
validate.C
|
||
|
||
David 6 June 2004
|
||
- change boinc_sleep() to work correctly in the presence of signals
|
||
- add an implementation of strlcpy() for systems that don't have it
|
||
|
||
lib/
|
||
std_fixes.h
|
||
util.C,h
|
||
|
||
Rom 6 June 2004
|
||
- Enable GUI RPC's in the Windows Core Clients
|
||
- Move Winsock initialization out of each request to a per process thing
|
||
- Detect error condition where a socket initialization failure would cause
|
||
an error to be logged continuously
|
||
|
||
client/
|
||
client_state.C
|
||
gui_rpc_server.C
|
||
main.C
|
||
client/win/
|
||
win_net.cpp
|
||
win_net.h
|
||
wingui_mainwindow.cpp
|
||
|
||
David 9 June 2004
|
||
- changed boinc_rename() to do backoff and retry, like boinc_fopen()
|
||
- changed file system ops to use random backoff instead of 1 sec,
|
||
to avoid lockstep scenario
|
||
- changed implementation of strlcpy() to use existing
|
||
library functions (strlen(), memcpy()) since these
|
||
are probably faster than doing it by hand
|
||
- moved xml_util.C,h from boinc to seti_boinc/db
|
||
This code isn't used in BOINC
|
||
- changed all <? to <?php in doc files
|
||
|
||
db/
|
||
boinc_db.C
|
||
doc/
|
||
*
|
||
lib/
|
||
filesys.C
|
||
std_fixes.h
|
||
util.C,h
|
||
xml_util.C,h (removed)
|
||
|
||
Daniel 9 June 2004
|
||
- client: added check_idle() to update user_idle in unix.
|
||
only checks /dev/kbd and /dev/mouse for activity.
|
||
|
||
client/
|
||
client_state.C
|
||
client_state.h
|
||
cs_prefs.C
|
||
|
||
David 9 June 2004
|
||
- separation of functionality:
|
||
update_profile_pages.php rebuilds profile directory
|
||
pages (gallery, alphabetic, country)
|
||
May want to run this infrequently.
|
||
update_uotd.php chooses new UOTD
|
||
Should run this every day
|
||
- database: profile.verification is not null
|
||
|
||
Note: existing projects should modify their databases;
|
||
see html/ops/db_update.php
|
||
|
||
db/
|
||
schema.sql
|
||
html/
|
||
inc/
|
||
*.inc
|
||
ops/
|
||
db_update.php
|
||
profile_ops.php
|
||
update_profile_pages.php
|
||
update_uotd.php (new)
|
||
user/
|
||
explain_state.php
|
||
info.php
|
||
|
||
Rom 9 June 2004
|
||
- Put together the gui rpc testing application for Windows.
|
||
- Fix a bug or two with yesterdays checkin.
|
||
|
||
client/
|
||
gui_rpc_client.C, .h
|
||
gui_test.C
|
||
main.C
|
||
stdafx.cpp, .h
|
||
lib/
|
||
filesys.C
|
||
parse.h
|
||
win_build/
|
||
*.vcproj
|
||
|
||
Brian 10 June 2004
|
||
- changed get_log_path to create log directory dynamically if
|
||
not already present on server
|
||
|
||
sched/
|
||
main.C
|
||
file_upload_handler.C
|
||
|
||
David 10 June 2004
|
||
- Web caching system: use only the filename part of URL
|
||
to determine cache file name
|
||
(so that files are directly in html/cache).
|
||
No "_" if no params.
|
||
- web: allow more HTML tags (ul, ol, li)
|
||
- web: in seeing if projects is stopped, look for
|
||
"stop_sched" and "stop_daemons" rather than "stop_servers"
|
||
(forgot to make this change on May 3 2004)
|
||
- web: turn off user name search (until we have indices)
|
||
- web: change Mac install instructions to match Unix
|
||
- setup_project.py: copy html/inc/GioIP.dat also
|
||
- start script: remove cached home page when start or stop project.
|
||
|
||
html/
|
||
inc/
|
||
cache.inc
|
||
sanitize_html.inc
|
||
util.inc
|
||
user/
|
||
account_setup_first_download.php
|
||
account_setup_nonfirst_done.php
|
||
user_search_action.php
|
||
py/Boinc/
|
||
setup_project.py
|
||
sched/
|
||
start
|
||
|
||
Rom 10 June 2004
|
||
- Fix a few bugs on the Windows platform so that the GUI RPC's will now
|
||
work on Windows. I've tested it with telnet, the new GUI will follow
|
||
|
||
client/
|
||
gui_rpc_client.C
|
||
gui_rpc_server.C, .h
|
||
net_xfer.C
|
||
win_build
|
||
*.vcproj
|
||
|
||
David 10 June 2004
|
||
- added "-allow_remote_gui_rpc command line flag
|
||
to allow GUI RPCs from remote hosts (courtesy of Rob Oglivie)
|
||
|
||
client/
|
||
client_state.C,h
|
||
cs_cmdline.C
|
||
gui_rpc_server.C
|
||
|
||
Karl 2004-06-11
|
||
- added feature to START to prune obsolete run_state timestamps
|
||
|
||
sched/
|
||
start
|
||
py/Boinc/
|
||
boincxml.py
|
||
|
||
David 11 June 2004
|
||
- updated sample_index.php and sample project.inc
|
||
- project_banner() now takes title, not user
|
||
- check for project stopped, show news even if stopped
|
||
- add user of the day
|
||
- Get rid of project_intro(), project_community() functions;
|
||
just put this stuff directly in your own index.php
|
||
- add install of sample_index.php, project_news.inc
|
||
to setup_project
|
||
- db_dump: if can't get result counts, keep going
|
||
|
||
html/
|
||
inc/
|
||
uotd.inc
|
||
project.sample/
|
||
project.inc
|
||
user/
|
||
sample_index.php
|
||
py/Boinc/
|
||
setup_project.py
|
||
sched/
|
||
db_dump.C
|
||
|
||
Rom 11 June 2004
|
||
- Change debug messages in the GUI RPC interface to log flags.
|
||
- Add log flag <guirpc_bug/>
|
||
|
||
client/
|
||
client_msgs.C, .h
|
||
gui_rpc_server.C
|
||
log_flags.C, .h
|
||
doc/
|
||
client_debug.php
|
||
|
||
Jeff 11 June 2004
|
||
- The start script now forks before exec'ing the ssh start to remote hosts.
|
||
Without this, start would run "start" on the first remote host it finds
|
||
in the config file but would go no further.
|
||
|
||
sched/
|
||
start
|
||
|
||
Daniel 11 June 2004
|
||
- client: check_idle() now also checks /dev/tty[1-7] (linux).
|
||
Also put idle checks under #ifdefs. MacOS X idle checks
|
||
will be more difficult.
|
||
|
||
configure
|
||
configure.ac
|
||
config.h.in
|
||
client/
|
||
cs_prefs.C
|
||
|
||
David 11 June 2004
|
||
- Windows sockets can't be used in fdopen() (thank you MS),
|
||
and we wanted all the standard XML output functions
|
||
to be able to write to either disk or socket (for GUI RPC).
|
||
So we added a class MIOFILE, with printf() and fgets() member funcs,
|
||
that can be implemented with either a FILE* or a memory buffer
|
||
under the hood.
|
||
- Moved MFILE from api/ to lib/ since it's used in the implementation
|
||
of MIOFILE
|
||
- Changed all XML write and parse functions to take MIOFILE&
|
||
instead of FILE*
|
||
- Changed GUI RPC client code to use MIOFILEs
|
||
- Changed GUI RPC protocol so that every reply message
|
||
ends with a \003 delimiter
|
||
(to make it unambiguous where reply ends)
|
||
- removed version number header from GUI RPC (rethink this later)
|
||
|
||
Got this all to work on Unix; will try Windows next
|
||
|
||
api/
|
||
Makefile.am
|
||
mfile.C,h (moved from here)
|
||
client/
|
||
Makefile.am
|
||
app.C,h
|
||
client_state.h
|
||
client_types.C,h
|
||
cs_scheduler.C
|
||
cs_statefile.C
|
||
gui_rpc_client.C,h
|
||
gui_rpc_server.C,h
|
||
gui_test.C
|
||
hostinfo.C,h
|
||
makefile.gui_test
|
||
miofile.C,h (new)
|
||
net_stats.C,h
|
||
net_xfer.h
|
||
pers_file_xfer.h
|
||
proxy.C,y
|
||
scheduler_op.C
|
||
time_stats.C,h
|
||
doc/
|
||
client_sched.php (new)
|
||
lib/
|
||
Makefile.am
|
||
mfile.C,h (moved to here)
|
||
|
||
David 11 June 2004
|
||
- get core client to compile on Win
|
||
- graphics API: change max frame rate from 10 to 33.3
|
||
|
||
api/
|
||
windows_opengl.C
|
||
client/
|
||
gui_rpc_server.C
|
||
miofile.h
|
||
win_build/
|
||
boinc_cli.vcproj
|
||
boinc_gui.vcproj
|
||
|
||
David 11 June 2004
|
||
- moved idle-time funcs from cs_prefs.C to hostinfo_unix.C
|
||
- fixed handling of "messages" in GUI RPC
|
||
|
||
client/
|
||
cs_prefs.C
|
||
gui_rpc_client.C
|
||
gui_rpc_server.C
|
||
hostinfo_unix.C
|
||
|
||
Rom June 12 2004
|
||
- Cleanup build errors on Windows
|
||
- Fix the <run_benchmarks/> gui rpc to match documentation
|
||
|
||
api/
|
||
boinc_api.C, .h
|
||
gutil.C
|
||
client/
|
||
gui_rpc_client.C
|
||
gui_rpc_server.C
|
||
lib/
|
||
diagnostics.C
|
||
parse.h
|
||
shmem.C
|
||
util.C, .h
|
||
win_build/
|
||
boinc_guirpc_test.vcproj
|
||
upper_case.vcproj
|
||
|
||
David June 12 2004
|
||
- fix compile errors on Unix
|
||
|
||
apps/
|
||
Makefile.am,in
|
||
|
||
David June 12 2004
|
||
- added support for name/passwd authentication to HTTP proxies.
|
||
Includes changes to the proxy settings dialog,
|
||
and to the HTTP_OP class.
|
||
All this courtesy of Kenichi Miyoshi and his colleagues
|
||
at NTT - thanks!
|
||
|
||
client/
|
||
http.C,h
|
||
proxy.C,h
|
||
win/
|
||
boinc_gui.h,rc
|
||
wingui_proxydlg.cpp,h
|
||
win_build/
|
||
boinc_cli.vcproj
|
||
boinc_gui.vcproj
|
||
|
||
David 13 June 2004
|
||
- fix typo on "start"
|
||
- don't allow empty thread titles
|
||
|
||
html/inc/
|
||
forum.inc
|
||
news.inc
|
||
uotd.inc
|
||
sched/start
|
||
|
||
Rom 13 June 2004
|
||
- Don't dangle sockets when the request doesn't come from the loopback
|
||
adapter. Thanks to Sebastian Masch for pointing out the bug and solution.
|
||
|
||
client/
|
||
gui_rpc_server.C
|
||
|
||
Rom 13 June 2004
|
||
- Do some more header file work and fix util.c so it'll compile on unix
|
||
platforms again.
|
||
|
||
client/
|
||
miofile.C, .h
|
||
stdafx.h
|
||
lib/
|
||
base64.C, .h
|
||
util.C
|
||
|
||
Rom 13 June 2004
|
||
- Minor tweaks so you can setup a new project
|
||
|
||
py/Boinc/
|
||
setup_project.py
|
||
sched/
|
||
start
|
||
|
||
Karl 2004-06-14
|
||
- 'start': simplified remote fork/exec logic, and added option for
|
||
parallel/sequential delegation to remote hosts (default sequential)
|
||
|
||
sched/
|
||
start
|
||
|
||
Rom 14 June 2004
|
||
- Fix clientside GUI RPC calls so the test app will work.
|
||
- Fix util.C so cross-platform compliation
|
||
|
||
client/
|
||
gui_rpc_client.C
|
||
lib/
|
||
util.c
|
||
|
||
David 14 June 2004
|
||
- Email addresses in the DB should ALWAYS be lower-case,
|
||
with no leading or trailing white space.
|
||
Add code (trim, strtolower) to enforce this.
|
||
Existing databases should be cleaned up.
|
||
|
||
html/user/
|
||
confirm_email_change.php
|
||
create_account_action.php
|
||
edit_email_action.php
|
||
login_action.php
|
||
mail_passwd.php
|
||
|
||
Daniel 14 June 2004
|
||
- changed uses of mysql_fetch_assoc() to mysql_fetch_object()
|
||
- removed utility function get_profile_from_userid() (not used
|
||
anywhere)
|
||
- added proposal for new client result scheduling: please review!
|
||
|
||
doc/
|
||
client_sched.php
|
||
html/inc/
|
||
subscribe.inc
|
||
util.inc
|
||
html/ops/
|
||
migrate_tables.php
|
||
profile_ops.php
|
||
|
||
Rom 14 June 2004
|
||
- Add check for minor version change which will cause the client to
|
||
rerun the benchmark code.
|
||
|
||
client/
|
||
client_state.C
|
||
|
||
Daniel 14 June 2004
|
||
- client: Returning results due to "-return_results_immediately"
|
||
no longer tries to fetch work unless it's needed.
|
||
- client: Added "-check_all_logins" command-line option to force
|
||
idle checking to look at all users' terminals.
|
||
|
||
config.h.in
|
||
configure
|
||
configure.ac
|
||
client/
|
||
Makefile.in
|
||
client_state.C
|
||
client_state.h
|
||
cs_cmdline.C
|
||
cs_scheduler.C
|
||
hostinfo_unix.C
|
||
|
||
Rom 14 June 2004
|
||
- Add two additional tools to the default install
|
||
parse_config - Parses the config file looking for the requested config
|
||
information.
|
||
db_query - Queries the database for specific information in a
|
||
stripchart compatible format.
|
||
|
||
py/boinc/
|
||
setup_project.py
|
||
tools/
|
||
parse_config
|
||
db_query
|
||
|
||
Karl 2004-06-15
|
||
- added compatibility for old versions of python XML library
|
||
|
||
py/Boinc/
|
||
boincxml.py
|
||
|
||
- created Fortran wrapper
|
||
|
||
api/
|
||
boinc_api_fortran.C
|
||
|
||
Daniel 15 June 2004
|
||
- html: got rid of file descriptor parameters for a lot of
|
||
functions (esp. those used by gallery.inc). using output
|
||
buffering now (ob_start(), ob_get_contents(), etc.)
|
||
|
||
html/
|
||
inc/
|
||
gallery.inc
|
||
profile.inc
|
||
util.inc
|
||
project.sample/
|
||
project.inc
|
||
user/
|
||
project.inc.sample
|
||
|
||
Rom 15 June 2004
|
||
- Move shell scripts that were in the sched folder to the tools folder
|
||
- remove start_servers.C and kill_server
|
||
- Move watchdog scripts to ops folder
|
||
|
||
html/ops/
|
||
watchdogs.php (added)
|
||
wd_nresults_changing.php (added)
|
||
py/boinc/
|
||
setup_project.py
|
||
sched/
|
||
kill_server (removed)
|
||
start_servers.C (removed)
|
||
wd.php (removed)
|
||
wd_nresults_changing.php (removed)
|
||
watch_tcp (removed)
|
||
grep_logs (removed)
|
||
tools/
|
||
watch_tcp (added)
|
||
grep_logs (added)
|
||
|
||
Rom June 15 2004
|
||
- Tag for 3.08 release, all platforms
|
||
boinc_core_release_3_08
|
||
seti_boinc_app_release_3_08
|
||
|
||
David 15 June 2004
|
||
- Database inserts and updates from C++ (boinc_db.C)
|
||
were of the form "insert into foo set id=x, a=y,...".
|
||
Removed the "id=x" part.
|
||
The ID field should never be explicitly set.
|
||
- add index on user.name
|
||
|
||
NOTE: projects should do this on their DB (see html/ops/db_update.php).
|
||
Otherwise user name search will be slow.
|
||
|
||
db/
|
||
boinc_db.C
|
||
constraints.sql
|
||
html/ops;
|
||
db_update.php
|
||
|
||
Daniel 15 June 2004
|
||
- html: Fixed bugs in gallery that caused database failures.
|
||
Fixed some bugs in building summary pages.
|
||
|
||
html/inc/
|
||
gallery.inc
|
||
profile.inc
|
||
|
||
Daniel 15 June 2004
|
||
- client: put all_logins_idle under an ifdef to check for
|
||
availability of {set,get}utent. TODO: implement these for BSD.
|
||
|
||
aclocal.m4
|
||
config.h.in
|
||
configure
|
||
configure.ac
|
||
client/
|
||
hostinfo_unix.C
|
||
|
||
|
||
Karl 2004-06-16
|
||
|
||
- Compile fixes
|
||
- Removed windows MSVC-specific pre-compiled header stuff from API
|
||
headers and modules, since these are compiled/included by external
|
||
projects and do not use the same stdafx.h.
|
||
|
||
lib/
|
||
app_ipc.h
|
||
|
||
api/
|
||
boinc_api.h
|
||
boinc_api.C
|
||
|
||
- Fortran wrapper: Return value fixes
|
||
|
||
api/
|
||
boinc_api_fortran.C
|
||
|
||
David 16 June 2004
|
||
- make team pages cached
|
||
- enable user name search
|
||
|
||
html/
|
||
inc/
|
||
team.inc
|
||
user/
|
||
team_display.php
|
||
user_search_action.php
|
||
|
||
David 16 June 2004
|
||
- Added <host_info> to app_init_data.xml file,
|
||
passed to applications (for Folding@home).
|
||
This necessitated shuffline some code to
|
||
move write/parse code from client/ to lib/
|
||
|
||
client/
|
||
app.C
|
||
hostinfo.C,h (moved from client/ to lib/)
|
||
hostinfo_network.C,h (new)
|
||
miofile.C,h (moved from client/ to lib/)
|
||
win/
|
||
hostinfo_win.cpp
|
||
lib/
|
||
app_ipc.C,h
|
||
win_build/
|
||
boinc_cli.vcproj
|
||
boinc_gui.vcproj
|
||
upper_case.vcproj
|
||
|
||
|
||
David 16 June 2004
|
||
- unix compile fixes for the above change
|
||
|
||
client/
|
||
Makefile.am
|
||
hostinfo_unix.C
|
||
lib/
|
||
Makefile.am
|
||
sched/
|
||
Makefile.am
|
||
|
||
Daniel 16 June 2004
|
||
- client: added implementations of {set,get}utent for lacking
|
||
systems (BSD, MacOSX) so all_logins_idle() will work.
|
||
|
||
client/
|
||
hostinfo_unix.C
|
||
|
||
David 16 June 2004
|
||
- renamed client/stdafx.h to lib/boinc_win.h
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
stdafx.cpp
|
||
stdafx.h (removed)
|
||
lib/
|
||
boinc_win.h (new)
|
||
win_build/
|
||
boinc_cli.vcproj
|
||
boinc_gui.vcproj
|
||
boinc_guirpc_test.vcproj
|
||
|
||
David 16 June 2004
|
||
- scheduler returns message to client in case of internal errors
|
||
|
||
sched/
|
||
main.C,h
|
||
handle_request.C
|
||
|
||
David 16 June 2004
|
||
- change includes from stdafx.h to boinc_win.h
|
||
- add 1o-minute timeout on all network transfers
|
||
|
||
client/
|
||
*.C
|
||
lib/
|
||
*.C
|
||
|
||
Rom 16 June 2004
|
||
- Additional include changes from stdafx.h to boinc_win.h
|
||
|
||
api/
|
||
*.C
|
||
client/
|
||
*.C
|
||
lib/
|
||
*.C
|
||
|
||
David 16 June 2004
|
||
- a few additions to the above
|
||
|
||
api/
|
||
graphics_api.C
|
||
gutil.C
|
||
reduce.C
|
||
static_graphics.C
|
||
windows_opengl.C
|
||
client/
|
||
cpu_benchmark (removed)
|
||
message.C (removed)
|
||
win/
|
||
wingui.h
|
||
lib/
|
||
boinc_win.h
|
||
win_build/
|
||
boinc_gui.vcproj
|
||
|
||
David 16 June 2004
|
||
- fixed shocking error in http.C:
|
||
in poll function (HTTP_OP_SET::poll()),
|
||
check for error conditions at the beginning,
|
||
outside of the switch on http_op_state.
|
||
Previously we were checking for errors only in a couple of states
|
||
(CONNECTING, REPLY_BODY) and errors in other states would go undetected.
|
||
This could account for hangs in file uploads, scheduler RPCs
|
||
|
||
client/
|
||
http.C
|
||
|
||
Rom 16 June 2004
|
||
- Fix HTTP:OP bug where on an upload and the server responds with a 404-
|
||
not found for the file_upload_handler would cause the client
|
||
to delete the result file.
|
||
|
||
client/
|
||
pers_file_xfer.C
|
||
|
||
Rom June 15 2004
|
||
- Tag for 3.09 release, all platforms
|
||
boinc_core_release_3_09
|
||
|
||
David 16 June 2004
|
||
- Change how messages are stored in memory in core client
|
||
- use a list instead of a vector, ordered new to old
|
||
- max of 1000 messages (MAX_SAVED_MESSAGES)
|
||
- add seqno to MESSAGE_DESC
|
||
- change GUI RPC for getting messages.
|
||
Instead of "offset", has a "seqno" arg.
|
||
If nonzero, this is the minimum seqno to return
|
||
- add message-storage logic to Windows client
|
||
|
||
|
||
client/
|
||
client_msgs.C,h
|
||
gui_rpc_server.C
|
||
main.C
|
||
win/
|
||
wingui.cpp
|
||
lib/
|
||
boinc_win.h
|
||
win_build/
|
||
boinc_guirpc_test.vcproj
|
||
|
||
David 16 June 2004
|
||
- get GUI RPC working on UNIX
|
||
|
||
client/
|
||
Makefile.am
|
||
client_msgs.C,h
|
||
gui_rpc_client.C,h
|
||
makefile.gui_test
|
||
|
||
Rom June 16 2004
|
||
- Tag for 3.10 release, all platforms
|
||
boinc_core_release_3_10
|
||
|
||
David 17 June 2004
|
||
- Change the way we get local host's domain name on UNIX:
|
||
instead of gethostbyname()
|
||
(which has nightmarish linkage problems that no one quite understands)
|
||
use "ping", which we assume exists on all UNIX systems,
|
||
and parse its output
|
||
- Allow Python scripts to access remote databases
|
||
(courtesy of Carl C.)
|
||
|
||
client/
|
||
gui_rpc_server.C
|
||
hostinfo_network.C,h
|
||
hostinfo_unix.C
|
||
win/
|
||
hostinfo_win.cpp
|
||
py/Boinc/
|
||
database.py
|
||
|
||
David 17 June 2004
|
||
- Not so fast! "ping -c 1 hostname" hangs forever on Linux
|
||
if hostname is unreachable.
|
||
"ping -c 1 -w 1 hostname" works,
|
||
but the -w option doesn't exist on Solaris!
|
||
So...
|
||
try with -w, and if get an error, try without.
|
||
Hope this is the end of the story.
|
||
|
||
client/
|
||
hostinfo_network.C
|
||
|
||
Rom June 17 2004
|
||
- Enable the low-water mark for the work queue again.
|
||
|
||
client/
|
||
cs_scheduler.C
|
||
|
||
David June 17 2004
|
||
- Fix bonehead mistake in ping/hostname code
|
||
(thanks to Rob Oglivie)
|
||
- Fix memory leak in GUI RPC
|
||
(thanks to Sebastian Masch)
|
||
|
||
client/
|
||
gui_rpc_client.C
|
||
gui_rpc_server.C
|
||
hostinfo_network.C
|
||
lib/
|
||
app_ipc.h
|
||
mfile.h
|
||
|
||
David June 17 2004
|
||
- looser definition of "same platform" when using homogeneous redundancy
|
||
(Courtesy of Pietro Cicotti)
|
||
|
||
sched/
|
||
sched_send.C
|
||
|
||
Rom June 17 2004
|
||
- Tag for 3.12 release, all platforms
|
||
boinc_core_release_3_12
|
||
|
||
Rom June 17 2004
|
||
- Tag for 3.13 release, all platforms
|
||
boinc_core_release_3_13
|
||
|
||
David 17 June 2004
|
||
- enforce the application.deprecated flag in the scheduler.
|
||
When scanning the database, the feeder ignores deprecated apps
|
||
and any associated app versions and workunit/results
|
||
|
||
sched/
|
||
feeder.C
|
||
sched_shmem.C,h
|
||
|
||
Daniel 17 June 2004
|
||
- Determine utmp location at compile time so idle checking works on MacOSX
|
||
- get_local_network_info(): Redirect ping stderr to /dev/null
|
||
|
||
config.h.in
|
||
configure
|
||
configure.ac
|
||
client/
|
||
hostinfo_unix.C
|
||
hostinfo_network.C
|
||
|
||
Rom 17 June 2004
|
||
- Add an additional path to the list of pings to try.
|
||
/usr/sbin
|
||
|
||
client/
|
||
hostinfo_network.C
|
||
|
||
Rom June 17 2004
|
||
- Tag for 3.13 release, all platforms
|
||
boinc_core_release_3_13
|
||
|
||
David 2004.06.17
|
||
- /usr/sbin/ping has different options than others.
|
||
Revise get_local_network_info().
|
||
If all variants of ping fail,
|
||
set hostname="unknown" and ip_addr="0.0.0.0"
|
||
and print a helpful message.
|
||
- show more command line options
|
||
|
||
client/
|
||
cs_cmdline.C
|
||
cs_scheduler.C
|
||
hostinfo_network.C
|
||
hostinfo_unix.C
|
||
|
||
David 2004.06.18
|
||
- punt the ping/gethostbyname issue for now;
|
||
just get the hostname (not domain)
|
||
and set IP address to "unknown".
|
||
|
||
client/
|
||
hostinfo_network.C
|
||
|
||
Karl 2004-06-18
|
||
- makefile cleanup
|
||
|
||
*/Makefile.am
|
||
|
||
Rom June 18 2004
|
||
- Update screensaver logic to determine the difference between
|
||
'no work avaliable' and the active tasks cannot display graphics.
|
||
|
||
client/
|
||
ss_logic.C
|
||
|
||
Rom June 18 2004
|
||
- Tag for 3.15 release, all platforms
|
||
boinc_core_release_3_15
|
||
|
||
David 2004.06.18
|
||
- Undo the checkin of Mar 4 2004 that changed the "report deadline"
|
||
based on connected_frac etc.
|
||
Just use 24 hours.
|
||
- Undo checkin of June 14 2004 that didn't fetch work
|
||
if return_results_immediately is set;
|
||
this broke test_uc.py
|
||
|
||
client/
|
||
client_state.h
|
||
cs_scheduler.C
|
||
|
||
David 2004.06.18
|
||
- Aaargh! I forgot that gethostbyname() is unavoidably used
|
||
when contacting servers, so all this ping stuff
|
||
is a total waste of time!
|
||
Changed things back to the way they were originally.
|
||
|
||
client/
|
||
hostinfo_network.C
|
||
net_xfer.C
|
||
|
||
Rom June 18 2004
|
||
- Tag for 3.16 release, all platforms
|
||
boinc_core_release_3_16
|
||
|
||
|
||
David 2004.06.18
|
||
- add timestamps to messages written stdout/err.txt in Win
|
||
|
||
client/win/
|
||
wingui.cpp
|
||
|
||
David 2004.06.18
|
||
- updated zip/unzip files (from Carl)
|
||
|
||
lib/
|
||
boinc_zip.C,h (removed)
|
||
zip/
|
||
various
|
||
|
||
Rom June 19 2004
|
||
- Tag for 3.17 release, all platforms
|
||
boinc_core_release_3_17
|
||
|
||
Rom June 19 2004
|
||
- Lengthen the benchmarks so even on slow machines they won't get stuck in an
|
||
endless loop waiting on a file that has already come and gone.
|
||
|
||
client/
|
||
cs_benchmark.C
|
||
|
||
Rom June 19 2004
|
||
- Tag for 3.18 release, all platforms
|
||
boinc_core_release_3_18
|
||
|
||
David 20 June 2004
|
||
- db_dump.C: major revision: make it configurable,
|
||
using an XML config file.
|
||
Lets you say what you want exported,
|
||
how to sort, whether to compress etc.
|
||
- destroy_shmem: try to destroy even if there are attachments.
|
||
Somehow ipcrm always destroys the seg. How do they do it?
|
||
- assimilator: print error and exit if handler returns nonzero
|
||
|
||
lib/
|
||
shmem.C
|
||
sched/
|
||
assimilator.C
|
||
db_dump.C
|
||
|
||
David 21 June 2004
|
||
- Web: when displaying results, try to show "---" (i.e. undefined)
|
||
where a field isn't determined yet.
|
||
Show "pending" instead of 0 for granted credit of unvalidated results
|
||
|
||
html/inc/
|
||
result.inc
|
||
|
||
Brian 22 June 2004
|
||
- server: renamed all functions, structures and database items that
|
||
associated with trickle_up or down and renamed to
|
||
msg_from_host and msg_to_host repectively,
|
||
- Deleted result and app fields from the database entry for
|
||
msg_from_host (trickle_up) to make more generic of a
|
||
message that has no app or result associated it with it
|
||
- Changed methods that use these fields to ignore old
|
||
functionality, will update when new method agreed upon
|
||
- sched/
|
||
handle_request.C
|
||
sched_config.C
|
||
sched_config.h
|
||
server_types.h
|
||
- db/
|
||
schema.sql
|
||
BOINC_db.C
|
||
constraints.sql
|
||
|
||
David 22 June 2004
|
||
- client: handle a "down for maintenance" RPC reply as a failure,
|
||
i.e. do a backoff on the project.
|
||
This should hopefully fix a problem where if
|
||
a project is down, and a client has a result to report,
|
||
it will do an RPC every second, creating an overload on the server.
|
||
Do this by adding a new optional <project_is_down/> element
|
||
to scheduler replies.
|
||
- If get a <request_delay> from scheduler,
|
||
don't let that override the current min_rpc_time;
|
||
instead, take the max of the two.
|
||
- Change the implementation of trickle messages.
|
||
Instead of using dedicated trickle_up and trickle_down DB tables,
|
||
use more general msg_from_host and msg_to_host tables.
|
||
These will be used also for data management,
|
||
i.e. to send upoad or download requests to specific hosts.
|
||
|
||
client/
|
||
cs_scheduler.C
|
||
scheduler_op.C,h
|
||
db/
|
||
boinc_db.C,h
|
||
schema.sql
|
||
lib/
|
||
error_numbers.h
|
||
sched/
|
||
assimilator.C
|
||
handle_request.C
|
||
main.C
|
||
server_types.C,h
|
||
trickle_handler.C
|
||
|
||
Karl 2004-06-24
|
||
- OpenBSD compile fixes from Daniel Hartmeier <daniel@benzedrine.cx>
|
||
|
||
lib/
|
||
util.C
|
||
filesys.C
|
||
|
||
sched/
|
||
sched_send.C
|
||
|
||
Karl 2004-06-24
|
||
- update_versions: only match exec_file if it's the same as the directory.
|
||
This makes executable selection deterministic.
|
||
|
||
tools/
|
||
update_versions
|
||
|
||
David 24 June 2004
|
||
- turn off sorting in team member display (slow query)
|
||
- show only up to 1000 users/teams/hosts
|
||
- use URL_BASE instead of MASTER_URL in page_tail()
|
||
- fix php typos
|
||
|
||
html/
|
||
inc/
|
||
team.inc
|
||
util.inc
|
||
user/
|
||
team_display.php
|
||
top_*.php
|
||
|
||
Brian 24 June 2004
|
||
- msg_from_host no longer have preceding and trailing flags in
|
||
scheduler reply. All tags will be included as part of the XML blob
|
||
to be created by whatever program handles the message.
|
||
|
||
Sched/
|
||
server_types.C
|
||
|
||
Rom 25 June 2004
|
||
- Numerious file additions to the new client gui
|
||
- Fixed a user feedback issue between restarting vs. resuming text when
|
||
describing restarting of a task.
|
||
- Limit the transitioner to a resultset of 5000 in it's workunit query so
|
||
it doesn't spend so much time waiting on the database and order by tansition_time
|
||
so we see the oldest to the newest.
|
||
- Include the prototypes of the new language translation files based off of
|
||
the standards used the wxWidgets, These files were constructed using an
|
||
automated tool called poEdit.
|
||
|
||
client/
|
||
app.C
|
||
clientgui/
|
||
<Lots of various files>
|
||
clientgui/locale/
|
||
en_US.*
|
||
sched/
|
||
transitioner.C
|
||
|
||
Rom 25 June 2004
|
||
- Add the ability to just shutdown the website so we can reduce traffic
|
||
|
||
html/inc/
|
||
util.inc
|
||
|
||
Karl 2004-06-27
|
||
- fix to log directory creation from Chrischan <christian.linder@uni-bielefeld.de>
|
||
|
||
sched/
|
||
main.C
|
||
|
||
David 27 June 2004
|
||
- add a -mod N I option to the transitioner;
|
||
causes the transitioner to handle only WUs for which ID % N == I.
|
||
Can use this to parallelize the transitioner,
|
||
either on a single multi-CPU machine or across multiple machines
|
||
|
||
sched/
|
||
transitioner.C
|
||
|
||
David 27 June 2004
|
||
- changes (from Carl C.) to get rid of signal usage in zip/unzip code
|
||
|
||
zip/unzip
|
||
fileio.c
|
||
unzip.c
|
||
zip/zip
|
||
zip.c
|
||
zipcloak.c
|
||
zipnote.c
|
||
zipsplit.c
|
||
|
||
David 27 June 2004
|
||
- Added core->app heartbeat mechanism so that apps will quit
|
||
if the core client dies
|
||
(i.e. if no heartbeat message arrives in 5 seconds).
|
||
Suppress this if app is standalone.
|
||
Also provide messages that let the core disable/enable
|
||
the mechanism (to support debugging of the core client)
|
||
- Added a 3rd message channel for suspend/resume/quit messages,
|
||
to replace signals.
|
||
This isn't used now.
|
||
- Restored code in APP_CLIENT_SHM that checks the "full" bit
|
||
before writing a message.
|
||
This may cause problems.
|
||
|
||
NOTE: this is a backwards-incompatible change to the core/app
|
||
interface, so it requires a major version change (will do later)
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
app.C,h
|
||
lib/
|
||
app_ipc.C,h
|
||
|
||
David 27 June 2004
|
||
- Add a lock file mechanism to prevent two apps
|
||
from running in the same slot at the same time.
|
||
boinc_init() tries to lock the file;
|
||
if it fails, wait for 7 seconds to allow the old process to die
|
||
(the heartbeat timeout is 5 seconds) then try again.
|
||
If fail again, exit.
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
client_state.C
|
||
hostinfo_unix.C
|
||
lib/
|
||
app_ipc.h
|
||
|
||
Rom 27 June 2004
|
||
- Prevent the reuse of shared memory segments with ones that are already
|
||
in use on Windows.
|
||
|
||
client/
|
||
app.C
|
||
lib/
|
||
shmem.C
|
||
|
||
Rom 27 June 2004
|
||
- Introduce the notion of high priority queries for mysql queries and
|
||
implement them for the transitioner
|
||
|
||
db/
|
||
db_base.C, .h
|
||
sched/
|
||
transitioner.C
|
||
|
||
Karl 2004-06-28
|
||
- added configure-time option for building server+client or only client
|
||
(--disable-server or --enable-server)
|
||
|
||
configure.ac
|
||
Makefile.am
|
||
|
||
m4/
|
||
kc_mysql.m4
|
||
|
||
[regenerated: configure, aclocal.m4, */Makefile.in]
|
||
|
||
Daniel 29 June 2004
|
||
- Check user idle time only if preferences require.
|
||
Some users worried that we were sniffing the keyboard.
|
||
- get rid of the CLIENT_STATE::user_idle variable;
|
||
call the function directly
|
||
- on Windows, move logic from GUI code to non-GUI (hostinfo_win.cpp)
|
||
|
||
client/
|
||
client_state.C,h
|
||
cs_files.C
|
||
cs_prefs.C
|
||
hostinfo_unix.C
|
||
win/
|
||
hostinfo_win.cpp
|
||
wingui_mainwindow.cpp,h
|
||
lib/
|
||
hostinfo.h
|
||
|
||
David 29 June 2004
|
||
- fix window compile by moving DLL handle out of HOSTINFO class
|
||
|
||
client/
|
||
app.C
|
||
win/
|
||
hostinfo_win.cpp
|
||
wingui_mainwindow.cpp
|
||
lib/
|
||
hostinfo.h
|
||
|
||
Daniel 29 June 2004
|
||
- New client CPU scheduler, as specified in client_sched.php
|
||
- Fixed NULL pointer bug in create_shmem when calling with pp=NULL
|
||
(fixed by Dave)
|
||
|
||
client/
|
||
app.{C,h}
|
||
client_state.{C,h}
|
||
client_types.{C,h}
|
||
cs_apps.C
|
||
cs_prefs.C
|
||
cs_scheduler.C
|
||
cs_statefile.C
|
||
gui_titles.C
|
||
gui_titles.h
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
lib/
|
||
shmem.C
|
||
|
||
Karl 2004-06-30
|
||
|
||
- updated 'about' dialog to remove "beta" and add UCB SSL copyright
|
||
|
||
client/
|
||
win/
|
||
boinc_gui.rc
|
||
|
||
- visual studio installer projects (create MSIs)
|
||
|
||
boinc_setup creates an MSI with dialogs and options (launch on bootup,
|
||
desktop icon, etc.). boinc_setup_auto creates an MSI that installs
|
||
immediately with no prompting, ideal for Windows group policy to apply
|
||
to many computers
|
||
|
||
win_build/
|
||
boinc_setup.vdproj
|
||
boinc_setup_auto.vdproj
|
||
|
||
David 30 June 2004
|
||
- PHP code: change parse_config() so that it doesn't
|
||
read the config file; you have to read it first into a variable
|
||
(using get_config()) and pass it in to parse_config()
|
||
This saves work when you want to look at several config params.
|
||
- db_init(): parse the DB hostname and use it in mysql_connect.
|
||
This lets you run the web site from a different host than DB
|
||
- disallow caching of top_* pages with random offsets
|
||
- change cache period of top_* pages to 12 hours
|
||
- fix bug in user name search (escape _, %)
|
||
|
||
html/
|
||
inc/
|
||
db.inc
|
||
db_ops.inc
|
||
util.inc
|
||
user/
|
||
create_account_action.php
|
||
create_account_form.php
|
||
profile_menu.php
|
||
sample_rss_main.php
|
||
top_hosts.php
|
||
top_teams.php
|
||
top_users.php
|
||
|
||
Eric K 30 June 2004
|
||
- Removed "using" directives from header files. "using"
|
||
directives should not be used in header files for the following reasons.
|
||
- A "using namespace" directive cannot be revoked for any source file
|
||
including the header. It forces the use of the namespace regardless of
|
||
the consequences.
|
||
- Dropping the namespace qualifier on STL templates ambiguates the
|
||
resolution of template functions. (How many C libraries or headers
|
||
have you seen that define the function min()?)
|
||
- Reducing typing is not a good reason to drop namespace qualifiers any
|
||
more than it would be a good idea to "#define p printf"
|
||
- Namespaces exist for a reason.
|
||
- It's acceptable to have "using" directive in a source file, since it
|
||
won't affect other files. It's better to have "using std::string;"
|
||
directives than "using namespace std;" for hopefully obvious reasons.
|
||
|
||
David 30 June 2004
|
||
- change feeder query to eliminate 'order by random'
|
||
and add a limit of 100.
|
||
- change db_dump to not get counts, since these are slow on InnoDB
|
||
|
||
sched/
|
||
db_dump.C
|
||
feeder.C
|
||
|
||
Daniel 30 June 2004
|
||
- Continuing Eric's vanquishing of "using" directives from header
|
||
files. Moved "using" directives from inside "#ifndef _WIN32"
|
||
blocks. Should compile under Windows now.
|
||
|
||
client/
|
||
client_msgs.C
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
wingui_mainwindow.h
|
||
lib/
|
||
miofile.C
|
||
msg_log.C
|
||
parse.C
|
||
util.C
|
||
|
||
Daniel 30 June 2004
|
||
- Minor changes: changed scheduling period from 30 secs to 1 hour.
|
||
- Got rid of float.h in cs_apps.C.
|
||
|
||
client/
|
||
client_state.C
|
||
cs_apps.C
|
||
|
||
Brian 1 July 2004
|
||
- Continuing Eric and Daniel's vanquishing of "using" directives from
|
||
header files. Instances of string or vector in header files were changed
|
||
to std::string and std::vector respectively.
|
||
|
||
client/
|
||
gui_rpc_client.h
|
||
|
||
Rom 1 July 2004
|
||
- Introduce skeleton of new transitioner queue class that uses a specialized
|
||
query for its job. NOTE: I don't know if it will even compile, but need another
|
||
set of eyes looking over it as well.
|
||
|
||
db/
|
||
db_base.C, .h
|
||
boinc_db.C, .h
|
||
|
||
Daniel 2004-07-01
|
||
- client: scheduler now only calls set_client_state_dirty if some
|
||
task was started or stopped (i.e. set of running tasks changed).
|
||
Also, don't try to schedule CPUs if there are no projects or
|
||
no results.
|
||
|
||
client/
|
||
cs_apps.C
|
||
|
||
Daniel 2004-07-01
|
||
- Yet more fixes related to recent "using" directive checkins...
|
||
|
||
client/
|
||
app.C
|
||
cs_scheduler.C
|
||
gui_rpc_client.C
|
||
hostinfo_unix.C
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
|
||
David 1 July 2004
|
||
- trickle message support:
|
||
- core client: send <have_trickle_down> message to app when appropriate
|
||
- boinc_api: implement boinc_receive_trickle_down()
|
||
- blind attempt to fix HTTP auth crash:
|
||
check for empty URL on redirect
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
app.C,h
|
||
cs_trickle.C
|
||
hostinfo_unix.C
|
||
http.C
|
||
lib/
|
||
app_ipc.h
|
||
error_numbers.h
|
||
|
||
Karl 2004-07-02
|
||
- compile fixes
|
||
|
||
db/
|
||
boinc_db.C
|
||
|
||
sched/
|
||
transitioner.C
|
||
|
||
Daniel 2004-07-02
|
||
- fixed bug that caused CPU scheduler to decrease debts of
|
||
projects that didn't have results running.
|
||
- also undid 2004-07-01 change that only dirtied state file when
|
||
apps were started or preempted. Need to dirty state file
|
||
every time the scheduler recomputes debts.
|
||
|
||
client/
|
||
cs_apps.C
|
||
|
||
David 2 July 2004
|
||
- Changed the way result templates are stored with workunits.
|
||
Instead of storing them as blobs,
|
||
store a filename relative to project root dir.
|
||
This is to speed up DB.
|
||
- disable web command to update host credit
|
||
- turn off web commands to show results for host/user, and pending credit
|
||
- pruned command-line options from create_work.
|
||
You now have to run it in project root dir,
|
||
and it gets info from config file.
|
||
|
||
Project note: this will require either
|
||
1) dropping your workunit and result tables or
|
||
2) modifying your workunit table (see ops/db_update.php)
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
schema.sql
|
||
html/
|
||
inc/
|
||
host.inc
|
||
ops/
|
||
db_update.php
|
||
user/
|
||
pending.php
|
||
results.php
|
||
sched/
|
||
feeder.C
|
||
transitioner.C
|
||
tools/
|
||
backend_lib.C,h
|
||
create_work.C
|
||
process_result_template.C
|
||
|
||
Daniel 2004-07-02
|
||
- API: provide is_worker (default to true) parameter to boinc_init
|
||
and boinc_finish.
|
||
- Applications for which is_worker=false CANNOT access shared
|
||
memory segment that is used for status updates. But they
|
||
can still use BOINC graphics API.
|
||
- API: deleted standalone parameter to boinc_init. standalone
|
||
status is already detected in boinc_init automatically. It
|
||
should be sufficient for testing purposes.
|
||
- FORTRAN API also changed.
|
||
- Documentation updated to reflect API changes.
|
||
|
||
api/
|
||
boinc_api.C
|
||
boinc_api.h
|
||
boinc_api_fortran.C
|
||
doc/
|
||
api.php
|
||
compound_app.php
|
||
|
||
David 2 July 2004
|
||
- added new classes DB_RESULT_DONE, DB_WORK_ITEM, DB_ACCOUNT_INFO
|
||
for efficient DB access
|
||
- feeder: don't need to check server state because scheduler also checks
|
||
- sched_config.parse(): if db host is current host, substitute "localhost"
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
sched/
|
||
feeder.C
|
||
sched_config.C
|
||
tools/
|
||
create_work.C
|
||
|
||
David 3 July 2004
|
||
- Changed feeder to use DB_WORK_ITEM for database fetch.
|
||
This gets a stream of (result ID, WU) pairs
|
||
instead of getting a stream of results and then
|
||
fetching the WUs separately (avoid all those round-trips to DB)
|
||
|
||
sched/
|
||
feeder.C
|
||
db/
|
||
boinc_db.C,h
|
||
|
||
David 3 July 2004
|
||
- tweak DB_WORK_ITEM for performance:
|
||
use mysql_use_result() instead of mysql_store_result();
|
||
use high_priority
|
||
Feeder is performing well now, except that there are
|
||
long gaps when waiting for query to start returning
|
||
- Increase delay request to 1 hour when no work, bad auth etc.
|
||
- turn off showing results for host
|
||
TODO: parameterize web site feature flags
|
||
|
||
db/
|
||
boinc_db.C
|
||
html/inc/
|
||
host.inc
|
||
sched/
|
||
handle_request.C
|
||
sched_send.C
|
||
|
||
Daniel 2004-07-03
|
||
- API: boinc_init now only checks for lockfile if called by worker
|
||
applications. This way, we can have many non-worker apps in
|
||
addition to one worker app.
|
||
|
||
api/
|
||
boinc_api.C
|
||
|
||
Rom 3 July 2004
|
||
- Introduce basic transaction support for performance DB class.
|
||
- Implement basic transsction support for the transitioner.
|
||
|
||
db/
|
||
boinc_db.C
|
||
db_base.C, .h
|
||
sched/
|
||
transitioner.C
|
||
|
||
Rom 3 July 2004
|
||
- Plug a memory leak in the transitioner
|
||
|
||
db/
|
||
boinc_db.C
|
||
|
||
David 4 July 2004
|
||
- scheduler: if client is requesting work,
|
||
and client is not returning results,
|
||
and there's no work,
|
||
then send "No work available" message
|
||
and return without opening DB
|
||
- scheduler: if client has wrong major version,
|
||
and is not returning results,
|
||
return without opening DB
|
||
|
||
sched/
|
||
handle_request.C
|
||
main.C
|
||
sched_shmem.C,h
|
||
|
||
David 6 July 2004
|
||
- Completed (more or less) the implementation of trickle messages.
|
||
Some changes:
|
||
- Trickle-up messages now have a "variety",
|
||
specified by the application.
|
||
Typically it's the name of the application.
|
||
The trickle-up handler (on the server side) specifies what
|
||
variety of message it wants to handle.
|
||
- boinc_receive_trickle_down() no longer returns the message itself;
|
||
instead, it returns the name of the file.
|
||
The app must open, read and delete the file.
|
||
|
||
NOTE: the structure of the msg_to_host and msg_from_host tables
|
||
is changed. Projects will want to drop and recreate these.
|
||
|
||
api/
|
||
boinc_api.C,h
|
||
client/
|
||
app.C
|
||
cs_scheduler.C
|
||
cs_trickle.C
|
||
scheduler_op.C,h
|
||
db/
|
||
boinc_db.C,h
|
||
schema.sql
|
||
lib/
|
||
diagnostics.h
|
||
filesys.C
|
||
sched/
|
||
handle_request.C
|
||
server_types.C,h
|
||
trickle_handler.C
|
||
|
||
Brian 6 July 2004
|
||
- Changed client so that when a file info is compared to
|
||
an existing file info with the same name, the differences
|
||
in whether it is an upload or download are updated and
|
||
any urls that are not present in the file info are added to the url list.
|
||
- When a url is requested for a file info, the file info
|
||
checks whether it is an upload, and then looks for the
|
||
substring "file_upload_handler" any url it is trying to
|
||
use to upload the file. The opposite is true for downloads.
|
||
|
||
- Changed get_url into three separate functions:
|
||
get_current_url(bool), returns the current good url
|
||
get_init_url(bool), returns the initial good url and sets the start url
|
||
get_next_url(book), increments current_url and finds the next good url
|
||
|
||
- Changed client so that a file_info will save its signed xml
|
||
even if it doesn't include have xml signature.
|
||
|
||
- Updated the client so that the check to see if the url is
|
||
valid for the type of network request is a private function of FILE_INFO
|
||
|
||
- Modified the backoff_retry function in persistant_file_xfers
|
||
so that it uses the updated get_url that checks if the url
|
||
is correct for the type of transfer. Otherwise it could
|
||
increment the current_url index to point to an invalid url
|
||
|
||
- If a file_info doesn't have a max number of bytes and a new
|
||
file_info with the same name does, update the max number
|
||
of bytes of the existing file_info and add the <max_nbytes> to the signed_xml.
|
||
|
||
- when file_xfer is complete, the client checks if the file
|
||
was meant to be uploaded when present OR generated locally
|
||
before setting it to ready to report, instead of only the later
|
||
|
||
- With the addition of multiple urls, the issue of sending urls
|
||
that didn't communicate well or got garbage. Whenever a file
|
||
get's a server error, it calls, check_giveup, which only gives
|
||
up on the file if there are no more urls to try. Also is called
|
||
if the downloaded file is garbage or has the same name but not the
|
||
correct size.
|
||
|
||
- added functionality for send_file_list but does not do anything yet
|
||
|
||
|
||
client/
|
||
client_types.C,h
|
||
client_state.h
|
||
cs_apps.C
|
||
cs_file.C
|
||
cs_scheduler.C
|
||
file_xfer.C
|
||
pers_file_xfer.C,h
|
||
scheduler_op.C,h
|
||
|
||
Daniel 2004-07-06
|
||
- client: when a project fails to attach, call quit_activities()
|
||
before exit(1) so other running apps will terminate.
|
||
|
||
client/
|
||
main.C
|
||
|
||
Rom 6 July 2004
|
||
- Removed ';' from queries that had them since the API Docs state
|
||
not to put them in the query.
|
||
- Implement a scheduler optimization so we do one batched read and one
|
||
transactional write. In the worst case scenario where the client
|
||
had submitted 20 results we would do 41 reads and 40 writes
|
||
just to update the results.
|
||
Now we batch read all the results at one time and surround
|
||
the write requests within a transaction.
|
||
So now our worst case scenario is 2 reads and 40 writes within a
|
||
transaction.
|
||
|
||
db/
|
||
boinc_db.C, .h
|
||
db_base.C
|
||
sched/
|
||
handle_request.C
|
||
|
||
Daniel 2004-07-06
|
||
- CPU scheduler only considers resource shares for projects that have
|
||
a runnable result.
|
||
- Bound debt to [-1 day * ncpus, 1 day * ncpus]
|
||
- deleted some dead code
|
||
|
||
client/
|
||
app.C
|
||
cs_apps.C
|
||
cs_trickle.C
|
||
|
||
Daniel 2004-07-06
|
||
- client: work requests now include <resource_share_fraction> tag.
|
||
- scheduler: support for resource_share_fraction
|
||
when checking for wu feasibility, consider resource share of
|
||
project to determine estimated wallclock duration
|
||
- scheduler: syntax bug fix in validator
|
||
|
||
client/
|
||
cs_scheduler.C
|
||
sched/
|
||
sched_send.C
|
||
server_types.C
|
||
server_types.h
|
||
validate.C
|
||
|
||
Daniel 2004-07-06
|
||
- client: bugfix in make_scheduler_request
|
||
|
||
client/
|
||
cs_scheduler.C
|
||
|
||
Daniel 2004-07-06
|
||
- uh, messed up doing a commit. but i put the "correct" files
|
||
back. sorry.
|
||
|
||
client/
|
||
app.C
|
||
client_state.h
|
||
cs_prefs.C
|
||
scheduler_op.C
|
||
|
||
Rom 6 July 2004
|
||
- Added event handler so we are notified of a system shutdown/logoff which
|
||
will allow us to shutdown gacefully instead of the OS terminating us.
|
||
- Do a little clean up work with the resource files in the hope that
|
||
visual studio won't remove the win_config.h reference the next time the
|
||
resources are modified.
|
||
|
||
client/win/
|
||
boinc_cli.rc
|
||
boinc_dll.rc
|
||
boinc_gui.rc
|
||
boinc_ss.rc
|
||
wingui_mainwindow.cpp, .h
|
||
|
||
Rom 6 July 2004
|
||
- Reduce the total number of messages the system attempts to keep in the
|
||
messages tab to 200. 2000 was a bit much and caused the system to spend
|
||
some time processing when there were quite a few messages to go through,
|
||
such as in Predictor@home
|
||
- Moved the code that checkes the total number of messages available in
|
||
the message tab out of the switch/case chunk of code so that it happens
|
||
more frequently than when the user clicks on the messages tab, which
|
||
could take awhile if there was more than 1000 messages.
|
||
|
||
client/win/
|
||
wingui_mainwindow.cpp, .h
|
||
|
||
Rom 7 July 2004
|
||
- Adjust the console control handler such that when a logoff event has
|
||
occurred check to see if we are running as a service and if so, ignore
|
||
the event, otherwise quit.
|
||
|
||
Thanks to Fernando Vinan-Cano via John McLeod
|
||
|
||
client/
|
||
main.C
|
||
|
||
Daniel 2004-07-07
|
||
- client: set the result exit_code to a non-zero value when:
|
||
1. the result couldn't start
|
||
2. the result had a download error
|
||
3. the result had an upload error
|
||
(unless the exit_code was already non-zero)
|
||
|
||
This should get the validator to mark these results as invalid
|
||
and solve the problem the predictor@home people reported.
|
||
|
||
client/
|
||
client_state.C
|
||
lib/
|
||
error_numbers.h
|
||
|
||
|
||
David 7 July 2004
|
||
- Implement revised core/app interface
|
||
(see boinc/doc/api_v4.php).
|
||
- Augment the set of shared-memory message channels;
|
||
add a channel for suspend/resume/quit messages
|
||
(these replace the use of signals and SuspendThread calls);
|
||
add separate channels for trickle up/down
|
||
- Modify the API library accordingly.
|
||
Currently works for Windows; will do UNIX later
|
||
- Modify the core client (app.C) accordingly
|
||
- Call ACTIVE_TASK_SET::poll() even when activities suspended;
|
||
still need to send heartbeats.
|
||
- added MSG_CHANNEL class to make code better organized
|
||
|
||
api/
|
||
boinc_api.C
|
||
windows_opengl.C
|
||
client/
|
||
app.C,h
|
||
client_state.C
|
||
lib/
|
||
app_ipc.C,h
|
||
|
||
Daniel 2004-07-08
|
||
- NetBSD compile fixes from John Klos <john@ziaspace.com>
|
||
(just added __NetBSD__ wherever __OpenBSD__ appeared)
|
||
|
||
lib/
|
||
filesys.C
|
||
util.C
|
||
|
||
David 8 July 2004
|
||
- got the new core/app interface working on Unix.
|
||
I looked into implementing the management functions
|
||
using a thread (with pthreads).
|
||
But the pthreads interface is kinda bizarre.
|
||
E.g. you can't suspend another thread.
|
||
You can send it a signal - but the signal handler
|
||
is not allowed to make any pthreads calls! WTF???
|
||
- Added suspend/resume GUI RPCs;
|
||
changed gui_test to take a cmdline arg: -state -suspend -resume
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
app.C
|
||
gui_rpc_client.C,h
|
||
gui_rpc_server.C
|
||
gui_test.C
|
||
|
||
David 8 July 2004
|
||
- Change the ind_res_st index (on result) from
|
||
(server_state, random) to just (server_state).
|
||
This makes the feeder's DB query somewhat faster (I think).
|
||
The price we pay is that results from the same WU may
|
||
be sent out close together in time.
|
||
- make download page cached
|
||
|
||
NOTE TO PROJECTS:
|
||
this requires an update to your database.
|
||
See html/ops/db_update.php
|
||
|
||
db/
|
||
boinc_db.C
|
||
constraints.sql
|
||
html/
|
||
ops/
|
||
db_update.php
|
||
index.php
|
||
user/
|
||
download.php
|
||
|
||
Daniel 2004-07-08
|
||
- Changed OpenBSD- and NetBSD-specific #ifdef's to be determined
|
||
by autoconf. No idea if this works on OpenBSD/NetBSD yet.
|
||
|
||
Makefile.in
|
||
aclocal.m4
|
||
config.h.in
|
||
configure
|
||
configure.ac
|
||
lib/
|
||
filesys.C
|
||
util.C
|
||
*/
|
||
Makefile.in
|
||
|
||
Brian 8 July 2004
|
||
- Fixed a small bug in allowed_disk_usage where the
|
||
global_prefs.disk_max_used_pct was directly multiplied
|
||
by the total disk, creating a disk value that was a factor of 100 off,
|
||
effectively never becoming the min value returned by the function.
|
||
|
||
client/
|
||
cs_prefs.C
|
||
|
||
Karl 2004-07-08
|
||
- fixes for boinc_thread_cpu_time vs. boinc_calling_thread_cpu_time
|
||
|
||
lib/
|
||
util.h
|
||
api/
|
||
boinc_api.h
|
||
boinc_api_fortran.C
|
||
client/
|
||
dhrystone.C
|
||
whetstone.C
|
||
|
||
Karl 2004-07-09
|
||
- fixed CURSOR initialization problem (found by Carl Christensen)
|
||
- CURSOR now initializes itself; classes that use it don't need to
|
||
initialize it anymore
|
||
|
||
- removed superfluous 'CURSOR cursor' in DB_WORK_ITEM -- is this correct?
|
||
- if there should be two cursors, they should be named differently --
|
||
otherwise it is way too easy to use the wrong one in multiple
|
||
inheritance
|
||
|
||
db/
|
||
boinc_db.h
|
||
boinc_db.C
|
||
db_base.h
|
||
db_base.C
|
||
|
||
Karl 2004-07-09
|
||
- graphics API updates
|
||
|
||
- fixed potential buffer overflows
|
||
|
||
api/
|
||
static_graphics.C
|
||
gutil.C
|
||
gutil.h
|
||
|
||
Daniel 2004-07-09
|
||
- Don't send heartbeats to, send trickle downs to, or get status
|
||
messages from apps without shared memory initialized (i.e.
|
||
PROCESS_UNINITIALIZED)
|
||
|
||
client/
|
||
app.C
|
||
|
||
David 9 July 2004
|
||
- Implemented GUI RPCs for
|
||
- showing graphics (one result or all, window or fullscreen)
|
||
- project reset, attach, detach
|
||
- Added cmdline options to gui_test to exercise the above
|
||
|
||
client/
|
||
gui_rpc_client.C,h
|
||
gui_rpc_server.C
|
||
gui_test.C
|
||
|
||
Brian 9 July 2004
|
||
- Changed server side conception of gigabyte to match client side.
|
||
- (1024.*1024.*1024.) instead of 1e9
|
||
- makes sure that project will get work if there is space on client
|
||
|
||
sched/
|
||
sched_send.C
|
||
|
||
Jeff 9 July 2004
|
||
- create_work() now take a new parameter - the path to the result template
|
||
file. This was needed because some programs (eg the sah splitter) are
|
||
not run from the project root directory.
|
||
|
||
tools/
|
||
backend_lib.C
|
||
backend_lib.h
|
||
create_work.C
|
||
|
||
David 9 July 2004
|
||
- Integrate code (courtesy of James Drews) that lets you limit
|
||
the set of hosts from which the core client will accept GUI RPCs.
|
||
Here's how it works: make a file "remote_hosts"
|
||
in the BOINC directory with a list of hostnames (# for comment).
|
||
The core client will accept connections only from
|
||
localhost and from hosts in this list.
|
||
Note: if the -allow_remote_gui_rpc option is given,
|
||
ALL connections are accepted.
|
||
- add a "-host x" cmdline arg to gui_test
|
||
- add error checking to GUI_RPC_CLIENT so that it can tell
|
||
if its connection was rejected
|
||
- remove .gz target from client makefile
|
||
|
||
client/
|
||
Makefile.am
|
||
file_names.h
|
||
gui_rpc_client.C,h
|
||
gui_rpc_server.C,h
|
||
gui_test.C
|
||
tools/
|
||
create_work.C
|
||
|
||
David 11 July 2004
|
||
- changes in core client related to attaching to projects
|
||
- commented out "maybe_rename_old_filename_format()" stuff.
|
||
Not needed, and contains hazardous asserts
|
||
- CLIENT_STATE::add_project()
|
||
- check that master URL starts with http://,
|
||
and has other chars after that
|
||
[WHY WASN'T THIS BEING DONE??]
|
||
- check that authenticator is non-null
|
||
|
||
client/
|
||
cs_account.C
|
||
win/
|
||
wingui_dialog.cpp
|
||
lib/
|
||
error_numbers.h
|
||
util.C,h
|
||
|
||
Rom 11 July 2004
|
||
- Checkin the document class stuff for the new GUI, right now the
|
||
SendMessageToCore function is hard coded to do a <get_state/> message
|
||
until I get around to figuring out why the compiler complains about
|
||
an attempt to cast to a void *.
|
||
NOTE: Still debugging the UI portion of the code, it'll follow shortly
|
||
|
||
clientgui/
|
||
ActiveTask.cpp, .h
|
||
App.cpp, .h
|
||
AppVersion.cpp, .h
|
||
BOINCGUI.vcproj
|
||
FileInfo.cpp, .h
|
||
MainDocument.cpp, .h
|
||
Message.cpp, .h
|
||
Project.cpp, .h
|
||
ProxyInfo.cpp, .h
|
||
Result.cpp, .h
|
||
stdwx.h
|
||
Workunit.cpp, .h
|
||
XMLParser.cpp, .h
|
||
|
||
Daniel 2004-07-12
|
||
- bugfix: don't tell uninitalized apps to reread prefs
|
||
- only call set_client_state_dirty("schedule_cpus") if some
|
||
project had a runnable result. (if no such project, then debt
|
||
and active task set can't change.)
|
||
- tell apps to stop doing screensaver graphics when rescheduling
|
||
CPUs
|
||
- added ACTIVE_TASK_SET::get_next_graphics_capable_app(), not
|
||
currently used
|
||
|
||
client/
|
||
app.{C,h}
|
||
cs_apps.C
|
||
|
||
Rom 12 July 2004
|
||
- Checkin two workable tabs for the new GUI, Project and Work, performance
|
||
isn't quite up to par yet. My client_state.xml file is roughly 256kb and
|
||
it takes the new gui almost a minute to parse the RPC from the core client.
|
||
|
||
NOTE: The Work tab is hooked up but the I still need to massage the data
|
||
document-side to see things the same way as the existing GUI.
|
||
|
||
clientgui/
|
||
BaseListCtrlView.cpp, .h
|
||
BOINCGUI.vcproj
|
||
MainDocument.cpp, .h
|
||
MainFrame.cpp, .h
|
||
MessagesView.cpp, .h
|
||
Project.cpp
|
||
ProjectsView.cpp, .h
|
||
ResourceUtilizationView.cpp, .h
|
||
TransfersView.cpp, .h
|
||
WorkView.cpp, .h
|
||
XMLParser.cpp
|
||
|
||
Karl 2004-07-13
|
||
- fixed configure bug where MINOR_VERSION gets set to nothing if minor
|
||
version is 0
|
||
|
||
- changed MAJOR_VERSION, MINOR_VERSION to BOINC_MAJOR_VERSION,
|
||
BOINC_MINOR_VERSION; PACKAGE_VERSION and VERSION -> BOINC_VERSION_STRING
|
||
|
||
- added '--disable-client' option to disable building client
|
||
|
||
- fixed Makefile typo for message_handler
|
||
|
||
- fixed Makefile problem with @CLIENT_BIN_FILENAME@.gz
|
||
|
||
- misc configure fixes
|
||
|
||
configure.ac
|
||
Makefile.am
|
||
|
||
client/
|
||
Makefile.am
|
||
client_state.C
|
||
cs_cmdline.C
|
||
cs_statefile.C
|
||
file_xfer.C
|
||
version.C (removed -- obsolete)
|
||
version.h (removed -- obsolete)
|
||
client/win/
|
||
boinc_cli.rc
|
||
boinc_dll.rc
|
||
boinc_gui.rc
|
||
boinc_ss.rc
|
||
wingui_dialog.cpp
|
||
win_config.h [regenerated]
|
||
|
||
py/Boinc/
|
||
version.py.in
|
||
|
||
sched/
|
||
Makefile.am
|
||
file_upload_handler.C
|
||
handle_request.C
|
||
sched_shmem.C
|
||
|
||
test/
|
||
testbase.py
|
||
|
||
configure [regenerated]
|
||
*/Makefile.in [regenerated]
|
||
|
||
Karl 2004-07-13
|
||
|
||
- new function generic_check_set() which generalizes
|
||
generic_check_set_majority()
|
||
|
||
- Cleaned up sample validators and sample assimilator. Renames:
|
||
validate_test -> sample_bitwise_validator
|
||
validate_trivial -> sample_trivial_validator
|
||
assimilator -> sample_dummy_assimilator
|
||
|
||
- sample_bitwise_validator: more efficient: compare (lazily-computed)
|
||
md5sums before comparing file contents
|
||
|
||
- md5_file: md5_string(): new C++ version of md5_block; fixed constness
|
||
in md5_block, md5_file parameters
|
||
|
||
sched/
|
||
Makefile.am
|
||
validate_util.C
|
||
validate_util.h
|
||
validate.C -> validator.C (consistent w/ assimilator.C)
|
||
validate_test.C -> sample_bitwise_validator.C
|
||
validate_trivial.C -> sample_trivial_validator.C
|
||
assimilate_handler.C -> sample_dummy_assimilator.C
|
||
|
||
lib/
|
||
md5_file.h
|
||
md5_file.C
|
||
|
||
Karl 2004-07-13
|
||
- updated #includes of C headers in C++ files to C++ headers
|
||
(e.g. <cstdio> instead of <stdio.h>)
|
||
|
||
- refactored HAVE_GL* preprocessing logic for OpenGL headers
|
||
|
||
api/
|
||
boinc_gl.h (new)
|
||
|
||
113 files modified
|
||
|
||
David 12 July 2004
|
||
- client: get env vars related to HTTP proxy authentication
|
||
(previously the cmdline version couldn't do auth)
|
||
|
||
client/
|
||
cs_cmdline.C
|
||
|
||
David 13 July 2004
|
||
- revised GUI RPC interface.
|
||
old: get_state() returns everything
|
||
problem: too slow to do every second
|
||
new: get_state() returns stuff that doesn't change often
|
||
(PROJECT, APP, APP_VERSION, WORKUNIT, RESULT)
|
||
get_results() returns dynamic info about results
|
||
(fast enough to do every second)
|
||
get_file_transfers() returns info about file transfers
|
||
(fast enough to do every second)
|
||
If either of the latter returns the name of something
|
||
that doesn't exist in the static state,
|
||
then do another get_state() call
|
||
|
||
client/
|
||
client_state.h
|
||
client_types.C,h
|
||
cs_statefile.C
|
||
gui_rpc_client.C,h
|
||
gui_rpc_server.C
|
||
gui_test.C
|
||
|
||
Daniel 2004-07-14
|
||
- schedule_cpus() now returns false if no projects had runnable
|
||
results. this should behave more nicely with do_something().
|
||
|
||
client/
|
||
cs_apps.C
|
||
|
||
Daniel 2004-07-14
|
||
- implemented new work fetch policy, as described in client_sched.php
|
||
- compile fixes in client_types.h to get rid of warnings (there was
|
||
some confusing of struct and class)
|
||
- changed <cstdio> back to <stdio.h> in std_fixes.h; this fixes
|
||
configure and compile problems with seti_boinc
|
||
- added some auxiliary code for new screensaver logic; actual
|
||
screensaver logic not yet changed (coming soon...)
|
||
|
||
client/
|
||
app.C,h
|
||
client_state.C,h
|
||
client_types.h
|
||
cs_apps.C
|
||
cs_scheduler.C
|
||
scheduler_op.C
|
||
lib/
|
||
std_fixes.h
|
||
|
||
Brian 14 July 2004
|
||
- made a small changed that removed extra checks on downloaded files
|
||
when a file_xfer is completed. Was rejecting good files that had
|
||
bogus md5 checksums created using send_file or get_file. Extra time
|
||
will have to be spend to make md5 work for these two functions in the
|
||
future
|
||
|
||
client/
|
||
pers_file_xfer.C
|
||
|
||
Rom July 15 2004
|
||
- Tag for 4.00 release, all platforms
|
||
boinc_release_4_00
|
||
|
||
David 15 July 2004
|
||
- server: better messages on DB errors
|
||
- web: cache system looks for "format=xml" in cache args,
|
||
sends as MIME type XML if so
|
||
- added CGI interface to get user stats as XML
|
||
- top_*.php: forgot to exit() in case of too-large offset
|
||
- xml_escape(): change \n to space
|
||
- db_dump: error checking; add fields to team output;
|
||
only output items with nonzero total_credit
|
||
- scheduler: we were doing an optimization of not opening the DB
|
||
in case there's no work and client not returning results.
|
||
Don't do this if this is initial request from host
|
||
(otherwise it won't get hostid, and will detach project)
|
||
- add "enforce_delay_bound" to SCHED_CONFIG
|
||
(NOTE TO PROJECTS: unless you pub <enforce_delay_bound/>
|
||
in your config.xml, the scheduler will send results
|
||
to hosts that are too slow to complete them within delay bound.)
|
||
|
||
db/
|
||
db_base.C
|
||
html/
|
||
inc/
|
||
cache.inc
|
||
user/
|
||
account_created.php
|
||
download.php
|
||
show_user.php
|
||
top_*.php
|
||
lib/
|
||
parse.C,h
|
||
sched/
|
||
db_dump.C
|
||
handle_request.C
|
||
sched_config.C,h
|
||
|
||
Noaa 15 July 2004
|
||
- completely new copy of x_opengl utilizing glut, updated using Karl's
|
||
boinc_gl.h. Include-file issues including makefile issues have yet to
|
||
be resolved so this will NOT compile with your existing Makefile
|
||
- updated graphics_api with xwin_graphics_event_loop and some new
|
||
included files. Will not compile with existing Makefile.
|
||
- reduce.C rearranged includes and added GL, to be resolved later.
|
||
- gutil.C extern "C" for jpeglib, glut included, will not compile
|
||
with existing Makefile
|
||
- boinc_api.h RETSIGTYPE changed to void
|
||
|
||
New makefile to take all of these into account will be committed when
|
||
available.
|
||
|
||
api/
|
||
x_opengl.C
|
||
x_opengl.h
|
||
graphics_api.C
|
||
reduce.C
|
||
boinc_api.h
|
||
gutil.C
|
||
|
||
|
||
<<<<<<< checkin_notes
|
||
David 15 July 2004
|
||
- HTTP; increase size of request header buffer from 256 to 4096
|
||
(fixes HTTP proxy authentication crash bug)
|
||
- New way of updating client_state.xml:
|
||
- write new file to client_state_next.xml
|
||
- rename client_state.xml to client_state_prev.xml
|
||
- rename client_state_next.xml to client_state.xml
|
||
- remove references to version.* from project file
|
||
|
||
client/
|
||
cs_statefile.C
|
||
file_names.h
|
||
http.h
|
||
win_build/
|
||
boinc_gui.vcproj
|
||
|
||
Noaa 15 July 2004
|
||
=======
|
||
David 15 July 2004
|
||
- HTTP; increase size of request header buffer from 256 to 4096
|
||
(fixes HTTP proxy authentication crash bug)
|
||
- New way of updating client_state.xml:
|
||
- write new file to client_state_next.xml
|
||
- rename client_state.xml to client_state_prev.xml
|
||
- rename client_state_next.xml to client_state.xml
|
||
- remove references to version.* from project file
|
||
|
||
client/
|
||
cs_statefile.C
|
||
file_names.h
|
||
http.h
|
||
win_build/
|
||
boinc_gui.vcproj
|
||
>>>>>>> 1.1637
|
||
|
||
<<<<<<< checkin_notes
|
||
-added printout of usabilities in gui_test.C (ie when user types
|
||
"gui_test" with no arguments)
|
||
|
||
client/
|
||
gui_test.C
|
||
=======
|
||
Noaa 15 July 2004
|
||
|
||
-added printout of usabilities in gui_test.C (ie when user types
|
||
"gui_test" with no arguments)
|
||
|
||
client/
|
||
gui_test.C
|
||
>>>>>>> 1.1637
|
||
|
||
Daniel 2004-07-15
|
||
- API: made APP_INIT_DATA aid extern so apps can access it (used to set
|
||
fraction_done_start and fraction_done_end)
|
||
|
||
api/
|
||
boinc_api.C,h
|
||
|
||
David 16 July 2004
|
||
- on team listings, show only users w/ nonzero total credit
|
||
- xml_escape(): convert ^M and \r to blank as well as \n
|
||
|
||
html/inc/
|
||
team.inc
|
||
lib/
|
||
parse.C
|
||
sched/
|
||
db_dump.C
|
||
|
||
Daniel 2004-07-16
|
||
- API: fixes in GL code to use APP_INIT_DATA aid from boinc_api.C
|
||
|
||
api/
|
||
x_opengl.C
|
||
windows_opengl.C
|
||
|
||
David 16 July 2004
|
||
- fixed bug in transitioner where, when creating new results
|
||
for a WU, it uses the wrong suffix,
|
||
causing conflicts with existing result names.
|
||
- fixed bug in writing statefile; wouldn't work on fresh installs
|
||
|
||
client/
|
||
cs_statefile.C
|
||
sched/
|
||
transitioner.C
|
||
|
||
David 17 July 2004
|
||
Various changes to reflect the fact that message-passing
|
||
operations may fail because buffer is full,
|
||
in which case they must be retried later.
|
||
|
||
- in graphics API: don't ack graphics mode in set_mode();
|
||
instead, ack it in timer_handler()
|
||
- in core client: keep track of the graphics_mode_requested
|
||
separately from the graphics_mode_sent;
|
||
in a polling routine, if these are different then try to send.
|
||
|
||
- used CLIENT_STATE::get_next_graphics_capable_app() instead of
|
||
ACTIVE_TASK_SET::get_graphics_capable_app()
|
||
|
||
api/
|
||
windows_opengl.C
|
||
client/
|
||
app.C,h
|
||
cs_apps.C
|
||
ss_logic.C
|
||
|
||
David 19 July 2004
|
||
- windows_opengl.
|
||
- on WM_CLOSE message, call set_mode() rather than KillWindow().
|
||
If you call KillWindow() the core client never finds out
|
||
that we're in HIDE_GRAPHICS mode
|
||
- removed specious KillWindow() logic from make_new_window();
|
||
- Various changes and bug fixes for GUI RPC:
|
||
- include resource share in PROJECT write
|
||
- include wu_name etc. in RESULT write
|
||
- expanded gui_test.C to include almost all RPCs
|
||
|
||
api/
|
||
windows_opengl.C
|
||
client/
|
||
client_types.C,h
|
||
cs_statefile.C
|
||
gui_rpc_client.C,h
|
||
gui_rpc_server.C
|
||
gui_test.C
|
||
|
||
Daniel 2004-07-19
|
||
- client: try to choose new app to do screensaver graphics in
|
||
schedule_cpus()
|
||
|
||
client/
|
||
cs_apps.C
|
||
ss_logic.C,h
|
||
|
||
David 19 July 2004
|
||
- fix various bugs that kept test_uc.py from working
|
||
Project._build_sched_commandlines(): programs names have changed
|
||
(validate_test -> sample_bitwise_validator,
|
||
assimilator -> sample_dummy_assimilator)
|
||
??? why does this function exist in the first place?
|
||
TestProject.run(): same
|
||
Work.install():
|
||
need to copy result template file to project directory
|
||
Added -config_dir argument to create_work
|
||
For some reason, the transitioner wasn't expanding UPLOAD_URL
|
||
in result templates, when creating new results.
|
||
Fixes this.
|
||
|
||
In spite of all this, test_uc.py doesn't quite work.
|
||
I think sample_bitwise_validator is crashing.
|
||
|
||
py/Boinc/
|
||
setup_project.py
|
||
sched/
|
||
transitioner.C
|
||
test/
|
||
testbase.py
|
||
tools/
|
||
create_work.C
|
||
|
||
Karl 2004-07-20
|
||
- fixed bug in md5_string() that caused sample_bitwise_validator to
|
||
segfault.
|
||
- test_uc.py passes again.
|
||
|
||
lib/
|
||
md5_file.C
|
||
|
||
Rom 19 July 2004
|
||
- Increase the heartbeat give-up period from 5 seconds, to 30 seconds.
|
||
It looks as though we were hitting the give-up period when name resolution
|
||
was taking longer than expected.
|
||
- Increase the heartbeat timeout period to be greater than the timeout period.
|
||
|
||
api/
|
||
boinc_api.C
|
||
|
||
Rom July 19 2004
|
||
- Tag for 4.01 release, all platforms
|
||
boinc_release_4_01
|
||
|
||
Eric K. July 20 2004
|
||
- Added cache control headers to the cached php pages to reduce CGI
|
||
load on the web server. The headers include Last-Modified, Expires,
|
||
and Cache-Control: public, max-age=. Expiration and max-age are
|
||
based upon the max-age parameter passed to start_cache().
|
||
start_cache() also check the request header for 'If-Modified-Since'
|
||
and returns a 'HTTP/1.0 304 Not Modified' if 'If-Modified-Since' ==
|
||
'Last-Modified:'
|
||
|
||
html/inc/cache.inc
|
||
|
||
Rom July 19 2004
|
||
- Fix a bug where during the benchmarking process all the active tasks
|
||
would die off.
|
||
|
||
client/
|
||
cs_benchmark.C
|
||
|
||
Karl 2004-07-21
|
||
- fix bug in "couldn't find app" messages
|
||
|
||
sched/
|
||
message_handler.C
|
||
validator.C
|
||
|
||
Karl 2004-07-21
|
||
- allow '.msi' as extension for installation package
|
||
|
||
tools/
|
||
update_versions
|
||
|
||
Karl 2004-07-22
|
||
- fixed html/php bugs (e.g. should be <?php instead of <?)
|
||
- fixed forum link
|
||
- multipart/form-data doesn't seem to work (?)
|
||
- don't show profile thumbnail if none exists
|
||
- fix installation of head_20.png
|
||
|
||
html/user/
|
||
sample_index.php
|
||
team_manage.php
|
||
html.php
|
||
old_news.php
|
||
html/inc
|
||
profile.inc
|
||
uotd.inc
|
||
project.sample/
|
||
project_news.inc
|
||
py/Boinc/
|
||
setup_project.py
|
||
|
||
David 21 July 2004
|
||
- Database optimization in the transitioner:
|
||
add several results in a single SQL insert statement
|
||
(using values (...),(...),(...))
|
||
instead of separate inserts.
|
||
This is enabled by a BATCH_INSERT compile flag in transitioner.C
|
||
- Add a USE_TRANSACTIONS flag to transitioner.
|
||
Leave it off for now.
|
||
- For some reason we weren't processing the UPLOAD_URL symbol
|
||
in result templates.
|
||
Restore this, using the info in the config file.
|
||
- transitioner: if anything fails (result creation, WU update), quit.
|
||
- result.random must be initialized by caller on insert
|
||
(not too relevant since we don't use it anymore)
|
||
- start/commit_transaction are now members of DB_CONN
|
||
rather than DB_BASE_SPECIAL
|
||
- scheduler: in scan_work_array, do all "cheap" checks
|
||
(i.e. those that don't require DB access)
|
||
before releasing the semaphore.
|
||
Thus if all the results are infeasible,
|
||
we'll acquire/release the semaphore once, not 100 times.
|
||
- re-enable team name search
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
db_base.C,h
|
||
html/user/
|
||
team.php
|
||
team_lookup.php
|
||
sched/
|
||
sched_send.C
|
||
transitioner.C
|
||
tools/
|
||
backend_lib.C,h
|
||
|
||
|
||
Noaa 21 July 2004
|
||
|
||
<<<<<<< checkin_notes
|
||
- incorporated modded, smaller glut into the source tree, includes
|
||
a makefile if any files are changed
|
||
- updated, cleaner version of x_opengl.C
|
||
- removed glut stuff from boinc_gl.h to account for integrated glut in
|
||
source tree
|
||
- updated gutil.C header
|
||
- changed Makefile for api to account for glut in source tree, called
|
||
Makefile.graphics (unaffected by configure, may not run on every
|
||
system correctly, please check for specific setups)
|
||
|
||
api/
|
||
x_opengl.C
|
||
boinc_gl.h
|
||
gutil.C
|
||
Makefile.graphics (new)
|
||
=======
|
||
- incorporated modded, smaller glut into the source tree, includes
|
||
a makefile if any files are changed
|
||
- updated, cleaner version of x_opengl.C
|
||
- removed glut stuff from boinc_gl.h to account for integrated glut in
|
||
source tree
|
||
- updated gutil.C header
|
||
- changed Makefile for api to account for glut in source tree, called
|
||
Makefile.graphics (unaffected by configure, may not run on every
|
||
system correctly, please check for specific setups)
|
||
>>>>>>> 1.1637
|
||
|
||
<<<<<<< checkin_notes
|
||
boincglut/ (new)
|
||
=======
|
||
api/
|
||
x_opengl.C
|
||
boinc_gl.h
|
||
gutil.C
|
||
Makefile.graphics (new)
|
||
|
||
boincglut/ (new)
|
||
>>>>>>> 1.1637
|
||
|
||
David 21 July 2004
|
||
- tweaked and enabled Rom's DB accelerator for the scheduler.
|
||
When a user is reporting results,
|
||
it reads the necessary fields in one gulp.
|
||
It updates only the necessary result fields.
|
||
It updates the workunit transition times in a single SQL statement.
|
||
It encloses this all in a transaction.
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
sched/
|
||
handle_request.C
|
||
|
||
Jeff 21 July 2004
|
||
- only grab 1000 Wus at a time in do_validate_scan()
|
||
|
||
sched/
|
||
validator.C
|
||
|
||
Noaa 21 July 2004
|
||
|
||
- changed frand's type from extern to static to match the .C definition
|
||
in gutil.h
|
||
- added gutil.C to the api's Makefile.graphics
|
||
|
||
api/
|
||
gutil.h
|
||
Makefile.graphics
|
||
|
||
David 22 July 2004
|
||
- Another DB performance tweak: add DB_RESULT::update_subset()
|
||
to update just those fields needed when send a result
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
sched/
|
||
sched_send.C
|
||
|
||
Rom 22 July 2004
|
||
- Another tweak to the transitioner so we can go back to use multiple
|
||
transitioners
|
||
|
||
db/
|
||
boinc_db.C, .h
|
||
sched/
|
||
transitioner.C
|
||
|
||
Daniel 2004-07-22
|
||
- use "estimated_delay" (sent in scheduler request by client) when
|
||
trying to meet wu.delay_bound.
|
||
|
||
sched/
|
||
sched_send.C
|
||
server_types.C,h
|
||
|
||
Jeff 22 July 2004
|
||
- Fixed a malformed SQL statement in DB_RESULT::update_subset()
|
||
that was leading to zero results being sent out.
|
||
|
||
db/
|
||
boinc_db.C
|
||
|
||
Eric K. July 22 2004
|
||
- Worked a bit more on the caching... Improvements include....
|
||
- A parameter file html/project.sample/cache_parameters.inc that
|
||
contains the cache TTL values for differing types of files, maximum
|
||
cache size and minimum free disk space in the cache directory.
|
||
- Reducing the cache TTL to 0 for a specific file type results in
|
||
caching being turned off for that file type.
|
||
- The cache now has 256 subdirectories to speed up file open times.
|
||
- The cache directories will be automatically built if they don't exist
|
||
when first called
|
||
- The cache size is checked every CACHE_SIZE_CHECK_FREQ page accesses.
|
||
If the max size or min free space are exceeded, file are purged in
|
||
order of age until the cache size is below the cutoff.
|
||
html/
|
||
inc/
|
||
cache.inc
|
||
profile.inc
|
||
project.sample/
|
||
cache_parameters.inc
|
||
user/
|
||
download.php
|
||
hosts_user.php
|
||
sample_index.php
|
||
show_user.php
|
||
team_display.php
|
||
top_hosts.php
|
||
top_teams.php
|
||
top_users.php
|
||
|
||
Karl 2004-07-23
|
||
- added argument check to create_work process_wu_template if <file_number>
|
||
isn't found (otherwise it just silently uses the previous command-line
|
||
argument as a file_ref!)
|
||
|
||
tools/
|
||
backend_lib.C
|
||
|
||
Daniel 2004-07-26
|
||
- Fixed fast wu_result check (broken by mysterious commit of
|
||
2004-07-24) that caused work to never be sent.
|
||
|
||
sched/
|
||
sched_send.C
|
||
|
||
Daniel 2004-07-26
|
||
- API: send current VM usage and resident set size in
|
||
update_app_progress(). Currently only works for Solaris and Linux.
|
||
Does anyone know how to do this on Windows or OSX?
|
||
- Fixed typo on prefs page
|
||
|
||
config.h.in
|
||
configure
|
||
configure.ac
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
app.C,h
|
||
html/inc/
|
||
prefs.inc
|
||
|
||
Rom July 27 2004
|
||
- Fix a bug where received results were not being updated
|
||
|
||
db/
|
||
boinc_db.C
|
||
sched/
|
||
handle_request.C
|
||
|
||
Daniel 2004-07-27
|
||
- client: upon file xfer failure, don't do multiple back-offs
|
||
|
||
client/
|
||
pers_file_xfer.C
|
||
|
||
Rom July 27 2004
|
||
- Create a tmp folder off of the project root so tasks and stuff can begin execution
|
||
from there, it was the log folder but the problem with that, is now our log directories
|
||
are symbolic links to a local volume so when we try to traverse back up to the project
|
||
folder we are missing a bunch of folders.
|
||
|
||
py/boinc/
|
||
setup_project.py
|
||
sched/
|
||
start
|
||
|
||
Daniel 2004-07-29
|
||
- API: fixed bug that caused vm_size and resident_set_size not to be
|
||
sent to core client
|
||
- client: check_max_mem_exceeded() revived - currently only checks
|
||
against workunit max_mem_usage attribute
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
app.C
|
||
|
||
Noaa 29 July 2004
|
||
- added another glut file to the source tree, updated the
|
||
makefile for it
|
||
- updated version of x_opengl.C
|
||
|
||
boincglut/
|
||
lib/
|
||
glut/
|
||
glut_glxext.c (new)
|
||
Makefile
|
||
|
||
api/
|
||
x_opengl.C
|
||
|
||
Noaa 30 July 2004
|
||
- added Makefile.Readme to explain how to make a Makefile.graphics
|
||
for a system since at the moment Makefile.graphics is restricted
|
||
to the setup on Miner. This can be used when Makefile.in is changed
|
||
so that a correct Makefile is generated at configure time.
|
||
|
||
client/
|
||
Makefile.Readme(new)
|
||
|
||
David 3 Aug 2004
|
||
- changed the API to handle compound applications.
|
||
API tasks are broken down into a number of boolean
|
||
"options" (struct BOINC_OPTIONS).
|
||
For compound apps, the controller and worker call a new
|
||
function boinc_init_options(), specifying which tasks
|
||
they're going to handle.
|
||
This reads the API init file, attaches shared memory,
|
||
and starts a timer (which does only the requested tasks).
|
||
|
||
The old boinc_init() still exists (with no args now).
|
||
It is to be used by single-process apps.
|
||
It calls boinc_init_options() with all options turned on.
|
||
- Add the core client version to the API init file;
|
||
if the app has the wrong API version file, it quits.
|
||
- Core client: if an app gives us a trickle-up message,
|
||
do a scheduler RPC.
|
||
- Fixed API bug where trickle-up msgs were being read
|
||
from the wrong message channel
|
||
- Removed old code from API involving windows events
|
||
|
||
api/
|
||
boinc_api.C,h
|
||
apps/
|
||
upper_case.C
|
||
client/
|
||
app.C,h
|
||
lib/
|
||
app_ipc.C,h
|
||
error_numbers.h
|
||
win_build/
|
||
upper_case.vcproj
|
||
|
||
David 3 Aug 2004
|
||
- fixed gui_test so that
|
||
gui_test -show_graphics fullscreen
|
||
works (I hope)
|
||
|
||
client/
|
||
gui_rpc_client.C
|
||
gui_test.C
|
||
|
||
David 3 Aug 2004
|
||
- Change PHP so that web site is turned off if "stop_web" file is present;
|
||
it no longer looks at "stop_sched" or "stop_daemons".
|
||
NOTE: I don't think any script creates stop_web.
|
||
for now you'll have to do it manually
|
||
|
||
html/inc
|
||
util.inc
|
||
xml.inc (new)
|
||
|
||
Daniel 2004-08-03
|
||
- Fixed "prefs and venue" issue. Before: host venue assignment always
|
||
comes from the project that is contacted. Now: host venue assignment
|
||
comes from the project with the newer global prefs.
|
||
|
||
client/
|
||
cs_scheduler.C
|
||
sched/
|
||
handle_request.C
|
||
server_types.C,h
|
||
|
||
Rom 3 Aug 2004
|
||
- Change the Secure Windows Desktop message to include
|
||
an action item for those who want to fix it.
|
||
|
||
client/win/
|
||
boinc_ss.rc
|
||
|
||
David 4 Aug 2004
|
||
- Don't use transactions unless config.xml contains <use_transactions/>
|
||
|
||
sched/
|
||
handle_request.C
|
||
sched_config.C,h
|
||
transitioner.C
|
||
|
||
David 4 Aug 2004
|
||
- A <file_info> without a signature would cause
|
||
the file_upload_handler to crash.
|
||
Fixed this.
|
||
- File upload handler: if ignore_upload_certificate is set,
|
||
don't compute the expected signature
|
||
|
||
sched/
|
||
file_upload_handler.C
|
||
|
||
David 4 Aug 2004
|
||
- fix bug in links on Top Hosts
|
||
- friendlier messages in RPC reply if bad code sign key
|
||
|
||
html/inc/
|
||
host.inc
|
||
sched/
|
||
handle_request.C
|
||
|
||
Daniel 2004-08-04
|
||
- autoconf: added HAVE__PROC_* macros
|
||
- client: added m_swap checking for Linux (via /proc/meminfo) and
|
||
MacOSX (via sysctl(3) and CTL_USER (not CTL_VM!!!))
|
||
|
||
aclocal.m4
|
||
config.h.in
|
||
configure
|
||
configure.ac
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
hostinfo_unix.C
|
||
|
||
David 5 Aug 2004
|
||
- Kinder, gentler messages when need work
|
||
|
||
client/
|
||
cs_scheduler.C
|
||
|
||
David 5 Aug 2004
|
||
- Initial support for hierarchical upload/download directories.
|
||
With large directories (100,000 - 1,000,000 files)
|
||
Solaris and NFS burn too much CPU time searching dirs.
|
||
Our plan is to use a 2-level hierarchy,
|
||
with the fanout specified in config.xml:
|
||
<uldl_dir_fanout>x<uldl_dir_fanout>
|
||
A fanout of 1000 should work OK for up to 1M files.
|
||
A couple of utility programs in tools/:
|
||
dir_hier_path shows where a file is
|
||
dir_hier_move moves existing files into a hierarchy
|
||
|
||
lib/
|
||
util.C,h
|
||
sched/
|
||
sched_config.C,h
|
||
tools/
|
||
Makefile.am
|
||
dir_hier_move.C
|
||
dir_hier_path.C
|
||
|
||
Rom 5 Aug 2004
|
||
- Some basic cleanup work
|
||
|
||
sched/
|
||
handle_request.C
|
||
main.C
|
||
|
||
Brian 5 Aug 2004
|
||
- Added my data management code for client. Full documentation is avaiable
|
||
on the BOINC website under Disk Space Management. Major changes to the
|
||
client are as follows:
|
||
- When a file is sent to be downloaded, it is associated with a project
|
||
which checks if there is enough space on disk
|
||
- Files are deleted when this space, as set by the user prefs, fills up
|
||
- Instead of sending the user prefs to the scheduling server, three
|
||
new values are sent and the server decides how much work to award
|
||
each host based on these values and config.xml prefs (documented)
|
||
- Files have a priority and expiration date which sorts them for
|
||
deletion purposes
|
||
- Uploaded my tools for sending and getting files to and from a host.
|
||
- Uploaded a tool that requests a file list from all hosts, although it has
|
||
not been fully implimented on the core client
|
||
- Uploaded a tool that sends a request for a host to delete a local file
|
||
|
||
client/
|
||
Makefile.am
|
||
gui_titles.h
|
||
scheduler_op.C,h
|
||
main.C
|
||
gui_titles.C
|
||
file_names.h
|
||
cs_statefile.C
|
||
cs_scheduler.C
|
||
cs_files.C
|
||
client_types.C,h
|
||
sched/
|
||
server_types.C,h
|
||
handle_request.C
|
||
sched_send.C
|
||
delete_file.C
|
||
get_file.C
|
||
request_file_list.C
|
||
send_file.C
|
||
Makefile.am
|
||
db/
|
||
boinc_db.h
|
||
|
||
Rom 5 Aug 2004
|
||
- Possible fix for segfaults on Linux platforms with the scheduler.
|
||
|
||
lib/
|
||
msg_log.h
|
||
sched/
|
||
sched_msgs.h
|
||
|
||
Noaa 5 August 2004
|
||
|
||
-changed source tree's glut library to boincglut to avoid
|
||
linking problems with possibly prexisting glut libraries
|
||
-updated the Makefile.Readme to reflect the change
|
||
-updated sample Makefile.graphics
|
||
|
||
boincglut/
|
||
lib/
|
||
glut/
|
||
Makefile
|
||
|
||
api/
|
||
Makefile.Readme
|
||
Makefile.graphics
|
||
|
||
/
|
||
Graphics.Readme
|
||
|
||
Daniel 2004-08-05
|
||
- regenerated build files to fix (some) compilation problems from the
|
||
data management code
|
||
|
||
aclocal.m4
|
||
client/
|
||
Makefile.in
|
||
sched/
|
||
Makefile.in
|
||
win_build/
|
||
boinc_cli.dsp,vcproj
|
||
boinc_gui.dsp,vcproj
|
||
|
||
David 6 Aug 2004
|
||
- Changed server software to use the hierarchical directory mechanism.
|
||
This means using dir_hier_path() to generate the pathname
|
||
of an input or output file,
|
||
rather than just concatenating directory and filename.
|
||
Also (in process_wu_template()) use dir_hier_url()
|
||
to generate the appropriate URL
|
||
- Add a scheme for transitioning from flat to hierarchical download dir.
|
||
Can have a <download_dir_alt> element in config.xml,
|
||
giving the path of an old, flat dir.
|
||
file_deleter will look here if it can't find file in main download dir.
|
||
- Pass around SCHED_CONFIG in a few interfaces
|
||
(e.g. create_work()) in order to access uldl_dir_fanout
|
||
|
||
html/inc/
|
||
profile.inc
|
||
lib/
|
||
util.C,h
|
||
sched/
|
||
file_deleter.C
|
||
file_upload_handler.C
|
||
make_work.C
|
||
sched_config.C,h
|
||
validate_util.C
|
||
wu_check.C
|
||
tools/
|
||
Makefile.am
|
||
backend_lib.C,h
|
||
create_work.C
|
||
dir_hier_move.C
|
||
dir_hier_path.C
|
||
|
||
David 6 Aug 2004
|
||
- In the web "get password" function,
|
||
look for not just the email addr but also
|
||
any munged versions of the email addr.
|
||
So people won't see "no such account" and create a new one.
|
||
(from Carl Christensen)
|
||
- Add escape_pattern() function for escaping "like" patterns;
|
||
use this in team lookup also
|
||
|
||
html/
|
||
inc/
|
||
db.inc
|
||
user/
|
||
mail_passwd.php
|
||
team_lookup.php
|
||
|
||
Brian 6 Aug 2004
|
||
- Fixed bug that was causing problems with BOINC client
|
||
Files were not being associated with projects because of small
|
||
bugs in the code that were resently checked in. Sorry
|
||
- Changed a naming convention in a new slice added to the data pies
|
||
in Windows GUI.
|
||
|
||
client/
|
||
client_types.C
|
||
cs_data.C
|
||
scheduler_op.C
|
||
gui_titles.C
|
||
|
||
Daniel 2004-08-06
|
||
- New preferences that cause apps to <quit/> instead of <suspend/>:
|
||
leave_apps_in_memory (<quit/> if false) and vm_max_used_pct (if
|
||
exceeded, apps <quit/>)
|
||
- Various code clean up and bug fixes from data management stuff
|
||
|
||
client/
|
||
app.C,h
|
||
client_types.C
|
||
cs_apps.C
|
||
cs_data.C
|
||
cs_prefs.C
|
||
cs_scheduler.C
|
||
prefs.C,h
|
||
html/inc/
|
||
prefs.inc
|
||
|
||
Noaa 6 August 2004
|
||
|
||
- removed libglut.a from cvs, was accidentally in there
|
||
|
||
boincglut/lib/glut/
|
||
libglut.a (removed)
|
||
|
||
Rom 6 Aug 2004
|
||
- Feeder should be using mysql_store_result instead of mysql_use_result.
|
||
|
||
db/
|
||
boinc_db.C
|
||
|
||
David 7 Aug 2004
|
||
- changed table type to InnoDB
|
||
(except for tables that need fulltext indices,
|
||
which apparently only works w/ ISAM)
|
||
- fixed bug w/ graphics GUI RPC
|
||
|
||
db/
|
||
schema.sql
|
||
constraints.sql
|
||
client/
|
||
gui_rpc_server.C
|
||
|
||
Daniel 2004-08-09
|
||
- client:
|
||
- check for exited apps right before (re)starting them for any
|
||
reason (unsuspend_all(), resume_or_start())
|
||
- upon suspend_all(), if leave_apps_in_memory is false, quit all
|
||
tasks with state == PROCESS_RUNNING (not just those with
|
||
scheduler_state == CPU_SCHED_RUNNING, as before)
|
||
|
||
client/
|
||
app.C,h
|
||
|
||
Noaa 9 August 2004
|
||
- changed version of x_opengl no print statements handles
|
||
fullscreen
|
||
- added extern "C" around protos in graphics_api.h
|
||
|
||
api/
|
||
x_opengl.C
|
||
graphics_api.h
|
||
|
||
Rom 10 Aug 2004
|
||
- Bug Fix: Moved 5 day benchmark checking code into main polling function
|
||
- Bug Fix: Added extra logic so that if benchmarks execute BOINC will
|
||
successfully start back up the applications if leave_apps_in_memory
|
||
is set to false
|
||
- Bug Fix: Fix a state file parsing issue where an extra <file_signature>
|
||
start tag was being included within the signed_xml field without the
|
||
closing tag, this could be what was causing problems with P@H and
|
||
incorrect result file info structures. This could also lead to
|
||
messages on the server about duplicate result submissions.
|
||
|
||
client/
|
||
app.C, .h
|
||
client_state.C
|
||
client_types.C
|
||
gui_rpc_server.C
|
||
cs_benchmark.C
|
||
|
||
Karl 2004-08-10
|
||
- fixed 'make dist' bugs caused by php files being removed
|
||
|
||
sched/
|
||
Makefile.am
|
||
tools/
|
||
add.C (removed - obsolete)
|
||
|
||
|
||
David 11 Aug 2004
|
||
- FILE_INFO::write(): don't write signed_xml if it's not relevant
|
||
(i.e. if there's no xml_signature)
|
||
This caused an XML syntax error in client_state.xml
|
||
|
||
NOTE: this looks similar to Rom's bug fix yesterday.
|
||
Two fixes are better than one, hopefully.
|
||
|
||
client/
|
||
client_types.C,h
|
||
|
||
David 11 Aug 2004
|
||
- Change "limit x offset y" to "limit y,x" in PHP code
|
||
for compatibility with PHP 3.x
|
||
(from Kalle Happonen)
|
||
|
||
html/
|
||
inc/
|
||
team.inc
|
||
user/
|
||
top_host.php
|
||
top_team.php
|
||
top_user.php
|
||
|
||
David 11 Aug 2004
|
||
- Divided app.C (which was getting too big) into:
|
||
app.C: constructor/destructor, XML write/parse
|
||
app_control.C: process control
|
||
app_graphics.C: graphics interactions
|
||
app_start.C: initialization/execution
|
||
|
||
client/
|
||
Makefile.am
|
||
app.C
|
||
app_control.C (new)
|
||
app_graphics.C (new)
|
||
app_start.C (new)
|
||
cs_apps.C
|
||
win_build/
|
||
boinc_cli.vcproj
|
||
boinc_gui.vcproj
|
||
|
||
David 11 Aug 2004
|
||
- Make <copy_file/> work for application files as well as input files
|
||
(this copies files to the slot dir instead of making symbolic link).
|
||
This should make it possible to use shared-library files in Mac OS/X
|
||
that have to reside in the slot dir.
|
||
This was done by factoring out file-setup code into a function
|
||
(setup_file()) that's used for all files (app, input and output)
|
||
- Deleted code for file-descriptor-based application access to
|
||
input and output files.
|
||
This feature wasn't well-designed, and no one was using it.
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
app_start.C
|
||
lib/
|
||
app_ipc.C,h
|
||
|
||
David 11 Aug 2004
|
||
- check for disk space overflow only every few hours
|
||
(not every second!! It traverses the entire BOINC directory,
|
||
which could contain thousands of files)
|
||
- Write out-of-disk-space messages using msg_printf(),
|
||
(not a pop-up dialog)
|
||
- fix spelling errors in error messages (ouch!)
|
||
|
||
TODO: the disk-space logic needs review
|
||
|
||
client/
|
||
cs_data.C
|
||
main.C
|
||
|
||
David 11 Aug 2004
|
||
- DB_SCHED_RESULT_ITEM_SET::update_result(): escape the
|
||
stderr_out and xml_doc_out fields of result
|
||
(they may contain single-quote)
|
||
|
||
db/
|
||
boinc_db.C
|
||
|
||
Daniel 2004-08-11
|
||
- client: #include fixes for app.C refactoring
|
||
|
||
client/
|
||
app_control.C
|
||
app_start.C
|
||
|
||
David 11 Aug 2004
|
||
- comment out disk-management code, pending a review.
|
||
|
||
client/
|
||
client_state.C
|
||
client_types.C
|
||
cs_data.C
|
||
cs_scheduler.C
|
||
scheduler_op.C
|
||
|
||
Rom 11 Aug 2004
|
||
- Move gui_rpc_client.C, .h to the clientgui folder.
|
||
- Removed wx based document objects in favor of the
|
||
gui_rpc_client.C based objects.
|
||
- Update source to match.
|
||
|
||
client/
|
||
gui_rpc_client.C, .h (removed)
|
||
gui_test.C (removed)
|
||
makefile.gui_test (removed)
|
||
clientgui/
|
||
gui_rpc_client.C, .h (added)
|
||
gui_test.C (added)
|
||
makefile.gui_test (added)
|
||
***** Removed Numerous Files *****
|
||
BOINCGUI.vcproj
|
||
MainDocument.cpp, .h
|
||
MainFrame.cpp
|
||
MessagesView.cpp, .h
|
||
ProjectsView.cpp
|
||
ResourceUtilizationView.cpp, .h
|
||
TransfersView.cpp, .h
|
||
WorkView.cpp
|
||
|
||
David 12 Aug 2004
|
||
- removed call to associate_file() for user files.
|
||
- fixed some code formatting, and comments of the form
|
||
foo(); // call foo
|
||
|
||
client/
|
||
client_types.C
|
||
cs_apps.C
|
||
cs_prefs.C
|
||
cs_scheduler.C
|
||
http.C
|
||
pers_file_xfer.C
|
||
prefs.C
|
||
lib/
|
||
filesys.C
|
||
util.C
|
||
|
||
David 12 Aug 2004
|
||
- Improved error checking and reporting in parse state file
|
||
- check error returns of parse functions
|
||
- temp_project is local to block (so get a new one)
|
||
- delete objects in all error cases
|
||
- Check and report errors in init/insert of PERS_FILE_XFER
|
||
while parsing state file
|
||
- ignore app/app_version from state file if project is anonymous platform
|
||
- If get error parsing host info, time/net stats etc.,
|
||
continue parsing rather than error out
|
||
- Improved error checking and reporting in parsing
|
||
and processing of scheduler reply
|
||
- check error returns of parse functions
|
||
- use msg_printf() instead of show_message() or fprintf(stderr)!!
|
||
- fix memory leaks
|
||
|
||
client/
|
||
client_msgs.C
|
||
cs_scheduler.C
|
||
cs_statefile.C
|
||
scheduler_op.C
|
||
|
||
David 12 Aug 2004
|
||
- compile fixes from Jakob Pedersen
|
||
|
||
client/
|
||
app.C
|
||
app_start.C
|
||
lib/
|
||
util.C
|
||
sched/
|
||
db_dump.C
|
||
send_file.C
|
||
|
||
David 12 Aug 2004
|
||
- Originally every scheduler reply contained
|
||
user, host and team info.
|
||
This is no longer the case because, for example,
|
||
the "no work available" logic now skips DB access.
|
||
Fixed a few bugs related to this:
|
||
- scheduler: send user/host/team info only if
|
||
the corresponding record was read from DB
|
||
- client: get team name, user credits, host credits
|
||
from scheduler reply only if they're actually there
|
||
(use -1 as a null value for credit fields)
|
||
|
||
client/
|
||
cs_scheduler.C
|
||
scheduler_op.C
|
||
sched/
|
||
handle_request.C
|
||
server_types.C
|
||
|
||
David 12 Aug 2004
|
||
- canonicalize_master_url(): prepend http:// if it's not there.
|
||
And replace messy std::string code with nice stdlib code
|
||
|
||
lib/
|
||
util.C
|
||
|
||
David 12 Aug 2004
|
||
- db_dump: add <userid> element to team XML
|
||
- web: don't show memory BW, since we're not measuring it any more
|
||
- clear user.has_profile when delete profile
|
||
|
||
html/
|
||
inc/
|
||
host.inc
|
||
user.inc
|
||
user/
|
||
delete_profile.php
|
||
sched/
|
||
db_dump.C
|
||
tools/
|
||
dir_hier_move.C
|
||
|
||
David 13 Aug 2004
|
||
- use 0 (not -1) as null value for unix times
|
||
- comment out remaining disk management code
|
||
- compile error
|
||
|
||
client/
|
||
client_types.C,h
|
||
cs_scheduler.C
|
||
scheduler_op.C
|
||
sched/
|
||
server_types.C
|
||
|
||
David 13 Aug 2004
|
||
- transitioner: don't set wu.transition.time to anything less
|
||
than now + wu.delay_bound.
|
||
This prevents the transitioner from repeatedly handling a WU
|
||
in the case where it's behind schedule
|
||
|
||
sched/
|
||
transitioner.C
|
||
|
||
Noaa 13 Aug 2004
|
||
|
||
- changed Graphics.Readme to reflect movement of the gui_test stuff
|
||
|
||
/
|
||
Graphics.Readme
|
||
|
||
Rom 13 Aug 2004
|
||
- Needed to backout the newer style of determining disk free space
|
||
on the clients since all the clients currently reporting to us
|
||
are 3.x clients and still using the original scheme.
|
||
|
||
sched/
|
||
sched_send.C
|
||
server_types.C, .h
|
||
|
||
David 13 Aug 2004
|
||
- bad IP address display on GUI RPC reject
|
||
|
||
client/
|
||
gui_rpc_server.C
|
||
sched/
|
||
request_file_list.C
|
||
|
||
Karl 2004-08-14
|
||
- documentation notes on transaction support in MySQL versions &
|
||
troubleshooting
|
||
|
||
doc/
|
||
software.php
|
||
build_server.php
|
||
|
||
David 16 Aug 2004
|
||
- fix compile error
|
||
- check bind/listen failure in GUI RPC code
|
||
- added boinc_close_socket()
|
||
|
||
client/
|
||
gui_rpc_server.C
|
||
net_xfer.C
|
||
lib/
|
||
util.C,h
|
||
|
||
David 16 Aug 2004
|
||
- changed "engine" to "type" in schema SQL
|
||
|
||
db/
|
||
schema.sql
|
||
|
||
David 16 Aug 2004
|
||
- compile fixes and more commenting-out of disk mgt code
|
||
|
||
sched/
|
||
delete_file.C
|
||
sched_send.C
|
||
server_types.C,h
|
||
|
||
David 16 Aug 2004
|
||
- client: check error return from choose_version_num().
|
||
There's a remote chance this has something to do with
|
||
the "scrambled XML" problem
|
||
- changed my 13 Aug change to transitioner
|
||
so that new transition time is at least now + 1 day
|
||
|
||
client/
|
||
cs_apps.C
|
||
cs_scheduler.C
|
||
sched/
|
||
transitioner.C
|
||
|
||
Rom 16 Aug 2004
|
||
- After much gnashing of teeth, head scratching, and other
|
||
assorted things, I finally can build the cross platform GUI again.
|
||
|
||
The default project builds for the wxWidgets static library, MSVCRT
|
||
static library, and STL static library really don<6F>t like each other.
|
||
It took a few days to get things to a point they would compile, and we
|
||
still throw a few warnings on the release build.
|
||
|
||
clientgui/
|
||
BOINCGUI.sln
|
||
BOINCGUI.vcproj
|
||
gui_rpc_client.C, .h (removed)
|
||
makefile.gui_test (removed)
|
||
lib/
|
||
gui_rpc_client.C, .h (added)
|
||
makefile.gui_test (added)
|
||
|
||
David 17 Aug 2004
|
||
- server changes (courtesy Pietro Cicotti from Predictor@home)
|
||
to implement homogeneous redundancy more efficiently.
|
||
Instead of scanning result table,
|
||
use the workunit.workseq_next field to store an integer encoding
|
||
of the platform the WU has been sent to, if any.
|
||
- added utility program (hr_db_convert.C) to convert
|
||
existing an database to new format
|
||
|
||
sched/
|
||
sched_send.C
|
||
tools/
|
||
hr_db_convert.C (new)
|
||
|
||
David 17 Aug 2004
|
||
- removed boinc_close_socket() from util.C,
|
||
since it causes Win link error in upper_case.
|
||
TODO: would be nice to use lib/ code as library
|
||
|
||
client/
|
||
gui_rpc_server.C
|
||
net_xfer.C
|
||
lib/
|
||
util.C,h
|
||
Rom 17 Aug 2004
|
||
- BugFix: Fix trickle messages from host.
|
||
- BugFix: HR fix for the scheduler.
|
||
|
||
sched/
|
||
handle_request.C
|
||
sched_send.C
|
||
|
||
Karl 2004-08-18
|
||
- update_versions:
|
||
- Print warning if specified signature files won't be used
|
||
- Print warning and query continue if no signature file specified
|
||
- Allow file.file_ref_info's contents to be used for inserting extra
|
||
info in the <file_ref> attribute (e.g. <copy_file/>)
|
||
|
||
tools/
|
||
update_versions
|
||
py/Boinc/
|
||
tools.py
|
||
|
||
David 19 Aug 2004
|
||
- don't show a zillion digits of precision on file xfer speeds
|
||
|
||
client/
|
||
pers_file_xfer.C
|
||
|
||
David 20 Aug 2004
|
||
- strip_whitespace() did infinite loop on empty string!!
|
||
- removed old code in db_boinc
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
lib/
|
||
util.C
|
||
|
||
David 20 Aug 2004
|
||
- PHP fixes
|
||
|
||
html/
|
||
inc/
|
||
cache.inc
|
||
util.inc
|
||
ops/
|
||
show_log.php
|
||
white.css (new)
|
||
|
||
David 20 Aug 2004
|
||
- removed perror()s from shmem functions.
|
||
Shouldn't do I/O at this level.
|
||
|
||
html/user/
|
||
info.php
|
||
stats.php
|
||
lib/
|
||
shmem.C
|
||
|
||
Daniel 2004-08-20
|
||
- client: fixed file xfer bug that caused null pointer dereference upon
|
||
some xfer failures
|
||
|
||
client/
|
||
pers_file_xfer.C
|
||
|
||
Rom 20 Aug 2004
|
||
- Tag for 4.03 release, all platforms
|
||
boinc_release_4_03
|
||
|
||
David 20 Aug 2004
|
||
- handle_exited_app():
|
||
Returning early in all cases of exiting with zero status
|
||
caused core client not to read stderr_out file
|
||
or clean out slot dir.
|
||
This made test_uc.py fail.
|
||
|
||
DANIEL: please examine this and see if you agree,
|
||
and get test_uc.py working any time you do a major checkin
|
||
|
||
client/
|
||
app_control.C
|
||
|
||
David 20 Aug 2004
|
||
- already_sent_to_different_platform():
|
||
fix concurrency bug by reading WU.workseq_next
|
||
from database just prior to checking,
|
||
then updating the field immediately if needed.
|
||
- scheduler: update_wu_transition_time():
|
||
use update_field(); more efficient
|
||
- Added DB_BASE::get_field_int(): get a single integer
|
||
field from a DB record.
|
||
A little cheaper than reading the whole record
|
||
- DB_BASE::lookup(): remove code that sees if record is unique.
|
||
It's called after mysql_free_result(),
|
||
so it will never return anything.
|
||
- DB code: changed "if (db->mysql && is_high_priority) to just
|
||
"if (is_high_priority)".
|
||
db->mysql is a pointer, and is always nonzero.
|
||
It's not a flag saying whether the DB is MySQL.
|
||
All this code is only for MySQL anyway.
|
||
|
||
db/
|
||
db_base.C,h
|
||
sched/
|
||
sched_send.C
|
||
|
||
David 21 Aug 2004
|
||
- Fixed nasty bug in feeder that has been present since April 3 (doh!).
|
||
scan_work_array() scanned the work array with logic of the form
|
||
if (wu_result.state == PRESENT) {
|
||
...
|
||
} else {
|
||
// assume wu_result.state == EMPTY
|
||
}
|
||
but with the introduction of the CHECKED_OUT state,
|
||
this became invalid, and the feeder was overwriting entries while they
|
||
were "checked out" by a scheduler.
|
||
Fixed this by changing if() to switch()
|
||
- Added check to scan_work_array(): when read result from DB,
|
||
make sure result.workunitid matches the WU's ID.
|
||
This ensures correctness even if the feeder is wrong.
|
||
- removed commented-out code from feeder
|
||
|
||
sched/
|
||
feeder.C
|
||
sched_send.C
|
||
sched_shmem.h
|
||
|
||
David 21 Aug 2004
|
||
- removed old commented-out code
|
||
|
||
client/
|
||
client_types.C,h
|
||
cs_apps.C
|
||
|
||
David 21 Aug 2004
|
||
- If an app fails to go into fullscreen mode,
|
||
mark it as MODE_UNSUPPORTED so that we don't ask it again
|
||
|
||
client/
|
||
cs_apps.C
|
||
ss_logic.C
|
||
|
||
David 23 Aug 2004
|
||
- Cleanup and bug fixes in CPU scheduler
|
||
There was inconsistent terminology,
|
||
e.g. a task could have scheduler_state = CPU_SCHED_RUNNING
|
||
but actually be suspended; it could have state = PROCESS_RUNNING
|
||
but actually be suspended, and so on.
|
||
New terminology:
|
||
"executing" (formerly "running", which was used ambiguously)
|
||
CPU_SCHED_SCHEDULED (formerly CPU_SCHED_RUNNING):
|
||
the CPU scheduler has given its permission
|
||
for a task to execut; it may not actually be executing
|
||
PROCESS_EXECUTING: the process is executing (not suspended)
|
||
PROCESS_SUSPENDED: the process is suspended
|
||
new function: ACTIVE_TASK::process_exists():
|
||
true if the state is EXECUTING, SUSPENDED, or ABORT_PENDING
|
||
Use this instead of (state == PROCESS_RUNNING) in many cases
|
||
renamed ACTIVE_TASK::task_exited() to has_task_exited()
|
||
changed logic in ACTIVE_TASK_SET::suspend_all()
|
||
ACTIVE_TASK_SET::unsuspend_all():
|
||
Removed code that checks for process exit.
|
||
Poll code should take care of this.
|
||
- enabled preemption by quit
|
||
- add MSG_CHANNEL::send_msg_overwrite(): send message even
|
||
if there's already a message there.
|
||
Use this for process control messages.
|
||
- API: if suspended, check for <quit/> messages as well as <resume/>
|
||
(this affects Unix only)
|
||
- add enclosing tag for app init data file (so XML parsers accept it)
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
app.C,h
|
||
app_control.C
|
||
app_graphics.C
|
||
app_start.C
|
||
client_state.C
|
||
cs_apps.C
|
||
cs_prefs.C
|
||
gui_rpc_server.C
|
||
lib/
|
||
app_ipc.C,h
|
||
|
||
David 23 Aug 2004
|
||
- web: add cross-project ID to user page
|
||
- db_dump: add NO_SORT option (default)
|
||
|
||
html/
|
||
inc/
|
||
user.inc
|
||
user/
|
||
prefs_edit_form.php
|
||
sched/
|
||
db_dump.C
|
||
|
||
David 24 Aug 2004
|
||
- logic error on task start (found by Carl C.)
|
||
|
||
client/
|
||
app_start.C
|
||
cs_apps.C
|
||
|
||
Rom 24 Aug 2004
|
||
- Fix a logic error where the benchmarks would continuously run on a
|
||
core client upgrade.
|
||
- Comment out event logging to the Windows Event log until we can
|
||
refactor the various messages.
|
||
|
||
client/
|
||
client_state.C
|
||
main.C
|
||
|
||
Rom 24 Aug 2004
|
||
- Tag for 4.04 release, all platforms
|
||
boinc_release_4_04
|
||
|
||
David 24 Aug 2004
|
||
- Core client: check that shared memory exists before
|
||
attempting to send or get msgs to an app.
|
||
This hopefully will fix a crashing bug
|
||
that happens when you use quit-on-suspend
|
||
(since the shared-memory seg is deleted on quit)
|
||
- Separate get_app_status_msg() and get_trickle_up_msg() functions
|
||
|
||
client/
|
||
app.h
|
||
app_control.C
|
||
app_graphics.C
|
||
|
||
Rom 24 Aug 2004
|
||
- Tag for 4.05 release, all platforms
|
||
boinc_release_4_05
|
||
|
||
David 25 Aug 2004
|
||
- Make it configurable (via <show_results/> in config.xml)
|
||
whether results are shown on user web site
|
||
|
||
html/
|
||
inc/
|
||
host.inc
|
||
util.inc
|
||
user/
|
||
results.php
|
||
|
||
David 25 Aug 2004
|
||
- Core client: print a message when an app is put in LIMBO state
|
||
(i.e. exit zero but w/o finish file)
|
||
|
||
client/
|
||
app_control.C
|
||
|
||
Jeff 25 Aug 2004
|
||
- limit workunit and result enumerations in the file_deleter to 1000.
|
||
|
||
sched/
|
||
file_deleter.C
|
||
|
||
David 27 Aug 2004
|
||
- add "use bytes" pragma to grep_logs (from Carl C.)
|
||
|
||
tools/
|
||
grep_logs
|
||
|
||
David 27 Aug 2004
|
||
- scheduling server only updates cross-project ID if the one
|
||
in request message is greater than what it has (from Janus K)
|
||
|
||
sched/
|
||
handle_request.C
|
||
|
||
David 27 Aug 2004
|
||
- db_ops DB browsing fixes (from Kalle Happonen)
|
||
|
||
html/inc/
|
||
db_ops.inc
|
||
|
||
Rom 29 Aug 2004
|
||
- Increase the feeder buffer sizes so that whatever this fcgi problem is,
|
||
we don't have to bounce the project so often. This is a temporary hack
|
||
until I or somebody else figures out whats going on.
|
||
|
||
sched/
|
||
feeder.C
|
||
sched_shmem.h
|
||
|
||
Rom 30 Aug 2004
|
||
- Win98 machines seem to be throwing a SEH stack overflow exception.
|
||
Our unhandled exception filter in this case allocated a 1MB memory buffer
|
||
and pointed the ESP register at it. Well this chunk of code seems to
|
||
be broken, it is probably the first time it has ever been used.
|
||
|
||
lib/
|
||
diagnostics.C
|
||
|
||
Rom 31 Aug 2004
|
||
- Win98 has a memory leak condition in dealing with memory mapped files.
|
||
So lets go ahead and fix one possible way to slow down the leak, A better
|
||
fix is to recycle the shared memory segments. Recycling of the shared
|
||
memory segments is forthcomming.
|
||
|
||
lib/
|
||
shmem.C
|
||
|
||
David 31 Aug 2004
|
||
- Don't delete shared-memory segment while ACTIVE_TASK is preempted
|
||
via quit (hopefully will fix Win98 problem).
|
||
- Add shmem_seg_name field to ACTIVE_TASK
|
||
- Factor ACTIVE_TASK::get_shmem_seg_name() out of write_app_init_file().
|
||
It had no business being there.
|
||
In particular, write_app_init_file() is sometimes called
|
||
in the middle of execution, when you definitely don't want
|
||
to create a new shmem seg name
|
||
- write_app_init_file() doesn't take APP_INIT_DATA arg
|
||
- define type SHMEM_SEG_NAME (for uniformity across platforms)
|
||
|
||
client/
|
||
app.C,h
|
||
app_control.C
|
||
app_start.C
|
||
lib/
|
||
app_ipc.C,h
|
||
|
||
David 31 Aug 2004
|
||
- feeder/scheduler:
|
||
We were seeing problems where the shared-mem array was
|
||
filling up with results that were "locked" by a particular
|
||
scheduler process, which apparently had then died,
|
||
leaving that slot in limbo.
|
||
Add code to the feeder to check if the process that
|
||
locked a slot still exists, and unlock it if not.
|
||
- end_cache(): check for ".." in params string.
|
||
We've had problems with files mysteriously disappearing,
|
||
and it's possible that the caching mechanism has a security loophole.
|
||
html/
|
||
inc/
|
||
cache.inc
|
||
prefs.inc
|
||
user/
|
||
download_network.php
|
||
sched/
|
||
feeder.C
|
||
main.C
|
||
sched_send.C
|
||
sched_shmem.h
|
||
|
||
Jeff 31 Aug 2004
|
||
- limit workunit enumeration in the assimilator to 1000.
|
||
|
||
sched/
|
||
assimilator.C
|
||
|
||
Rom 31 Aug 2004
|
||
- BUGFIX: Moved the delete shared memory code to the end of the function, to
|
||
happen right before slot directory cleanup. The previous instance of code
|
||
t8hat was commented out was for the unix branch.
|
||
- BUGFIX: The shared memory enumerator had a bug where the name it was
|
||
enumerating wasn't the same name that was eventually locked by the start
|
||
routine, this caused the client to only be able to run one application at
|
||
a time
|
||
- BUGFIX: The shared memory enumerator was still referencing the slot
|
||
directory number instead of the for loop iterator.
|
||
- BUGFIX: When a process has been preempted, it's pid handle and thread handle
|
||
need to be freed.
|
||
- BUGFIX: Calling MapViewOfFile on Win98 automatically causes a memory leak,
|
||
so don't call it unless we really have to.
|
||
|
||
NOTE: I would like to thank Walt Gribben for helping me by debugging this issue
|
||
for me.
|
||
|
||
client/
|
||
app_control.C
|
||
app_start.C
|
||
lib/
|
||
error_numbers.h
|
||
shmem.C, .h
|
||
|
||
Rom 31 Aug 2004
|
||
- Tag for 4.06 release, all platforms
|
||
boinc_core_release_4_06
|
||
|
||
Rom 1 Sep 2004
|
||
- Language File Updates across all languages.
|
||
|
||
client/translations/
|
||
<Many Files>
|
||
|
||
Rom 1 Sep 2004
|
||
- Tag for 4.07 release, all platforms
|
||
boinc_core_release_4_07
|
||
|
||
David 1 Sep 2004
|
||
- fixed bug in web-caching code that caused files in html/user
|
||
to be randomly deleted.
|
||
The function clean_cache($dir) was enumerating files in $dir,
|
||
and doing unlink($file), but without chdir'ing into $dir
|
||
or concatenating $dir onto $file.
|
||
|
||
html/inc
|
||
cache.inc
|
||
|
||
David 2 Sept 2004
|
||
- If an executable file failed validation, any results using
|
||
that app version would hang forever in the "downloading" state.
|
||
Two changes were needed to fix this:
|
||
1) garbage_collect(): when scanning results,
|
||
check for download failures of APP_VERSION files
|
||
(as well as WU files), and if so mark the result as failed.
|
||
Added new functions APP_VERSION::had_failure() and get_file_errors().
|
||
2) handle_scheduler_reply(): if get an APP_VERSION that we already have,
|
||
reset any errored-out FILE_INFOs,
|
||
i.e. give it a chance to download again.
|
||
There are various ways to do this, but this seems the cleanest.
|
||
Added new functions FILE_INFO::reset()
|
||
and APP_VERSION::clear_errors()
|
||
- made verify_downloaded_file() into a member function of FILE_INFO.
|
||
It now sets the error_msg field to a descriptive string
|
||
so that failures will be reported to project
|
||
|
||
client/
|
||
client_state.C
|
||
client_types.C,h
|
||
cs_files.C
|
||
cs_scheduler.C
|
||
pers_file_xfer.C
|
||
|
||
David 2 Sept 2004
|
||
- change MAX_WU_RESULTS from 500 to 100
|
||
|
||
sched/
|
||
sched_shmem.h
|
||
|
||
Rom 2 Sep 2004
|
||
- BUGFIX: The active task destructor also tried to clean up dangling handles, so
|
||
after cleaning up a handle lets also set the handle value to NULL to keep it from
|
||
being acted on again.
|
||
|
||
client/
|
||
app.C
|
||
app_control.C
|
||
|
||
David 2 Sept 2004
|
||
- PERS_FILE_XFER::poll(): don't check file size if it's not specified in FILE_INFO
|
||
==> This fixes download failure of user-supplied files
|
||
- PROJECT::parse_preferences_for_user_files(): fill in fip->project
|
||
==> This fixes a crashing bug when user supplies files
|
||
- User-visible test:
|
||
change "preempt" to "pause"
|
||
change "quit" to "removed from memory"
|
||
change "suspend" to "left in memory"
|
||
|
||
client/
|
||
app_control.C
|
||
client_types.C
|
||
gui_titles.C
|
||
pers_file_xfer.C
|
||
|
||
Rom 2 Sep 2004
|
||
- BUGFIX: During a project reset the next_runnable_result becomes invalid, so each
|
||
time we go through the loop reset all next_runnable_result to NULL so we don't
|
||
crash.
|
||
|
||
client/
|
||
cs_apps.C
|
||
|
||
David 2 Sept 2004
|
||
- PERS_FILE_XFER::poll(): fixed bug that caused hang
|
||
|
||
NOTE: check_giveup(), handle_xfer_failure(), and retry_or_backoff()
|
||
are a total mess. I'll get to them next.
|
||
|
||
- If an app exits with zero status but no finish file,
|
||
instead of putting it in limbo (which causes the core client to do no work)
|
||
just restart the process again.
|
||
NOTE: eventually we should detect when this is happening repeatedly,
|
||
and error out the result.
|
||
For now, just print a message telling user they may need to reset project.
|
||
- rename PERS_FILE_XFER::xfer_done to pers_xfer_done
|
||
- move process cleanup code into separate functions
|
||
(ACTIVE_TASK::close_process_handles()
|
||
and ACTIVE_TASK::detach_and_destroy_shmem())
|
||
client/
|
||
app.C,h
|
||
app_control.C
|
||
pers_file_xfer.C
|
||
|
||
David 3 Sept 2004
|
||
- fix bugs in previous checkin
|
||
- schedule_cpus()
|
||
- clear temp vars at start (bug)
|
||
- don't delete ACTIVE_TASK on start failure;
|
||
other code takes care of this
|
||
- get rid of RESULT.is_active field.
|
||
Things that can be derived from other fields,
|
||
and need to be maintained in a bunch of places throughout
|
||
the code, are a bad programming practice
|
||
|
||
client/
|
||
app_control.C
|
||
app_start.C
|
||
client_types.C,h
|
||
cs_apps.C
|
||
|
||
David 4 Sept 2004
|
||
- New features for message boards (from Janus Kristensen):
|
||
Added:
|
||
- External avatars (but commented it out -
|
||
it's better to use hosted avatars)
|
||
(Tiny images under people's name)
|
||
- Hosted avatars
|
||
(Uploads and scales to 100x100 in the IMGAGE_PATH dir)
|
||
- Special users
|
||
(Project admins, devs, newcomers etc. will get a line
|
||
telling what they are under their name)
|
||
- Option to display images as links
|
||
- Option to open links in a new window
|
||
- Option to hide avatars
|
||
- Option to enable/disable attach of signature by default
|
||
- Settings for sorting is now handled using the database
|
||
instead of cookies (ie. you can change host without
|
||
having to set your preferences up again,
|
||
some users also have cookies disabled)
|
||
- Preview of signature
|
||
- Unread posts are marked as "Unread"
|
||
(if they are newer than 2 days (configurable in forum.inc)
|
||
and user hasn't visited the post)
|
||
- Interface to forum preferences and sorting methods
|
||
- Link to interface from user preferences
|
||
- Reset forum preferences button
|
||
(Some users have reported that an unusually long
|
||
signature with html could make the page unviewable. This fixes it)
|
||
- Option to sort with "Oldest first" in answers in the FAQ area
|
||
|
||
Moved:
|
||
- Signature input in user prefs to forum prefs
|
||
|
||
Fixed:
|
||
- Sorting in answers in the FAQ area didn't work
|
||
- minor speedups and html stuff
|
||
|
||
DB-stuff:
|
||
- create forum_preferences & forum_logging
|
||
- transfer old settings
|
||
|
||
NOTE: If you want to use these features, you will need to
|
||
create two new DB tables (forum_preferences and forum_logging;
|
||
just execute the commands from schema.sql)
|
||
and you'll probably want to copy existing signatures and nposts
|
||
from the user table (see html/ops/db_update.php)
|
||
|
||
html/
|
||
inc/
|
||
forum.inc
|
||
forum_show.inc
|
||
user.inc
|
||
user/
|
||
edit_forum_preferences_action.php (new)
|
||
edit_forum_preferences_form.php (new)
|
||
edit_user_info_action.php
|
||
edit_user_info_form.php
|
||
forum_forum.php
|
||
forum_post.php
|
||
forum_reply.php
|
||
forum_thread.php
|
||
|
||
David 4 Sept 2004
|
||
- removed old work_buffer_max_days stuff
|
||
(it's now only min_days)
|
||
|
||
client/
|
||
prefs.C,h
|
||
html/inc/
|
||
prefs.inc
|
||
|
||
|
||
David 5 Sept 2004
|
||
- Added new GUI RPCs and fixed bugs (from Sebastian Masch)
|
||
get_network_mode()
|
||
set_network_mode()
|
||
retry_file_transfer()
|
||
|
||
client/
|
||
client_types.C
|
||
cs_statefile.C
|
||
gui_rpc_server.C
|
||
lib/
|
||
gui_rpc_client.C,h
|
||
|
||
|
||
David 5 Sept 2004
|
||
- Bug fixes for recent forum changes (from Janus K)
|
||
|
||
NOTE: if you've already added the forum_preferences table,
|
||
you'll need to do a DB update to add a new field
|
||
(see html/ops/db_update.php)
|
||
|
||
db/
|
||
schema.sql
|
||
html/
|
||
inc/
|
||
forum.inc
|
||
ops/
|
||
db_update.php
|
||
user/
|
||
forum_forum.php
|
||
forum_thread.php
|
||
|
||
Rom 5 Sep 2004
|
||
- Tag for 4.08 release, all platforms
|
||
boinc_core_release_4_08
|
||
|
||
David 6 Sept 2004
|
||
- The Windows GUI and CLI versions were using different mechanisms
|
||
to ensure that only one instance of BOINC is running.
|
||
Factored this into a function check_unique_instance(),
|
||
which is used by all versions.
|
||
|
||
client/
|
||
file_names.C,h
|
||
main.C
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
lib/
|
||
error_numbers.h
|
||
|
||
David 7 Sept 2004
|
||
- (from Ben Herndon) Some compilers optimize away sections of the Whetstone
|
||
benchmark function, since their results aren't used outside the function.
|
||
To deal with this, we added an global-scope array (extern_array[])
|
||
and store the result of each section into it.
|
||
Also changed section 3 by initializint j from the extern_array,
|
||
so the compiler can't optimize out all the conditionals.
|
||
|
||
client/
|
||
whetstone.C
|
||
|
||
David 7 Sept 2004
|
||
- change "upgrade" to query user before overwriting files
|
||
|
||
tools/
|
||
upgrade
|
||
|
||
David 7 Sept 2004
|
||
- recognize CPU type on HP (DEC) alpha (from Duane Krahn)
|
||
|
||
client/
|
||
hostinfo_unix.C
|
||
|
||
Rom 8 Sep 2004
|
||
- If we can lock the lockfile, also aquire the global mutex.
|
||
If we don't the screensaver
|
||
cannot properly detect that BOINC is executing.
|
||
|
||
client/
|
||
file_names.C
|
||
|
||
Jeff 09 Sep 2004
|
||
- Change the validator to handle the case where one or more
|
||
of the result files for a WU's result set can't be read.
|
||
Currently, this case results in this WU and its results
|
||
never getting looked at again - no science, no credit.
|
||
|
||
We distinguish 2 cases:
|
||
1) transient failure, e.g. an NFS mount is not working.
|
||
(can't read directory)
|
||
In this case check_set() returns a special code to the validator,
|
||
which arranges for the WU to get transitioned again in a few hours.
|
||
2) permanent failure (file doesn't exist)
|
||
The result's validate_state is set to ERROR (new state),
|
||
which is generally equivalent to INVALID
|
||
- add new WU arg to check_set()
|
||
(so it can access min_quorum)
|
||
|
||
This is coordinated seti_boinc / boinc change.
|
||
This note is repeated in the seti_boinc checkin_notes.
|
||
|
||
seti_boinc changes:
|
||
- get_result_file(), if it cannot read the result file,
|
||
tries to read the directory where the result file should be.
|
||
If it can read the directory, it returns ERR_FOPEN, as before.
|
||
If it cannot read the directory, it resturns ERR_OPENDIR.
|
||
ERR_OPENDIR in this context signals a possibly transient problem.
|
||
Upon a successful result read, it sets sah_result.have_result
|
||
(a new data member as of this change) to true.
|
||
- check_set(), upon return from get_result_file() :
|
||
- sets result.validate_state to VALIDATE_STATE_ERROR (a new state)
|
||
and retval to zero if there is a nonzero retval from check_set()
|
||
and it is not ERR_OPENDIR. It then continues.
|
||
- otherwise just continues.
|
||
check_set() then determines if any IO errors brought the result count
|
||
below wu.min_quorum. If not, it continues. Otherwise it returns.
|
||
In all subsequent logic any results for which
|
||
sah_result.have_result == false are skipped.
|
||
Note that the result and the sah_result vectors are associated.
|
||
|
||
validate/
|
||
sah_result.h
|
||
sah_validate.cpp
|
||
sah_boinc_db.cpp
|
||
|
||
boinc changes:
|
||
- new validate state VALIDATE_STATE_ERROR.
|
||
- in the enumeration for check_set(),
|
||
we now include a clause to check for VALIDATE_STATE_INIT
|
||
in order to ignore results set to VALIDATE_STATE_ERROR.
|
||
This enumeration query now matches that for check_pair().
|
||
Note that the only possible retvals from check_set()
|
||
are now zero or ERR_OPENDIR.
|
||
Note that logic to retry possibly transient errors still needs
|
||
to be done.
|
||
Also left to be done is a transitioner change to subtract
|
||
the number of results in state VALIDATE_STATE_ERROR
|
||
from the count of active results.
|
||
The latter change is needed to stimulate the production
|
||
of additional results for the affected WU.
|
||
|
||
sched/
|
||
validator.C
|
||
db/
|
||
boinc_db.h
|
||
|
||
|
||
Rom 9 Sep 2004 ( for Sebastian Masch )
|
||
- Don't cause the core client to rewrite the state file
|
||
for every block transfered during a network operation.
|
||
|
||
client/
|
||
pers_file_xfer.C
|
||
|
||
David 9 Sept 2004
|
||
- Further refinements of validation to deal with
|
||
recoverable/nonrecoverable file read errors.
|
||
Revised the signatures of check_set() and check_pair(),
|
||
and revised the validator accordingly.
|
||
|
||
db/
|
||
boinc.db.h
|
||
sched/
|
||
sample_bitwise_validator.C
|
||
sample_trivial_validator.C
|
||
validate_util.C,h
|
||
validator.C
|
||
|
||
David 9 Sept 2004
|
||
- added try_fopen() (from Jeff Cobb):
|
||
like fopen(), but on tells you whether it's recoverable or not
|
||
|
||
lib/
|
||
util.C,h
|
||
|
||
|
||
David 9 Sept 2004
|
||
- Added support for stats access via WAP (for cell phones)
|
||
(from Carl Christensen)
|
||
|
||
html/
|
||
inc/
|
||
userw.inc
|
||
wap.inc
|
||
user/
|
||
userw.php
|
||
ops/
|
||
opsw.php
|
||
userw.php
|
||
|
||
David 9 Sept 2004
|
||
- In transitioner, count RESULT_OUTCOME_VALIDATE_ERROR as an error
|
||
|
||
sched/
|
||
transitioner.C
|
||
|
||
David 9 Sept 2004
|
||
- preliminary support for "locality scheduling" (for Einstein@home).
|
||
|
||
client/
|
||
client_types.h
|
||
sc_scheduler.C
|
||
sched/
|
||
sched_send.C,h
|
||
server_types.h
|
||
|
||
David 10 Sept 2004
|
||
- compile fix for Win
|
||
|
||
lib/
|
||
util.C
|
||
|
||
David 10 Sept 2004
|
||
- validator: slight change to check_set() and check_pair():
|
||
they no longer should update result records in case of
|
||
nonrecoverable error.
|
||
Just set the outcome to RESULT_OUTCOME_VALIDATE_ERROR,
|
||
and the framework program will do the updates.
|
||
|
||
sched/
|
||
validator.C
|
||
|
||
David 10 Sept 2004
|
||
- more changes for locality scheduling
|
||
|
||
client/
|
||
client_state.C
|
||
client_types.C
|
||
cs_scheduler.C
|
||
sched/
|
||
Makefile.am
|
||
sched_config.C,h
|
||
sched_locality.h (new)
|
||
sched_send.C
|
||
server_types.C,h
|
||
|
||
Rom 10 Sept 2004
|
||
- NEw GUI: Put the glue back in so that we can make the various tabs work.
|
||
|
||
clientgui/
|
||
MainDocument.cpp, .h
|
||
stdwx.h
|
||
|
||
|
||
Lana 26 August 2004
|
||
- Installation script provides better default daemons by starting
|
||
transitioner, feeder and file deleter deamons automatically
|
||
|
||
tools/
|
||
make_project
|
||
|
||
Lana 11 Sept 2004
|
||
- Created DB Purger that archives "DONE" workunits and their
|
||
results into XML archive files. Deletes those records from the database.
|
||
Added delete_from_db function to DB_BASE
|
||
|
||
sched/
|
||
db_purge.C
|
||
|
||
db/
|
||
db_base.h
|
||
db_base.C
|
||
|
||
|
||
David 12 Sept 2004
|
||
- Added a queueing mechanism for shared-memory message passing,
|
||
class MSG_QUEUE.
|
||
This provides reliable, ordered message delivery.
|
||
I think process-control messages were being lost in some cases.
|
||
- Replaced ad-hoc 1-level queueing mechanism for graphics requests
|
||
- Changed the logic for selecting app for screensaver a bit;
|
||
have new field bool ACTIVE_TASK::is_ss_app that keeps track
|
||
of which app is acting as the screensaver.
|
||
This fixes bugs in a few particular cases.
|
||
|
||
client/
|
||
app.C,h
|
||
app_control.C
|
||
app_graphics.C
|
||
cs_apps.C
|
||
ss_logic.C
|
||
lib/
|
||
app_ipc.h
|
||
|
||
David 13 Sept 2004
|
||
- Preliminary checkin for "GUI URLs" feature
|
||
(allows projects to send URLs to be use as links in GUIs)
|
||
This is implemented in a new class GUI_URLS.
|
||
Its init() member reads template file.
|
||
Its get_gui_urls() member macro-substitutes user/team/host IDs
|
||
into the URLs, and produces XML to be included in scheduler replies.
|
||
- renamed replace_element() to replace_element_contents()
|
||
- moved try_fopen() from lib/util.C to sched/sched_util.C
|
||
- added old and new docs to CVS
|
||
|
||
doc/ (all new)
|
||
sched_locality.php
|
||
client_mac.php
|
||
delete_file.php
|
||
get_file.php
|
||
get_file_list.php
|
||
gui_rpc_control.php
|
||
gui_urls.php
|
||
info.php
|
||
send_file.php
|
||
lib/
|
||
parse.C,h
|
||
util.C,h
|
||
sched/
|
||
handle_request.C
|
||
main.C,h
|
||
make_work.C
|
||
sched_locality.C
|
||
sched_util.C,h
|
||
server_types.C,h
|
||
|
||
David 13 Sept 2004
|
||
- When email account ID, show (on the next web page) the "from"
|
||
address of the email,
|
||
since some users may have email filters based on sender.
|
||
The "from" address is the constant EMAIL_FROM,
|
||
which should be defined in project.inc.
|
||
If this is missing, it uses URL_BASE
|
||
(which is not an email address, so projects should define EMAIL_FROM)
|
||
|
||
html/
|
||
inc/
|
||
util.inc
|
||
user/
|
||
account_created.php
|
||
mail_passwd.php
|
||
|
||
David 13 Sept 2004
|
||
- small changes to screensaver logic, try to fix Rom's 2-CPU bug
|
||
|
||
client/
|
||
app_graphics.C
|
||
ss_logic.C
|
||
|
||
|
||
David 13 Sept 2004
|
||
- Change CPU scheduling logic so that the min debt is subtracted
|
||
from the debt of all active projects.
|
||
i.e. debt is normalized to be zero-based.
|
||
This fixes a bug where the debt of projects with work
|
||
keeps getting bigger and bigger,
|
||
so that when a new project is attached or gets work,
|
||
it takes a long time for it to run.
|
||
|
||
client/
|
||
cs_apps.C
|
||
|
||
Rom 14 Sept 2004
|
||
- GUIRPC: Remove memory leaks from the client-side GUI RPC's.
|
||
- GUIRPC: Make the API contracts consistant.
|
||
|
||
clientgui/
|
||
MainFrame.h
|
||
lib/
|
||
gui_rpc_client.C, .h
|
||
|
||
David 14 Sept 2004
|
||
- added a "project status" page showing daemon and DB status
|
||
The sample has various SETI@home-specific stuff;
|
||
projects will need to customize it.
|
||
- added db_init_aux(), which doesn't check stop_web,
|
||
generate HTML or exit;
|
||
moved db_init() to util.inc; it calls db_init_aux(),
|
||
and does the check/HTML/exit stuff
|
||
|
||
html/
|
||
inc/
|
||
db.inc
|
||
util.inc
|
||
user/
|
||
sample_status.php (new)
|
||
|
||
David 14 Sept 2004
|
||
fixes to forum code (from Janus K.):
|
||
|
||
- Intelligently scale the avatar instead of stretching it.
|
||
(keep largest portion of the image within the 100x100
|
||
view while keeping image proportions)
|
||
- show preview of the avatar in forum prefs
|
||
- Inform users of the maximum signature size in forum prefs
|
||
|
||
html/
|
||
inc/
|
||
util.inc
|
||
user/
|
||
edit_forum_preferences_action.php
|
||
edit_forum_preferences_form.php
|
||
|
||
David 14 Sept 2004
|
||
- fix bug in update_versions
|
||
|
||
tools/
|
||
update_versions
|
||
|
||
Rom 14 Sep 2004 (boinc_public)
|
||
- Tag for 4.09 release, all platforms
|
||
boinc_core_release_4_09
|
||
|
||
Lana 14 Sep 2004
|
||
- added cpu_scheduling to global preferences
|
||
|
||
html/inc/
|
||
prefs.inc
|
||
|
||
David 18 Sept 2004
|
||
- fixed "used before assigned" errors in whetstone.
|
||
|
||
client/
|
||
whetstone.C
|
||
|
||
David 20 Sept 2004
|
||
- changed PHP caching code to touch file before regenerating it.
|
||
This will (in most cases) prevent concurrent processes
|
||
from redundantly regenerating it.
|
||
- Change "cpu_scheduling" to "cpu_scheduling_period_minutes"
|
||
in global preferences
|
||
|
||
html/inc/
|
||
cache.inc
|
||
prefs.inc
|
||
|
||
David 20 Sept 2004
|
||
html/
|
||
inc/
|
||
forum.inc
|
||
user/
|
||
edit_forum_preferences_action.php
|
||
show_user.php
|
||
|
||
Lana 20 Sept 2004
|
||
- Fixed create_work bug. Copy input text files to the download directories
|
||
|
||
tools/
|
||
backend_lib.C
|
||
|
||
Rom 20 Sept 2004
|
||
- NEWGUI: Refactor all view logic to accommodate
|
||
the new task based interface.
|
||
- NEWGUI: Add the new projects task pane.
|
||
- NEWGUI: Stub the other tabs.
|
||
- NEWGUI: Include new visuals for the task based UI.
|
||
|
||
clientgui/
|
||
<Numerous Files Have Been Changed>
|
||
|
||
David 21 Sept 2004
|
||
- fixed profile image upload (from Matt)
|
||
|
||
html/inc/
|
||
profile.inc
|
||
|
||
Lana 21 Sept 2004
|
||
- added getting value of the cpu_sched_period
|
||
for the client from the global prefs
|
||
|
||
client/
|
||
prefs.h
|
||
prefs.C
|
||
|
||
David 21 Sept 2004
|
||
- parse_state_file():
|
||
If client_state.xml doesn't exist, try client_state_next.xml.
|
||
If the resulting file is empty, try client_state_prev.xml
|
||
This should hopefully fix cases of state file corruption on crash
|
||
- change request delay from 1 hour to 1 day for:
|
||
- unknown platform
|
||
- no work for this platform
|
||
- core client out of date
|
||
|
||
client/
|
||
cs_statefile.C
|
||
sched/
|
||
handle_request.C
|
||
sched_send.C
|
||
|
||
David 22 Sept 2004
|
||
Various cleanups; first try on project-overwrite bug
|
||
(I don't think these have anything to do with it, however).
|
||
Client now compiles with gcc -Wall -W -Werror
|
||
|
||
- enforce buffer length arg in copy_element_contents()
|
||
- check return values from copy_element_contents() everywhere
|
||
- check return value from PROJECT::parse_account()
|
||
and PROJECT::write_account_file()
|
||
- remove unused arguments here and there
|
||
|
||
|
||
client/
|
||
app.h
|
||
app_control.C
|
||
client_state.C,h
|
||
client_types.C
|
||
cs_account.C
|
||
cs_apps.C
|
||
cs_scheduler.C
|
||
cs_statefile.C
|
||
dhrystone.C
|
||
gui_rpc_server.C
|
||
main.C
|
||
net_stats.C,h
|
||
net_xfer.C,h
|
||
scheduler_op.C
|
||
lib/
|
||
miofile.C
|
||
parse.C
|
||
|
||
Rom 22 Sept 2004
|
||
- NEWGUI: Add rules to enforce URL and Accout Key rules to the
|
||
attach to project dialog, this will increase the robustness
|
||
of the new UI when dealing with unexpected input.
|
||
- Cleanup the rest of the graphics stuff.
|
||
|
||
clientgui/
|
||
<various files>
|
||
|
||
David 22 Sept 2004
|
||
- store scheduler requests and replies in files whose names
|
||
include the project master URL.
|
||
This will hopefully prevent RPCs from clobbering each other.
|
||
The question of why concurrent RPC is happening is unresolved.
|
||
- rename next_project() to next_project_need_work()
|
||
- remove redundant time argument from SCHEDULER_OP::init_return_results()
|
||
|
||
client/
|
||
client_state.h
|
||
cs_scheduler.C
|
||
file_names.C,h
|
||
scheduler_op.C,h
|
||
|
||
|
||
David 22 Sept 2004
|
||
- commented out PROJECT::share_size and PROJECT::size.
|
||
|
||
client/
|
||
client_state.C
|
||
client_types.C,h
|
||
|
||
Lana 22 Sept 2004
|
||
- included MD5 Checksum in the Core Client download page
|
||
|
||
html/
|
||
inc/
|
||
util.inc
|
||
download.inc
|
||
|
||
Rom 22 Sept 2004
|
||
- Fix CPU Scheduler bug on a multi-proc machine after a project reset where
|
||
the core client gets stuck in a loop trying to schedule work that does
|
||
not exist.
|
||
|
||
client/
|
||
client_state.h
|
||
cs_apps.C
|
||
|
||
Lana 22 Sept 2004
|
||
- fixed opening of the ops page
|
||
|
||
html/
|
||
inc/
|
||
util_ops.inc
|
||
db_ops.inc
|
||
|
||
Rom 22 Sept 2004
|
||
- NEWGUI: Make the quick tips section auto update with the quick tip for the
|
||
item the mouse is hovering over.
|
||
|
||
clientgui/
|
||
<various files>
|
||
|
||
David 23 Sept 2004
|
||
- fix bug in schedule_cpus() that caused it to not reschedule
|
||
when a result is done.
|
||
Removed its "must_reschedule" argument.
|
||
Add a boolean CLIENT_STATE::must_reschedule_cpus
|
||
that is set whenever a result is newly runnable or done,
|
||
and that tells schedule_cpus() to do its thang regardless of time.
|
||
|
||
client/
|
||
app_control.C
|
||
client_state.C,h
|
||
cs_apps.C
|
||
|
||
David 23 Sept 2004
|
||
- fix (from Frank Weiler) for GUI column sorting problem
|
||
|
||
client/
|
||
gui_titles.C,h
|
||
win/
|
||
wingui_listctrl.cpp,h
|
||
wingui_mainwindow.cpp
|
||
|
||
David 23 Sept 2004
|
||
- Added code (from Ben Herndon) for getting X86 CPU names and models better.
|
||
Not using this for now.
|
||
|
||
client/win/
|
||
cpuid_tbl.cpp,h
|
||
opt_x86.h
|
||
opt_x86cpu.cpp
|
||
optBench.hpp
|
||
optimize.hpp
|
||
|
||
Lana 23 Sept 2004
|
||
- Fixed setting of the default venue on account setup.
|
||
|
||
html/user/
|
||
account_setup_nonfirst_action.php
|
||
|
||
David 23 Sept 2004
|
||
- to simplify things, removed a number of fields from SCHEDULER_REPLY
|
||
and have SCHEDULER_REPLY::parse() copy info straight into the PROJECT.
|
||
This eliminates a bunch of pointless copying
|
||
- added bool PROJECT::non_cpu_intensive
|
||
- commented out deletion_policy stuff
|
||
|
||
client/
|
||
client_types.C,h
|
||
cs_scheduler.C
|
||
scheduler_op.C,h
|
||
|
||
Lana 23 Sept 2004
|
||
- refactored access and storage to cpu_sched_period for the project.
|
||
now it is being maintained in global prefs only.
|
||
|
||
client/
|
||
cs_statefile.C
|
||
cs_apps.C
|
||
client_state.C,h
|
||
|
||
David 24 Sept 2004
|
||
- Scheduler: send a message to client (low priority)
|
||
if there is a newer minor version of the core client available.
|
||
This required adding the set of CORE_VERSIONs to shared mem
|
||
|
||
sched/
|
||
handle_request.C
|
||
sched_config.C,h
|
||
sched_shmem.C,h
|
||
|
||
David 24 Sept 2004
|
||
- db_dump: use mysql_use_result() instead of mysql_store_result()
|
||
for the enumeration of users.
|
||
Otherwise it has to store the entire result set in memory,
|
||
which could be prohibitive.
|
||
NOTE: still have to use mysql_store_result() for hosts
|
||
because of the user lookup to get show_hosts flag.
|
||
Could deal with this by doing a join.
|
||
- added use_use_result arg to DB_BASE::enumerate() (default false)
|
||
- change printfs to log_messages.printf in db_dump
|
||
- db_dump: don't show user host list
|
||
(can't do this if use mysql_use_result())
|
||
|
||
db/
|
||
db_base.C,h
|
||
sched/
|
||
db_dump.C
|
||
|
||
David 24 Sept 2004
|
||
- use lockf() in preference to flock(), since the former supports NFS
|
||
(from James Drews)
|
||
|
||
lib/
|
||
filesys.C
|
||
|
||
David 24 Sept 2004
|
||
- added a <dont_generate_upload_certificates/> option to config.xml.
|
||
If set, no upload certificates will be generated for results.
|
||
This will make the transitioner run faster.
|
||
If you use this, you must set <ignore_upload_certificates/>
|
||
immediately, and leave it on for a couple of weeks
|
||
even after start generating upload certificates again.
|
||
|
||
sched/
|
||
sched_config.C,h
|
||
transitioner.C
|
||
tools/
|
||
backend_lib.C,h
|
||
process_result_template.C
|
||
|
||
Rom 24 Sept 2004
|
||
- NEWGUI: Hook up the rest of the html panes for the transfers,
|
||
messages, work, and resources tabs.
|
||
- Kick start the CPU scheduler on startup by setting must_reschedule_cpus
|
||
in case the scheduler is stuck in a funky state.
|
||
|
||
client/
|
||
client_state.C
|
||
clientgui/
|
||
<Numerous Files>
|
||
|
||
David 24 Sept 2004
|
||
- support for <non_cpu_intensive/> projects.
|
||
The flag is parsed from scheduler and stored in state file
|
||
Non-CPU-intensive projects are treated specially
|
||
by the CPU scheduler: their results are always scheduled.
|
||
|
||
client/
|
||
client_state.C,h
|
||
client_types.C
|
||
cs_apps.C
|
||
|
||
David 25 Sept 2004
|
||
- Made GUI RPC client code a bit nicer by adding RPC class
|
||
|
||
lib/
|
||
gui_rpc_client.C,h
|
||
gui_test.C
|
||
|
||
David 25 Sept 2004
|
||
- Added new GUI RPCs:
|
||
project: suspend/resume
|
||
file transfer: abort
|
||
active task: suspend/resume/abort
|
||
get proxy info
|
||
- Modified the C++ interface to GUI RPC a little
|
||
NOTE: the RPCs themselves (XML on the wire) are unchanged
|
||
- Added suspended_via_gui flags to PROJECT, ACTIVE_TASK
|
||
- renamed CLIENT_STATE::pi to CLIENT_STATE::proxy_info
|
||
|
||
client/
|
||
app.C,h
|
||
client_state.C,h
|
||
client_types.C,h
|
||
cs_apps.C
|
||
cs_cmdline.C
|
||
cs_statefile.C
|
||
gui_rpc_server.C
|
||
pers_file_xfer.C,h
|
||
scheduler_op.C
|
||
win/
|
||
wingui_proxydlg.cpp
|
||
lib/
|
||
gui_rpc_client.C,h
|
||
gui_test.C
|
||
|
||
David 26 Sept 2004
|
||
- Added the ability to turn homogeneous redundancy on/off
|
||
on a per-application basis.
|
||
|
||
NOTE: this involved adding a homogeneous_redundancy field to
|
||
the app table in the database.
|
||
To upgrade to this server software,
|
||
you must run the SQL query in html/ops/db_update.php,
|
||
which adds this database field.
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
schema.sql
|
||
html/
|
||
inc/
|
||
db_ops.inc
|
||
ops/
|
||
db_update.php
|
||
py/Boinc/
|
||
database.py
|
||
sched/
|
||
db_dump.C
|
||
sched_send.C
|
||
|
||
Rom 27 Sep 2004 (boinc_public)
|
||
- Tag for 4.10 release, all platforms
|
||
boinc_core_release_4_10
|
||
|
||
David 27 Sept 2004
|
||
- more support for GUI URLs.
|
||
The core client should now parse them from scheduler reply,
|
||
and save them in account file.
|
||
|
||
client/
|
||
client_types.C,h
|
||
scheduler_op.C
|
||
lib/
|
||
parse.C,h
|
||
sched/
|
||
handle_request.C
|
||
server_types.C,h
|
||
|
||
David 27 Sept 2004
|
||
- still more GUI URL changes
|
||
|
||
client/
|
||
client_types.C
|
||
scheduler_op.C
|
||
lib/
|
||
gui_rpc_client.C,h
|
||
|
||
David 28 Sept 2004
|
||
- fixed CPU sched bug, I hope
|
||
|
||
client/
|
||
client_state.C
|
||
cs_data.C
|
||
|
||
David 28 Sept 2004
|
||
- parse message seqnos in GUI RPC client
|
||
|
||
lib/
|
||
gui_rpc_client.C,h
|
||
|
||
Rom 28 Sep 2004 (boinc_public)
|
||
- Tag for 4.11 release, all platforms
|
||
boinc_core_release_4_11
|
||
|
||
Jeff 28 Sep 2004
|
||
- reduced limit on feeder enumeration query from 10,000 to 1,000.
|
||
|
||
sched/
|
||
feeder.C
|
||
|
||
David 29 Sept 2004
|
||
- handle GUI RPCs even if we're running benchmarks
|
||
- report PROJECT::suspended_via_gui in RPC reply
|
||
|
||
client/
|
||
client_state.C
|
||
client_types.C
|
||
gui_rpc_server.C
|
||
|
||
David 30 Sept 2004
|
||
- added -db_host option to db_dump (so it can use a DB replica)
|
||
|
||
sched/
|
||
db_dump.C
|
||
|
||
David 30 Sept 2004
|
||
- Change wording of some web links
|
||
|
||
html/
|
||
inc/
|
||
user.inc
|
||
util.inc
|
||
user/
|
||
mail_passwd.php
|
||
|
||
David 30 Sept 2004
|
||
- got clientgui working on Linux!!
|
||
|
||
clientgui/
|
||
MainDocument.cpp
|
||
Makefile (new)
|
||
ValidateURL.cpp
|
||
|
||
David 30 Sept 2004
|
||
- changed the semantics of the GUI RPC get_messages() call.
|
||
- It no longer takes an "nmessages" arg.
|
||
- it returns messages in order of increasing seqno
|
||
- changed message_descs from a std::list to a std::deque
|
||
|
||
client/
|
||
client_msgs.C,h
|
||
gui_rpc_server.C
|
||
lib/
|
||
boinc_win.h
|
||
gui_rpc_client.C,h
|
||
gui_test.C
|
||
win_build/
|
||
boinc_guirpc_test.vcproj
|
||
|
||
David 30 Sept 2004
|
||
- added GUI_RPC_CLIENT::close() function.
|
||
Call this if any RPC returns ERR_READ or ERR_WRITE.
|
||
Then call init() again to reconnect
|
||
|
||
lib/
|
||
gui_rpc_client.C,h
|
||
|
||
David 30 Sept 2004
|
||
- fix crashing bug in get_messages GUI RPC (signed/unsigned issue)
|
||
|
||
client/
|
||
gui_rpc_server.C
|
||
|
||
David 30 Sept 2004
|
||
- First steps in fixing the venue mess:
|
||
venue is passed from server to client, never the other way.
|
||
- always pass back host credit info in sched reply
|
||
(not just if new hostid - how did that happen??)
|
||
- add none (---) as an option for venue in web form
|
||
- when user change venue of host, tell them that it
|
||
will take effect only after a sched request
|
||
|
||
html/
|
||
inc/
|
||
host.inc
|
||
user/
|
||
host_venue_action.php
|
||
sched/
|
||
handle_request.C
|
||
server_types.C,h
|
||
|
||
David 1 Oct 2004
|
||
<<<<<<< checkin_notes
|
||
- Ending the venue debacle, part II: The Client
|
||
=======
|
||
- Ending the venue debacle, part II: The Client
|
||
|
||
1) Each project maintains its venue separately.
|
||
It's stored in the project's account file,
|
||
and is used to select the project prefs variant.
|
||
|
||
2) Let P be the project that's the source of the global prefs.
|
||
Then P's venue is used to select the global prefs variant.
|
||
(Note: P's venue may change without the global prefs changing).
|
||
This venue is stored in the CLIENT_STATE.main_host_venue
|
||
and in the client state file; it survives even if P is detached.
|
||
|
||
So the basic logic is:
|
||
if you get a new venue from project P,
|
||
re-parse its project prefs.
|
||
If in addition P is the source of the global prefs,
|
||
re-parse the global prefs and put the venue in CLIENT_STATE.main_host_venue
|
||
>>>>>>> 1.1637
|
||
|
||
<<<<<<< checkin_notes
|
||
1) Each project maintains its venue separately.
|
||
It's stored in the project's account file,
|
||
and is used to select the project prefs variant.
|
||
|
||
2) Let P be the project that's the source of the global prefs.
|
||
Then P's venue is used to select the global prefs variant.
|
||
(Note: P's venue may change without the global prefs changing).
|
||
This venue is stored in the CLIENT_STATE.main_host_venue
|
||
and in the client state file; it survives even if P is detached.
|
||
|
||
So the basic logic is:
|
||
if you get a new venue from project P,
|
||
re-parse its project prefs.
|
||
If in addition P is the source of the global prefs,
|
||
re-parse the global prefs and put the venue in CLIENT_STATE.main_host_venue
|
||
|
||
- got rid of CLIENT_STATE::parse_venue()
|
||
- don't send host_venue in scheduler request
|
||
|
||
client/
|
||
client_state.C,h
|
||
client_types.C,h
|
||
cs_account.C
|
||
cs_prefs.C
|
||
cs_scheduler.C
|
||
cs_statefile.C
|
||
scheduler_op.C
|
||
=======
|
||
- got rid of CLIENT_STATE::parse_venue()
|
||
- don't send host_venue in scheduler request
|
||
|
||
client/
|
||
client_state.C,h
|
||
client_types.C,h
|
||
cs_account.C
|
||
cs_prefs.C
|
||
cs_scheduler.C
|
||
cs_statefile.C
|
||
scheduler_op.C
|
||
>>>>>>> 1.1637
|
||
|
||
David 1 Oct 2004
|
||
- Bug fix for venue propagation
|
||
- Moved some account-file-related code to cs_account.C,
|
||
some prefs-related code to cs_prefs.C
|
||
client/
|
||
client_types.C
|
||
cs_account.C
|
||
cs_prefs.C
|
||
cs_scheduler.C
|
||
|
||
David 1 Oct 2004
|
||
- CLIENT_STATE::avg_proc_rate: include on_frac in the formula
|
||
(from Ben Herndon)
|
||
|
||
client/
|
||
cs_scheduler.C
|
||
time_stats.h
|
||
sched/
|
||
server_types.h
|
||
|
||
David 1 Oct 2004
|
||
- "default", nor "primary", prefs
|
||
|
||
client/
|
||
cs_account.C
|
||
|
||
David 1 Oct 2004
|
||
- web: add "as of May 14 2004" when show SETI@home classic stats
|
||
- fix bug in db_dump.C (wasn't checking for -d)
|
||
|
||
html/inc/
|
||
user.inc
|
||
sched/
|
||
db_dump.C
|
||
|
||
David 4 Oct 2004
|
||
- Win GUI: don't show error box if WinsockCleanup() fails
|
||
(in CMyApp::ExitInstance())
|
||
|
||
client/win/
|
||
wingui_mainwindow.cpp
|
||
|
||
David 4 Oct 2004
|
||
- web site fixes (forums) from Janus K
|
||
|
||
html/user/
|
||
edit_forum_preferences_action.php
|
||
home.php
|
||
|
||
David 4 Oct 2004
|
||
- fix typos and compile errors
|
||
|
||
db/
|
||
boinc_db.C
|
||
db_base.h
|
||
client/
|
||
cs_scheduler.C
|
||
|
||
David 4 Oct 2004
|
||
- changed DB code to allow for the use of read-only DB replicas
|
||
Here's what you can do now:
|
||
|
||
DB_CONN replica;
|
||
replica.open(name, host, user, passwd);
|
||
DB_USER user(replica);
|
||
user.enumerate(...)
|
||
|
||
... and this can be intermixed with access to the master DB (boinc_db).
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
db_base.C,h
|
||
|
||
Lana 4 Oct 2004
|
||
- changed most of the update() statements to update_field() statements
|
||
to improve server performance
|
||
|
||
sched/
|
||
assimilator.C
|
||
feeder.C
|
||
file_deleter.C
|
||
update_stats.C
|
||
validator.C
|
||
wu_check.C
|
||
|
||
David 6 Oct 2004
|
||
- Added some new items to the APP_INIT_DATA struct
|
||
(and to the init_data.xml file):
|
||
- global preferences
|
||
- user/team/host IDs
|
||
- proxy info
|
||
|
||
This is for the benefit of Folding@home,
|
||
whose application does some core-client-type stuff
|
||
(e.g. network communication) and therefore needs this info
|
||
|
||
- changed GLOBAL_PREFS::source_project and source_scheduler
|
||
from std::string to char[256]
|
||
|
||
- factored out PROXY_INFO code into lib/proxy_info.C,h
|
||
- moved GLOBAL_PREFS code from client/ to lib/
|
||
|
||
client/
|
||
app_start.C
|
||
client_state.C
|
||
cs_prefs.C
|
||
cs_scheduler.C
|
||
prefs.C,h (moved to lib)
|
||
proxy.C,h
|
||
lib/
|
||
app_ipc.C,h
|
||
prefs.C,h (moved from client)
|
||
proxy_info.C,h (new)
|
||
win_build/
|
||
boinc_cli.vcproj
|
||
boinc_gui.vcproj
|
||
upper_case.vcproj
|
||
|
||
David 6 Oct 2004
|
||
- file upload handler was doing too many checks
|
||
in the ignore_upload_certificates case
|
||
|
||
sched/
|
||
file_upload_handler.C
|
||
|
||
David 6 Oct 2004
|
||
- Compile fixes.
|
||
|
||
NOTE: on UNIX, it seems to be necessary to remove everything
|
||
from client/.deps before compiling,
|
||
else you get errors trying to compile prefs.C (which got moved)
|
||
Shouldn't something do this automatically?
|
||
|
||
|
||
client/
|
||
Makefile.am
|
||
lib/
|
||
Makefile.am
|
||
proxy_info.h
|
||
|
||
David 6 Oct 2004
|
||
- Added files (from Kenichi Miyoshi of NTT) to support
|
||
SSL (secure socket layer) communication.
|
||
These require an SSL library to use,
|
||
so I haven't put these files into the project.
|
||
Directions for using them are in
|
||
doc/ssl_build.txt
|
||
|
||
client/
|
||
ssl_http.C,h
|
||
ssl_net_xfer.C,h
|
||
|
||
David 6 Oct 2004
|
||
- the key generation function of crypt_prog now uses /dev/random
|
||
instead of getting random seed based on time
|
||
|
||
lib/
|
||
crypt_prog.C
|
||
|
||
David 6 Oct 2004
|
||
- boinc_resolve_filename() fix bug where link file is empty
|
||
(from Markku Degerholm)
|
||
|
||
lib/
|
||
app_ipc.C
|
||
|
||
David 7 Oct 2004
|
||
- return formatted msg in file_upload_handler
|
||
|
||
sched/
|
||
file_upload_handler.C
|
||
|
||
David 7 Oct 2004
|
||
- Housecleaning of result_report_error() and related code:
|
||
- removed RESULT::active_task_state field
|
||
- removed RESULT::signal field
|
||
- removed "errnum" argument from result_report_error()
|
||
- return XML text for upload errors
|
||
- clean up logic of result_report_error()
|
||
- changed FILE_INFO::had_failure() to optionally return error text
|
||
- changed RESULT_COMPUTE_DONE to RESULT_COMPUTE_ERROR
|
||
- renamed APP_VERSION::had_failure() to had_download_failure()
|
||
(same work WORKUNIT)
|
||
- schedule_cpus(): if any start or resume fails,
|
||
set must_schedule_cpus so we'll try something else
|
||
|
||
client/
|
||
app_control.C
|
||
app_start.C
|
||
client_state.C,h
|
||
client_types.C,h
|
||
cs_apps.C
|
||
cs_scheduler.C
|
||
cs_statefile.C
|
||
lib/
|
||
prefs.C
|
||
result_state.h
|
||
|
||
David 7 Oct 2004
|
||
- Python DB code: don't treat a field as an external ID if
|
||
it ends with "_id" (like "seti_id")
|
||
|
||
py/Boinc/
|
||
db_base.py
|
||
|
||
David 8 Oct 2004
|
||
- Add confirm before delete prefs
|
||
|
||
html/user/
|
||
prefs_remove.php
|
||
|
||
David 8 Oct 2004
|
||
- GLOBAL_PREFS::parse(): don't erase source project/scheduler info
|
||
when parse venue-specific prefs
|
||
- compile fix for windows
|
||
|
||
client/win/
|
||
wingui_mainwindow.cpp
|
||
lib/
|
||
prefs.C
|
||
|
||
Lana 8 Oct 2004
|
||
- changed check_set() to take input WORKUNIT instead of DB_WORKUNIT
|
||
- added VALIDATOR_ITEM and DB_VALIDATOR_ITEM_SET
|
||
- optimized validator to use DB_VALIDATOR_ITEM_SET
|
||
|
||
db/
|
||
boinc_db.C, .h
|
||
sched/
|
||
validator.C
|
||
sample_bitwise_validator.C
|
||
sample_trivial_validator.C
|
||
|
||
David 9 Oct 2004
|
||
- forum updates (from Janus Kristensen)
|
||
|
||
NOTE: to use this new code you'll have to update
|
||
your database (see html/ops/db_update.php)
|
||
|
||
html/
|
||
inc/
|
||
forum.inc
|
||
forum_show.inc
|
||
util.inc
|
||
ops/
|
||
db_update.php
|
||
user/
|
||
edit_forum_preferences_action.php
|
||
edit_forum_preferences_form.php
|
||
forum_post.php
|
||
forum_reply.php
|
||
forum_thread.php
|
||
unread_post.png (new)
|
||
|
||
David 9 Oct 2004
|
||
- added script to cancel a WU
|
||
|
||
html/ops/
|
||
cancel_wu.php (new)
|
||
|
||
David 9 Oct 2004
|
||
- finished changes to validator to user DB_VALIDATOR_ITEM_SET
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
sched/
|
||
assimilator.C
|
||
db_purge.C
|
||
validator.C
|
||
|
||
David 9 Oct 2004
|
||
- When parsing a FILE_INFO, always copy the XML to "signed_xml".
|
||
Otherwise, when the core client tries to upload the file,
|
||
it sends an empty <file_info> element.
|
||
|
||
This fixes a problem in which all uploads fail if a project
|
||
uses the <dont_generate_upload_certificates/> config option
|
||
|
||
client/
|
||
client_types.C,h
|
||
|
||
|
||
David 10 Oct 2004
|
||
- GUI RPC fixes from Sebastian Masch
|
||
|
||
client/
|
||
client_types.C
|
||
gui_rpc_server.C
|
||
|
||
David 11 Oct 2004
|
||
- changed the graphics API to support Mac OS/X
|
||
(in which only the original thread can do GUI stuff).
|
||
boinc_init_graphics() now takes a function-pointer arg
|
||
for the worker function; it runs this function in a new thread,
|
||
and the calling thread does the GUI event loop.
|
||
|
||
Did this for Windows, and attempted to make the same changes
|
||
in the Mac and X11 code. May or may not work.
|
||
|
||
- got rid of everything related to the GRAPHICS_INFO structure.
|
||
This wasn't being used.
|
||
|
||
NOTE: this change doesn't affect the core/app interface.
|
||
No need to recompile existing apps.
|
||
|
||
api/
|
||
graphics_api.C,h
|
||
windows_opengl.C
|
||
client/
|
||
app_start.C
|
||
lib/
|
||
app_ipc.C,h
|
||
prefs.C
|
||
|
||
David 11 Oct 2004
|
||
- added <get_host_info/> GUI RPC
|
||
- put extern "C" around filesys.C functions
|
||
(so can use from C apps)
|
||
|
||
client/
|
||
gui_rpc_server.C
|
||
lib/
|
||
filesys.h
|
||
gui_rpc_client.C,h
|
||
util.h
|
||
|
||
David 12 Oct 2004
|
||
- fixes to forum code (from Janus)
|
||
- finished checkin of 9 Oct (forgot db_update.php)
|
||
|
||
html/
|
||
inc/
|
||
forum.inc
|
||
ops/
|
||
db_update.php
|
||
user/
|
||
edit_forum_preferences_action.php
|
||
edit_forum_preferences_form.php
|
||
|
||
David 12 Oct 2004
|
||
- API: more detailed message when do heartbeat giveup
|
||
- remove CLIENT_STATE::previous_activities_suspended
|
||
- changed work fetch policy to get T work, not 2T
|
||
- don't handle SIGTSTP and SIGCONT
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
client_state.C,h
|
||
cs_scheduler.C
|
||
main.C
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
|
||
David 13 Oct 2004
|
||
- in global prefs XML, if cpu_scheduling_period_minutes is empty,
|
||
set it to 60 (this caused core client to hang in some situations)
|
||
- renamed PREFS::cpu_sched_period to cpu_scheduling_period_minutes
|
||
(matching what it's called in the XML)
|
||
|
||
client/
|
||
cs_apps.C
|
||
lib/
|
||
prefs.C,h
|
||
|
||
David 13 Oct 2004
|
||
- initial cleanup of x_opengl.C
|
||
(e.g. use a timer instead of onIdle)
|
||
|
||
api/
|
||
x_opengl.C
|
||
|
||
Lana 13 Oct 2004
|
||
- cleanup of boinc validator to handle error conditions
|
||
|
||
sched/
|
||
validator.C
|
||
|
||
David 13 Oct 2004
|
||
- Get app graphics working in Linux
|
||
|
||
api/
|
||
graphics_api.C
|
||
gutil.h
|
||
reduce.C
|
||
x_opengl.C,h
|
||
apps/
|
||
Makefile.am
|
||
|
||
David 13 Oct 2004
|
||
- upload handler: return error msg to client if can't open log file
|
||
|
||
sched/
|
||
file_upload_handler.C
|
||
|
||
David 14 Oct 2004
|
||
- Core client: change the poll paradigm a little
|
||
OLD: all the poll functions get called,
|
||
at least once a second or more often when there's activity,
|
||
e.g. network traffic.
|
||
The problem: some of the poll functions (e.g. garbage collect)
|
||
do a lot of work, and in periods of network activity
|
||
they get called hundreds of times/sec.
|
||
NEW: all poll functions take a "double now" argument.
|
||
Those that only need to run every second can
|
||
keep track of the last time called, and return false
|
||
if not enough time has gone by
|
||
- Clarify meaning of TIME_STATS::active_frac:
|
||
it is the fraction of total time
|
||
(NOT time that core client is running)
|
||
that core client is enabled to work
|
||
- CLIENT_STATE::compute_work_requests():
|
||
Don't divide by active_frac in computing work request;
|
||
the scheduler already does this!!
|
||
- Core client: don't use time_t for times. Use double.
|
||
- garbage collect: delete an unused FILE_INFO even if
|
||
it has an active PERS_FILE_XFER.
|
||
(Delete the PERS_FILE_XFER first.)
|
||
- API: fix crashing bug if app_init_data.xml file isn't there
|
||
- Graphics API, X version: wait for initial message
|
||
before doing anything (since GLUT needs a window)
|
||
- scheduler: fix small error in WU wallclock estimate
|
||
|
||
api/
|
||
boinc_api.C
|
||
x_opengl.C
|
||
client/
|
||
app.C,h
|
||
client_state.C,h
|
||
client_types.C
|
||
cs_apps.C
|
||
cs_files.C
|
||
cs_scheduler.C
|
||
file_xfer.C,h
|
||
gui_rpc_server.C,h
|
||
http.C,h
|
||
main.C
|
||
net_xfer.C,h
|
||
scheduler_op.C
|
||
time_stats.h
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
lib/
|
||
app_ipc.C,h
|
||
makefile.gui_test
|
||
sched/
|
||
sched_send.C
|
||
|
||
Lana 14 Oct 2004
|
||
- improved db_purge to output to multiple archives
|
||
|
||
sched/
|
||
db_purge.C
|
||
|
||
David 15 Oct 2004
|
||
- GUI RPC: don't crash if bad project URL
|
||
- SCHEDULER_REPLY::parse(): tolerate extra lines
|
||
at start of scheduler reply (from Volker Hatzenberger)
|
||
|
||
client/
|
||
gui_rpc_server.C
|
||
scheduler_op.C
|
||
|
||
David 15 Oct 2004
|
||
- don't finalize WinSock unless we inited it successfully
|
||
|
||
client/win/
|
||
wingui_mainwindow.cpp
|
||
|
||
Lana 15 Oct 2004
|
||
- fixed bug in transitioner marking validate state as NO CHECK
|
||
for the workunits with the number of results exceeding max total
|
||
results
|
||
|
||
sched/
|
||
transitioner.C
|
||
|
||
David 15 Oct 2004
|
||
- debugged "clone account" feature
|
||
|
||
html/
|
||
inc/
|
||
result.inc
|
||
user.inc
|
||
user/
|
||
account_setup_first.php
|
||
account_setup_nonfirst_action.php
|
||
create_account_action.php
|
||
create_account_form.php
|
||
|
||
David 16 Oct 2004
|
||
- Changed semantics of "clone account" features.
|
||
As it stood, it let anyone see anyone else's project prefs,
|
||
which could be a violation of privacy.
|
||
Changed it to be team-centric:
|
||
team founders (and only them) have visible project prefs
|
||
|
||
html/
|
||
inc/
|
||
team.inc
|
||
user.inc
|
||
user/
|
||
clone.php
|
||
create_account_action.php
|
||
create_account_form.php
|
||
team_join_action.php
|
||
team_join_form.php
|
||
|
||
David 17 Oct 2004
|
||
- Deal with fatal GLUT errors (e.g. can't connect to X server)
|
||
by calling glut_quit() (which exits the pthread)
|
||
rather than exit() or abort() (which exits the app)
|
||
|
||
api/
|
||
graphics_api.C
|
||
boincglut/lib/glut/
|
||
glut_util.C
|
||
README (new)
|
||
|
||
David 17 Oct 2004
|
||
- Fix bug in parsing multi-venue general prefs
|
||
(from Tim Brown)
|
||
|
||
client/
|
||
client_state.C
|
||
lib/
|
||
prefs.C,h
|
||
|
||
David 17 Oct 2004
|
||
- cleanup of Makefile stuff (from Reinhard Prix)
|
||
Got rid of Makefile.in's.
|
||
You now have to run _autosetup ; configure to generate them
|
||
(and the Makefiles)
|
||
|
||
'make install' now installs header files and libs
|
||
under ${prefix}/include and ${prefix}/lib
|
||
|
||
|
||
*Makefile.in (removed)
|
||
*/Makefile.am
|
||
configure (removed)
|
||
sched_fcgi/* (removed)
|
||
|
||
David 18 Oct 2004
|
||
- add web material related to "Team account creation URL";
|
||
warn team founders that their project prefs are public
|
||
|
||
html/
|
||
inc/
|
||
team.inc
|
||
user/
|
||
clone.php
|
||
sample_rss_main.php
|
||
team.php
|
||
|
||
David 18 Oct 2004
|
||
- more Makfile cleanup
|
||
- removed #ifdef HAVE_DIRENT stuff from filesys.h
|
||
so apps can use it
|
||
|
||
Graphics.Readme (removed)
|
||
configure.ac
|
||
boincglut/lib/glut/
|
||
Makefile (removed)
|
||
api/
|
||
Makefile.Readme (removed)
|
||
Makefile.graphics (removed)
|
||
clientgui/
|
||
Makefile (removed)
|
||
lib/
|
||
Makefile.am
|
||
filesys.h
|
||
|
||
David 19 Oct 2004
|
||
- generate clientgui/Makefile
|
||
|
||
Makefile.am
|
||
configure.ac
|
||
|
||
David 19 Oct 2004
|
||
- fix bugs in GUI RPCs
|
||
|
||
client/
|
||
cs_apps.C
|
||
gui_rpc_server.C
|
||
|
||
David 19 Oct 2004
|
||
- fix GUI RPC client so it won't get confused if different
|
||
projects have the same app, WU or result names
|
||
|
||
lib/
|
||
gui_rpc_client.C,h
|
||
makefile.gui_test
|
||
|
||
David 19 Oct 2004
|
||
- if a Unix graphics-capable app is run standalone,
|
||
and it can't connect to X server,
|
||
the graphics thread exits but the worker thread continues.
|
||
|
||
api/
|
||
graphics_api.C
|
||
x_opengl.C
|
||
|
||
David 19 Oct 2004
|
||
- GUI RPC: the get_results and get_file_transfers RPC
|
||
weren't returning the project_url.
|
||
Do this, and parse it on the client side.
|
||
|
||
client/
|
||
client_types.C
|
||
lib/
|
||
gui_rpc_client.C,h
|
||
|
||
David 19 Oct 2004
|
||
- Add <link> to RSS export so Firefox users can bookmark RSS feed
|
||
|
||
html/user/
|
||
sample_rss_main.php
|
||
|
||
David 19 Oct 2004
|
||
- Added GLUT files for new fonts (from Bruce Allen)
|
||
|
||
boincglut/lib/glut/
|
||
Makefile
|
||
glut_bitmap.c
|
||
glut_hel10.c
|
||
glut_hel12.c
|
||
glut_tr10.c
|
||
glut_tr24.c
|
||
|
||
David 19 Oct 2004
|
||
- fixed CPU scheduler bug so that tasks suspended via GUI
|
||
actually are suspended
|
||
|
||
client/
|
||
cs_apps.C
|
||
|
||
David 19 Oct 2004
|
||
- added a -random_order option to the feeder
|
||
(this is inefficient if you don't have an index
|
||
on result.(server_state, random);
|
||
we're using it in the alpha project, where it doesn't matter)
|
||
|
||
db/
|
||
boinc_db.C,h
|
||
sched/
|
||
feeder.C
|
||
|
||
David 19 Oct 2004
|
||
- in error messages from boincglut/ code,
|
||
use BOINCGLUT: prefix instead of GLUT:
|
||
|
||
boincglut/lib/glut/
|
||
glut_util.c
|
||
|
||
David 19 Oct 2004
|
||
- bug fix to RSS feed <link>
|
||
|
||
html/
|
||
inc/
|
||
util.inc
|
||
user/
|
||
clone.php
|
||
sample_index.php
|
||
sample_rss_main.php
|
||
|
||
David 20 Oct 2004
|
||
- added <estimated_cpu_time_remaining> to GUI RPC reply for results
|
||
- fix XML errors in GUI RPC replies (from Gilson Laurent)
|
||
- consolidated logic for estimated remaining CPU time
|
||
(don't do this in GUI)
|
||
|
||
client/
|
||
app.C,h
|
||
client_types.C,h
|
||
cs_apps.C
|
||
cs_scheduler.C
|
||
gui_rpc_server.C
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
|
||
David 20 Oct 2004
|
||
- API: don't delete shared mem in boinc_finish().
|
||
If you do, the graphics thread (which is generally still running)
|
||
may seg fault soon thereafter.
|
||
|
||
api/
|
||
boinc_api.C
|
||
|
||
David 20 Oct 2004
|
||
- API: make the worker thread low priority
|
||
(or at least lower than the graphics thread)
|
||
|
||
NOTE: on UNIX, the core client nices apps to 20.
|
||
Need to rethink this for graphics apps.
|
||
|
||
api/
|
||
graphics_api.C
|
||
|
||
David 20 Oct 2004
|
||
- removed clientgui stuff from build
|
||
|
||
Makefile.am
|
||
configure.ac
|
||
|
||
David 20 Oct 2004
|
||
- Save user_run_request and user_network_request in client_state.xml
|
||
(so always/never/auto settings are persistent)
|
||
- Save PROJECT::suspended_via_gui in client_state.xml
|
||
(so suspend project is persistent)
|
||
- Save ACTIVE_TASK::suspended_via_gui in client_state.xml
|
||
(so suspend task is persistent)
|
||
|
||
client/
|
||
app.C
|
||
client_types.C
|
||
cs_statefile.C
|
||
|
||
David 20 Oct 2004
|
||
- commented out frac_rate_of_change stuff
|
||
(too complicated, not used)
|
||
|
||
client/
|
||
app.C,h
|
||
app_control.C
|
||
|
||
David 20 Oct 2004
|
||
- Graphics API (UNIX) change thread priority the proper way
|
||
(from Bruce Allen)
|
||
|
||
api/
|
||
graphics_api.C
|
||
|
||
David 21 Oct 2004
|
||
- fix to get_file_transfers RPC (from Sebastian Masch)
|
||
|
||
client/
|
||
gui_rpc_server.C
|
||
|
||
David 21 Oct 2004
|
||
- fix for result_show_graphics RPC
|
||
|
||
lib/
|
||
gui_rpc_client.C
|
||
|
||
Rom 21 Oct 2004 (boinc)
|
||
- Tag for 4.50 release, all platforms
|
||
boinc_core_release_4_50
|
||
|
||
David 21 Oct 2004
|
||
- compile fixes
|
||
To initialize a char[256], use strcpy(x, ""), not x[0] = NULL.
|
||
|
||
client/
|
||
app_control.C
|
||
clientgui/
|
||
ViewProjects.cpp
|
||
lib/
|
||
gui_rpc_client.C
|
||
|
||
David 21 Oct 2004
|
||
- add "nbytes" (i.e., file size) to FILE_TRANSFER in GUI RPC
|
||
|
||
lib/
|
||
gui_rpc_client.C,h
|
||
|
||
David 21 Oct 2004
|
||
- graphics API (UNIX):
|
||
replace assert(x) by
|
||
if (!x) {
|
||
userclose = 1;
|
||
return;
|
||
}
|
||
the goal is to exit gracefully if there's a graphics problem,
|
||
rather than aborting (and interfering with the computation)
|
||
- get clientgui to compile on Solaris
|
||
|
||
boincglut/
|
||
bglut_event.c
|
||
bglutint.h (removed)
|
||
boinc_glut.h (new)
|
||
glut_cmap.c
|
||
glut_fullscrn.c
|
||
glut_gamemode.c
|
||
glut_win.c
|
||
clientgui/
|
||
Makefile.old
|
||
|
||
David 21 Oct 2004
|
||
- boinc_receive_trickle_down(): reset have_trickle_down
|
||
if don't find any trickle-down messages.
|
||
This will make subsequence checks efficient (i.e. no disk check).
|
||
- boinc_catch_signal(): for SIGHUP and SIGPIPE,
|
||
return (i.e. ignore the signal) rather than exiting.
|
||
This affects both the core client and apps that use
|
||
boinc_init_diagnostics().
|
||
|
||
api/
|
||
boinc_api.C
|
||
lib/
|
||
diagnostics.C
|
||
|
||
Jeff 22 Oct 2004
|
||
- Fixed a validator bug that caused result overflow conditions not
|
||
to be detected and passed on to the assimilator. Overflow indicators
|
||
have not been passed to the master science db since 9/24/2004.
|
||
|
||
DB_VALIDATOR_ITEM_SET::enumerate() - added stderr_out to the query
|
||
VALIDATOR_ITEM::parse() - added stderr_out to the parse logic
|
||
DB_VALIDATOR_ITEM_SET::update_result() - update the result.opaque field
|
||
|
||
db/
|
||
boinc_db.C
|
||
|
||
David 22 Oct 2004
|
||
- schedule_cpus(): assume that if a task ran for X seconds,
|
||
it got X seconds of CPU time.
|
||
This makes the schedule work correctly even when
|
||
apps don't report their CPU time.
|
||
|
||
client/
|
||
client_state.C
|
||
cs_apps.C
|
||
|
||
David 25 Oct 2004
|
||
- Use double instead of time_t to represent time;
|
||
use dtime() instead of time(0) to get time
|
||
- better error message on upload init failure
|
||
- add lib/result_state.h to VC project
|
||
|
||
client/
|
||
client_state.C
|
||
client_types.h
|
||
cs_prefs.C
|
||
cs_scheduler.C
|
||
net_xfer.h
|
||
pers_file_xfer.C,h
|
||
schedule_op.C,h
|
||
ss_logic.C,h
|
||
lib/
|
||
util.C,h
|
||
win_build/
|
||
boinc_gui.vcproj
|
||
|
||
David 25 Oct 2004
|
||
- fixed bug that caused app's reported CPU time to always stay at zero
|
||
This is a by-product of recent graphics changes:
|
||
boinc_init() was getting the current thread handle and assuming
|
||
it's the worker thread, which is not the case now.
|
||
Fix: use a single variable for worker thread handle;
|
||
if boinc_graphics_init() is called, it changes it
|
||
|
||
api/
|
||
boinc_api.C,h
|
||
graphics_api.C
|
||
|
||
David 25 Oct 2004
|
||
- fix compile errors.
|
||
I conditionally commented out stuff related to taskbar icon
|
||
in the BOINC GUI code,
|
||
since taskbar icon doesn't seem to exist on X11/GTK
|
||
|
||
api/
|
||
boinc_api.h
|
||
clientgui/
|
||
BOINCGUIApp.cpp,h
|
||
Makefile.old
|
||
|
||
David 25 Oct 2004
|
||
- New features for forums:
|
||
- lets you rate messages (binary)
|
||
- lets you filter what messages you see, based on ratings
|
||
From Janus Kristensen
|
||
|
||
NOTE: to use this, you need to update your DB to add some fields
|
||
to the forum_preferences table; see html/ops/db_update.php
|
||
|
||
html/
|
||
inc/
|
||
forum.inc
|
||
ops/
|
||
db_update.php
|
||
user/
|
||
edit_forum_preferences_action.php
|
||
edit_forum_preferences_form.php
|
||
forum_rate.php
|
||
forum_thread.php
|
||
|
||
David 25 Oct 2004
|
||
- add <active_task_state> and <vm_size> fields
|
||
to XML for active task (for GUI RPC)
|
||
- compile fixes for app graphics (from Bruce Allen and Reinhard Prix)
|
||
|
||
boincglut/
|
||
Makefile.am
|
||
include/
|
||
Makefile.am (new)
|
||
client/
|
||
app.C
|
||
lib/
|
||
gui_rpc_client.C,h
|
||
|
||
David 26 Oct 2004
|
||
- Fixed the following problem with graphics apps on Unix:
|
||
- the worker timer handler (on_timer) was set up in boinc_init();
|
||
this is called in the main thread,
|
||
which for graphics apps ends up being the graphics thread.
|
||
- the call to getrusage() in on_timer() was returning
|
||
the CPU time of the graphics thread, not the worker thread
|
||
- there doesn't seem to be a way for one thread to
|
||
get the CPU time of another thread
|
||
Solution: (unfortunately requires a change to the API):
|
||
apps that use graphics now call either
|
||
boinc_init_graphics() or
|
||
boinc_init_options_graphics()
|
||
and DON'T call boinc_init()
|
||
|
||
api/
|
||
boinc_api.C,h
|
||
graphics_api.C,h
|
||
|
||
Rom 26 Oct 2004 (boinc)
|
||
- Tag for 4.52 release, all platforms
|
||
boinc_core_release_4_52
|
||
|
||
|
||
David 26 Oct 2004
|
||
- Further changes to graphics API
|
||
|
||
api/
|
||
boinc_api.C,h
|
||
graphics_api.C
|
||
|
||
David 26 Oct 2004
|
||
- forum updates (from Jans)
|
||
|
||
NOTE: run the DB update to get the right default behavior
|
||
|
||
html/
|
||
inc/
|
||
forum.inc
|
||
ops/
|
||
db_update.php
|
||
user/
|
||
edit_forum_preferences_form.php
|
||
forum_post.php
|
||
forum_rate.php
|
||
|
||
David 26 Oct 2004
|
||
- added "supports graphics" boolean to RESULT GUI RPC reply
|
||
|
||
client/
|
||
app.C
|
||
lib/
|
||
gui_rpc_client.C,h
|
||
|
||
David 28 Oct 2004
|
||
- client GUI: makefile fix, compile fix
|
||
- removed debugging stuff from boinc_api.C
|
||
|
||
api/
|
||
boinc_api.C
|
||
clientgui/
|
||
Makefile.old
|
||
lib/
|
||
gui_rpc_client.C,h
|
||
|
||
Eric 28 Oct 2004
|
||
- added threading flags and libraries to compile lines.
|
||
- upload handler now checks for zero length
|
||
|
||
Makefile.incl
|
||
aclocal.m4
|
||
api/
|
||
Makefile.am
|
||
apps/
|
||
Makefile.am
|
||
client/
|
||
Makefile.am
|
||
clientgui/
|
||
Makefile.am
|
||
lib/
|
||
Makefile.am
|
||
sched/
|
||
Makefile.am
|
||
file_upload_handler.C
|
||
tools/
|
||
Makefile.am
|
||
|
||
David 29 Oct 2004
|
||
- update_versions looks for .sig files for single-file applications
|
||
(from Eric Myers)
|
||
|
||
api/
|
||
graphics_api.h
|
||
tools/
|
||
update_versions
|
||
|
||
David 29 Oct 2004
|
||
- show app version# in result page
|
||
|
||
html/inc/
|
||
result.inc
|
||
|
||
David 31 Oct 2004
|
||
- fix clientgui compile on Solaris
|
||
- Mac OS/X app graphics fixes
|
||
|
||
NOTE: shared memory doesn't seem to work right on Mac OS 10.2.
|
||
I've battled this for 2 solid days and am giving up for now.
|
||
|
||
api/
|
||
Makefile.am
|
||
boinc_api.C
|
||
graphics_api.C
|
||
macc_app_opengl.C,h
|
||
client/
|
||
app_start.C
|
||
clientgui/
|
||
stdwx.h
|
||
lib/
|
||
util.C
|
||
|
||
David 1 Nov 2004
|
||
- Fixed the display of top users/hosts/teams ordered by average credit.
|
||
This code wasn't taking into account how long ago
|
||
the average credit was computed.
|
||
The fix: add functions user_inactive_days() (host/team also)
|
||
If the user's expavg_time is older than a week,
|
||
call user_decay_credit() to decay the average credit.
|
||
- create a PHP function update_average(),
|
||
exactly the same as the C++ function.
|
||
- add a "Generated on" line at the bottom of cached pages
|
||
|
||
html/
|
||
inc/
|
||
cache.inc
|
||
credit.inc (new)
|
||
host.inc
|
||
team.inc
|
||
user.inc
|
||
user/
|
||
top_hosts.php
|
||
top_teams.php
|
||
top_users.php
|
||
lib/
|
||
util.C
|
||
|
||
David 1 Nov 2004
|
||
- PHP caching: call clearstatcache() prior to filemtime(),
|
||
just in case the file doesn't exist anymore.
|
||
NOTE: this doesn't seem to work.
|
||
Sometimes it thinks a cached copy is there, but it's not.
|
||
- row4(): don't left/right align
|
||
- core client download page:
|
||
don't check for user login (this page is cached!!)
|
||
|
||
html/
|
||
inc/
|
||
cache.inc
|
||
util.C
|
||
user/
|
||
download.inc
|
||
|
||
David 2 Nov 2004
|
||
- update schema.sql with forum-related changes
|
||
|
||
db/
|
||
schema.sql
|
||
|
||
David 2 Nov 2004
|
||
- split Dhrystone source into 2 files (from Peter Smithson).
|
||
This supposedly prevents compiler optimizations on Win
|
||
that give inflated results (I don't see this).
|
||
|
||
client/
|
||
dhrystone.C
|
||
dhrystone.h (new)
|
||
dhrystone2.C (new)
|
||
win_build/
|
||
boinc_cli.vcproj
|
||
boinc_gui.vcproj
|
||
|
||
Karl 2004-11-02
|
||
- added environment options INSTALL_DIR and TOP_SOURCE_DIR for upgrade
|
||
|
||
tools/
|
||
upgrade
|
||
py/Boinc/
|
||
BOINC_path_config.py.in
|
||
|
||
David 3 Nov 2004
|
||
- change trivial validator to not require majority
|
||
(this apparently applies even to error results; should fix this)
|
||
- avoid crash if get ack for non-existent result
|
||
(from Volker Hatzenberger)
|
||
|
||
client/
|
||
cs_scheduler.C
|
||
sched/
|
||
sample_trivial_validator.C
|
||
|
||
David 4 Nov 2004
|
||
- compile fixes
|
||
|
||
configure.ac
|
||
client
|
||
Makefile.am
|
||
|
||
David 5 Nov 2004
|
||
- get clientgui to compile on Solaris.
|
||
- include <stdexcept>
|
||
- add NOCLIPBOARD flag in Makefile,
|
||
since Solaris WxWidgets doesn't seem to know about clipboard
|
||
NOTE: it compiles but crashes
|
||
- don't include boinc_api.h in util.C: ???
|
||
|
||
clientgui/
|
||
Makefile.old
|
||
ViewMessages.cpp,h
|
||
stdwx.h
|
||
lib/
|
||
util.C
|
||
|
||
David 5 Nov 2004
|
||
- move declaration of boinc_calling_thread_cpu_time()
|
||
from boinc_api.h to util.h
|
||
|
||
api/
|
||
boinc_api.h
|
||
client/
|
||
dhrystone.C
|
||
whetstone.C
|
||
lib/
|
||
util.h
|
||
|
||
Rom 5 Nov 2004
|
||
- Fixed a crashing bug on Solaris since the Window events show up in a drastically
|
||
different order than on other platforms.
|
||
- Fixed a bug that kept the GUI from closing down during a logoff or shutdown event
|
||
- GUI has reached feature partity with the previous GUI.
|
||
|
||
clientgui/
|
||
MainDocument.cpp
|
||
taskbarex.cpp, .h
|
||
BOINCTaskBar.cpp, .h
|
||
|
||
Rom 5 Nov 2004 (boinc)
|
||
- Tag for 4.54 release, all platforms
|
||
boinc_core_release_4_54
|
||
|
||
David 6 Nov 2004
|
||
- include credit.inc where needed
|
||
|
||
html/inc
|
||
team.inc
|
||
host.inc
|
||
|
||
Rom 7 Nov 2004
|
||
- Modify the main build environment for Windows to include the new GUI, and remove
|
||
the old build environment.
|
||
|
||
win_build/
|
||
boinc.sln
|
||
boincgui.vcproj
|
||
|
||
Karl 2004-11-07
|
||
- add _autosetup steps to nightly-tarball and 'make dist', so that
|
||
autogenerated files don't have to be checked into the repository.
|
||
|
||
Makefile.am
|
||
nightly-tarball
|
||
|
||
Bruce Allen 2004-11-07
|
||
- added include credit.inc
|
||
|
||
html/user/
|
||
top_teams.php
|
||
|
||
David 9 Nov 2004
|
||
- typo in graphics_api.C
|
||
- credit.inc is already included in team.inc
|
||
|
||
api/
|
||
graphics_api.C
|
||
html/user
|
||
top_teams.php
|
||
|
||
David 9 Nov 2004
|
||
- GUI RPC changes:
|
||
- enclose requests and replies in <boinc_gui_rpc_request>
|
||
or <boinc_gui_rpc_reply> tags (make them more legit XML).
|
||
- add <version> element to both requests and replies
|
||
- add /003 to end of requests messages
|
||
NOTE: neither end currently checks for or uses these elements.
|
||
- add CLIENT_STATE::version() (returns version #)
|
||
- moved win_config.h from client/win to top level,
|
||
since version number is needed by components
|
||
other than client
|
||
|
||
win_config.h (new)
|
||
client/
|
||
app_start.C
|
||
client_state.C,h
|
||
gui_rpc_server.C
|
||
win/
|
||
win_config.h (removed)
|
||
lib/
|
||
gui_rpc_client,.C
|
||
win_build/
|
||
BOINCGUI.vcproj
|
||
boinc_cli.vcproj
|
||
boinc_dll.vcproj
|
||
boinc_gui.vcproj
|
||
boinc_guirpc_test.vcproj
|
||
boinc_ss.vcproj
|
||
upper_case.vcproj
|
||
|
||
Rom 9 Nov 2004
|
||
- Add needed files by the new installer
|
||
- Convert the Windows binaries from static linking to dynamic linking and
|
||
get the installer to include the 7.1 run-times
|
||
|
||
client/win/
|
||
dbghelp.dll (removed)
|
||
win_build/
|
||
license.txt (removed)
|
||
readme.txt (removed)
|
||
splash.bmp (removed)
|
||
*.vcproj
|
||
*.sln
|
||
win_build/installerv2/
|
||
BOINC.ism
|
||
win_build/installerv2/redist/
|
||
setup.ico
|
||
setup.bmp
|
||
win_build/installerv2/redist/0409/
|
||
eula.rtf
|
||
readme.txt
|
||
win_build/installerv2/redist/Windows/x86/
|
||
dbghelp.dll
|
||
|
||
David 10 Nov 2004
|
||
- put brackets around hostname in "can't resolve" error msg
|
||
- handle "next N" correctly in forum text search
|
||
(from Volker Hatzenberger)
|
||
- add RNG code for Windows (in case we ever need to
|
||
generate true random bits there)
|
||
|
||
client/
|
||
net_xfer.C
|
||
html/user/
|
||
forum_text_search_action.php
|
||
lib/
|
||
crypt_prog.C
|
||
|
||
Rom 10 Nov 2004
|
||
- Remove the old VC 6.0 build files
|
||
- Include the boinc_gui project within the boinc solution again to ease
|
||
debugging
|
||
- Update the new installer to shutdown and uninstall the BOINC
|
||
service during uninstall.
|
||
|
||
win_build/
|
||
*.dsp (Removed)
|
||
*.dsw (Removed)
|
||
boinc_gui.vcproj
|
||
BOINCGUI.vcproj
|
||
boinc.sln
|
||
|
||
Rom 10 Nov 2004
|
||
- Create a custom action to copy account files from a specific location
|
||
when the ACCOUNTS_LOCATION public property is defined.
|
||
|
||
win_build/installerv2/
|
||
BOINC.ism
|
||
win_build/installerv2/redist/Windows
|
||
Accounts_CopyFiles.vbs
|
||
|
||
David 11 Nov 2004
|
||
- error out compile if no file lock mechanism
|
||
|
||
client/
|
||
file_names.C
|
||
lib/
|
||
filesys.C
|
||
|
||
David 11 Nov 2004
|
||
- compile fixes and cleanup for Mac
|
||
|
||
api/
|
||
boinc_gl.h
|
||
graphics_api.C
|
||
gutil.C
|
||
mac_app_opengl.C,h (removed)
|
||
mac_carbon_gl.C,h (removed)
|
||
reduce.C
|
||
boincglut/lib/glut/
|
||
glutint.h
|
||
clientgui/
|
||
MainDocument.cpp
|
||
Makefile.old
|
||
|
||
Rom 12 Nov 2004
|
||
- New Installer: Set screensaver to the BOINC screensaver
|
||
- New Installer: Detect the presence of the old BOINC installer and warn the
|
||
user to uninstall the old BOINC.
|
||
|
||
win_build/installerv2/
|
||
BOINC.ism
|
||
win_build/installerv2/redist/Windows/
|
||
BOINC.vbs
|
||
|
||
Rom 12 Nov 2004
|
||
- On Windows, BOINC should not prompt for a project if non exist.
|
||
- On Windows, remove the -install and -uninstall from the commandline
|
||
since the installer now takes care of it.
|
||
|
||
client/
|
||
main.C
|
||
cd_cmdline.C
|
||
client/win/
|
||
win_service.cpp
|
||
|
||
David 12 Nov 2004
|
||
- bug fixes for admin web interface (from Bruce Allen)
|
||
- change GUI RPC port number from 31416 to 1043
|
||
- remove Mac files from Makefile
|
||
|
||
api/
|
||
Makefile.am
|
||
client/
|
||
gui_rpc_server.C,h
|
||
html/
|
||
inc/
|
||
db_ops.inc
|
||
ops/
|
||
db_action.php
|
||
lib/
|
||
gui_rpc_client.h
|
||
|
||
David 12 Nov 2004
|
||
- booleans in config.xml are represented as <foo>1</foo>
|
||
(<foo/> still supported for now)
|
||
|
||
html/
|
||
inc/
|
||
host.inc
|
||
util.inc
|
||
user/
|
||
create_account_action.php
|
||
create_account_form.php
|
||
results.php
|
||
sched/
|
||
sched_config.C
|
||
|
||
David 12 Nov 2004
|
||
- clear need_validate in all cases
|
||
|
||
sched/
|
||
validator.C
|
||
|
||
Rom 12 Nov 2004
|
||
- Fixed a bug that kept people from being able to attach to a new project
|
||
because of a control ID change.
|
||
- Fix the reference to gui_rpc_client.h in the project file.
|
||
|
||
clientgui/
|
||
ViewProjects.cpp
|
||
win_build/
|
||
BOINCGUI.vcproj
|
||
|
||
Rom 12 Nov 2004
|
||
- Bring the screensaver up to date by adding diagnostics support, exception support,
|
||
and stackwalker support.
|
||
- Include the ability for the screensaver to make GUI RPC's.
|
||
- Convert the MFC style trace statements to BOINCTRACE statements.
|
||
- Give the ability for the screensaver to log to logfiles.
|
||
- Give the ability for the screensaver to track memory allocations and dump leaks
|
||
to the log file.
|
||
|
||
client/win/
|
||
win_screensaver.cpp
|
||
lib/
|
||
diagnostics.h
|
||
win_build/
|
||
boinc_ss.vcproj
|
||
|
||
Rom 13 Nov 2004 (boinc)
|
||
- Tag for 4.55 release, all platforms
|
||
boinc_core_release_4_55
|
||
|
||
Bruce Allen 13 Nov 2004
|
||
- Fixed, modified, tested script to remove workunits.
|
||
Linked to main ops page.
|
||
- Fixed links at bottom of workunits page, showing outcomes of results.
|
||
- Added tabular description of tables to the database form page,
|
||
longer clause box
|
||
- Added fix (commented out) to get pictures for systems without
|
||
TrueColor support (GD v 2)
|
||
- Fix to db_action.inc so it works under PHP<4.3.0
|
||
|
||
html/ops/
|
||
cancel_wu.php (removed)
|
||
cancel_wu_form.php
|
||
cancel_wu_action.php
|
||
index.php
|
||
db_form.php
|
||
html/inc/
|
||
db_ops.inc
|
||
profile.inc
|
||
db_action.inc
|
||
|
||
Rom 14 Nov 2004
|
||
- Updated the core screensaver code to use the GUI RPC's instead of passing
|
||
Window messages.
|
||
- Added two new GUI RPC's, set_screensaver_mode, and get_screensaver_mode.
|
||
- Added ID tags to the top of several files.
|
||
- Cleanup screensaver code
|
||
|
||
api/
|
||
windows_opengl.C
|
||
client/
|
||
gui_rpc_server.C
|
||
main.C
|
||
ss_logic.C
|
||
client/win/
|
||
boinc_ss.rc
|
||
win_screensaver.cpp, .h
|
||
win_util.cpp, .h
|
||
lib/
|
||
gui_rpc_client.C, .h
|
||
|
||
David 14 Nov 2004
|
||
- remove hardwired font sizes from web code
|
||
|
||
html/
|
||
inc/
|
||
forum.inc
|
||
forum_show.inc
|
||
ops/
|
||
cancel_wu_action.php
|
||
|
||
David 14 Nov 2004
|
||
- improve account-creation email msg
|
||
- login_action.php allows authenticator to be passed as GET arg
|
||
|
||
html/
|
||
inc/
|
||
util.inc
|
||
user/
|
||
login_action.php
|
||
|
||
David 14 Nov 2004
|
||
- Fix for a validator bug pointed out by Bruce Allen:
|
||
After a call to check_set(),
|
||
update results whose outcome was changed to VALIDATE_ERROR
|
||
or whose validate_state was set to VALID or INVALID,
|
||
whether or not a canonical result was found.
|
||
- Add stack-trace code to Unix signal handler
|
||
|
||
lib/
|
||
diagnostics.C
|
||
sched/
|
||
validator.C
|
||
|
||
David 14 Nov 2004
|
||
- changed default download page link to point to BOINC site
|
||
|
||
html/user/
|
||
intro.php
|
||
sample_index.php
|
||
|
||
Rom 14 Nov 2004
|
||
- Update screensaver so that it'll pass target Window Station and
|
||
Desktop to the graphics app via the CC, the CC code still needs
|
||
to be written.
|
||
- When the shared memory segment for the graphics channel is updated
|
||
to include the Window Station and Desktop the apps will now be able
|
||
to traverse the Window Station/Desktop boundry on Windows NT based
|
||
platforms. I still need to run this on a 9x platform and see if
|
||
I need to change the API calls into LoadLibrary/GetProcAddress calls.
|
||
- Update the diagnostics header so it can co-exist with the wxWidget
|
||
library.
|
||
|
||
api/
|
||
windows_opengl.C
|
||
client/
|
||
gui_rpc_server.C
|
||
client/win/
|
||
win_screensaver.cpp
|
||
lib/
|
||
diagnostics.h
|
||
gui_rpc_client.C, .h
|
||
win_build/
|
||
boinc_guirpc_test.vcproj
|
||
boinc_ss.vcproj
|
||
|
||
Bruce 15 Nov 2004
|
||
- Work on documentation for config.xml file.
|
||
Add explanation, missing material. More work needed.
|
||
- Added time zone to 'last modified' date.
|
||
|
||
doc/
|
||
configuration.php
|
||
docutil.php
|
||
|
||
David 15 Nov 2004
|
||
- some times were being read/written as ints instead of double
|
||
(from Sebastian Masch)
|
||
This fixes a bug of giving up on uploads too soon
|
||
|
||
NOTE: the time returned by dtime() is NOT THE SAME AS UNIX TIME.
|
||
YOU CAN'T MIX AND MATCH. REMEMBER THIS!!!!
|
||
|
||
client/
|
||
client_types.C
|
||
pers_file_xfer.C
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
lib/
|
||
gui_rpc_client.C,h
|
||
|
||
David 15 Nov 2004
|
||
- get rid of time(0) as much as possible
|
||
|
||
client/
|
||
app_control.C
|
||
client_types.C
|
||
cs_data.C
|
||
net_xfer.h
|
||
|
||
David 15 Nov 2004
|
||
- assimilator: after each enumeration of WUs, do a COMMIT.
|
||
This will hopefully fix a bug where a WU would appear
|
||
in an two enumerations in succession
|
||
(this happens when the enumerations are short,
|
||
i.e. when the assimilator is nearly caught up).
|
||
|
||
sched/
|
||
assimilator.C
|
||
|
||
Rom 15 Nov 2004
|
||
- Update screensaver logic in the core client to pass back the error
|
||
code to the screensaver instead of trying to also be a screensaver
|
||
- Remove the screensaver code from the old GUI
|
||
- Update the new setup to include the symbol files by default
|
||
- Update the diagnostics header so that BOINCTRACE is __noop in cases
|
||
where files are part of the STL or MS CRT when being compiled as part
|
||
of a wxwidget application like the boincmgr application.
|
||
|
||
client/
|
||
gui_rpc_server.C
|
||
ss_logic.C, .h
|
||
client/win/
|
||
win_screensaver.cpp
|
||
win_mainwindow.cpp, .h
|
||
lib/
|
||
diagnostics.h
|
||
win_build/
|
||
boinc_gui.vcproj
|
||
win_build/installerv2/
|
||
BOINC.ism
|
||
|
||
David 16 Nov 2004
|
||
- Validator bug: look for file name in xml_doc_out, not xml_doc_in
|
||
|
||
sched/
|
||
validate_util.C
|
||
|
||
Bruce 16 Nov 2004
|
||
- Fix bug in ops pages displaying counts of zero if 'additional
|
||
clauses' includes string names such as name='first_workunit'
|
||
|
||
- Result summary pages corrected for boundary condition errors in
|
||
arrays and to cover additional result.outcome==6 case. Result
|
||
summaries now sum correctly over outcomes!
|
||
- Add validate state to result tables, color code for validate
|
||
state information
|
||
html/inc/
|
||
db_ops.inc
|
||
util_ops.inc
|
||
|
||
html/ops
|
||
db_action.php
|
||
|
||
David 16 Nov 2004
|
||
- compile fixes for Linux, Solaris
|
||
|
||
lib/
|
||
diagnostics.C
|
||
gui_rpc_client.C
|
||
|
||
Rom 17 Nov 2004
|
||
- Update screensaver so that it'll work across
|
||
Window Station and Desktop boundries.
|
||
Note: The screensaver will now work with the password checkbox
|
||
enabled on NT machines.
|
||
- Update screensaver so that it reports all error conditions
|
||
that the old GUI used to report.
|
||
- Update screensaver so that if BOINC isn't running
|
||
and graphics capable apps
|
||
it'll display the result name and percent completed.
|
||
NOTE: this hasn't been tested yet.
|
||
- Updated BOINC Manager with some const changes.
|
||
- Updated BOINC Manager so that it can detect which Window Station
|
||
and Desktop it is currently executing in,
|
||
and pass that info off to BOINC when needed.
|
||
- Updated the CC so that it doesn't try to act like a screensaver anymore,
|
||
so now we can have a unified screensaver experience.
|
||
- Updated the CC to pass the Window Station and Desktop information
|
||
to the science application so it can transition into the screensaver
|
||
desktop when the user
|
||
has the password checkbox checked on NT based platforms.
|
||
- Updated the shared memory structures for passing the extra information
|
||
that is now needed.
|
||
- Updated the GUI RPC's to require Window Station and Desktop information
|
||
when needed.
|
||
|
||
NOTE: A lot of this stuff hasn't been tested on Win9x yet.
|
||
|
||
api/
|
||
windows_opengl.C
|
||
client/
|
||
app.h
|
||
app_control.C
|
||
app_graphics.C
|
||
gui_rpc_sever.C
|
||
ss_logic.C, .h
|
||
client/win/
|
||
boinc_ss.h
|
||
boinc_ss.rc
|
||
win_screensaver.cpp, .h
|
||
win_mainwindow.cpp
|
||
clientgui/
|
||
BOINCGUIApp.cpp, .h
|
||
BOINCTaskbar.cpp
|
||
MainDocument.cpp, .h
|
||
WorkView.cpp
|
||
lib/
|
||
app_ipc.C, .h
|
||
gui_rpc_client.C, .h
|
||
gui_test.C
|
||
|
||
Bruce 17 Nov 2004
|
||
- Fixed RESULT form on ops page so that it now covers correctly
|
||
all possible states (including ones with value 0) and
|
||
eliminated the 'Unknown' values that previously appeared on the form.
|
||
These were in error. This is a clean fix, by defining (for example)
|
||
outcome='CHOOSE_ALL', eg a non-numerical value, for the 'select
|
||
ALL' case.
|
||
- Added a select menu for validate_state to the RESULT form.
|
||
- In forms for outcome, validate_state, client_state and
|
||
server_state, indicate numeric values (helpful if using
|
||
additional clauses for more sophisticated queries)
|
||
html/inc/
|
||
db_ops.inc
|
||
html/ops/
|
||
db_form.php
|
||
|
||
David 17 Nov 2004
|
||
- Slight repackaging of Rom's last checkin:
|
||
- Define a structure GRAPHICS_MSG that includes
|
||
mode, window_station and desktop.
|
||
Pass around references to this struct
|
||
instead of the items separately.
|
||
- Revert to a single array "xml_graphics_modes"
|
||
- comment out BOINCTRACE calls. These don't work on Linux
|
||
|
||
api/
|
||
windows_opengl.C
|
||
x_opengl.C
|
||
client/
|
||
app.h
|
||
app_control.C
|
||
app_graphics.C
|
||
client_state.C
|
||
gui_rpc_server.C
|
||
ss_logic.C,h
|
||
lib/
|
||
app_ipc.C,h
|
||
gui_rpc_client.C
|
||
|
||
Rom 17 Nov 2004
|
||
- Bug Fix: The screensaver wouldn't shutdown when just the application
|
||
window was dismissed by moving the mouse two or three pixels.
|
||
There is a new graphics message called MODE_QUIT which is treated
|
||
like MODE_HIDE_GRAPHICS by the app,
|
||
but the CC sees the message and tells the screensaver to stop.
|
||
|
||
api/
|
||
windows_opengl.C
|
||
client/
|
||
app_graphics.C
|
||
ss_logic.C
|
||
lib/
|
||
app_ipc.C, .h
|
||
|
||
David 17 Nov 2004
|
||
- UNIX applications graphics:
|
||
Use atexit(), setjmp() and longjmp() to pop the stack
|
||
and resume within xwin_graphics_event_loop()
|
||
when exit() is called in the graphics thread.
|
||
|
||
This means that we can use the standard GLUT library,
|
||
not our modified version.
|
||
|
||
Thanks to Bruce Allen for suggesting this!!!!
|
||
|
||
[Note inserted by Bruce the next day. ANSI-C 4.6.2.1 says: "The
|
||
longjmp function ... The longjmp function should not be called in
|
||
an exit handler (i.e., a function registered with the atexit
|
||
function (see <20>4.10.4.2)), since it might jump to some code which
|
||
is no longer in scope." This should be OK on OSes that delay image
|
||
teardown until after calling the handler functions, provided that
|
||
the routine calling exit() has cleaned up its memory. An
|
||
alternative might be to use dlopen() or the loader to replace the
|
||
calls to exit() with a BOINC routine.]
|
||
|
||
api/
|
||
gutil.C
|
||
x_opengl.C
|
||
client/
|
||
app_control.C
|
||
lib/
|
||
gui_rpc_client.C
|
||
gui_test.C
|
||
makefile.gui_test
|
||
|
||
David 17 Nov 2004
|
||
- call atexit() in restart(),
|
||
since this entry has been popped off the atexit "stack"
|
||
|
||
api/
|
||
x_opengl.C
|
||
|
||
David 17 Nov 2004
|
||
- compile fixes for Mac OS X
|
||
Applications graphics (at least for SETI@home) work on Mac now.
|
||
The close button is disabled when launch from cmdline (why??)
|
||
- remove references to boincglut/
|
||
- GUI RPC client: don't try to send RPC request if not connected
|
||
|
||
api/
|
||
Makefile.am
|
||
boinc_gl.h
|
||
graphics_api.C
|
||
x_opengl.C
|
||
client/
|
||
app_graphics.C
|
||
clientgui/
|
||
BOINCGUIApp.cpp
|
||
MainDocument.cpp,h
|
||
Makefile.old
|
||
ViewWork.cpp
|
||
lib/
|
||
gui_rpc_client.C,h
|
||
|
||
Rom 17 Nov 2004
|
||
- Bug Fix: When BOINC is running as a service, make sure that we can display
|
||
some simple status messages about the progress of the projects.
|
||
- Bug Fix: Allow the apps to detect if they can support graphics, because
|
||
of the Window Station and Desktop change, if not report back to the
|
||
CC that graphics are not supported.
|
||
- Bug Fix: Configure the screensaver so that is can reestablish a connection
|
||
to the CC in case the core client is shutdown in the background, and
|
||
restarted.
|
||
- Bug Fix: Use the project name in the system status message instead of the
|
||
result name.
|
||
- Bug Fix: Screensaver now works even when BOINC is running as a service.
|
||
NOTE: This currently only works if the account is LocalSystem and
|
||
Interact with Desktop is checked.
|
||
- Bug Fix: When the service account is switched to an account that cannot
|
||
support interact with desktop make sure the screensaver can display
|
||
the project status.
|
||
- Bug Fix: If we have to report back that graphics are not supported in
|
||
the current configuration, don't create the window, it only makes
|
||
the system jittery. I suspect it has something to do with the
|
||
possibility of garbage UI events being sent to the application.
|
||
- Remove remain screensaver logic from the old GUI.
|
||
|
||
api/
|
||
windows_opengl.C
|
||
client/
|
||
ss_logic.C, .h
|
||
client/win/
|
||
win_screensaver.cpp
|
||
wingui_mainwindow.cpp
|
||
lib/
|
||
gui_rpc_client.h
|
||
|
||
Bruce 18 Nov 2004
|
||
- Bug fixes (thanks to Jens Seidler): set cross project id (CPID)
|
||
to random value when creating user account from Administrator form,
|
||
and lower_case email address before inserting into database.
|
||
Added script make_emails_lowercase.php which
|
||
goes through user database and changes email addresses to lowercase,
|
||
and sets CPID to a random string if it is currently 0 (empty).
|
||
It should be safe to run this script any number of times,
|
||
on a damanged or undamaged user database, with no side effects.
|
||
- 'Fixed' py/Boinc/add_util.py so that it takes cross_project_id
|
||
value out of XML file. Current default value is '0'.
|
||
Karl, could you fix this to make it a random string?
|
||
- validator.c sets global variable int boinc_validator_debuglevel
|
||
for use by check_set and check_match functions.
|
||
|
||
html/ops/
|
||
create_account_action.php
|
||
make_emails_lowercase.php
|
||
|
||
py/Boinc/
|
||
add_util.py
|
||
|
||
sched/
|
||
validator.C
|
||
|
||
David 18 Nov 2004
|
||
- Changed PHP code so that the "generated on" text
|
||
produced for cached pages appears inside the <html> tag
|
||
for HTML pages, and doesn't appear at all for XML output.
|
||
|
||
Cached pages must now call page_tail(true) rather than page_tail().
|
||
This function, not end_cache(), prints the "generated on" text.
|
||
|
||
- split some stuff out from util.inc into new .inc files
|
||
|
||
html/
|
||
inc/
|
||
cache.inc
|
||
email.inc (new)
|
||
image.inc (new)
|
||
team.inc
|
||
util.inc
|
||
user/
|
||
account_created.php
|
||
confirm_email_change.php
|
||
create_account_action.php
|
||
edit_email_action.php
|
||
edit_form_preferences_action.php
|
||
hosts_user.php
|
||
login_action.php
|
||
mail_passwd.php
|
||
sample_index.php
|
||
sample_status.php
|
||
show_user.php
|
||
team_display.php
|
||
team_email_lsit.php
|
||
top_*.php
|
||
|
||
David 18 Nov 2004
|
||
- UNIX app graphics: only call glutInit() once (avoid error msg)
|
||
- UNIX: if app exits with external signal, restart it
|
||
- check_suspend_activities(), check_suspend_network():
|
||
don't do anything more than once every 5 seconds
|
||
- call do_something() every 0.1 second,
|
||
to improve response time to GUI RPCs
|
||
|
||
api/
|
||
x_opengl.C
|
||
client/
|
||
app_control.C
|
||
app_graphics.C
|
||
client_state.C,h
|
||
cs_prefs.C
|
||
main.C
|
||
|
||
Bruce 19 Nov 2004 UTC
|
||
- Clean fix automake/autoconf to build graphical core client.
|
||
David, I don't have a Mac OSX box handy to test this on.
|
||
I followed your hints in Makefile.old.
|
||
If you need to modify the Mac build flags,
|
||
it is trivial, just search for ${host} in configure.ac and you'll see.
|
||
- Removed obsolete aclocal.m4 file from CVS:
|
||
it is build by the ./_autosetup script
|
||
- Added some more files to .cvsignore
|
||
|
||
.cvsignore
|
||
aclocal.m4
|
||
configure.ac
|
||
clientgui/
|
||
Makefile.am
|
||
|
||
Rom 19 Nov 2004
|
||
- Cleanup several warnings in the clientgui when all warnings are turned on in gcc.
|
||
- Added a /s parameter to the clientgui which will hide the main window on startup
|
||
for those OS's that support a system tray in there GUI.
|
||
- Added a new GUI RPC called <quit> which requests BOINC to quit nicely.
|
||
|
||
client/
|
||
gui_rpc_server.C
|
||
clientgui/
|
||
BOINCBaseView.cpp
|
||
BOINCGUIApp.cpp, .h
|
||
BOINCListCtrl.cpp, .h
|
||
BOINCTaskCtrl.cpp, .h
|
||
MainDocument.cpp
|
||
MainFrame.cpp
|
||
ViewMessages.cpp
|
||
ViewProjects.cpp
|
||
ViewResources.cpp
|
||
ViewTransfers.cpp
|
||
ViewWork.cpp
|
||
lib/
|
||
gui_rpc_client.C
|
||
|
||
Bruce 19 Nov 2004 UTC
|
||
|
||
- Added nice macro (wxWidgets.m4) to CVS for detection of wxWidgets.
|
||
Now switch off clientgui build (with nice warning) if wxWidgets is
|
||
not found. (thanks Reinhard Prix)
|
||
- Use outcome of pthread tests and corresponding flags to set pthreads
|
||
CFLAGS correctly.
|
||
- New user database email-lowercasing script more efficient, handles case
|
||
where user.id is not contiguous.
|
||
|
||
configure.ac
|
||
Makefile.am
|
||
m4/
|
||
wxWidgets.m4
|
||
html/ops/
|
||
make_emails_lowercase.php
|
||
|
||
Bruce 20 Nov 2004 UTC
|
||
|
||
- Added static volatile const char *BOINCrcsid="$Id:..."; string to
|
||
the top of all .C files. This means that 'string' or 'ident'
|
||
run on an executable will tell you the exact file versions used
|
||
in building it, since CVS replaces $Id:... with a complete version ID
|
||
string. Declaration is volatile so that the compiler won't remove
|
||
it even under agressive optimizations.
|
||
|
||
- Fixed initialization bug where calling boinc_init_graphics()
|
||
would not initialize options correctly, creating
|
||
lockfile/finished havoc in graphics APP. Thanks Reinhard!
|
||
David, please bless this.
|
||
|
||
ALL files of form *.C affected.
|
||
api/
|
||
boinc_api.C
|
||
|
||
Rom 20 Nov 2004
|
||
- Added VM size detection for NT platforms to the BOINC API set.
|
||
- Changed the STARTUPINFO structure in the CC CreateProcess call to hide
|
||
the console window created for the science applications.
|
||
|
||
api/
|
||
boinc_api.C
|
||
client/
|
||
app_start.C
|
||
|
||
David 20 Nov 2004
|
||
- web fix
|
||
|
||
html/user/edit_email_form.php
|
||
|
||
Rom 20 Nov 2004
|
||
- Bug Fix: Undue the change made this morning relating to the STARTUPINFO structure,
|
||
specifying the startup parameters causes the first call to ShowWindow to be
|
||
ignored, which means we would have to make a second call. This however, isn't
|
||
the bug E@H ran into.
|
||
- Bug Fix: With older clients that didn't specify the window station and desktop in
|
||
the share memory buffer, we ended up calling both OpenWindowStation and OpenDesktop
|
||
with their lpszWindowStation and lpszDesktop parameters being an empty string, which
|
||
is an undefined behavior. Apparently Windows returns a valid handle instead of NULL
|
||
and sends the application into another window station and desktop.
|
||
|
||
api/
|
||
windows_opengl.C
|
||
client/
|
||
app_start.C
|
||
|
||
David 20 Nov 2004
|
||
- Fix check_suspend_activity() logic when benchmarks running
|
||
- Old Win GUI: restore "Show Graphics" code
|
||
|
||
client/
|
||
client_state.C,h
|
||
cs_prefs.C
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
|
||
David 21 Nov 2004
|
||
- Change team-related PHP code so that it recomputes
|
||
"nusers" by doing a select count(*) when a user
|
||
quits or joins a team.
|
||
Also cleaned up skanky PHP code.
|
||
|
||
html/
|
||
inc/
|
||
team.inc
|
||
util.inc
|
||
user/
|
||
team*.php
|
||
|
||
Rom 21 Nov 2004
|
||
- Bug Fix: I think this fixes the "Could not find item xxx in list view"
|
||
error messages for all tabs.
|
||
After detecting a disconnected state,
|
||
resrt the cache to and cache from variables
|
||
since the listview control does not reissue a cache request
|
||
when all the items have been deleted.
|
||
|
||
clientgui/
|
||
BOINCBaseView.cpp
|
||
|
||
David 22 Nov 2004
|
||
- print error msg if app_info.xml has unparsed text
|
||
- support notion of "batch" in work creation
|
||
- shorten messages in BOINC manager
|
||
|
||
api/
|
||
boinc_api.C
|
||
boinc_gl.h
|
||
client/
|
||
cs_statefile.C
|
||
clientgui/
|
||
BOINCTaskBar.cpp
|
||
MainDocument.cpp
|
||
MainFrame.cpp
|
||
Makefile.old
|
||
ValidateAccountKey.cpp
|
||
ValidateURL.cpp
|
||
ViewMessages.cpp
|
||
ViewProjects.cpp
|
||
ViewTransfers.cpp
|
||
ViewWork.cpp
|
||
db/
|
||
boinc_db.h
|
||
tools/
|
||
backend_lib.C
|
||
create_work.C
|
||
|
||
Karl 2004-11-22
|
||
- changed parsing for <non_cpu_intensive> to accept <non_cpu_intensive/>
|
||
or <non_cpu_intensive>1</non_cpu_intensive>
|
||
|
||
client/
|
||
scheduler_op.C
|
||
|
||
Rom 22 Nov 2004
|
||
- Fix a warning with the scheduler_op file
|
||
- Bug Fix: Context menu should now work on Win9x machines
|
||
- Bug Fix: Tooltip should now work of Win9x machines
|
||
- Bug Fix: BOINC Manager should now startup when the core client is not detected
|
||
- Bug Fix: Service setup has been temporarily disabled
|
||
|
||
client/
|
||
scheduler_op.C
|
||
clientgui/
|
||
BOINCGUIApp.cpp, .h
|
||
BOINCTaskBar.cpp, .h
|
||
MainDocument.cpp, .h
|
||
stdwx.h
|
||
clientgui/msw/
|
||
taskbarex.cpp, .h
|
||
lib/
|
||
gui_rpc_client.C, .h
|
||
win_build/installerv2/
|
||
BOINC.ism
|
||
|
||
Bruce 23 Nov 2004 UTC
|
||
- Build boinc zip compression library as part of normal
|
||
./configure && make process
|
||
- make install now installs libboinc_zip.a and boinc_zip.h
|
||
as part of normal make install
|
||
- Unix boinc client and boinc gui had the same name,
|
||
eg boinc_4.56_i686-pc-linux-gnu
|
||
I have changed this so that it is now
|
||
boinc_client_4.56_i686-pc-linux-gnu and
|
||
boinc_gui_4.56_i686-pc-linux-gnu.
|
||
If the change from boinc_ to boinc_client_ causes any pain,
|
||
please just modify CLIENT_BIN_FILENAME in configure.ac
|
||
- Removed -O3 as required compilation flag in building client gui.
|
||
Only needed for client (to optimize benchmarking routines).
|
||
- Removed un-necessary zip/configure.ac and zip/Makefile and zip/config.h
|
||
and config.h.in
|
||
- Added .cvsignore file for zip/ directory.
|
||
- Modified api/boinc_gl.h to use config.h to get correct include path
|
||
for glut.h
|
||
- Added double-inclusion protection for config.h
|
||
to avoid some warning messages
|
||
- Run autoheader BEFORE automake and autoconf in _autosetup
|
||
- Removed huge number of extraneous Makefile.in's
|
||
- Changed production of config.h from AM_ to AC_ macro
|
||
|
||
_autosetup
|
||
configure.ac
|
||
Makefile.am
|
||
config.h
|
||
config.h.in (removed)
|
||
clientgui/
|
||
Makefile.am
|
||
zip/
|
||
Makefile.am
|
||
configure.ac (removed)
|
||
Makefile (removed)
|
||
.cvsignore (added)
|
||
config.h (shouldn't be here anyway)
|
||
config.h.in (shouldn't be here anyway)
|
||
api/
|
||
boinc_gl.h
|
||
|
||
Rom 23 Nov 2004
|
||
- Bug Fix: Fix a crashing condition for both the screensaver and core client on
|
||
Win9x machines due to the Window Station and Desktop code.
|
||
- Bug Fix: Setup the core client to redirect stderr and stdout even though it is
|
||
running as a console. It's useful to do this in the case of where the core
|
||
client is launched from the boincmgr and so stderr and stdout cannot be
|
||
redirected.
|
||
|
||
client/
|
||
main.C
|
||
client/win/
|
||
win_screensaver.cpp
|
||
clientgui/
|
||
BOINCGUIApp.cpp
|
||
|
||
Rom 23 Nov 2004 (boinc)
|
||
- Tag for 4.56 release, all platforms
|
||
boinc_core_release_4_56
|
||
|
||
David 23 Nov 2004
|
||
- boinc_init_graphics_options() can be called with a NULL
|
||
worker_main argument.
|
||
This can be used by a separate graphics app.
|
||
|
||
api/
|
||
graphics_api.C
|
||
client/
|
||
net_stats.C
|
||
|
||
David 23 Nov 2004
|
||
- Remove the dependencies of a project on a source or build tree.
|
||
This involves:
|
||
- Don't copy boinc_path_config.py to project/bin
|
||
- Copy a bunch of files from source/py/Boinc to project/bin:
|
||
add_util.py, boinc_db.py, boinc_project_path.py, etc. etc.
|
||
- put keys in home/projects/PROJECT/keys, not in home/keys
|
||
- socket.gethostname() seems to return the full domain name on Linux.
|
||
Strip off the domain part for log_HOST etc.
|
||
- On project creation, symlink bin/stop and status to start,
|
||
rather than copying the file
|
||
|
||
py/Boinc/
|
||
database.py
|
||
setup_project.py
|
||
tools.py
|
||
sched/
|
||
start
|
||
tools/
|
||
make_project
|
||
|
||
Bruce 24 Nov 2004 UTC
|
||
- Added const char RCSID string to all *.c files,
|
||
so that 'ident' and 'strings' can identify file version numbers.
|
||
|
||
David 24 Nov 2004
|
||
- Fix the "upgrade" script.
|
||
You now run it in the source directory, not the project dir.
|
||
It now takes the project name (and optional root path) as arg
|
||
- Don't run "start" at the conclusion of upgrade
|
||
- make_project: don't copy upgrade to project/bin
|
||
- feeder: if restart enum in the middle of a scan,
|
||
return and sleep; don't keep trying 100 times
|
||
- feeder: make enum limit a #define
|
||
(should be a cmdline arg too)
|
||
|
||
py/Boinc/
|
||
setup_project.py
|
||
sched/
|
||
feeder.C
|
||
tools/
|
||
upgrade
|
||
|
||
David 24 Nov 2004
|
||
- don't run benchmarks if activities suspended (from Ian Hay)
|
||
- avoid buffer overrun in GUI RPC server
|
||
|
||
client/
|
||
cs_benchmark.C
|
||
gui_rpc_server.C
|
||
|
||
David 24 Nov 2004
|
||
- bug fix in graphics API (from Reinhard)
|
||
"first" should be init to true
|
||
|
||
api/
|
||
x_opengl.C
|
||
|
||
Karl 2004-11-25
|
||
- For add_util, when cross_project_id is default or 0, generate a random
|
||
UUID.
|
||
|
||
Py/Boinc/
|
||
tools.py (added make_uuid)
|
||
add_util.py
|
||
|
||
Bruce and Reinhard 2004-11-26
|
||
|
||
- Fixed autoconf/automake build process so that it works correctly
|
||
under Mac OSX. Also make dist now works (make distcheck still
|
||
broken). Karl, since you were the last
|
||
person to fix up this mess, how about taking a look??
|
||
- Added placeholders in sched/ for user: assimilator_placeholder.C
|
||
and validator_placeholder.C.
|
||
These are built by the build system, but can be replaced by user
|
||
code as desired.
|
||
|
||
Makefile.am
|
||
configure.ac
|
||
api/
|
||
Makefile.am
|
||
client/
|
||
Makefile.am
|
||
clientgui/
|
||
Makefile.am
|
||
db/
|
||
Makefile.am
|
||
m4/
|
||
Makefile.am
|
||
acx_pthread.m4
|
||
ax_check_gl.m4
|
||
ax_check_glu.m4
|
||
ax_check_glut.m4
|
||
ax_lang_compiler_ms.m4
|
||
kc_mysql.m4
|
||
sah_header_stdcxx.m4
|
||
test/
|
||
Makefile.am
|
||
zip/
|
||
Makefile.am
|
||
zip/unzip/
|
||
Makefile.am
|
||
zip/zip/
|
||
Makefile.am
|
||
test/
|
||
boinc_db.inc [removed: this file is autogenerated]
|
||
|
||
Bruce 2004-11-27
|
||
|
||
- Added a -dont_update_db command-line option to assimilator.C
|
||
which prevents it from updating the database, and so is useful
|
||
for testing.
|
||
|
||
sched/
|
||
assimilator.C
|
||
|
||
Karl 2004-11-27
|
||
- Fixed db_base.py to work with Python-MySQLdb 1.x
|
||
|
||
py/Boinc/
|
||
db_base.py
|
||
|
||
Bruce 2004-11-28
|
||
- Sanity check args to parse_str(doc, tag, ...) and return false
|
||
if !doc, !tag, or !strlen(tag)
|
||
lib/
|
||
parse.C
|
||
|
||
Bruce 2004-11-29
|
||
- Added command-line options -preserve_wu_files and -preserve_result_files
|
||
to the file deleter. This are useful to implement <no_delete/>
|
||
for all input or output files respectively.
|
||
- Documented <no_delete/> file tag.
|
||
- file_deleter logs strerror(errno) if unable to remove a result file.
|
||
- Admin database ops page: show all three file delete states, add additional
|
||
sort options to results page, better internal bug checking on state lists,
|
||
move result summary to top of WU detail page, show WU delay bound in
|
||
human-readable form, show cross_project_ID in user table.
|
||
sched/
|
||
file_deleter.C
|
||
doc/
|
||
files.php
|
||
html/inc
|
||
db_ops.inc
|
||
util.inc
|
||
|
||
David 29 Nov 2004
|
||
- scheduler: use safe_strncpy instead of strncpy for copying
|
||
stderr_out and xml_doc_out.
|
||
|
||
client/
|
||
test_http.C
|
||
test_net_xfer.C
|
||
doc/
|
||
various
|
||
sched/
|
||
assimilator.C
|
||
handle_request.C
|
||
|
||
Jeff 29 Nov 2004
|
||
- Log the number of WUs assimlated at the end of each WU enumeration.
|
||
|
||
sched/
|
||
assimilator.C
|
||
|
||
Jeff 29 Nov 2004
|
||
- Added back the "-noinsert" option, which had somehow disappeared.
|
||
|
||
sched/
|
||
assimilator.C
|
||
|
||
Bruce 30 Nov 2004
|
||
- Fixed errors in db_purge. If -max argument >= 1000, then it didn't
|
||
work because purged_workunits was reset to zero in do_pass(). Also,
|
||
max_number_workunits_to_purge was un-initialized if no -max argument
|
||
was given. David, please double-check these changes.
|
||
- Show all possible validate states on ops result summary page
|
||
html/inc
|
||
db_ops.inc
|
||
sched/
|
||
db_purge.C
|
||
|
||
David 30 Nov 2004
|
||
- fixed a bug in DB_VALIDATOR_ITEM_SET::update_result(): the lines
|
||
"server_state=%d, outcome=%d, opaque=%lf"
|
||
"where id=%d",
|
||
produce a bad SQL query (e.g. opaque=0.0000where id=4)
|
||
- fixed a bug in the transitioner:
|
||
TRANSITIONER_ITEM::enumerate() and query()
|
||
weren't reading "need_validate".
|
||
In some (rare) cases this would cause the flag
|
||
to get incorrectly cleared by the transitioner
|
||
|
||
NOTES:
|
||
- ALL VALIDATORS SHOULD BE RECOMPILED
|
||
- RECOMPILE THE TRANSITIONER
|
||
|
||
db/
|
||
boinc_db.C
|
||
client/
|
||
cs_account.C
|
||
main.C
|
||
|
||
David 30 Nov 2004
|
||
- Fixed a major bug in the whole damn system (thanks to Rattledagger)
|
||
If we have target_results successful results for a WU,
|
||
and there's no consensus, we need more results!!
|
||
There was no mechanism to produce them.
|
||
Fix: in the validator, if we call check_set() and there's
|
||
no consensus, and #success results == target_nresults,
|
||
increment target_nresults
|
||
|
||
Also had to add code to VALIDATOR_ITEM::enumerate() and parse()
|
||
to get target_nresults from the DB
|
||
|
||
db/
|
||
boinc_db.C
|
||
sched/
|
||
validator.C
|
||
|
||
David 1 Dec 2004
|
||
- Use exclusively UNIX time (1970-origin) on Windows.
|
||
Previously we were using times in both this format
|
||
and in Windows 1601-based format.
|
||
This is a bug waiting to happen (in fact, it had already happened).
|
||
- convert a few remaining absolute times from int to double
|
||
- Add a function validate_time().
|
||
This sees if its arg is in Windows format
|
||
(greater than now + 1000 days)
|
||
and if so converts it to UNIX format.
|
||
- Call validate_time() after parsing all absolute times
|
||
- in old GUI, show %done of file uploads correctly
|
||
|
||
NOTE: the time-checking code can be removed in the next major version
|
||
|
||
client/
|
||
client_types.C,h
|
||
pers_file_xfer.C,h
|
||
win/
|
||
wingui_mainwindow.cpp
|
||
lib/
|
||
util.C,h
|
||
|
||
David 1 Dec 2004
|
||
- UOTD screening: only show active users
|
||
- fix log grep pages
|
||
|
||
html/
|
||
ops/
|
||
profile_ops.php
|
||
show_log.php
|
||
user/
|
||
html.php
|
||
sched/
|
||
validator.C
|
||
|
||
Bruce 2 Dec 2004
|
||
- For unreturned results, show reporting deadline on user page.
|
||
- Add additional state possibilities.
|
||
- Explain validate error state.
|
||
|
||
html/
|
||
inc/
|
||
resuls.inc
|
||
user/
|
||
explain_state.php
|
||
|
||
Rom 2 Dec 2004
|
||
- Bug Fix: Each view now contains a display cache; the display cache
|
||
is synchronized during the regularly scheduled list render event.
|
||
The control grabs the necessary information from the cache instead
|
||
of cycling down to the document. Due to the way listviews were
|
||
implemented on some platforms I believe this will fix some refresh
|
||
problems where the data wasn<73>t being updated in a timely manor.
|
||
This also had the added benefit of increasing performance on displaying
|
||
updates.
|
||
- Fill in the missing piece for the memory leak detection to proplerly
|
||
display the file and line number information per allocation for the
|
||
GUI on Windows
|
||
- Rename the CC and GUI on all platforms to match that of Windows.
|
||
|
||
/
|
||
configure.ac
|
||
clientgui/
|
||
BOINCBaseView.cpp, .h
|
||
BOINCGUIApp.cpp
|
||
MainFrame.cpp, .h
|
||
stdwx.h
|
||
ViewMessages.cpp, .h
|
||
ViewProjects.cpp, .h
|
||
ViewResources.cpp, .h
|
||
ViewTransfers.cpp, .h
|
||
ViewWork.cpp, .h
|
||
clientgui/msw/
|
||
taskbarex.h
|
||
|
||
Bruce 2 Dec 2004
|
||
- Added emacs mode statement to the top of this file to eliminate tabs
|
||
in favor of spaces!
|
||
- Fixed boinc_zip.h so that it works correctly under both C++ and
|
||
C under both Unix and Win32.
|
||
- Modified admin ops pages so that workunit displays transition time,
|
||
and target_nresults. Results pages displays deadline not received time
|
||
for results that are still in progress or were never received.
|
||
- Fixed glut detection bug in configure script
|
||
- Made php script function correctly under both php4 and php5.
|
||
|
||
checkin-notes
|
||
configure.ac
|
||
zip/
|
||
boinc_zip.h
|
||
html/
|
||
inc/
|
||
db_ops.inc
|
||
util_ops.inc
|
||
|
||
Rom 2 Dec 2004
|
||
- Add in the rcsid tag to all the boincmgr source files and the screensaver
|
||
for windows.
|
||
- Bug Fix: Fix a messages bug where the client would not attempt to
|
||
get the latest message state after a connection failure until a new
|
||
message was logged.
|
||
- Cleanup some of the statusbar update code, wxWidgets already had a function
|
||
to do that work.
|
||
- Bug Fix: Fix the socks proxy enable button, it was referencing the HTTP proxy
|
||
control instead of the socks proxy control. ( I thought I had fixed this
|
||
awhile ago )
|
||
|
||
client/win/
|
||
win_screensaver.cpp
|
||
clientgui/
|
||
BOINCBaseView.cpp
|
||
BOINCGUIApp.cpp
|
||
BOINCListCtrl.cpp
|
||
BOINCTaskCtrl.cpp
|
||
DlgAbout.cpp
|
||
DlgAttachProject.cpp
|
||
DlgConnection.cpp
|
||
DlgOptions.cpp
|
||
MainDocument.cpp
|
||
MainFrame.cpp
|
||
stdwx.cpp
|
||
ValidateAccountKey.cpp
|
||
ValidateURL.cpp
|
||
ViewMessages.cpp
|
||
ViewProjects.cpp
|
||
ViewResources.cpp
|
||
ViewTransfers.cpp
|
||
ViewWork.cpp
|
||
clientgui/msw/
|
||
taskbarex.cpp
|
||
lib/
|
||
stackwalker_win.cpp
|
||
|
||
David 2 Dec 2004
|
||
- added script for fixing the problem where some workunits
|
||
have target_nresults successful results and no consensus.
|
||
The script finds WUs in this state and sets their need_validate flag;
|
||
the validator (MAKE SURE YOU'VE RECOMPILED WITH CURRENT SOURCE)
|
||
will increment target_nresults and trigger the transitioner,
|
||
which will create a new result.
|
||
|
||
|
||
html/ops/
|
||
repair_validator_problem.php
|
||
|
||
Bruce 2 Dec 2004
|
||
- Added logging of remaining result.outcome==OVER states to logging
|
||
output of transitioner.
|
||
- Fixed nasty bug in ops pages where top two WU error mask bits were
|
||
not being shown in WU summary/detail pages.
|
||
- Display some useful Unix times on db query page (helpful in formulating
|
||
queries.
|
||
|
||
sched/
|
||
transitioner.C
|
||
html/
|
||
inc/
|
||
db_ops.inc
|
||
ops/
|
||
db_form.inc
|
||
|
||
Rom 2 Dec 2004
|
||
- Bug Fix: On certain versions of Windows it might be necessary for the
|
||
screensaver to force the foreground window depending on the state in
|
||
which the screensaver was launched. This is the slightly less
|
||
aggressive way to do this. Ideally the active process is the screensaver
|
||
and so therefore can promote another process into the foreground.
|
||
|
||
client/win/
|
||
win_screensaver.cpp
|
||
lib/
|
||
gui_rpc_client.h
|
||
|
||
Rom 2 Dec 2004
|
||
- Fix a setup issue where the screensaver and manager files were not being
|
||
removed on uninstall.
|
||
|
||
win_build/installerv2/
|
||
BOINC.ism
|
||
|
||
Bruce 3 Dec 2004
|
||
- Fixed a nasty bug in the scheduler. Under a number of possible
|
||
error conditions, handle_request.C would read only some fields of
|
||
and existing request into memory, and then write more of those fields,
|
||
some of which were null, back into memory. This had the effect of nulling
|
||
out outcome, client_state, exit_status, cpu_time, xml_doc_out, stderr_out,
|
||
validate_state, claimed_credit and client_version. The point is that
|
||
DB_SCHED_RESULT_ITEM_SET::enumerate() followed by
|
||
DB_SCHED_RESULT_ITEM_SET::update_result
|
||
did not preserve an 'existing result'. It wiped out the fields above.
|
||
|
||
db/
|
||
boinc_db.C
|
||
|
||
Rom 3 Dec 2004
|
||
- Add back in trace statements to boincmgr's main frame, so we can begin to
|
||
track down the Mac OS X problem.
|
||
- Change the screensaver so that it only checks for BOINC's configuration
|
||
once.
|
||
|
||
client/win/
|
||
win_screensaver.cpp, .h
|
||
clientgui/
|
||
MainFrame.cpp
|
||
|
||
Bruce 3 Dec 2004
|
||
|
||
- Enabled automatic emailing of CVS diffs to the boinc_cvs email
|
||
list. This is done by adding a 'syncmail' script in the CVSROOT/
|
||
directory and adding an extra line at the end of CVSROOT/loginfo.
|
||
|
||
Rom 3 Dec 2004
|
||
- Change which wxLogTrace prototype we are using in MainFrame.cpp and
|
||
enable that trace mask in BOINCGUIApp.cpp
|
||
|
||
clientgui/
|
||
BOINCGUIApp.cpp
|
||
MainFrame.cpp
|