mirror of https://github.com/BOINC/boinc.git
5264 lines
140 KiB
Plaintext
Executable File
5264 lines
140 KiB
Plaintext
Executable File
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,
|
|
and from there to the servers of other project.
|
|
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
|
|
|
|
|