mirror of https://github.com/BOINC/boinc.git
14423 lines
391 KiB
Plaintext
Executable File
14423 lines
391 KiB
Plaintext
Executable File
;; -*- tab-width: 4 -*-
|
|
David A. April 10 2002
|
|
Initial checkin of all files.
|
|
The system is fairly feature-complete and
|
|
runs a number of test cases correctly.
|
|
Currently runs only on Linux.
|
|
|
|
David A. April 11 2002
|
|
- Got things to compile on Solaris.
|
|
- Pass in platform name, version number from Makefile
|
|
(platform name comes from configure)
|
|
|
|
David A. May 15 2002
|
|
- Allow applications to have multiple files
|
|
(e.g. scripts, libraries, pre- and post-processing programs).
|
|
The app_version table now has an xml_doc field,
|
|
which contains a list of <file_info> and <file_ref> elements.
|
|
Note: the utility for adding applications (tools/add.C)
|
|
still handles only single-file applications.
|
|
- Changed IO_FILE_DESC to FILE_REF since it now represents
|
|
an association of a file to workunit, result or application
|
|
|
|
client
|
|
app.C
|
|
client_state.C,h
|
|
cs_apps.C
|
|
cs_scheduler.C
|
|
main.C
|
|
message.h (new)
|
|
parse.C,h
|
|
scheduler_reply.C,h
|
|
types.C,h
|
|
Makefile.in
|
|
db
|
|
db.h
|
|
db_mysql.C
|
|
schema.sql
|
|
doc
|
|
app.html (new)
|
|
files.html
|
|
index.html
|
|
intro.html
|
|
project.gif
|
|
project.html
|
|
project.png
|
|
protocol.html
|
|
result.html (new)
|
|
work.html
|
|
html_user
|
|
db.inc
|
|
sched
|
|
handle_request.C
|
|
server_types.C,h
|
|
test
|
|
test_uc.php
|
|
init.inc
|
|
tools
|
|
add.C
|
|
|
|
David A. May 23 2002
|
|
- Change the scheduling server to reduce database accesses.
|
|
There's now a shared-memory segment that contains
|
|
1) the platform, app, and app_version tables in their entirety;
|
|
2) a fixed-size set of results ready to be sent,
|
|
and their corresponding workunit.
|
|
This segment is initialized and maintained by a new program
|
|
called the "feeder" (sched/feeder.C) that should run
|
|
whenever the scheduling server is up.
|
|
Note: the scheduler still needs to be converted to fast CGI
|
|
- Added handy interfaces for dealing with shared memory and semaphores.
|
|
- Changed to utilities and scripts used for testing so that all
|
|
server-specific names (paths and URLs) come from environment
|
|
variables instead of being hardwired in the code.
|
|
You'll want to add these to your .tcshrc or whatever.
|
|
See the doc/install.html for details.
|
|
|
|
Files:
|
|
TODO
|
|
apps/
|
|
Makefile.in
|
|
client/
|
|
app.C
|
|
db/
|
|
db.h
|
|
doc/
|
|
index.html
|
|
install.html
|
|
intro.html
|
|
tools.html (removed)
|
|
tools_other.html
|
|
tools_work.html
|
|
work.html
|
|
lib/
|
|
Makefile.in
|
|
md5_file.C
|
|
shmem.C,h (new)
|
|
shmem_test.C (new)
|
|
synch.C,h (new)
|
|
synch_test.C (new)
|
|
sched/
|
|
feeder.C (new)
|
|
Makefile.in
|
|
handle_request.C,h
|
|
main.C
|
|
sched_shmem.C,h (new)
|
|
server_types.C,h
|
|
test/
|
|
account.xml (deleted)
|
|
account1.xml
|
|
init.inc
|
|
test_uc.php
|
|
tools/
|
|
add.C
|
|
create_work.C
|
|
|
|
Hiram C. Fri May 24 23:34:59 PDT 2002
|
|
files db/dependencies and client/config.status and client/config.log
|
|
removed. These are build time files and should not belong
|
|
in the source tree. They confuse subsequent builds.
|
|
files updated: configure configure.in api/Makefile.in
|
|
apps/Makefile.in client/Makefile.in db/Makefile.in
|
|
db/mysql.h lib/Makefile.in sched/Makefile.in
|
|
tools/Makefile.in
|
|
|
|
These Makefile.in changes will allow the build to be performed
|
|
outside the source tree. This is convenient for several
|
|
reasons. The number one reason is that this allows the source
|
|
tree to remain untouched by the build and therefore clean.
|
|
This will prevent garbage build files from being checked in
|
|
during a 'cvs commit'
|
|
|
|
To run a build outside the source tree, simply make an object
|
|
directory anywhere else that you would like to work, then just
|
|
execute the configure script in the top-level boinc directory.
|
|
$ mkdir boincobj
|
|
$ cd boincobj
|
|
$ <... path to source tree ...>/boinc/configure
|
|
$ make > make.out 2>&1 &
|
|
|
|
Note the examples in apps/Makefile.in and sched/Makefile.in
|
|
of how to use the top_srcdir variable to locate include files
|
|
in the source tree outside of the current directory. Local
|
|
references to other object files and libraries produced by
|
|
the build remain as local .. references.
|
|
|
|
The change to configure.in, (and thus configure) and db/mysql.h
|
|
allow a proper identification of where the mysql .h files live.
|
|
The SSL location of /usr/local/mysql/include is a bit non-standard.
|
|
Most systems will have these in /usr/local/include/mysql
|
|
|
|
Hiram C. Sat May 25 09:20:25 PDT 2002
|
|
Continue updating:
|
|
Makefile.in config.guess configure configure.in api/Makefile.in
|
|
apps/Makefile.in client/Makefile.in client/config.guess
|
|
client/configure client/configure.in sched/Makefile.in
|
|
tools/Makefile.in
|
|
|
|
I have almost clean builds now on Solaris, Mac OS X,
|
|
and UnixWare. There appears to be a missing sched_shmem.h
|
|
file from the source tree.
|
|
|
|
There is still cruft in this configure system. I will continue
|
|
to work on it to clean it up.
|
|
|
|
David A. May 29, 2002
|
|
- Mostly implemented support for editing preferences,
|
|
including project-specific preferences.
|
|
Simplified the preferences scheme.
|
|
Abandoned the idea of multiple preference sets per user;
|
|
each user now has a single set of preferences.
|
|
Got rid of the "prefs" database table;
|
|
prefs are now just an XML and mod_time field in the user table.
|
|
Haven't tested much yet.
|
|
|
|
NOTE: these new features use the XML parsing features of PHP.
|
|
This means that, on the BOINC web server,
|
|
you must configure PHP with the --with-xml option,
|
|
and you must make and install Apache.
|
|
Also, you probably need to use a recent version of PHP;
|
|
XML parsing was broken in PHP 4.0.4, but it works in 4.2.1.
|
|
|
|
client/
|
|
Makefile.in
|
|
speed_stats.C (fixed code formatting a bit; doesn't compile on linux)
|
|
db/
|
|
Makefile.in
|
|
db.h
|
|
db_mysql.C
|
|
schema.sql
|
|
doc/
|
|
prefs.html
|
|
html_user/
|
|
db.inc
|
|
prefs.inc
|
|
prefs.php
|
|
prefs_action.php (removed)
|
|
prefs_add_project_action.php (new)
|
|
prefs_add_project_form.php (new)
|
|
prefs_delete_project.php (new)
|
|
prefs_delete_project_confirm.php (new)
|
|
prefs_edit.php (removed)
|
|
prefs_edit_disk_action.php (new)
|
|
prefs_edit_disk_form.php (new)
|
|
prefs_edit_project_action.php (new)
|
|
prefs_edit_project_form.php (new)
|
|
prefs_edit_projects.php (new)
|
|
prefs_edit_work_action.php (new)
|
|
prefs_edit_work_form.php (new)
|
|
test.php (removed)
|
|
sched/
|
|
handle_request.C
|
|
server_types.C,h
|
|
test/
|
|
init.inc
|
|
test_1sec.php
|
|
test_concat.php
|
|
test_dynamic.php
|
|
test_prefs.php
|
|
test_projects.php
|
|
test_stderr.php
|
|
test_uc.php
|
|
test_uc_slow.php
|
|
tools/
|
|
add.C
|
|
|
|
David A. May 29, 2002
|
|
- forgot to add a couple of files
|
|
sched/
|
|
feeder.C
|
|
sched_shmem.C,h
|
|
|
|
Hiram C. Thu May 30 01:28:47 PDT 2002
|
|
updating: client/configure client/configure.in
|
|
client/net_xfer.C sched/Makefile.in sched/feeder.C
|
|
|
|
This now builds just fine on Solaris, Linux and OpenUnix8.
|
|
And only two tiny errors remain for a Mac OS X build.
|
|
That being the specification of g++ in the sched/Makefile
|
|
and statvfs() is not available on the Mac for
|
|
the client/hostinfo_unix.C compile. Need a substitute for
|
|
that function on the Mac.
|
|
|
|
Eric H. May 30, 2002
|
|
Added safeguard to avoid removing root directory when
|
|
BOINC_DOWNLOAD_DIR and BOINC_UPLOAD_ DIR environment
|
|
variables aren't declared.
|
|
test/
|
|
init.inc
|
|
|
|
David A. June 1, 2002
|
|
- Ensure that preferences propagate from the server
|
|
where they are updated to all hosts,
|
|
Eliminated concept of "home project".
|
|
Not tested yet.
|
|
Also to do: replace the "accounts.xml" file with
|
|
a file containing preferences.
|
|
- Changed the way the client handles preferences.
|
|
It now saves saves the exact XML it gets from the server,
|
|
regardless of whether it can parse it all.
|
|
- Fixed client parsing code to reflect new names for preferences
|
|
- Changed the way the scheduling server handles prefs in
|
|
a client/server interaction.
|
|
If it gets newer prefs, it updates its own DB.
|
|
If its DB has newer prefs, it sends them to client.
|
|
- Fixed the test scripts so that they start/stop the feeder also.
|
|
This required adding a "ready" flag to the shared-mem structure
|
|
so that the scheduling server can find out if the feeder hasn't
|
|
finished initializing the structure.
|
|
Also required adding a "-synch" cmdline option to feeder.
|
|
- added utility program (sched/show_shmem.C) for looking at
|
|
scheduler shared memory
|
|
- renamed "types.*" to "client_types.*" to avoid name conflict
|
|
with system include files
|
|
|
|
/Makefile (removed - this is derived from Makefile.in)
|
|
client/
|
|
Makefile.in
|
|
accounts.C,h
|
|
app.C
|
|
client_state.C,h
|
|
client_types.C,h (new)
|
|
cs_files.C
|
|
cs_scheduler.C
|
|
file_names.h
|
|
file_xfer.h
|
|
hostinfo_unix.C
|
|
net_xfer.C
|
|
prefs.C,h
|
|
scheduler_reply.C,h
|
|
speed_stats.C
|
|
types.C,h (removed)
|
|
db/
|
|
constraints.sql
|
|
doc/
|
|
protocol.html
|
|
html_user
|
|
prefs.inc
|
|
sched/
|
|
feeder.C
|
|
handle_request.C
|
|
main.C
|
|
sched_shmem.h
|
|
server_types.C,h
|
|
show_shmem.C (new)
|
|
ss_reply_file (removed)
|
|
ss_req_file (removed)
|
|
test/
|
|
account1.xml
|
|
init.inc
|
|
sched_reply.xml (removed)
|
|
sched_request.xml (removed)
|
|
test_uc.php
|
|
tools/
|
|
add.C
|
|
|
|
Eric Heien June 03, 2002
|
|
- Consolidated XML parsing functions into lib
|
|
- Fixed compile bug on Solaris in shmem.C
|
|
|
|
client/
|
|
parse.C (moved to lib)
|
|
parse.h (moved to lib)
|
|
Makefile.in
|
|
lib/
|
|
parse.C (moved from client)
|
|
parse.h (moved from client)
|
|
shmem.C
|
|
sched/
|
|
parse.C (removed, uses lib version now)
|
|
parse.h (removed, uses lib version now)
|
|
Makefile.in
|
|
|
|
Michael Gary June 04, 2002
|
|
- Added server side water level functionality, now sends as many work units
|
|
as necessary to fill the time requested.
|
|
|
|
sched/
|
|
handle_request.C
|
|
|
|
Eric Heien June 06, 2002
|
|
- Changes and additions made to begin porting to Windows.
|
|
- This code will compile on Windows, but is not quite fully functional.
|
|
|
|
client/
|
|
hostinfo_unix.C
|
|
hostinfo_win.C (added)
|
|
http.C
|
|
main.C
|
|
net_xfer.C
|
|
prefs.C
|
|
speed_stats.C
|
|
test_file_xfer.C
|
|
test_http.C
|
|
test_net_xfer.C
|
|
util.C
|
|
util.h
|
|
windows_cpp.h (added)
|
|
win_main.C (added)
|
|
lib/
|
|
md5.c
|
|
parse.C
|
|
|
|
Michael Gary June 06, 2002
|
|
- Added client side water level functionality.
|
|
- Added rsc_fpops and rsc_iops to the client WORKUNIT struct, bun not yet
|
|
functional since not initialized.
|
|
- Test scripts to check water level functionality, including minima and
|
|
maxima. Test scripts are based on test_prefs.php.
|
|
|
|
client/
|
|
client_state.h
|
|
cs_scheduler.C
|
|
client_types.h
|
|
test/
|
|
max_water_prefs.xml (new)
|
|
min_water_prefs.xml (new)
|
|
normal_water_prefs.xml (new)
|
|
test_max_water_prefs.php (new)
|
|
test_min_water_prefs.php (new)
|
|
test_normal_water_prefs.php (new)
|
|
|
|
Michael Gary June 07, 2002
|
|
- Converted scheduling server to allow for Fast CGI. Fast CGI will only be
|
|
used if Makefile.in is replaced by Makefile.fcgi.in. Makefile.nofcgi.in
|
|
is a copy of the current Makefile.in.
|
|
|
|
sched/
|
|
feeder.C
|
|
handle_request.C
|
|
main.C
|
|
sched_shmem.C
|
|
main.C
|
|
sched_shmem.C
|
|
server_types.C
|
|
show_shmem.C
|
|
Makefile.nofcgi.in (new)
|
|
Makefile.fcgi.in (new)
|
|
lib/
|
|
parse.C
|
|
|
|
Eric Heien June 07, 2002
|
|
- Added initial functionality for passing graphics preferences between core and app
|
|
|
|
client/
|
|
Makefile.in
|
|
app.C
|
|
lib/
|
|
gfx_interface.C
|
|
gfx_interface.h
|
|
|
|
Michael Gary June 08, 2002
|
|
- Moved fast cgi Makefile.in to boinc/sched_fcgi
|
|
- make now makes fcgi in boinc/sched_fcgi
|
|
- Added links to existing code where necessary for making fast cgi
|
|
scheduling server.
|
|
|
|
configure
|
|
Makefile.in
|
|
sched/
|
|
Makefile.nofcgi.in (removed)
|
|
Makefile.fcgi.in (removed)
|
|
Makefile.in
|
|
parse.C (added)
|
|
parse.h (added)
|
|
sched_fcgi/ (added)
|
|
Makefile.in (added)
|
|
feeder.C (added)
|
|
handle_request.C (added)
|
|
handle_request.h (added)
|
|
main.C (added)
|
|
parse.C (added)
|
|
parse.h (added)
|
|
sched_shmem.C (added)
|
|
sched_shmem.h (added)
|
|
server_types.C (added)
|
|
server_types.h (added)
|
|
show_shmem.C (added)
|
|
|
|
David A June 9 2002
|
|
- added support for multiple URLs in a FILE_INFO
|
|
(e.g. multiple servers from which the file can be downloaded)
|
|
- started work on "persistent file transfer": a layer on top of
|
|
FILE_XFER that manages restarting from failed connections,
|
|
and that implements a give-up policy
|
|
- added offset arguments to GET and PUT HTTP operations.
|
|
NOTE: this will work fine for downloading files (GET)
|
|
but we'll have to use something else for upload,
|
|
since the standard PUT handler doesn't do offsets,
|
|
and we need security functionality in any case.
|
|
- added preliminary version of application API for
|
|
communicating with core client.
|
|
- use <file_ref> tags instead of <input_file> and <output_file>
|
|
(makes things simpler)
|
|
|
|
TODO
|
|
notes
|
|
api/
|
|
api.C,h
|
|
client/
|
|
configure.in
|
|
client_state.C
|
|
client_types.C,h
|
|
cs_files.C
|
|
error_numbers.h
|
|
file_xfer.h
|
|
http.C,h
|
|
pers_file_xfer.C,h
|
|
test_http.C
|
|
html_ops/
|
|
db.php
|
|
html_user/
|
|
db.inc
|
|
test/
|
|
1sec_result
|
|
account2.xml
|
|
*_result
|
|
*_wu
|
|
init.inc
|
|
laptop_prefs.xml
|
|
test_*.php
|
|
tools/
|
|
add.C
|
|
|
|
David A June 13 2002
|
|
- added the RSAEuro library to the project,
|
|
and some interface routines for it.
|
|
|
|
RSAEuro/ (new)
|
|
source/*
|
|
demo/*
|
|
lib/
|
|
crypt.C,h (new)
|
|
crypt_prog.C
|
|
Makefile.in
|
|
sched/
|
|
file_upload_handler.C
|
|
|
|
Eric H June 19, 2002
|
|
- Removed redundant files
|
|
|
|
sched/
|
|
parse.C (removed)
|
|
parse.h (removed)
|
|
|
|
Eric H June 20, 2002
|
|
- added soft link support via XML tags
|
|
- fixed Windows ASCII/binary bug
|
|
- Added Windows networking support
|
|
- Fixed some bad indenting
|
|
|
|
api/
|
|
api.C
|
|
api.h
|
|
lib/
|
|
md5_file.C
|
|
client/
|
|
client_state.C
|
|
cs_scheduler.C
|
|
net_xfer.C
|
|
win_net.cpp (added)
|
|
win_net.h (added)
|
|
win_main.C (changed to win_main.cpp)
|
|
win_main.cpp (changed from win_main.C)
|
|
windows_cpp.h
|
|
|
|
David A June 20 2002
|
|
- Replaced the "accounts.xml" file with the user preferences ("prefs.xml").
|
|
All non-host-specific project info is stored in this file;
|
|
all host-specific project info is in client_state.xml.
|
|
The PROJECT class is a union of the two.
|
|
The logic for dealing with inconsistencies between
|
|
prefs.xml and client_state.xml, and with updating in-memory
|
|
and on-disk project lists in response to an update from a server,
|
|
are a little tricky and are described in the code.
|
|
- The prefs file can be overwritten by <preferences> in a scheduling
|
|
server reply. To prevent buggy servers from zeroing out
|
|
users' project lists, the client makes sure there's at least
|
|
one project, and backs up the old prefs.xml into a timestamped file.
|
|
- The command-line client, if prefs.xml is absent,
|
|
prompts the user for a project URL and authenticator,
|
|
and creates an initial prefs.xml.
|
|
- Each project now has a "master URL", with is its home page
|
|
and also contains <scheduler> elements giving the URLs of
|
|
its scheduling servers.
|
|
- Added a class SCHEDULER_OP which encapsulates fetching and
|
|
parsing a project's master page (if necessary),
|
|
then making an RPC to one of its scheduling servers.
|
|
TODO: add retry and failure logic.
|
|
- A project can have more than one scheduling server.
|
|
TODO: use all of them.
|
|
- Project directories are stored in URL-encoded form.
|
|
This allows project master URLs to have slashes, which is a necessity.
|
|
|
|
client/
|
|
Makefile.in
|
|
accounts.C,h (deleted)
|
|
app.C,h
|
|
client_state.C,h
|
|
client_types.C,h
|
|
cs_apps.C
|
|
cs_scheduler.C
|
|
file_names.C,h
|
|
main.C
|
|
prefs.C,h
|
|
scheduler_op.C,h (new)
|
|
scheduler_reply.C,h (deleted)
|
|
doc/
|
|
project.html
|
|
lib/
|
|
parse.C,h
|
|
sched/
|
|
server_types.C
|
|
test/
|
|
account1.xml, account2.xml (deleted)
|
|
init.inc
|
|
prefs1.xml, prefs2.xml (new)
|
|
test_*.php
|
|
|
|
David A June 21 2002
|
|
- top-level Makefile now compiles RSAEuro/,
|
|
and doesn't refer to sched_fcgi
|
|
- Added <scheduler> element to html_user/index.html,
|
|
making it the "master file" for test project.
|
|
This file must be placed in the directory referred to by
|
|
http://localhost/
|
|
|
|
Makefile.in
|
|
html_user/
|
|
index.html
|
|
|
|
Michael Gary June 21 2002
|
|
- added install to the make system to put executables
|
|
in /usr/local/boinc
|
|
- simplified make system for fast cgi scheduling server
|
|
- completed implementation of high/low water system and
|
|
testing of host.
|
|
- checkpoints and timekeeping now implemented in api
|
|
- timekeeping through api done in client state
|
|
|
|
Makefile.in
|
|
configure
|
|
api/
|
|
Makefile.in
|
|
api.C
|
|
api.h
|
|
api_test.C
|
|
apps/
|
|
Makefile.in
|
|
client/
|
|
Makefile.in
|
|
client_state.C
|
|
client_state.h
|
|
client_types.C
|
|
client_types.h
|
|
cs_scheduler.C
|
|
hostinfo.C
|
|
hostinfo.h
|
|
app.h
|
|
app.C
|
|
db/
|
|
db.h
|
|
lib/
|
|
Makefile.in
|
|
sched/
|
|
Makefile.in
|
|
feeder.C
|
|
handle_request.C
|
|
main.C
|
|
parse.C (removed)
|
|
parse.h (removed)
|
|
sched_shmem.C
|
|
server_types.C
|
|
show_shmem.C
|
|
test/
|
|
log_flags.php
|
|
sched_fcgi/ (removed)
|
|
|
|
Micahel Gary 6/23/2002
|
|
- Checkpoint timer initialized in boinc_init.
|
|
- Test script added for api.
|
|
|
|
api/
|
|
api.C
|
|
test_api.C
|
|
test/
|
|
init.inc
|
|
test_api.php (new)
|
|
ta_correct_atc (new)
|
|
ta_correct_f (new)
|
|
core_to_app.xml.in (new)
|
|
|
|
Michael Gary 6/25/2002
|
|
- Maggie is now the master url for boinc.
|
|
|
|
test/
|
|
prefs1.html
|
|
doc/
|
|
test.html
|
|
|
|
Michael Gary 6/27/2002
|
|
- Fixed a bug in add_work and added water level testing to test_uc.php
|
|
|
|
test/
|
|
test_uc.php
|
|
tools/
|
|
add_work.C
|
|
|
|
Michael Gary 6/28/2002
|
|
- Added an explicit test for water level
|
|
- Added a -no_time_test argument to the boinc client to stop the time tests
|
|
from running.
|
|
|
|
client/
|
|
main.C
|
|
client_state.h
|
|
client_state.C
|
|
test/
|
|
test_water.php (new)
|
|
|
|
Eric Heien 7/01/2002
|
|
- Added S@H test scripts, added other testing functionality.
|
|
- Added random WU generation.
|
|
- Added concat_slow application.
|
|
- Altered functionality of API checkpoint_completed.
|
|
|
|
api/
|
|
api.C
|
|
api.h
|
|
api_test.C
|
|
apps/
|
|
concat_slow.C (added)
|
|
Makefile.in
|
|
uc_slow.C
|
|
upper_case.C
|
|
test/
|
|
sah_result (added)
|
|
sah_wu (added)
|
|
sah_test.php (added)
|
|
init.inc
|
|
test_uc_slow.php
|
|
tools/
|
|
create_work.C
|
|
|
|
Michael Gary 7/01/2002
|
|
- Fixed fast cgi scheduling server
|
|
- If low water mark is higher than high water mark, water marks are
|
|
switched
|
|
- Updated documentation
|
|
|
|
doc/
|
|
flow.html
|
|
protocol.html
|
|
client/
|
|
client_state.C
|
|
cs_scheduler.C
|
|
sched/
|
|
main.C
|
|
test/
|
|
prefs1.xml
|
|
|
|
Michael Gary 7/03/2002
|
|
- api test is now more thorough, tests time accounting and restarting
|
|
- added app_completed function to api
|
|
- api_test.C was moved to api_app.C
|
|
- removed #ifdef solaris and #ifdef unix from all files
|
|
|
|
api/
|
|
Makefile.in
|
|
api.C
|
|
api.h
|
|
api_test.C
|
|
api_app.C (new)
|
|
test/
|
|
init.inc
|
|
ta_correct_f
|
|
test_api.php
|
|
client/
|
|
app.C
|
|
hostinfo_unix.C
|
|
configure
|
|
configure.in
|
|
filesys.C
|
|
doc/
|
|
api.html
|
|
configure
|
|
configure.in
|
|
|
|
David Anderson July 4, 2002
|
|
- Added support for upload authentication.
|
|
This prevents bad guys from filling up data servers with trash.
|
|
In this scheme, each <file_info> element sent from
|
|
server to client includes a <max_nbytes> field limiting
|
|
the size of the file, and includes a digital signature
|
|
based on the project's "upload authentication" key pair.
|
|
File uploads, instead of being done by PUT, are now done by POST
|
|
to a CGI program, "file_upload_handler".
|
|
The request header includes the signed <file_info>,
|
|
and the CGI program verifies the signature and enforces the size limit.
|
|
|
|
The affected pieces of code:
|
|
- Added a function create_keys() in PHP test scripts
|
|
to create encryption keys. Call it from all script.
|
|
- Added environment var BOINC_KEY_DIR saying where keys are kept.
|
|
- The client must maintain an exact copy of each <file_info> XML,
|
|
and of the signature, so that it can send to upload server.
|
|
- Added a new variant of HTTP operation, HTTP_OP_POST2.
|
|
The existing variants all use single files for request and reply.
|
|
The new variant (used for file upload) has a request
|
|
consisting of a memory block followed by (part of) a file;
|
|
the reply is in memory.
|
|
This avoid copying possibly huge upload files.
|
|
- FILE_XFER objects now take a FILE_INFO as initialization argument;
|
|
needed to convey authentication info.
|
|
The upload variant creates and sends the authentication header.
|
|
- Result templates now include a <max_nbytes> in each
|
|
<file_info> element, and the URLs refer to the
|
|
file_upload_handler (with no filename)
|
|
- process_result_template() works differently, since it must
|
|
generate a digital signature at the end of each <file_info>
|
|
- create_work expects the name of a private key file.
|
|
- Added crypt/md5 functions to sign/verify in memory,
|
|
encode/decode ASCII data in memory, checksum in memory
|
|
- Change "gmake" to "make" in top-level makefile.
|
|
(alias make to gmake if this is a problem)
|
|
|
|
boinc/
|
|
Makefile.in
|
|
TODO
|
|
RSAEuro/source/
|
|
rsaeuro.h
|
|
client/
|
|
Makefile.in
|
|
client_state.C
|
|
client_types.C,h
|
|
cs_files.C
|
|
file_names.C
|
|
file_xfer.C,h
|
|
http.C,h
|
|
main.C
|
|
scheduler_op.C
|
|
test_file_xfer.C
|
|
db/
|
|
mysql_util.C
|
|
doc/
|
|
index.html
|
|
intro.html
|
|
master_url.html (new)
|
|
project_startup.html (new)
|
|
tools_security.html (new)
|
|
html_user/
|
|
index.html
|
|
lib/
|
|
Makefile.in
|
|
crypt.C,h
|
|
crypt_prog.C
|
|
md5_file.C,h
|
|
parse.C,h
|
|
sched/
|
|
Makefile.in
|
|
file_upload_handler.C
|
|
server_types.C
|
|
test/
|
|
1sec_result
|
|
concat_result
|
|
init.inc
|
|
master.html (new)
|
|
sah_result
|
|
test_1sec.php
|
|
test_concat.php
|
|
test_dynamic.php
|
|
test_max_water_prefs.php
|
|
test_min_water_prefs.php
|
|
test_normal_water_prefs.php
|
|
test_prefs.php
|
|
test_projects.php
|
|
test_stderr.php
|
|
test_uc.php
|
|
test_uc_slow.php
|
|
uc_result
|
|
ucs_result
|
|
tools/
|
|
Makefile.in
|
|
add.C
|
|
backend_lib.C,h
|
|
create_work.C
|
|
process_result_template.C
|
|
|
|
David July 4, 2002
|
|
- fixed compile problems on linux.
|
|
use kill() instead of sigsend()
|
|
|
|
client/app.C
|
|
sched/file_upload_handler.C
|
|
|
|
Michael Gary July 5, 2002
|
|
- fixed fast cgi crypto
|
|
use fgets and sscanf instead of fscanf, which
|
|
is not implemented in fcgi_stdio.h
|
|
|
|
sched/Makefile.in
|
|
lib/crypt.C
|
|
|
|
David A. July 7, 2002
|
|
- Added code signing. All files associated with an app version
|
|
(i.e. all executable files) must now be signed
|
|
with the project's "code sign key". The components include:
|
|
- PROJECT has new field "code_sign_key", keep track of project's
|
|
public code-signing key.
|
|
Send this on each scheduler RPC.
|
|
- The scheduling server stores the public code-signing key in memory.
|
|
Send it to any client who doesn't have it.
|
|
If the client has an old key,
|
|
send them the new key signed with the old key.
|
|
NOTE: this uses a scheme in which signatures are kept
|
|
in files on the server, to avoid keeping private keys
|
|
in online machines. This should be documented.
|
|
- The utility to add new app versions (add.C) adds a signature
|
|
to the FILE_INFO element.
|
|
NOTE: eventually the signing should be done offline.
|
|
- FILE_INFO has a new boolean field "signature_required";
|
|
set for all files associated with an app version
|
|
- FILE_INFO has a new char* field "file_signature",
|
|
which is the digital signature.
|
|
Renamed upload authenticator from "signature" to "xml_signature"
|
|
to avoid confusion.
|
|
- Add function verify_downloaded_file(), called after every download;
|
|
does MD5 or signature checking as needed.
|
|
- Added some new functions for signature checking etc.
|
|
- the client is now linked with the crypt library
|
|
- Server-side errors should always include the name of the
|
|
CGI program generating the error (scheduler or file upload handler)
|
|
|
|
client/
|
|
Makefile.in
|
|
client_state.C
|
|
client_types.C,h
|
|
cs_files.C
|
|
cs_scheduler.C
|
|
file_xfer.C
|
|
scheduler_op.C,h
|
|
test_file_xfer.C
|
|
doc/
|
|
index.html
|
|
project_startup.html (new)
|
|
security.html
|
|
lib/
|
|
crypt.C,h
|
|
parse.C,h
|
|
sched/
|
|
file_upload_handler.C
|
|
handle_request.C,h
|
|
main.C
|
|
server_types.C,h
|
|
test/
|
|
init.inc
|
|
prefs1.xml
|
|
test_uc.php
|
|
tools/
|
|
add.C
|
|
process_result_template.C
|
|
|
|
David A. July 8, 2002
|
|
- fix compile errors
|
|
- fix bugs in FCGI version of scan_hex_data stuff
|
|
|
|
client/
|
|
client_types.C
|
|
lib/
|
|
crypt.C
|
|
crypt_prog.C
|
|
sched/
|
|
file_upload_handler.C
|
|
tools/
|
|
Makefile.in
|
|
add.C
|
|
process_result_template.C
|
|
|
|
Michael Gary July 10, 2002
|
|
- Added asserts to the server side
|
|
- Added error checks on function parameters
|
|
- Made the api update result with time information at
|
|
checkpoints and when an application exits
|
|
- Removed unused tests
|
|
- Fixed bug in crypto sscan
|
|
- Moved client/error_numbers.h to lib/error_numbers.h
|
|
|
|
api/
|
|
Makefile.in
|
|
api.C
|
|
app.C
|
|
client/
|
|
app.h
|
|
client_state.C
|
|
client_types.C
|
|
cs_apps.C
|
|
cs_files.C
|
|
cs_scheduler.C
|
|
file_names.C
|
|
file_xfer.C
|
|
filesys.C
|
|
hostinfo.C
|
|
hostinfo_unix.C
|
|
http.C
|
|
log_flags.C
|
|
main.C
|
|
net_stats.C
|
|
scheduler_op.C
|
|
speed_stats.C
|
|
time_stats.C
|
|
util.C
|
|
error_numbers.h (removed)
|
|
db/
|
|
db_mysql.C
|
|
mysql_util.C
|
|
lib/
|
|
crypt.C
|
|
md5_file.C
|
|
parse.C
|
|
shmem.C
|
|
error_numbers.h (added)
|
|
sched/
|
|
Makefile.in
|
|
feeder.C
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
main.C
|
|
sched_shmem.C
|
|
sched_shmem.h
|
|
server_types.C
|
|
test/
|
|
max_water_prefs.xml (removed)
|
|
min_water_prefs.xml (removed)
|
|
normal_water_prefs.xml (removed)
|
|
test_max_water_prefs.php (removed)
|
|
test_min_water_prefs.php (removed)
|
|
test_normal_water_prefs.php (removed)
|
|
tools/
|
|
add.C
|
|
backend_lib.C
|
|
process_result_template.C
|
|
|
|
Barry Luong July 11, 2002
|
|
- added changes to allow for multiple servers on one machine
|
|
- database names are from environment variables
|
|
- download and upload directories are from environment variables
|
|
- download and upload url's are from environment variables
|
|
- boinc_key (for shared memory) is from environment variables
|
|
- new directory tree:
|
|
|
|
~barry/
|
|
/ \
|
|
/ \
|
|
/ \
|
|
boinc_cvs/ boinc_server/
|
|
/ / / \ \
|
|
/ / / \ \
|
|
/ / / \ \
|
|
boinc/ cgi/ keys/ upload/ download/
|
|
/ \ \
|
|
/ \ \
|
|
/ \ \
|
|
client/ sched/ ...
|
|
|
|
- sched cgi, fcgi, file_upload_handler are copied into
|
|
~barry/boinc_server/cgi/
|
|
- in httpd.conf set up cgi permissions for appropriate files and
|
|
directories
|
|
- must define new environment variables:
|
|
BOINC_DOWNLOAD_DIR ~/barry/boinc_server/download
|
|
BOINC_UPLOAD_DIR ~/barry/boinc_server/upload
|
|
BOINC_DB_NAME boinc_barry
|
|
BOINC_UPLOAD_URL http://localhost/barry/boinc_server/cgi/fileupload_handler
|
|
BOINC_DOWNLOAD_URL http://localhost/barry/boinc_server/cgi/download
|
|
BOINC_KEY 0xdabacafe
|
|
BOINC_USER barry
|
|
BOINC_PUBLIC_KEY_PATH ~/barry/boinc_server/keys/upload_public
|
|
BOINC_KEY_DIR ~barry/boinc_server/keys
|
|
|
|
db/
|
|
init_db
|
|
drop.sql
|
|
schema.sql
|
|
constraints.sql
|
|
|
|
sched/
|
|
main.C
|
|
feeder.C
|
|
Makefile.in
|
|
file_upload_handler.C
|
|
sched_shmem.h
|
|
|
|
tools/
|
|
backend_lib.C
|
|
process_result_template.C
|
|
add.C
|
|
create_work.C
|
|
|
|
html_user/
|
|
db.inc
|
|
|
|
Barry Luong July 12, 2002
|
|
- Changed error messages in main.C so user names are printed out also
|
|
- took out a debugging variable I accidentally left in feeder.C
|
|
- removed an assert in file_upload_handler.C
|
|
- changed so BOINC_UPLOAD_DIR and BOINC_KEY_DIR are defined at compile time
|
|
|
|
sched/
|
|
main.C
|
|
Makefile.in
|
|
feeder.C
|
|
file_upload_handler.C
|
|
|
|
Michael Gary July 12, 2002
|
|
- Added a test to make sure the scheduling server does not send unfeasible
|
|
work units
|
|
- Removed some debug output
|
|
|
|
lib/
|
|
shmem.C
|
|
sched/
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
test/
|
|
prefs3.xml
|
|
test_rsc.php
|
|
|
|
David A July 14 2002
|
|
- Added reasonable policies for making scheduler RPCs. Summary:
|
|
- results now have a "report deadline".
|
|
This may be useful for various purposes; for now,
|
|
we use it to trigger scheduler RPCs to report results
|
|
- The client now tries all a project's scheduler URLs in turn.
|
|
- Projects have a "min_rpc_time", the earliest time to
|
|
attempt another RPC (replaces next_request_time)
|
|
- We maintain an RPC failure count for each project.
|
|
If RPCs to all its URLs fail, we increment the count
|
|
and set its min_rpc_time according to an exponential backoff
|
|
- If a project is getting repeated RPC failures,
|
|
reread and parse its master URL file every so often,
|
|
in case the set of scheduler URLs has changed
|
|
- When the client has a completed result past its deadline,
|
|
it attempts to report it to that project.
|
|
- When the client's estimated work falls below low water,
|
|
it ranks projects according to their "resource deficit",
|
|
then attempts RPCs to project in that order
|
|
until the estimated work is above high water.
|
|
NOTE: only the simplest case has been tested.
|
|
We need to write test scripts for many other cases.
|
|
NOTE: currently a result's report deadline is now+1000.
|
|
We need to add a mechanism for setting it.
|
|
- The CLIENT_STATE is now kept in a global variable instead of
|
|
a local var of main().
|
|
This is because SCHEDULER_OP needs to get at it.
|
|
|
|
client/
|
|
client_state.C,h
|
|
client_types.C,h
|
|
cs_scheduler.C
|
|
main.C
|
|
scheduler_op.C,h
|
|
db/
|
|
db.h
|
|
db_mysql.h
|
|
schema.sql
|
|
doc/
|
|
file_xfer_policy.html (new)
|
|
index.html
|
|
result.html
|
|
rpc_policy.html (new)
|
|
html_user/
|
|
db.inc
|
|
tools/
|
|
backend_lib.C
|
|
create_work.C
|
|
|
|
David A July 15, 2002
|
|
- added env var BOINC_MASTER_URL.
|
|
Each / in the master URL must be preceded by four \s
|
|
e.g. setenv BOINC_MASTER_URL http:\\\\/\\\\/localhost\\\\/index.html
|
|
- team name must be non-null to be unique
|
|
- TODO (Barry): make the master page per-project;
|
|
make database access from PHP/Web per-project
|
|
db/
|
|
schema.sql
|
|
html_user/
|
|
db.inc
|
|
test/
|
|
init.inc
|
|
master.html
|
|
prefs1.xml
|
|
tools/
|
|
Makefile.in
|
|
|
|
Michael Gary July 15, 2002
|
|
- Fixed compile bug
|
|
- Updated documentation
|
|
- Fixed test script bug
|
|
- Added comments to some .h files
|
|
- Fixed timing bug
|
|
doc/
|
|
api.html
|
|
client_debug.html
|
|
flow.html
|
|
index.html
|
|
protocol.html
|
|
sched_debug.html
|
|
sched_policy.html
|
|
test.html
|
|
tools/
|
|
Makefile.in
|
|
test/
|
|
test_uc.php
|
|
test_rsc.php
|
|
init.inc
|
|
client/
|
|
client_types.h
|
|
hostinfo.h
|
|
api/
|
|
api.C
|
|
api.h
|
|
|
|
Michael Gary July 16, 2002
|
|
-Fixed test script bug
|
|
test/
|
|
concat_result
|
|
test_concat.php
|
|
|
|
Eric Heien July 17, 2002
|
|
- Removed assembly optimized routines from RSAEuro, since we
|
|
want to be platform independent and RSAEuro isn't a highly speed
|
|
critical piece of code. This had the side benefit of making the
|
|
RSAEuro Makefile operate cleanly with make.
|
|
- Fixed compiler warnings in RSAEuro demo programs. Do we really
|
|
need to keep these demo programs around?
|
|
- Turned off the "secure" versions of memcpy, memset and memcmp.
|
|
If needed, we can turn them back on.
|
|
RSAEuro/
|
|
source/
|
|
makefile (moved to Makefile)
|
|
Makefile (renamed from makefile)
|
|
des386.s (removed)
|
|
rsa386.s (removed)
|
|
rsa68k.s (removed)
|
|
rsasparc.s (removed)
|
|
demo/
|
|
mdemo.c
|
|
randemo.c
|
|
redemo.c
|
|
|
|
Michael Gary 7/17/2002
|
|
- Fixed more test scripts
|
|
- Added a comprehensive test
|
|
- Added make tar_client to toplevel makefile
|
|
- Added installation notes for the server and the client
|
|
Makefile.in
|
|
INSTALL (added)
|
|
INSTALL_CLIENT (added)
|
|
test/
|
|
test_1sec.php
|
|
test_dynamic.php
|
|
test_prefs.php
|
|
test_projects.php
|
|
test_stderr.php
|
|
test_uc_slow.php
|
|
test_suite.php (added)
|
|
|
|
|
|
Michael Gary 7/18/2002
|
|
- Configure now checks to make sure that apache, mysql, and php are
|
|
installed. If they are not installed, it prints out a warning and
|
|
continues configuration
|
|
- Added uninstall target, made Makefiles more compliant with GNU standards
|
|
INSTALL
|
|
INSTALL_CLIENT
|
|
aclocal.m4 (added)
|
|
configure
|
|
configure.in
|
|
Makefile.in
|
|
sched/
|
|
Makefile.in
|
|
lib/
|
|
Makefile.in
|
|
api/
|
|
Makefile.in
|
|
client/
|
|
Makefile.in
|
|
|
|
Eric Heien 7/18/2002
|
|
- Fixed RSAEuro makefile so that it doesn't require gcc. This was
|
|
causing problems when porting.
|
|
|
|
RSAEuro/source/
|
|
Makefile (removed)
|
|
Makefile.in (added)
|
|
configure
|
|
configure.in
|
|
|
|
Michael Gary 7/23/2002
|
|
- Added a test for sticky files. Required updating escape_url to support
|
|
RRC1738 (-_. no longer escaped out).
|
|
client/
|
|
file_names.C
|
|
test/
|
|
test_sticky.php (added)
|
|
uc_wu_sticky (added)
|
|
uc_result_sticky (added)
|
|
|
|
Michael Gary 7/24/2002
|
|
- Added a test for the time reporting system.
|
|
test/
|
|
test_time.php (added)
|
|
init.inc
|
|
apps/
|
|
uc_slow.C
|
|
uc_cpu.C (added)
|
|
Makefile.in
|
|
|
|
David July 28 2002
|
|
- Changed the "add" utility so that, when adding an app version,
|
|
you can give it the signature files (computed offline, presumably)
|
|
- Changed the "add" utility so that an app version can consist
|
|
of multiple files
|
|
- Removed the notion of alpha/beta/production versions of an app.
|
|
The same effect can be achieved by making separate projects
|
|
for alpha and beta testing.
|
|
- Apps now have a "minimum version number" on the server side -
|
|
Don't send a WU unless there's an app version of that number or greater.
|
|
Send the latest available version for the platform.
|
|
- Clarified app version semantics:
|
|
- Workunits don't have a version# on the server
|
|
- When a client gets a workunit, it associates it with
|
|
the most recent version of the application that it knows about
|
|
(possibly one it received in the same reply message).
|
|
It continues to use this version for this WU,
|
|
even if it receives a later version while the WU is in progress.
|
|
- On the client, no version #s are associated with apps
|
|
|
|
PROGRAMMERS NOTE:
|
|
- Removed checking of args in client_state.C
|
|
This gunks up the code too much. Let's do checking at higher level.
|
|
- Comments should be in the imperative mood.
|
|
"Write the state file", not "Writes the state file"
|
|
- Comments should not be vague, e.g.
|
|
// See if the application (name) associated with project p is
|
|
// around here
|
|
... what does "around here" mean?
|
|
- Leave a space between "if" and "("
|
|
- When asserting that a pointer is non-NULL, just say "assert(p)".
|
|
Saying "assert(p!=NULL)" is like saying if (flag==true)
|
|
- Linux doesn't have -lsocket and -lnsl.
|
|
Don't put them in Makefile.in.
|
|
|
|
TODO
|
|
client/
|
|
client_state.C,h
|
|
client_types.C,h
|
|
cs_scheduler.C
|
|
main.C
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
schema.sql
|
|
doc/
|
|
app.html
|
|
index.html
|
|
intro.html
|
|
project.html
|
|
tools_other.html
|
|
html_user/
|
|
db.inc
|
|
sched/
|
|
handle_request.C
|
|
sched_shmem.C
|
|
server_types.C
|
|
test/
|
|
init.inc
|
|
master.html
|
|
tools/
|
|
Makefile.in
|
|
add.C
|
|
backend_lib.C
|
|
|
|
|
|
Eric Heien July 29 2002
|
|
- Added code to determine the amount of disk space being
|
|
used by BOINC, by recursively descending through the
|
|
root directory. Still needs to be ported to Windows.
|
|
|
|
client/
|
|
filesys.C
|
|
filesys.h
|
|
|
|
David A. July 30 2002
|
|
- Revised API doc
|
|
- made some API implementation functions static
|
|
(this breaks the test program, need to discuss)
|
|
- removed CPU spin from uc_slow (why?)
|
|
|
|
api/
|
|
api.C,h
|
|
apps/
|
|
uc_slow.C
|
|
doc/
|
|
api.html
|
|
graphics.html
|
|
index.html
|
|
|
|
David A. July 30, 2002
|
|
- Revised API and graphics docs
|
|
- removed error checks from parse.C
|
|
|
|
doc/
|
|
api.html
|
|
graphics.html
|
|
index.html
|
|
lib/
|
|
parse.C
|
|
|
|
Eric Heien August 2, 2002
|
|
- Implemented HTTP 301 and 302 redirect commands.
|
|
- These still need to be fully tested.
|
|
|
|
TODO
|
|
client/
|
|
http.C
|
|
http.h
|
|
net_xfer.C
|
|
net_xfer.h
|
|
|
|
David A. August 4 2002
|
|
Various changes to API:
|
|
- Added user, team names, credit info to APP_INIT_DATA
|
|
- separate call for getting init data
|
|
- separate call for returning fraction done
|
|
- separated out fraction_done_update_period
|
|
- moved graphics API to separate file
|
|
- moved MFILE implementation to separate file
|
|
- API timer is now 0.1 sec; use counters for various uses
|
|
(checkpoint, fraction done, graphics)
|
|
- changed name of API files to boinc_api.C,h
|
|
|
|
- clarify distinction between
|
|
"current CPU time"
|
|
"CPU time at last checkpoint"
|
|
"CPU time at start of current run"
|
|
These are all kept in ACTIVE_TASK.
|
|
RESULT now only has "final CPU time".
|
|
|
|
- fixed bug in dir scanning (ahem...)
|
|
|
|
- Coding style notes:
|
|
- every fopen() MUST have a matching fclose() in same function
|
|
- every malloc() MUST have a matching free() in same function
|
|
- don't do a rewind() right after fopen()
|
|
- write function calls as
|
|
func(arg1, arg2);
|
|
NOTE: there's a space after every comma, everywhere
|
|
- write "if" statements as
|
|
if (condition) {
|
|
...
|
|
}
|
|
- no explicit argument checking. do this at higher level
|
|
- functions in foo.C should be declared (as extern) in foo.h,
|
|
AND NOWHERE ELSE.
|
|
|
|
api/
|
|
Makefile.in
|
|
api.C,h (removed)
|
|
boinc_api.C,h (new)
|
|
graphics_api.C,h (new)
|
|
mfile.C (new)
|
|
apps/
|
|
Makefile.in
|
|
*.C
|
|
client/
|
|
Makefile.in
|
|
app.C,h
|
|
client_state.C,h
|
|
client_types.C,h
|
|
cs_apps.C
|
|
cs_scheduler.C
|
|
file_names.C
|
|
filesys.C,h
|
|
doc/
|
|
api.html
|
|
|
|
|
|
Barry Luong August 6, 2002
|
|
|
|
- Added team pages in html_user/
|
|
- pages to display team page, join team, quit team, edit team, disband
|
|
team, and remove inactive members
|
|
- Added database access per project via the web
|
|
- a new file in html_user/ called db_name containing only the name of
|
|
that project's database
|
|
|
|
html_user/
|
|
db.inc
|
|
team.inc
|
|
team.php
|
|
team_create_action.php
|
|
team_create_form.php
|
|
team_disband_action.php
|
|
team_disband_form.php
|
|
team_display.php
|
|
team_edit_action.php
|
|
team_edit_form.php
|
|
team_join_action.php
|
|
team_join_form.php
|
|
team_lookup.php
|
|
team_quit_action.php
|
|
team_quit_form.php
|
|
team_remove_inactive_action.php
|
|
team_remove_inactive_form.php
|
|
|
|
|
|
Eric Heien August 7, 2002
|
|
- Added PERS_FILE_XFER (persistent file transfer)
|
|
functionality. This includes the notions of retrying
|
|
when unable to connect, exponential backoff, and giving
|
|
up after a period of time. Giving up is currently
|
|
not fully implemented. Includes initial work for
|
|
supporting upload/download resumption. All features
|
|
still need to be thoroughly tested.
|
|
- Added initial functionality to calculate allowable disk
|
|
usage.
|
|
|
|
client/
|
|
Makefile.in
|
|
client_state.C
|
|
client_state.h
|
|
client_types.C
|
|
client_types.h
|
|
cs_files.C
|
|
cs_scheduler.C
|
|
file_xfer.C
|
|
hostinfo_unix.C
|
|
http.C
|
|
http.h
|
|
pers_file_xfer.C
|
|
pers_file_xfer.h
|
|
scheduler_op.C
|
|
test_file_xfer.C
|
|
test_http.C
|
|
util.C
|
|
util.h
|
|
sched/
|
|
file_upload_handler.C
|
|
|
|
Eric Heien August 9, 2002
|
|
- Moved windows files to client/win directory, added win_build.zip
|
|
for building Windows GUI and CLI clients.
|
|
- Fixed compile bugs in graphics_api.C and graphics_api.h
|
|
- Updated TODO and INSTALL docs
|
|
- Added Mac init, event loop, and cleanup functionality in main.C
|
|
- Added user requestable quit to main loop for use in GUI interfaces.
|
|
- Fixed Windows specific compile bugs in filesys and pers_file_xfer.
|
|
|
|
TODO
|
|
INSTALL
|
|
INSTALL_CLIENT
|
|
win_build.zip
|
|
api/
|
|
boinc_api.C
|
|
graphics_api.C
|
|
graphics_api.h
|
|
client/
|
|
app.C
|
|
filesys.C
|
|
filesys.h
|
|
hostinfo_win.C (removed)
|
|
main.C
|
|
pers_file_xfer.C
|
|
util.C
|
|
util.h
|
|
win_main.cpp (removed)
|
|
win_net.cpp (removed)
|
|
win_net.h (removed)
|
|
windows_cpp.h (removed)
|
|
win/
|
|
hostinfo_win.cpp (added)
|
|
win_main.cpp (added)
|
|
win_net.cpp (added)
|
|
win_net.h (added)
|
|
windows_cpp.h (added)
|
|
|
|
David A. August 10 2002
|
|
- Changed Winmain() to get argc/argv correctly
|
|
- fixed bugs in CLIENT_STATE::allowed_disk_usage
|
|
NOTE: keep track of whether units are bytes or GB.
|
|
Not interchangeable!
|
|
NOTE: above bugs caused compiler warnings.
|
|
- Got rid of all compiler warnings in Windows
|
|
|
|
api/
|
|
boinc_api.h
|
|
client/
|
|
app.C
|
|
client_state.C
|
|
hostinfo_unix.C (??? should remove this from Windows project)
|
|
pers_file_xfer.C,h
|
|
client/win/
|
|
Resource.h (new)
|
|
win_main.cpp
|
|
wingui.cpp,h (new)
|
|
|
|
Barry August 12, 2002
|
|
- Changed front page to a php page so we can check for cookies
|
|
Added explanatory text to front page and to team pages
|
|
|
|
html_user/
|
|
index.php
|
|
|
|
Eric Heien August 12, 2002
|
|
- Added concept of result state. This replaces the old boolean
|
|
flags and represents what phase of the computation pipeline
|
|
each result is currently at (downloading, computing, uploading,
|
|
etc).
|
|
- Added file upload/download resumption. For downloads, this
|
|
involves checking how big the local file is, then asking
|
|
the server for the remainder of it. For uploads, this
|
|
involves asking the file_upload_handler how much of a certain
|
|
file it already has, then sending the remainder of it.
|
|
Both ul and dl resumption need to be thoroughly tested.
|
|
|
|
client/
|
|
client_state.C
|
|
client_state.h
|
|
client_types.C
|
|
client_types.h
|
|
cs_apps.C
|
|
cs_files.C
|
|
cs_scheduler.C
|
|
file_xfer.C
|
|
http.C
|
|
net_xfer.C
|
|
pers_file_xfer.C
|
|
scheduler_op.C
|
|
sched/
|
|
file_upload_handler.C
|
|
|
|
David August 12 2002
|
|
- Cleaned up initialization code:
|
|
main.C is now used ONLY for CLI versions
|
|
(remove this file from GUI projects)
|
|
Factored out initialization code that is common to
|
|
both GUI and CLI versions.
|
|
|
|
client/
|
|
client_state.C,h
|
|
log_flags.C,h
|
|
main.C
|
|
prefs.h
|
|
|
|
Eric Heien August 13, 2002
|
|
- Implemented correct handling of RSA or MD5 failures. The
|
|
result associated with the file will be flagged and the
|
|
failure will be passed back to the scheduling server.
|
|
|
|
client/
|
|
client_state.C
|
|
client_types.C
|
|
client_types.h
|
|
cs_files.C
|
|
pers_file_xfer.C
|
|
lib/
|
|
error_numbers.h
|
|
|
|
Eric Heien August 21, 2002
|
|
- Finished persistent file transfer implementation, including
|
|
file upload/download resumption, exponential backoff
|
|
|
|
client/
|
|
client_state.C
|
|
client_state.h
|
|
client_types.C
|
|
client_types.h
|
|
cs_files.C
|
|
file_xfer.C
|
|
file_xfer.h
|
|
http.h
|
|
main.C
|
|
pers_file_xfer.C
|
|
pers_file_xfer.h
|
|
mac/
|
|
mac_main.cpp
|
|
mac_main.h
|
|
lib/
|
|
error_numbers.h
|
|
|
|
David August 24, 2002
|
|
- fixed bugs in the Windows variant of app.C
|
|
Notes on Windows:
|
|
- Some places (e.g. current dir arg of CreateProcess())
|
|
require a full path
|
|
- Some places require \ instead of / in paths.
|
|
Added the constant PATH_SEPARATOR for this purpose.
|
|
- To redirect stdin/stdout, you need to use freopen();
|
|
it's not enough to dup2 the underlying descriptor
|
|
|
|
api/
|
|
boinc_api.C
|
|
apps/
|
|
upper_case.C
|
|
client/
|
|
app.C,h
|
|
file_names.C
|
|
filesys.C,h
|
|
lib/
|
|
error_numbers.h
|
|
|
|
David August 25, 2002
|
|
- Implemented project name (as shown in GUI).
|
|
It's stored in the DB (in a single-row "project" table)
|
|
and sent in scheduler RPC
|
|
- Changed env var BOINC_KEY to BOINC_SHMEM_KEY
|
|
(avoid confusion w/ encryption keys)
|
|
|
|
Makefile.in
|
|
client/
|
|
cs_scheduler.C
|
|
filesys.C
|
|
scheduler_op.C,h
|
|
win/
|
|
windows_cpp.h
|
|
wingui.cpp
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
schema.sql
|
|
sched/
|
|
Makefile.in
|
|
feeder.C
|
|
main.C
|
|
server_types.C
|
|
show_shmem.C
|
|
test/
|
|
init.inc
|
|
test_uc.php
|
|
test_uc_win.php
|
|
tools/
|
|
add.C
|
|
|
|
Eric August 26, 2002
|
|
- Finished multi-slot functionality. The client now requests an
|
|
open slot from the ACTIVE_TASK_SET which will be the slot
|
|
for the new process.
|
|
|
|
client/
|
|
app.C
|
|
app.h
|
|
cs_apps.C
|
|
|
|
David August 26, 2002
|
|
- adding missing clause to SCHEDULER_OP::poll(); was failing to
|
|
return state to IDLE, caused reply to get processed twice
|
|
- return user name, total credit, avg credit in scheduler RPC reply
|
|
- save/restore these in client state file
|
|
- client was trying to delete "checkpoint CPU file" in wrong directory
|
|
- change CLIENT_STATE field from "version" to "core_client_version"
|
|
- got rid of CLIENT_STATE::update_net_stats(), insert_file_xfer()
|
|
(made some stuff public)
|
|
- disable host performance measurement (temp! turn back on later)
|
|
- removed comments of the form
|
|
read_config_file(); // read config file
|
|
- in HTTP op of type POST2, it's not an error if htp->file is zero
|
|
- replaced hardwired HTTP_STATUS constants
|
|
- made separate db.inc, util.inc in html_ops
|
|
- key creation prints message before delay, not after
|
|
- file upload handler prints user name in error log lines
|
|
- scheduling server: make USER, HOST part of SCHEDULER_REPLY
|
|
so don't have to pass around as separate args
|
|
- in test/init.inc, don't use the init_db() from html_user/.
|
|
define it separately here.
|
|
- in test/init.inc, split up clear_data_dirs() into
|
|
client, server parts
|
|
- change test_uc.php to not create keys by default
|
|
|
|
client/
|
|
app.C
|
|
client_state.C,h
|
|
cs_scheduler.C
|
|
file_xfer.C
|
|
http.C,h
|
|
pers_file_xfer.C
|
|
scheduler_op.C,h
|
|
db/
|
|
db.h
|
|
html_ops/
|
|
db.inc (new)
|
|
util.inc (new)
|
|
lib/
|
|
crypt_prog.C
|
|
sched/
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
server_types.C,h
|
|
test/
|
|
init.inc
|
|
master.html
|
|
test_uc.php
|
|
|
|
David August 28, 2002
|
|
- added DB fields to keep track of credit for hosts and result
|
|
- added utility program "grant_credit" to grant credit for a result
|
|
- removed some extraneous printfs
|
|
- file upload handler error messages have user name
|
|
- added a "poll_debug" flag; turn this on in case of infinite
|
|
poll loop, to see what's causing the problem
|
|
- added a "libboinc.a" target to lib/ Makefile.
|
|
We might want to consider using a random library
|
|
instead of referring to explicit .o files everywhere
|
|
|
|
api/
|
|
boinc_api.h
|
|
client/
|
|
Makefile.in
|
|
app.C
|
|
client_state.C
|
|
cs_apps.C
|
|
cs_files.C
|
|
cs_scheduler.C
|
|
file_xfer.C
|
|
log_flags.C,h
|
|
net_xfer.C
|
|
pers_file_xfer.C
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
schema.sql
|
|
html_ops/
|
|
db.inc
|
|
db.php
|
|
html_user/
|
|
index.html
|
|
lib/
|
|
Makefile.in
|
|
sched/
|
|
feeder.C
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
test/
|
|
master.html
|
|
test_uc.php
|
|
tools/
|
|
Makefile.in
|
|
backend_lib.C,h
|
|
grant_credit.C (new)
|
|
|
|
David August 30 2002
|
|
- improved Win GUI
|
|
- print error if file validate failure
|
|
- fix lib Makefile.in
|
|
|
|
client/
|
|
client_state.C
|
|
cs_files.C
|
|
pers_file_xfer.C
|
|
client/win/
|
|
wingui.cpp,h
|
|
lib/
|
|
Makefile.in
|
|
countries.C
|
|
crypt.C
|
|
error_numbers.h
|
|
filesys.C
|
|
md5_file.C
|
|
|
|
Eric September 4, 2002
|
|
- condensed uc_slow, uc_cpu into upper_case, concat_slow into concat, using command line arguments
|
|
- changed test_uc to use files rather than stdin/stdout
|
|
|
|
apps/
|
|
uc_slow.C (removed)
|
|
concat_slow.C (removed)
|
|
uc_cpu.C (removed)
|
|
upper_case.C
|
|
concat.C
|
|
Makefile.in
|
|
lib/
|
|
error_numbers.h
|
|
test/
|
|
test_uc_slow.php
|
|
test_concat.php
|
|
uc_result
|
|
uc_wu
|
|
ucs_wu
|
|
|
|
Eric September 18, 2002
|
|
- Windows OpenGL based graphics added, graphics API updated
|
|
- Beginning of Mac Carbon based graphics added
|
|
- Uppercase application updated to use GL, GLUT graphics
|
|
|
|
apps/
|
|
upper_case.C
|
|
api/
|
|
boinc_api.C
|
|
boinc_api.h
|
|
graphics_api.C
|
|
graphics_api.h
|
|
windows_opengl.cpp
|
|
|
|
David Sept 22, 2002
|
|
- Various changes to prevent buffer overrun in servers;
|
|
parse_str and parse_attr now take a buffer length arg
|
|
|
|
api/
|
|
boinc_api.C,h
|
|
apps/
|
|
concat.C
|
|
upper_case.C
|
|
client/
|
|
app.C
|
|
client_types.C
|
|
file_xfer.C
|
|
hostinfo.C
|
|
scheduler_op.C
|
|
doc/
|
|
account.html
|
|
lib/
|
|
parse.C,h
|
|
sched/
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
server_types.C,h
|
|
|
|
David Sept 25 2002
|
|
- Progress on validation and credit-granting
|
|
- added DB fields to support the above
|
|
|
|
client/
|
|
cs_scheduler.C
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
schema.sql
|
|
sched/
|
|
Makefile.in
|
|
validate.C
|
|
validate_test.C (new)
|
|
|
|
David Sept 25 2002
|
|
- Move account into (master URL, authenticator, per-project prefs)
|
|
from the prefs.xml file into separate files, one per project
|
|
(with names of the form account_XXX.xml, XXX = master URL).
|
|
Adding new projects is now done using the core client
|
|
(via GUI or command line) or by copying an existing account file,
|
|
but NOT via web site; this was a major security weakness
|
|
since bad guys could guess your web password,
|
|
then register you for a bogus project.
|
|
|
|
This change also involved the html_user files (not finished).
|
|
|
|
- Further work on credit-granting.
|
|
On each RPC, the scheduler computes a "credit per CPU second"
|
|
for the host (linear combo of FP/int/mem speeds).
|
|
For each result received, the scheduler computes a "claimed credit",
|
|
the claimed CPU time times the credit per CPU second.
|
|
It also sets the "need validate" flag of the WU.
|
|
|
|
api/
|
|
boinc_api.C
|
|
apps/
|
|
upper_case.C
|
|
client/
|
|
Makefile.in
|
|
account.C,h (new)
|
|
client_state.C,h
|
|
client_types.C,h
|
|
cs_scheduler.C
|
|
file_names.C,h
|
|
file_xfer.C
|
|
main.C
|
|
prefs.C,h
|
|
db/
|
|
db.h
|
|
doc/
|
|
account.html
|
|
boinc_dev.html
|
|
client_files.html
|
|
client_logic.html
|
|
prefs.html
|
|
startup.html
|
|
validation.html
|
|
html_user/
|
|
prefs.inc
|
|
prefs.php
|
|
prefs_edit_project_form.php
|
|
sched/
|
|
handle_request.C
|
|
validate.C
|
|
test/
|
|
account1.xml (new)
|
|
init.inc
|
|
master.html
|
|
prefs1.xml
|
|
test_uc.php
|
|
tools/
|
|
backend_lib.C
|
|
|
|
David Sept 26 2002
|
|
- added todo list
|
|
- added license comment to various files
|
|
|
|
tools/
|
|
grant_credit.C (removed)
|
|
|
|
David Sept 26 2002
|
|
- continue with separation of global vs. project preferences.
|
|
Added separate DB field for project prefs.
|
|
Revised PHP files for editing separately
|
|
|
|
client/
|
|
prefs.C
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
schema.sql
|
|
doc/
|
|
prefs.html
|
|
html_user/
|
|
removed prefs_add*, prefs_delete*, prefs_edit_disk*, prefs_edit_work*
|
|
removed prefs_edit_projects.php
|
|
added prefs_edit_global*
|
|
prefs_edit_project_action.php
|
|
prefs.inc
|
|
prefs.php
|
|
util.inc
|
|
sched/
|
|
server_types.C
|
|
test/
|
|
init.inc
|
|
test_uc.php
|
|
tools/
|
|
add.C
|
|
|
|
David Sept 28 2002
|
|
- Clarified the way that preferences (global and project)
|
|
are stored in the database and in the core client,
|
|
and the protocol (part of scheduler RPC) for maintaining them.
|
|
See doc/prefs_impl.html
|
|
- Implemented the above: lots of small changes to client, server
|
|
- Changed names from "prefs" to "global_prefs" where relevant
|
|
|
|
client/
|
|
client_state.C,h
|
|
client_types.C,h
|
|
cs_scheduler.C
|
|
file_names.C,h
|
|
prefs.C,h
|
|
scheduler_op.C,h
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
schema.sql
|
|
doc/
|
|
boinc_dev.html
|
|
prefs_impl.html (new)
|
|
prefs_mod.html (removed)
|
|
html_user/
|
|
prefs.inc
|
|
sched/
|
|
handle_request.C
|
|
server_types.C,h
|
|
tools/
|
|
add.C
|
|
|
|
David Oct 3 2002
|
|
- Changed the PHP framework for testing to facilitate
|
|
multi-project, multi-host tests (all on one machine).
|
|
See doc/test.html for details.
|
|
- NOTE: the BOINC-related environment variables have changed.
|
|
There are no longer any project-specific variables
|
|
(e.g. database name, shmem key)
|
|
- NOTE: the server programs now expect a configuration file
|
|
in their directory.
|
|
- TODO: enhance the testing framework to allow projects with
|
|
multiple scheduling servers or data servers
|
|
- TODO: enhance the testing framework to allow specification
|
|
of failure and recovery of servers
|
|
|
|
- changed things so a NULL in the DB won't crash db_mysql.C
|
|
- parse_int() can now handle hex
|
|
- "add" now takes args for DB name/passwd
|
|
- "create_work" now takes args for DB name/passwd,
|
|
upload/download URL, download dir
|
|
|
|
db/
|
|
db_mysql.C
|
|
mysql_util.C
|
|
doc/
|
|
data_server_setup.html
|
|
sched_server_setup.html
|
|
test.html
|
|
web_site.html
|
|
html_user/
|
|
index.html
|
|
lib/
|
|
md5_file.C
|
|
parse.C
|
|
sched/
|
|
Makefile.in
|
|
config.C,h (new)
|
|
feeder.C
|
|
file_upload_handler.C
|
|
main.C
|
|
validate.C
|
|
validate_test.C
|
|
test/
|
|
test.inc (new)
|
|
test_uc.php
|
|
tools/
|
|
add.C
|
|
backend_lib.C,h
|
|
create_work.C
|
|
process_result_template.C
|
|
|
|
David Oct 3 2002
|
|
- updated test scripts to use new framework
|
|
- got rid of some obsolete scripts
|
|
|
|
David Oct 8 2002
|
|
- progress getting "make_work" (dummy work generator) to work.
|
|
Removed the <name> element from workunit XML,
|
|
and the <name> and <wu_name> elements from result XML;
|
|
instead, the scheduler server inserts these as it sends them.
|
|
|
|
This simplifies things a little in work generation,
|
|
and removes some redundancy.
|
|
|
|
Everything seems to work now except that the file upload signature
|
|
ends up being wrong, which is expected,
|
|
and it shows that the security mechanism works.
|
|
- added test_loop.php, which simulates a system that is complete
|
|
except for the validation process.
|
|
|
|
client/
|
|
http.C
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
html_ops/
|
|
index.html
|
|
sched/
|
|
Makefile.in
|
|
feeder.C
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
main.C
|
|
make_work.C (new)
|
|
test/
|
|
*_result
|
|
*_wu
|
|
*.php
|
|
test_loop.php (new)
|
|
tools/
|
|
backend_lib.C,h
|
|
process_result_template.C
|
|
|
|
Eric October 13, 2002
|
|
- Now uses alternate means (statfs, sysctl) to get host information
|
|
on non-Linux platforms
|
|
- Fixed compile warnings
|
|
|
|
client/
|
|
client_state.C
|
|
hostinfo.h
|
|
hostinfo_unix.C
|
|
file_names.C
|
|
scheduler_op.C
|
|
|
|
Eric October 14, 2002
|
|
- Added initial support for Mac OpenGL graphics, still needs to
|
|
be polished and tested (particularly multithreaded aspect)
|
|
|
|
api/
|
|
mac_app_opengl.c,h
|
|
mac_carbon_dsp.c,h
|
|
mac_carbon_gl.c,h
|
|
mac_build/
|
|
boinc.pbproj/
|
|
project.pbxproj
|
|
|
|
David Oct 14 2002
|
|
- Change make_work so that it generates results with
|
|
valid file upload signatures.
|
|
Instead of directly creating new DB.result records,
|
|
it now calls create_result() to do the work.
|
|
- Changed create_result() to take a name suffix
|
|
- Factored key parsing into a function
|
|
- Removed random-WU-name feature from create_work;
|
|
names should be generated at a higher level
|
|
- added a key-generation function to test.inc
|
|
|
|
lib/
|
|
parse.C
|
|
sched/
|
|
Makefile.in
|
|
config.C,h
|
|
make_work.C
|
|
test/
|
|
test.inc
|
|
test_loop.php
|
|
tools/
|
|
add.C
|
|
backend_lib.C,h
|
|
create_work.C
|
|
process_result_template.C
|
|
|
|
David Oct 15 2002
|
|
- remove the idea of "dynamic result" generation
|
|
(remove some DB fields and code relating to it)
|
|
- remove the nresults_* fields from the workunit table.
|
|
These are redundant, and they weren't being used.
|
|
Furthermore, they were being updated in a way that
|
|
overwrote other updates.
|
|
- change html_ops table displays to 2 columns
|
|
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
mysql_util.C,h
|
|
schema.sql
|
|
doc/
|
|
test.html
|
|
html_ops/
|
|
db.inc
|
|
sched/
|
|
handle_request.C
|
|
tools/
|
|
backend_lib.C
|
|
create_work.C
|
|
|
|
David Oct 18, 2002
|
|
- make_work now adds new WUs as well as results
|
|
|
|
sched/
|
|
feeder.C
|
|
make_work.C
|
|
|
|
David Oct 20, 2002
|
|
- Pin down exactly what credit is, both in the docs and the code
|
|
- Show credit in admin PHP pages.
|
|
- NOTE: multi-word titles (e.g. in admin pages) should
|
|
have only the first letter capitalized
|
|
|
|
todo
|
|
client/
|
|
client_state.C
|
|
speed_stats.C
|
|
doc/
|
|
credit.html (new)
|
|
participation.html
|
|
validation.html
|
|
html_ops/
|
|
db.inc
|
|
db.php
|
|
index.html
|
|
util.inc
|
|
sched/
|
|
handle_request.C
|
|
validate.C
|
|
|
|
David Oct 21, 2002
|
|
- floating-point values are passed to/from MySQL using sprintf and atof.
|
|
The "%f" format, by default, uses 6 decimal places of precision.
|
|
This is inadequate for small values, e.g. 1e-7.
|
|
So db_mysql.C should use %.12e instead of %f.
|
|
- changed all floats to doubles in DB schema
|
|
- Credit half-life is one week
|
|
|
|
db/
|
|
db_mysql.C
|
|
schema.sql
|
|
doc/
|
|
credit.html
|
|
html_ops/
|
|
util.inc
|
|
sched/
|
|
validate.C
|
|
test/
|
|
test_loop.php
|
|
|
|
Eric October 28, 2002
|
|
- added signal handling to API
|
|
- removed win_build.zip
|
|
|
|
api/
|
|
boinc_api.C,h
|
|
apps/
|
|
upper_case.C
|
|
concat.C
|
|
lib/
|
|
error_numbers.h
|
|
win_build.zip (removed)
|
|
|
|
Eric October 29, 2002
|
|
- Mac graphics completed (except for screensaver mode)
|
|
|
|
api/
|
|
boinc_api.C
|
|
graphics_api.C
|
|
mac_app_opengl.c,h
|
|
mac_carbon_dsp.c,h
|
|
mac_carbon_gl.c,h
|
|
|
|
David Nov 5 2002
|
|
- Continued work on result retry mechanism:
|
|
- new fields "retry_check_time" and "state" in workunit table
|
|
- logic for creating new output filenames
|
|
- needs a bit more work
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
schema.sql
|
|
sched/
|
|
Makefile.in
|
|
make_work.C
|
|
result_retry.C
|
|
|
|
David Nov 7 2002
|
|
- Finished and did basic testing of result retry mechanism.
|
|
It now correctly generates new results with unique names,
|
|
unique filenames, and upload signatures.
|
|
TODO: make a test script
|
|
- added DB field workunit.delay_bound:
|
|
determines deadlines of result, determines retry check period
|
|
Mandatory argument to create_work.
|
|
- Added DB indices for all enumeration functions
|
|
|
|
client/
|
|
client_types.C
|
|
db/
|
|
constraints.sql
|
|
db.h
|
|
db_mysql.C
|
|
schema.sql
|
|
doc/
|
|
result.html
|
|
tools_work.html
|
|
work.html
|
|
html_ops/
|
|
db.inc
|
|
sched/
|
|
Makefile.in
|
|
feeder.C
|
|
handle_request.C
|
|
result_retry.C
|
|
test/
|
|
1sec_wu
|
|
concat_wu
|
|
sah_result
|
|
sah_wu
|
|
test.inc
|
|
test_uc.php
|
|
uc_wu
|
|
ucs_wu
|
|
tools/
|
|
backend_lib.Ch
|
|
create_work.C
|
|
process_result_template.C
|
|
|
|
David Nov 9 2002
|
|
- fixed bug that caused file upload authentication failure
|
|
- The user web site now correctly provides download of the core client,
|
|
as long as you add a core client app version in your test script
|
|
(see test_uc.php for an example)
|
|
- version numbers now come from env vars BOINC_MAJOR_VERSION
|
|
and BOINC_MINOR_VERSION. You must set these in your .cshrc
|
|
- Web server config file must have
|
|
DefaultType application/octet-stream
|
|
so that core client is saved as file, not displayed
|
|
- replaced "db_name" file in html_user, html_ops directories with
|
|
"config.xml", which contains download URL as well as DB name/passwd
|
|
- got rid of "install" target in main Makefile
|
|
|
|
Makefile.in
|
|
client/
|
|
Makefile.in
|
|
doc/
|
|
data_server_setup.html
|
|
single_host_server.html
|
|
html_ops/
|
|
util.inc
|
|
html_user/
|
|
db.inc
|
|
download.php
|
|
index.php
|
|
login.inc
|
|
login_action.php
|
|
util.inc
|
|
sched/
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
test/
|
|
test.inc
|
|
test_uc.php
|
|
tools/
|
|
process_result_template.C
|
|
|
|
David Nov 9 2002
|
|
- Simplified account creation.
|
|
Only screen name, email address required; country, zip optional.
|
|
Only account ID required to log in
|
|
Removed web password from form;
|
|
projects can add this if they want.
|
|
- Change "authenticator" to "account ID" everywhere
|
|
- made country list appear on account creation form
|
|
|
|
todo
|
|
db/
|
|
constraints.sql
|
|
db.h
|
|
doc/
|
|
account.html
|
|
app.html
|
|
create_project.html
|
|
participate.html
|
|
startup.html
|
|
html_user/
|
|
renamed create_account.php to create_account_form.php
|
|
renamed login.php to login_form.php
|
|
download.php
|
|
index.php
|
|
login_action.php
|
|
util.inc
|
|
test/
|
|
test_uc.php
|
|
|
|
Eric Nov 12, 2002
|
|
- X11 graphics support added
|
|
- upper_case_x11 target added
|
|
- configure now checks for pthread, gl libraries
|
|
|
|
configure
|
|
configure.in
|
|
api/
|
|
boinc_api.C
|
|
graphics_api.C
|
|
x_opengl.C,h (added)
|
|
apps/
|
|
upper_case.C
|
|
Makefile.in
|
|
|
|
Eric Nov 14, 2002
|
|
- windows screensaver module
|
|
|
|
api/
|
|
boinc_api.C
|
|
graphics_api.C
|
|
windows_opengl.cpp
|
|
client/
|
|
win/
|
|
win_screensaver.cpp (added)
|
|
win_build/
|
|
boinc.dsw
|
|
boinc_ss/ (added)
|
|
boinc_ss.dsp (added)
|
|
|
|
Seth/Eric Nov 18, 2002
|
|
- windows idle detection
|
|
- Communication to app for suspend/resume/quit
|
|
|
|
api/
|
|
boinc_api.C,h
|
|
windows_opengl.cpp
|
|
client/
|
|
app.C
|
|
client_state.C,h
|
|
prefs.C,h
|
|
win/
|
|
win_screensaver.cpp
|
|
wingui.cpp,h
|
|
win_idle_tracker.cpp,h,def (added)
|
|
win_build/
|
|
boinc.dsw
|
|
boinc_dll/ (added)
|
|
boinc_dll.dsp (added)
|
|
boinc_gui/
|
|
boinc_gui.dsp
|
|
|
|
David Nov 30 2002
|
|
- use the major/minor version from env vars to identify the core client
|
|
(rather than the single version in Makefile)
|
|
|
|
client/
|
|
Makefile.in
|
|
client_state.C,h
|
|
cs_scheduler.C
|
|
|
|
David Nov 30 200
|
|
- first part of work sequence implementation
|
|
|
|
db/
|
|
schema.sql
|
|
db.h
|
|
db_mysql.C
|
|
David Dec 1 2002
|
|
- If request to scheduling server is from client with wrong version,
|
|
return an error
|
|
- Change the file upload handler protocol a little:
|
|
1) add core client version to request
|
|
2) add enclosing <data_server_request> element
|
|
- The file upload handler returns an error if client has wrong version
|
|
- Split up long function in file_upload_handler.C
|
|
- Changed name of feeder trigger file so that it works
|
|
(when did this get broken??)
|
|
|
|
client/
|
|
file_xfer.C,h
|
|
doc/
|
|
protocol.html
|
|
upload.html
|
|
sched/
|
|
Makefile.in
|
|
feeder.C
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
server_types.C,h
|
|
test/
|
|
test.inc
|
|
|
|
David Dec 3 2002
|
|
- change scheduling server so that by default it doesn't
|
|
store request and reply messages in files;
|
|
add "-use_files" option to do this
|
|
- added validation step to test_uc.php;
|
|
this computes and grants credit
|
|
- added "-one_pass" option to validate
|
|
- split scheduler trigger files into two:
|
|
stop_server: used for all server components;
|
|
NOT deleted after reading
|
|
reread_db: used to tell feeder to reread DB
|
|
deleted after reading
|
|
- added license text to some files
|
|
|
|
sched/
|
|
config.C,h
|
|
feeder.C
|
|
handle_request.C
|
|
main.C,h
|
|
make_work.C
|
|
result_retry.C
|
|
sched_shmem.h
|
|
show_shmem.C
|
|
validate.C
|
|
test/
|
|
test.inc
|
|
test_uc.php
|
|
|
|
David Dec 5 2002
|
|
- added initial support for aborting runaway applications:
|
|
check for exceeding maximum CPU time or disk usage
|
|
- create_work now takes max_cobblestones and max_disk_usage
|
|
- split ACTIVE_TASK::suspend into separate suspend, resume functions
|
|
|
|
A bunch of coding style notes:
|
|
- changed ACTIVE_TASK::request_exit() so that it doesn't sleep.
|
|
==> The core client should never sleep <==
|
|
This would cause a period of non-response in the GUI client
|
|
- changed file_delete() so that it doesn't sleep or retry.
|
|
Should eventually add garbage-collection mechanism
|
|
- Most functions NEED to be implemented in the client.
|
|
So e.g. instead of
|
|
#if HAVE_SIGNAL_H
|
|
unix code
|
|
#endif
|
|
#ifdef _WIN32
|
|
win code
|
|
#endif
|
|
we should have
|
|
#ifdef _WIN32
|
|
win code
|
|
#else
|
|
unix code
|
|
#endif
|
|
Any compilation that doesn't match anything should cause a
|
|
compile-time error
|
|
- change file_size(), dir_size(), CLIENT_STATE::total_disk_usage() etc.
|
|
so that:
|
|
1) they report file size in double, not int
|
|
2) they return an error code, not a size overloaded with error code;
|
|
size is return in reference param
|
|
- All fopen()s should check for zero pointer and return ERR_FOPEN
|
|
- Omit "this->" wherever it appears
|
|
|
|
client/
|
|
app.C,h
|
|
client_state.C,h
|
|
client_types.C,h
|
|
file_xfer.C
|
|
http.C
|
|
pers_file_xfer.C
|
|
lib/
|
|
filesys.C,h
|
|
test/
|
|
test.inc
|
|
tools/
|
|
backend_lib.C,h
|
|
create_work.C
|
|
|
|
David Dec 6 2002
|
|
- fix bugs in get_local_ip_addr()
|
|
(need to figure out why they were happening)
|
|
|
|
Eric Dec 8, 2002
|
|
- added and tested HTTP proxy support (no SOCKS support yet)
|
|
- proxy server is specified through environment variable HTTP_PROXY
|
|
|
|
client/
|
|
client_state.C,h
|
|
http.C,h
|
|
net_xfer.C
|
|
pers_file_xfer.C
|
|
scheduler_op.C
|
|
|
|
Hamid Dec 9,2002
|
|
- added field client_state to result
|
|
|
|
- added some more functionality to repor_project_error()
|
|
It now adds the following info to stderr_out of the result:
|
|
|
|
<message>message if any passed</mesage>
|
|
<active_task_state>%d</active_task_state>
|
|
<exit_status>%d</exit_status>
|
|
<signal>%d</signal>
|
|
if download had failures
|
|
"<download_error>\
|
|
" <file_name>%s</file_name>
|
|
" <error_code>%d</error_code>\n"
|
|
" </download_error>\n"
|
|
|
|
|
|
if upload had failures
|
|
same as above
|
|
|
|
if coudln't start active task for result (in which err_num should be set)
|
|
"<couldnt_start>%d</couldnt_start>\n"
|
|
|
|
|
|
- The error mechanism right now is such that any failures
|
|
regarding file_infos (download, upload or whatever)
|
|
are recorded in the status of the file_infos and then garbage collect
|
|
called report_project_error.
|
|
However errors regarding starting and ending active tasks
|
|
are reported from app.C and cs_apps.C.
|
|
|
|
Seth Dec 9, 2002
|
|
- time tests run in their own thread when needed, if they are global state
|
|
won't do anything until they are done; threads communicate by a file
|
|
- windows host info complete except for cache
|
|
|
|
client/
|
|
client_stat.C,h
|
|
file_names.h
|
|
hostinfo.C,h
|
|
client/win/
|
|
hostinfo_win.cpp
|
|
|
|
David Dec 11 2002
|
|
- Have process_wu_template() fill in the file size as well as the MD5.
|
|
This necessitated changing the format of WU templates,
|
|
and the way they are processed.
|
|
|
|
NOTE: this breaks the multiple-data-server test.
|
|
Need to figure out another way to do that.
|
|
|
|
tools/
|
|
backend_lib.C
|
|
doc/
|
|
tools_work.html
|
|
test/
|
|
*wu
|
|
|
|
David Dec 13 2002
|
|
- use lock file mechanism to prevent multiple instances of
|
|
core client from running in same directory
|
|
|
|
configure
|
|
configure.in
|
|
client/
|
|
file_names.h
|
|
main.C
|
|
lib/
|
|
util.C,y
|
|
|
|
David Dec. 17 2002
|
|
- Added new state fields to workunit and result to support
|
|
file deletion and assimilation backend phases
|
|
- Added sample assimilator program
|
|
- Added file_deleter program (AKA garbage collector)
|
|
|
|
client/
|
|
main.C
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
schema.sql
|
|
sched/
|
|
Makefile.in
|
|
assimilator.C (new)
|
|
config.C,h
|
|
result_retry.C
|
|
validate.C
|
|
test/
|
|
test.inc
|
|
tools/
|
|
backend_lib.C
|
|
|
|
David Dec 17 2002
|
|
- The assimilator takes a -app argument
|
|
- Added execution of file_delete and assimilator to test_uc.php
|
|
this should delete all input and output files
|
|
TODO: check that it actually does
|
|
- fixed bugs in file_deleter
|
|
|
|
todo
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
doc/
|
|
backend.gif (new)
|
|
backend.html
|
|
backend.png (new)
|
|
work_states.html
|
|
html_ops/
|
|
db.inc
|
|
html_user/
|
|
user.inc
|
|
sched/
|
|
assimilator.C
|
|
file_deleter.C
|
|
handle_request.C
|
|
test/
|
|
test.inc
|
|
test_uc.php
|
|
|
|
Seth Dec 18 2002
|
|
- net_xfers in windows will get permission before connecting if needed
|
|
- added global pref for whether or not to hang up the modem if BOINC dialed
|
|
- client state saves global prefs confirm_before_connecting
|
|
and hangup_if_dialed locally for now
|
|
- wingui split into different files, bug fixes
|
|
|
|
client/
|
|
net_xfer.C,h
|
|
prefs.C,h
|
|
client_state.C
|
|
client/win
|
|
win_net.cpp,h
|
|
wingui.cpp,h
|
|
wingui_mainwindow.cpp,h (new)
|
|
wingui_dialog.cpp,h (new)
|
|
wingui_listctrl.cpp,h (new)
|
|
wingui_pictrl.cpp,h (new)
|
|
|
|
David Dec 18 2002
|
|
- Have account create action redirect to a different page
|
|
so you don't get "Repost form data" if you go back to it
|
|
- Added full support for project-specific preferences.
|
|
Logic is encapsulated in project_specific_prefs.inc.
|
|
The example lets you choose color scheme
|
|
(Tahiti Sunset, Desert Sands)
|
|
|
|
html_user/
|
|
account_created.php (new)
|
|
project_specific_prefs.inc (new)
|
|
create_account_action.php
|
|
prefs.inc
|
|
prefs.php
|
|
prefs_edit_global_form.php
|
|
prefs_edit_project_action.php
|
|
prefs_edit_project_form.php
|
|
util.inc
|
|
lib/
|
|
countries.C,h
|
|
|
|
David Dec 19 2002
|
|
- The Edit Account form now shows current values
|
|
directly in input fields.
|
|
- Country select popup shows current value
|
|
- Improve new account email
|
|
|
|
html_user/
|
|
account_created.php
|
|
change_pass_action.php
|
|
create_account_action.php
|
|
edit.inc
|
|
edit_action.php
|
|
edit_user_info.php
|
|
util.inc
|
|
tools/
|
|
country_select.C
|
|
|
|
Hamid Dec 19 2002
|
|
|
|
-Edited make_work.C, now when a new work_unit is created,
|
|
it's input files are copied along with it,
|
|
with some random numbers added to the end,
|
|
so for each new work_unit there are a set of associated new input files
|
|
|
|
-fixed a little bug in file_deleter
|
|
|
|
-note: strtok() changes the original string passed to it, kind of dangerous to use
|
|
|
|
-from parse.h : replace_element() is now in use ( I used it for make_work.C)
|
|
|
|
David Dec 19 2002
|
|
- added -add_new_project option to command line version
|
|
changed func name from get_initial_project() to add_new_project()
|
|
|
|
client/
|
|
account.C,h
|
|
client_state.C,h
|
|
main.C
|
|
scheduler_op.h
|
|
win/
|
|
wingui.cpp,h
|
|
|
|
David Dec 23 2002
|
|
- Made stripcharts work with BOINC test framework
|
|
The script "test_loop.php" now generates a data file of
|
|
CPU load that can be graphed using stripchart.
|
|
TODO: add other data sources
|
|
- added "country" field to team
|
|
- expanded team description from 256 chars to blob
|
|
- turned off debug output from file upload handler, scheduler
|
|
- removed "time" args from various Project member functions
|
|
in test.inc. Use sleep().
|
|
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
schema.sql
|
|
html_user/
|
|
db.inc
|
|
team_create_form.php
|
|
sched/
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
result_retry.C
|
|
stripchart/
|
|
stripchart.cgi
|
|
stripchart.cnf
|
|
samples/
|
|
datafiles
|
|
test/
|
|
test.inc
|
|
test_download_backoff.php
|
|
test_loop.php
|
|
test_masterurl_failure.php
|
|
test_sched_failure.php
|
|
|
|
David Jan 2 2003
|
|
- Back off on a project if we make a scheduler RPC asking for work
|
|
and don't get any
|
|
- fixed "http_proxy_name" XML parsing problem in client
|
|
- added drand() function.
|
|
NOTE: always make repeated code blocks into functions
|
|
- make_work was using uninitialized seqno, caused negative
|
|
numbers in filenames
|
|
|
|
client/
|
|
client_state.C,h
|
|
cs_scheduler.C
|
|
scheduler_op.C
|
|
doc/
|
|
credit.html
|
|
lib/
|
|
util.C,h
|
|
sched/
|
|
make_work.C
|
|
validate.C
|
|
|
|
David Jan 3 2003
|
|
- added some indices to DB.
|
|
|
|
NOTE: there must be an index for each field or combination of fields
|
|
that we do a "select" on!!
|
|
|
|
David Jan 6 2003
|
|
- change all server programs to do logging the same way:
|
|
- all log entries written to stderr
|
|
- write date/time at start of log entries
|
|
- don't include program or user name in log entries
|
|
- client: when get no work from project,
|
|
don't back off if we're in exit_when_idle mode
|
|
- added ob_end_flush() call in test.inc so that PHP test scripts
|
|
have unbuffered output
|
|
- added other backend phases (validate, file_delete) to test_loop.php
|
|
- PROGRAMMER NOTES:
|
|
- don't use tab chars in files
|
|
- split long comments into separate lines
|
|
- "extern" should never appear in a .C file
|
|
- Don't use member function names that conflict with global functions
|
|
(e.g. CLIENT_STATE::exit(); use cleanup_and_exit() instead)
|
|
|
|
client/
|
|
client_state.C,h
|
|
client_types.h
|
|
cs_apps.C
|
|
http.h
|
|
main.C
|
|
scheduler_op.C
|
|
html_ops/
|
|
db.inc
|
|
db.php
|
|
sched/
|
|
assimilator.C
|
|
feeder.C
|
|
file_deleter.C
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
main.C,h
|
|
make_work.C
|
|
result_retry.C
|
|
server_types.C
|
|
validate.C
|
|
stripchart/
|
|
stripchart.cnf
|
|
test/
|
|
test.inc
|
|
test_loop.php
|
|
|
|
David Jan 7 2003
|
|
- extend client "print state summary" function to give more
|
|
detailed information about state, e.g. names and states
|
|
of everything, and active file xfers and tasks
|
|
- fixed bug where feeder inserted same result twice in shmem
|
|
|
|
client/
|
|
client_state.C,h
|
|
cs_apps.C
|
|
cs_scheduler.C
|
|
sched/
|
|
assimilator.C
|
|
feeder.C
|
|
test/
|
|
log_flags.xml
|
|
|
|
David Jan 8 2003
|
|
- changed the DB code so that you can use the mySQL utility functions
|
|
to access different databases from a single program.
|
|
There's now a MYSQL_DB class that you can subclass.
|
|
See db_mysql.C for an example.
|
|
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
mysql_util.C,h
|
|
sched/
|
|
assimilator.C
|
|
feeder.C
|
|
file_deleter.C
|
|
handle_request.C
|
|
main.C
|
|
make_work.C
|
|
result_retry.C
|
|
validate.C
|
|
tools/
|
|
add.C
|
|
backend_lib.C
|
|
create_work.C
|
|
|
|
Seth Jan 8 2003
|
|
- Set up Windows client to read captions from a file
|
|
|
|
client/win/
|
|
Resource.h
|
|
resource.rc
|
|
wingui_dialog.cpp,h
|
|
wingui_mainwindow.cpp,h
|
|
|
|
David Jan 13 2003
|
|
- With -no_time_test flag, client now uses default values for
|
|
various speeds, rather than zero
|
|
- Restored commented-out timezone code.
|
|
May need to get working on Solaris
|
|
- Added stripchart scripts for getting DB info
|
|
(need to macro-substitute DB name)
|
|
|
|
Net result: test_loop.php now works correctly and generates
|
|
stripcharts that show an ever-growing set of results
|
|
|
|
client/
|
|
client_state.C,h
|
|
hostinfo_unix.C
|
|
html_ops/
|
|
db.inc
|
|
stripchart/samples
|
|
count_users
|
|
count_results (new)
|
|
datafiles
|
|
get_load
|
|
looper
|
|
test/
|
|
test.inc
|
|
test_loop.php
|
|
|
|
David Jan 14 2003
|
|
- Removed INSTALL_CLIENT and gutted INSTALL
|
|
|
|
NOTE: all docs should be in HTML
|
|
NOTE: spell-check all new documents
|
|
|
|
INSTALL
|
|
INSTALL_CLIENT (removed)
|
|
doc/
|
|
boinc_dev.html
|
|
road_map.html
|
|
single_host_server.html
|
|
test.html
|
|
|
|
David Jan 14 2003
|
|
- Added log writes to sched server in some error cases
|
|
- Removed -use_files flag to sched server. Use compile-time flag instead.
|
|
|
|
sched/
|
|
handle_request.C
|
|
main.C
|
|
|
|
David Jan 15 2003
|
|
- create_work() makes a copy of result, WU templates since
|
|
they get modified (fixed bug when create >1 WU)
|
|
- scheduler reports errors in WU/result XML docs
|
|
|
|
sched/
|
|
handle_request.C
|
|
test/
|
|
test.inc
|
|
tools/
|
|
backend_lib.C
|
|
|
|
David Jan 22 2003
|
|
- Changed some of the state fields of workunit and result,
|
|
to accommodate new policies about when to delete files
|
|
See doc/backend_* for details
|
|
- Split off dummy assimilation function from the main program.
|
|
- Added new stripchart scripts for logging DB counts
|
|
and directory sizes
|
|
|
|
NOTE: it looks like shared memory segment is at same address
|
|
in feeder and cgi. So it's OK to use pointers in it.
|
|
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
schema.sql
|
|
doc/
|
|
backend.html (removed)
|
|
backend_functions.html (new)
|
|
backend_programs.html (new)
|
|
backend_state.html (new)
|
|
backend_work_sequence.html (new)
|
|
create_project.html
|
|
garbage.html (removed)
|
|
retry.html (removed)
|
|
work.html
|
|
work_states.html (removed)
|
|
html_ops/
|
|
db.inc
|
|
db.php
|
|
sched/
|
|
Makefile.in
|
|
assimilate_handler.C,h (new)
|
|
assimilator.C
|
|
handle_request.C
|
|
result_retry.C
|
|
validate.C
|
|
strichart/samples/
|
|
datafiles
|
|
db_count (new)
|
|
db_looper (new)
|
|
dir_size (new)
|
|
test/
|
|
test.inc
|
|
test_loop.php
|
|
tools/
|
|
backend_lib.C
|
|
create_work.C
|
|
|
|
David Jan 29 2003
|
|
- updated country-name list according to CIA site
|
|
- added program to generate XML stats files
|
|
- added classes to assist double-buffered graphics info for applications
|
|
|
|
api/
|
|
graphics_data.C,h (new)
|
|
Makefile.in
|
|
lib/
|
|
countries.C
|
|
sched/
|
|
db_dump.C (new)
|
|
Makefile.in
|
|
|
|
David Jan 30 2003
|
|
- continued work on db_dump
|
|
- added doc for db_dump
|
|
- added create_time field to team table
|
|
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
mysql_util.C,h
|
|
doc/
|
|
db_dump.html (new)
|
|
stripchart.html (new)
|
|
stripchart_data.html (new)
|
|
html_user/
|
|
team_create_action.php
|
|
lib/
|
|
util.C,h
|
|
sched/
|
|
Makefile.in
|
|
db_dump.C
|
|
|
|
David Jan 30 2003
|
|
- got db_dump working
|
|
- scheduler: change max WUs from 2 to 10
|
|
|
|
NOTE: for any DB field that could conceivable contain a ',
|
|
you must escape and unescape it in struct_to_str()
|
|
|
|
db/
|
|
constraints.sql
|
|
db_mysql.C
|
|
mysql_util.C
|
|
sched/
|
|
db_dump.C
|
|
handle_request.C
|
|
|
|
Eric Feb 04, 2003
|
|
- Cleaned up formatting of client_state.xml
|
|
- Added retry message to transfers tab of Windows client
|
|
- Added error catching for network transfer failures
|
|
|
|
client/
|
|
client_state.C
|
|
client_types.C
|
|
cs_files.C
|
|
http.C
|
|
pers_file_xfer.C,h
|
|
win/
|
|
wingui.h
|
|
wingui_mainwindow.cpp,h
|
|
|
|
David Feb 4 2003
|
|
- removed graphics logic from boinc_ready_to_checkpoint().
|
|
Rendering logic is now entirely in the GUI thread.
|
|
It's up to the application to synchronize computation and rendering.
|
|
- added REDUCED_ARRAY::draw_part()
|
|
- bug fixes in db_dump
|
|
|
|
api/
|
|
boinc_api.C
|
|
graphics_data.C,h
|
|
reduce.cpp,h
|
|
windows_opengl.cpp
|
|
db/
|
|
db_mysql.C
|
|
doc/
|
|
db_dump.html (new)
|
|
index.html
|
|
participate.html
|
|
sched/
|
|
db_dump.C
|
|
|
|
David Feb 7 2003
|
|
- Changed account creation features quite a bit.
|
|
It now bifurcates according to whether this is first project.
|
|
Asks for preferences and offers download accordingly.
|
|
|
|
html_user/
|
|
account_setup* (new)
|
|
|
|
David Feb 8 2003
|
|
- Work on account creation a bit more.
|
|
Removed project graphics prefs.
|
|
Added email prefs.
|
|
|
|
html_user/
|
|
various
|
|
|
|
David Feb 10 2003
|
|
- fix memory leaks
|
|
|
|
client/
|
|
client_types.C
|
|
net_xfer.C
|
|
|
|
David Feb 10 2003
|
|
- attempt to fix bugs by eliminating dynamic allocation
|
|
|
|
client/
|
|
client_state.C
|
|
client_types.C,h
|
|
cs_scheduler.C
|
|
scheduler_op.C
|
|
test_file_xfer.C
|
|
lib/
|
|
parse.C,h
|
|
|
|
David Feb 12 2003
|
|
- Added mechanism for starting or restarting all back-end processes
|
|
for a project. A list of the programs are now in config.xml.
|
|
All programs now use lock files to prevent duplicate execution.
|
|
A new program "start_servers" reads config.xml and starts servers.
|
|
- Added "user-friendly name" field to platform, so that users
|
|
see e.g. "Windows 95/98/XP" instead of "windows_intelx86"
|
|
NOTE: this requires patching existing databases
|
|
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
schema.sql
|
|
html_ops/
|
|
db.inc
|
|
html_user/
|
|
download.inc
|
|
download.php
|
|
index.php
|
|
sched/
|
|
Makefile.in
|
|
config.C,h
|
|
start_servers.C
|
|
test/
|
|
make_project.php
|
|
test.inc
|
|
tools/
|
|
add.C
|
|
|
|
David Feb 12 2003
|
|
- changed "exit_after" to "exit_after_app_started_secs"
|
|
and changed its null value from -1 to 0.
|
|
- don't ask a scheduler for work if in exit_when_idle mode
|
|
and we've already contacted scheduler
|
|
- remove exit_when_idle clause from backoff after no work available
|
|
|
|
client/
|
|
client_state.C,h
|
|
cs_apps.C
|
|
cs_scheduler.C
|
|
scheduler_op.C
|
|
test/
|
|
test_time.php
|
|
|
|
David Feb 12 2003
|
|
- changed server startup mechanism so that config.xml contains
|
|
actual commands (so you can include cmdline args etc.)
|
|
|
|
sched/
|
|
config.C,h
|
|
start_servers.C
|
|
test/
|
|
test.inc
|
|
|
|
David Feb 12 2003
|
|
- changed user HTML so that all project-specific stuff
|
|
(intro, banner, etc.) is in a separate file.
|
|
Can specify this file in test scripts.
|
|
- added test scripts to make dummy SETI@home and Astropulse projects,
|
|
and made project-specific HTML files for them
|
|
|
|
html_user/
|
|
index.php
|
|
project.inc (new)
|
|
project_ap.inc (new)
|
|
project_sah.inc (new)
|
|
sched/
|
|
start_servers.C
|
|
test/
|
|
make_project.php
|
|
make_project_ap.php (new)
|
|
make_project_sah.php (new)
|
|
test.inc
|
|
|
|
David Feb 14 2003
|
|
- Added "long_name" field to project table (display this in GUI)
|
|
Can have spaces, special chars etc.
|
|
- fixed bugs in prefs updating
|
|
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
schema.sql
|
|
html_user/
|
|
prefs.inc
|
|
sched/
|
|
server_types.C
|
|
test/
|
|
make_project_ap.php
|
|
make_project_sah.php
|
|
test.inc
|
|
|
|
David Feb 17 2003
|
|
- restored some of the changes for faster network throughput
|
|
|
|
client/
|
|
client_state.C,h
|
|
main.C
|
|
next_xfer.C,h
|
|
|
|
David Feb 18 2003
|
|
- fixed formatting; changed vector remove to use iterator
|
|
|
|
client/
|
|
app.C
|
|
cs_files.C
|
|
app.C
|
|
|
|
David Feb 18 2003
|
|
- added "opaque" fields to result and workunit tables.
|
|
(allows projects to cross-reference to their science DB)
|
|
- added "venue" field to host (home/school/work)
|
|
This has two goals:
|
|
1) provides a basis for multiple preference sets
|
|
(one each for home/school/work)
|
|
2) provides another account breakdown for stats
|
|
- added "venue" field to user
|
|
This is the default venue, for newly created hosts
|
|
- simplified preferences:
|
|
For account setup, all preferences are now on one form
|
|
(different forms for new/return users)
|
|
For preference editing, preferences are now in two groups
|
|
- project preferences, including resource share,
|
|
venue, and per-project prefs
|
|
- global prefs (called "BOINC prefs" in user interface)
|
|
- fixed bug where user/host credits in client state file were giant numbers
|
|
|
|
todo
|
|
client/
|
|
scheduler_op.C
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
schema.sql
|
|
html_ops/
|
|
db.inc
|
|
html_user/
|
|
account_setup_first.php
|
|
account_setup_first_email.php (removed)
|
|
account_setup_first_project.php (removed)
|
|
account_setup_first_action.php (new)
|
|
account_setup_nonfirst.php
|
|
account_setup_nonfirst_email.php (removed)
|
|
account_setup_nonfirst_project.php (removed)
|
|
account_setup_nonfirst_action.php (new)
|
|
create_account_action.php
|
|
prefs.inc
|
|
prefs_edit_global_*
|
|
prefs_edit_email_* (removed)
|
|
prefs_edit_project_*
|
|
prefs_edit_resource_* (removed)
|
|
project_specific_prefs.php
|
|
sched/
|
|
handle_request.C
|
|
server_types.C
|
|
test/
|
|
test.inc
|
|
|
|
David Feb 19 2003
|
|
- Added scheme for verified user update of email address
|
|
When user updates email address, their email address in the DB
|
|
is set to a "munged" form that includes a random string,
|
|
and an email is sent to the new address that includes a
|
|
URL that they must visit to verify the change.
|
|
- The same mechanism is used on account creation;
|
|
the email DB field is initially set to a munged form.
|
|
This prevents hackers from adding entries to the DB
|
|
with other peoples' email addresses.
|
|
- Separate logic for update email address from update other user info;
|
|
remove combinatorial logic (?) for update other user info
|
|
|
|
configure (removed; generated from configure.in by autoconf)
|
|
db/
|
|
db.h
|
|
html_user/
|
|
create_account_action.php
|
|
create_account_form.php
|
|
edit_action.php (removed)
|
|
edit_email_action.php (new)
|
|
edit_email_form.php (new)
|
|
edit_user_info.php (removed)
|
|
edit_user_info_form.php (new)
|
|
login_action.php
|
|
user.inc
|
|
util.inc
|
|
|
|
David Feb 20 2003
|
|
- project preferences are now handled correctly,
|
|
written/read to account file
|
|
- fix bugs in web pages for editing prefs
|
|
- change dont_run_on_batteries to run_on_batteries etc.
|
|
- fix bug in test scripts where account file had wrong name
|
|
|
|
apps/
|
|
upper_case.C
|
|
client/
|
|
account.C,h
|
|
client_state.C
|
|
client_types.C
|
|
cs_scheduler.C
|
|
prefs.C,h
|
|
doc/
|
|
client_files.html
|
|
html_user/
|
|
confirm_email_change.php
|
|
edit_user_info_action.php
|
|
prefs.inc
|
|
prefs_edit_project_action.php
|
|
prefs_edit_project_form.php
|
|
test/
|
|
test.inc
|
|
test_uc.php
|
|
|
|
David Feb 22
|
|
- API now passes both host and user credit to apps
|
|
- API now passes team name to apps (scheduler RPC now returns it)
|
|
- don't use malloc in get_free_slot
|
|
- added fancier project-specific prefs for astropulse
|
|
- fixed bugs in account creation
|
|
- imported code to remove dangerous HTML tags from user-supplied text
|
|
|
|
api/
|
|
boinc_api.C,h
|
|
client/
|
|
app.C
|
|
client_state.C
|
|
client_types.C,h
|
|
cs_scheduler.C
|
|
hostinfo.C,h
|
|
hostinfo_unix.C
|
|
time_stats.C
|
|
html_user/
|
|
account_setup.php
|
|
account_setup_first_action.php
|
|
download.inc
|
|
htmlfilter.inc
|
|
logout.php (new)
|
|
prefs.inc
|
|
project.inc
|
|
project_specific_prefs_ap.inc (new)
|
|
sanitize_html.inc
|
|
team.inc
|
|
team_edit_action.php
|
|
util.inc
|
|
sched/
|
|
handle_request.C
|
|
server_types.C,h
|
|
test/
|
|
make_project_ap.php
|
|
test.inc
|
|
|
|
Seth Feb 24
|
|
- changed windows graphics handling.
|
|
client now has a child window in which all graphics are displayed.
|
|
when an app is running, this window sends a message to the app telling
|
|
it to draw on the window.
|
|
|
|
api/
|
|
windows_opengl.cpp
|
|
client/win/
|
|
wingui.C,h
|
|
wingui_mainwindow.C,h
|
|
wingui_sswindow.C,h (new)
|
|
|
|
David Feb 25 2003
|
|
- Implemented network throughput limits, part of global prefs.
|
|
There are separate limits for upload and download.
|
|
Implementation: the NET_XFER_SET objects now has fields for
|
|
1) the max # bytes/sec up and down (from global prefs)
|
|
2) the limit on bytes that can be xferred this second
|
|
Can go negative. If it's negative, don't include
|
|
sockets in select().
|
|
Replenish every second.
|
|
This replaces an implementation that didn't work
|
|
- Reimplemented the way network throughput is measured.
|
|
The old way measured throughput for each file xfer, and kept an average.
|
|
This doesn't work with multiple simultaneous xfers.
|
|
The new way uses a NET_STATS::poll() function.
|
|
If there has been an active file xfer during the last poll period
|
|
(new logic in NET_XFER_SET lets you find this out)
|
|
then you add the duration of the polling period,
|
|
and the number of bytes transferred.
|
|
The reported throughput is averaged with throughput
|
|
from previous sessions of the core client.
|
|
- Increased file xfer blocksize from 4KB to 16KB
|
|
- Got rid of dynamic buffer allocation in NET_XFER
|
|
- Renamed "water days" to "work buf days" everywhere
|
|
NOTE:
|
|
clock() measure calling process CPU time, not time of day.
|
|
Use time(0) if you want time of day.
|
|
|
|
client/
|
|
client_state.C,h
|
|
cs_scheduler.C
|
|
file_xfer.C
|
|
http.C
|
|
main.C
|
|
net_stats.C,h
|
|
net_xfer.C,h
|
|
pers_file_xfer.C
|
|
prefs.C,h
|
|
scheduler_op.C
|
|
test_file_xfer.C
|
|
test_http.C
|
|
test_net_xfer.C
|
|
test/
|
|
test.inc
|
|
test_uc.php
|
|
|
|
Eric Feb 25, 2003
|
|
- Added net transfer progress. Tracks number of bytes transferred
|
|
for file uploads and downloads.
|
|
- Fixed Windows battery status bug.
|
|
- Net transfer speed measurement in bytes/sec. The measurement decays by
|
|
1/2 every 3 seconds.
|
|
- Added PHP function to password protect project admin pages via .htaccess.
|
|
- Altered show_message function to specify the project a message is
|
|
associated with.
|
|
|
|
client/
|
|
client_state.C
|
|
cs_scheduler.C
|
|
file_xfer.C
|
|
net_xfer.C,h
|
|
pers_file_xfer.C
|
|
mac/
|
|
mac_main.cpp
|
|
main.C
|
|
message.h
|
|
scheduler_op.C
|
|
win/
|
|
wingui_mainwindow.cpp
|
|
wingui.cpp
|
|
hostinfo_win.cpp
|
|
test/
|
|
test.inc
|
|
|
|
Eric Feb 26, 2003
|
|
- Added ability to automatically zip/gzip stats files.
|
|
|
|
sched/
|
|
db_dump.C
|
|
|
|
David Feb 27 2003
|
|
- fix bug in prefs display
|
|
- use $_GET["foo"] to access form variables in PHP scripts
|
|
(this makes it clear what the form variables are)
|
|
- use trim() to get rid of white space and start/end of authenticator.
|
|
Should do this for most user-supplied data
|
|
- use row2() to generate all two-item rows.
|
|
Right-align the first part and embolden the second.
|
|
Get rid of row() and row2a()
|
|
- change "water days" terminology to "work buf"
|
|
|
|
html_user/
|
|
account_created.php
|
|
bug_report_action.php
|
|
confirm_email_change.php
|
|
login_action.php
|
|
login_form.php
|
|
prefs.inc
|
|
prefs_edit_global_action.php
|
|
prefs_edit_project_action.php
|
|
prefs_edit_project_form.php
|
|
project_specific_prefs.inc
|
|
project_specific_prefs_ap.inc
|
|
show_host_detail.php
|
|
team.inc
|
|
user.inc
|
|
util.inc
|
|
|
|
Eric Feb 28, 2003
|
|
- Fixed screensaver to open client/go to full screen mode correctly.
|
|
- Implemented "Go to blank screen after x minutes" functionality.
|
|
|
|
api/
|
|
graphics_api.h
|
|
client/
|
|
client_state.C,h
|
|
win/
|
|
wingui_mainwindow.cpp,h
|
|
win_util.h
|
|
win_screensaver.cpp
|
|
wingui_sswindow.cpp,h
|
|
|
|
David Feb 28 2003
|
|
- after master URL fetch done, write client state file
|
|
(so that we don't fetch it again)
|
|
- scheduler: don't check for WU feasibility if the client reports
|
|
zero disk or zero memory;
|
|
improved reporting of infeasibility
|
|
- added a "watchdog" script (wd.php) that checks log files for error msgs
|
|
and sends an email if any. Also added a sample watchdog that
|
|
makes sure #results changes
|
|
|
|
client/
|
|
client_types.C
|
|
cs_scheduler.C
|
|
scheduler_op.C
|
|
sched/
|
|
handle_request.C
|
|
wd.php
|
|
wd_nresults_changing.php
|
|
|
|
David Feb 28 2003
|
|
- add some fields to copy_state_fields().
|
|
(fixed bug where client always fetches master URL)
|
|
|
|
client/
|
|
client_types.C,h
|
|
|
|
David Mar 2 2003
|
|
- added code to garbage-collect APP_VERSIONs:
|
|
delete any APP_VERSION that's not referenced and for which
|
|
there's a later version of the same app.
|
|
Also garbage-collect executable files
|
|
(previously, they were never deleted).
|
|
- fixed minor bug (file offset on redirected POST2 HTTP op)
|
|
- added network bandwidth limits to global prefs web interface
|
|
|
|
todo
|
|
client/
|
|
client_state.C,h
|
|
cs_files.C
|
|
hostinfo_unix.C
|
|
http.C,h
|
|
html_user/
|
|
prefs.inc
|
|
sched/
|
|
handle_request.C
|
|
|
|
David Mar 2 2003
|
|
- escape single quotes on result.stderr_out and result.xml_doc_out
|
|
(since client could return something with single quotes)
|
|
- when get a DB error, write mysql's error string to log
|
|
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
mysql_util.C,h
|
|
sched/
|
|
handle_request.C
|
|
|
|
David Mar 3 2003
|
|
- run_on_batteries defaults to true
|
|
(else can't run test_uc.php on batteries)
|
|
- show correct time diffs in client out
|
|
- In user_html, use row2() uniformly, and added shading
|
|
- laid some groundwork for multiple prefs sets
|
|
|
|
client/
|
|
client_state.C
|
|
main.C
|
|
prefs.C
|
|
html_user/
|
|
prefs.inc
|
|
prefs_edit_global_form.php
|
|
project_specific_prefs.inc
|
|
show_hosts.php
|
|
user.inc
|
|
util.inc
|
|
test/
|
|
test_uc.php
|
|
|
|
David Mar 4 2003
|
|
- added PHP code for creating/editing/deleting multiple pref sets
|
|
See "prefs.inc" for a description of the XML format.
|
|
Prefs are divided into two subsets (global and project).
|
|
For each subset there is a mandatory "primary" version
|
|
and optional versions for home, school, and work.
|
|
The prefs display/editing code has been consolidated
|
|
and parameterized (subset = global or project,
|
|
venue = none, home, school, work).
|
|
This actually simplifies things a little.
|
|
|
|
html_user/
|
|
account_setup_first_action.php
|
|
account_setup_nonfirst_action.php
|
|
add_venue_action.php (new)
|
|
add_venue_form.php (new)
|
|
prefs.inc
|
|
prefs.php
|
|
prefs_edit_action.php (new)
|
|
prefs_edit_form.php (new)
|
|
prefs_edit_global* (removed)
|
|
prefs_edit_project* (removed)
|
|
user.inc
|
|
util.inc
|
|
|
|
David Mar 4 2003
|
|
- debugged prefs editing code
|
|
|
|
html_user/
|
|
account_setup_first_action.php
|
|
add_venue_action.php
|
|
add_venue_form.php
|
|
prefs.inc
|
|
prefs_edit_action.php
|
|
project_specific_prefs.inc
|
|
|
|
David Mar 5 2003
|
|
- use venue-specific prefs on client side:
|
|
- schedule server passes <host_venue> element in scheduler reply
|
|
(but only when it passes back new global prefs)
|
|
- when parsing global prefs, if find a matching
|
|
<venue> element, parse its contents and ignore all else
|
|
- when passing project-specific prefs to app,
|
|
look for matching <venue> element
|
|
- changed XML syntax of venue-specific prefs: instead of
|
|
<home>...</home>, e.g., use
|
|
<venue name="home">...</venue>
|
|
- added safe_strncpy(): always adds zero byte at end.
|
|
Use this instead of strncpy().
|
|
|
|
client/
|
|
app.C
|
|
client_state.C,h
|
|
cs_scheduler.C
|
|
hostinfo.C
|
|
prefs.C,h
|
|
scheduler_op.C,h
|
|
html_users/
|
|
add_venue_action.php
|
|
prefs.inc
|
|
show_host_detail.php
|
|
user.inc
|
|
lib/
|
|
parse.C,h
|
|
util.C,h
|
|
sched/
|
|
Makefile.in
|
|
server_types.C
|
|
|
|
David Mar 6 2003
|
|
- new show_message() conventions (not fully implemented):
|
|
- all error conditions should call show_message() with MSG_ERROR
|
|
- all log writes should use show_message() with MSG_INFO
|
|
TODO: change Win implementation of show_message() to
|
|
write to window AND to file (stderr.txt or stdout.txt)
|
|
- messages are now timestamped and show project name
|
|
- use start_table() and row2() more uniformly in user HTML
|
|
- user HTML: show message if can't connect to DB
|
|
- standardize terminology in user HTML: "general prefs",
|
|
"default computer location", etc.
|
|
|
|
client/
|
|
client_state.C
|
|
cs_scheduler.C
|
|
main.C
|
|
message.h
|
|
scheduler_op.C
|
|
doc/
|
|
prefs.html
|
|
html_user/
|
|
add_venue_form.php
|
|
bug_report_form.php
|
|
create_account*.php
|
|
db.inc
|
|
edit_email_form.php
|
|
edit_user_info_form.php
|
|
index.php
|
|
login*.php
|
|
prefs.inc
|
|
prefs_edit_form.php
|
|
show_user.php
|
|
team_create_form.php
|
|
top_hosts.php
|
|
user.inc
|
|
util.inc
|
|
lib/
|
|
util.C,h
|
|
sched/
|
|
*.C
|
|
|
|
Eric March 7, 2003
|
|
- Moved common functions (write_log, check_trigger, update_average)
|
|
into sched_util.C
|
|
- Added stop_server checking to more server programs
|
|
- Added update_stats program to periodically update exponential average
|
|
credit for users and hosts, and to update team credit by summing member credit
|
|
- Added db_sum, db_query_double to retrieve sums of columns (used by update_stats)
|
|
- Added db_user_sum_team_expavg_credit, db_user_sum_team_total_credit,
|
|
db_user_count_team for updating team statistics
|
|
- Confirmed that current exponential average algorithm is correct
|
|
|
|
db/
|
|
mysql_util.C,h
|
|
db_mysql.C
|
|
db.h
|
|
html_user/
|
|
top_teams.php
|
|
sched/
|
|
Makefile.in
|
|
*.C
|
|
sched_util.C,h (added)
|
|
update_stats.C (added)
|
|
|
|
Seth March 10, 2003
|
|
- changed windows graphics handling again. client/app messaging
|
|
now mainly consists of the client polling the app windows,
|
|
with apps messaging the client when they change modes.
|
|
moved most of this into the client's child screensaver window.
|
|
|
|
api/
|
|
windows_opengl.cpp
|
|
client/win/
|
|
wingui_sswindow.cpp,h
|
|
wingui_mainwindow.cpp,h
|
|
|
|
Eric March 11, 2003
|
|
- changed client exit to send a quit request to the apps, wait 1
|
|
second for them to quit, then kill them if they're still open.
|
|
This allows applications to do a final checkpoint before
|
|
quitting, rather than lose their recent work
|
|
- changed boinc_sleep to accept fractional sleep values
|
|
|
|
apps/
|
|
concat.C
|
|
upper_case.C
|
|
client/
|
|
app.C,h
|
|
client_state.C
|
|
cs_apps.C
|
|
test_*.C
|
|
lib/
|
|
util.C,h
|
|
|
|
Eric March 12, 2003
|
|
- Quit requests are now sent via the SIGQUIT signal (on UNIX)
|
|
or a named Event (on Windows), rather than via an XML file
|
|
|
|
api/
|
|
boinc_api.C,h
|
|
client/
|
|
app.C,h
|
|
|
|
Eric March 13, 2003
|
|
- Added System V message queue functions to library
|
|
|
|
lib/
|
|
msg_queue.C,h
|
|
msg_test.C
|
|
|
|
David Mar 15 2003
|
|
- added some state diagrams to docs
|
|
- changed var name from "giveup_after" to "file_xfer_giveup_period"
|
|
PLEASE USE MEANINGFUL NAMES, especially for global vars
|
|
|
|
todo
|
|
api/
|
|
boinc_api.h
|
|
client/
|
|
app.C
|
|
client_state.C,h
|
|
pers_file_xfer.C,h
|
|
doc/
|
|
various
|
|
sched/
|
|
feeder.C
|
|
|
|
Eric March 17, 2003
|
|
- Changed app->client communication to use shared memory rather
|
|
than files. The client sets up a shared memory segment when
|
|
starting the app. The app attaches to it and writes XML tags
|
|
into a 4K text buffer every second.
|
|
- The shared memory communication has been tested by hand under
|
|
Windows and UNIX (Mac OS X). We should write test scripts for
|
|
it to make sure.
|
|
|
|
configure.in
|
|
api/
|
|
boinc_api.C,h
|
|
apps/
|
|
Makefile.in
|
|
client/
|
|
app.C,h
|
|
cs_apps.C
|
|
lib/
|
|
shmem.C,h
|
|
|
|
David Mar 18 2003
|
|
- Don't write signed_xml and xml_signature tags in the state file
|
|
if they're empty strings
|
|
(this eliminates malformed XML in state file)
|
|
- Replace safe_strncpy(foo, "", sizeof(foo)) with strcpy(foo, "").
|
|
Reduce noise.
|
|
|
|
client/
|
|
app.C
|
|
client_state.C
|
|
client_types.C
|
|
file_xfer.C
|
|
hostinfo.C
|
|
http.C
|
|
scheduler_op.C
|
|
|
|
Eric March 19, 2003
|
|
- Moved OpenGL context creation/destruction outside of drawing
|
|
loop. This seems to improve speed on Windows 98.
|
|
- Added memory deallocation routine for client_state vectors.
|
|
This clears up several dozen unnecessary memory leak reports.
|
|
|
|
api/
|
|
windows_opengl.cpp
|
|
client/
|
|
app.C,h
|
|
client_state.C,h
|
|
cs_apps.C
|
|
win/
|
|
wingui_mainwindow.cpp
|
|
|
|
David Mar 19 2003
|
|
- general cleanup of user web
|
|
|
|
html_user/
|
|
*
|
|
show_hosts.php (removed)
|
|
|
|
David Mar 19 2003
|
|
- added global pref for max CPUs
|
|
- added global pref for min interval between disk writes
|
|
(applies to checkpoint writes only)
|
|
- added URL field to user table
|
|
- moved "send_email" field from XML to DB
|
|
- added "show_hosts" field to user table
|
|
|
|
show_host_public.php (removed)
|
|
client/
|
|
app.C
|
|
client_state.C,h
|
|
cs_apps.C
|
|
prefs.C,h
|
|
db/
|
|
db.h
|
|
db_mysql.C
|
|
schema.sql
|
|
doc/
|
|
index.html
|
|
html_user/
|
|
edit_user_info*
|
|
host.inc
|
|
prefs.inc
|
|
prefs_edit_*
|
|
show_host_detail.php
|
|
user.inc
|
|
util.inc
|
|
sched/
|
|
db_dump.C
|
|
test/
|
|
test.inc
|
|
tools/
|
|
add.C
|
|
|
|
Eric March 20, 2003
|
|
- Changed speed tests to use a realtime timer rather than
|
|
estimating the number of iterations.
|
|
- Changed floating point test to use more accurate code.
|
|
- Fixed memory bandwidth test reporting.
|
|
|
|
client/
|
|
app.C
|
|
client_state.C,h
|
|
speed_stats.C,h
|
|
|
|
David Mar 20 2003
|
|
- added web interface for "merging" hosts
|
|
- cleaned up team-related PHP code
|
|
|
|
html_user/
|
|
edit_host_action.php
|
|
edit_host_form.php
|
|
|
|
David Mar 21 2003
|
|
- fixed bugs in host merge
|
|
- (Eric) fix secs-per-day problem in credit
|
|
|
|
David Mar 24 2003
|
|
- added preference for time-of-day restrictions
|
|
(run only between hours X and Y)
|
|
|
|
client/
|
|
client_state.C
|
|
prefs.C,h
|
|
html_user/
|
|
create_account_action.php
|
|
create_account_form.php
|
|
prefs.inc
|
|
|
|
David Mar 25 2003
|
|
- account creation is now turned off by putting
|
|
"<disable_account_creation/>" in html_user/config.xml
|
|
- change name of config file to .htconfig.xml
|
|
(so can't read via HTTP)
|
|
|
|
html_user/
|
|
create_account*
|
|
util.inc
|
|
|
|
David Mar 31 2003
|
|
- add "-exit_before_upload" cmdline option
|
|
|
|
client/
|
|
client_state.C,h
|
|
pers_file_xfer.C
|
|
html_user/
|
|
team_create_action.php
|
|
test/
|
|
test_uc.php
|
|
|
|
David Mar 31 2003
|
|
- added random field to result.
|
|
Results are sent in random order, making it hard for hackers
|
|
to get multiple results for the same WU
|
|
- user-visible messages about files give names, not URLs
|
|
- Changed all occurrences of "time test" and "speed test"
|
|
to "CPU benchmark".
|
|
Please use accurate, consistent terminology in the code.
|
|
- changed command-line options:
|
|
-skip_cpu_benchmarks instead of -no_time_tests
|
|
-run_cpu_benchmarks instead of -run_speed_test
|
|
|
|
client/
|
|
client_state.C,h
|
|
file_names.h
|
|
hostinfo.C,h
|
|
net_xfer.C
|
|
pers_file_xfer.C
|
|
speed_stats.h
|
|
db/
|
|
constraints.sql
|
|
db.h
|
|
db_mysql.C
|
|
schema.sql
|
|
html_user/
|
|
prefs.inc
|
|
user.inc
|
|
sched/
|
|
make_work.C
|
|
test/
|
|
test_1sec.php
|
|
test_backend.php
|
|
test_uc.php
|
|
tools/
|
|
backend_lib.C
|
|
|
|
David Apr 3 2003
|
|
- added macro "safe_strcpy(x, y)"
|
|
** USE THIS INSTEAD OF safe_strncpy(x, y, sizeof(x))
|
|
- added macro "safe_strcat(x, y)"
|
|
** USE THIS INSTEAD OF strcat()
|
|
- changed dynamically-allocated fields of SCHEDULER_REQUEST,
|
|
SCHEDULER_REPLY to static
|
|
|
|
That combination of the above fixes a bug where a long
|
|
stderr_out could overwrite other fields of RESULT
|
|
|
|
client/
|
|
app.C
|
|
client_state.C
|
|
client_types.C
|
|
cs_scheduler.C
|
|
hostinfo_unix.C
|
|
http.C
|
|
net_xfer.C
|
|
pers_file_xfer.C
|
|
scheduler_op.C
|
|
doc/
|
|
index.html
|
|
lib/
|
|
filesys.C
|
|
util.C,h
|
|
sched/
|
|
file_deleter.C
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
server_types.C,h
|
|
|
|
David Apr 7 2003
|
|
- changed names of DB interface routines to get rid of conflict
|
|
with SETI@home DB interface
|
|
- changed name of "db.h" to "boinc_db.h" to remove conflict w/ SETI@home
|
|
|
|
db/
|
|
db.h (removed)
|
|
boinc_db.h (new)
|
|
db_mysql.C
|
|
sched/
|
|
*.C
|
|
tools/
|
|
*.C
|
|
|
|
Erik May 6 2003
|
|
- Added a notion of "transient" and "permanent" errors on file uploads.
|
|
A permanent error is returned by the file upload handler if
|
|
- the request is malformed
|
|
- filename includes ".."
|
|
- the signature is bad
|
|
- the file size is larger than allowed
|
|
PERS_FILE_XFER checks for this return from FILE_XFER
|
|
and gives up immediately.
|
|
- FILE_XFER now always parses the server response (not just for file size)
|
|
- Added some missing error checks to FILE_XFER
|
|
- Punted on the timezone-related ifdefs:
|
|
added hardwired ifdefs for linux and unix.
|
|
Need to revisit this
|
|
- in PHP test library, add a provision for multiple files per application
|
|
|
|
client/
|
|
file_xfer.C
|
|
hostinfo_unix.C
|
|
pers_file_xfer.C,h
|
|
doc/
|
|
client.html
|
|
index.html
|
|
old_news.html (new)
|
|
result.fig
|
|
setiathome.jpg
|
|
upload.html
|
|
lib/
|
|
error_numbers.h
|
|
sched/
|
|
file_upload_handler.C
|
|
test/
|
|
test.inc
|
|
|
|
Erik May 8 2003
|
|
- Added a new class SS_LOGIC that encapsulates the core client's
|
|
screensaver-related logic.
|
|
It tries to get graphics-capable apps to provide graphics,
|
|
and if necessary it draws logo-based graphics or blanks the screen.
|
|
- Changed ACTIVE_TASK.app_client_shm from a pointer to an object.
|
|
NOTE: AVOID DYNAMIC ALLOCATION WHENEVER POSSIBLE
|
|
- got rid of free_mem() stuff
|
|
|
|
client/
|
|
Makefile.in
|
|
app.C,h
|
|
cs_apps.C
|
|
ss_logic.C,h (new)
|
|
lib/
|
|
Makefile.in
|
|
app_ipc.C,h
|
|
|
|
Erik May 13 2003
|
|
- Added a notion of "tentative" project.
|
|
This means that the (URL, account ID) pair hasn't been verified,
|
|
i.e. we haven't fetched the master page, found a scheduler,
|
|
and done a scheduler op that verified the account ID.
|
|
If anything fails for a tentative project, call project_add_failed().
|
|
in the cmdline version this prints an error message,
|
|
deletes all evidence of the project, and exits.
|
|
TODO: implement for GUI
|
|
- Make write_account_file() into a member function of PROJECT.
|
|
- Got rid of CLIENT_STATE::change_project().
|
|
The user must detach and attach.
|
|
- CLIENT_STATE::quit_project() now takes a PROJECT*, not an int.
|
|
Need to change the GUI code.
|
|
- got rid of separate WIN_32 implementations of
|
|
make_project_dir(), remove_project_dir(), make_slot_dir().
|
|
THIS IS THE WRONG LEVEL FOR PLATFORM-DEPENDENT CODE!
|
|
Instead, added boinc_mkdir() and boinc_rmdir()
|
|
- added implementation docs for screensaver logic
|
|
- test_uc.php: wait for a second before running client.
|
|
On fast computers the client runs before feeder has seeded shmem.
|
|
|
|
client/
|
|
account.C,h
|
|
client_state.C,h
|
|
client_types.C,h
|
|
cs_scheduler.C
|
|
file_names.C
|
|
main.C
|
|
scheduler_op.C,h
|
|
ss_logic.C
|
|
win/
|
|
wingui.cpp
|
|
wingui_mainwindow.cpp
|
|
doc/
|
|
client_app.html
|
|
client_app_graphic.html
|
|
lib/
|
|
filesys.C,y
|
|
test/
|
|
test_uc.php
|
|
|
|
Erik May 14 2003
|
|
- added function to "reset" project (stop all current activities
|
|
and delete everything except sticky files)
|
|
- added function to "detach" from project (the above, plus
|
|
deleting all files, the account file, and the project)
|
|
|
|
client/
|
|
account.C
|
|
client_state.C,h
|
|
main.C
|
|
pers_file_xfer.C
|
|
lib/
|
|
util.C
|
|
test/
|
|
test_uc.php
|
|
|
|
Erik May 15 2003
|
|
- added cmdline options for show/detach/reset project
|
|
- -update_prefs command now takes a URL
|
|
- added license text to some files
|
|
|
|
client/
|
|
account.C
|
|
client_state.C,h
|
|
lib/
|
|
util.C
|
|
doc/
|
|
client.html
|
|
|
|
Erik May 15 2003
|
|
- change NET_XFER::net_sleep() so that it does up to about .5 sec of I/O,
|
|
rather than just one block per socket
|
|
|
|
client/
|
|
net_xfer.C
|
|
|
|
Erik May 16 2003
|
|
- set FILE_INFO::upload_offset to -1 before restarting file upload.
|
|
This forces file size check, so that upload can resume
|
|
with nonzero offset.
|
|
NOTE: THE USE OF "SPECIAL VALUES" (LIKE -1) IS DISCOURAGED
|
|
- don't set RESULT::state to NEW after parse.
|
|
This caused completed results to start over.
|
|
- PERS_FILE_XFER::start_xfer() is int, not bool
|
|
- better messages on file transfer failure and project backoff
|
|
- better message from scheduler if wrong major version
|
|
- file upload handler logging is on by default
|
|
|
|
client/
|
|
scheduler_op.C
|
|
pers_file_xfer.C,h
|
|
client_state.C
|
|
file_xfer.C
|
|
lib/
|
|
error_numbers.h
|
|
sched/
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
|
|
Eric May 16, 2003
|
|
- changed do_select to keep calling do_xfer for uploads until either
|
|
a) the send buffers are full or b) 1 second has passed
|
|
- changed variable name in Windows GUI code for clarity
|
|
|
|
client/
|
|
net_xfer.C
|
|
win/
|
|
wingui_mainwindow.cpp
|
|
|
|
Erik May 19 2003
|
|
- added support for user-selected files to be included
|
|
as part of an app_version.
|
|
If there is an element of the form
|
|
<app_file>
|
|
<url>X</url>
|
|
<open_name>Y</open_name>
|
|
</app_file>
|
|
in a user's project preferences,
|
|
then for every APP_VERSION that is sent to the user,
|
|
elements of the form
|
|
<file_info>
|
|
<name>X'</name>
|
|
<url>X</url>
|
|
</file_info>
|
|
... and in the <app_version> element
|
|
<file_ref>
|
|
<file_name>X'</file_name>
|
|
<open_name>Y</open_name>
|
|
</file_ref>
|
|
are added to the app version's XML description,
|
|
where X' is an escaped version of X.
|
|
This can be used (for example) to allow applications to
|
|
have user-specified images in their graphics
|
|
- Handle it correctly if the "insert" part of a file transfer fails
|
|
- The "main program" of an app version is the one labeled <main_program/>
|
|
(not necessarily the first one)
|
|
- Only files labeled <executable/> are required to be signed
|
|
- added copyright notice to some files
|
|
- added sgets() for parsing a string that is made up of multiple lines
|
|
- write MD5 checksum elements only if checksum is present
|
|
- created escape_url_readable
|
|
|
|
TODO: app_versions are currently treated as immutable by client.
|
|
Need to change this.
|
|
|
|
todo
|
|
api/
|
|
graphics_data.C,h
|
|
util.cpp,h
|
|
client/
|
|
app.C
|
|
client_state.C
|
|
client_types.C
|
|
cs_files.C
|
|
file_names.C
|
|
pers_file_xfer.C,h
|
|
doc/
|
|
api.html
|
|
boinc_dev.html
|
|
client_app.html
|
|
client_app_graphics.html
|
|
graphics.html
|
|
lib/
|
|
parse.C,h
|
|
util.C,h
|
|
sched/
|
|
handle_request.C
|
|
server_types.C,h
|
|
|
|
Eric May 20, 2003
|
|
- When you create a team you automatically join it
|
|
|
|
html_user/
|
|
team.inc
|
|
team_create_action.php
|
|
team_join_action.php
|
|
|
|
Erik May 21 2003
|
|
- in application w/ graphics, make sure worker thread is lower
|
|
priority than GUI thread
|
|
- show error msg if attach to existing project
|
|
- trim CR from end of message strings
|
|
- consider it a failure if tentative project master page
|
|
downloads OK but has no scheduler URLs
|
|
- clean up formatting of download page
|
|
|
|
api/
|
|
graphics_api.C
|
|
client/
|
|
account.C
|
|
main.C
|
|
scheduler_op.C
|
|
win/
|
|
wingui.cpp
|
|
html_user/
|
|
download.inc
|
|
lib/
|
|
error_numbers.h
|
|
|
|
Erik May 21 2003
|
|
- various changes to support abort of apps if use too much disk or CPU
|
|
- send workunit rsc_* fields in scheduler reply; store on client
|
|
- scheduler doesn't send estimated CPU time; instead,
|
|
client calculates it
|
|
- CPU time bound is estimated time * 2
|
|
- disk bound is rsc_disk
|
|
TODO: finish implementing this
|
|
- When an app finishes, see if any of the output files is larger
|
|
than its max_nbytes.
|
|
If so set its status to ERR_FILE_TOO_BIG.
|
|
This will prevent the client from trying to upload it.
|
|
TODO: make sure result is flagged as erroneous
|
|
- Change API_IGNORE_CLIENT to API_STANDALONE
|
|
- Apps start in MODE_WINDOW if standalone
|
|
|
|
api/
|
|
boinc_api.C,h
|
|
windows_opengl.cpp
|
|
client/
|
|
app.C,h
|
|
client_state.C,h
|
|
client_types.C,h
|
|
cs_apps.C
|
|
cs_scheduler.C
|
|
db/
|
|
boinc_db.h
|
|
lib/
|
|
error_numbers.h
|
|
sched/
|
|
handle_request.C
|
|
|
|
Erik May 22 2003
|
|
- abort applications that exceed max disk usage
|
|
Do this check at most global_prefs.disk_interval seconds
|
|
- moved code that detaches core/app shared memory from
|
|
CLIENT_STATE::handle_finished_apps() to
|
|
ACTIVE_TASK::check_app_exited()
|
|
NOTE: ACTIVE_TASK IS SUPPOSED TO ENCAPSULATE TASK IMPLEMENTATION
|
|
- CLIENT_STATE::handle_finished_apps(): don't view an app as finished
|
|
if it's in PROCESS_ABORT_PENDING state
|
|
- got rid of ACTIVE_TASK_SET::poll_time();
|
|
moved its functionality to ACTIVE_TASK_SET::poll()
|
|
- broke up ACTIVE_TASK_SET::poll() into subfunctions:
|
|
get_cpu_times(), check_app_exited(),
|
|
check_max_cpu_exceeded(), check_max_disk_exceeded()
|
|
- change function names:
|
|
get_cpu_time() -> get_cpu_time_via_os()
|
|
check_app_state() -> get_cpu_time_via_shmem()
|
|
handle_running_aps() -> handle_finished_apps()
|
|
- exit_tasks() is a member function of ACTIVE_TASK_SET, not CLIENT_STATE
|
|
|
|
client/
|
|
app.C,h
|
|
client_state.C,h
|
|
cs_apps.C
|
|
|
|
Eric May 29, 2003
|
|
- added foreign language support functions
|
|
- fixed allowed space calculation (standardized on 1 GB=2^30 bytes, not 10^9)
|
|
|
|
client/
|
|
client_state.C
|
|
lib/
|
|
language.C,h
|
|
|
|
Eric May 30, 2003
|
|
- nslots will now be updated correctly
|
|
if user changes preferences on web site
|
|
|
|
client/
|
|
client_state.C,h
|
|
cs_scheduler.C
|
|
|
|
David June 2 2003
|
|
In client API, standalone mode uses init files if they're there
|
|
|
|
api/
|
|
boinc_api.C
|
|
|
|
Karl 2003/06/02
|
|
- fixed some spelling and grammar
|
|
|
|
doc/
|
|
api.html
|
|
boinc_version.html
|
|
road_map.html
|
|
sequence.html
|
|
single_host_server.html
|
|
|
|
Eric June 3, 2002
|
|
- Added msg_printf function.
|
|
Use this function rather than show_message, since it
|
|
doesn't require a locally allocated buffer for formatted strings.
|
|
|
|
client/
|
|
account.C
|
|
app.C
|
|
client_state.C,h
|
|
cs_apps.C
|
|
cs_scheduler.C
|
|
file_xfer.C
|
|
net_xfer.C
|
|
pers_file_xfer.C
|
|
scheduler_op.C
|
|
|
|
Tim June 3, 2003
|
|
- Windows GUI enhancement
|
|
graphics window opens on top
|
|
simplified disk chart labels
|
|
message window scrolls to the bottom with new messages
|
|
reduce flicker in projects, results, and transfers
|
|
|
|
api/
|
|
windows_opengl.cpp
|
|
client/
|
|
gui_titles.c
|
|
wingui_mainwindow.cpp
|
|
|
|
David June 4 2003
|
|
- Checked in Eric Korpela's rewrite of the DB interface code.
|
|
No more db_xxx functions; instead, use derived classes
|
|
with insert(), update() etc. functions
|
|
|
|
db/
|
|
Makefile.in
|
|
boinc_db.C,h (.C new)
|
|
mysql_util.C,h (removed)
|
|
db_mysql.C (removed)
|
|
sched/
|
|
Makefile.in
|
|
assimilator.C
|
|
db_dump.C
|
|
feeder.C
|
|
file_deleter.C
|
|
handle_request.C
|
|
main.C,h
|
|
make_work.C
|
|
sched_shmem.C
|
|
timeout_check.C
|
|
update_stats.C
|
|
validate.C
|
|
tools/
|
|
Makefile.in
|
|
add.C
|
|
backend_lib.C,h
|
|
create_work.C
|
|
|
|
Eric June 4, 2003
|
|
- Added signal handlers for keyboard suspend/resume on UNIX
|
|
|
|
client/
|
|
main.C
|
|
|
|
Tim June 4, 2003
|
|
- Windows GUI enhancement
|
|
added "show" and "hide" to system tray icon context menu
|
|
added line between menu and tabs (not perfect; currently reside in updateGUI)
|
|
results now reads "downloading" and "uploading" during file transfer
|
|
removed history (i.e. completed results, old messages from last session)
|
|
|
|
client/
|
|
client_state.c
|
|
client_types.h
|
|
wingui_mainwindow.cpp
|
|
resource.rc
|
|
|
|
David June 5 2003
|
|
- use a separate DB table for core versions
|
|
|
|
db/
|
|
boinc_db.C,h
|
|
schema.sql
|
|
html_user/
|
|
download.inc
|
|
test/
|
|
test.inc
|
|
test_uc.php
|
|
tools/
|
|
add.C
|
|
|
|
Tim June 5, 2003
|
|
- bug fix
|
|
fixed "uploading" "downloading" problem
|
|
fixed minor problem with updateGUI
|
|
fixed "time of day" suspension check (was parsing XML incorrectly)
|
|
fixed "website" problem (missing "http://")
|
|
fixed "write to disk frequency" (was not implemented)
|
|
|
|
client/
|
|
client_state.c
|
|
client_state.h
|
|
prefs.c
|
|
wingui_mainwindow.cpp
|
|
|
|
Karl 2003/06/06
|
|
Rewrote build system using automake and modern autoconf.
|
|
|
|
Added:
|
|
|
|
RSAEuro/Makefile.am
|
|
RSAEuro/source/Makefile.am
|
|
api/Makefile.am
|
|
apps/Makefile.am
|
|
client/Makefile.am
|
|
db/Makefile.am
|
|
lib/Makefile.am
|
|
sched/Makefile.am
|
|
sched_fcgi/Makefile.am
|
|
tools/Makefile.am
|
|
configure.ac
|
|
|
|
(helper files:)
|
|
Makefile.incl
|
|
_autosetup
|
|
aclocal.m4
|
|
compile
|
|
depcomp
|
|
install-sh
|
|
missing
|
|
mkinstalldirs
|
|
config.h.in
|
|
test/version.inc.in
|
|
|
|
Modified:
|
|
test/test.inc
|
|
|
|
Removed:
|
|
RSAEuro/source/targets.mak
|
|
configure.in
|
|
|
|
These files are now built automatically:
|
|
|
|
RSAEuro/Makefile.in
|
|
RSAEuro/source/Makefile.in
|
|
api/Makefile.in
|
|
apps/Makefile.in
|
|
client/Makefile.in
|
|
db/Makefile.in
|
|
lib/Makefile.in
|
|
sched/Makefile.in
|
|
sched_fcgi/Makefile.in
|
|
tools/Makefile.in
|
|
|
|
Eric June 6, 2003
|
|
- Removed old extraneous functions from wingui
|
|
(EnumWindowsProc, GetWndFromProcId)
|
|
- Moved GetByteString to util.C, made platform independent,
|
|
added "x/y KB" option
|
|
- Changed est_time_to_completion to use a recent exponential
|
|
average of change in percent done. This is more accurate
|
|
than the old method.
|
|
- Bug fixes involving result state changes
|
|
|
|
client/
|
|
app.C,h
|
|
client_types.h
|
|
client_state.C
|
|
win/
|
|
wingui.cpp, h
|
|
wingui_mainwindow.cpp
|
|
wingui_piectrl.cpp
|
|
lib/
|
|
util.C,h
|
|
|
|
Karl 2003/06/06
|
|
|
|
- updated version number, email address, copyright date
|
|
- documented automake system and updated build notes (there's only 1 step
|
|
now instead of 5)
|
|
|
|
configure.ac
|
|
LICENSE
|
|
doc/
|
|
boinc_dev.html
|
|
build.txt
|
|
build_system.html (added)
|
|
|
|
Karl 2003/06/07
|
|
|
|
- removed "client" distribution
|
|
- started "make check" targets
|
|
- "make distcheck" now works
|
|
- documentation
|
|
|
|
Makefile.am
|
|
Makefile.incl
|
|
configure.ac
|
|
doc/
|
|
build.txt
|
|
build_system.html
|
|
road_map.html
|
|
test/
|
|
Makefile.am (added)
|
|
|
|
Tim June 9, 2003
|
|
- Windows GUI Enhancement
|
|
disk usage now displayed in two separate pie charts
|
|
improved the separation line between menu and tabs
|
|
- Preference
|
|
prompt user when downloading executable (commented out)
|
|
|
|
client/
|
|
file_xfer.c
|
|
gui_titles.c
|
|
pers_file_xfer.c
|
|
wingui_mainwindow.h
|
|
wingui_mainwindow.cpp
|
|
|
|
Karl 2003/06/09
|
|
- refactored exponential backoff to util.h
|
|
|
|
client/
|
|
pers_file_xfer.C
|
|
scheduler_op.C
|
|
lib/
|
|
util.h
|
|
util.C
|
|
|
|
Karl 2003/06/09
|
|
- enabled automake maintainer mode - less rebuilding of Makefiles
|
|
- updated doc
|
|
|
|
configure.ac
|
|
doc/
|
|
build_system.html
|
|
|
|
Karl 2003/06/11
|
|
- fixed skip_cpu_benchmarks bug
|
|
|
|
client/
|
|
client_state.C
|
|
|
|
Tim June 11, 2003
|
|
- Windows GUI Enhancement
|
|
modified flicker-reducing checks
|
|
- Preference
|
|
fixed prompt user when downloading executable (commented out)
|
|
|
|
client/
|
|
file_xfer.c
|
|
pers_file_xfer.c
|
|
wingui_mainwindow.cpp
|
|
|
|
Tim June 11, 2003
|
|
- Preference
|
|
improved executable confirmation message (commented out)
|
|
added max_memory_mbytes, process_priority, cpu_affinity
|
|
|
|
client/
|
|
pers_file_xfer.c
|
|
prefs.c
|
|
prefs.h
|
|
|
|
Karl 2003/06/11
|
|
- test suite overhaul
|
|
|
|
_autosetup
|
|
configure.ac
|
|
test/
|
|
Makefile.am
|
|
db_def_to_php
|
|
boinc_db.inc
|
|
version.inc.in
|
|
test.inc
|
|
test_1sec.php
|
|
test_backend.php
|
|
test_concat.php
|
|
test_download_backoff.php
|
|
test_limit.php
|
|
test_masterurl_failure.php
|
|
test_mdownload_backoff.php
|
|
test_pers.php
|
|
test_rsc.php
|
|
test_sched_failure.php
|
|
test_sticky.php
|
|
test_time.php
|
|
test_uc.php
|
|
test_upload_backoff.php
|
|
|
|
Eric K. 2003/06/16
|
|
Attempted to make the XML parser more robust by adding
|
|
extract_xml_record() to parse.C
|
|
Added const modifier to constant parameters to increase class
|
|
compatibility.
|
|
|
|
parse.C
|
|
parse.h
|
|
|
|
Karl 2003/06/16
|
|
Removed bzip2 rule; add 'foreign' option to automake through
|
|
configure.ac so you don't need to specify when invoking automake
|
|
manually
|
|
|
|
_autosetup
|
|
configure.ac
|
|
|
|
Karl 2003/06/16
|
|
Testing upload and connection failures (work in progress)
|
|
|
|
test.inc
|
|
test_uc.inc
|
|
test_uc.php
|
|
test_masterurl_failure.php
|
|
test_upload_resume.php
|
|
test_upload_backoff.php
|
|
testproxy
|
|
|
|
Tim June 16, 2003
|
|
- Preference
|
|
removed executable confirmation
|
|
implemented max_memory_mbyte
|
|
|
|
client/
|
|
pers_file_xfer.c
|
|
app.c
|
|
|
|
Tim June 17, 2003
|
|
- application graphics file
|
|
added timestamp to astropulse appfile
|
|
modified APP_FILE struct to include timestamp handling
|
|
scheduler sends "openname_timestamp" as name
|
|
open_name (if available) is used when creating a slot directory
|
|
- Windows GUI
|
|
finished items in results and transfers are now immediately removed
|
|
|
|
client/
|
|
app.c
|
|
wingui_mainwindow.cpp
|
|
html_user/
|
|
project_specific_prefs_ap.inc
|
|
sched/
|
|
handle_request.c
|
|
server_types.c
|
|
server_types.h
|
|
|
|
David June 17 2003
|
|
- If connect() fails, mark the HTTP_OP as done and in error.
|
|
Previously it just hung forever.
|
|
- Added DB fields for BOINC disk usage: total, project, and max
|
|
TODO: compute these on client and send in sched RPC
|
|
- Scheduler RPC request now includes a list of projects
|
|
and resource shares for the host.
|
|
Stored in the DB.
|
|
This lets the web site show other projects
|
|
that people participate in.
|
|
Also might be used in scheduling estimates.
|
|
- added a "Rules and policies" page to the web interface.
|
|
Users read this before creating account
|
|
- commented out check_max_mem_exceeded() (not ready)
|
|
|
|
todo
|
|
client/
|
|
app.C
|
|
cs_scheduler.C
|
|
http.C
|
|
db/
|
|
boinc_db.C,h
|
|
schema.sql
|
|
doc/
|
|
index.html
|
|
html_user/
|
|
create_account_form.php
|
|
index.php
|
|
info.php
|
|
|
|
Karl 2003/06/17
|
|
Fixed miscellaneous bugs, some very dangerous, from compiler warnings
|
|
|
|
lib/
|
|
parse.C
|
|
crypt.C
|
|
tools/
|
|
backend_lib.C
|
|
create_work.C
|
|
|
|
Karl 2003/06/17
|
|
Converting test scripts to Python
|
|
|
|
configure.ac
|
|
test/
|
|
Makefile.am
|
|
boinc.py
|
|
boinc_db.py
|
|
db_def_to_py
|
|
testproxy
|
|
test.inc
|
|
test_upload_backoff.php
|
|
test_uc.py
|
|
test_concat.py
|
|
test_1sec.py
|
|
test_backend.py
|
|
version.py.in
|
|
|
|
Tim June 18, 2003
|
|
- Windows GUI
|
|
updated icons
|
|
- project preference
|
|
implemented account mirroring
|
|
|
|
client/win/res/
|
|
icon.ico
|
|
iconhigh.ico
|
|
iconsmall.ico
|
|
html_user/
|
|
create_account_action.php
|
|
create_account_form.php
|
|
|
|
David June 18 2003
|
|
- export user country and create_time in db_dump
|
|
- move functions involving BOINC "soft links" to app_ipc.C
|
|
(they don't belong in filesys.C)
|
|
- move functions to get filesystem total/free to filesys.C
|
|
- add doc page for watchdogs
|
|
|
|
api/
|
|
boinc_api.C
|
|
client/
|
|
hostinfo.h
|
|
hostinfo_unix.C
|
|
db/
|
|
boinc_db.h
|
|
doc/
|
|
create_project.html
|
|
db_dump.html
|
|
watchdog.html (new)
|
|
lib/
|
|
app_ipc.C,h
|
|
filesys.C,h
|
|
sched/
|
|
Makefile.am
|
|
db_dump.C
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
server_types.C,h
|
|
|
|
David June 18 2003
|
|
- upload: if exceed size limit, read and discard rest of request
|
|
|
|
sched/
|
|
file_upload_handler.C
|
|
|
|
David June 18 2003
|
|
- added user web interface for seeing results for a host
|
|
|
|
client/
|
|
cs_scheduler.C
|
|
lib/
|
|
result_state.h
|
|
html_user/
|
|
host.inc
|
|
result.inc (new)
|
|
results_host.php (new)
|
|
|
|
David June 19 2003
|
|
- added admin web interface for looking at status of recent results
|
|
- set result.received_time whenever the server_state becomes DONE
|
|
(this makes it possible to enumerate all results that have
|
|
become done recently, including timeouts and other errors)
|
|
|
|
html_ops/
|
|
index.html (removed)
|
|
index.php
|
|
result_summary.php (new)
|
|
sched/
|
|
handle_request.C
|
|
validate.C
|
|
timeout_check.C
|
|
|
|
Karl 2003/06/19
|
|
- make_work: make hard links instead of copies of workunit files
|
|
|
|
sched/
|
|
make_work.C
|
|
|
|
Tim June 19, 2003
|
|
- Astropulse Website
|
|
added description to project preferences
|
|
- Windows GUI
|
|
implemented message pane entry limit
|
|
new icons
|
|
|
|
client/win/res/
|
|
icon.ico
|
|
iconhigh.ico
|
|
iconsmall.ico
|
|
html_user/
|
|
db.inc
|
|
host.inc
|
|
project_specific_prefs_ap.inc
|
|
|
|
Karl 2003/06/19
|
|
- scheduler daemons: write pid to a pidfile. trap SIGINTs and exit on
|
|
the next check_stop_trigger() (the 'stop_server' file still works)
|
|
- wrote a kill_server program that kills specified daemons by sending
|
|
SIGINT to processes
|
|
- use kill_server in test scripts
|
|
|
|
sched/
|
|
kill_server (added)
|
|
Makefile.am
|
|
assimilator.C
|
|
feeder.C
|
|
file_deleter.C
|
|
make_work.C
|
|
sched_util.C
|
|
sched_util.h
|
|
timeout_check.C
|
|
update_stats.C
|
|
validate.C
|
|
test/
|
|
.cvsignore
|
|
Makefile.am
|
|
boinc.py
|
|
version.py.in
|
|
|
|
David June 20 2003
|
|
- use mysql_connect() instead of mysql_pconnect() in PHP.
|
|
The latter caused failures in mysql_select_db(),
|
|
with "commands out of sync" error.
|
|
|
|
html_user/
|
|
db.inc
|
|
html_ops/
|
|
db.inc
|
|
|
|
Karl 2003/06/20
|
|
- make client build by default use static libraries
|
|
|
|
client/
|
|
Makefile.am
|
|
doc/
|
|
build.txt
|
|
|
|
Karl 2003/06/20
|
|
- improve readability of shmem error message
|
|
|
|
sched/
|
|
main.C
|
|
lib/
|
|
shmem.C
|
|
test/
|
|
boinc.py
|
|
|
|
Karl 2003/06/20
|
|
- remove OpenGL(U) dependency on unix test apps
|
|
|
|
apps/
|
|
Makefile.am
|
|
upper_case.C
|
|
|
|
Tim June 23, 2003
|
|
- Project Preference
|
|
Added venue parsing (fixes stderr.txt PROJECT::parse_account() error), but commented out
|
|
- Windows GUI
|
|
UpdateGUI only refreshes active tab (reduces Windows CPU time by 85%)
|
|
Fixed m_MessageListCtrl scrolling issue
|
|
Changed pie chart labels
|
|
Temporarily fixed the afx assertion failure at line 157
|
|
|
|
client/
|
|
client_types.c
|
|
gui_title.c
|
|
client/win/
|
|
wingui_mainwindow.cpp
|
|
|
|
John Brian 2003/06/23
|
|
- Changed label text in "Disk" tab:
|
|
"BOINC" -> "BOINC core client"
|
|
"PROJECT:" prepending removed
|
|
|
|
- Removed CProgressListCtrl::OnLButtonDown to allow
|
|
left mouse clicks to highlight list items.
|
|
|
|
/client/win/
|
|
gui_titles.C
|
|
wingui_listctrl.h
|
|
wingui_listctrl.cpp
|
|
|
|
Karl 2003/06/23
|
|
- changed uses of HOST to HOSTTYPE to simplify command line and fix
|
|
conflict with boinc_db.h's HOST
|
|
|
|
configure.ac
|
|
Makefile.incl
|
|
client/
|
|
client_state.C
|
|
db/
|
|
boinc_db.h
|
|
|
|
Karl 2003/06/23
|
|
- Make sure the user can't add one project twice (by one having a trailing
|
|
slash).
|
|
Canonicalize master urls to have a trailing '/' and remove double
|
|
slashes. Ensure account filenames and directories do not have the
|
|
trailing '_'. For many users their account files already have
|
|
trailing '_'s so if such files are found, rename them and their
|
|
corresponding project directories on startup. Created C++ string
|
|
versions of some functions for easier/safer/more efficient string
|
|
manipulation.
|
|
|
|
client/
|
|
account.C
|
|
client_types.C
|
|
file_names.C
|
|
lib/
|
|
filesys.C
|
|
filesys.h
|
|
util.C
|
|
util.h
|
|
|
|
Karl 2003/06/23
|
|
- removed stderr messages on detach_project() after user adds a URL that
|
|
doesn't work
|
|
|
|
client/
|
|
http.C
|
|
net_xfer.C
|
|
|
|
John Brian 2003/06/24
|
|
- Added context-menu support for copying items in the Messages tab to the
|
|
clipboard.
|
|
|
|
client/
|
|
wingui_mainwindow.cpp
|
|
wingui_mainwindow.h
|
|
resource.rc
|
|
resource.h
|
|
|
|
Karl 2003/06/24
|
|
- Got test_1sec working
|
|
|
|
test/
|
|
boinc.py
|
|
test.inc
|
|
test_backend.py
|
|
test_uc.py
|
|
sched/
|
|
start_servers.C
|
|
|
|
Karl 2003/06/25
|
|
- if application exceeds disk space limit, output message "Exceeded size
|
|
limit" instead of "Couldn't upload files"
|
|
- test that an aborted result due to file limit causes client_state =
|
|
RESULT_OUTCOME_CLIENT_ERROR (currently this test FAILS!)
|
|
- test resource limits in python
|
|
|
|
db/
|
|
boinc_db.h
|
|
client/
|
|
client_state.C
|
|
sched/
|
|
handle_request.C
|
|
test/
|
|
boinc.py
|
|
test_abort.py (new)
|
|
test_rsc.py (new)
|
|
test_backend.py
|
|
test_concat.py
|
|
test_uc.py
|
|
|
|
Karl 2003/06/25
|
|
- created a script to automatically run make all, check, distcheck from a
|
|
cronjob - complains if anything fails.
|
|
|
|
./testbase (new)
|
|
|
|
Karl 2003/06/26
|
|
- fixed bug that caused client state to transition to
|
|
RESULT_FILES_UPLOADING even when file info(s) had errors; now it stays
|
|
in RESULT_COMPUTE_DONE. [passes test_abort now]
|
|
|
|
client/
|
|
client_state.C
|
|
cs_apps.C
|
|
|
|
Karl 2003/06/26
|
|
- makefile should rebuild version.py and boinc_db.py if necessary
|
|
- test_sanity should make sure proxy setup works
|
|
- test_masterurl_failure
|
|
|
|
test/
|
|
Makefile.am
|
|
test_sanity.py
|
|
boinc.py
|
|
test_masterurl_failure.py (new)
|
|
|
|
Karl 2003/06/26
|
|
- working on master url fetch failure retry policy
|
|
- test_signal.py. currently FAILS!
|
|
- test_exit.py. currently FAILS!
|
|
There is another bug similar to the one found by test_abort where the
|
|
client goes into FILES_UPLOADED even the application exited with an error.
|
|
|
|
client/
|
|
client_state.C
|
|
scheduler_op.C
|
|
|
|
lib/
|
|
util.C
|
|
util.h
|
|
|
|
test/
|
|
boinc.py
|
|
test_masterurl_failure.py
|
|
test_uc.py
|
|
testproxy
|
|
test_exit.py (added)
|
|
test_signal.py (added)
|
|
|
|
Karl 2003/06/30
|
|
- added checks for OUTCOME for successful and (expected) unsuccessful
|
|
results, and CLIENT_STATE for successful results. Parse
|
|
lib/result_state.h.
|
|
|
|
test/
|
|
Makefile.am
|
|
boinc_db.py
|
|
BOINC_db.inc
|
|
test_uc.py
|
|
|
|
John Brian 2003/06/30
|
|
- Removed stray printf used in debugging background graphics code.
|
|
|
|
astropulse/client/
|
|
ap_graphics.C
|
|
|
|
|
|
Karl 2003/06/30
|
|
- schedulers: improved logging facilities.
|
|
- Use a library for common object files.
|
|
- changed timestamp() to be numeric, similar to ISO 8601
|
|
|
|
lib/
|
|
util.C
|
|
sched/
|
|
Makefile.am
|
|
assimilate_handler.C
|
|
assimilator.C
|
|
db_dump.C
|
|
feeder.C
|
|
file_deleter.C
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
main.C
|
|
make_work.C
|
|
sched_util.C
|
|
sched_util.h
|
|
server_types.C
|
|
start_servers.C
|
|
timeout_check.C
|
|
update_stats.C
|
|
validate.C
|
|
validate_test.C
|
|
|
|
David June 30 2003
|
|
- change the admin interface to the DB
|
|
|
|
html_ops/
|
|
db.inc
|
|
db_action.php (new)
|
|
db_form.php (new)
|
|
index.php
|
|
result_summary.php
|
|
util.inc
|
|
|
|
David July 1 2003
|
|
- further tweaks to web DB interface
|
|
|
|
html_ops/
|
|
db.inc
|
|
db_action.php
|
|
db_form.php
|
|
index.php
|
|
|
|
Karl 2003/07/01-02
|
|
- redesigned logging facilities for both scheduler servers and client
|
|
It is now easy to see the flow of events from looking at client.out
|
|
|
|
client/
|
|
Makefile.am
|
|
app.C
|
|
client_messages.C (added)
|
|
client_state.C
|
|
cs_apps.C
|
|
cs_files.C
|
|
cs_scheduler.C
|
|
file_xfer.C
|
|
http.C
|
|
main.C
|
|
message.h
|
|
net_xfer.C
|
|
pers_file_xfer.C
|
|
scheduler_op.C
|
|
|
|
lib/
|
|
messages.C (added)
|
|
util.h
|
|
|
|
sched/
|
|
Makefile.am
|
|
assimilate_handler.C
|
|
assimilator.C
|
|
db_dump.C
|
|
feeder.C
|
|
file_deleter.C
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
main.C
|
|
make_work.C
|
|
sched_messages.C (added)
|
|
sched_util.C
|
|
sched_util.h
|
|
server_types.C
|
|
start_servers.C
|
|
timeout_check.C
|
|
update_stats.C
|
|
validate.C
|
|
validate_test.C
|
|
|
|
Karl 2003/07/02
|
|
- added grepping for WU/results in log files. Can also just view log
|
|
file(s). Spiffy colorization and hyperlinks.
|
|
|
|
html_ops/
|
|
db.inc
|
|
db_action.php
|
|
show_log.php (new)
|
|
sched/
|
|
grep_logs (new)
|
|
test/
|
|
boinc.py
|
|
test_backend.py
|
|
|
|
Karl 2003/07/02
|
|
- turn on static libraries only on Linux
|
|
|
|
configure.ac
|
|
client/
|
|
Makefile.am
|
|
|
|
Karl 2003/07/02
|
|
- changed when "deferring communication" messages are printed so that user
|
|
sees them on client startup and every hour. Also format the message as
|
|
"X hours, X minutes, X seconds", etc.
|
|
|
|
lib/
|
|
util.h
|
|
util.c
|
|
|
|
client/
|
|
client_types.C
|
|
client_types.h
|
|
cs_scheduler.C
|
|
scheduler_op.C
|
|
scheduler_op.h
|
|
|
|
David July 2 2003
|
|
- changed all "fprintf(stderr," in the client to msg_printf()
|
|
This will give better messages (timestamps, project names)
|
|
in the cmdline version, and more complete error messages
|
|
in the GUI version
|
|
- moved msg_printf() from client_state.C to message.C
|
|
|
|
client/
|
|
*.C
|
|
message.C (new)
|
|
|
|
David July 3 2003
|
|
- added "custom signup page" feature
|
|
|
|
html_user/
|
|
clone.php (new)
|
|
create_account_action.php
|
|
create_account_form.php
|
|
index.php
|
|
project_ap.inc
|
|
team.php
|
|
user.inc
|
|
util.inc
|
|
|
|
Karl 2003/07/03-08
|
|
- created python start/stop program to handle daemonish and cronish tasks.
|
|
See sched/start builtin help for info
|
|
|
|
sched/
|
|
boinc_config.py (new)
|
|
start (new)
|
|
Makefile.am
|
|
assimilator.C
|
|
config.C
|
|
feeder.C
|
|
file_deleter.C
|
|
make_work.C
|
|
timeout_check.C
|
|
update_stats.C
|
|
validate.C
|
|
test/
|
|
boinc.py
|
|
|
|
John Brian 2003/07/11
|
|
- added profile functionality to BOINC. Users can now add, modify, and delete
|
|
personal profiles. Scripts to build picture galleries, and country summaries
|
|
are also available. Most of the functionality of the SETI@Home profiling system
|
|
is now available in BOINC.
|
|
|
|
html_user/
|
|
create_profile.php (new)
|
|
delete_profile.php (new)
|
|
gallery.inc (new)
|
|
generate_country_pages.php (new)
|
|
generate_picture_pages.php (new)
|
|
index.php
|
|
languages.txt (new)
|
|
profile.inc (new)
|
|
profile_menu.php (new)
|
|
project.inc
|
|
user.inc
|
|
util.inc
|
|
view_profile.php (new)
|
|
|
|
David July 15 2003
|
|
- use double for VM working set size
|
|
- finished replacing license text
|
|
|
|
api/
|
|
boinc_api.C,h
|
|
|
|
David July 15 2003
|
|
- project-specific files are now kept in separate repositories
|
|
|
|
html_user/
|
|
project_ap.inc (removed)
|
|
project_specific_prefs_ap.inc (removed)
|
|
|
|
Karl 2003/07/18
|
|
- created make_project script
|
|
- split test/boinc.py into test-specific and project-creation
|
|
- made everything work if build dir != src dir
|
|
|
|
configure.ac
|
|
|
|
py/ (added)
|
|
Makefile.am
|
|
boinc.py
|
|
version.py.in
|
|
|
|
test/
|
|
boinc.py (removed)
|
|
test_*.py
|
|
|
|
tools/
|
|
make_project (added)
|
|
|
|
Karl 2003/07/22
|
|
fixed 'debug assertion failure'. Release 1.05.
|
|
|
|
Client/*
|
|
|
|
updated database schema
|
|
db/*, test/*, py/*
|
|
|
|
Karl 2003/07/24
|
|
fixed dll problem. Added language.ini files from
|
|
http://www.boinc.dk/index.php?page=download_languages.
|
|
|
|
Release 1.06.
|
|
|
|
David July 24 2003
|
|
- added code to check integrity of client data structures
|
|
|
|
client/
|
|
client_state.C,h
|
|
|
|
Karl 2003/07/24
|
|
fixed bugs with file_info->pers_file_info->file_info and stderr.txt
|
|
reading
|
|
|
|
release 1.07.
|
|
|
|
client/*
|
|
|
|
Karl 2003/07/25
|
|
added client_version_num (e.g. 105) field to RESULT table
|
|
|
|
New tools/update_core_client_versions script that scans apps/ for client
|
|
versions and updates the database
|
|
|
|
improved start/stop program
|
|
|
|
added "run benchmarks now" File menu command, and display results.
|
|
|
|
Fixed global preferences not being updated to/from client because of
|
|
<mod_time> parse bug.
|
|
|
|
db/*
|
|
sched/*
|
|
py/*
|
|
tools/*
|
|
client/*
|
|
|
|
Karl 2003/07/27
|
|
fixed bug in timeout_check if WU has no results
|
|
sched/timeout_check.C
|
|
|
|
Karl 2003/07/28
|
|
- fixed "work between X:00 and Y:00" prefs/xml bug
|
|
- added idle_time_to_run and run_if_user_active checking
|
|
- changed country "none" to "none or international"
|
|
- show "Suspended" in GUI if suspended. Preliminary work to cleanup
|
|
files,transfers
|
|
- fixed "platform '%s' not found" not found \n bug
|
|
- show "preferences updated" for global and project prefs
|
|
|
|
html_user/*
|
|
client/*
|
|
sched/*
|
|
|
|
Karl 2003/07/29
|
|
- GUI: right clicking sets list item focus
|
|
- added right click -> retry transfer now
|
|
|
|
client/*
|
|
client/win/*
|
|
|
|
David July 29 2003
|
|
- allow scheduler RPCs while client is suspended
|
|
- when suspend client, stop all PERS_FILE_XFERs,
|
|
close the associated sockets and FILE*s
|
|
and delete the FILE_XFER objects
|
|
- cleaned up suspend/resume logic a bit;
|
|
check_suspend_activities() now just checks,
|
|
a separate function suspend_activities() does the suspending
|
|
- don't start new FILE_XFERS while suspended
|
|
- show message when restarting a result
|
|
|
|
client/
|
|
app.C
|
|
client_state.C,h
|
|
cs_apps.C
|
|
cs_files.C
|
|
file_xfer.h
|
|
http.C
|
|
net_xfer.C
|
|
pers_file_xfer.C,h
|
|
win/
|
|
wingui_mainwindow.cpp
|
|
doc/
|
|
index.html
|
|
old_news.html
|
|
|
|
Karl 2003/07/30-31
|
|
- translations: refactored translation functions; added dynamic project
|
|
menu item; added missing translations for dialogs and menu
|
|
items. Updated translation template and fixed '\r's.
|
|
- file & status bar menus: 'force run' / 'run based on preferences' /
|
|
'pause' (as radio checks)
|
|
- file menu: 'Hide'
|
|
- show reason for Unrecoverable error in user output
|
|
|
|
Client/*
|
|
client/win/*
|
|
client/translations/*
|
|
|
|
Karl 2003/07/31
|
|
- fixed screensaver "freezing" (on blanking) bug
|
|
|
|
client/ss_logic.C, win/*
|
|
|
|
Karl 2003/07/31
|
|
- fixed astropulse memory leak
|
|
|
|
astropulse/client/*
|
|
|
|
Karl 2003/08/01
|
|
- if a file to download exists already and signature and checksum match,
|
|
skip downloading it.
|
|
- when running benchmarks say pausing computation, and "run always / run
|
|
never" works correctly with benchmarks
|
|
|
|
Client/*
|
|
|
|
David August 1 2003
|
|
- add "-suspend" cmdline option (start up in suspended mode)
|
|
- parse <optional/> tag within <file_ref> element
|
|
- implement behavior for "optional" file references
|
|
(if file hasn't been downloaded by deadline, start app anyway)
|
|
|
|
client/
|
|
client_state.C
|
|
client_types.C,h
|
|
cs_apps.C
|
|
cs_scheduler.C
|
|
|
|
David Aug 1 2003
|
|
- global_prefs.disk_interval doesn't apply to writing the state file
|
|
(only to application checkpointing)
|
|
|
|
client/
|
|
client_state.C,h
|
|
|
|
David Aug 1 2003
|
|
- use _exit() instead of exit() on execv failure
|
|
- garbage_collect() and update_results() even if suspended
|
|
|
|
client/
|
|
app.C
|
|
client_state.C
|
|
|
|
Karl 2003/08/01
|
|
- increased MAX_APP_VERSIONS from 100 to 500
|
|
sched/*
|
|
|
|
Karl 2003/08/01
|
|
- fixed \n s in client messages
|
|
client/*
|
|
|
|
Karl 2003/08/01
|
|
Release BOINC 1.09, Astropulse 1.09
|
|
|
|
Karl 2003/08/04
|
|
Astropulse: Fixed windows \r\n translation bug
|
|
|
|
release Astropulse 1.10.
|
|
|
|
Karl 2003/08/04
|
|
Show release date and "new" on download page.
|
|
Fixed date_str and changed format of timestamps to be sortable.
|
|
Remodelling html_ops view.
|
|
|
|
Html_user/*
|
|
html_ops/*
|
|
|
|
Karl 2003/08/05
|
|
Fixed Astropulse checkpoint-resume crash bugs: save relevant state
|
|
variables. In the process got rid of single-letter variables and
|
|
refactored some code.
|
|
|
|
Astropulse/client/*
|
|
|
|
Release Astropulse 1.11.
|
|
|
|
Karl 2003/08/06
|
|
Fixed time stats calculation - changed integer division to FP division.
|
|
|
|
Client/time_stats.C
|
|
|
|
David Aug 7 2003
|
|
- use "%e" instead of "%f" in database printfs; avoid roundoff errors
|
|
- let users browse info about their results,
|
|
e.g. to see other results for the same WU
|
|
|
|
db/
|
|
boinc_db.C
|
|
html_user/
|
|
explain_state.php (new)
|
|
login_action.php
|
|
results_host.php
|
|
workunit.php (new)
|
|
|
|
Karl 2003/08/07
|
|
- client: Start tasks in order of earliest report_deadline.
|
|
- added next_result_to_start()
|
|
- client: don't report a result until 6 hours before report_deadline
|
|
(or other reason to contact scheduler)
|
|
- scheduler: Send report deadline
|
|
- client GUI: added 'report deadline' column. Rewrote column-order
|
|
profile code.
|
|
|
|
client/
|
|
client_state.h
|
|
cs_apps.C
|
|
cs_scheduler.C
|
|
win/*
|
|
|
|
sched/
|
|
handle_request.C
|
|
|
|
Karl 2003/08/08
|
|
- fixed bug with timeout_check not noticing old wu error_mask, generating
|
|
new result and then marking WU as FILE_DELETE_READY.
|
|
|
|
Sched/timeout_check.C
|
|
|
|
Karl 2003/08/08
|
|
- changed team disbanding to happen automatically when user quits it (or
|
|
joins a different team).
|
|
- fixed various bugs and quirks in team
|
|
joining/quitting/switching/removing inactive users
|
|
|
|
Html_user/*
|
|
|
|
Karl 2003/08/08
|
|
- client: take into account active_frac and n_cpus when requesting work.
|
|
- removed vestigial host_info variables {active,on,connected}_frac.
|
|
- server: take into account delay_bound, active_frac and n_cpus when
|
|
checking WU feasibility
|
|
|
|
client/*
|
|
sched/*
|
|
|
|
Karl 2003/08/10
|
|
- client (unix): handle fork() failure
|
|
- client (unix): set application process priority to 19
|
|
|
|
configure.ac
|
|
config.h.in
|
|
client/
|
|
app.C
|
|
|
|
Karl 2003/08/10
|
|
- client: show platform name on startup
|
|
client/
|
|
client_state.C
|
|
|
|
Karl 2003/08/10
|
|
- timeout_check: change 'random' for new results (!)
|
|
- moved lrand48() and init code from create_result() to
|
|
result.insert()
|
|
|
|
tools/
|
|
backend_lib.C
|
|
|
|
db/
|
|
boinc_db.C
|
|
boinc_db.h
|
|
|
|
Karl 2003/08/11
|
|
- astropulse: change delay_bound from 2 days to 14 days
|
|
- astropulse: validator fixes
|
|
- allow broken results (file not found) instead of crashing
|
|
- misc fixes
|
|
|
|
astropulse/result/*
|
|
|
|
Karl 2003/08/12
|
|
- client: take into account active_task's fraction_done when calculating
|
|
seconds of work needed
|
|
- client: completion time estimate fixes
|
|
|
|
client/
|
|
app.[Ch]
|
|
client_state.[Ch]
|
|
cs_scheduler.C
|
|
client/win/
|
|
wingui_mainwindow.cpp
|
|
|
|
Karl 2003/08/12
|
|
- Astropulse: changed timeout_check_time to time(0)+delay_bound instead
|
|
of time(0)+1day
|
|
- Astropulse: rsc_fpops calculation: reduced fudge factor by 3
|
|
|
|
Astropulse/split/pulse_split.C
|
|
|
|
Karl 2003/08/12
|
|
- scheduler: if a result is received while already in
|
|
RESULT_SERVER_STATE_OVER, don't immediately mark it FILE_DELETE_READY.
|
|
we shouldn't delete the file yet because we could potentially still
|
|
check it against the canonical result (if its result hasn't been deleted
|
|
yet).
|
|
|
|
sched/
|
|
handle_request.C
|
|
|
|
Chrisz 2003/8/13
|
|
- if get either new global prefs OR new venue,
|
|
parse and install prefs
|
|
|
|
client/
|
|
cs_scheduler.C
|
|
|
|
Karl 2003/08/13
|
|
- validator: use SQL queries instead of 'if' statements
|
|
- validator: fixed bug where UNSENT results don't get marked DIDNT_NEED
|
|
|
|
sched/
|
|
validate.C
|
|
|
|
Karl 2003/08/13
|
|
- applied FreeBSD patch & misc fixes
|
|
|
|
configure.ac
|
|
m4/
|
|
acx_pthread.m4
|
|
client/
|
|
hostinfo_unix.C
|
|
lib/
|
|
filesys.C
|
|
shmem.C
|
|
|
|
_autosetup
|
|
aclocal.m4
|
|
|
|
|
|
|
|
Karl 2003/08/13
|
|
- test script fixes: increase delay_bound to reasonable value since it's
|
|
now checked by handle_request
|
|
|
|
test/
|
|
testbase.py
|
|
test_uc.py
|
|
|
|
Karl 2003/08/13
|
|
- create validation routines which generalize what used to be
|
|
validate_test, but more efficiently and safer (from buffer overruns and
|
|
allows NULL character in files). Rewrote validate_test using this, and
|
|
created validate_trivial which grants credit to all results.
|
|
- more greppability
|
|
|
|
Sched/
|
|
Makefile.am
|
|
validate.C
|
|
validate_test.C
|
|
validate_trivial.C (new)
|
|
validate_trivial.h (new)
|
|
validate_util.C (new)
|
|
validate_util.h (new)
|
|
|
|
Karl 2003/08/13
|
|
- added '-return_results_immediately' flag to client to allow it to
|
|
ignore the report deadline when deciding when to report a result
|
|
(mainly for testing)
|
|
|
|
client/
|
|
cs_scheduler.C
|
|
client_state.C
|
|
client_state.h
|
|
|
|
Karl 2003/08/14
|
|
- Astropulse: created autoconf and automake files
|
|
- Astropulse: if output file doesn't exist yet when opening, write a
|
|
version number.
|
|
- scheduler: renamed config.h to sched_config.h to avoid conflict with
|
|
default autoconf config.h
|
|
- api: added MFILE::ftell() function
|
|
- cleaned up boinc configure/makefiles
|
|
|
|
Astropulse/
|
|
configure.ac, configure (added)
|
|
_autosetup, aclocal.m4, config.h.in (added)
|
|
depcomp, install-sh, missing, mkinstalldirs (added)
|
|
*/Makefile.am, */Makefile.in (added)
|
|
*/Makefile (removed)
|
|
client/
|
|
ap_file_io.C
|
|
|
|
sched/
|
|
config.h ->renamed-> sched_config.h
|
|
*.C
|
|
api/
|
|
boinc_api.h
|
|
mfile.C
|
|
|
|
|
|
Karl,Dave 2003/08/14
|
|
|
|
- rewriting scheduler
|
|
- tagged old code as SCHEDULER_V1
|
|
|
|
sched/
|
|
|
|
Karl 2003/08/15
|
|
- sched: added explanatory messages to file_upload_handler errors
|
|
|
|
sched/
|
|
file_upload_handler.C
|
|
|
|
Karl 2003/08/15
|
|
- db_dump: added core_versions.xml; simplified
|
|
|
|
sched/
|
|
db_dump.C
|
|
|
|
David Aug 15 2003
|
|
- revised backend logic
|
|
This fixes some bugs and inefficiencies (I hope)
|
|
Redundancy parameters are now part of workunit DB records
|
|
- TODO: update test scripts to reflect these changes; debug
|
|
|
|
db/
|
|
boinc_db.C,h
|
|
constraints.sql
|
|
schema.sql
|
|
sched/
|
|
assimilate_handler.C
|
|
assimilator.C
|
|
handle_request.C
|
|
main.h
|
|
timeout_check.C
|
|
validate.C
|
|
tools/
|
|
backend_lib.C,h
|
|
create_work.C
|
|
|
|
David Aug 15 2003
|
|
- changed "timeout_check" to "transitioner"
|
|
|
|
David Aug 15 2003
|
|
- changed logic so that create_work doesn't create any results;
|
|
this is left to the transitioner, since it does this anyway.
|
|
This required adding a result_template field to the workunit table,
|
|
which is the original result template macro-substituted
|
|
with the upload URL
|
|
|
|
db/
|
|
boinc_db.C,h
|
|
schema.sql
|
|
sched/
|
|
make_work.C
|
|
transitioner.C
|
|
tools/
|
|
backend_lib.C,h
|
|
process_result_template.C
|
|
|
|
|
|
Chrisz 2003/8/15
|
|
- first init preference then parse command line
|
|
|
|
client/win/
|
|
wingui_mainwindow.cpp
|
|
|
|
Eric K 8/15/2003
|
|
- Prefaced transform() with std:: to get util.C to compile under windows.
|
|
api/util.C
|
|
|
|
|
|
Karl 2003/08/18
|
|
- scheduler bug fixes
|
|
- test system update
|
|
- astropulse:
|
|
- updated scheduler code
|
|
- rewrote validator
|
|
- created autoconf system to check host so that we can have separate
|
|
settings on kodos test project
|
|
|
|
sched/
|
|
transitioner.C
|
|
make_work.C
|
|
lib/
|
|
backend_lib.C
|
|
|
|
py/boinc.py
|
|
test/*.py
|
|
|
|
astropulse/*/*.C
|
|
|
|
Karl 2003/08/19
|
|
- misc test case updates
|
|
|
|
Karl 2003/08/20
|
|
- changed 'active_frac' initial assumption to "on" instead of the current
|
|
state
|
|
|
|
client/
|
|
time_stats.C
|
|
|
|
Chrisz 2003/08/20
|
|
- make progress and size on GUI keep old values when suspend during downloading
|
|
|
|
client/
|
|
http.C
|
|
client/win
|
|
wingui_mainwindow.cpp
|
|
|
|
Karl 2003/08/20
|
|
- rewrote header parsing to be more robust:
|
|
- allow for header to not have to be a single TCP message
|
|
- parse line-by-line instead of full-header strstr for efficiency
|
|
- compare header names case insensitively
|
|
- test scripts: no longer need apache or any environment variables.
|
|
|
|
client/
|
|
http.C
|
|
http.h
|
|
account.C
|
|
lib/
|
|
util.C
|
|
util.h
|
|
|
|
test/
|
|
cgiserver.py (added)
|
|
fake_php.py (added)
|
|
miniserv.pl (removed)
|
|
testbase.py
|
|
|
|
Karl 2003/08/21
|
|
- changed 'standalone' mode from a compile-time option to a run-time
|
|
option
|
|
- boinc_init() takes optional bool parameter which is true if
|
|
standalone (app has to parse this from argv or however it wants)
|
|
|
|
api/
|
|
boinc_api.C
|
|
boinc_api.h
|
|
windows_opengl.C
|
|
|
|
David Aug 21 2003
|
|
- added administrative function for adding accounts
|
|
(even if account creation is disabled in config)
|
|
- html_ops can now refer to project-specific stuff (e.g. PROJECT)
|
|
- removed include of db.inc in html_user/util.inc.
|
|
This lets you use util.inc from html_ops
|
|
|
|
html_ops/
|
|
create_account_form.php (new)
|
|
create_acction_action.php (new)
|
|
|
|
Karl 2003/08/21
|
|
- various website and documentation fixes and updates
|
|
-
|
|
|
|
doc/*
|
|
tools/
|
|
update_versions
|
|
|
|
Karl,ChrisZ 2003/08/21
|
|
- changed url_encode_readable from '%zz' to '_'
|
|
|
|
lib/
|
|
util.C
|
|
|
|
Chrisz 2003/08/25
|
|
- changed _url_to_filename from nonalnum to '_'
|
|
|
|
py/
|
|
boinc.py
|
|
|
|
Karl 2003/08/28
|
|
- rewrote all documentation related to software prerequisites and
|
|
build system, and compiling server and clients
|
|
|
|
doc/
|
|
boinc_dev.php
|
|
build_client.php (new)
|
|
build_client_mac.php (new)
|
|
build_client_unix.php (new)
|
|
build_client_win.php (new)
|
|
build_server.php
|
|
build_system.php
|
|
build.txt (removed)
|
|
create_project.php
|
|
single_host_server.php
|
|
software.php (new)
|
|
|
|
David Aug 30 2003
|
|
- split db_base.C off from boinc_db.C
|
|
(it's the class DB_BASE that supports MySQL access,
|
|
independent of the BOINC database)
|
|
|
|
db/
|
|
db_base.C,h (new)
|
|
|
|
David Sept 1 2003
|
|
- Client: keep error messages about failed file transfers
|
|
in the FILE_INFO object (and save them in client_state.xml),
|
|
so that they can be reported to server.
|
|
|
|
client/
|
|
client_state.C,h
|
|
client_types.C,h
|
|
file_xfer.C,h
|
|
net_xfer.C
|
|
pers_file_xfer.C
|
|
|
|
David Sept 1 2003
|
|
- Client: project reset wasn't working in cmdline version
|
|
if there was an active task
|
|
(because kill_task() blindly sends a KILL signal,
|
|
even though no process has been started yet so the PID is zero,
|
|
which just kills the core client)
|
|
- Correctly print command-line options
|
|
|
|
client/
|
|
app.C
|
|
client_state.C
|
|
doc/
|
|
client.php
|
|
|
|
David Sept 2 2003
|
|
- changed tools (create_work, add) to use config.xml if it's present
|
|
(reduces number of command-line args)
|
|
- renamed config.h to sched_config.h
|
|
- renamed tools/add to add.py (to avoid confusion with binary)
|
|
|
|
sched/
|
|
Makefile.am
|
|
sched_config.h (renamed from config.h)
|
|
*.C
|
|
tools/
|
|
Makefile.am
|
|
add.py (renamed from add)
|
|
add.C
|
|
create_work.C
|
|
|
|
David Sept 2 2003
|
|
- fix omissions in parsing of general prefs
|
|
- show which set of general prefs was actually used
|
|
|
|
client/
|
|
prefs.C,h
|
|
|
|
Karl 2003/08/25 - 2003/09/02
|
|
- created python database modules
|
|
- created sign_executable C program which factors out key signing from
|
|
add.C for python use
|
|
|
|
tools/
|
|
Makefile.am
|
|
add.py (added)
|
|
sign_executable.C (added)
|
|
backend_lib.C
|
|
backend_lib.h
|
|
lib/
|
|
crypt.C
|
|
crypt.h
|
|
py/
|
|
boinc_db.py (added)
|
|
db_mid.py (added)
|
|
database.py (added)
|
|
Makefile.am
|
|
|
|
|
|
Karl 2003/09/02
|
|
- temporarily remove satellite test cases from 'make check'
|
|
- check MySQL setup in test_sanity
|
|
|
|
test/
|
|
Makefile.am
|
|
test_sanity.py
|
|
|
|
Korpela 2003/09/02
|
|
Added lib/std_fixes.h which is used to add missing functions/templates
|
|
to the standard namespace. Used in SETI@home, but probably has wider
|
|
application, so I moved it to BOINC.
|
|
|
|
Korpela 2003/09/03
|
|
- Added OpenGL header check to configure.ac
|
|
- Changed gutil.C to use OpenGL header paths found by configure.
|
|
|
|
api/gutil.C
|
|
configure.ac
|
|
|
|
David Sept 3 2003
|
|
- Changed the way a WU's resources usage is described.
|
|
There are now separate estimates and bounds for FP ops.
|
|
Nothing about integer ops.
|
|
Disk and memory numbers are bounds.
|
|
|
|
This changes the client/server RPC format and the DB format,
|
|
so it will require a major version number increment
|
|
|
|
client/
|
|
app.C
|
|
client_state.C
|
|
client_types.C,h
|
|
http.C
|
|
net_xfer.C
|
|
db/
|
|
boinc_db.C,h
|
|
schema.sql
|
|
lib/
|
|
crypt.C,h
|
|
sched/
|
|
handle_request.C
|
|
test/
|
|
test_rsc.py
|
|
testbase.py
|
|
tools/
|
|
create_work.C
|
|
|
|
quarl 2003/09/03
|
|
- overhauled python scripts
|
|
- reorganized directory structure. Now 'modules' are under
|
|
boinc/py/Boinc (so you can do "from Boinc import *").
|
|
|
|
- all python scripts can run from anywhere
|
|
|
|
- start and add.py know where config.xml and run_state.xml are
|
|
(customizable too)
|
|
|
|
- finished database.py and add.py
|
|
|
|
- configure runs test/test_sanity.py
|
|
|
|
- wrote extensive documentation for python framework and tools; revised
|
|
other documentation
|
|
|
|
py/Boinc/ (added entire tree)
|
|
Makefile.am
|
|
__init__.py
|
|
boinc_db.py
|
|
boinc_path_config.py.in
|
|
configxml.py
|
|
database.py
|
|
db_def_to_py
|
|
db_mid.py
|
|
setup_project.py (this used to be py/boinc.py)
|
|
util.py
|
|
version.py.in
|
|
test/
|
|
testbase.py
|
|
tools/
|
|
add.py
|
|
sched/
|
|
start
|
|
*/Makefile.am
|
|
configure.ac
|
|
|
|
doc/
|
|
python.php (added)
|
|
software.php
|
|
test.php
|
|
tools.php (added)
|
|
tool_add.php (added)
|
|
tool_start.php (added)
|
|
tool_update_versions.php (added)
|
|
tools_other.php
|
|
single_host_server.php
|
|
create_project.php
|
|
|
|
David Sept 4 2003
|
|
- fix bug in scheduler: the buffer in insert_wu_tags() wasn't large enough.
|
|
This is a powerful argument in favor of using "string" everywhere!
|
|
NOTE: in spite of fix, test_uc.py isn't working. Problem w/ proxy?
|
|
- HTTP_OP_SET::poll(): if header read_reply() returns nonzero,
|
|
set htp->io_ready to false (to avoid lots and lots of spurious recv()s)
|
|
- in test scripts: if TEST_STOP_BEFORE_RUN is set,
|
|
go into sleep loop rather than exiting
|
|
(to avoid deleting the test setup)
|
|
- factor out get_socket_error()
|
|
|
|
client/
|
|
client_state.C
|
|
cs_scheduler.C
|
|
http.C
|
|
main.C
|
|
net_xfer.C,h
|
|
scheduler_op.C
|
|
sched/
|
|
handle_request.C
|
|
main.C
|
|
test/
|
|
testbase.py
|
|
|
|
David Sept 5 2003
|
|
- changed DB interface to make it possible for an application
|
|
to use different MySQL databases at the same time.
|
|
A new class DB_CONN represents a connection to a database.
|
|
Old functions like boinc_db_open() etc. are members of this class.
|
|
The connection to the BOINC database is represented by
|
|
by a global object "boinc_db" of this class.
|
|
You're free to have others
|
|
(e.g. "app_db" in the work gen or assimilator for an app)
|
|
|
|
db/
|
|
boinc_db.C,h
|
|
db_base.C,h
|
|
html_ops/
|
|
db_ops.php
|
|
sched/
|
|
*.C
|
|
|
|
Karl 2003/09/05
|
|
- restructured application add system; rewrote update_versions:
|
|
- applications now go in <config.xml:apps_dir>/APPLICATION/
|
|
- update_versions checks for all versions of core client and all
|
|
applications, regardless of package version
|
|
|
|
py/Boinc/
|
|
configxml.py
|
|
database.py
|
|
db_mid.py
|
|
tools.py (new)
|
|
|
|
tools/
|
|
add.py
|
|
update_versions
|
|
|
|
- renamed add.C output to old_add and renamed add.py to add
|
|
|
|
tools/
|
|
Makefile.am
|
|
add.py -> add (renamed)
|
|
|
|
|
|
- astropulse: use a protocol version number separate of the astropulse
|
|
client version
|
|
|
|
astropulse/client/
|
|
*.C
|
|
|
|
- misc. Win32 fixes
|
|
api/
|
|
boinc_api.C
|
|
guitl.C
|
|
|
|
Karl 2003/09/05
|
|
- created COBBLESTONE_FACTOR variable and changed it from 1/3 to 100.
|
|
- fixed superfluous authenticator in cgi.log
|
|
|
|
Sched/
|
|
handle_request.C
|
|
|
|
David Sept 6 2003
|
|
- fixed bug where do_select wasn't sleeping
|
|
when there are no fds (doh!!)
|
|
|
|
client/
|
|
net_xfer.C,h
|
|
lib/
|
|
util.C
|
|
|
|
Karl 2003/09/07
|
|
- working on python code:
|
|
- database back end:
|
|
- database objects are now weakly hashed, with a cached list of
|
|
size 1024.
|
|
- new count() methods with arbitrary arguments like find()
|
|
- misc. bug fixes
|
|
|
|
- make_project and setup_project modify database directly instead of
|
|
calling old_add
|
|
|
|
- make_project doesn't add platform, app, or app_version
|
|
|
|
Karl 2003/09/07
|
|
- changed all user-visible cobblestone numbers to use a new
|
|
format_credit() function which does sprintf %.3f
|
|
|
|
- allow sorting top_{team,user,host}s.php by either expavg_credit or
|
|
total_credit (default expavg_credit)
|
|
|
|
html_user/*.php, *.inc
|
|
|
|
- changed "Results uploaded" to "Outputs uploaded"
|
|
|
|
client/
|
|
gui_titles.C
|
|
|
|
- use rsc_fpops_bound instead of rsc_fpops_est*2
|
|
|
|
client/
|
|
app.C
|
|
client_types.C
|
|
|
|
Karl 2003/09/10
|
|
- fixed transitioner bug where canonical result output files got deleted.
|
|
- changed all forms of "DB_RESULT result = results[I]" to "DB_RESULTS&
|
|
result = results[I]"
|
|
|
|
Sched/
|
|
transitioner.C
|
|
|
|
David Sept 11 2003
|
|
- transitioner: set file delete state to READY only if it's currently INIT
|
|
This should make file_deleter more efficient,
|
|
because each WU/result is file-deleted only once.
|
|
Also means that unlink()s should always succeed
|
|
- file deleter: print retval of unlink() (should always be zero)
|
|
|
|
sched/
|
|
file_deleter.C
|
|
transitioner.C
|
|
|
|
Karl 2003/09/15
|
|
- fixed transitioner bug where usage of `unsigned int' instead of signed
|
|
int caused 400k results to be generated.
|
|
|
|
Sched/
|
|
transitioner.C
|
|
|
|
Eric K. 16-Sep-2003
|
|
- added "const" qualifiers to prototype for create_work and some others
|
|
where appropriate. I didn't fix all the API routines where parameters
|
|
should be const. Using C++ makes it important to get these right.
|
|
|
|
tools/backend_lib.[Ch]
|
|
tools/create_work.C
|
|
tools/process_result_template.C
|
|
|
|
Jeff 2003/09/17
|
|
No code changes. This is the branch point for the seti beta. The tag is:
|
|
|
|
setiathome-4.xx_all_platforms_beta
|
|
|
|
for both seti_boinc and boinc. They both make on solaris without serious
|
|
error and the resulting seti client links without error with the resulting
|
|
boinc libs.
|
|
|
|
Karl,Eric Heien 2003/09/18
|
|
- fixed some pre-ANSI C
|
|
sched/
|
|
transitioner.C
|
|
tools/
|
|
create_work.C
|
|
|
|
David Sept 21 2003
|
|
- Added mechanism for marking results as COULDNT_SEND:
|
|
When the scheduler finds that a result is infeasible
|
|
for a host, it increments the "infeasible_count" in the work array.
|
|
When the feeder finds that too many results in the array
|
|
have nonzero infeasible_count, it marks some of them
|
|
as COULDNT_SEND and removes them from the array
|
|
|
|
db/
|
|
boinc_db.h
|
|
sched/
|
|
feeder.C
|
|
handle_request.C
|
|
sched_shmem.h
|
|
|
|
David Sept 21 2003
|
|
- Partly debugged the above changes:
|
|
- The feeder's result enumeration should have no limit;
|
|
otherwise it may enumerate the same results over and over
|
|
- If the infeasible_count of a result a threshold (MAX_INFEASIBLE_COUNT)
|
|
the feeder marks it as couldnt_send.
|
|
This prevents a situation where results sit in the work array
|
|
forever, their infeasible_count approaching infinity
|
|
- Added show_shmem to sched/ Makefile, and fleshed it out a bit
|
|
- Show hostID correctly when get RPC from wrong major version
|
|
|
|
NOTE: still haven't exercised the case where a result is marked COULDNT_SEND
|
|
|
|
sched/
|
|
Makefile.am
|
|
feeder.C
|
|
handle_request.C
|
|
show_shmem.C
|
|
|
|
Eric K 9/22/03
|
|
|
|
Modified DB_CONN::open() to support "db_name@host" syntax for remote
|
|
database connections.
|
|
|
|
db/db_base.C
|
|
|
|
David Sept 23 2003
|
|
- Don't reference-count WUs for results that are ready to report
|
|
(since don't need their input files anymore)
|
|
NOTE: this means that RESULT.wup may be zero.
|
|
Much check before dereferencing.
|
|
- Changed "ready_to_ack" to "ready_to_report"
|
|
(Ack is server->client, not client->server)
|
|
- Changed "server_ack" to "got_server_ack"
|
|
- Moved CLIENT_STATE integrity-check code to a new file (check_state.C)
|
|
In general it would be nice to move stuff out of client_state.C;
|
|
It's a hodge-podge currently
|
|
|
|
client/
|
|
Makefile.am
|
|
client_state.h
|
|
client_types.C,h
|
|
cs_scheduler.C
|
|
check_state.C (new)
|
|
|
|
Eric K 9/24/03
|
|
- Create an XML entity encoder/decoder for single byte entities. In new
|
|
files lib/xml_util.[Ch]. Encoder will make the following translations.
|
|
'>' => ">"
|
|
'<' => "<"
|
|
'&' => "&"
|
|
"'" => "'"
|
|
'"' => """
|
|
other unprintable -> "&#nnnd;"
|
|
The decoder recognizes a larger number of translations for single byte
|
|
entities found in XML/HTML.
|
|
- Added check for <map> header to configure scripts.
|
|
(Used by xml_util.[Ch] if found).
|
|
|
|
lib/xml_util.[Ch]
|
|
lib/Makefile.am
|
|
configure.ac
|
|
|
|
David Sept 27 2003
|
|
- add app_name to APP_INIT_DATA structure
|
|
(so that an app can know its own name,
|
|
and in particular so that we can use it to title its window)
|
|
|
|
api/
|
|
boinc_api.h
|
|
windows_opengl.C
|
|
client/
|
|
app.C
|
|
lib/
|
|
app_ipc.C,h
|
|
|
|
David Sept 27 2003
|
|
- added a program "wu_check" that sees whether input files
|
|
of unsent or in-progress results are actually on disk
|
|
|
|
sched/
|
|
Makefile.am
|
|
wu_check.C (new)
|
|
|
|
Eric K Sept 29 2003
|
|
- Fixed bug that cause a encoded null to be appended to strings in
|
|
xml_encode()
|
|
|
|
lib/xml_util.C
|
|
|
|
Karl 2003/09/28
|
|
- python work
|
|
|
|
py/Boinc/
|
|
database.py
|
|
setup_project.py
|
|
tools/
|
|
dbcheck_files_exist
|
|
|
|
David Sept 30 2003
|
|
- Core client: if get 404 error (not found) when downloading file,
|
|
treat it as permanent error.
|
|
(not tested)
|
|
|
|
api/
|
|
boinc_api.C,h
|
|
client/
|
|
file_xfer.C,h
|
|
http.C,h
|
|
pers_file_xfer.C
|
|
lib/
|
|
error_numbers.h
|
|
|
|
|
|
David Sept 30 2003
|
|
- Move graphics-related code from boinc_api.C to graphics_api.C
|
|
- Don't use the preprocessor symbol BOINC_APP_GRAPHICS in api/
|
|
|
|
api/
|
|
boinc_api.C
|
|
graphics_api.C,h
|
|
windows_opengl.C
|
|
x_opengl.h
|
|
apps/
|
|
upper_case.C
|
|
|
|
David Sept 30 2003
|
|
- Undid checkin of 9/23. Reference count all WUs,
|
|
and can assume that result->wup is always valid.
|
|
I can't remember why we did this, but it creates too many problems.
|
|
- in Windows GUI, if a result had an error in download or upload,
|
|
display status as "Download failed" instead of "Download" etc.
|
|
|
|
client/
|
|
client_state.C
|
|
cs_scheduler.C
|
|
win/wingui_mainwindow.cpp
|
|
|
|
|
|
Eric Oct 1 2003 11:15 am
|
|
- Fixed compile problems on solaris.
|
|
- redid graphics_api.h entirely. C'mon people we use automake for a
|
|
reason. Use the macros in config.h!
|
|
- Moved OpenGL and header and library finding to a macro file
|
|
sah_grx.m4 (an identical macro file exists in seti_boinc)
|
|
- Will verify it works on windows in the next hour or so
|
|
|
|
Makefile.in
|
|
aclocal.m4
|
|
config.h.in
|
|
configure
|
|
configure.ac
|
|
graphics_api.C
|
|
graphics_api.h
|
|
m4/sah_grx.m4
|
|
|
|
David Oct 2 2003
|
|
- Added code to limit frame rate in either or both of two ways:
|
|
1) max frames per second
|
|
2) upper bound on rendering CPU time as a fraction or real time
|
|
NOTE: currently these limits are hardware in the code.
|
|
Need to put them in preferences.
|
|
|
|
api/
|
|
graphics_api.C,h
|
|
windows_opengl.C
|
|
|
|
Eric Oct 2 2003
|
|
|
|
-moved xml_indent() from seti_boinc/db/sqlrow.[cpp,h] to i
|
|
boinc/lib/xml_util.[C,h]
|
|
-fixed problems with graphics_api.h
|
|
|
|
api/graphics_api.h
|
|
lib/xml_util.[Ch]
|
|
|
|
Karl 2003/10/02
|
|
- rewrote make_project and related; a lot of restructuring:
|
|
|
|
- make_project only creates the project and database but doesn't add
|
|
platform, app, app_version, or core_version. Use `add' for these.
|
|
- database actions are through MySQLdb, removing need for mysql client
|
|
binary.
|
|
|
|
tools/
|
|
make_project
|
|
add
|
|
update_versions
|
|
upgrade (new)
|
|
py/Boinc/
|
|
configxml.py
|
|
database.py
|
|
setup_project.py
|
|
tools.py
|
|
test/
|
|
testbase.py
|
|
test_uc.py
|
|
sched/
|
|
boinc_config.py (removed)
|
|
db/
|
|
constraints.sql
|
|
doc/
|
|
single_host_server.php
|
|
|
|
Karl 2003/10/02
|
|
- made C parsing of config.xml more flexible (allow multiple tags per
|
|
line or tags on multiple lines)
|
|
- made config.xml and run_state.xml pretty
|
|
|
|
sched/
|
|
sched_config.C
|
|
sched_config.h
|
|
lib/
|
|
parse.C
|
|
parse.h
|
|
|
|
py/
|
|
configxml.py
|
|
|
|
David Oct 4 2003
|
|
- throttled_app_render() returns true iff it rendered anything.
|
|
This lets the caller do swapbuffers only if needed
|
|
- app_render() now returns void
|
|
- added functions that read graphics files (JPEG, PPM, BMP, TGA)
|
|
and create textures (moved from SETI@home)
|
|
|
|
api/
|
|
graphics_api.C,h
|
|
gutil.C,h
|
|
windows_opengl.C
|
|
lib/
|
|
xml_util.C
|
|
|
|
David Oct 6 2003
|
|
- Created class MOVING_TEXT_PANEL (in boinc/api/gutil.h)
|
|
to do Astropulse-type text display
|
|
- Created class TEXTURE_DESC (same place)
|
|
to represent an OpenGL texture (including its ID and size).
|
|
- Modify draw_texture() to not change the aspect ratio of the picture;
|
|
it shrinks the image in one dimension or the other, and centers
|
|
it in the allotted space
|
|
- Add a GRAPH_DRAW_STYLE field to REDUCED_ARRAY
|
|
- Eliminate methods of REDUCED_ARRAY that take a style argument
|
|
|
|
api/
|
|
graphics_api.C
|
|
gutil.C,h
|
|
reduce.C,h
|
|
|
|
Karl 2003/10/06
|
|
- client release 2.04
|
|
|
|
Karl 2003/10/06
|
|
- transitioner: log every state transition, and check return value for
|
|
every update()
|
|
|
|
sched/
|
|
transitioner.C
|
|
|
|
David Oct 6 2003
|
|
- Don't send two results from the same WU in a single RPC
|
|
Note: this is a weak but possibly sufficient step towards not sending
|
|
multiple results from the same WU to one user.
|
|
- Scheduler: before updating a result, reread it from the database.
|
|
What's in shared memory may be way out of date.
|
|
E.g. it may no longer be in server state UNSENT.
|
|
Hopefully this fixes the missing-input-file bug!!
|
|
|
|
sched/
|
|
handle_request.C
|
|
|
|
David Oct 6 2003
|
|
- added "repair" option to wu_check
|
|
|
|
sched/
|
|
wu_check.C
|
|
|
|
David Oct 8 2003
|
|
- added "present" flag to TEXTURE_DESC
|
|
- fixed function names:
|
|
double_to_ydhms() -> ndays_to_string()
|
|
get_byte_string -> nbytes_to_string()
|
|
|
|
api/
|
|
boinc_api.C
|
|
gutil.C,h
|
|
client/
|
|
win/
|
|
wingui_mainwindow.cpp
|
|
wingui_piecectrl.cpp
|
|
lib/
|
|
util.C,h
|
|
|
|
David Oct 8 2003
|
|
- add low-detail option to WU display
|
|
|
|
html_ops/
|
|
db_action.php
|
|
db_form.php
|
|
db_ops.php
|
|
|
|
Oliver Oct 8 2003
|
|
- fixed reduced graph display
|
|
- fixed opengl resize bug
|
|
/api/
|
|
recuce.c
|
|
gutil.c
|
|
windows_opengl.c
|
|
|
|
David Oct 8 2003
|
|
- made draw, CreateTextureJPG etc. into member functions of TEXTURE_DESC
|
|
- added xalign, yalign args to TEXTURE_DESC::draw()
|
|
- attempted to turn off rendering when window is hidden (don't think I succeeded)
|
|
|
|
api/
|
|
gutil.C,h
|
|
windows_opengl.C
|
|
|
|
Oliver Oct 9 2003
|
|
- fixed error handling when jpeglib fails
|
|
api/
|
|
gutil.C
|
|
|
|
Karl 2003/10/08
|
|
- tests: fixed bug re user global prefs
|
|
- tests: fixed checking of result outputs
|
|
- tests: fixed min_quorum=2 bug
|
|
|
|
py/
|
|
setup_project.py
|
|
test/
|
|
testbase.py
|
|
test_uc.py
|
|
|
|
- transitioner: fixed bug in sscan_hex_data() with \r or other whitespace
|
|
- transitioner: log more
|
|
- file_upload_handler: log more
|
|
|
|
lib/
|
|
crypt.C
|
|
sched/
|
|
file_upload_handler.C
|
|
transitioner.C
|
|
|
|
David Oct 10 2003
|
|
- made STARFIELD CLASS
|
|
- implement tickmarks for RIBBON_GRAPH
|
|
|
|
api/
|
|
gutil.C,h
|
|
|
|
David Oct 10 2003
|
|
- various web stuff
|
|
- "-repair" option for wu_check
|
|
|
|
html_ops/
|
|
db_action.php
|
|
db_form.ph
|
|
db_ops.inc
|
|
html_user/
|
|
white.css, black.css (new)
|
|
|
|
Oliver Oct 10 2003
|
|
- fixed surface drawing bug
|
|
- fixed jpeg loading bug
|
|
- updated primitives (progress bar. etc.) to have public pos field
|
|
|
|
api/
|
|
gutil.c,h
|
|
graphics_api.c
|
|
reduce.c
|
|
windows_opengl.c
|
|
|
|
Karl 2003/10/11
|
|
- Astropulse: output in index by samples, rather than bytes + fft bin;
|
|
- indicate that output is finished; also make it valid XML
|
|
- fixed BOINC graphics api header problems with autoconf
|
|
|
|
Astropulse/client/
|
|
ap_client_main.C
|
|
ap_fileio.C
|
|
ap_params.h
|
|
Astropulse/m4/
|
|
sah_grx.m4
|
|
|
|
- BOINC: fixed make distcheck problem
|
|
|
|
sched/
|
|
Makefile.am
|
|
|
|
David Oct 12 2003
|
|
- add "Confirm before accept executable" flag to global prefs
|
|
- Implement said flag in cmdline client:
|
|
- add "approval_pending" flag to FILE_INFO
|
|
- don't count a file as present if it has approval pending
|
|
- set approval pending flag on new exec files if
|
|
"confirm_executable" is set in global prefs
|
|
|
|
TODO: implement in Win GUI; IMPORTANT!!
|
|
|
|
client/
|
|
client_state.C,h
|
|
client_types.C,h
|
|
cs_apps.C
|
|
cs_files.C
|
|
main.C
|
|
prefs_file_xfer.C
|
|
html_user/
|
|
prefs.inc
|
|
white.css
|
|
|
|
Karl 2003-10-13
|
|
- removed some graphics stuff from non-graphics files. Split graphics
|
|
source files into separate library libboinc_graphics_api.a
|
|
|
|
api/
|
|
boinc_api.C
|
|
lib/
|
|
Makefile.am
|
|
api/
|
|
Makefile.am
|
|
|
|
Oliver Oct 13 2003
|
|
- stars now draw in visible pyramid
|
|
|
|
api/
|
|
gutil.C,h
|
|
|
|
|
|
David Oct 14 2003
|
|
- don't call boinc_finish_opengl() in boinc_finish()!!
|
|
- max frame rate and max graphics CPU are accessible to app
|
|
(via global variables boinc_max_fps and boinc_max_gfx_cpu_frac)
|
|
- in windows_opengl.C, moved InitGL() and app_init_gl() calls
|
|
from SetMode() to start of win_graphics_event_loop()
|
|
(just want to call these once, right?)
|
|
- in windows_opengl.C: if in standalone mode and get WM_CLOSE event,
|
|
actually exit (makes debugging easier).
|
|
|
|
api/
|
|
boinc_api.C
|
|
graphics_api.C,h
|
|
gutil.C
|
|
windows_opengl.C
|
|
|
|
Oliver Oct 14 2003
|
|
- stars now draw in visible pyramid with original coordinate system
|
|
- axis draws vertices in correct CCW order
|
|
- added font width function
|
|
|
|
api/
|
|
gutil.C,h
|
|
reduce.c
|
|
windows_opengl.C
|
|
|
|
David Oct 14 2003
|
|
- extended MOVING_TEXT_PANEL interface to let you draw text on
|
|
particular line numbers,
|
|
and get the coords the start of a line number
|
|
|
|
api/
|
|
gutil.C,h
|
|
|
|
Karl 2003-10-14
|
|
- makefiles:
|
|
- fixed some issues when building outside of source tree
|
|
- fixed some missing 'make dist' files
|
|
- fixed "ln -s start stop" bug
|
|
|
|
*/Makefile.am
|
|
|
|
Karl 2003-10-14
|
|
- replaced C country_select program with a php function
|
|
- replaced "None or International" with "None" and "International"
|
|
|
|
lib/
|
|
countries.C (removed)
|
|
Makefile.am
|
|
|
|
tools/
|
|
country_select.C (removed)
|
|
Makefile.am
|
|
|
|
html_user/
|
|
countries.inc (added)
|
|
util.inc
|
|
|
|
Karl 2003-10-14
|
|
- added Rank column to top users; made presentation consistent for top
|
|
teams/users/hosts
|
|
|
|
- show number of results valid, successful, total (instead of just total)
|
|
|
|
html_user/
|
|
top_teams.php
|
|
top_users.php
|
|
top_hosts.php
|
|
team.inc
|
|
user.inc
|
|
host.inc
|
|
|
|
David 15 Oct 2003
|
|
- if user rejects executable, mark result as failed (not tested)
|
|
|
|
client/
|
|
cs_apps.C
|
|
main.C
|
|
doc/
|
|
graphics.php
|
|
lib/
|
|
error_numbers.h
|
|
|
|
David 16 Oct 2003
|
|
- add "userid" to result table
|
|
- send at most one result per WU per user
|
|
NOTE: since this change breaks test_uc.py and other tests,
|
|
it's enabled by a <one_result_per_user_per_wu/> tag in the config file;
|
|
make sure this is present in production projects
|
|
|
|
db/
|
|
boinc_db.C,h
|
|
schema.sql
|
|
constraints.sql
|
|
sched/
|
|
handle_request.C
|
|
|
|
David 16 Oct 2003
|
|
- moved client/win/windows_cpp.h to client/cpp.h,
|
|
since it's included (and needed) in UNIX as well as Windows
|
|
|
|
Oliver 16 Oct 2003
|
|
- Implemented scaling factor to center objects
|
|
- Fixed starfields
|
|
- Right justified text
|
|
|
|
api/
|
|
graphics_api.C
|
|
gutil.C,h
|
|
windows_opengl.C
|
|
|
|
Karl 2003-10-16
|
|
- updated python database API with new workunit.userid field
|
|
|
|
- refactored database.py into db_base.py and merged in changes from
|
|
CourseSurvey system
|
|
- improved object caching and implemented lazy lookup of relational
|
|
objects; database-heavy python programs should now be much faster
|
|
|
|
- added <one_result_per_user_per_wu>1</one_result_per_user_per_wu> to
|
|
config.XML in make_project (but not testbase)
|
|
|
|
py/Boinc/
|
|
db_base.py (new)
|
|
database.py
|
|
setup_project.py
|
|
test/
|
|
testbase.py
|
|
|
|
David 17 Oct 2003
|
|
- db_base::lookup() returns an error if >1 rows satisfy the query
|
|
- return #defined error numbers in db_base.C
|
|
- add more info to CGI log entries
|
|
|
|
db/
|
|
db_base.C
|
|
lib/
|
|
error_numbers.h
|
|
sched/
|
|
handle_request.C
|
|
|
|
Oliver 17 Oct 2003
|
|
- small label coord tweak
|
|
api/
|
|
reduce.c
|
|
|
|
David 18 Oct 2003
|
|
- factored some code out of client_state.C into new files
|
|
|
|
client/
|
|
client_state.C,h
|
|
cs_account.C,h (renamed from account.C,h)
|
|
cs_benchmark.C (new)
|
|
cs_prefs.C (new)
|
|
cs_statefile.C (new)
|
|
main.C
|
|
maybe_gui.h (removed)
|
|
|
|
David 18 Oct 2003
|
|
- When reset (or detach from) a process, wait for running applications to exit
|
|
before doing other things (e.g., deleting files,
|
|
which will fail if processes have them open)
|
|
Implementation: exit_tasks() etc. now take a PROJECT* arg
|
|
- When a master file fetch fails on a tentative project (e.g. bad URL)
|
|
avoid a situation where we remove the HTTP_OP,
|
|
then detach_project() tries to remove it a second time
|
|
- print messages when reset/detach
|
|
|
|
client/
|
|
app.C,h
|
|
client_state.C,h
|
|
prefs.C
|
|
scheduler_op.C
|
|
win/
|
|
wingui.h
|
|
|
|
David 19 Oct 2003
|
|
- fixed file names
|
|
|
|
client/
|
|
speed_stats.C,h (old)
|
|
cpu_benchmark.C,h (new)
|
|
|
|
Karl 2003-10-19
|
|
- maybe fixed "screensaver blanks immediately" bug due to uninitialized
|
|
variable
|
|
- if blank time is <=0 or unset: don't blank (instead of blanking
|
|
immediately).
|
|
|
|
client/win/
|
|
wingui_mainwindow.cpp
|
|
|
|
David 20 Oct 2003
|
|
- fixed bug that prevented screensaver from launching core client
|
|
|
|
win_screensaver.cpp
|
|
|
|
Karl 2003-10-20
|
|
- BOINC client release 2.05
|
|
- added glut32.dll to BOINC distribution
|
|
|
|
David 20 Oct 2003
|
|
- replace return -1's with error codes
|
|
|
|
client/
|
|
app.C
|
|
cs_benchmark.C
|
|
hostinfo.C
|
|
net_xfer.C
|
|
lib/
|
|
app_ipc.C
|
|
crypt.C
|
|
error_numbers.h
|
|
filesys.C
|
|
md5_file.C
|
|
parse.C
|
|
shmem.C
|
|
util.C
|
|
sched/
|
|
handle_request.C
|
|
sched_shmem.C
|
|
validate_util.C
|
|
wu_check.C
|
|
|
|
|
|
David 20 Oct 2003
|
|
- changed CPU benchmark code to store all times as doubles.
|
|
This might fix the "negative fpops/sec" bug
|
|
|
|
client/
|
|
cpu_benchmark.C
|
|
cs_benchmark.C
|
|
|
|
David 20 Oct 2003
|
|
- changed overflowing integer calculation in CPU checkpoint code.
|
|
This definitely will fix the negative fpops problem
|
|
|
|
client/
|
|
cpu_benchmark.C,h
|
|
|
|
Karl 2003-10-21
|
|
- BOINC client release 2.06
|
|
|
|
- Astropulse client release 2.06
|
|
|
|
|
|
David 22 Oct 2003
|
|
- trunc_stderr_stdout() had a typo: it never truncated stdout.txt
|
|
|
|
client/
|
|
cs_files.C
|
|
|
|
David 22 Oct 2003
|
|
- fixed bug that caused project disk usage to be reported as zero
|
|
- Added debugging printfs (enabled by #define DEBUG)
|
|
to wingui_mainwindow.cpp. These write to C:/temp/core.txt.
|
|
- In CMyApp::InitInstance(), changed 2nd arg of CreateMutex
|
|
from false to true. This matches "1 instance" code samples from web.
|
|
Thought it might fix startup bug - no.
|
|
- Added debugging printfs (enabled by #define DEBUG) into screensaver;
|
|
causes it to write info to C:/temp/boinc_scr.txt
|
|
- Removed CREATE_NO_WINDOW and IDLE_PRIORITY flags from
|
|
CreateProcess() call in screensaver.
|
|
These aren't listed in the MSDN man page; are they needed?
|
|
- slight change to startup logic in screensaver:
|
|
- send it a BOINC_SS_START message only if it's already running
|
|
(not needed if start it ourselves, since we give it -saver arg)
|
|
- don't wait for 3 seconds after starting it
|
|
- In the cmdline passed to the core client from screensaver,
|
|
make argv[0] the real path of the executable.
|
|
Thought this might fix startup bug - no.
|
|
- Change "start_saver" to "started_by_screensaver". Truth in advertising.
|
|
|
|
client/
|
|
client_state.C,h
|
|
cs_cmdline.C
|
|
win/
|
|
win_screensaver.cpp
|
|
wingui_mainwindow.cpp
|
|
lib/
|
|
filesys.C
|
|
|
|
David 24 Oct 2003
|
|
- complete Bob's addition of SETI@home "grandfather" fields to DB
|
|
|
|
db/
|
|
boinc_db.C,h
|
|
constraints.sql
|
|
schema.sql
|
|
sched/
|
|
handle_request.C
|
|
|
|
Oliver 24 Oct 2003
|
|
- updated reduced array class to contain the name of the labels. they are set when the reduced array
|
|
is created
|
|
|
|
api/
|
|
reduce.h,C
|
|
|
|
David 24 Oct 2003
|
|
- db_dump generates valid XML
|
|
- fixed bugs in boinc_db.C (team parse)
|
|
|
|
db/
|
|
boinc_db.C
|
|
sched/
|
|
db_dump.C
|
|
|
|
|
|
Karl 2003-10-24
|
|
- fixed missing comma typos
|
|
db/
|
|
constraints.sql
|
|
|
|
Karl 2003-10-25
|
|
- client GUI: fixed context menu bug
|
|
|
|
client/win/
|
|
wingui_mainwindow.cpp
|
|
|
|
|
|
David 25 Oct 2003
|
|
- removed code that caps backoff count at one
|
|
TODO: we still need to reexamine the backoff policy,
|
|
so that multiple file failures don't lead to huge backoffs
|
|
- moved OpenGL init calls from the start of the event loop
|
|
back to SetMode, undoing an earlier change.
|
|
Turns out the need to be in SetMode because it creates a new
|
|
window every time.
|
|
This should fix the bug that cause Astropulse to show no graphics.
|
|
TODO: make sure that when an application window is hidden,
|
|
no rendering work gets done.
|
|
|
|
api/
|
|
windows_opengl.C
|
|
client/
|
|
scheduler_op.C
|
|
|
|
Karl 2003-10-25
|
|
- updated_versions: don't be so verbose unless "-v" verbose command-line
|
|
option is given
|
|
- if a directory contains an executable, add the first executable found,
|
|
and bundle all other files as non-executables.
|
|
- process_executable_file(): added mechanisms for adding non-executable files
|
|
|
|
tools/
|
|
update_versions
|
|
|
|
py/Boinc/
|
|
tools.py
|
|
|
|
David 27 Oct 2003
|
|
- Parse project-specific prefs correctly (i.e. based on venue)
|
|
These prefs are read from account files.
|
|
Account files are read before the client state file is parsed.
|
|
This presented a problem because the host venue,
|
|
which is needed to decide which project prefs to use,
|
|
is kept in the client state file.
|
|
So I added a new function, parse_venue(), that gets the
|
|
host venue from the state file; this is done before parsing account files.
|
|
- Also added <project_name> element to account file so that we can
|
|
display that correctly in message about project prefs
|
|
|
|
api/
|
|
windows_opengl.C
|
|
client/
|
|
client_state.C,h
|
|
client_types.C
|
|
cs_statefile.C
|
|
pers_file_xfer.h
|
|
prefs.C
|
|
|
|
Oliver 27 Oct 2003
|
|
- Fixed efficiency bugs in starfield
|
|
api/
|
|
gutil.C,h
|
|
|
|
Eric K 27 Oct 2003
|
|
- xml_indent() is now limited to a max of 40 spaces.
|
|
|
|
lib/
|
|
xml_util.h
|
|
|
|
David 27 Oct 2003
|
|
- let users see list of all their results
|
|
- added db_dump to list of programs updated by update_project
|
|
|
|
html_user/
|
|
host.inc
|
|
results.php (new)
|
|
results_host.php (deleted)
|
|
user.inc
|
|
py/Boinc/
|
|
setup_project.py
|
|
|
|
Karl 2003-10-27
|
|
- installshield: add "BOINC_gui -min" to startup folder
|
|
|
|
win_build/
|
|
boinc_installshield.zip
|
|
|
|
- process_app_version: write <open_name> tags; open_name is parsed from
|
|
disk filename 'open_name=url_filename' (url_filename is the basename of
|
|
file as copied to download/)
|
|
- print objects as they are committed (for database ID)
|
|
|
|
tools/
|
|
update_versions
|
|
py/Boinc/
|
|
tools.py
|
|
|
|
- upgrade: restart BOINC scheduler daemons automatically
|
|
|
|
tools/
|
|
upgrade
|
|
|
|
- BOINC 2.07 release
|
|
- Astropulse 2.07 release (...)
|
|
- SETI@Home 2.01 release
|
|
|
|
Karl 2003-10-27
|
|
- fixed bug in assuming client_state.XML always exists (it doesn't, on a
|
|
clean install)
|
|
|
|
- BOINC 2.08 release
|
|
|
|
David 28 Oct 2003
|
|
- login form: keyboard focus is on auth input field
|
|
html_user/
|
|
util.inc
|
|
|
|
Eric K 28 Oct 2003
|
|
- for machines with sysinfo, host.p_vendor and host.p_model are now
|
|
meaningful.
|
|
|
|
client/hostinfo_unix.C
|
|
|
|
Karl 2003-10-28
|
|
- added "const" to API function calls
|
|
- created "string" (as opposed to char[]) version of API function calls
|
|
|
|
M api/boinc_api.h
|
|
M api/mfile.C
|
|
M lib/app_ipc.C
|
|
M lib/app_ipc.h
|
|
|
|
Oliver 29 Oct 2003
|
|
|
|
- fixed improperly scaled logos
|
|
|
|
api/
|
|
gutil.C,h
|
|
|
|
|
|
David 28 Oct 2003
|
|
- app library: don't access shared memory if it's not there
|
|
(should keep non-standalone version from crashing
|
|
when run in isolation)
|
|
|
|
api/
|
|
windows_opengl.C
|
|
|
|
Karl 2003-10-29
|
|
- removed test_sanity check from configure
|
|
- updated distribution file lists
|
|
- updated installation program to get rid of country_select
|
|
configure.ac
|
|
*/Makefile.am
|
|
tools/
|
|
make_project
|
|
|
|
David 30 Oct 2003
|
|
- On call to CreateEvent() to make "event" object for
|
|
core client to ask app to quit (Windows)
|
|
changed ManualReset argument to false.
|
|
This fixes a bug where, after resetting a project,
|
|
all apps get quit signal immediately
|
|
- Change CLIENT_STATE::report_result_error() so that it
|
|
takes a format string and varargs
|
|
|
|
client/
|
|
app.C
|
|
client_state.C,h
|
|
pers_file_xfer.C
|
|
|
|
David 30 Oct 2003
|
|
- API writes to stderr if get quit request
|
|
- Include signal numbers, error codes in messages about process exit
|
|
|
|
api/
|
|
boinc_api.C
|
|
client/
|
|
app.C
|
|
client_state.C
|
|
cs_apps.C
|
|
cs_scheduler.C
|
|
|
|
David 30 Oct 2003
|
|
- When get new project preferences, notify (via shared-memory msg)
|
|
all running apps of that project.
|
|
New graphics prefs will take effect immediately.
|
|
|
|
lib/
|
|
app_ipc.C,h
|
|
client/
|
|
app.C
|
|
|
|
David 31 Oct 2003
|
|
- clarified types of seti_* fields
|
|
(cpu time is double, last result time is int)
|
|
- fixed bug in project prefs that caused unbounded extraneous CRs
|
|
|
|
db/
|
|
boinc_db.C,h
|
|
schema.sql
|
|
html_user/
|
|
index.php
|
|
prefs.inc
|
|
prefs.php
|
|
prefs_edit_action.php
|
|
stats.php (new)
|
|
|
|
David 31 Oct 2003
|
|
- Added a mechanism allowing applications to change their graphics
|
|
"on the fly" in response to new project preferences:
|
|
- Added a new message type <reread_prefs/> to the
|
|
core->app graphics segment
|
|
- When the graphics framework (windows_opengl.C) gets this message,
|
|
it calls an application function app_graphics_reread_prefs().
|
|
This function can call boinc_parse_init_data_file() (see below)
|
|
to get the new prefs
|
|
- Core client: when get new project preferences,
|
|
write new init_data.xml files for all running apps,
|
|
and send them <reread_prefs/> messages.
|
|
New functions:
|
|
ACTIVE_TASK::write_app_init_file()
|
|
ACTIVE_TASK::request_reread_prefs()
|
|
ACTIVE_TASK_SET::request_reread_prefs(PROJECT*)
|
|
- name changes:
|
|
old new
|
|
boinc_init_opengl boinc_init_graphics
|
|
boinc_finish_opengl boinc_finish_graphics
|
|
app_init_gl app_graphics_init
|
|
app_render app_graphics_render
|
|
app_resize app_graphics_resize
|
|
REDUCED_ARRAY::init init_data
|
|
REDUCED_ARRAY::init_draw init_display:$
|
|
- changed graphics objects (PROGRESS, PROGRESS2D, RIBBON_GRAPH)
|
|
to use init() functions instead of constructor for setup;
|
|
changed STARFIELD::build_stars() so that it can be called repeatedly
|
|
- factored code to read init_data.xml into a new function
|
|
boinc_parse_init_data_file()
|
|
- moved tImageJPG out of the .h file - it's not interface
|
|
|
|
api/
|
|
boinc_api.C,h
|
|
graphics_api.C,h
|
|
gutil.C,h
|
|
reduce.C,h
|
|
windows_opengl.C
|
|
client/
|
|
app.C,h
|
|
cs_scheduler.C
|
|
doc/
|
|
graphics.sxd (new)
|
|
graphics.png (new)
|
|
lib/
|
|
app_ipc.C
|
|
parse.C,h
|
|
|
|
David 31 Oct 2003
|
|
- boinc_resolve_filename() (string version)
|
|
physical name defaults to virtual name
|
|
|
|
lib/
|
|
app_ipc.C
|
|
|
|
David 1 Nov 2003
|
|
- core client: when get new project prefs,
|
|
use PROJECT::parse_account_file() to extract the correct
|
|
venue-specific variant
|
|
|
|
client/
|
|
client_types.C,h
|
|
cs_scheduler.C
|
|
|
|
David 2 Nov 2003
|
|
- Changed the way that user-supplied files (e.g. logos and images) work.
|
|
OLD WAY: (see checkin by "Erik", May 19 2003)
|
|
the scheduling server scans the user's project prefs
|
|
and inserts <file_info> and <file_ref> elements
|
|
into the <app_version> element,
|
|
making it look like the user-supplied files are associated
|
|
with the app.
|
|
This necessitated the slightly kludgy "optional"
|
|
attribute of FILE_INFO, so that slow-downloading
|
|
user-supplied files wouldn't defer work indefinitely.
|
|
NEW WAY:
|
|
The scheduling server is not involved.
|
|
PROJECT now has list "user_files" of FILE_REFS
|
|
FILE_INFO now has an attribute "is_user"file"
|
|
- When parse project prefs from account file,
|
|
or when get new project preferences from server,
|
|
convert <app_file> elements to entries in project.user_files
|
|
- new function ACTIVE_TASK::link_user_files() makes links
|
|
from slot dir to all user files that are present
|
|
- when the download of a user file completes,
|
|
tell running apps to reread prefs
|
|
(they'll find the user file now)
|
|
- garbage collection reference-counts user files
|
|
- got rid of "optional" mechanism
|
|
With this change, user-supplied images in graphics are updated
|
|
dynamically when the user edits prefs on web,
|
|
then does "Get Preferences" in core client
|
|
- Handling of completed file transfers moved from
|
|
PERS_FILE_XFER::poll() to CLIENT_STATE::handle_pers_file_xfers().
|
|
(this job of PERS_FILE_XFER is to transfer the file,
|
|
not deal with its contents)
|
|
- changed benchmarks defaults from 1GFLOPs to 10MFLOPs;
|
|
prevents slow computers from being inundated with work
|
|
|
|
api/
|
|
gutil.C (fixed code formatting)
|
|
client/
|
|
app.C,h
|
|
client_state.C,h
|
|
client_types.C,h
|
|
cs_account.C
|
|
cs_apps.C
|
|
cs_benchmark.C
|
|
cs_files.C
|
|
cs_scheduler.C
|
|
cs_statefile.C
|
|
pers_file_xfer.C
|
|
|
|
David 2 Nov 2003
|
|
- removed code in scheduling server for parsing project prefs
|
|
and inserting <file_info> elements into <app_version> elements
|
|
|
|
lib/
|
|
parse.C
|
|
sched/
|
|
handle_request.C
|
|
server_types.C,h
|
|
|
|
Karl 2003-11-02
|
|
- changed GUI titles:
|
|
- "computation done" is now "computation error"
|
|
- "results uploaded" is now "ready to report"
|
|
|
|
client/
|
|
gui_titles.C
|
|
|
|
- BOINC core client release 2.09
|
|
|
|
Karl 2003-11-03
|
|
|
|
- installer: ask whether BOINC should run at system startup (default yes)
|
|
|
|
- Moved installation files from win_build/boinc_installer.zip to
|
|
win_build/installer/
|
|
|
|
- automate changing version numbers
|
|
|
|
win_build/
|
|
boinc_installer.zip (removed)
|
|
|
|
win_build/installer/*
|
|
added (115 files)
|
|
|
|
Karl 2003-11-04
|
|
- trivial validator: check for a minimum CPU time
|
|
|
|
sched/
|
|
validate_trivial.C
|
|
|
|
David 4 Nov 2003
|
|
- scheduler now respects disk usage limits.
|
|
Scheduler request message now includes BOINC disk usage,
|
|
both total and for this project.
|
|
The scheduler parses user's global preferences
|
|
to get disk-related prefs,
|
|
and computes the max storage that can be used.
|
|
It will send only as many results as fit within this limit.
|
|
NOTE: this is still deficient in several ways:
|
|
- it assumes that all results will use all their storage
|
|
simultaneously. It doesn't take into account that
|
|
some results may use large storage while running,
|
|
but not before or after.
|
|
- it doesn't take into account storage that has been
|
|
committed (to this or other projects) but not yet in use.
|
|
- there's no mechanism for enforcing resource shares for storage,
|
|
or for dynamic adjustment
|
|
- print exit codes in both dec and hex
|
|
|
|
client/
|
|
app.C
|
|
client_state.h
|
|
cs_prefs.C
|
|
cs_scheduler.C
|
|
pers_file_xfer.C
|
|
win/
|
|
wingui_mainwindow.cpp
|
|
sched/
|
|
handle_request.C
|
|
server_types.C,h
|
|
|
|
David 4 Nov 2003
|
|
- change project file to get cmdline version to compile
|
|
(didn't test it)
|
|
|
|
client/
|
|
client_state.C
|
|
win/
|
|
win_net.cpp
|
|
win_build/
|
|
boinc_cli.dsp
|
|
boinc_gui.dsp
|
|
|
|
David 5 Nov 2003
|
|
- The following changes fix core client crashes that occur when
|
|
reset a project, then quickly detach from the project
|
|
while downloads are occurring.
|
|
In once instance, this produced a state file that caused
|
|
the client to crash each time it started up.
|
|
- when parse an ACTIVE_TASK in state file,
|
|
verify that the corresponding result is in the right state
|
|
(RESULT_FILES_DOWNLOADED, with got_server_ack and ready_to_report false)
|
|
- when parse a RESULT in state file,
|
|
make sure it's consistent: in particular,
|
|
if got_server_ack or ready_to_report is true,
|
|
the state must be RESULT_FILES_UPLOADED
|
|
- CLIENT_STATE::detach_project(): delete all the project's FILE_INFOs
|
|
(reset_project() doesn't do this)
|
|
|
|
client/
|
|
app.C
|
|
client_state.C
|
|
client_types.C
|
|
lib/
|
|
error_numbers.h
|
|
|
|
David 5 Nov 2003
|
|
- improve clarity of messages about prefs
|
|
(e.g. say "your defaults" instead of just "defaults")
|
|
|
|
client/
|
|
client_state.C
|
|
client_types.C
|
|
prefs.C
|
|
|
|
David 6 Nov 2003
|
|
- cleaned up CPU time chaos
|
|
OLD:
|
|
An app measures and reports its CPU time when it calls
|
|
boinc_time_to_checkpoint(), which may be infrequent.
|
|
The reported CPU time is for the whole process
|
|
(including graphics thread: wrong)
|
|
If the core client doesn't get a message within 5 seconds,
|
|
it measures app CPU time externally,
|
|
with ACTIVE_TASK::get_cpu_time_via_os()
|
|
(this can cause reported CPU time to jump up and down).
|
|
Ambiguous function boinc_cpu_time(): does it return time for
|
|
calling thread only? time since WU start?
|
|
NEW:
|
|
An app measures and reports its CPU time every 1 sec,
|
|
from the timer interrupt.
|
|
The reported CPU time is only for the worker thread.
|
|
Replace boinc_cpu_time() with:
|
|
boinc_thread_cpu_time(): CPU time of calling thread
|
|
(also used by graphics_cpi.C to measure rendering time)
|
|
boinc_wu_cpu_time(): CPU time of WU so far (for graphics thread)
|
|
Notes:
|
|
- The app no longer needs to call boinc_time_to_checkpoint()
|
|
with any regularity
|
|
- the timer interrupt handler runs on a different thread,
|
|
so we record the worker thread handle.
|
|
- use double rather than time_t in calculation of estimated completion
|
|
- Code cleanup:
|
|
removed some declarations from boinc_api.h
|
|
(Don't declare internal functions in a .h file!)
|
|
removed using_opengl, write_frac_done
|
|
made things static that should be static
|
|
removed "externs" from .C files (SHOULD NEVER EXIST)
|
|
|
|
api/
|
|
boinc_api.C,h
|
|
graphics.C,h
|
|
windows_opengl.C
|
|
client/
|
|
app.C,h
|
|
|
|
David 6 Nov 2003
|
|
- default value for disk_min_free_gb is now 0.1 (100 MB)
|
|
- scheduler writes detailed msg when get insufficient disk condition;
|
|
also writes explanatory msg to user
|
|
- Admin interfaces: order WUs/results by descending ID in general
|
|
|
|
html_ops/
|
|
db_action.php
|
|
db_form.php
|
|
db_ops.inc
|
|
index.php
|
|
html_user/
|
|
prefs.inc
|
|
sched/
|
|
handle_request.C
|
|
|
|
Eric 7 Nov 2003
|
|
- Fixed UNIX (Mac) compile problems
|
|
|
|
api/boinc_api.C
|
|
apps/upper_case.C
|
|
|
|
David 6 Nov 2003 (note: Eric's on the other side of the Int. Date Line)
|
|
- Fixed bug that cause CPU time to jump whenever Get Preferences.
|
|
It's because the app is getting a new aid.wu_cpu_time
|
|
as part of reread_prefs;
|
|
this is incorrectly added to the thread's CPU time.
|
|
Solution: make a copy of aid.wu_cpu_time at startup and use the copy.
|
|
|
|
api/
|
|
boinc_api.C
|
|
|
|
David 7 Nov 2003
|
|
- Added "remember authenticator" checkbox to user login
|
|
(sends cookie with 1 year expiration)
|
|
- General preferences use defined symbols so field descriptions
|
|
are same in both display and edit versions
|
|
- In admin web interface, make SQL clauses feature work
|
|
|
|
html_ops/
|
|
db_ops.inc
|
|
html_user/
|
|
index.php
|
|
login_action.php
|
|
prefs.inc
|
|
util.inc
|
|
logout.php
|
|
|
|
David 7 Nov 2003
|
|
- Were using the wrong block size in disk size calculation
|
|
(off by a factor of 16 on Solaris)
|
|
|
|
api/
|
|
boinc_api.C
|
|
client/
|
|
app.C
|
|
lib/
|
|
filesys.C
|
|
|
|
David 7 Nov 2003
|
|
- In make_work, need to initialize many fields of the WU being created.
|
|
For example, if assimilate_state is not INIT,
|
|
the transitioner will not create any results for the new WU!
|
|
|
|
html_ops/
|
|
db_form.php
|
|
sched/
|
|
make_work.C
|
|
|
|
David 7 Nov 2003
|
|
- Added const to some char* args (so can use strings)
|
|
- Removed cruft from upper_case.C
|
|
|
|
apps/
|
|
upper_case.C
|
|
lib/
|
|
filesys.C,h
|
|
|
|
Karl 2003-11-07
|
|
- changed { 'Get preferences' , 'Retry now' } to { 'Update', 'Update
|
|
(retry now)' }
|
|
|
|
client/win
|
|
wingui_mainwindow.cpp
|
|
|
|
David 9 Nov 2003
|
|
- change upper_case app so that -cpu_time actually uses
|
|
significant CPU time (36 secs on my laptop)
|
|
- core state file writes sometimes fail if another app (e.g. text editor)
|
|
has the file open. Show error code.
|
|
- don't start a scheduler RPC if we're suspended
|
|
- don't show parse error messages for empty lines in scheduler reply
|
|
- if reset a project during a scheduler RPC, set the scheduler_op state
|
|
to IDLE (else will never do another RPC)
|
|
|
|
api/
|
|
graphics_api.C
|
|
apps/
|
|
upper_case.C
|
|
client/
|
|
client_state.C
|
|
cs_scheduler.C
|
|
scheduler_op.C
|
|
lib/
|
|
filesys.C
|
|
|
|
Eric 10 Nov 2003
|
|
- readded statfs support for systems that don't have statvfs (i.e. Mac)
|
|
|
|
lib/filesys.C
|
|
|
|
David 9 Nov 2003
|
|
- boinc_init(): initialize last_checkpoint_cpu_time.
|
|
This is why reported CPU time would sometimes go to zero
|
|
- Upper case app: report fraction done like you're supposed to
|
|
- Write checkpoint CPU time in %.15e format.
|
|
SHOULD ALWAYS USE THIS FOR FLOATING PT NUMBERS
|
|
- released version 2.06 of upper_case in the client test project.
|
|
Also changed est FP ops in that DB so that clients get few results
|
|
|
|
api/
|
|
boinc_api.C
|
|
apps/
|
|
upper_case.C
|
|
win_builc/
|
|
upper_case.dsp
|
|
|
|
David 10 Nov 2003
|
|
- released versions of Astropulse (2.10) and SETI@home (2.08) for Windows.
|
|
|
|
Karl 2003-11-11
|
|
- compile fixes
|
|
lib/
|
|
xml_util.C
|
|
|
|
David 11 Nov 2003
|
|
- added "appid" field to result (redundant copy of WU's appid)
|
|
- added index on result (appid, received_time desc)
|
|
- changed admin web interface to show recent results
|
|
broken down by application
|
|
- sched_shmem: omit app versions with wrong major version
|
|
|
|
db/
|
|
boinc_db.C,h
|
|
constraints.sql
|
|
schema.sql
|
|
html_ops/
|
|
db_action.php
|
|
db_form.php
|
|
db_ops.php
|
|
index.php
|
|
html_user/
|
|
util.inc
|
|
sched/
|
|
sched_shmem.C
|
|
tools/
|
|
backend_lib.C
|
|
|
|
David 11 Nov 2003
|
|
- modify the scheduler so that if a client requests work,
|
|
and there are unsent results, but none can be sent,
|
|
then the client gets an explanatory message: either
|
|
- no app version available
|
|
- insufficient disk
|
|
- insufficient memory
|
|
- host is too slow
|
|
This involved creating a WORK_REQ structure that gets passed
|
|
around, to avoid huge numbers of arguments
|
|
- modify the scheduler so that if either
|
|
1) the shared-mem segment is absent or
|
|
2) the DB can't be opened
|
|
then it writes a "project temporarily down for maintenance"
|
|
message instead of just exiting
|
|
|
|
sched/
|
|
handle_request.C
|
|
main.C
|
|
|
|
David 11 Nov 2003
|
|
- if get MD5 error, print expected and computed checksum
|
|
|
|
client/
|
|
cs_files.C
|
|
|
|
David 12 Nov 2003
|
|
- commented, cleanup up and fixed SqlQueryString (db_ops.inc)
|
|
It now correctly passes clauses in URLs, etc.
|
|
|
|
client/
|
|
cs_files.C
|
|
html_ops/
|
|
db_action.php
|
|
db_ops.inc
|
|
|
|
Karl 2003-11-17
|
|
- BOINC release 2.10 for windows, Linux, solaris2.7, solaris2.8
|
|
|
|
|
|
Karl 2003-11-20
|
|
- updated translation files
|
|
|
|
client/translation/
|
|
language.ini.fr
|
|
langauge.ini.nl
|
|
|
|
Karl 2003-11-21
|
|
client/translation/
|
|
langauge.ini.de
|
|
|
|
Karl 2003-11-21
|
|
- fixed recursive boinc_thread_cpu_time typo bug that resulted in loss of
|
|
client app functionality (bug noticed by Nuno Ferreira
|
|
<nuno.ferreira@graycell.biz>)
|
|
|
|
api/
|
|
boinc_api.C
|
|
|
|
|
|
Karl 2003-11-22
|
|
- made change to get_filesystem_info() that reportedly is all that's
|
|
needed to get BOINC working on NT4. (fix by <bewolf.geo@yahoo.com>)
|
|
|
|
lib/
|
|
filesys.C
|
|
|
|
- accept command-line options with two dashes or one dash (instead of
|
|
only with one dash)
|
|
- if arguments are incorrect, exit after showing help
|
|
|
|
client/
|
|
cs_cmdline.C
|
|
|
|
- chmod 600 the account file.
|
|
|
|
client/
|
|
client_types.C
|
|
|
|
Karl 2003-11-24
|
|
- fixed bug in boinc_db.C which causes SQL lookups to seg fault if any of
|
|
the 'seti_*' grandfather fields are NULL (how does the current beta test
|
|
run at all?!)
|
|
|
|
db/
|
|
boinc_db.C
|
|
|
|
- testbase tweaks
|
|
|
|
test/
|
|
testbase.py
|
|
cgiserver.py
|
|
|
|
David 25 Nov 2003
|
|
- added host.rpc_time to DB dump
|
|
- made seti_* fields "not null" in schema
|
|
|
|
client/
|
|
hostinfo_unix.C
|
|
db/
|
|
schema.sql
|
|
doc/
|
|
db_dump.php
|
|
index.html
|
|
software.php
|
|
sched/
|
|
db_dump.C
|
|
|
|
David 25 Nov 2003
|
|
- Changes to a running app's checkpoint_cpu_time
|
|
(as conveyed in shared-memory msgs)
|
|
were not triggering state file writes.
|
|
As a result the CPU time of a result was, in general,
|
|
returning to zero after a reboot.
|
|
- ACTIVE_TASK_SET::poll(): if any task's checkpoint_cpu_time has changed,
|
|
trigger a client state file write
|
|
- renamed ACTIVE_TASK_SET::get_cpu_times() -> get_status_msgs()
|
|
Also, this function now returns boolean:
|
|
whether any checkpoint_cpu_time has changed
|
|
- renamed ACTIVE_TASK::get_cpu_time_via_shmem() -> get_status_msg()
|
|
(since the message includes more than just CPU time)
|
|
- removed ACTIVE_TASK.last_status_msg_time (not used)
|
|
- factored out logic to compute frac_rate_of_change
|
|
and put it in a separate function
|
|
(ACTIVE_TASK::estimate_frac_rate_of_change())
|
|
- print app version for results in GUI
|
|
|
|
client/
|
|
app.C,h
|
|
client_types.C,h
|
|
win/
|
|
wingui_mainwindow.cpp
|
|
|
|
Karl 2003-11-25
|
|
- wrote release notes
|
|
doc/
|
|
ssl_client_release_instructions.txt
|
|
|
|
David 25 Nov 2003
|
|
- Fixed bug that could cause a workunit to be sent to a client
|
|
without any corresponding result.
|
|
I'm not sure what happens then but it can't be good.
|
|
|
|
Here's the deal:
|
|
OLD:
|
|
retval = add_wu_to_reply() // returns error if no app version
|
|
if (retval) continue
|
|
reread result from DB
|
|
if result.state != UNSENT continue
|
|
// if this happens, we'll send the WU but not the result
|
|
NEW:
|
|
found = find_app_version()
|
|
if (!found) continue;
|
|
reread result from DB
|
|
if result.state != UNSENT continue
|
|
add_wu_to_reply()
|
|
|
|
sched/
|
|
handle_request.C
|
|
|
|
David 25 Nov 2003
|
|
- Changed db_dump to generate valid XML.
|
|
Escape text fields as follows
|
|
& -> &
|
|
' -> '
|
|
" -> "
|
|
< -> <
|
|
> -> >
|
|
|
|
sched/
|
|
db_dump.C
|
|
|
|
Gary 25 Nov 2003
|
|
- BOINC release 2.11 for windows, Linux, solaris2.7, solaris2.8
|
|
|
|
Gary 26 Nov 2003
|
|
- BOINC release 2.12 for windows, Linux, solaris2.7, solaris2.8
|
|
fixes problem with windows release 2.11 installer
|
|
no change to Solaris/Linux clients
|
|
|
|
Gary 26 Nov 2003
|
|
- Changed Network Bandwith limits display & entry units to be
|
|
expressed in terms of Kbytes instead of bytes. Values are
|
|
still stored in db as bytes.
|
|
|
|
html_user/
|
|
prefs.inc
|
|
|
|
David 27 Nov 2003
|
|
- put missing <project_specific> tags around
|
|
project-specific prefs when write account files
|
|
- removed uniqueness constraint on user.seti_id
|
|
(this will generally be zero)
|
|
|
|
client/
|
|
client_types.C,h
|
|
db/
|
|
constraints.sql
|
|
|
|
David 28 Nov 2003
|
|
- Fixed various problems with project preferences.
|
|
(overrides yesterday's non-fix)
|
|
PROJECT now has separate fields for
|
|
project_prefs (entire prefs, include venue variants)
|
|
project_specific_prefs (only project specific,
|
|
and only for current venue).
|
|
These had been confused before.
|
|
The account_*.xml file has the project_prefs,
|
|
enclosed in a <project_preferences> element
|
|
- updated document about account files
|
|
- Changed project prefs from char[MAX_BLOB_LEN] to string,
|
|
and added variant of copy_element_contents() for string.
|
|
|
|
client/
|
|
app.C
|
|
client_types.C,h
|
|
cs_scheduler.C
|
|
scheduler_ops.C
|
|
doc/
|
|
client_files.php
|
|
lib/
|
|
parse.C,h
|
|
|
|
Karl 2003-11-28
|
|
- fixed unix help for -update_prefs
|
|
|
|
client/
|
|
cs_cmdline.C
|
|
|
|
David 2003-11-28
|
|
- changed date/time display in Windows to yyyy-mm-dd hh:mm:ss
|
|
|
|
client/win/
|
|
wingui_mainwindow.cpp
|
|
|
|
David 28 Nov 2003
|
|
- added "signature" field to user table;
|
|
when making forum postings,
|
|
users have the option of appending signature
|
|
|
|
db/
|
|
boinc_db.C,h
|
|
schema.sql
|
|
html_user/
|
|
edit_user_info_action.php
|
|
edit_user_info_form.php
|
|
index.php
|
|
util.inc
|
|
|
|
Karl 2003-11-28
|
|
- fixed problems in testbase.py:
|
|
- changed workunit fpops due to change in client default benchmark
|
|
- changed app_version major version to come from version.MAJOR_VERSION
|
|
- added new columns to python database interface
|
|
- test_uc.py (and thus 'make check') pass now.
|
|
|
|
test/
|
|
testbase.py
|
|
py/Boinc/
|
|
database.py
|
|
|
|
- client: close write socket when done writing (but still reading) by
|
|
using shutdown(2). This allows the 'use_file' mechanism in
|
|
sched/main.C to work.
|
|
|
|
client/
|
|
http.C
|
|
|
|
David 28 Nov 2003
|
|
- print "expected X, got Y" msg only if md5 computation succeeded
|
|
|
|
client/
|
|
cs_files.C
|
|
|
|
Karl 2003-11-28
|
|
- new base64_encode() and base64_decode() functions.
|
|
- small fixes to Makefiles
|
|
|
|
lib/
|
|
parse.h
|
|
base64.C (new)
|
|
Makefile.am
|
|
api/
|
|
Makefile.am
|
|
|
|
David 29 Nov 2003
|
|
- top hosts shows 10 hosts, lets you page forward/back
|
|
- Various stuff related to message boards (formerly known as Forum)
|
|
- don't show blue links on blue background
|
|
- terminology in message-board interface
|
|
"message boards" describes the message system
|
|
"questions/problems" describes the FAQ system
|
|
- got rid of hard-wired field widths
|
|
- removed "activity" stuff (wasn't being used)
|
|
- cleaned up names in the beta-test database
|
|
- Yahoo-type hierarchical page titles
|
|
- made "sort by" work when step through pages
|
|
- added category, forum tables to schema.sql
|
|
- added comments on PHP-only tables to schema.sql
|
|
|
|
db/
|
|
schema.sql
|
|
html_user/
|
|
edit_user_info_action.php
|
|
index.php
|
|
top_hosts.php
|
|
user.inc
|
|
util.inc
|
|
white.css
|
|
forum/
|
|
forum.inc
|
|
forum.php
|
|
help_desk.php
|
|
index.php
|
|
post.php
|
|
reply.php
|
|
thread.php
|
|
|
|
Karl 2003-12-02
|
|
- created export-tarball program for nightly-tarball
|
|
|
|
nightly-tarball
|
|
|
|
David 2 Dec 2003
|
|
- changed indices on result table
|
|
changed res_hostid to include id desc
|
|
removed res_wuid
|
|
added app_received_time
|
|
- removed "last result for host" info from web pages;
|
|
this required an index with no other function
|
|
- added comments to constraints.sql explaining why each index is needed
|
|
- add "subscriptions" table to schema.sql
|
|
|
|
db/
|
|
constraints.sql
|
|
schema.sql
|
|
html_user/
|
|
host.inc
|
|
totals.php
|
|
util.inc
|
|
forum/
|
|
post.php
|
|
subscribe.inc
|
|
|
|
David 2 Dec 2003
|
|
- Don't start more than 2 simultaneous file transfers per project
|
|
|
|
client/
|
|
client_state.h
|
|
cs_cmdline.C
|
|
cs_files.C
|
|
cs_scheduler.C
|
|
hostinfo.C
|
|
pers_file_xfer.C
|
|
|
|
Karl 2003-12-02
|
|
- committed Robi Buecheler's translation updates.
|
|
|
|
client/translation/
|
|
language.ini.bg
|
|
language.ini.ca
|
|
language.ini.cs
|
|
language.ini.da
|
|
language.ini.de
|
|
language.ini.es
|
|
language.ini.et
|
|
language.ini.fi
|
|
language.ini.fr
|
|
language.ini.gl
|
|
language.ini.hr
|
|
language.ini.it
|
|
language.ini.ja-euc (added)
|
|
language.ini.ja-sjis (added)
|
|
language.ini.ko
|
|
language.ini.nl
|
|
language.ini.pl
|
|
language.ini.pt
|
|
language.ini.ru
|
|
language.ini.sk
|
|
language.ini.sv
|
|
language.ini.template
|
|
language.ini.zh-big5 (added)
|
|
language.ini.zh-gb2312 (added)
|
|
|
|
David 3 Dec 2003
|
|
- Added "Pending credit" row to user page
|
|
- Added new elements to XML stats dump (tables.xml) to show
|
|
- applications
|
|
- # results unsent/in progress/over for each app
|
|
|
|
html_user/
|
|
user.inc
|
|
sched/
|
|
db_dump.C
|
|
|
|
David 3 Dec 2003
|
|
- express message board times as "X days Y hours Z minutes ago"
|
|
instead of absolute time
|
|
- on FAQ entries, display #times asked and time of last answer
|
|
|
|
html_user
|
|
/forum/
|
|
forum.inc
|
|
forum.php
|
|
help_desk.php
|
|
time.inc (new)
|
|
sched/
|
|
db_dump.C
|
|
|
|
Gary 04 Dec 2003
|
|
- fixed a bug in app.C which caused the checkpoint_cpu_time to
|
|
nearly double in certain cases. This was most obvious in the
|
|
windows core client.
|
|
[in ACTIVE_TASK::write_app_init_file()]
|
|
old:
|
|
aid.wu_cpu_time = checkpoint_cpu_time;
|
|
new:
|
|
aid.wu_cpu_time = starting_cpu_time;
|
|
|
|
client/
|
|
app.C
|
|
|
|
Gary 04 Dec 2003
|
|
- BOINC release 2.13 for windows, Linux, solaris2.7, solaris2.8
|
|
|
|
David 4 Dec 2003
|
|
- Use a different PHP HTML filter; the old one was buggy.
|
|
- Add HTML filtering of user-supplied text
|
|
(user profiles, message boards, etc.)
|
|
NOTE: should be explicit about what things
|
|
cannot contain ANY html tags
|
|
(user names, team names)
|
|
what about team descriptions? user URLs etc.
|
|
NOTE: someone should figure out exactly where we should
|
|
be using stripslashes() and addslashes().
|
|
|
|
html_user/
|
|
htmlfilter.inc (removed)
|
|
profile.inc
|
|
sanitize_html.inc
|
|
team.inc
|
|
time.inc
|
|
kses.php (new)
|
|
forum/
|
|
edit.php
|
|
forum.inc
|
|
forum.php
|
|
index.php
|
|
reply.php
|
|
|
|
Gary 05 Dec 2003
|
|
- in check_app_exited() look for most recent checkpoint_cpu_time
|
|
and use it to calculate final_cpu_time for result.
|
|
|
|
client/
|
|
app.C
|
|
|
|
David 5 Dec 2003
|
|
- On Windows, removed the shutdown() in http.C;
|
|
this caused a problem with Norton Firewall
|
|
- Removed counts of done/validated results for host from user web;
|
|
no efficient way to get this
|
|
- in cgi.log, show when send an app_version
|
|
- make_work: maintain cushion based on unsent results for this app
|
|
(not total)
|
|
- transitioner: check trigger file every WU, not every pass
|
|
|
|
client/
|
|
app.C
|
|
http.C
|
|
html_user/
|
|
host.inc
|
|
profile.inc
|
|
sched/
|
|
handle_reqest.C
|
|
make_work.C
|
|
transitioner.C
|
|
|
|
David 6 Dec 2003
|
|
- Extend the "start" script to handle remote tasks. Summary:
|
|
- config.xml has a mandatory config.host element
|
|
(for the project's main server)
|
|
and optional task.host elements (default is main host)
|
|
- Host X has its own run state file, run_state_X.xml
|
|
- Host X has its own pid directory, pid_dir_X/
|
|
- Host X has its own log directory, log_X/
|
|
- Host X has its own lock file for "start", start.lock.X
|
|
- run_daemons() etc. run tasks only for the current host
|
|
- When run on the main host, start builds a list of other hosts
|
|
and runs itself (with same cmdline, using ssh)
|
|
on each of the other hosts.
|
|
|
|
Notes:
|
|
1) I didn't add <host>*</host> capability;
|
|
it's not clear that we need this
|
|
2) Output formatting could be improved
|
|
|
|
- Changed the scheduler to log to ../log_X/cgi.log (X=hostname)
|
|
|
|
sched/
|
|
main.C
|
|
start
|
|
|
|
David 7 Dec 2003
|
|
- Fixed bugs involving buffer overflow of BLOB fields.
|
|
These can be up to 65536 bytes in MySQL.
|
|
MAX_BLOB_SIZE was defined as 4K.
|
|
strcpy2() didn't do any buffer size checking.
|
|
A team description was over 8K long.
|
|
This caused db_dump to crash.
|
|
Solution:
|
|
- strcpy2() now defined as a macro that uses the sizeof()
|
|
its destination, and doesn't overwrite it.
|
|
- MAX_BLOB_SIZE replaced with 2 symbols:
|
|
MEDIUM_BLOB_SIZE for fields used by BOINC
|
|
defined as 4K so as to not increase shmem usage
|
|
LARGE_BLOB_SIZE for fields with user-supplied text
|
|
defined as 64K
|
|
|
|
db/
|
|
boinc_db.h
|
|
db_base.C,h
|
|
html_user/
|
|
result.inc
|
|
white.css
|
|
sched/
|
|
assimilator.C
|
|
db_dump.C
|
|
file_deleter.C
|
|
handle_request.C
|
|
make_work.C
|
|
server_types.C
|
|
transitioner.C
|
|
tools/
|
|
add.C
|
|
backend_lib.C
|
|
create_work.C
|
|
process_result_template.C
|
|
|
|
David 7 Dec 2003
|
|
- Changed db_dump so that it doesn't chdir() into the output directory
|
|
(it it does, and it crashes, that makes its core file
|
|
visible to the world, and that may contain private info)
|
|
|
|
sched/
|
|
db_dump.C
|
|
|
|
David 7 Dec 2003
|
|
- add sort options for FAQ questions, answers
|
|
- added create_time field to "thread" table
|
|
(so can sort questions by time asked)
|
|
- increase href limit in HMTL sanitizer to 150 chars
|
|
- simply time difference display
|
|
|
|
db/
|
|
schema.sql
|
|
html_user/
|
|
sanitize_html.inc
|
|
time.inc
|
|
forum/
|
|
forum.inc
|
|
forum.php
|
|
help_desk.php
|
|
thread.php
|
|
|
|
Jeff 8 Dec 2003
|
|
- Fixed the ifdef's surrounding the typedef of socklen_t. Removed the
|
|
"#ifdef socklen_t" because it does nothing and added the
|
|
"#elif defined (__APPLE__)".
|
|
|
|
client/
|
|
net_xfer.C
|
|
|
|
David 8 Dec 2003
|
|
- added full-text keyword search of message bodies and thread titles
|
|
|
|
html_user/forum/
|
|
forum.inc
|
|
forum.php
|
|
help_desk.php
|
|
index.php
|
|
text_search_action.php (new)
|
|
text_search_form.php (new)
|
|
|
|
Jeff 09 Dec 2003
|
|
- We have the same gcc version problem with solaris that we do with
|
|
linux whereby if the version number of libstdc++.so on the run
|
|
machine is different than that on the build machine, the loader
|
|
fails. However, on solaris you cannot just say gcc -static as there
|
|
are dynamic only versions of some needed libs, namely libdl and
|
|
libaio. I tried to use the -Xlinker gcc option which theoretically
|
|
should allow us to specify the link (collect2) line in precise
|
|
detail. But -lstdc++ kept showing up twice with one occurrence
|
|
being outside my -Xlinker -B -Xlinker static directive. So I
|
|
hand crafted a collect2 line and placed it in a file - collect2_line.
|
|
Sourcing this file produces an executable that will load and run
|
|
across gcc versions (and solaris versions for that matter). I
|
|
don't like it but it works.
|
|
|
|
IMPORTANT NOTE. After sourcing collect2_line you have to
|
|
re-"hard link" the executable boinc_client to a proper
|
|
name with the correct version.
|
|
|
|
client/
|
|
collect2_line (new file)
|
|
|
|
Gary 09 Dec 2003
|
|
- BOINC release 2.14 for windows, Linux, solaris2.7, solaris2.8
|
|
|
|
Gary 09 Dec 2003
|
|
- fixed typo in Network Bandwidth limits display (was missing /s)
|
|
|
|
html_user/
|
|
prefs.inc
|
|
|
|
|
|
Karl 2003-12-09
|
|
- don't run the scheduler cgi if stop_server trigger exists.
|
|
|
|
sched/
|
|
main.C
|
|
|
|
David 9 Dec 2003
|
|
- scheduler returns message if "../stop_servers" exists
|
|
NOTE SPELLING; "stop_server" was error
|
|
- web site main page checks for "stop_servers" file,
|
|
shows "project down" message if so
|
|
TODO: have all DB-driven pages do this
|
|
- don't show link to main page on main page
|
|
- turned off "rate message" control (wasn't being used)
|
|
|
|
html_user/
|
|
index.php
|
|
time.inc
|
|
util.inc
|
|
forum/
|
|
forum.inc
|
|
post.php
|
|
text_search_action.php
|
|
thread.php
|
|
sched/
|
|
main.C
|
|
sched_util.C,h
|
|
|
|
Eric K. 12/11/2003
|
|
|
|
Added check for strlcpy() to configure.ac and definition of
|
|
strlcpy() to std_fixes.h.
|
|
Added C++ header and namespace checks to m4 and config.h
|
|
Added include of "std_fixes.h" to boinc_db.C
|
|
|
|
aclocal.m4
|
|
configure.ac
|
|
configure
|
|
config.h.in
|
|
lib/std_fixes.h
|
|
m4/sah_namespace.m4
|
|
m4/sah_header_stdcxx.m4
|
|
|
|
David 11 Dec 2003
|
|
- Add <db_host> element to config file and SCHED_CONFIG.
|
|
Add db_host argument to DB_CONN::open()
|
|
All server programs can now be run on different machine from MySQL
|
|
- Add "deprecated" field to app table
|
|
Deprecated apps are treated as non-existent
|
|
- Add "deprecated", "user_friendly_name" to platform table
|
|
Deprecated platforms are treated as non-existent
|
|
- Add new value for validate_state: VALIDATE_STATE_NO_CHECK
|
|
This indicates the the result's WU had an error,
|
|
and the result will never be validated.
|
|
Such results are not counted towards pending credit.
|
|
Transitioner: when set a WU error flag,
|
|
change its results VALIDATE_STATE_INIT -> NO_CHECK
|
|
- Add "Applications" page to web site:
|
|
shows platforms, latest version for each app
|
|
|
|
db/
|
|
boinc_db.C,h
|
|
db_base.C,h
|
|
schema.sql
|
|
html_ops/
|
|
db_ops.inc
|
|
html_user/
|
|
download.inc
|
|
host.inc
|
|
index.php
|
|
stats.php
|
|
util.inc
|
|
apps.php (new)
|
|
intro.php (new)
|
|
py/Boinc
|
|
database.py
|
|
sched/
|
|
assimilator.C
|
|
db_dump.C
|
|
feeder.C
|
|
file_deleter.C
|
|
main.C
|
|
make_work.C
|
|
sched_config.C,h
|
|
sched_shmem.C
|
|
transitioner.C
|
|
update_stats.C
|
|
validate.C
|
|
wu_check.C
|
|
|
|
Gary 11 Dec 2003
|
|
- changed the way tab windows are hidden/shown in windows gui,
|
|
to fix intermittent window repainting bug.
|
|
old:
|
|
<hide all windows by setting turning off WS_VISIBLE style>
|
|
<show selected window by turning on WS_VISIBLE style>
|
|
<redraw window>
|
|
The trouble with this technique is that it does not
|
|
activate the window, so it will only work if the
|
|
window becomes active *before* the redraw takes place.
|
|
new:
|
|
<hide all visible windows via ShowWindow(SW_HIDE)>
|
|
<redraw selected window >
|
|
<show selected window via ShowWindow(SW_SHOW)>
|
|
|
|
client/win/
|
|
wingui_mainwindow.cpp
|
|
|
|
David 12 Dec 2003
|
|
- changed "opaque" fields from int to double
|
|
- Unix core client: if execv() fails, exit with errno rather than -1
|
|
- show link to user on non-private host page
|
|
- fix bug in update_stats: don't crash if team has zero members
|
|
- add "update_stats" to install_boinc_files()
|
|
|
|
client/
|
|
app.C
|
|
doc/
|
|
client_files.php
|
|
db_dump.php
|
|
index.html
|
|
old_news.php
|
|
prefs.php
|
|
db/
|
|
boinc_db.C,h
|
|
schema.sql
|
|
html_user/
|
|
db.inc
|
|
host.inc
|
|
index.php
|
|
workunit.php
|
|
py/Boinc/
|
|
setup_project.py
|
|
sched/
|
|
update_stats.C
|
|
|
|
David 12 Dec 2003
|
|
- Core client: print host ID (per project) in startup messages
|
|
- calculate file transfer speeds correctly
|
|
(e.g. use doubles for time, not int)
|
|
Show latest transfer speed in message when transfer finishes
|
|
|
|
client/
|
|
client_state.C
|
|
net_xfer.C,h
|
|
pers_file_xfer.C
|
|
|
|
Gary 12 Dec 2003
|
|
- fixed bug that caused 'Progress' and 'To completion' columns to reset to
|
|
0.00% and init completion time at end of WU.
|
|
|
|
client/win/
|
|
wingui_mainwindow.cpp
|
|
|
|
David 12 Dec 2003
|
|
- fixed bug that caused est. time to completion to not update
|
|
|
|
client/
|
|
app.C
|
|
|
|
David 14 Dec 2003
|
|
- added "has_profile" flag to user table;
|
|
whenever a user has a profile,
|
|
display a "profile icon" linking to it.
|
|
Also write it to XML files
|
|
- Change file_upload_handler to put its log file
|
|
in the right directory
|
|
|
|
db/
|
|
boinc_db.C,h
|
|
scheme.sql
|
|
html_user/
|
|
host.inc
|
|
host_user.php
|
|
index.php
|
|
profile.inc
|
|
team.inc
|
|
top_hosts.php
|
|
user.inc
|
|
util.inc
|
|
py/Boinc/
|
|
database.py
|
|
sched/
|
|
db_dump.C
|
|
file_upload_handler.C
|
|
|
|
David 15 Dec 2003
|
|
- fixed bug in database API: "return p && atoi(p)"
|
|
In C (unlike Python) this does not generally return atoi(p);
|
|
it returns 1. Fortunately the only effect of this was that user.posts
|
|
kept getting set to 1 for all users
|
|
- increased max query length in DB API,
|
|
in case prefs become really really long
|
|
|
|
db/
|
|
boinc_db.C
|
|
db_base.C
|
|
html_user/
|
|
download.php
|
|
util.inc
|
|
forum/
|
|
forum.inc
|
|
forum.php
|
|
reply.php
|
|
|
|
Gary 15 Dec 2003
|
|
- fixed bug in installer script which would not clean up previous
|
|
Boinc client autostart settings, when a new version was installed
|
|
without uninstalling the previous version first.
|
|
|
|
win_build/installer/Script Files/
|
|
setup.rul
|
|
|
|
Gary 16 Dec 2003
|
|
- fixed bug in windows Boinc_gui core client, which caused the
|
|
horizontal scroll bar on the Messages tab to be moved to the
|
|
extreme right whenever new messages were written.
|
|
|
|
client/win/
|
|
wingui_mainwindow.cpp
|
|
|
|
Eric K. 17 Dec 2003
|
|
- Added include of unistd.h to get definition of gethostname() on
|
|
Solaris 7
|
|
|
|
sched/
|
|
file_upload_handler.C
|
|
|
|
Gary 17 Dec 2003
|
|
- BOINC release 2.15 for windows, Linux, solaris, mac os x
|
|
|
|
David 17 Dec 2003
|
|
- fixed bug where remote invocation of "start" is not verbose when it should be
|
|
|
|
lib/
|
|
error_numbers.h
|
|
sched/
|
|
feeder.C
|
|
start
|
|
|
|
Karl 2003-12-18
|
|
- fixed CRLF bug in *.dsw, *.dsp
|
|
|
|
Makefile.am
|
|
win_build/
|
|
*.dsp
|
|
*.dsw
|
|
|
|
Jeff 18 Dec 2003
|
|
- Surrounded the base64 prototypes in parse.h with an #ifndef _WIN32. Windows
|
|
compiles were failing on it.
|
|
|
|
lib/
|
|
parse.h
|
|
|
|
David 19 Dec 2003
|
|
- new system tray icons, for "new message" and "new error message" situations,
|
|
contributed by Rom Walton.
|
|
NOTE: these are not actually used;
|
|
we need to add flags for when they should be displayed
|
|
|
|
client/win/
|
|
resource.h
|
|
resource.rc
|
|
wingui_mainwindow.cpp,h
|
|
res/
|
|
iconerror.ico (new)
|
|
iconinfo.ico (new)
|
|
|
|
Karl 2003-12-19
|
|
- undid #ifndef for base64. Renamed to r_base64.
|
|
|
|
lib/
|
|
parse.h
|
|
base64.C
|
|
|
|
David 20 Dec 2003
|
|
- Changes by Rom Walton to flash system tray icon when new message
|
|
|
|
client/win/
|
|
wingui_mainwindow.cpp,h
|
|
|
|
David 20 Dec 2003
|
|
- compute recent average credit correctly
|
|
- compute "activity" for questions in a reasonable way:
|
|
the number of times per day this question has been asked
|
|
- default sort order for questions is by descending activity
|
|
- added fulltext indices on profile.response1 and profile.response2
|
|
- added text search of profiles to web interface
|
|
- link to list of a user's posts from their user page
|
|
- generate UOD page even if already there
|
|
- clean up some PHP code:
|
|
use $foo->bar, not $foo['bar']
|
|
indent by 4 spaces
|
|
|
|
db/
|
|
constraints.sql
|
|
schema.sql
|
|
html_ops/
|
|
gallery.inc
|
|
update_forum_activities.php
|
|
html_user/
|
|
profile_menu.php
|
|
user.inc
|
|
util.inc
|
|
profile_search_action.php (new)
|
|
forum/
|
|
forum.inc
|
|
forum.php
|
|
text_search_action.php
|
|
user_posts.php (new)
|
|
sched/
|
|
sched_util.C
|
|
|
|
David 21 Dec 2003
|
|
- moved "search for user name" feature out of profile code
|
|
- add link to profile from user page
|
|
- fix bug in get_passwd
|
|
|
|
html_user/
|
|
get_passwd.php
|
|
profile.inc
|
|
profile_menu.php
|
|
profile_search_action.php
|
|
user.inc
|
|
user_search_action.php (new)
|
|
|
|
David 23 Dec 2003
|
|
- add mechanism to prevent server spamming
|
|
(i.e. frequence requests for work from a single host).
|
|
The mechanism: if the last RPC was within 15 minutes,
|
|
don't send any work.
|
|
- add result.exit_status field to DB
|
|
Currently this is populated by the server,
|
|
if there's a <exit_status> element in the reply's stderr_out.
|
|
There may be a better way to do this.
|
|
TODO: display this field in the web GUI
|
|
- use SIGHUP instead of SIGINT to stop daemon processes
|
|
|
|
db/
|
|
boinc_db.C,h
|
|
schema.sql
|
|
sched/
|
|
handle_request.C
|
|
start
|
|
|
|
David 23 Dec 2003
|
|
- improved error messages in stderr_out
|
|
|
|
client/
|
|
app.C
|
|
client_state.C
|
|
|
|
David 23 Dec 2003
|
|
- added boinc_fopen() function.
|
|
This should be used in lieu of fopen(), in both core client and apps,
|
|
whenever opening a file for writing.
|
|
This is because on Windows a utility program like FileFind
|
|
might have the file open at that exact moment,
|
|
and your fopen() will fail.
|
|
boinc_fopen() deals with this by sleeping for 3 seconds and trying again.
|
|
NOTE: in SETI@home there's a much fancier function
|
|
that does exponential backoff up to one hour.
|
|
Can't do that here, in part because the GUI requires
|
|
the core client to be nonblocking.
|
|
api/
|
|
boinc_api.C
|
|
graphics_api.C
|
|
gutil.C
|
|
mfile.C
|
|
client/
|
|
app.C
|
|
client_types.C
|
|
cs_benchmark.C
|
|
cs_scheduler.C
|
|
cs_statefile.C
|
|
http.C
|
|
doc/
|
|
(various)
|
|
lib/
|
|
filesys.C,h
|
|
|
|
David 24 Dec 2003
|
|
- Fixed errors in deciding whether more work was needed,
|
|
and if so how much.
|
|
This caused a situation where hosts would repeatedly
|
|
ask the server for more work
|
|
(which, because of recent anti-spam mechanism, would return no work)
|
|
The error involved the confusion of two quantities:
|
|
1) work buffer
|
|
This is an estimate of the time (measured in days)
|
|
until this host will finish all current work.
|
|
It reflects the host's "active_frac" and the # of CPUs.
|
|
2) CPU time
|
|
This is an estimate of the CPU time a WU will take on this host.
|
|
It does not reflect active_frac or # of CPUs
|
|
Example error: current_work_buf_days() didn't reflect active_frac and ncpus.
|
|
So we underestimated the work buffer, and requested work inappropriately.
|
|
|
|
NOTE: the <work_req_seconds> field in a request message
|
|
is in units of CPU time, NOT work buffer
|
|
|
|
- Fixed errors in estimating the wallclock duration of a WU
|
|
(used in feasibility test in scheduler):
|
|
Should divide, not multiply, by active_frac;
|
|
should not multiply by # cpus
|
|
- add a "deprecated" flag to app_version.
|
|
If you decide that a particulate app_version has problems,
|
|
you can deprecate it.
|
|
The scheduler advertises the latest non-deprecated version.
|
|
NOTE: this only is effective if core clients have the following:
|
|
- Changed the policy assigning an app_version to a WU
|
|
Use the version included in the scheduler reply,
|
|
and if there is none, use the latest version.
|
|
This means that if a project deprecates an app_version,
|
|
clients won't use it.
|
|
client/
|
|
client_state.h
|
|
cs_apps.C
|
|
cs_scheduler.C
|
|
scheduler_op.C
|
|
db/
|
|
schema.sql
|
|
boinc_db.C,h
|
|
lib/
|
|
filesys.h
|
|
result_state.h
|
|
py/Boinc/
|
|
database.py
|
|
sched/
|
|
handle_request.C
|
|
sched_shmem.C
|
|
|
|
David 23 Dec 2003 (supplied by Rom Walton)
|
|
- new message class: warnings and network (with corresponding icons)
|
|
|
|
client/
|
|
message.h
|
|
win/
|
|
resource.h
|
|
resource.rc
|
|
wingui_mainwindow.cpp,h
|
|
res/
|
|
iconnetwork.ico (new)
|
|
iconwarning.ico (new)
|
|
win_build/
|
|
boinc_gui.dsp
|
|
|
|
David 23 Dec 2003
|
|
- change string-escape function in DB code to handle \ as well as '
|
|
(otherwise updates/inserts can fail)
|
|
|
|
db/
|
|
boinc_db.C
|
|
db_base.C,h
|
|
sched/
|
|
update_stats.C
|
|
|
|
Gary 25 Dec 2003
|
|
- BOINC release 2.16 for windows, Linux, solaris, mac os x 10.3
|
|
(os x 10.2 compatability will come soon)
|
|
|
|
Jeff 30 Dec 2003
|
|
- Check for buffer reallocation errors in MFILE functions and return values
|
|
that mimic the normal system versions of these functions.
|
|
|
|
Functions that were changed: * indicates a change.
|
|
function successful return failure return
|
|
-------------- ------------------ --------------
|
|
MFILE::printf() num bytes output -1 *
|
|
MFILE::write() num bytes output -1 *
|
|
MFILE::putchar(c) c EOF *
|
|
MFILE::puts(s) strlen(s) * EOF *
|
|
|
|
MFILE::puts() used to return 0 on success. I greped both astropulse
|
|
and seti_boinc code and found no current use of this function.
|
|
|
|
api/
|
|
mfile.C
|
|
|
|
David 30 Dec 2003
|
|
- added optional <disabled>1</disabled> flag to daemons and tasks
|
|
in config.xml. (would prefer "<disabled/>", but couldn't
|
|
figure out how to get the minidom parser to recognize)
|
|
|
|
sched/
|
|
start
|
|
|
|
David 30 Dec 2003
|
|
- added <app_version> element to <stderr_out> in RPC request message
|
|
|
|
client/
|
|
client_types.C,h
|
|
|
|
David 31 Dec 2003
|
|
- Made the basic test script (test_uc.py) work again:
|
|
- fixed syntax errors in SQL files
|
|
- initial config.xml file includes <host> element
|
|
- back-end processes handle SIGHUP, not SIGINT
|
|
(we changed in "start"; need to change here too)
|
|
- "MIN_SENDWORK_INTERVAL" is read from config.xml (default 0)
|
|
- added 12-second sleep in run_check_all()
|
|
(based on 10-sec sleep in assimilator; should reduce)
|
|
- The user and admin web interfaces now work in the basic test case
|
|
(i.e. you can use html_ops to look at DB contents)
|
|
|
|
db/
|
|
constraints.sql
|
|
schema.sql
|
|
html_ops/
|
|
db_ops.inc
|
|
html_user/
|
|
project.inc.sample
|
|
util.inc
|
|
py/Boinc/
|
|
setup_project.py
|
|
sched/
|
|
assimilator.C
|
|
feeder.C
|
|
file_deleter.C
|
|
handle_request.C
|
|
make_work.C
|
|
sched_config.C,h
|
|
sched_util.C,h
|
|
transitioner.C
|
|
validate.C
|
|
test/
|
|
testbase.py
|
|
|
|
David 31 Dec 2003
|
|
- Added Python assimilator, courtesy of Stephen Pellicer
|
|
All the back-end programs could be implemented in Python;
|
|
CPU usage is a non-factor.
|
|
Some people might prefer this to C++.
|
|
No reason not to have both, as long as the logic stays in synch.
|
|
|
|
py/Boinc/
|
|
sched_messages.py
|
|
sched/
|
|
assimilator.py
|
|
|
|
Gary 31 Dec 2003
|
|
- Fixed error in windows client initial startup after a clean
|
|
install. Default wait time before initial server request was
|
|
too long (3 minutes).
|
|
- Fixed initial screensaver blank time setting. Test for existence
|
|
of registry entries before writing values to dialog box.
|
|
|
|
client/
|
|
Prefs.C
|
|
client/win
|
|
win_screensaver.cpp
|
|
|
|
David 3 Jan 2004
|
|
- prelimary checkin of "trickle" mechanism
|
|
- added trickle table to DB
|
|
- add boinc_trickle() to API; implement
|
|
- logic in client to find/rename trickle files
|
|
- got rid of strlcpy() (not portable)
|
|
- commented out WORKSEQ code (probably will never finish)
|
|
- factored out project directory name function
|
|
- error checking of malloc()s in MFILE
|
|
|
|
api/
|
|
boinc_api.C,h
|
|
mfile.C
|
|
client/
|
|
app.C,h
|
|
client_state.C
|
|
client_types.C
|
|
cs_benchmark.C
|
|
file_names.C,h
|
|
db/
|
|
boinc_db.C,h
|
|
constraints.sql
|
|
db_base.h
|
|
schema.sql
|
|
doc/
|
|
api.php
|
|
create_project.php
|
|
language.php (new)
|
|
trickle.php (new)
|
|
lib/
|
|
filesys.C,h
|
|
tools/
|
|
backend_lib.C,h
|
|
|
|
Gary 4 Jan 2004
|
|
- Added missing sys header declaration needed to build libboinc
|
|
on OSX jaguar
|
|
|
|
api/
|
|
boinc_api.C
|
|
|
|
David 5 Jan 2004
|
|
- patch up hole in hosts_user.php that shows hosts
|
|
even when user doesn't want
|
|
- All pages check for project up before opening DB
|
|
|
|
html_user/
|
|
apps.php
|
|
db.inc
|
|
download.php
|
|
hosts_user.php
|
|
util.inc
|
|
|
|
Gary 5 Jan 2004
|
|
- changed file_delete() function calls to boinc_delete_file()
|
|
as a result of the 2004-01-03 change to filesys.C,h
|
|
client/win
|
|
wingui_mainwindow.cpp
|
|
|
|
Gary 5 Jan 2004
|
|
- BOINC release 2.17 for windows, linux, solaris, mac os x
|
|
(os x version supports both 10.2 <jaguar> and 10.3 <panther>)
|
|
|
|
David 6 Jan 2004
|
|
- When showing a user's posts, break into groups of 10
|
|
- Don't show pending credit directly in user page.
|
|
Give a link to a separate page that shows pending results
|
|
and their claimed credit
|
|
- When show list of results, add linked ID column allowing user
|
|
to see details of result (e.g. stderr_out)
|
|
- removed "private" arg for show_host_detail.php.
|
|
If the host belongs to logged-in user, show private info
|
|
- removed alternative sorting options for host lists
|
|
(there was a bug where a user host list
|
|
linked to top_hosts.php)
|
|
- added a couple of "repair" scripts
|
|
|
|
html_user/
|
|
db.inc
|
|
host.inc
|
|
host_edit_action.php
|
|
host_venue_action.php
|
|
pending.php (new)
|
|
repair.php (new)
|
|
result.inc
|
|
result.php
|
|
results.php
|
|
show_host_detail.php
|
|
user.inc
|
|
util.inc
|
|
workunit.php
|
|
forum/
|
|
repair.php (new)
|
|
user_posts.php
|
|
|
|
David 7 Jan 2004
|
|
- don't show #results in 1-line host summary (too slow)
|
|
- totally redid "host merge" mechanism.
|
|
- show all hosts that are compatible with this one
|
|
(not just older ones)
|
|
- show checkboxes with "select all" button
|
|
so you can easily merge large #s of hosts
|
|
- merge logic merges into newest host
|
|
- let anyone look at any result and any host
|
|
(may want to change this later,
|
|
but for now it helps with debuggin)
|
|
- write log message when scheduler creates new host
|
|
because of bad RPC seqno
|
|
|
|
html_user/
|
|
host.inc
|
|
host_edit_action.php
|
|
host_edit_form.php
|
|
repair.php
|
|
result.php
|
|
results.php
|
|
show_host_detail.php
|
|
user.inc
|
|
workunit.php
|
|
sched/
|
|
handle_request.C
|
|
|
|
David 7 Jan 2004
|
|
- more trickle support:
|
|
- server parses <trickle> elements from RPC request,
|
|
creates trickle records,
|
|
sends <trickle_ack> if it did any
|
|
- client scans project for trickle files,
|
|
adds them to RPC requests
|
|
- if get <trickle_ack> in RPC reply, delete trickle files
|
|
- parse <trickle_ack> in RPC reply
|
|
- use safe_strncpy for shared-mem graphics messages
|
|
|
|
client/
|
|
client_state.h
|
|
cs_scheduler.C
|
|
scheduler_op.C,h
|
|
db/
|
|
boinc_db.h
|
|
doc/
|
|
boinc_dev.php
|
|
host_id.php (new)
|
|
host_measure.php
|
|
participate.php
|
|
lib/
|
|
app_ipc.C,h
|
|
filesys.h
|
|
sched/
|
|
handle_request.C
|
|
server_types.C,h
|
|
|
|
David 7 Jan 2004
|
|
- scheduling server: if get invalid hostid,
|
|
look up user before creating new host
|
|
(otherwise will create a host record with userid 0)
|
|
- if get a result that's already been received, ignore it
|
|
|
|
sched/
|
|
handle_request.C
|
|
|
|
David 7 Jan 2004
|
|
- added "host delete" function (if host has zero results)
|
|
|
|
html_user/
|
|
host_delete.php (new)
|
|
|
|
David 8 Jan 2004
|
|
- Fixed bugs that caused WUs to be mistakenly marked COULDNT_SEND:
|
|
- the feeder marks WUs as COULDNT_SEND whenever
|
|
at least 50% of the results have infeasible_count > 20
|
|
(it used to be > 0, i.e. a WU could be marked as COULDNT_SEND
|
|
when it was infeasible for even a single host)
|
|
- Some hosts (Macs) report their memory size (host.m_nbytes)
|
|
as a large negative number.
|
|
Change this so that the min memory size is 64 MB
|
|
|
|
html_user/
|
|
host.inc
|
|
host_delete.php (new)
|
|
sched/
|
|
feeder.C
|
|
handle_request.C
|
|
sched_shmem.h
|
|
|
|
Gary 8 Jan 2004
|
|
- Fixed problem in windows client where user prefs were
|
|
being ignored at startup as a side-effect of the previous
|
|
initial startup fix. Now initial startup works and user
|
|
prefs are honored at startup.
|
|
|
|
client/
|
|
Prefs.C
|
|
client/win
|
|
wingui_mainwindow.cpp,h
|
|
|
|
David 9 Jan 2004
|
|
- on download page, don't tell people to create an account
|
|
if they already are logged in (and hence have an account)
|
|
- print message in CGI log if can't find user
|
|
- don't hyperlink 0 results etc.
|
|
|
|
html_user/
|
|
download.inc
|
|
download.php
|
|
host.inc
|
|
repair.php
|
|
forum/
|
|
help_desk.php
|
|
thread.php
|
|
user_posts.php
|
|
sched/
|
|
handle_request.C
|
|
|
|
David 9 Jan 2004
|
|
- added project files for VC++ 7.0, and fixed a few compile warnings
|
|
|
|
client/
|
|
app.C
|
|
cs_benchmark.C
|
|
cs_scheduler.C
|
|
net_xfer.C
|
|
win/
|
|
stackwalker.h
|
|
win_build/
|
|
boinc.sln
|
|
*.vcproj
|
|
|
|
Karl 2004-01-12
|
|
|
|
- BOINC how has a project.xml file (by default in the same location as
|
|
config.xml) that can contain database information:
|
|
- projects
|
|
- platforms
|
|
- core versions
|
|
- apps
|
|
- app versions
|
|
- this information used to be added one at a time using the `add'
|
|
command-line tool; now there is a new tool `xadd' available, which
|
|
parses project.xml and adds anything necessary.
|
|
|
|
- refactored configxml.py into boincxml.py and configxml.py:
|
|
- boincxml.py contains generic XML utility code
|
|
- configxml.py contains code specific to config.xml and run_state.XML
|
|
- external interface to configxml.py unchanged
|
|
|
|
- new projectxml.py that parses and writes project.xml
|
|
|
|
- refactored tools/add into tools/add and py/Boinc/add_util.py
|
|
|
|
- added new addable fields
|
|
|
|
py/Boinc/
|
|
boinc_project_path.py
|
|
configxml.py
|
|
boincxml.py (new)
|
|
projectxml.py (new)
|
|
add_util.py (new)
|
|
db_base.py
|
|
Makefile.am
|
|
tools/
|
|
xadd (new)
|
|
add
|
|
Makefile.am
|
|
doc/
|
|
tool_xadd.php (new)
|
|
tool_add.php
|
|
make_project.php
|
|
tools.php
|
|
|
|
Karl 2004-01-12
|
|
- source release 2.18 (no client-visible changes)
|
|
|
|
David Jan 12 2004
|
|
- change team account so that team gets (and keeps) credit
|
|
for results of users while they belong to team:
|
|
- add team_id field to result
|
|
- add expavg_time field to team
|
|
- validator increments team credit
|
|
- scheduler fills in result.teamid
|
|
- don't delete empty teams
|
|
- rename result.client_version_num to result.app_version_num
|
|
populate this field based on <app_version> field of stderr_out
|
|
- change update_stats so that it doesn't compute team credit fields,
|
|
and so that it updates expavg fields only if the entity
|
|
has been idle for 4 days or more
|
|
- add DB_BASE::update_field() (to update one or more fields,
|
|
not whole record)
|
|
- add lookup_team() to db.inc
|
|
SHOULD ALWAYS USE FUNCTIONS LIKE THIS INSTEAD OF AD-HOC QUERIES
|
|
- factor out mysql_query() into DB_BASE::do_query()
|
|
|
|
db/
|
|
db_boinc.C,h
|
|
db_base.C,h
|
|
schema.sql
|
|
html_user/
|
|
db.inc
|
|
team.inc
|
|
team_join_action.php
|
|
team_quit_action.php
|
|
sched/
|
|
handle_request.C
|
|
update_stats.C
|
|
validate.C
|
|
|
|
David Jan 14 2004
|
|
- typo in boincxml.py
|
|
(caused "start" script to always set enabled=0
|
|
in run_state file, with various bad consequences)
|
|
- two indentation problems in "start":
|
|
line 499
|
|
line 516
|
|
|
|
py/Boinc/
|
|
boincxml.py
|
|
sched/
|
|
start
|
|
|
|
David Jan 14 2004
|
|
- add <core_client_version> element to <stderr_out>
|
|
of results when send to server
|
|
|
|
client/
|
|
client_types.C
|
|
|
|
David Jan 14 2004
|
|
- don't blink sys tray icon more than 10 sec (from Rom Walton)
|
|
|
|
client/win/
|
|
wingui_mainwindow.cpp,h
|
|
|
|
David Jan 14 2004
|
|
- windows console version works again (from Rom Walton)
|
|
|
|
client/
|
|
main.C
|
|
net_xfer.C
|
|
win_build/
|
|
boinc_cli.vcproj
|
|
|
|
David Jan 15 2004
|
|
- factored base64 declarations
|
|
|
|
lib/
|
|
base64.h (new)
|
|
|
|
David Jan 15 2004
|
|
- changed file_upload_handler so that it returns success
|
|
if offset >= nbytes.
|
|
That this happens at all indicates an error in the client,
|
|
but we'll get to that later.
|
|
- Scheduler: if last RPC too recent, show the interval
|
|
|
|
html_user/
|
|
db.inc
|
|
info.php
|
|
team_join_action.php
|
|
team_quit_action.php
|
|
sched/
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
|
|
Karl 2004-01-15
|
|
- fixed database schema for new 'teamid' field
|
|
- misc. fixes
|
|
|
|
db/
|
|
schema.sql
|
|
py/Boinc/
|
|
Makefile.am
|
|
database.py
|
|
lib/
|
|
Makefile.am
|
|
base64.C
|
|
base64.h
|
|
|
|
Karl 2004-01-15
|
|
- renamed user_name to db_user
|
|
|
|
- applied changes by Daniel Sumers Myers <dmyers@umiacs.umd.edu>
|
|
- setup script creates log_<host>
|
|
- add support for <db_user> field in config.XML in C, python, php
|
|
- missing default project.inc.sample fields
|
|
|
|
db/
|
|
db_base.C
|
|
db_base.h
|
|
html_ops/
|
|
db_ops.inc
|
|
db.inc
|
|
project.inc.sample
|
|
py/Boinc/
|
|
setup_project.py
|
|
sched/
|
|
assimilator.C
|
|
db_dump.C
|
|
feeder.C
|
|
file_deleter.C
|
|
main.C
|
|
make_work.C
|
|
transitioner.C
|
|
update_stats.C
|
|
validate.C
|
|
wu_check.C
|
|
|
|
David Jan 16 2004
|
|
- released core client 2.18 for Windows
|
|
|
|
David Jan 17 2004
|
|
- change logic in windows_opengl.C so that an app has no window
|
|
when it doesn't need one.
|
|
In particular, it has no window when it initially runs,
|
|
so it won't wake up screensaver when an app starts.
|
|
This requires using a window-less timer
|
|
to poll for messages from core client.
|
|
|
|
api/
|
|
windows_opengl.C
|
|
|
|
David Jan 17 2004
|
|
- remove win_main.cpp
|
|
- if result exceeds disk, show both usage and limit
|
|
- change title of Attach to Project dialog
|
|
- change debugging symbol from DEBUG to SS_DEBUG
|
|
(since VC7.0 equates _DEBUG and DEBUG)
|
|
|
|
client/
|
|
app.C
|
|
win_main.cpp (removed)
|
|
win/
|
|
resource.rc
|
|
win_build/
|
|
boinc_gui.vcproj
|
|
|
|
David Jan 17 2004
|
|
- new screensaver (from Rom Walton)
|
|
works correctly on multiple monitors;
|
|
handles password protection correctly
|
|
- fix compile warnings
|
|
- removed redundant definition of BOINC_SS_END
|
|
|
|
client/
|
|
cs_benchmark.C
|
|
net_xfer.C
|
|
win/
|
|
Scricon3.ico (removed)
|
|
boinc_ss.h (new)
|
|
boinc_ss.rc
|
|
win_main.cpp (removed)
|
|
win_screensaver.cpp
|
|
win_screensaver.h (new)
|
|
win_util.h
|
|
wingui_listcrl.cpp
|
|
wingui_mainwindow.cpp
|
|
wingui_piectrl.cpp
|
|
res/
|
|
Scricon3.ico (new)
|
|
lib/
|
|
app_ipc.h
|
|
win_build/
|
|
boinc.vcproj
|
|
boinc_cli.vcproj
|
|
boinc_ss.vcproj
|
|
|
|
David Jan 17 2004
|
|
- use TRACE() instead of fprintfs for debugging output
|
|
|
|
client/win/
|
|
wingui_mainwindow.cpp
|
|
|
|
David Jan 18 2004
|
|
- fix possible memory leak in screensaver on Win9x (from Rom Walton)
|
|
|
|
client/win/
|
|
win_screensaver.cpp,h
|
|
|
|
David Jan 18 2004
|
|
- add a function HOST::fix_nans(), called before updating or inserting
|
|
a host record; replaces NaNs with zeros. Otherwise DB barfs
|
|
- on any failed DB query, write the query to stderr
|
|
- store sorting order for message boards in a cookie
|
|
|
|
db/
|
|
boinc_db.C,h
|
|
db_base.C
|
|
html_user/forum/
|
|
forum.php
|
|
thread.php
|
|
sched/
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
|
|
David Jan 19 2004
|
|
- use STOP_SS_MSG symbol instead of END_SS_MSG
|
|
(these redundantly refered to the same string)
|
|
- fixed buggy error-handling code for Win CreateProcess()
|
|
|
|
api/
|
|
windows_opengl.C
|
|
client/
|
|
app.C
|
|
win/
|
|
win_util.h
|
|
lib/util.C
|
|
|
|
David Jan 19 2004 (from Rom Walton)
|
|
- Win screensaver: check to see if BOINC is configured for
|
|
automatic startup and if not make a suggestion to the user to do so.
|
|
|
|
client/win/
|
|
boinc_ss.h
|
|
boinc_ss.rc
|
|
win_screensaver.cpp,h
|
|
win_util.cpp,h
|
|
|
|
David Jan 19 2004 (from Rom Walton)
|
|
- handle BOINC core client as service
|
|
|
|
client/
|
|
client_state.C,h
|
|
cs_cmdline.C
|
|
main.C
|
|
win/
|
|
win_net.cpp
|
|
win_service.cpp,h (new)
|
|
win_build/
|
|
boinc_cli.vcproj
|
|
boinc_ss.vcproj
|
|
|
|
David Jan 19 2004
|
|
- modify logic of file_upload_handler so that it always
|
|
returns an HTML header, regardless of whether
|
|
request message is missing or malformed
|
|
- hyperlink results on pending credit page
|
|
- fix bug in parsing of exit status in result stderr_out
|
|
- include "validate_trivial" in install_boinc_files()
|
|
|
|
html_user/
|
|
index.php
|
|
pending.php
|
|
py/Boinc/
|
|
setup_project.py
|
|
sched/
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
|
|
David Jan 20 2004
|
|
- added basic support for GUI RPCs in the core client.
|
|
This allows GUIs to be implemented in a separate process.
|
|
There can be multiple GUIs looking at the same core client.
|
|
New classes:
|
|
GUI_RPC_CONN: represents a connection to a GUI program
|
|
GUI_RPC_CONN_SET: represents the set of all such connections
|
|
has the usual poll() function.
|
|
This is currently implemented only for UNIX, using UNIX domain sockets.
|
|
Should be straightforward to do in Win using named pipes.
|
|
- The isspace() macro crashes if called with a non-ASCII arg,
|
|
so use it only after isascii()
|
|
- reimplement strip_whitespace() to do the above,
|
|
have it trim at both start and end,
|
|
and make a version for string
|
|
NOTE: the real problem is that user-supplied text is being
|
|
kept in XML elements in the state file.
|
|
Should escape it.
|
|
|
|
client/
|
|
Makefile.am,in
|
|
client_state.C,h
|
|
gui_rpc_client.C,h (new)
|
|
gui_rpc_server.C,h (new)
|
|
gui_test.C
|
|
|
|
lib/
|
|
parse.C
|
|
util.C,h
|
|
|
|
David Jan 21 2004
|
|
- get new GUI RPC stuff to compile on Win
|
|
|
|
client/
|
|
gui_rpc_server.C
|
|
win_build/
|
|
boinc.sln
|
|
boinc_cli.vcproj
|
|
boinc_gui.vcproj
|
|
|
|
Eric Jan 21 2004
|
|
- Modified match_tag to work with tags of the form "<tag>" and "tag"
|
|
- Added strlcat() to std_fixes.h
|
|
- Added check for strlcat() configure.ac
|
|
- fixed "#elif" without clause in main.C
|
|
|
|
configure
|
|
configure.ac
|
|
config.h.in
|
|
client/
|
|
main.C
|
|
lib/
|
|
parse.C
|
|
std_fixes.h
|
|
|
|
Karl 2004-01-21
|
|
Client translations update from Robi Beucheler
|
|
|
|
client/translation/
|
|
language.ini.ca
|
|
language.ini.es
|
|
language.ini.et
|
|
language.ini.gl
|
|
language.ini.hr
|
|
language.ini.ko
|
|
language.ini.pl
|
|
language.ini.pt
|
|
language.ini.template
|
|
language.ini.th (new)
|
|
language.ini.tr (new)
|
|
|
|
David Jan 21 2004
|
|
- small changes to get console version to compile
|
|
|
|
client/
|
|
cs_cmdline.C
|
|
main.C
|
|
win_build/
|
|
boinc_cli.vcproj
|
|
|
|
David Jan 22 2004
|
|
- match_tag() changes broke Win compile.
|
|
Moved new match_tag() to xml_match_tag() in xml_util.C,
|
|
put old match_tag() back.
|
|
|
|
lib/
|
|
util.C,h
|
|
xml_util.C,h
|
|
|
|
David Jan 22 2004
|
|
- change the GUI RPC protocol so that there's a single
|
|
<get_state/> request that returns the entire state
|
|
(same contents as the client state file)
|
|
- add fraction_done, current_cpu_time to <active_task> output
|
|
- factored out CLIENT_STATE::write_state(FILE*)
|
|
(used for both state file write and GUI RPC)
|
|
- always copy team name from scheduler reply
|
|
(so that we'll learn if user quits team)
|
|
|
|
client/
|
|
app.C
|
|
client_state.h
|
|
cs_scheduler.C
|
|
cs_statefile.C
|
|
gui_rpc_client.C,h
|
|
gui_rpc_server.C
|
|
gui_test.C
|
|
|
|
David Jan 23 2004
|
|
- fix problem with DLL dependency (from Rom Walton)
|
|
|
|
api/
|
|
boinc_api.C
|
|
graphics_api.C
|
|
gutil.C
|
|
windows_opengl.C
|
|
lib/
|
|
parse.C
|
|
util.C
|
|
|
|
David Jan 23 2004
|
|
- Fleshed out client-side support for GUI RPCs
|
|
The GUI_RPC class now parses the XML it gets back from
|
|
the <get_state> request, and builds a data structure
|
|
that is more or less a clone of the state of the core client.
|
|
There are still a number of missing pieces,
|
|
e.g. active tasks and file transfers
|
|
|
|
client/
|
|
cs_apps.C
|
|
gui_rpc_client.C,h
|
|
gui_test.C
|
|
makefile.gui_test (new)
|
|
|
|
David Jan 24 2004
|
|
- add resource to let you control name of screensaver in
|
|
choose-screensaver popup (from Rom Walton)
|
|
|
|
client/win/
|
|
boinc_ss.h
|
|
boinc_ss.rc
|
|
|
|
David Jan 26 2004
|
|
- server-side support for anonymous platform mechanism
|
|
- struct CLIENT_APP_VERSION represents an app version
|
|
that an anonymous-platform client says it has
|
|
- SCHEDULER_REQUEST has a vector of CLIENT_APP_VERSIONs,
|
|
parsed from request message
|
|
- in scan_work_array(): if anonymous platform,
|
|
instead of checking for an app version in the DB,
|
|
check that the client has an app version with an
|
|
acceptable version#
|
|
|
|
NOTE: for this to work you need to add an entry named "anonymous"
|
|
to the platform table
|
|
|
|
html_user/
|
|
index.php
|
|
team_join_form.php
|
|
team_quit_form.php
|
|
sched/
|
|
handle_request.C
|
|
server_types.C,h
|
|
|
|
David Jan 26 2004
|
|
- client-side support for anonymous platform mechanism
|
|
- To use this mechanism, user puts a file "app_info.xml" in a project dir.
|
|
This file contains <app>, <file_info>, and <app_version> elements
|
|
for app versions present in the project dir
|
|
(compiled or manually installed by the user).
|
|
- If this file is found, the project is marked as "anonymous_platform"
|
|
and app/app_version info in the state file is ignored.
|
|
- Scheduler RPCs for anonymous projects include a list of app_versions
|
|
- CLIENT_STATE::link_*(): fail if object is already in state
|
|
|
|
client/
|
|
client_state.C,h
|
|
client_types.C,h
|
|
cs_scheduler.C
|
|
cs_statefile.C
|
|
file_names.h
|
|
lib/
|
|
error_numbers.h
|
|
|
|
David Jan 30 2004
|
|
- replaced a bunch of "return 1"s with meaningful codes
|
|
(mostly ERR_NOT_FOUND); fixed comments; added license text here and there
|
|
client/
|
|
app.C
|
|
client_state.C
|
|
cs_apps.C
|
|
cs_cmdline.C
|
|
cs_files.C
|
|
cs_prefs.C
|
|
cs_scheduler.C
|
|
file_xfer.C
|
|
gui_rpc_server.C,h
|
|
http.C
|
|
message.C
|
|
net_stats.C
|
|
net_xfer.C
|
|
pers_file_xfer.C
|
|
doc/
|
|
account.php
|
|
lib/
|
|
app_ipc.C
|
|
error_numbers.h
|
|
|
|
David Jan 30 2004
|
|
- mark result as OUTCOME_SUCCESS only if exit status is zero (from Rom Walton)
|
|
|
|
sched/
|
|
handle_request.C
|
|
|
|
David Jan 31 2004
|
|
- GUI RPC: get_state RPC now returns active tasks and file xfers
|
|
- remove "hostname" field from HTTP_OP.
|
|
There was already a field of this name in NET_XFER,
|
|
a base class of HTTP_OP.
|
|
|
|
client/
|
|
client_types.C
|
|
gui_rpc_client.C,h
|
|
gui_rpc_server.C
|
|
http.h
|
|
net_xfer.C,h
|
|
pers_file_xfer.C
|
|
makefile.gui_test
|
|
|
|
David Feb 2 2004
|
|
- escape all user-supplied text in XML (messages and files)
|
|
e.g. user name, team name
|
|
- added functions xml_escape() and xml_unescape()
|
|
(very simple versions; just escape < and &)
|
|
- parse_str() does unescape
|
|
|
|
client/
|
|
client_types.C
|
|
lib/
|
|
parse.C,h
|
|
sched/
|
|
server_types.C
|
|
|
|
David Feb 2 2004
|
|
- changed directory structure of HTML stuff
|
|
|
|
Rom Feb 2 2004
|
|
- Added a diagnostics library for project clients
|
|
Currently only windows specific stuff has been implemented for the
|
|
BOINCASSERT and BOINCTRACE.
|
|
BOINCASSERT has been defined as an ASNI C assert
|
|
for all other platforms.
|
|
|
|
boinc_trace(), boinc_diag_init(), and boinc_diag_cleanup()
|
|
need to be defined for all the other platforms.
|
|
- Moved stderr redirection into boinc_diag_init() for the Windows client.
|
|
|
|
api/
|
|
boincdiag.cpp,h (Added)
|
|
boinc_api.c
|
|
|
|
Rom Feb 3 2004
|
|
- Fixed warning while compiling with gcc.
|
|
|
|
api/
|
|
boincdiag.cpp,h
|
|
|
|
David Feb 3 2004
|
|
- removed pathMod arguments in PHP code (this was needed when we had
|
|
multi-level directory structure; not needed anymore)
|
|
- changed max_wus_to_send from a compile constant to a config.xml parameter
|
|
|
|
html/
|
|
forum/
|
|
post.php
|
|
rate.php
|
|
reply.php
|
|
subscribe.php
|
|
inc/
|
|
db.inc
|
|
subscribe.inc
|
|
util.inc
|
|
sched/
|
|
handle_request.C
|
|
sched_config.C,h
|
|
|
|
David 2004-02-03
|
|
BOINC 2.23 release for Windows
|
|
|
|
Karl 2004-02-03
|
|
- updates for html directory structure change
|
|
|
|
tools/
|
|
make_project
|
|
|
|
py/Boinc/
|
|
setup_project.py
|
|
|
|
html/
|
|
project.sample/ (new directory)
|
|
project.inc (new)
|
|
project_specific_prefs.inc (new)
|
|
|
|
html/
|
|
user/
|
|
project.inc.sample (removed)
|
|
project_specific_prefs.inc (removed)
|
|
|
|
Rom Feb 4 2004
|
|
- Fixed the windows_error_string routine so it'll report back windows system errors.
|
|
- Updated the CreateProcess part of app.c to report OS Errors based on the above funtion.
|
|
- Removed the seperate header blocks for both release and debug and made them the same.
|
|
clears up one customer bug on Windows NT 4.0 platforms
|
|
- Changed the 1400 version check in stackwalker.h to 1310 which is what the 7.1 compiler
|
|
version is really.
|
|
- Changed the service routines to use windows_error_string instead of GetSystemErrorText
|
|
|
|
client/
|
|
app.c
|
|
client
|
|
win/
|
|
stackwalker.h
|
|
win_screensaver.h
|
|
win_service.cpp
|
|
lib/
|
|
util.c,h
|
|
|
|
Rom Feb 4 2004
|
|
- Changed from using SHGetSpecialFolder to SHGetFolderPath which now uses COM and so will
|
|
will not throw a dynamic link error on startup for platforms that don't support it.
|
|
|
|
client
|
|
win/
|
|
win_screensaver.cpp
|
|
|
|
David Feb 4 2004
|
|
- BOINC API: if get a REREAD_PREFS message from core client,
|
|
only call the app's reread_prefs function if there's a window open
|
|
(the SETI@home reread_prefs function goes into an infinite loop
|
|
if there's not a window open)
|
|
- change copyright year to 2004
|
|
|
|
api/
|
|
windows_opengl.C
|
|
client/win/
|
|
resource.rc
|
|
|
|
Karl 2004-02-03
|
|
- more misc. make_project fixes
|
|
|
|
David Feb 4 2004
|
|
- define a destructor for ACTIVE_TASK.
|
|
Do all resource deallocation (close thread/proc/msg handles;
|
|
detach and/or destroy shmem) here.
|
|
This deallocation was being done piecemeal;
|
|
for example, it wasn't being done if the process was aborted.
|
|
Hence the "quit message" object was still there,
|
|
and when another process started in the same slot it would
|
|
immediately get the message (caused "reset project" problem)
|
|
- Eventually delete all ACTIVE_TASK objects.
|
|
The following removed them from the list but didn't deleting:
|
|
ACTIVE_TASK_SET::abort_project()
|
|
ACTIVE_TASK_SET::restart_tasks() (failure case)
|
|
- Don't ask for work if we have any unfinished work.
|
|
This is a temporary kludge to prevent repeated work requests;
|
|
it means that min work buffer is meaningless.
|
|
But maybe this is OK.
|
|
|
|
client/
|
|
app.h,C
|
|
cs_scheduler.C
|
|
|
|
David Feb 4 2004
|
|
- Cleaned up the project-reset logic a little:
|
|
- first garbage-collect, THEN unlink and delete the apps and app_versions
|
|
- When detach project, delete FILE_INFO*s.
|
|
|
|
NOTE: there are lots of loose ends, e.g. files/sockets left open etc.
|
|
|
|
client/
|
|
client_state.C
|
|
|
|
David Feb 4 2004
|
|
- Released version 2.24 of core client
|
|
|
|
Rom Feb 4 2004
|
|
- When handled errors occur provide the translated error message as well as the
|
|
error code.
|
|
|
|
client/
|
|
app.c
|
|
|
|
Rom Feb 4 2004
|
|
- Update the debugging page with some more useful information about what we need
|
|
when a crash occurs
|
|
|
|
html/user/
|
|
debug.php
|
|
|
|
Rom Feb 5 2004
|
|
- Microsofts documentation on the matter of SHGetFolderPath seems to be wrong.
|
|
instead of relying on it, just do a dynamic link and call the function
|
|
if successful.
|
|
|
|
client/win/
|
|
win_screensaver.cpp
|
|
|
|
David Feb 5 2004
|
|
- db_dump: files ordered by ID now have a fixed-size ID range,
|
|
not a fixed # of elements
|
|
- Changed FEASIBLE_COUNT parameters to very large values,
|
|
so that results are never classified as COULDNT_SEND.
|
|
This mechanism is not needed for SETI@home (all results are the same)
|
|
and is occasionally screwing things up.
|
|
Can revisit this later.
|
|
- Make "host" web links consistent ("---" if ID is zero)
|
|
- In UOTD browse, show only profiles w/ pics
|
|
|
|
html/
|
|
inc/
|
|
host.inc
|
|
result.inc
|
|
util.inc
|
|
ops/
|
|
profile_ops.php
|
|
sched/
|
|
db_dump.C
|
|
feeder.C
|
|
handle_request.C
|
|
sched_shmem.h
|
|
|
|
David Feb 5 2004
|
|
- My checkin of Jan 31 broke access via HTTP proxies.
|
|
Here's an attempt to fix it
|
|
|
|
client/
|
|
http.C,h
|
|
net_xfer.C,h
|
|
pers_file_xfer.C
|
|
|
|
David Feb 5 2004
|
|
- skip over <file_xfer> elements while parsing <file_info>
|
|
(they're there for the benefit of GUI RPC)
|
|
- removed old TRACEs from Win code
|
|
|
|
client/
|
|
client_types.C
|
|
win/
|
|
wingui_mainwindow.cpp
|
|
|
|
Rom Feb 5 2004
|
|
- Moved the unhandled exception filter back into boinc_api.c where it was orginally.
|
|
- Moved stackwalker that is used by BOINC Client applications into api folder since
|
|
the unhandled exception filter depends on it.
|
|
- Removed the unhandled exception filter init code from boincdiag.cpp
|
|
|
|
api/
|
|
boinc_api.c
|
|
boincdiag.cpp
|
|
api/win/
|
|
stackwalker.cpp,h (Added)
|
|
|
|
Rom Feb 6 2004
|
|
- Removed boincdiag.cpp,h from build and encorporated all its functionality into
|
|
boinc_api.c, h
|
|
- Improved unhandled exception filter to handle STACK_OVERFLOW exceptions, using
|
|
new stackwalker code base, STACK_OVERFLOWs would have caused a nested
|
|
exception issue that would have masked the real error.
|
|
- Improved unhandled exception filter to handle ACCESS_VIOLATIONs better, using
|
|
stackwalker code base, giving some of the same information for release builds
|
|
that is given in debug builds
|
|
- Created a new macro called BOINCERROR which will trip the management thread into
|
|
gracefully exiting the process with the correct exit code. This macro will work
|
|
across debug/release builds. Some more work has to go into the base function,
|
|
hopefully in tomorrow.
|
|
|
|
api/
|
|
boinc_api.c,h
|
|
boincdiag.cpp,h (deleted)
|
|
|
|
David Feb 6 2004
|
|
- changed default min/max work buffers from (1,3) to (.1, 1)
|
|
|
|
html/incs/
|
|
prefs.inc
|
|
|
|
David Feb 6 2004
|
|
- ask for more work when # of results in progress is less than # CPUs
|
|
- when get an APP_VERSION in a scheduler reply that's already in client state,
|
|
DON'T update the client state (it can't be any different anyway)
|
|
This fixes a garbage-collection crash
|
|
- Win client: added check_state.C to the project.
|
|
You can call check_all() to verify the integrity of client data.
|
|
This is commented out but useful for debugging.
|
|
- FILE_XFER_SET::insert() adds item to list, even if the underlying
|
|
HTTP_OP::insert() fails (because can't connect, e.g.)
|
|
This is necessary to make sure that the FILE_XFER remains in the
|
|
FILE_XFER_SET even in case of error, so that check_all() works.
|
|
|
|
NOTE: the semantics of insert() should be reexamined through the whole
|
|
FSM stack. Does it initialize? Is it guaranteed to insert?
|
|
Need consistency.
|
|
|
|
client/
|
|
check_state.C
|
|
client_state.C,h
|
|
cs_scheduler.C
|
|
file_xfer.C
|
|
win_build/
|
|
boinc_cli.vcproj
|
|
boinc_gui.vcproj
|
|
|
|
David Feb 6 2004
|
|
- Windows core client 2.25 release
|
|
|
|
David Feb 6 2004
|
|
- API: is we're not using shared memory,
|
|
then app_client_shm is NULL (not app_client_shm->shm)
|
|
- add constructor for APP_CLIENT_SHM
|
|
|
|
api/
|
|
boinc_api.C,h
|
|
lib/
|
|
app_ipc.C,h
|
|
|
|
Rom Feb 6 2004
|
|
- When reporting exit codes of the project application to the DB,
|
|
use the exit code that was reported from the application
|
|
instead of the value from GetLastError()
|
|
|
|
lib/
|
|
util.c,h
|
|
client/
|
|
app.c
|
|
|
|
David Feb 8 2004
|
|
- reorganized "Creating a BOINC project" and "Getting work done"
|
|
parts of docs
|
|
doc/
|
|
anonymous_platforms.php
|
|
assimilate.php (new)
|
|
back_end.php (removed)
|
|
backend_functions.php (removed)
|
|
backend_logic.php (new)
|
|
backend_programs.php
|
|
boinc_dev.php
|
|
build_system.php
|
|
configuration.php (new)
|
|
create_project.php
|
|
database.php
|
|
docutil.php
|
|
make_project.php
|
|
platform.php
|
|
server_components.php
|
|
software.php
|
|
tool_start.php
|
|
tool_xadd.php
|
|
tools_work.php
|
|
validate.php
|
|
web_site.php (removed)
|
|
|
|
David Feb 9 2004
|
|
- Scheduler: when last work request was too recent,
|
|
send request_delay to tell client to wait (from Jens)
|
|
- code that generates user profile gallery pages (inc/gallery.inc)
|
|
has a nightmare of hardwired URL and path names.
|
|
I unraveled things enough to make them work again.
|
|
Should revisit at some point.
|
|
- page_tail() wasn't working when writing to files
|
|
|
|
html/
|
|
inc/
|
|
gallery.inc
|
|
profile.inc
|
|
util.inc
|
|
ops/
|
|
gallery.inc (removed)
|
|
project.sample/
|
|
project.inc
|
|
user/
|
|
debug.php
|
|
profile_menu.php
|
|
project.inc.sample
|
|
sched/
|
|
handle_request.C
|
|
|
|
David Feb 9 2004
|
|
- ACTIVE_TASK_SET::poll(): set state file dirty flag whenever the
|
|
set of active tasks changes (e.g. app exited).
|
|
- rename ACTIVE_TASK::abort() to abort_task() (eliminate ambiguity)
|
|
- ACTIVE_TASK_SET::check_rsc_limits_exceeded():
|
|
check only running tasks
|
|
- CLIENT_STATE::reset_project(): don't delete apps, app_versions
|
|
if project is anonymous-platform
|
|
- PROJECT::set_min_rpc_time(): don't change min_rpc_time
|
|
if it's already later than requested time (from Jens)
|
|
|
|
client/
|
|
app.C,h
|
|
client_state.C
|
|
cs_scheduler.C
|
|
|
|
David Feb 11 2004
|
|
- updated docs
|
|
- "request_delay" from server overrides exponential backoff
|
|
|
|
client/
|
|
cs_scheduler.C
|
|
|
|
David Feb 15 2004
|
|
- updated docs
|
|
- make_project:
|
|
use short hostname
|
|
shorten instructions at end
|
|
- add a sample project.xml
|
|
- scheduler: write log debug msg when set result.outcome
|
|
- setup_project.py and make_project:
|
|
add copy of "create_work"
|
|
make symbolic link of html/user_profile to itself
|
|
don't capitalize long name
|
|
- parse_attr(): don't modify const input string
|
|
- XML error in client: </hostname/>
|
|
|
|
doc/
|
|
(many files)
|
|
lib/
|
|
parse.C
|
|
sched/
|
|
handle_request.C
|
|
tools/
|
|
create_work.C
|
|
project.xml (new)
|
|
make_project
|
|
py/Boinc/
|
|
database.py
|
|
setup_project.py
|
|
|
|
David Feb 16 2004
|
|
- removed references to Workseq table from python code
|
|
- commented out shutdown()s in http.C.
|
|
These seemed to be causing problems.
|
|
- doc updates
|
|
|
|
client/
|
|
http.C
|
|
html/user/
|
|
index.php
|
|
stats.php
|
|
doc/
|
|
(various)
|
|
py/Boinc/
|
|
database.py
|
|
db_mid.py
|
|
|
|
David Feb 16 2004
|
|
- enable the min_core_version attribute of app_version:
|
|
don't send a result to a host whose core version is too low.
|
|
(Note: this is a no-op unless you set min_core_version
|
|
to something nonzero).
|
|
If a host isn't sent any work because of this,
|
|
send a message suggesting upgrade
|
|
- Core client: put an <exit_status> element at the top level of <result>,
|
|
not within <stderr_out>
|
|
- Scheduler: parse <exit_status> from within <result>
|
|
Also parse it within <stderr_out> for backwards compat
|
|
- Client state file not parsed correctly when it contained a <file_xfer>
|
|
(because of active file xfer).
|
|
- add uniqueness constraints for category and forum
|
|
- add a script to set up initial categories and forums
|
|
|
|
client/
|
|
client_state.C
|
|
client_types.C
|
|
db/
|
|
constraints.sql
|
|
html/ops/
|
|
create_forums.php (new)
|
|
sched/
|
|
handle_request.C
|
|
sched_shmem.C
|
|
server_types.C
|
|
|
|
Rom Feb 19 2004
|
|
- Removed #ifdef around stackwalker dump so it'll dump release builds as well
|
|
|
|
api/
|
|
boinc_api.C
|
|
|
|
David Feb 19 2004
|
|
- FILE_XFER_SET::insert(): check for error BEFORE inserting in set.
|
|
- fix time zone display
|
|
|
|
client/
|
|
file_xfer.C
|
|
http.C
|
|
doc/
|
|
(various)
|
|
html/inc/
|
|
host.inc
|
|
|
|
Jeff Feb 19 2004
|
|
- CVS tagged as seti_boinc_app_release_2_25.
|
|
|
|
Rom Feb 23 2004
|
|
- Removed stackwalkers exception description so duplicate information is not logged.
|
|
|
|
api/win/
|
|
stackwalker.cpp
|
|
|
|
Karl 2004-02-23
|
|
- cookbook changes
|
|
|
|
doc/
|
|
project_cookbook.php
|
|
|
|
Rom Feb 23 2004
|
|
- New projects were failing to be able to make profiles. Added a bunch of defines
|
|
to project.inc that are now required.
|
|
- Updated the schema.sql file to include columns that are now required.
|
|
- Changed URL handling to include URL_BASE before quite a few relative links.
|
|
Basically PROFILE_PATH was being used for URL generation instead of URL_BASE +
|
|
IMAGE_URL|PROFILE_URL.
|
|
|
|
db/
|
|
schema.sql
|
|
html/inc/
|
|
forum.inc
|
|
gallery.inc
|
|
html/project.sample/
|
|
project.inc
|
|
user/
|
|
profile_menu.php
|
|
|
|
Jeff Feb 25 2004
|
|
- CVS tagged as seti_boinc_app_release_2_26. This tag is a little late but
|
|
the sources should be little if any changed.
|
|
|
|
David Feb 28 2004
|
|
- change page_head() so that it doesn't try to find user
|
|
when being used for offline page generation
|
|
|
|
html/inc/
|
|
gallery.inc
|
|
host.inc
|
|
util.inc
|
|
|
|
David Feb 28 2004
|
|
- added some #includes for freeBSD compile
|
|
|
|
David Feb 28 2004
|
|
- made some stuff const
|
|
- added new GUI RPCs (for control)
|
|
- added GUI RPCs for Windows
|
|
NOTE: pipes don't work on Win. need to change to TCP
|
|
|
|
client/
|
|
client_state.C,h
|
|
cs_account.C
|
|
gui_rpc_server.C
|
|
doc/
|
|
gui_rpc.php
|
|
|
|
David Feb 28 2004
|
|
- (from Rom) fixes a bug reported by Matze in the forums
|
|
where after an explorer crash the BOINC GUI doesn't re-register itself with
|
|
the new explorer.
|
|
|
|
client/win/
|
|
wingui_mainwindow.cpp,h
|
|
|
|
Rom Feb 28 2004
|
|
- Added boinc_diagnostics.c,.h, boinc_exceptions.c,.h. Not included in the build yet,
|
|
but needed to snapshot the source.
|
|
- Fixed a bug where on Windows we were not really waiting for three seconds before
|
|
a retry. This is done for both reads and writes since on Windows there is a notion
|
|
of exclusive reads which would make successive read requests fail as well.
|
|
|
|
api/
|
|
boinc_diagnostics.C, .h (added)
|
|
boinc_exception.C, .h (added)
|
|
lib/
|
|
filesys.C
|
|
|
|
David Feb 29 2004
|
|
- check for "w", "a" in boinc_fopen()
|
|
|
|
lib/
|
|
filesys.C
|
|
|
|
Rom Mar 1 2004
|
|
- Retry on all boinc_fopen operations
|
|
- added boinc_file_exists()
|
|
|
|
client/
|
|
app.c
|
|
cs_scheduler.c
|
|
cs_statefile.c
|
|
log_flags.c
|
|
lib/
|
|
filesys.C, .h
|
|
|
|
David Mar 1 2004
|
|
- compile errors
|
|
|
|
client/
|
|
gui_rpc_server.C
|
|
|
|
Rom Mar 1 2004
|
|
- Update project files so they'll build symbol files for release builds
|
|
- Remove the name collision between boinc.scr and boinc.dll as far as symbol
|
|
generation goes
|
|
- updated uppercase so it'll build again
|
|
|
|
winbuild/
|
|
boinc_cli.vsproj
|
|
boinc_dll.vsproj
|
|
boinc_gui.vsproj
|
|
boinc_ss.vsproj
|
|
upper_case.vsproj
|
|
|
|
Rom Mar 2 2004
|
|
- Get the complete version string for the Windows OS and include Service Pack
|
|
Information if any exist. An example is below:
|
|
<os_name>Microsoft Windows 2003 Standard Server Edition (Build 3790)</os_name>
|
|
- #ifdef out the GUI RPC stuff on Windows for right now, causes a crash on startup.
|
|
|
|
client/
|
|
client_state.C
|
|
client/win/
|
|
hostinfo_win.cpp
|
|
|
|
Rom Mar 2 2004
|
|
- Update version Resouces to version 2.26 for the Windows release.
|
|
|
|
client/win/
|
|
boinc_ss.rc
|
|
resource.rc
|
|
win_config.h
|
|
|
|
Rom Mar 2 2004
|
|
- CVS tagged as boinc_app_release_2_26.
|
|
|
|
David Mar 3 2004
|
|
- added "using namespace std;" a couple places to fix bizarre
|
|
link problems on Windows
|
|
|
|
client/
|
|
parse.C
|
|
util.C
|
|
|
|
David Mar 3 2004
|
|
- "account key" -> "account ID" in the PHP code
|
|
|
|
html/
|
|
inc/
|
|
util.inc
|
|
user/
|
|
account_created.php
|
|
accountsetup_nonfirst_done.php
|
|
create_account_form.php
|
|
get-passwd.php
|
|
login_action.php
|
|
mail_passwd.php
|
|
|
|
Rom Mar 3 2004
|
|
- Some house keeping with the Windows sources
|
|
- All Windows binaries now have a version resource assigned to them.
|
|
- The Windows CLI should no longer need to have references to afxwin.h
|
|
- project file cleanup work to get rid of some warnings
|
|
|
|
client/
|
|
app.h
|
|
net_xfer.c
|
|
client/win/
|
|
boinc_ss.rc, .h
|
|
boinc_cli.rc, .h (added)
|
|
boinc_dll.rc, .h (added)
|
|
boinc_gui.rc, .h (added)
|
|
resource.rc, .h (removed)
|
|
update-resource-version
|
|
win_idle_tracker.def
|
|
win_net.cpp
|
|
wingui.h
|
|
wingui_mainwindow.cpp, .h
|
|
winbuild/
|
|
*.vcproj
|
|
boinc.vcproj (removed)
|
|
|
|
Rom Mar 4 2004
|
|
- Include file overhaul for the Windows platform
|
|
|
|
Basically the linker was linking Windows GUI resources into it because of various
|
|
references to afxwin.h, these have now been banished from the source tree except in
|
|
one location.
|
|
|
|
I added a header file called stdafx.h which contains all the includes for all the
|
|
system header files on Windows, each source file contains a pointer to stdafx.h.
|
|
|
|
stdafx.h contains conditional logic to switch between afxwin.h and windows.h depending
|
|
on whether or not _CONSOLE is defined.
|
|
|
|
Compiled Source Sizes: Debug Release
|
|
boinc_gui.exe (Before Changes) 1.732MB 328KB
|
|
boinc_cli.exe (Before Changes) 2.080MB Unknown
|
|
boinc.scr (Before Changes) 244KB 88KB
|
|
boinc.dll (Before Changes) 136KB 44KB
|
|
|
|
boinc_gui.exe (After Changes) 1.716MB 428KB
|
|
boinc_cli.exe (After Changes) 1.508MB 412KB
|
|
boinc.scr (After Changes) 188KB 116KB
|
|
boinc.dll (After Changes) 140KB 58KB
|
|
|
|
I pretty much touched all the source and header files. This checkin should not have any
|
|
effect on any platform other than Windows.
|
|
|
|
Rom Mar 4 2004 (from John Keck)
|
|
|
|
Edits to change when the client considers a result to be at its deadline
|
|
it was originally 6 hours as defined in _BASE
|
|
if I did this right it will use the connected fraction to modify that amount
|
|
a 100% connected client will use the base figure, a 0% connected client will
|
|
use the base figure times the multiplier in addition to the base figure.
|
|
The figures I have here will produce a maximum time before deadline of
|
|
18 hours. 6*2=12+6=18 for debugging that may be too much but
|
|
it may not be enough for release.
|
|
|
|
client/
|
|
client_state.h
|
|
cs_scheduler.c
|
|
|
|
Rom Mar 4 2004
|
|
- More Windows header file cleanup.
|
|
|
|
api/
|
|
boinc_api.c
|
|
mfile.c
|
|
client/
|
|
<Header files>
|
|
lib/
|
|
filesys.h
|
|
language.h
|
|
parse.h
|
|
util.h
|
|
|
|
Rom Mar 5 2004
|
|
- Include file overhaul for the Windows platform ( Part 2 )
|
|
|
|
Compiled Source Sizes: Debug Release
|
|
boinc_gui.exe (Before Changes) 1.732MB 328KB
|
|
boinc_cli.exe (Before Changes) 2.080MB Unknown
|
|
boinc.scr (Before Changes) 244KB 88KB
|
|
boinc.dll (Before Changes) 136KB 44KB
|
|
|
|
boinc_gui.exe (After Changes) 1.716MB 332KB
|
|
boinc_cli.exe (After Changes) 624KB 324KB
|
|
boinc.scr (After Changes) 188KB 88KB
|
|
boinc.dll (After Changes) 140KB 35KB
|
|
|
|
I pretty much touched all the source and header files. This checkin should not have any
|
|
effect on any platform other than Windows.
|
|
|
|
Rom Mar 5 2004 (from John Keck)
|
|
- Adjust default values to download minimum work-unit load until the client can
|
|
collect preferences from the server.
|
|
|
|
client/
|
|
perfs.c
|
|
|
|
Rom Mar 5 2004
|
|
- Add the Alpha project test team members names to the Contact Us page.
|
|
|
|
doc/
|
|
contact.php
|
|
|
|
Rom Mar 6 2004
|
|
- I am backing out a change by John Keck until a server RPC overload problem is fixed.
|
|
|
|
client/
|
|
cs_scheduler.c
|
|
|
|
Rom Mar 6 2004
|
|
- Changed the namespace references back to the orginal references so that the clients
|
|
will build on Solaris and Linux.
|
|
|
|
lib/
|
|
util.c, .h
|
|
|
|
Rom Mar 6 2004
|
|
- Updated the version setting code so that it will include the new file resources for Windows
|
|
|
|
/
|
|
set-verson
|
|
client/
|
|
makefile.am
|
|
client/win/
|
|
update-boinc-cli-version
|
|
update-boinc-dll-version
|
|
update-boinc-gui-version
|
|
update-boinc-ss-version
|
|
|
|
Jeff Mar 9 2004
|
|
- CVS tagged as boinc_app_release_2_27.
|
|
|
|
Rom Mar 9 2004
|
|
- Fix fatal error with the intro.php page because of missing function in project.inc
|
|
|
|
html/project.sample/
|
|
project.inc
|
|
html/user
|
|
info.php
|
|
|
|
Rom Mar 9 2004
|
|
- Windows Product SKU was being over-written if the person was running with Service Pack 6a.
|
|
|
|
client/win/
|
|
hostinfo_win.cpp
|
|
|
|
Rom Mar 11 2004
|
|
- Properly identify Windows Longhorn
|
|
|
|
client/win/
|
|
hostinfo_win.cpp
|
|
|
|
Rom Mar 11 2004 (for Thomas Horsten)
|
|
- Here is a patch that fixes CPU detection for Linux (i386) and adds CPU detection for MIPS.
|
|
It is not perfect (it's really the proc interface's fault), but at least it is a lot better
|
|
than what is there now.
|
|
|
|
|
|
client/
|
|
hostinfo_unix.cpp
|
|
|
|
Jeff Mar 14 2004
|
|
- Another static/dynamic linking problem fixed by an ugly collect2
|
|
hack. It turns out that a statically linked linux client gets the
|
|
following warning at build time:
|
|
|
|
hostinfo.C:230: warning: Using 'gethostbyname' in statically
|
|
linked applications requires at runtime the shared libraries
|
|
from the glibc version used for linking
|
|
|
|
and sure enough, when such a client is run on a linux platform
|
|
with a incompatible glibc, we saw the following:
|
|
|
|
2004-03-12 11:07:57 [BOINC] Can't resolve hostname setiboinc
|
|
2004-03-12 11:07:57 [BOINC] Can't resolve hostname setiboinc
|
|
2004-03-12 11:07:57 [http://setiboinc/ap/] Couldn't read master
|
|
page for http://setiboinc/ap/: error -113
|
|
2004-03-12 11:07:57 [http://setiboinc/ap/] Couldn't read master
|
|
page for http://setiboinc/ap/: error -113
|
|
2004-03-12 11:07:57 [http://setiboinc/ap/] Detaching from project -
|
|
check for URL error
|
|
2004-03-12 11:07:57 [http://setiboinc/ap/] Detaching from project -
|
|
check for URL error
|
|
|
|
So we needed to link dynamically to libc but statically to libstdc++
|
|
(for reasons described elsewhere in these notes). The only way found
|
|
so far to do this is via a hand crafted collect2 line. That, and
|
|
not linking the client statically in a global fashion.
|
|
|
|
We should make the collect2 scripts adapt to the environment in
|
|
which they ar run. Or, better, figure out how to do this all
|
|
within configure/make.
|
|
|
|
- bumped version to 2.28.
|
|
|
|
configure.ac
|
|
configure
|
|
client
|
|
Makefile.am
|
|
Makefile.in
|
|
collect2_line_linux.csh new file
|
|
collect2_line_solaris.csh new file
|
|
collect2_line removed
|
|
|
|
Jeff Mar 15 2004
|
|
- CVS tagged boinc and seti_boinc as boinc_app_release_2_28.
|
|
|
|
Karl 2004-04-15
|
|
- fixed bug when files are copied to apps/ in different order
|
|
|
|
tools/
|
|
update_versions
|
|
|
|
David Mar 16 2004
|
|
- fleshed out trickle-message support a bit.
|
|
Separate notions of "trickle up" (client->server)
|
|
and "trickle down" (server->client) messages.
|
|
They're kept in different tables.
|
|
- added a program trickle_handler.C for handling trickle-up messages.
|
|
This is a framework program: you need to supply a handler function
|
|
- The scheduler sees if there are any trickle-down messages
|
|
for the host, and sends them
|
|
|
|
STILL TO BE DONE:
|
|
- server-side API for creating trickle-down messages
|
|
- client logic for delivering trickle-down messages
|
|
|
|
- fix bad mem size reporting on Mac w/ > 2GB mem
|
|
|
|
client/
|
|
hostinfo_unix.C
|
|
scheduler_op.C,h
|
|
db/
|
|
boinc_db.C,h
|
|
constraints.sql
|
|
doc/
|
|
contact.php
|
|
docutil.php
|
|
gui_rpc.php
|
|
software.php
|
|
trickle.php
|
|
validate.php
|
|
sched/
|
|
handle_request.C
|
|
sched_config.C,h
|
|
server_types.C,h
|
|
trickle_handler.C (new)
|
|
validate_test.C
|
|
validate_trivial.C
|
|
|
|
Rom Mar 16 2004
|
|
- Add back in support for Thomas's multi-proc protection aginst strcat for
|
|
vendor and CPU information
|
|
- Included the same multi-proc stuff for the x86
|
|
- Add JKecks change for changing when to report results based on the amount
|
|
of time the machine is connected onto the Internet.
|
|
- Added support for keeping a backup copy of stderr.txt and stdout.txt for
|
|
the previous session of BOINC in case it crashes.
|
|
|
|
client/
|
|
cs_scheduler.c
|
|
file_names.h
|
|
hostinfo_unix.c
|
|
client/win/
|
|
wingui_mainwindow.cpp
|
|
|
|
kevin 17 March 2004
|
|
checked in signal handling code. Uses sigaction. If signal is
|
|
originally ignored, do not handle signals.
|
|
|
|
David Mar 18 2004
|
|
- Remove "confirm executables" preference.
|
|
This is replaced by the anonymous platform mechanism.
|
|
|
|
client/
|
|
client_state.h
|
|
client_types.C,h
|
|
cs_apps.C
|
|
cs_files.C
|
|
main.C
|
|
prefs.C,h
|
|
html/inc/
|
|
prefs.inc
|
|
|
|
kevin 18 March 2004
|
|
- exit status of application set to nonzero value if there is an
|
|
uncaught signal.
|
|
client/
|
|
app.C
|
|
|
|
Rom Mar 18 2004
|
|
- Fixed a bug causing build problems for a customer in Australia, basically
|
|
we were trying to do some ANSI<->Unicode conversions that were not needed.
|
|
- sighandle.h does not need to include its contents on the Win32 platform
|
|
|
|
client/win/
|
|
wingui_dialog.cpp
|
|
lib/
|
|
sighandle.h
|
|
|
|
Jeff Mar 19 2004
|
|
BTW, here is how to buils the mac osx client/app in such a way that you
|
|
can specify the build name:
|
|
configure --build powerpc-apple-darwin
|
|
|
|
David Mar 19 2004
|
|
- small web-site fixes (e.g. you can now set your country to Cote d'Ivoire)
|
|
|
|
html/
|
|
inc/
|
|
download.inc
|
|
prefs.inc
|
|
util.inc
|
|
user/
|
|
host_edit_form.php
|
|
index.php
|
|
profile_menu.php
|
|
white.css
|
|
|
|
kevin March 19 2004
|
|
- Scheduler: don't handle partial requests
|
|
(i.e. missing </scheduler_request> tag)
|
|
lib/
|
|
error_numbers.h
|
|
sched/
|
|
server_types.C
|
|
handle_request.C
|
|
|
|
David Mar 20 2004
|
|
- Various changes to the way CPU benchmarking is done,
|
|
motivated by the need to make claimed credit constant across CPUs,
|
|
including "hyperthreaded" X86 CPUs
|
|
Old:
|
|
A single process runs the benchmark.
|
|
This gets 100% of the FPU on a HT CPU.
|
|
When 2 copies of an app are run,
|
|
they will each get 50% of the FPU,
|
|
so the claimed credit will be too high by a factor of 2.
|
|
New:
|
|
Run N copies of the benchmark in parallel,
|
|
where N is the number of CPUs reported by the OS
|
|
(e.g. twice the number of HT CPUs)
|
|
Average the results.
|
|
Revised interface:
|
|
start_cpu_benchmarks() starts up the N benchmark processes
|
|
cpu_benchmarks_poll() checks for completion
|
|
are_cpu_benchmarks_running() returns true iff running (doesn't poll)
|
|
abort_cpu_benchmarks() aborts processes
|
|
The set of running processes is maintained in an
|
|
array of BENCHMARK_DESC structures
|
|
Results are passed back in files in the Unix case,
|
|
where we use separate processes.
|
|
In the Windows case (where we use threads)
|
|
results are passed back in the BENCHMARK_DESC structure.
|
|
|
|
api/boinc_api.C
|
|
client/
|
|
Makefile.am
|
|
client_state.C,h
|
|
cs_apps.C
|
|
cs_benchmark.C
|
|
cs_prefs.C
|
|
file_names.h
|
|
gui_rpc_server.C
|
|
win/
|
|
wingui_mainwindow.cpp
|
|
doc/
|
|
various
|
|
lib/
|
|
sighandle.C
|
|
|
|
Rom Mar 22 2004
|
|
- Setup project clients so they report back possible memory leaks on exit and
|
|
validate the heap after every 1024 allocations.
|
|
- Define constant for stdout.txt
|
|
|
|
api/
|
|
boinc_api.c
|
|
lib/
|
|
app_ipc.h
|
|
|
|
kevin Mon Mar 22 2004
|
|
- ensure that </stderr_txt> is included in stderr_out,
|
|
even if stderr_out is too long.
|
|
client/
|
|
app.C
|
|
|
|
Rom Mar 22 2004
|
|
- Attempt to force load glut32.dll in a specific location,
|
|
if it fails catch the SEH exception and just disable grapgics.
|
|
|
|
api/
|
|
graphics_api.c
|
|
|
|
David Mar 22 2004
|
|
- Web: Show mod time when display global prefs
|
|
- Client: when write global prefs to a file,
|
|
tag with source project and scheduler only if not already tagged
|
|
(otherwise get multiple tags)
|
|
- Client messages: show source project and mod time of global prefs
|
|
- Web: show all date/time strings in same format, use UTC
|
|
- Client messages: don't list "BOINC" as a project.
|
|
Indicate non-project-specific by "---"
|
|
|
|
client/
|
|
app.C
|
|
cs_scheduler.C
|
|
main.C
|
|
prefs.C,h
|
|
win/
|
|
wingui.cpp
|
|
html/
|
|
inc/
|
|
prefs.inc
|
|
util.inc
|
|
user/
|
|
prefs_edit_form.php
|
|
lib/
|
|
util.C,h
|
|
|
|
kevin Mar 22 2004
|
|
- Scheduling server: we were failing to copy a result's exit_status
|
|
from the request message to the DB record.
|
|
So exit_status was always zero in the DB. Dooh!
|
|
|
|
sched/
|
|
handle_request.C
|
|
|
|
David Mar 22 2004
|
|
- Change the policy for propagating global preferences.
|
|
OLD: if a scheduler request message has newer prefs than
|
|
those in the DB, update the user record.
|
|
I.e. propagate prefs from hosts to projects
|
|
The problem with this: see bug #1164
|
|
NEW: Use whichever is more recent of the prefs in the
|
|
request msg and the prefs in the DB.
|
|
Don't update the prefs in the DB
|
|
|
|
sched/
|
|
handle_request.C
|
|
server_types.C
|
|
|
|
Jeff Mar 23 2004
|
|
- At check_pair() time, if the validator sees that the canonical result
|
|
is deleted, a message is sent to the validator log. Canonical result
|
|
deletion should only happen when all results for a WU are received
|
|
or expired.
|
|
|
|
sched/
|
|
validate.C
|
|
|
|
Rom Mar 23 2004
|
|
- client applications don't really need to dump leak detection information
|
|
for public consumption. So remark it out for public release.
|
|
|
|
api/
|
|
boinc_api.c
|
|
|
|
David Mar 23 2004
|
|
- Initial global prefs (as defined in GLOBAL_PREFS::init()) should
|
|
impose minimal restrictions, so that the client can do its first
|
|
scheduler RPC and get global prefs from a server
|
|
- Fix bug where benchmarks always run on Win client startup
|
|
- Improve startup and prefs messages
|
|
|
|
client/
|
|
client_state.C
|
|
client_types.C
|
|
cs_benchmark.C
|
|
prefs.C
|
|
|
|
David Mar 23 2004
|
|
- Turned off the entire "infeasible result" mechanism for now.
|
|
The recent usage of min_core_version was causing
|
|
lots of results to (undeservedly) get tagged as infeasible.
|
|
- Don't bump infeasible_count (or print message!)
|
|
if min_core_version is not met
|
|
|
|
sched/
|
|
handle_request.C
|
|
feeder.C
|
|
|
|
Rom Mar 24 2004
|
|
- Unify all diagnostics functionality under the same banner, SETI_BOINC,
|
|
BOINC_CLI, BOINC_GUI, upper_case now all initialize the BOINC Diagnostics
|
|
Library which sets up stdout and stderr redirection, heap corruption
|
|
detection, stackwalker for Windows, and stackalker fo *nix can be pluged
|
|
in and be automatically used by all applications.
|
|
- Taskbase#1131 -- closed
|
|
- Taskbase#1132 -- closed
|
|
|
|
api/
|
|
boinc_diagnostics.c, .h (removed)
|
|
boinc_exeception.c, .h (removed)
|
|
boinc_api.c, .h
|
|
api/win/
|
|
stackwalker.cpp, .h (removed)
|
|
apps/
|
|
upper_case.c
|
|
client/
|
|
file_names.h
|
|
main.c
|
|
stdafx.h
|
|
client/win/
|
|
wingui_mainwindow.cpp
|
|
lib/
|
|
diagnostics.c, .h (added)
|
|
exception.c, .h (added)
|
|
stackwalker_win.cpp, .h (added)
|
|
winbuild/
|
|
boinc_cli.vcproj
|
|
boinc_gui.vcproj
|
|
boinc_ss.vcproj
|
|
upper_case.vcproj
|
|
|
|
kevin Mar 24 2004
|
|
- class boinc_base_exception: changed order of initialization
|
|
in constructor so that initialization matches declaration.
|
|
|
|
lib/
|
|
exception.h
|
|
|
|
Rom Mar 24 2004
|
|
- I was a little to agressive in cleaning up boinc_api.c and removed some
|
|
signal handling code, added that back in.
|
|
- The new exceptions use string's, so include <string> in the exception header.
|
|
- gcc has stronger exception enforcement than mscl
|
|
|
|
api/
|
|
makefile.am
|
|
lib/
|
|
diagnostics.c
|
|
exception.c, .h
|
|
|
|
Rom Mar 24 2004
|
|
- Taskbase#1029 - graphics API bugs
|
|
* App graphics window sometimes becomes invisible
|
|
Not Repro
|
|
* App graphics window doesn't restore to original size
|
|
if you maximize, close window, and show graphics again.
|
|
Fixed
|
|
- When window is in minimized state switch the visibility flag to false
|
|
|
|
api/
|
|
windows_opengl.C
|
|
|
|
David Mar 24 2004
|
|
- change priority of "no work" messages in scheduler reply
|
|
from low to high
|
|
- remove "hide_email" field from profile table and associated web pages
|
|
(BOINC should never show email addresses)
|
|
|
|
html/inc/
|
|
profile.inc
|
|
sched/
|
|
handle_request.C
|
|
|
|
David Mar 24 2004
|
|
- check for the existence and correct size (but not checksum)
|
|
of a result's files (app_version and inputs)
|
|
before starting or restarting the app
|
|
If a file is deleted (e.g., manually by the user)
|
|
the core client should download it again before starting the app.
|
|
|
|
New function: FILE_INFO::verify_existing_file()
|
|
- various changes to get Unix client and apps to compile
|
|
with new diagnostics code
|
|
- diagnostics.C subsumes sighandle.C
|
|
|
|
NOTES:
|
|
- use int where possible
|
|
- all numeric error codes go in lib/error_numbers.h
|
|
- libboinc.a is to be used by applications only
|
|
(not client or server programs)
|
|
We can create a different lib for the latter,
|
|
but for now they use explicit .o's
|
|
|
|
api/
|
|
boinc_api.C
|
|
client/
|
|
Makefile.am
|
|
app.C
|
|
client_state.h
|
|
client_types.C,h
|
|
cs_apps.C
|
|
cs_files.C
|
|
main.C
|
|
html/inc/
|
|
util.inc
|
|
lib/
|
|
Makefile.am
|
|
diagnostics.C,h
|
|
error_numbers.h
|
|
sighandle.C,h (removed)
|
|
|
|
David Mar 24 2004
|
|
- get the above stuff working on Windows
|
|
|
|
client/
|
|
app.C
|
|
cs_apps.C
|
|
lib/
|
|
diagnostics.C,h
|
|
error_numbers.h
|
|
|
|
David Mar 24 2004
|
|
- add log flag to suppress file-size checking on app startup
|
|
|
|
client/
|
|
client_types.C
|
|
log_flags.C,h
|
|
|
|
Rom Mar 25 2004
|
|
- I have made SETI_BOINC Glut Free, Basically copied font code from glut
|
|
and put it into the glut folder.
|
|
- Removed Glut libraries
|
|
- Removed Delay Load technologies
|
|
|
|
api/
|
|
graphics_api.C
|
|
|
|
David Mar 25 2004
|
|
- Unix client: use semaphore instead of lockfile to prevent multiple copies
|
|
- rename boinc_init_diag() to boinc_init_diagnostics()
|
|
- rename boinc_execution_engine() to main_loop()
|
|
- add get_key() (to generate IPC key unique to a directory)
|
|
- replaced RETSIGTYPE with void
|
|
|
|
apps/
|
|
upper_case.C
|
|
client/
|
|
Makefile.am
|
|
client_types.h
|
|
cs_apps.C
|
|
main.C
|
|
lib/
|
|
diagnostics.C,h
|
|
error_numbers.h
|
|
synch.C,h
|
|
|
|
Jeff Mar 26 2004
|
|
- Release tags. Sources were tagged as seti_boinc_release_2_30 and then,
|
|
after some build problems were fixed,
|
|
were tagged as seti_boinc_release_2_30a.
|
|
The build from this latter tag was what was released
|
|
as app version 2.30.
|
|
|
|
David Mar 26 2004
|
|
- when show country select on web,
|
|
pre-populate based on client's IP (using GeoIP; from Janus)
|
|
- fix compile problem with semaphore code
|
|
|
|
html/
|
|
inc/
|
|
GeoIP.dat (new)
|
|
geoip.inc (new)
|
|
team.inc
|
|
util.inc
|
|
lib/
|
|
app_ipc.h
|
|
synch.C
|
|
user/
|
|
create_account_form.php
|
|
edit_user_info_form.php
|
|
|
|
David Mar 26 2004
|
|
- Give the PHP session mechanism a "path" (last component of project URL)
|
|
to disambiguate multiple projects on same host,
|
|
so you can log into both at once w/ separate cookies
|
|
(suggested by Janus)
|
|
- Change "Most often asked" to "Most frequently asked"
|
|
|
|
html/inc/
|
|
forum.inc
|
|
util.inc
|
|
|
|
Rom Mar 26 2004
|
|
- Fix a minor bug where after the screen saver shutdown BOINC would fire-up
|
|
a new SAH Window
|
|
- Fix a few build breaks in the Windows CC
|
|
- Tag for a 2.31 release.
|
|
|
|
api/
|
|
boinc_api.c
|
|
windows_opengl.c
|
|
client/
|
|
app.c
|
|
client/win/
|
|
wingui_mainwindow.cpp
|
|
lib/
|
|
app_ipc.c
|
|
|
|
Rom Mar 26 2004
|
|
- Update versions started to complain about PDB files,
|
|
so tell it to ignore them for determining platforms
|
|
|
|
tools/
|
|
update_versions
|
|
|
|
David Mar 26 2004
|
|
- combine RAC when merging hosts
|
|
|
|
html/
|
|
inc/
|
|
forum.inc
|
|
user/
|
|
host_edit_action.php
|
|
|
|
Eric H Mar 27 2004
|
|
- added support for SOCKS4 and SOCKS5 proxy servers
|
|
- added a new PROXY layer between HTTP_OP and NET_XFER.
|
|
This layer takes care of the state transitions
|
|
involved in negotiating with a SOCKS server.
|
|
Support for editing SOCKS proxy server
|
|
information still needs to be completed in the Windows GUI.
|
|
- Possible future projects: add IPv6 support, GSSAPI support,
|
|
test on SOCKS4 server
|
|
|
|
client/
|
|
Makefile.am
|
|
client_messages.C
|
|
client_state.C,h
|
|
cs_cmdline.C
|
|
cs_statefile.C
|
|
gui_rpc_server.C
|
|
http.C,h
|
|
log_flags.C,h
|
|
message.h
|
|
net_xfer.C,h
|
|
pers_file_xfer.C
|
|
proxy.C,h (added)
|
|
scheduler_op.C
|
|
lib/
|
|
error_numbers.h
|
|
|
|
Eric H Mar 27 2004
|
|
- Catch error returns from CPU benchmark timer
|
|
|
|
client/
|
|
cpu_benchmark.C
|
|
lib/
|
|
error_numbers.h
|
|
|
|
Rom Mar 26 2004
|
|
- Updated setup so it'll ask if you want it to be the defult screensaver
|
|
- Updated setup so that it'll remember where you installed it last and
|
|
select that folder by default.
|
|
|
|
win_build/installer
|
|
BOINC.ipr
|
|
win_build/installer/Media/Default/
|
|
default.mda
|
|
win_build/installer/Script Files/
|
|
Setup.ino, .ins, .obs, .rul
|
|
|
|
Rom Mar 28 2004
|
|
- Prepare the environment and installation program for a language aware
|
|
system. All language files will be installed with every installation.
|
|
|
|
This is the begining on bringing us into the Windows MUI effort.
|
|
|
|
win_build/installer/
|
|
<several files>
|
|
client/translation/
|
|
<deleted old layout>
|
|
<created new layout>
|
|
|
|
Rom Mar 28 2004
|
|
- Issue fix that Janus gave for the parsing error.
|
|
|
|
html/user/
|
|
host_edit_action.php
|
|
|
|
David Mar 28 2004
|
|
- Fix compile/link errors I introduced on Friday (sorry!!)
|
|
|
|
api/
|
|
Makefile.in
|
|
boinc_api.C
|
|
client/
|
|
Makefile.in
|
|
cpu_benchmark.C
|
|
|
|
Rom Mar 29 2004
|
|
- Fix BOINC_GUI so it'll build again.
|
|
|
|
client/
|
|
proxy.c
|
|
client/win/
|
|
wingui_dialog.cpp
|
|
win_build/
|
|
boinc_cli.vcproj
|
|
boinc_gui.vcproj
|
|
|
|
David Mar 29 2004
|
|
- Don't use semaphores for multiple-copy exclusion on Unix.
|
|
Semaphores don't work better than lockfile.
|
|
- Fix bugs in global preferences.
|
|
- GLOBAL_PREFS::parse() now sets all booleans to false
|
|
- removed confused should_request_global_prefs() from Win client.
|
|
|
|
client/
|
|
main.C
|
|
prefs.C
|
|
win/
|
|
wingui_mainwindow.cpp,h
|
|
lib/
|
|
filesys.C
|
|
tools/
|
|
create_work.C
|
|
|
|
David Mar 29 2004
|
|
- rename main_loop() to boinc_main_loop()
|
|
|
|
api/
|
|
boinc_api.C
|
|
client/
|
|
main.C
|
|
win/
|
|
win_service.cpp
|
|
|
|
Rom Mar 29 2004
|
|
- Implement UI for SOCKS proxy server
|
|
- Fix setup bug in the making, only automatically startup BOINC if the user
|
|
has opted for the always start BOINC at startup.
|
|
|
|
client/win
|
|
wingui_dialog.cpp, .h
|
|
wingui_mainwindow.cpp, .h
|
|
wingui_proxydlg.cpp, .h (Added)
|
|
win_build/
|
|
boinc_gui.vcproj
|
|
win_build/installer/Script Files/
|
|
setup.rul
|
|
|
|
David Mar 30 2004
|
|
- preparation for moving prefs.C from client/ to lib/
|
|
(so can use in server):
|
|
- add bool found_venue return value from GLOBAL_PREFS::parse_file()
|
|
- add separate show_global_prefs_source() to print messages
|
|
- before sending signals to ACTIVE_TASKs, check their state
|
|
to avoid signaling non-existent processes
|
|
(this caused the Unix client to crash when reset)
|
|
- remove remaining semaphore-related code
|
|
|
|
api/
|
|
boinc_api.C
|
|
client/
|
|
app.C
|
|
client_state.C,h
|
|
cs_prefs.C
|
|
cs_scheduler.C
|
|
prefs.C,h
|
|
|
|
David Mar 30 2004
|
|
- don't check file size (on app startup) if it's an anonymous
|
|
platform project, and it's an app version file
|
|
|
|
client/
|
|
cs_apps.C
|
|
|
|
David Mar 30 2004
|
|
- sched server: when parse preferences, take venue into account
|
|
|
|
lib/
|
|
parse.C,h
|
|
sched/
|
|
Makefile.am
|
|
handle_request.C
|
|
server_types.C,h
|
|
|
|
Rom Mar 30 2004
|
|
- Asserts should be included in the output spew under the Windows IDE
|
|
- Make sure Semephore stuff is out of app_ipc.* stuff
|
|
- Include fix for Linux APM bug, the driver version info can contain
|
|
characters
|
|
|
|
client/
|
|
hostinfo_unix.c
|
|
lib/
|
|
app_ipc.c, .h
|
|
diagnostics.c
|
|
|
|
David Mar 31 2004
|
|
- make host_info related functions into members of HOST_INFO
|
|
|
|
client/
|
|
client_state.C
|
|
cs_benchmarks.C
|
|
cs_prefs.C
|
|
hostinfo.C,h
|
|
hostinfo_unix.C
|
|
win/
|
|
hostinfo_win.cpp
|
|
lib/
|
|
app_ipc.C
|
|
|
|
David Mar 31 2004
|
|
- call set_nslots() whenever there are new global prefs,
|
|
in case max_cpus has changed.
|
|
E.g. on a multiproc machine, if max_cpus is increased from 1 to 2,
|
|
it should start a new app.
|
|
- Call report_result_error() immediately when abort a client
|
|
due to excess CPU/disk/mem usage,
|
|
to ensure that the result is marked as erroneous,
|
|
and to make the error message more specific.
|
|
(Currently this is called after process is reaped,
|
|
but this may never happen).
|
|
|
|
client/
|
|
app.C,h
|
|
cs_prefs.C
|
|
hostinfo_unix.C
|
|
prefs.C
|
|
lib/
|
|
error_numbers.h
|
|
|
|
Rom Mar 31 2004
|
|
- Checkin prototype of universal gui based on wxWidgets.
|
|
|
|
clientgui/proto/
|
|
<Multiple Files>
|
|
|
|
David Mar 31 2004
|
|
- add support for mouse-event handling in apps
|
|
Apps that use graphics must now supply
|
|
boinc_app_mouse_move() and boinc_app_mouse_button functions
|
|
- check for file existence before opening for read, avoid 5-second delay
|
|
|
|
api/
|
|
boinc_api.C
|
|
graphics_api.C
|
|
windows_opengl.C
|
|
|
|
David April 1 2004
|
|
- Client: add a mechanism for suspending/resume network activity,
|
|
exactly parallel to the one existing mechanism for
|
|
suspending/resuming all (CPU+network) activity.
|
|
Initially this will be used to provide a GUI control.
|
|
Eventually we might have preference that control network
|
|
independently (time of day, only if idle, etc.)
|
|
- Client: save all messages in memory.
|
|
Implement GUI RPCs for getting ranges of messages.
|
|
|
|
client/
|
|
client_state.C,h
|
|
cs_prefs.C
|
|
gui_rpc_client.h
|
|
gui_rpc_server.C
|
|
main.C
|
|
message.C,h
|
|
lib/
|
|
messages.C
|
|
util.C,h
|
|
|
|
|
|
Davaid April 1 2004
|
|
- print message when resume network activity
|
|
- flesh out GUI RPC for messages
|
|
|
|
client/
|
|
cs_prefs.C
|
|
gui_rpc_client.C,h
|
|
gui_test.C
|
|
makefile.gui_test (new)
|
|
|
|
Rom April 1 2004
|
|
- Checkin UI for disabling/enabling network activity from the GUI
|
|
|
|
client/win/
|
|
boinc_gui.rc, .h
|
|
wingui_mainwindow.cpp, .h
|
|
|
|
David April 1 2004
|
|
- extend mouse interface to handle buttons better
|
|
|
|
api/
|
|
windows_opengl.C
|
|
|
|
Rom April 1 2004
|
|
- Found another place that should have been using boinc_file_exist.
|
|
NOTE: Still hasn't fixed the performance issue(s) on my machine though.
|
|
|
|
api/
|
|
boinc_api.c
|
|
|
|
David April 2 2004
|
|
- Client: fixed for disabling network activity
|
|
|
|
cs_files.C
|
|
cs_scheduler.C
|
|
hostinfo_unix.C
|
|
main.C
|
|
|
|
Jeff April 2 2004
|
|
- tagged as seti_boinc_app_release_2_32 and released to alpha.
|
|
|
|
David April 3 2004
|
|
- added a mechanism to handle situations where an app
|
|
appears to have exited successfully,
|
|
but in fact didn't call boinc_finish() or exit(0).
|
|
This apparently can happen on various platforms, don't ask me how.
|
|
The new mechanism:
|
|
boinc_finish() writes a file "boinc_finish_called"
|
|
in the slot directory.
|
|
When an app appears to have exited successfully,
|
|
the core client checks for the existence of this file.
|
|
If it's not there, the result is placed "in limbo":
|
|
it takes up a slot, but the app isn't restarted.
|
|
If the core client is restarted, the app is restarted.
|
|
|
|
NOTE: when we release a core client with this feature,
|
|
it's critical that all users reset the project,
|
|
and that updated versions of all apps are released.
|
|
Might be a good time for a major release increment.
|
|
|
|
api/
|
|
boinc_api.C
|
|
client/
|
|
app.C,h
|
|
lib/
|
|
app_ipc.h
|
|
|
|
David April 3 2004
|
|
- synchronize access to shared-mem work array by scheduler processes,
|
|
with the goal of NEVER sending the same result to different hosts.
|
|
- Instead of a single bool present flag, there are now 3 states
|
|
for an element in the array: absent, present, and
|
|
"checked out" (being considered for sending)
|
|
- There's now a semaphore that a scheduler process must acquire before
|
|
examining the state field of an array entry
|
|
(note: the feeder creates this semaphore,
|
|
but doesn't have to acquire it
|
|
because of the producer/consumer situation).
|
|
- split out the work-sending part of handle_request.C to a new file
|
|
(sched_send.C,h) because it was getting kinda big
|
|
|
|
sched/
|
|
Makefile.am
|
|
main.C,h
|
|
sched_send.C,h (new)
|
|
sched_shmem.h
|
|
show_shmem.C
|
|
|
|
David April 3 2004
|
|
- fix bugs in the above
|
|
|
|
client/
|
|
app.C
|
|
html/inc/
|
|
result.inc
|
|
lib/
|
|
filesys.C
|
|
synch.C
|
|
sched/
|
|
feeder.C
|
|
main.C
|
|
sched_config.C,h
|
|
|
|
David April 3 2004
|
|
- added code (from Rob Ogilvie) to check for battery usage
|
|
on Linux ACPI hosts
|
|
|
|
client/
|
|
hostinfo_unix.C
|
|
|
|
David April 3 2004
|
|
- If a web page requires login (e.g., forum/post.php)
|
|
the resulting form will refer to a handler (login_action.php)
|
|
in the wrong directory.
|
|
Kludge solution: put a symbolic link in forum/login_action.php
|
|
Is there a better solution? Maybe, but I'm too tired to think of it.
|
|
- better download instructions for Unix
|
|
|
|
html/
|
|
forum/
|
|
post.php
|
|
user/
|
|
account_setup_first_download.php
|
|
py/Boinc/
|
|
setup_project.py
|
|
|
|
David April 4 2004
|
|
- change the way file transfer speed is computed.
|
|
Instead of fancy exponential averaging,
|
|
just take the average every 3 seconds
|
|
|
|
client/
|
|
net_xfer.C,h
|
|
pers_file_xfer.h
|
|
|
|
David April 4 2004
|
|
- ACTIVE_TASK::request_exit() (win): kill the process immediately,
|
|
instead of sending it a quit request event,
|
|
waiting a few seconds, then killing it.
|
|
Currently the quit request event is checked only in
|
|
boinc_time_to_checkpoint(),
|
|
which (at least, in SETI@home) isn't called very often.
|
|
So it always takes 5 seconds to exit the core client.
|
|
|
|
NOTE: when the new app management-thread stuff is done,
|
|
we can change this back
|
|
|
|
client/
|
|
app.C
|
|
|
|
David April 6 2004
|
|
- move update_average() from sched_util.C to util.C
|
|
(and give it a half-life arg)
|
|
- move Messages class declaration out of util.h into its own file
|
|
- move file_lock() from util.C to filesys.C
|
|
- client: rename get_percent_done() to get_fraction_done
|
|
(uh... percents are 0..100; fracs are 0..1)
|
|
|
|
client/
|
|
client_state.h
|
|
cs_apps.C
|
|
cs_benchmark.C
|
|
cs_cmdline.C
|
|
cs_prefs.C
|
|
cs_scheduler.C
|
|
gui_rpc_server.C
|
|
message.h
|
|
lib/
|
|
filesys.C,h
|
|
messages.C
|
|
messages.h (new)
|
|
util.C,h
|
|
sched/
|
|
Makefile.am
|
|
sched_send.C
|
|
sched_util.C,h
|
|
update_stats.C
|
|
validate.C
|
|
validate_test.C
|
|
|
|
David April 7 2004
|
|
- Client: replace the buggy update_avg_cpu()
|
|
with the tried-and-true update_average()
|
|
to estimate average CPU rate per project
|
|
|
|
client/
|
|
client_state.h
|
|
client_types.C,h
|
|
cs_apps.C
|
|
cs_scheduler.C
|
|
|
|
David April 8 2004
|
|
- Clarify distinction between log messages (debugging)
|
|
and user messages (shown to user) in the client
|
|
and put both in one place (client_msgs.C,h)
|
|
- rename ClientMessages to CLIENT_MSG_LOG
|
|
- rename SchedMessages to SCHED_MSG_LOG
|
|
- rename Messages to MSG_LOG
|
|
- rename ScopeMessages to SCOPE_MSG_LOG
|
|
|
|
client/
|
|
Makefile.am
|
|
*.C
|
|
client_messages.C (removed)
|
|
message.h (removed)
|
|
client_msgs.C,h (new)
|
|
lib/
|
|
messages.C,h (removed)
|
|
msg_log.C,h (new)
|
|
sched/
|
|
Makefile.am
|
|
*.C
|
|
sched_messages.C (removed)
|
|
sched_msgs.C,h (new)
|
|
|
|
David April 8 2004
|
|
- If an active task is in limbo, don't mark its result as done!
|
|
(from James Drews)
|
|
|
|
client/
|
|
cs_apps.C
|
|
|
|
David April 8 2004
|
|
- Fix a major error in back-end logic (found by Jeff):
|
|
The canonical result's output files (and WU input files)
|
|
were being deleted when all results had server_state = OVER.
|
|
But this doesn't mean they've been validated!
|
|
So the third result from every group of three
|
|
was failing validation about half the time
|
|
because the canonical result output files had been deleted.
|
|
|
|
The fix: delete canonical result and WU files only when
|
|
all results are OVER *and* all results with outcome SUCCESS
|
|
have been validated.
|
|
|
|
sched/
|
|
transitioner.C
|
|
|
|
David April 9 2004
|
|
- Added zip/unzip code (from Carl Christensen).
|
|
This is basically the Info-ZIP code with unused files stripped out,
|
|
and some minor tweaks to return errors instead of exiting
|
|
|
|
zip/
|
|
* (new)
|
|
unzip/
|
|
* (new)
|
|
|
|
David April 9 2004
|
|
- Fixed a nasty bug that caused back-end processes
|
|
to corrupt records in the "result" table, and potentially others.
|
|
The Bug:
|
|
- escape_string() replaces ' and \ by \' and \\ respectively;
|
|
this is done so that they can be used in SQL statements, e.g.
|
|
update foo set blah='abc\'def';
|
|
- escape_string() (which can increase the length of a string)
|
|
didn't check the size of its output buffer
|
|
- The stderr_out field of results with stack traces
|
|
often are near their 4KB limit,
|
|
and have LOTS of \s (in file paths)
|
|
- escape_string() was writing beyond the end of the
|
|
stderr_out field, writing garbage into fields
|
|
like batch, claimed_credit, etc.
|
|
The Fix:
|
|
add a "len" argument to escape_string(),
|
|
and use safe_strncpy() to avoid writing off the end of the buffer.
|
|
|
|
db/
|
|
boinc_db.C
|
|
db_base.C,h
|
|
html/user/
|
|
stats.php
|
|
|
|
Rom April 10 2004
|
|
- Initial Snapshot of the new BOINC Universal GUI,
|
|
this GUI will provide the native interface for all supported platforms.
|
|
NOTE: This is just a bare bones skeleton.
|
|
Header file stuff still needs
|
|
to be moved around to support all the platforms.
|
|
stdwx.h should include config.h or win_config.h
|
|
depending on platform, etc.
|
|
|
|
clientgui/
|
|
* (new)
|
|
|
|
David April 10 2004
|
|
- restore compilation on Linux
|
|
|
|
lib/
|
|
filesys.C
|
|
sched/
|
|
sched_config.C
|
|
zip/
|
|
Makefile
|
|
|
|
David April 11 2004
|
|
- scheduler RPC: return a result's app version number
|
|
in a <app_version_num> field within <result>,
|
|
not an <app_version> field within <stderr_out>
|
|
Change scheduler to look in both places for now.
|
|
|
|
client/
|
|
client_types.C
|
|
sched/
|
|
handle_request.C
|
|
server_types.C
|
|
|
|
Jeff April 12 2004
|
|
- tagged with both:
|
|
boinc_core_release_3_00
|
|
seti_boinc_app_release_3_00
|
|
|
|
|
|
David April 13 2004
|
|
- removed "result_template_file" arg (and several other args)
|
|
from make_work; these can just be copied from the WU
|
|
|
|
sched/
|
|
make_work.C
|
|
|
|
David April 13 2004
|
|
- Changes in the parsing of WU template files:
|
|
- Any unrecognized elements in a <file_info>
|
|
are now just copied to the output.
|
|
So you can include attributes like <sticky/>
|
|
and they'll get propagated correctly.
|
|
- The following items can now be included in a WU template:
|
|
rsc_fpops_est
|
|
rsc_fpops_bound
|
|
rsc_memory_bound
|
|
rsc_disk_bound
|
|
delay_bound
|
|
min_quorum
|
|
target_nresults
|
|
max_error_results
|
|
max_total_results
|
|
max_success_results
|
|
|
|
These are not copied to the output,
|
|
but are used to populate the WORKUNIT
|
|
(which is now passed in as an arg)
|
|
|
|
The latter means that 'create_work' (the cmdline program) is simplified;
|
|
it can now take as few as 5 args
|
|
|
|
tools
|
|
backend_lib.C
|
|
create_work.C
|
|
|
|
David April 14 2004
|
|
- Added code (from Janus Kristensen) to cache web pages.
|
|
Restored leader boards (users/teams/hosts)
|
|
and made them cached with a refresh time of 1 hour
|
|
|
|
html/
|
|
inc/
|
|
cache.inc (new)
|
|
user/
|
|
index.php
|
|
stats.php
|
|
top_hosts.php
|
|
top_teams.php
|
|
top_users.php
|
|
|
|
David April 14 2004
|
|
- added boinc_make_dirs()
|
|
(preliminary support for projects subdirs for CPDN)
|
|
- If <non_cpu_intensive/> is in config file, send it in sched replies
|
|
|
|
lib/
|
|
app_ipc.C
|
|
filesys.C,h
|
|
sched/
|
|
sched_config.C,h
|
|
server_types.C
|
|
|
|
David April 14 2004
|
|
- moved MFILE declaration to a separate file
|
|
to facilitate a plain-C BOINC API
|
|
|
|
api/
|
|
mfile.h (new)
|
|
|
|
David April 15 2004
|
|
- change GUI RPC so that it uses TCP instead of UNIX-domain socket.
|
|
Core client accepts connections only from local host (127.0.0.1)
|
|
We currently use port 31416, since there's been no response
|
|
to my request for an official port.
|
|
- changed boinc_mkdir() so that it sees if the path already
|
|
exists and is a dir, and returns success if so
|
|
- main.C: print error message if CLIENT_STATE::init() fails
|
|
|
|
client/
|
|
client_state.C
|
|
file_names.C
|
|
gui_rpc_client.C,h
|
|
gui_rpc_server.C,h
|
|
main.C
|
|
lib/
|
|
filesys.C
|
|
|
|
David April 15 2004
|
|
- CLIENT_STATE::computer_resource_debts():
|
|
fix kludge that could result in seg fault
|
|
|
|
client/
|
|
cs_scheduler.C
|
|
|
|
Rom April 15 2004
|
|
- Increase benchmark timeout from 60 seconds to 120 seconds
|
|
|
|
client/
|
|
cpu_benchmark.h
|
|
|
|
David April 18 2004
|
|
- Added cross-project identification (scheme developed by Janus Kristensen)
|
|
|
|
NOTE: this involves a database change (new field in user table).
|
|
You must update your database by adding the field and initializing it
|
|
(see html/ops/db_update.php) before using this code.
|
|
|
|
client/
|
|
client_types.C,h
|
|
cs_scheduler.C
|
|
db/
|
|
boinc_db.C,h
|
|
schema.sql
|
|
html/
|
|
user/
|
|
create_account_action.php
|
|
ops/
|
|
db_update.php (new)
|
|
py/Boinc/
|
|
database.py
|
|
sched/
|
|
db_dump.C
|
|
server_types.C
|
|
|
|
David April 19 2004
|
|
- Client: change the way network transfer speed is computed.
|
|
Instead of computing it every 3 seconds (which doesn't work
|
|
for short transfers) just computed it from start of transfer.
|
|
- when detach from a project, and global prefs are from that project,
|
|
delete the global prefs file and init() prefs in mem.
|
|
Otherwise you have prefs from unknown project.
|
|
- write <app_version_num> element in <result> only if writing to server
|
|
(avoid error parsing state file)
|
|
- some message end with multiple \n's. delete them all.
|
|
- change return type of boinc_file_exists() to bool
|
|
|
|
client/
|
|
client_state.C
|
|
client_types.C
|
|
net_xfer.C,h
|
|
prefs.C
|
|
win/
|
|
wingui.cpp
|
|
wingui_proxydlg.cpp
|
|
lib/
|
|
filesys.C,h
|
|
|
|
Rom April 20 2004
|
|
- Prevent a nested exception during a heap check by disabling the
|
|
heap check during a stack dump.
|
|
lib/
|
|
diagnostics.C
|
|
|
|
|
|
David April 20 2004
|
|
- The Windows CreateDirectory and RemoveDirectory return
|
|
nonzero on error (unlike rmdir and mkdir).
|
|
The code had it backwards, which led to various problems,
|
|
e.g. after attaching to a new project no RPC happened
|
|
- print error messages if fail to delete account file
|
|
or project dir on detach
|
|
|
|
client/
|
|
client_state.C
|
|
file_names.C
|
|
lib/
|
|
filesys.C
|
|
|
|
Jeff April 21 2004
|
|
- tagged as seti_boinc_app_release_3_01
|
|
|
|
David April 21 2004
|
|
- Web: page_head() no longer checks for logged-in user.
|
|
Pages that care about that must do it separately,
|
|
and can pass the user into page_head() if they want.
|
|
- added is_valid_country() function
|
|
- don't get logged-in user for pages that don't show sensitive info
|
|
(results, workunit, host).
|
|
This also makes these pages cacheable.
|
|
|
|
html/
|
|
forum/
|
|
edit.php
|
|
inc/
|
|
countries.php
|
|
util.inc
|
|
user/
|
|
result.php
|
|
results.php
|
|
show_host_detail.php
|
|
|
|
Rom April 22 2004
|
|
- Integrate in Sebastian Masch's ACPI code that works with multiple
|
|
AC Adapter types
|
|
- Integrate back in the APM code that works with the Linux 2.6 kernels
|
|
|
|
client/
|
|
hostinfo_unix.c
|
|
|
|
Jeff April 22 2004
|
|
- tagged as boinc_core_release_3_01
|
|
|
|
David April 22 2004
|
|
- boinc_fopen(): add a Unix-specific #ifdef case that,
|
|
in case of failure, sees if errno is EINTR and if so retries the fopen.
|
|
This fixes a problem in the SETI@home app,
|
|
where an initial fopen() gets interrupted by the timer (I think)
|
|
- add project_dir and wu_name elements to the APP_INIT_DATA structure;
|
|
add corresponding elements to the app_init_data.xml file;
|
|
populate these in the core client, and parse in the API
|
|
- rename boinc_trickle() to boinc_trickle_up()
|
|
- rename full_path() to relative_to_absolute()
|
|
|
|
api/
|
|
boinc_api.C
|
|
client/
|
|
app.C
|
|
cs_statefile.C
|
|
lib/
|
|
app_ipc.C,h
|
|
filesys.C,h
|
|
|
|
David April 23 2004
|
|
- added new items to APP_INIT_DATA (for Folding@home):
|
|
slot
|
|
boinc_dir
|
|
authenticator
|
|
- rename app_preferences to project_preferences in APP_INIT_DATA
|
|
|
|
api/
|
|
boinc_api.C
|
|
client/
|
|
app.C
|
|
lib/
|
|
app_ipc.C,h
|
|
|
|
Rom April 26 2004
|
|
- Fix a condition where we were leaking a file handle on Linux
|
|
- Fix a seg fault when the dirscanner attempts to scan a non
|
|
existent directory
|
|
|
|
client/
|
|
hostinfo_unix.c
|
|
lib/
|
|
filesys.c
|
|
|
|
Rom April 27 2004
|
|
- Remove dependency on semaphore stuff so the Mac 10.2 client will build.
|
|
NOTE: The semaphore stuff should only be used in server components now.
|
|
|
|
client/
|
|
Makefile.am
|
|
lib/
|
|
Makefile.am
|
|
|
|
Rom April 28 2004
|
|
- Fixup build system so it doesn't have to change the version number in the
|
|
Windows resource files for every version change. Make the resource files
|
|
include win_config.h which contain the nessassary information and then
|
|
reference it.
|
|
|
|
/
|
|
set-version
|
|
client/
|
|
Makefile.am
|
|
client/win/
|
|
*.rc
|
|
update* (deleted)
|
|
|
|
David April 28 2004
|
|
- fix compile problem on Linux
|
|
|
|
client/
|
|
hostinfo_unix.C
|
|
|
|
Rom April 28 2004
|
|
- Fixup Windows service controls so that pause/resume/start/stop work as
|
|
expected, when running as a service log to the Windows event log.
|
|
- When attempting to change the service description use runtime dynamic
|
|
linking for the call to ChangeServiceConfig2 so that we will work even
|
|
on NT 4.0 systems.
|
|
- Some of these fixes were based on code from Mathias Walter
|
|
|
|
client/
|
|
cs_cmdline.C
|
|
main.C
|
|
client/win/
|
|
win_service.cpp, .h
|
|
win_build/
|
|
boinc_cli.vcproj
|
|
|
|
David April 30 2004
|
|
- scheduler: connect to DB after checking major version#
|
|
- scheduler: request 24-hour delay if bad major version#
|
|
- scheduler: request 1 hr delay if project is shut down
|
|
- scheduler: parse <cross_project_id> from client
|
|
- print expanded error in PHP when can't connect to DB
|
|
|
|
html/
|
|
inc/
|
|
db.inc
|
|
user/
|
|
create_account_action.php
|
|
sched/
|
|
handle_request.C
|
|
main.C,h
|
|
server_types.C,h
|
|
|
|
David April 30 2004
|
|
- Add a 10 second delay in "start", after starting daemons
|
|
but before writing run_state.xml file.
|
|
This lets the feeder delete the shared-mem segment
|
|
(if there is one) before CGI programs are created
|
|
and create new attachments
|
|
- get Fast CGI to compile (but not link)
|
|
|
|
sched/
|
|
Makefile.am
|
|
handle_request.C
|
|
main.C
|
|
server_types.C
|
|
start
|
|
|
|
David April 30 2004
|
|
- Got the scheduling server to compile (but not link) under fastCGI
|
|
For some reason I had to modify fcgi_stdio.h to accomplish this.
|
|
Would be nice to figure out what the problem is.
|
|
- Eliminated the use of streambuf stuff in various places.
|
|
This seems to cause problems.
|
|
|
|
db/
|
|
db_base.C
|
|
lib/
|
|
filesys.C
|
|
msg_log.C,h
|
|
parse.C
|
|
util.C,h
|
|
sched/
|
|
Makefile.am,in
|
|
fcgi_stdio.h (new)
|
|
fcgsapp.h (new)
|
|
handle_request.C
|
|
main.C
|
|
sched_config.C,h
|
|
sched_util.C
|
|
server_types.C
|
|
|
|
tools/
|
|
backend_lib.C
|
|
process_results_template.C
|
|
|
|
David May 2 2004
|
|
- removed the "project" table from DB.
|
|
Its only role was to store the project name.
|
|
This is now in the config file instead.
|
|
|
|
NOTE: if you upgrade to this code, you must add an entry
|
|
<long_name>...</long_name>
|
|
to your config.xml file.
|
|
|
|
db/
|
|
boinc_db.C,h
|
|
schema.sql
|
|
py/Boinc/
|
|
add_util.py
|
|
database.py
|
|
db_mid.py
|
|
setup_project.py
|
|
sched/
|
|
main.C,h
|
|
sched_config.C,h
|
|
server_types.C
|
|
|
|
David May 2 2004
|
|
- finished the implementation of cross-project identification:
|
|
scheduler: if get cross_project ID in request message,
|
|
and it's different than in DB, update user record
|
|
- new global-prefs propagation policy:
|
|
global prefs are propagated to accounts with the same email address.
|
|
Implementation:
|
|
- RPC request message has <global_prefs_source_email_hash>
|
|
- scheduler: if get global prefs in request message,
|
|
and they're from an account w/ same email address,
|
|
and they're newer than in DB,
|
|
then update user record
|
|
|
|
client/
|
|
cs_scheduler.C
|
|
sched/
|
|
handle_request.C
|
|
server_types.C,h
|
|
|
|
David May 2 2004
|
|
- client: fixed bug in general prefs parsing that caused
|
|
source project to be "unidentified"
|
|
|
|
client/
|
|
prefs.C
|
|
|
|
David May 3 2004
|
|
- server: instead of a single "stop" file, we now have two:
|
|
stop_daemons: tells daemon processes to stop
|
|
stop_sched: tells scheduler to return "down" message
|
|
|
|
This allows us to have the following logic in "start":
|
|
remove stop_daemons
|
|
start daemon processes
|
|
wait 10 seconds
|
|
remove stop_sched
|
|
which is necessary to give the feeder a "head start"
|
|
on deleting and creating the shared memory segment.
|
|
|
|
NOTE: there's still a problem when a sched process
|
|
hangs (e.g. while sending to hung client) while attached to shmem.
|
|
|
|
sched/
|
|
*.C
|
|
start
|
|
|
|
David May 3 2004
|
|
- core client, Unix: if app is killed by SIGKILL,
|
|
put it in limbo (same as if exited zero without writing finish file).
|
|
|
|
client/
|
|
app.C
|
|
|
|
Rom May 3 2004
|
|
- Try to cleanup a recursive failure during a dump to stderr by changing
|
|
the fprintf call in diagnostics.c
|
|
- Apparently exceptions don't walk up the inheritance tree when calling
|
|
virtual functions, so force the issue by locally scoping additional
|
|
variables that can be set by constructors which will allow base functions
|
|
to get the correct information.
|
|
|
|
lib/
|
|
diagnostics.c
|
|
exception.c, .h
|
|
|
|
Rom May 3 2004
|
|
- Add new report to OPs pages to show failures by platform
|
|
|
|
html/ops/
|
|
db_ops.inc
|
|
failure_result_summary_by_platform.php
|
|
index.php
|
|
|
|
Rom May 3 2004
|
|
- Fix a screensaver bug where if BOINC was suspended it would get stuck
|
|
trying to bring up graphics for a suspended application.
|
|
- Remove obselete db_ops.inc and util_ops.inc file from the ops directory.
|
|
|
|
client/
|
|
ss_logic.c
|
|
html/ops/
|
|
db_ops.inc (remove)
|
|
util_ops.inc (remove)
|
|
|
|
Rom May 3 2004
|
|
- Fix a bug where the number of files deleted being returned on the result
|
|
summary report was actually the number of invalid records
|
|
|
|
html/inc/
|
|
db_ops.inc
|
|
|
|
Rom May 4 2004
|
|
- Fixup new report so it gives a quick roll-up of information, i.e. strips
|
|
Linux kernel version down to just major, minor, and revision and shortens
|
|
the Windows on_name down to just 'Windows'
|
|
|
|
html/inc/
|
|
db_ops.inc
|
|
|
|
Rom May 4 2004
|
|
- Use a more optimized query for the results summary page,
|
|
load times go from 8-10 seconds to 1-2 seconds
|
|
- Fix client_version_num bug after field was renamed to app_version_num
|
|
|
|
html/inc/
|
|
db_ops.inc
|
|
|
|
Rom May 4 2004
|
|
- Include a link on the failure page that'll bring up a report
|
|
with only those failures
|
|
|
|
html/inc/
|
|
db_ops.inc
|
|
|
|
David May 4 2004
|
|
- file upload handler: accept any major version
|
|
- scheduler: if wrong major version, don't set "nucleus only" flag
|
|
(this prevents acking of results)
|
|
- db_dump: put encoding=iso-8859-1 into header
|
|
|
|
sched/
|
|
db_dump.C
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
|
|
Rom May 4 2004
|
|
- Touchup on the os_name and os_version fields in the host table.
|
|
This will cause some merging woes but should fix things
|
|
in the long run as version changes and service packs
|
|
won't block a host merger.
|
|
|
|
client/win/
|
|
hostinfo_win.C
|
|
|
|
Rom May 4 2004
|
|
- Tag for 3.03 release, all platforms
|
|
boinc_core_release_3_03
|
|
seti_boinc_app_release_3_03
|
|
|
|
David May 5 2004
|
|
- fixed bug where Unix client ignored QUIT signal
|
|
- rename CLIENT_STATE::cleanup_and_exit()
|
|
to CLIENT_STATE::quit_activities()
|
|
(this function does NOT exit!!!!)
|
|
- quit_client(): exit() after quitting activities
|
|
(this is why the client wasn't exiting)
|
|
- quit_client(), susp_client(), resume_client():
|
|
print messages about which signal was received
|
|
- core client, Unix: if app is killed by SIGQUIT,
|
|
put it in limbo (same as if exited zero without writing finish file).
|
|
|
|
client/
|
|
app.C
|
|
client_state.h
|
|
cs_apps.C
|
|
main.C
|
|
win/
|
|
wingui_mainwindow.cpp
|
|
tools/
|
|
backend_lib.C
|
|
create_work.C
|
|
|
|
Rom May 5 2004
|
|
- Tag for 3.03 release, all platforms
|
|
boinc_core_release_3_04
|
|
|
|
David May 5 2004
|
|
- core client: if there are errors in GUI_RPC setup
|
|
(e.g. the port is already in use),
|
|
just print the error, don't exit
|
|
- In some cases we ask for work in order to keep
|
|
all processors busy;
|
|
make sure we ask for at least 1 second in this case.
|
|
|
|
client/
|
|
cs_scheduler.C
|
|
gui_rpc_server.C,h
|
|
scheduler_op.C
|
|
lib/
|
|
error_numbers.h
|
|
|
|
David May 5 2004
|
|
- get "make dist" to work again
|
|
|
|
Makefile.am,in
|
|
client/
|
|
Makefile.am,in
|
|
sched/
|
|
Makefile.am,in
|
|
|
|
Rom May 5 2004
|
|
- Our exit strategy should be the same for Windows and Unix.
|
|
The signal handler should use the same global flags as Windows
|
|
for suspending and resuming activities.
|
|
|
|
client/
|
|
main.C
|
|
|
|
Rom May 6 2004
|
|
- Add a new report called pass percentage by platform which will allow us
|
|
to continue monitoring the pass percentages for the latest release of
|
|
each app version per platform.
|
|
|
|
NOTE: The query isn't smart enough yet to exclude invalid platform to
|
|
version combinations. For instance currently Linux is on version
|
|
302 and Windows is on 301, but the report will still show results
|
|
for Linux 301
|
|
|
|
html/inc/
|
|
db_ops.inc
|
|
html/ops/
|
|
failure_result_summary_by_platform.php
|
|
index.php
|
|
pass_percentage_by_platform.php
|
|
|
|
David May 9 2004
|
|
html/
|
|
inc/
|
|
gallery.inc
|
|
uotd.inc (new)
|
|
user/
|
|
index.php
|
|
team.php
|
|
team_lookup.php
|
|
|
|
David May 10 2004
|
|
- extend the set of signals that are treated as "external",
|
|
i.e. if an app exits with one of these, put it in limbo
|
|
rather than treating it as error:
|
|
SIGHUP, SIGINT, SIGQUIT, SIGKILL, SIGTERM, SiGSTOP
|
|
Note: some of these should in principle never happen
|
|
because they're caught by the API.
|
|
But it doesn't hurt to be safe.
|
|
- update_average(): avoid divides by zero
|
|
|
|
client/
|
|
app.C
|
|
lib/
|
|
exception.h
|
|
util.C
|
|
|
|
David May 10 2004
|
|
- added support for key up/down handling by apps
|
|
|
|
api/
|
|
windows_opengl.cpp
|
|
|
|
David May 11 2004
|
|
- replaced zip/unzip libraries with new code from Carl Christensen
|
|
|
|
zip/
|
|
*
|
|
|
|
David May 11 2004
|
|
- remove "user" argument from page_head()
|
|
|
|
html/
|
|
*
|
|
|
|
David May 11 2004
|
|
- Web: added "title" argument to project_banner().
|
|
Lets the project control how page titles are rendered.
|
|
Removed explicit <h2>title</h2>s from most pages
|
|
|
|
html/
|
|
inc/many
|
|
user/many
|
|
|
|
David May 11 2004
|
|
- continued implementation of trickle messages;
|
|
fairly complete now except for app receipt of trickle-downs
|
|
|
|
NOTE: changed format of trickle_down table.
|
|
An update function is included in html/ops/db_update.php
|
|
|
|
api/
|
|
boinc_api.h
|
|
client/
|
|
Makefile.am,in
|
|
app.h
|
|
client_state.h
|
|
cs_scheduler.C
|
|
gui_rpc_server.C
|
|
scheduler_op.C
|
|
cs_trickle.C (new)
|
|
db/
|
|
boinc_db.C,h
|
|
schema.sql
|
|
sched/
|
|
handle_request.C
|
|
trickle_handler.C
|
|
|
|
David May 11 2004
|
|
- bug fixes in trickle code.
|
|
Trickle-ups work correctly.
|
|
handle_trickles works correctly.
|
|
trickle-downs are getting sent back OK
|
|
- client: if scheduler reply gets parse error, backoff project
|
|
(fixed bug where we retry every second)
|
|
- sched server: if request message doesn't parse,
|
|
send an "incomplete request received" reply
|
|
(instead of just returning: uh, ????)
|
|
- sched server: if request is not asking for work,
|
|
don't check min_sendwork_interval or try to send work
|
|
(avoid spurious "last RPC too recent" messages)
|
|
|
|
client/
|
|
scheduler_op.C
|
|
sched/
|
|
handle_request.C
|
|
server_types.C,h
|
|
trickle_handler.C
|
|
|
|
David May 12 2004
|
|
- Server: remove MEDIUM_BLOB_SIZE and use LARGE_BLOB_SIZE instead.
|
|
MEDIUM_BLOB_SIZE was used in various C structs
|
|
to hold database blobs for:
|
|
app_version.xml_doc (list of files in app)
|
|
result.xml_doc_in, xml_doc_out (output files)
|
|
result.stderr_out
|
|
wu.xml_doc (input files)
|
|
It was defined as 4KB, which overflowed if you had
|
|
more than 10 or so files (with signatures etc.)
|
|
|
|
Note 1: this greatly increases the size of WORKUNIT and RESULT,
|
|
to I decreased the number of WU_RESULTs in shared memory
|
|
from 1000 to 100.
|
|
Eventually we might want to redefine the shared memory
|
|
so that it doesn't store the entire structs
|
|
Note 2: these buffer overflows should have been caught early-on,
|
|
i.e. when the workunit, result or app_version was created.
|
|
We should never just do a strcpy() or even safe_strncpy();
|
|
instead, we should check for overflow, return error if so,
|
|
then do the copy.
|
|
I added some code to do this in workunit and result generation;
|
|
still need to do this for app_version (in Python)
|
|
|
|
db/
|
|
boinc_db.h
|
|
sched/
|
|
assimilator.C
|
|
file_deleter.C
|
|
make_work.C
|
|
sched_send.C
|
|
sched_shmem.C
|
|
server_types.h
|
|
transitioner.C
|
|
tools/
|
|
backend_lib.C
|
|
process_result_template.C
|
|
|
|
David May 12 2004
|
|
- Added Janus Kristensen's "download network" pages
|
|
(for dissemination of 3rd-party add-ons)
|
|
|
|
html/
|
|
inc/
|
|
download_network.inc
|
|
user/
|
|
download_network.php
|
|
|
|
Karl 2004-05-12
|
|
- update_versions: by default only allow most recent core client
|
|
|
|
tools/
|
|
update_versions
|
|
|
|
David May 14 2004
|
|
- various web fixes
|
|
|
|
David May 15 2004
|
|
- small trickle-down fixes
|
|
client/
|
|
cs_trickle.C
|
|
scheduler_op.C
|
|
|
|
David May 15 2004
|
|
- Massive simplification of STARFIELD implementation.
|
|
Instead of using the same 3D coordinate space as other stuff,
|
|
stars now have their own -1..1 type coordinate space,
|
|
and we do the perspective transformation ourselves.
|
|
This eliminates the need for all the is_visible() crap.
|
|
|
|
The goal was to get rid of the hang/crash when the user
|
|
moves the viewpoint too far away,
|
|
but I ended up rewriting the (crufty) code.
|
|
|
|
Got rid of get_matrix_invert()
|
|
|
|
- Moved glFlush() from REDUCED_ARRAY::draw() to SAH_GFX_BASE::render
|
|
(or whatever the app's render routine is)
|
|
|
|
api/
|
|
gutil.C,h
|
|
reduce.C
|
|
|
|
David May 17 2004
|
|
- In the scheduler shared-memory segment,
|
|
keep only the result ID (not the whole result record)
|
|
in each WU_RESULT.
|
|
This saves large amounts of memory,
|
|
and doesn't incur any DB overhead because we have to
|
|
reread the result record anyway.
|
|
|
|
sched/
|
|
feeder.C
|
|
sched_shmem.h
|
|
sched_send.C
|
|
show_shmem.C
|
|
|
|
David May 18 2004
|
|
- Added the "homogeneous redundancy" feature courtesy of Michela Taufer.
|
|
This lets a project say that results for a given
|
|
workunit should be sent only to hosts with the same
|
|
OS name + CPU vendor.
|
|
Enabled it by putting <homogeneous_redundancy/> in config.xml
|
|
- parse <non_cpu_intensive/> in scheduler replies
|
|
|
|
client/
|
|
scheduler_op.C
|
|
sched/
|
|
sched_config.C,h
|
|
sched_send.C
|
|
|
|
David May 18 2004
|
|
- Various changes to benchmark code:
|
|
- unroll loops in FP benchmark
|
|
- use 10M instead of 1M ops per iteration
|
|
- use dtime() for timing
|
|
- get rid of wacky integer benchmark;
|
|
replace with integer counterpart to FP benchmark
|
|
|
|
client/
|
|
cpu_benchmark.C
|
|
|
|
Rom May 18 2004
|
|
- XML Parsing errors should now be hidden from normal operation.
|
|
NOTE: In order to see XML parsing errors you'll need to turn on the
|
|
debug state and debug scheduler operation log flags.
|
|
|
|
client/
|
|
app.C
|
|
client_types.C
|
|
cs_statefile.C
|
|
hostinfo.C
|
|
prefs.C
|
|
proxy.C
|
|
scheduler_op.C
|
|
time_stats.C
|
|
|
|
Rom May 18 2004
|
|
- Tag for 3.05 release, all platforms
|
|
boinc_core_release_3_05
|
|
|
|
David May 19 2004
|
|
- Added code for Whetstone benchmark.
|
|
This produces a result several times larger than our own floating-point
|
|
benchmark (e.g., 750MFLOPS versus 160MFLOPS).
|
|
But it's not clear that the Whetstone number
|
|
should be interpreted as MFLOPS.
|
|
If you want to check it out, add a call to whetstone(10, x) somewhere,
|
|
and look at the result in the debugger.
|
|
|
|
client/
|
|
whetstone.C (new)
|
|
|
|
David May 19 2004
|
|
- Added code for Dhrystone benchmark.
|
|
Use the "VAX MIPS" result as integer benchmark.
|
|
It's somewhat higher than the benchmark we've been using.
|
|
- Switch to using Whetstone and Dhrystone instead of home-brew benchmarks.
|
|
|
|
client/
|
|
cpu_benchmark.C,h
|
|
cs_benchmark.C
|
|
dhrystone.C (new)
|
|
whetstone.C
|
|
|
|
David May 19 2004
|
|
- Since new benchmarks are higher than old ones,
|
|
redefine a cobblestone as 100 * (fpops + iops)/2
|
|
(omit memory bandwidth, use 100 instead of 300)
|
|
|
|
sched/
|
|
handle_request.C
|
|
|
|
David May 19 2004
|
|
- Changed dhry/whetstone to use fixed # of iterations instead
|
|
of dynamically adapting.
|
|
This hopefully will make multiple CPUs run more in lockstep
|
|
|
|
client
|
|
cpu_benchmark.h
|
|
cs_benchmark.C
|
|
dhrystone.C
|
|
whetstone.C
|
|
|
|
David May 19 2004
|
|
- boinc_fopen: if opening for read, and file doesn't exist,
|
|
return 0 immediately (avoid 5-sec delays)
|
|
- boinc_resolve_filename: use boinc_fopen() to open symlink file
|
|
- graphics: scale starfield velocity down by a factor of 10
|
|
|
|
api/
|
|
gutil.C
|
|
lib/
|
|
app_ipc.C
|
|
filesys.C
|
|
|
|
David May 20 2004
|
|
- In messages about benchmarks, report the number of CPUs, and
|
|
say that benchmark numbers are per CPU
|
|
|
|
client/
|
|
cs_benchmark.C
|
|
|
|
David May 21 2004
|
|
- API: changed timer period from 50 Hz to 1 Hz.
|
|
This timer is used only for reporting progress and CPU,
|
|
not for doing graphics, to 1 Hz is enough
|
|
- API: if setup_shared_mem() returns error, set standalone = true.
|
|
This means that if you run an app standalone,
|
|
it will be detected automatically,
|
|
so no need for command-line args or even
|
|
standalone argument to boinc_init()
|
|
(but leave that arg in for now)
|
|
- API: initialize fraction_done to -1,
|
|
and only report it to core client if >= 0
|
|
(i.e. don't report it unless app specifies it)
|
|
- API: removed
|
|
#ifdef HAVE_SYS_SHM_H
|
|
#ifdef HAVE_SYS_IPC_H
|
|
around calls to attach_shmem in non-Win case.
|
|
This not an appropriate place for these ifdefs.
|
|
- core client: ACTIVE_TASK_SET::check_app_exited():
|
|
skip tasks in state PROCESS_IN_LIMBO.
|
|
This avoid core client spinning when apps misbehave.
|
|
- core client: changed variable names in app.C:
|
|
starting_cpu_time -> episode_start_cpu_time
|
|
|
|
api/
|
|
boinc_api.C
|
|
client/
|
|
app.C,h
|
|
|
|
David May 21 2004
|
|
- Core client: attempted to make benchmarks more accurate
|
|
and reproducible on multiprocessor or HT machines
|
|
be forcing each phase (floating point, integer)
|
|
to be more or less concurrent across processors.
|
|
This is done using trigger files.
|
|
Each benchmark waits for its trigger file before starting,
|
|
and stops when the file goes away.
|
|
|
|
client/
|
|
cpu_benchmark.h
|
|
cs_benchmark.C
|
|
dhrystone.C
|
|
whetstone.C
|
|
|
|
Rom May 21 2004
|
|
- A little fine tuning to the benchmark process.
|
|
Should be less than 1% difference between executions without any
|
|
other software runing
|
|
|
|
client/
|
|
cs_benchmark.C
|
|
dhrystone.C
|
|
whetstone.C
|
|
|
|
David May 21 2004
|
|
- Core client: in FILE_XFER_SET::poll(), when completed a file-size query,
|
|
close the socket before iniating the file transfer.
|
|
Otherwise we have a socket that's never closed.
|
|
|
|
Note: some aspects of the FILE_XFER/HTTP_OP/NET_XFER hierarchy
|
|
seem absurdly complex, like the issue of when sockets are closed.
|
|
The whole thing should be reexamined at some point (but not now).
|
|
|
|
client/
|
|
file_xfer.X
|
|
|
|
Rom May 22 2004
|
|
- Somehow the boinc release build switched over to using shared libraries on
|
|
Windows instead of static, so now i'm switching it back to static libraries.
|
|
|
|
win_build/
|
|
boinc_gui.vcproj
|
|
|
|
Rom May 23 2004
|
|
- Add new report to OPs pages to show failures by host
|
|
|
|
html/ops/
|
|
failure_result_summary_by_host.php
|
|
index.php
|
|
|
|
David May 23 2004
|
|
- web: activating an account (un-munging the email address)
|
|
can fail if there's already an account with that email address.
|
|
Print an explanatory message in this case.
|
|
- web: moved forum-display code to separate file/functions
|
|
(forum_show.inc) so can selectively show forums
|
|
Renamed "$n" to "$thread_per_page" (come on, folks)
|
|
- remove extra tags in core_version XML dump file
|
|
|
|
html/
|
|
forum/
|
|
forum.php
|
|
forum_show.inc (new)
|
|
sample_index.php (renamed from index.php)
|
|
inc/
|
|
forum.inc
|
|
user/
|
|
download.php
|
|
download_network.php
|
|
login_action.php
|
|
sample_index.php (renamed from index.php)
|
|
sched/
|
|
db_dump.C
|
|
|
|
David May 23 2004
|
|
- Support for "compound applications" (such as climateprediction.net)
|
|
in which a main program runs several apps in sequence.
|
|
The items are:
|
|
1) The app init file now contains fields
|
|
<fraction_done_start> and <fraction_done_end>
|
|
giving the fraction-done range occupied by the app.
|
|
Note: the app calls boinc_fraction_done() with values
|
|
from 0 to 1 as usual.
|
|
The API implementation takes care of scaling them
|
|
to the start..end range.
|
|
|
|
The main program must fill in these fields and call
|
|
boinc_write_app_init_file() prior to running each app.
|
|
2) boinc_finish() fills the final CPU time into the
|
|
APP_INIT_DATA struct, then calls boinc_write_app_init_file().
|
|
This passes the CPU time along to the next program.
|
|
3) got rid of boinc_child_start() and boinc_child_done().
|
|
|
|
api/
|
|
boinc_ipc.C,h
|
|
client/
|
|
app.C
|
|
lib/
|
|
app_ipc.C,h
|
|
|
|
David May 24 2004
|
|
- Change benchmarks functions to use CPU time instead wall-clock time.
|
|
- move CPU measurement functions from api/boinc_api.C to lib/util.C
|
|
|
|
api/
|
|
boinc_api.C
|
|
client/
|
|
cs_scheduler.C
|
|
dhrystone.C
|
|
whetstone.C
|
|
lib/
|
|
util.C,h
|
|
|
|
David May 24 2004
|
|
- boinc_delete_file(): Windows: retry 5 times w/ 1 second delay
|
|
(in case virus-check program has file locked).
|
|
This may fix a problem where slot directories
|
|
weren't getting cleaned up.
|
|
- if clean_out_dirs() fails when starting app,
|
|
print error message and return error (so app won't start)
|
|
|
|
client/
|
|
app.C
|
|
cpu_benchmark.h
|
|
cs_benchmark.C
|
|
file_names.C
|
|
lib/
|
|
filesys.C,h
|
|
|
|
David May 24 2004
|
|
- client: initialize NET_XFER::xfer_speed to -1,
|
|
and when we print it out check for this value
|
|
and print "no bytes transferred"
|
|
(this happens e.g. if upload a file that's
|
|
already been uploaded)
|
|
- removed NET_XFER::net_xfer_state (not used)
|
|
|
|
client/
|
|
net_xfer.C,h
|
|
pers_file_xfer.h
|
|
|
|
Rom May 24 2004
|
|
- Tag for 3.06 release, all platforms
|
|
boinc_core_release_3_06
|
|
|
|
David May 24 2004
|
|
- bugs in update_versions:
|
|
"cur" -> "cursor"
|
|
move call to get_current_core_version() after DB init
|
|
|
|
tools/
|
|
update_versions
|
|
|
|
David May 24 2004
|
|
- Change benchmarks to not use global variables
|
|
(since, on Windows, we have several threads running them
|
|
in the same address space).
|
|
This requires passing around an extra structure pointer,
|
|
which slows down the benchmarks,
|
|
but it doesn't seem to make a big difference.
|
|
|
|
client/
|
|
dhrystone.C
|
|
whetstone.C
|
|
|
|
David May 25 2004
|
|
- added -noinsert option to assimilator
|
|
|
|
sched/
|
|
assimilator.C
|
|
|
|
David May 25 2004
|
|
- change client compile from -O2 to -O6 (Unix)
|
|
This brings the benchmark speeds on my laptop
|
|
(2.2 GHz Celeron) roughly into line with Win:
|
|
|
|
Linux -O6:
|
|
whet 933
|
|
dhry 1585
|
|
|
|
Linux -O2
|
|
whet 545
|
|
dhry 1268
|
|
|
|
Win release
|
|
whet 840
|
|
dhry 1512
|
|
|
|
Win debug
|
|
whet 655
|
|
dhry 1436
|
|
|
|
client/
|
|
Makefile.am
|
|
|
|
David May 25 2004
|
|
- setup_project.py:
|
|
copy sample_index.php to index.php
|
|
Otherwise tests don't work.
|
|
|
|
py/Boinc/
|
|
setup_project.py
|
|
test/
|
|
testbase.py
|
|
|
|
Rom May 25 2004
|
|
- Tag for 3.07 release, all platforms
|
|
boinc_core_release_3_07
|
|
|
|
David May 26 2004
|
|
- update Dhrystone/Whetstone code based on latest versions (2.1, ?)
|
|
I don't think this will make a damn bit of difference,
|
|
but it's better to stay current
|
|
|
|
client/
|
|
dhrystone.C
|
|
whetstone.C
|
|
|
|
David May 26 2004
|
|
- updated config.guess
|
|
|
|
config.guess
|
|
|
|
Rom May 26 2004
|
|
- Update config.guess so we don't have to add the --build command to
|
|
each execution of ./configure for the Macs
|
|
|
|
/
|
|
config.guess
|
|
|
|
Rom May 26 2004
|
|
- NEW GUI: Implement Render and State management infrastructure.
|
|
|
|
clientgui/
|
|
BOINCGUIApp.cpp
|
|
BaseListCtrlView.cpp, .h
|
|
BaseWindowView.cpp, .h
|
|
MainFrame.cpp, .h
|
|
MessagesView.cpp, .h
|
|
ProjectsView.cpp, .h
|
|
ResourceUtilizationView.cpp, .h
|
|
TransfersView.cpp, .h
|
|
WorkView.cpp, .h
|
|
|
|
David May 27 2004
|
|
- Added a mechanism for limiting the number of results
|
|
sent to a given host in a given day.
|
|
- added 'nresults_today field' to host DB table
|
|
- added 'daily_result_quota' element to config.xml and SCHED_CONFIG
|
|
(optional - gives max results per host per day)
|
|
- change server logic so that the host record is updated
|
|
after calling send_work()
|
|
- change server logic to enforce daily result quota,
|
|
send message to user if quota exceeded,
|
|
also write log message if this happens
|
|
- Added script to send email to all opted-in users
|
|
|
|
NOTE: existing projects will have to update their DB.
|
|
You can do this using html/ops/db_update.php
|
|
|
|
db/
|
|
boinc_db.C,h
|
|
schema.sql
|
|
html/ops/
|
|
create_forums.php
|
|
db_update.php
|
|
mass_email.php (new)
|
|
sched/
|
|
handle_request.C
|
|
sched_config.C,h
|
|
sched_send.C
|
|
|
|
David May 27 2004
|
|
- update comments in 'start'
|
|
|
|
sched/
|
|
start
|
|
|
|
David May 27 2004
|
|
- The BOINC app graphics framework does not use
|
|
(or require the use of) OpenGL.
|
|
Get rid of all OpenGL stuff in the code.
|
|
Note: windows_opengl.C is misnamed.
|
|
|
|
api/
|
|
graphics_api.C,h
|
|
windows_opengl.C
|
|
|
|
David May 27 2004
|
|
- added support for "static graphics":
|
|
applications generate graphics from a static image file
|
|
(part of the workunit) rather than dynamically.
|
|
- removed cruft from gutil.C:
|
|
mode_orth_ratio()
|
|
set_viewport_*()
|
|
center_screen_ratio()
|
|
I have no idea what these were for,
|
|
and perhaps neither did their author.
|
|
|
|
- moved declarations of boinc_ap_mouse_button() etc.
|
|
to graphics_api.h
|
|
api/
|
|
graphics_api.h
|
|
gutil.C
|
|
static_graphics.C (new)
|
|
windows_opengl.C
|
|
doc/
|
|
graphics.png
|
|
graphics.sxd
|
|
|
|
David May 27 2004
|
|
- negated Windows timezone, and server-side timezone usage
|
|
|
|
client/
|
|
hostinfo_win.cpp
|
|
html/inc/
|
|
host.inc
|
|
|
|
Rom May 28 2004
|
|
- Fix screensaver issue where somebody may have configured a 0 blank time,
|
|
if so, the blank time is set to twenty minutes.
|
|
- Host properties on the BOINC Ops page now shows the nresults_today value
|
|
- The host failures report now displays the nresults_today
|
|
|
|
client/win/
|
|
wingui_mainwindow.cpp
|
|
html/inc
|
|
db_ops.inc
|
|
html/ops/
|
|
failure_result_summary_by_host.php
|
|
|
|
Rom May 29 2004
|
|
- Fix a possible bug in the new Limiting number of results sent
|
|
to a host per day due to a floating point issue.
|
|
|
|
sched/
|
|
handle_request.C
|
|
|
|
David May 30 2004
|
|
- scheduler: modify_host_struct():
|
|
modify the actual structure, not a copy
|
|
(this caused results from new hosts to get zero claimed credit)
|
|
- numerous web site changes, including:
|
|
- added "recompute credit" feature for hosts
|
|
- moved forum files from html/forum to html/user
|
|
Also changed forum code to use object notation
|
|
(instead of archaic array notation)
|
|
and to eliminate the use of global variables
|
|
- show SETI@home credit, CPU hours
|
|
|
|
html/
|
|
inc/
|
|
forum.inc
|
|
forum_show.inc (new)
|
|
host.inc
|
|
profile.inc
|
|
user.inc
|
|
ops/
|
|
forum_repair.php (moved from forum)
|
|
user/
|
|
forum_*.php (new; moved/renamed from forum)
|
|
host_delete.php
|
|
host_edit_action.php
|
|
host_edit_form.php
|
|
sched/
|
|
handle_request.C
|
|
sched_send.C
|
|
|
|
David May 30 2004
|
|
- Add the ability to sort by total or expavg credit in most lists
|
|
- Fix the "update credit" feature to use the same
|
|
formula used to compute expavg credit in the first place
|
|
|
|
html/
|
|
inc/
|
|
host.inc
|
|
team.inc
|
|
user.inc
|
|
user/
|
|
host_update_credit.php
|
|
hosts_user.php
|
|
top_hosts.php
|
|
top_teams.php
|
|
top_users.php
|
|
|
|
Karl 2004-05-31
|
|
- update_versions signature files: added feature so that if
|
|
'exec-file.sig' exists in a directory, treat it as the signature file
|
|
for exec-file.
|
|
|
|
tools/
|
|
update_versions
|
|
py/Boinc/
|
|
tools.py
|
|
|
|
David May 31 2004
|
|
- Web: changed project news mechanism to use RSS
|
|
(Really Simple Syndication), described here:
|
|
http://blogs.law.harvard.edu/tech/rss
|
|
All projects now offer news feed at rss_main.php
|
|
This code courtesy of Jens Seidler.
|
|
- SETI@home public site: made front page cached
|
|
- added index on profile.uotd_time
|
|
|
|
db/
|
|
constraints.sql
|
|
html/
|
|
inc/
|
|
cache.inc
|
|
util.inc
|
|
news.inc (new)
|
|
user/
|
|
rss_main.php
|
|
sample_index.php
|
|
old_news.php (new)
|
|
|
|
David May 31 2004
|
|
- Changed BOINC news to use RSS also
|
|
|
|
doc/
|
|
index.php (new)
|
|
index.html (removed)
|
|
rss_main.php (new)
|
|
|
|
David May 31 2004
|
|
- API: do not catch HUP, INT or QUIT signals.
|
|
This must be allowed to kill the application,
|
|
so that the core client sees the app as having
|
|
been killed externally, and puts it in limbo
|
|
(rather than seeing it as having quit with an error)
|
|
|
|
lib/
|
|
diagnostics.C
|
|
|
|
David June 1 2004
|
|
web stuff:
|
|
- fix bug in merging > 2 hosts
|
|
- remove references to html/forum in setup script
|
|
- move host_update_credit() to host.inc
|
|
and make an ops page for updating a host's credit
|
|
|
|
py/Boinc/
|
|
setup_project.py
|
|
|
|
David June 1 2004
|
|
- small web fixes related to moving forum files
|
|
html/
|
|
inc/
|
|
forum_show.inc
|
|
host.inc
|
|
util.inc
|
|
ops/
|
|
host_update_credit.php (new)
|
|
user/
|
|
forum_edit.php
|
|
forum_forum.php
|
|
forum_user_posts.php
|
|
host_edit_action.php
|
|
host_update_credit.php
|
|
|
|
David June 1 2004
|
|
- client: change benchmark interval from 30 days to 5 days
|
|
- Python: install_boinc_files(): don't copy sample_index.php
|
|
to index.php (overwrites file on running projects)
|
|
|
|
client/
|
|
cs_benchmark.C
|
|
html/user/
|
|
forum_thread.php
|
|
py/Boinc/
|
|
setup_project.py
|
|
|
|
David June 1 2004
|
|
- client: SCHEDULER_OP::poll(): if a RPC or master fetch fails for
|
|
a tentative project, set the RPC state to IDLE
|
|
before calling project_add_failed().
|
|
Otherwise that function will attempt to remove the
|
|
NET_XFER and HTTP_OP, which have alread been removed
|
|
- client: clean_out_dir(): return 0 if directory doesn't exist
|
|
client/
|
|
scheduler_op.C
|
|
lib/
|
|
filesys.C
|
|
|
|
Rom June 1 2004
|
|
- Give visual indictators as to whether the build is debug or release.
|
|
|
|
client/
|
|
client_state.C
|
|
client/win/
|
|
wingui_dialog.cpp
|
|
|
|
Rom June 1 2004
|
|
- Clean-up some server trace output.
|
|
|
|
sched/
|
|
handle_request.C
|
|
|
|
David June 2 2004
|
|
- client: cosmetic changes: "Account Key" -> "Account ID",
|
|
"BOINC Core Client" -> "BOINC software"
|
|
|
|
client/
|
|
gui_titles.C
|
|
win/
|
|
boinc_gui.rc
|
|
|
|
David June 2 2004
|
|
- API: if app init data file not present,
|
|
set standalone to true, don't return error
|
|
|
|
api/
|
|
boinc_api.C
|
|
|
|
Daniel June 3 2004
|
|
- client: handle_pers_file_xfers(): if file transfer fails,
|
|
then don't verify the file
|
|
- client: start_xfer(): need to assign fxp in order for
|
|
handle_xfer_failure() to work
|
|
|
|
client/
|
|
cs_files.C
|
|
pers_file_xfer.C
|
|
|
|
Karl 2004-06-04
|
|
- start: fixed bug where Python 2.3.3 writes 'True' instead of '1' to
|
|
run_state.xml
|
|
|
|
sched/
|
|
start
|
|
|
|
- fixed compile bugs
|
|
|
|
lib/
|
|
exception.h
|
|
util.C
|
|
|
|
- install_boinc_files(): *do* copy sample_index.php to index.php, unless
|
|
it already exists (otherwise test scripts don't work)
|
|
|
|
py/Boinc/
|
|
setup_project.py
|
|
|
|
- changed the default delay between requests for ResultMeter from 0.1 to
|
|
0.5 - this should help MySQL servers that disconnect under load. Also
|
|
added a message on how to change it.
|
|
|
|
- simplified code in ProjectList
|
|
|
|
- fixed MySQL access concurrency bug that caused test scripts to fail
|
|
sometimes (re-open new database connection)
|
|
|
|
test/
|
|
testbase.py
|
|
|
|
David June 6 2004
|
|
- add "ignore_upload_certificates" flag to config.xml;
|
|
tells file upload handler to skip certificate check
|
|
- web:
|
|
- unified list displays (team members, teams, hosts, users):
|
|
groups of 20 with sort links
|
|
- clean up profile code
|
|
- make team pages generic (not depend on viewing user)
|
|
- moved team quit/manage links to user page
|
|
- update_profile_pages.php: remove PHP 30-sec time limit
|
|
|
|
html/
|
|
inc/
|
|
gallery.inc
|
|
subscribe.inc
|
|
team.inc
|
|
user.inc
|
|
util.inc
|
|
ops/
|
|
update_profile_pages.php
|
|
user/
|
|
download_network.php
|
|
forum_edit.php
|
|
forum_post.php
|
|
prefs.php
|
|
profile_menu.php
|
|
sample_rss_main.php (new)
|
|
team_create_form.php
|
|
team_display.php
|
|
team_email_list.php
|
|
team_manage.php (new)
|
|
team_quit_form.php
|
|
top_hosts.php
|
|
top_teams.php
|
|
top_users.php
|
|
sched/
|
|
db_dump.C
|
|
file_upload_handler.C
|
|
handle_request.C
|
|
sched_config.C,h
|
|
|
|
David June 6 2004
|
|
- client: show error messages on errors linking structures
|
|
- PERS_FILE_XFER::giveup(): add "why" argument;
|
|
store in FILE_INFO::error_msg, and show to user
|
|
(all permanent xfer failures pass through here)
|
|
|
|
client/
|
|
client_state.C
|
|
pers_file_xfer.C,h
|
|
|
|
Karl 2004-06-08
|
|
- changed BOINC api calls to extern "C" -- makes it easier to call from
|
|
other languages (Fortran)
|
|
|
|
api/
|
|
boinc_api.h
|
|
apps/
|
|
upper-case.C
|
|
lib/
|
|
app_ipc.C
|
|
|
|
David 6 June 2004
|
|
- in strcpy2(), use strlcpy instead of strncpy
|
|
strncpy() always copies the full N bytes,
|
|
which is inefficient when there are long (64KB) fields
|
|
that are short or empty.
|
|
strlcpy() does what we want - it only copies significant bytes,
|
|
but doesn't go off the end of the destination buffer.
|
|
I also commented out the version of strlcpy in std_fixes.h -
|
|
this has the same performance problem.
|
|
- fixed "show team email addresses" function to not show auths
|
|
- temporarily turned off user search by name and team search by name;
|
|
we don't have indices on these fields
|
|
- file upload handler: show bad-certificate message even
|
|
if we're not enforcing it.
|
|
- scheduler: fix insufficient-speed message
|
|
- validator: print log messages if can't lookup/update anything
|
|
|
|
db/
|
|
db_base.h
|
|
html/
|
|
inc/
|
|
util.inc
|
|
user/
|
|
forum_text_search*
|
|
team_email_list.php
|
|
team_lookup.php
|
|
user_search_action.php
|
|
lib/
|
|
std_fixes.h
|
|
sched/
|
|
file_upload_handler.C
|
|
sched_send.C
|
|
validate.C
|
|
|
|
David 6 June 2004
|
|
- change boinc_sleep() to work correctly in the presence of signals
|
|
- add an implementation of strlcpy() for systems that don't have it
|
|
|
|
lib/
|
|
std_fixes.h
|
|
util.C,h
|
|
|
|
Rom 6 June 2004
|
|
- Enable GUI RPC's in the Windows Core Clients
|
|
- Move Winsock initialization out of each request to a per process thing
|
|
- Detect error condition where a socket initialization failure would cause
|
|
an error to be logged continuously
|
|
|
|
client/
|
|
client_state.C
|
|
gui_rpc_server.C
|
|
main.C
|
|
client/win/
|
|
win_net.cpp
|
|
win_net.h
|
|
wingui_mainwindow.cpp
|
|
|
|
David 9 June 2004
|
|
- changed boinc_rename() to do backoff and retry, like boinc_fopen()
|
|
- changed file system ops to use random backoff instead of 1 sec,
|
|
to avoid lockstep scenario
|
|
- changed implementation of strlcpy() to use existing
|
|
library functions (strlen(), memcpy()) since these
|
|
are probably faster than doing it by hand
|
|
- moved xml_util.C,h from boinc to seti_boinc/db
|
|
This code isn't used in BOINC
|
|
- changed all <? to <?php in doc files
|
|
|
|
db/
|
|
boinc_db.C
|
|
doc/
|
|
*
|
|
lib/
|
|
filesys.C
|
|
std_fixes.h
|
|
util.C,h
|
|
xml_util.C,h (removed)
|
|
|
|
Daniel 9 June 2004
|
|
- client: added check_idle() to update user_idle in unix.
|
|
only checks /dev/kbd and /dev/mouse for activity.
|
|
|
|
client/
|
|
client_state.C
|
|
client_state.h
|
|
cs_prefs.C
|
|
|
|
David 9 June 2004
|
|
- separation of functionality:
|
|
update_profile_pages.php rebuilds profile directory
|
|
pages (gallery, alphabetic, country)
|
|
May want to run this infrequently.
|
|
update_uotd.php chooses new UOTD
|
|
Should run this every day
|
|
- database: profile.verification is not null
|
|
|
|
Note: existing projects should modify their databases;
|
|
see html/ops/db_update.php
|
|
|
|
db/
|
|
schema.sql
|
|
html/
|
|
inc/
|
|
*.inc
|
|
ops/
|
|
db_update.php
|
|
profile_ops.php
|
|
update_profile_pages.php
|
|
update_uotd.php (new)
|
|
user/
|
|
explain_state.php
|
|
info.php
|
|
|
|
Rom 9 June 2004
|
|
- Put together the gui rpc testing application for Windows.
|
|
- Fix a bug or two with yesterdays checkin.
|
|
|
|
client/
|
|
gui_rpc_client.C, .h
|
|
gui_test.C
|
|
main.C
|
|
stdafx.cpp, .h
|
|
lib/
|
|
filesys.C
|
|
parse.h
|
|
win_build/
|
|
*.vcproj
|
|
|
|
Brian 10 June 2004
|
|
- changed get_log_path to create log directory dynamically if
|
|
not already present on server
|
|
|
|
sched/
|
|
main.C
|
|
file_upload_handler.C
|
|
|
|
David 10 June 2004
|
|
- Web caching system: use only the filename part of URL
|
|
to determine cache file name
|
|
(so that files are directly in html/cache).
|
|
No "_" if no params.
|
|
- web: allow more HTML tags (ul, ol, li)
|
|
- web: in seeing if projects is stopped, look for
|
|
"stop_sched" and "stop_daemons" rather than "stop_servers"
|
|
(forgot to make this change on May 3 2004)
|
|
- web: turn off user name search (until we have indices)
|
|
- web: change Mac install instructions to match Unix
|
|
- setup_project.py: copy html/inc/GioIP.dat also
|
|
- start script: remove cached home page when start or stop project.
|
|
|
|
html/
|
|
inc/
|
|
cache.inc
|
|
sanitize_html.inc
|
|
util.inc
|
|
user/
|
|
account_setup_first_download.php
|
|
account_setup_nonfirst_done.php
|
|
user_search_action.php
|
|
py/Boinc/
|
|
setup_project.py
|
|
sched/
|
|
start
|
|
|
|
Rom 10 June 2004
|
|
- Fix a few bugs on the Windows platform so that the GUI RPC's will now
|
|
work on Windows. I've tested it with telnet, the new GUI will follow
|
|
|
|
client/
|
|
gui_rpc_client.C
|
|
gui_rpc_server.C, .h
|
|
net_xfer.C
|
|
win_build
|
|
*.vcproj
|
|
|
|
David 10 June 2004
|
|
- added "-allow_remote_gui_rpc command line flag
|
|
to allow GUI RPCs from remote hosts (courtesy of Rob Oglivie)
|
|
|
|
client/
|
|
client_state.C,h
|
|
cs_cmdline.C
|
|
gui_rpc_server.C
|
|
|
|
Karl 2004-06-11
|
|
- added feature to START to prune obsolete run_state timestamps
|
|
|
|
sched/
|
|
start
|
|
py/Boinc/
|
|
boincxml.py
|
|
|
|
David 11 June 2004
|
|
- updated sample_index.php and sample project.inc
|
|
- project_banner() now takes title, not user
|
|
- check for project stopped, show news even if stopped
|
|
- add user of the day
|
|
- Get rid of project_intro(), project_community() functions;
|
|
just put this stuff directly in your own index.php
|
|
- add install of sample_index.php, project_news.inc
|
|
to setup_project
|
|
- db_dump: if can't get result counts, keep going
|
|
|
|
html/
|
|
inc/
|
|
uotd.inc
|
|
project.sample/
|
|
project.inc
|
|
user/
|
|
sample_index.php
|
|
py/Boinc/
|
|
setup_project.py
|
|
sched/
|
|
db_dump.C
|
|
|
|
Rom 11 June 2004
|
|
- Change debug messages in the GUI RPC interface to log flags.
|
|
- Add log flag <guirpc_bug/>
|
|
|
|
client/
|
|
client_msgs.C, .h
|
|
gui_rpc_server.C
|
|
log_flags.C, .h
|
|
doc/
|
|
client_debug.php
|
|
|
|
Jeff 11 June 2004
|
|
- The start script now forks before exec'ing the ssh start to remote hosts.
|
|
Without this, start would run "start" on the first remote host it finds
|
|
in the config file but would go no further.
|
|
|
|
sched/
|
|
start
|
|
|
|
Daniel 11 June 2004
|
|
- client: check_idle() now also checks /dev/tty[1-7] (linux).
|
|
Also put idle checks under #ifdefs. MacOS X idle checks
|
|
will be more difficult.
|
|
|
|
configure
|
|
configure.ac
|
|
config.h.in
|
|
client/
|
|
cs_prefs.C
|
|
|
|
David 11 June 2004
|
|
- Windows sockets can't be used in fdopen() (thank you MS),
|
|
and we wanted all the standard XML output functions
|
|
to be able to write to either disk or socket (for GUI RPC).
|
|
So we added a class MIOFILE, with printf() and fgets() member funcs,
|
|
that can be implemented with either a FILE* or a memory buffer
|
|
under the hood.
|
|
- Moved MFILE from api/ to lib/ since it's used in the implementation
|
|
of MIOFILE
|
|
- Changed all XML write and parse functions to take MIOFILE&
|
|
instead of FILE*
|
|
- Changed GUI RPC client code to use MIOFILEs
|
|
- Changed GUI RPC protocol so that every reply message
|
|
ends with a \003 delimiter
|
|
(to make it unambiguous where reply ends)
|
|
- removed version number header from GUI RPC (rethink this later)
|
|
|
|
Got this all to work on Unix; will try Windows next
|
|
|
|
api/
|
|
Makefile.am
|
|
mfile.C,h (moved from here)
|
|
client/
|
|
Makefile.am
|
|
app.C,h
|
|
client_state.h
|
|
client_types.C,h
|
|
cs_scheduler.C
|
|
cs_statefile.C
|
|
gui_rpc_client.C,h
|
|
gui_rpc_server.C,h
|
|
gui_test.C
|
|
hostinfo.C,h
|
|
makefile.gui_test
|
|
miofile.C,h (new)
|
|
net_stats.C,h
|
|
net_xfer.h
|
|
pers_file_xfer.h
|
|
proxy.C,y
|
|
scheduler_op.C
|
|
time_stats.C,h
|
|
doc/
|
|
client_sched.php (new)
|
|
lib/
|
|
Makefile.am
|
|
mfile.C,h (moved to here)
|
|
|
|
David 11 June 2004
|
|
- get core client to compile on Win
|
|
- graphics API: change max frame rate from 10 to 33.3
|
|
|
|
api/
|
|
windows_opengl.C
|
|
client/
|
|
gui_rpc_server.C
|
|
miofile.h
|
|
win_build/
|
|
boinc_cli.vcproj
|
|
boinc_gui.vcproj
|
|
|
|
David 11 June 2004
|
|
- moved idle-time funcs from cs_prefs.C to hostinfo_unix.C
|
|
- fixed handling of "messages" in GUI RPC
|
|
|
|
client/
|
|
cs_prefs.C
|
|
gui_rpc_client.C
|
|
gui_rpc_server.C
|
|
hostinfo_unix.C
|
|
|
|
Rom June 12 2004
|
|
- Cleanup build errors on Windows
|
|
- Fix the <run_benchmarks/> gui rpc to match documentation
|
|
|
|
api/
|
|
boinc_api.C, .h
|
|
gutil.C
|
|
client/
|
|
gui_rpc_client.C
|
|
gui_rpc_server.C
|
|
lib/
|
|
diagnostics.C
|
|
parse.h
|
|
shmem.C
|
|
util.C, .h
|
|
win_build/
|
|
boinc_guirpc_test.vcproj
|
|
upper_case.vcproj
|
|
|
|
David June 12 2004
|
|
- fix compile errors on Unix
|
|
|
|
apps/
|
|
Makefile.am,in
|
|
|
|
David June 12 2004
|
|
- added support for name/passwd authentication to HTTP proxies.
|
|
Includes changes to the proxy settings dialog,
|
|
and to the HTTP_OP class.
|
|
All this courtesy of Kenichi Miyoshi and his colleagues
|
|
at NTT - thanks!
|
|
|
|
client/
|
|
http.C,h
|
|
proxy.C,h
|
|
win/
|
|
boinc_gui.h,rc
|
|
wingui_proxydlg.cpp,h
|
|
win_build/
|
|
boinc_cli.vcproj
|
|
boinc_gui.vcproj
|
|
|
|
David 13 June 2004
|
|
- fix typo on "start"
|
|
- don't allow empty thread titles
|
|
|
|
html/inc/
|
|
forum.inc
|
|
news.inc
|
|
uotd.inc
|
|
sched/start
|
|
|
|
Rom 13 June 2004
|
|
- Don't dangle sockets when the request doesn't come from the loopback
|
|
adapter. Thanks to Sebastian Masch for pointing out the bug and solution.
|
|
|
|
client/
|
|
gui_rpc_server.C
|
|
|
|
Rom 13 June 2004
|
|
- Do some more header file work and fix util.c so it'll compile on unix
|
|
platforms again.
|
|
|
|
client/
|
|
miofile.C, .h
|
|
stdafx.h
|
|
lib/
|
|
base64.C, .h
|
|
util.C
|
|
|
|
Rom 13 June 2004
|
|
- Minor tweaks so you can setup a new project
|
|
|
|
py/Boinc/
|
|
setup_project.py
|
|
sched/
|
|
start
|
|
|
|
Karl 2004-06-14
|
|
- 'start': simplified remote fork/exec logic, and added option for
|
|
parallel/sequential delegation to remote hosts (default sequential)
|
|
|
|
sched/
|
|
start
|
|
|
|
Rom 14 June 2004
|
|
- Fix clientside GUI RPC calls so the test app will work.
|
|
- Fix util.C so cross-platform compliation
|
|
|
|
client/
|
|
gui_rpc_client.C
|
|
lib/
|
|
util.c
|
|
|
|
David 14 June 2004
|
|
- Email addresses in the DB should ALWAYS be lower-case,
|
|
with no leading or trailing white space.
|
|
Add code (trim, strtolower) to enforce this.
|
|
Existing databases should be cleaned up.
|
|
|
|
html/user/
|
|
confirm_email_change.php
|
|
create_account_action.php
|
|
edit_email_action.php
|
|
login_action.php
|
|
mail_passwd.php
|
|
|
|
Daniel 14 June 2004
|
|
- changed uses of mysql_fetch_assoc() to mysql_fetch_object()
|
|
- removed utility function get_profile_from_userid() (not used
|
|
anywhere)
|
|
- added proposal for new client result scheduling: please review!
|
|
|
|
doc/
|
|
client_sched.php
|
|
html/inc/
|
|
subscribe.inc
|
|
util.inc
|
|
html/ops/
|
|
migrate_tables.php
|
|
profile_ops.php
|
|
|
|
Rom 14 June 2004
|
|
- Add check for minor version change which will cause the client to
|
|
rerun the benchmark code.
|
|
|
|
client/
|
|
client_state.C
|
|
|
|
Daniel 14 June 2004
|
|
- client: Returning results due to "-return_results_immediately"
|
|
no longer tries to fetch work unless it's needed.
|
|
- client: Added "-check_all_logins" command-line option to force
|
|
idle checking to look at all users' terminals.
|
|
|
|
config.h.in
|
|
configure
|
|
configure.ac
|
|
client/
|
|
Makefile.in
|
|
client_state.C
|
|
client_state.h
|
|
cs_cmdline.C
|
|
cs_scheduler.C
|
|
hostinfo_unix.C
|
|
|
|
Rom 14 June 2004
|
|
- Add two additional tools to the default install
|
|
parse_config - Parses the config file looking for the requested config
|
|
information.
|
|
db_query - Queries the database for specific information in a
|
|
stripchart compatible format.
|
|
|
|
py/boinc/
|
|
setup_project.py
|
|
tools/
|
|
parse_config
|
|
db_query
|
|
|
|
Karl 2004-06-15
|
|
- added compatibility for old versions of python XML library
|
|
|
|
py/Boinc/
|
|
boincxml.py
|
|
|
|
- created Fortran wrapper
|
|
|
|
api/
|
|
boinc_api_fortran.C
|
|
|
|
Daniel 15 June 2004
|
|
- html: got rid of file descriptor parameters for a lot of
|
|
functions (esp. those used by gallery.inc). using output
|
|
buffering now (ob_start(), ob_get_contents(), etc.)
|
|
|
|
html/
|
|
inc/
|
|
gallery.inc
|
|
profile.inc
|
|
util.inc
|
|
project.sample/
|
|
project.inc
|
|
user/
|
|
project.inc.sample
|
|
|
|
Rom 15 June 2004
|
|
- Move shell scripts that were in the sched folder to the tools folder
|
|
- remove start_servers.C and kill_server
|
|
- Move watchdog scripts to ops folder
|
|
|
|
html/ops/
|
|
watchdogs.php (added)
|
|
wd_nresults_changing.php (added)
|
|
py/boinc/
|
|
setup_project.py
|
|
sched/
|
|
kill_server (removed)
|
|
start_servers.C (removed)
|
|
wd.php (removed)
|
|
wd_nresults_changing.php (removed)
|
|
watch_tcp (removed)
|
|
grep_logs (removed)
|
|
tools/
|
|
watch_tcp (added)
|
|
grep_logs (added)
|
|
|
|
Rom June 15 2004
|
|
- Tag for 3.08 release, all platforms
|
|
boinc_core_release_3_08
|
|
seti_boinc_app_release_3_08
|
|
|
|
David 15 June 2004
|
|
- Database inserts and updates from C++ (boinc_db.C)
|
|
were of the form "insert into foo set id=x, a=y,...".
|
|
Removed the "id=x" part.
|
|
The ID field should never be explicitly set.
|
|
- add index on user.name
|
|
|
|
NOTE: projects should do this on their DB (see html/ops/db_update.php).
|
|
Otherwise user name search will be slow.
|
|
|
|
db/
|
|
boinc_db.C
|
|
constraints.sql
|
|
html/ops;
|
|
db_update.php
|
|
|
|
Daniel 15 June 2004
|
|
- html: Fixed bugs in gallery that caused database failures.
|
|
Fixed some bugs in building summary pages.
|
|
|
|
html/inc/
|
|
gallery.inc
|
|
profile.inc
|
|
|
|
Daniel 15 June 2004
|
|
- client: put all_logins_idle under an ifdef to check for
|
|
availability of {set,get}utent. TODO: implement these for BSD.
|
|
|
|
aclocal.m4
|
|
config.h.in
|
|
configure
|
|
configure.ac
|
|
client/
|
|
hostinfo_unix.C
|
|
|
|
|
|
Karl 2004-06-16
|
|
|
|
- Compile fixes
|
|
- Removed windows MSVC-specific pre-compiled header stuff from API
|
|
headers and modules, since these are compiled/included by external
|
|
projects and do not use the same stdafx.h.
|
|
|
|
lib/
|
|
app_ipc.h
|
|
|
|
api/
|
|
boinc_api.h
|
|
boinc_api.C
|
|
|
|
- Fortran wrapper: Return value fixes
|
|
|
|
api/
|
|
boinc_api_fortran.C
|
|
|
|
David 16 June 2004
|
|
- make team pages cached
|
|
- enable user name search
|
|
|
|
html/
|
|
inc/
|
|
team.inc
|
|
user/
|
|
team_display.php
|
|
user_search_action.php
|
|
|
|
David 16 June 2004
|
|
- Added <host_info> to app_init_data.xml file,
|
|
passed to applications (for Folding@home).
|
|
This necessitated shuffline some code to
|
|
move write/parse code from client/ to lib/
|
|
|
|
client/
|
|
app.C
|
|
hostinfo.C,h (moved from client/ to lib/)
|
|
hostinfo_network.C,h (new)
|
|
miofile.C,h (moved from client/ to lib/)
|
|
win/
|
|
hostinfo_win.cpp
|
|
lib/
|
|
app_ipc.C,h
|
|
win_build/
|
|
boinc_cli.vcproj
|
|
boinc_gui.vcproj
|
|
upper_case.vcproj
|
|
|
|
|
|
David 16 June 2004
|
|
- unix compile fixes for the above change
|
|
|
|
client/
|
|
Makefile.am
|
|
hostinfo_unix.C
|
|
lib/
|
|
Makefile.am
|
|
sched/
|
|
Makefile.am
|
|
|
|
Daniel 16 June 2004
|
|
- client: added implementations of {set,get}utent for lacking
|
|
systems (BSD, MacOSX) so all_logins_idle() will work.
|
|
|
|
client/
|
|
hostinfo_unix.C
|
|
|
|
David 16 June 2004
|
|
- renamed client/stdafx.h to lib/boinc_win.h
|
|
|
|
api/
|
|
boinc_api.C
|
|
client/
|
|
stdafx.cpp
|
|
stdafx.h (removed)
|
|
lib/
|
|
boinc_win.h (new)
|
|
win_build/
|
|
boinc_cli.vcproj
|
|
boinc_gui.vcproj
|
|
boinc_guirpc_test.vcproj
|
|
|
|
David 16 June 2004
|
|
- scheduler returns message to client in case of internal errors
|
|
|
|
sched/
|
|
main.C,h
|
|
handle_request.C
|
|
|
|
David 16 June 2004
|
|
- change includes from stdafx.h to boinc_win.h
|
|
- add 1o-minute timeout on all network transfers
|
|
|
|
client/
|
|
*.C
|
|
lib/
|
|
*.C
|
|
|
|
Rom 16 June 2004
|
|
- Additional include changes from stdafx.h to boinc_win.h
|
|
|
|
api/
|
|
*.C
|
|
client/
|
|
*.C
|
|
lib/
|
|
*.C
|
|
|
|
David 16 June 2004
|
|
- a few additions to the above
|
|
|
|
api/
|
|
graphics_api.C
|
|
gutil.C
|
|
reduce.C
|
|
static_graphics.C
|
|
windows_opengl.C
|
|
client/
|
|
cpu_benchmark (removed)
|
|
message.C (removed)
|
|
win/
|
|
wingui.h
|
|
lib/
|
|
boinc_win.h
|
|
win_build/
|
|
boinc_gui.vcproj
|
|
|
|
David 16 June 2004
|
|
- fixed shocking error in http.C:
|
|
in poll function (HTTP_OP_SET::poll()),
|
|
check for error conditions at the beginning,
|
|
outside of the switch on http_op_state.
|
|
Previously we were checking for errors only in a couple of states
|
|
(CONNECTING, REPLY_BODY) and errors in other states would go undetected.
|
|
This could account for hangs in file uploads, scheduler RPCs
|
|
|
|
client/
|
|
http.C
|
|
|
|
Rom 16 June 2004
|
|
- Fix HTTP:OP bug where on an upload and the server responds with a 404-
|
|
not found for the file_upload_handler would cause the client
|
|
to delete the result file.
|
|
|
|
client/
|
|
pers_file_xfer.C
|
|
|
|
Rom June 15 2004
|
|
- Tag for 3.09 release, all platforms
|
|
boinc_core_release_3_09
|
|
|
|
David 16 June 2004
|
|
- Change how messages are stored in memory in core client
|
|
- use a list instead of a vector, ordered new to old
|
|
- max of 1000 messages (MAX_SAVED_MESSAGES)
|
|
- add seqno to MESSAGE_DESC
|
|
- change GUI RPC for getting messages.
|
|
Instead of "offset", has a "seqno" arg.
|
|
If nonzero, this is the minimum seqno to return
|
|
- add message-storage logic to Windows client
|
|
|
|
|
|
client/
|
|
client_msgs.C,h
|
|
gui_rpc_server.C
|
|
main.C
|
|
win/
|
|
wingui.cpp
|
|
lib/
|
|
boinc_win.h
|
|
win_build/
|
|
boinc_guirpc_test.vcproj
|
|
|
|
David 16 June 2004
|
|
- get GUI RPC working on UNIX
|
|
|
|
client/
|
|
Makefile.am
|
|
client_msgs.C,h
|
|
gui_rpc_client.C,h
|
|
makefile.gui_test
|
|
|
|
Rom June 16 2004
|
|
- Tag for 3.10 release, all platforms
|
|
boinc_core_release_3_10
|
|
|
|
David 17 June 2004
|
|
- Change the way we get local host's domain name on UNIX:
|
|
instead of gethostbyname()
|
|
(which has nightmarish linkage problems that no one quite understands)
|
|
use "ping", which we assume exists on all UNIX systems,
|
|
and parse its output
|
|
- Allow Python scripts to access remote databases
|
|
(courtesy of Carl C.)
|
|
|
|
client/
|
|
gui_rpc_server.C
|
|
hostinfo_network.C,h
|
|
hostinfo_unix.C
|
|
win/
|
|
hostinfo_win.cpp
|
|
py/Boinc/
|
|
database.py
|
|
|
|
David 17 June 2004
|
|
- Not so fast! "ping -c 1 hostname" hangs forever on Linux
|
|
if hostname is unreachable.
|
|
"ping -c 1 -w 1 hostname" works,
|
|
but the -w option doesn't exist on Solaris!
|
|
So...
|
|
try with -w, and if get an error, try without.
|
|
Hope this is the end of the story.
|
|
|
|
client/
|
|
hostinfo_network.C
|
|
|
|
Rom June 17 2004
|
|
- Enable the low-water mark for the work queue again.
|
|
|
|
client/
|
|
cs_scheduler.C
|
|
|
|
David June 17 2004
|
|
- Fix bonehead mistake in ping/hostname code
|
|
(thanks to Rob Oglivie)
|
|
- Fix memory leak in GUI RPC
|
|
(thanks to Sebastian Masch)
|
|
|
|
client/
|
|
gui_rpc_client.C
|
|
gui_rpc_server.C
|
|
hostinfo_network.C
|
|
lib/
|
|
app_ipc.h
|
|
mfile.h
|
|
|
|
David June 17 2004
|
|
- looser definition of "same platform" when using homogeneous redundancy
|
|
(Courtesy of Pietro Cicotti)
|
|
|
|
sched/
|
|
sched_send.C
|
|
|
|
Rom June 17 2004
|
|
- Tag for 3.12 release, all platforms
|
|
boinc_core_release_3_12
|
|
|
|
Rom June 17 2004
|
|
- Tag for 3.13 release, all platforms
|
|
boinc_core_release_3_13
|
|
|
|
David 17 June 2004
|
|
- enforce the application.deprecated flag in the scheduler.
|
|
When scanning the database, the feeder ignores deprecated apps
|
|
and any associated app versions and workunit/results
|
|
|
|
sched/
|
|
feeder.C
|
|
sched_shmem.C,h
|
|
|
|
Daniel 17 June 2004
|
|
- Determine utmp location at compile time so idle checking works on MacOSX
|
|
- get_local_network_info(): Redirect ping stderr to /dev/null
|
|
|
|
config.h.in
|
|
configure
|
|
configure.ac
|
|
client/
|
|
hostinfo_unix.C
|
|
hostinfo_network.C
|
|
|
|
Rom 17 June 2004
|
|
- Add an additional path to the list of pings to try.
|
|
/usr/sbin
|
|
|
|
client/
|
|
hostinfo_network.C
|
|
|
|
Rom June 17 2004
|
|
- Tag for 3.13 release, all platforms
|
|
boinc_core_release_3_13
|
|
|
|
David 2004.06.17
|
|
- /usr/sbin/ping has different options than others.
|
|
Revise get_local_network_info().
|
|
If all variants of ping fail,
|
|
set hostname="unknown" and ip_addr="0.0.0.0"
|
|
and print a helpful message.
|
|
- show more command line options
|
|
|
|
client/
|
|
cs_cmdline.C
|
|
cs_scheduler.C
|
|
hostinfo_network.C
|
|
hostinfo_unix.C
|
|
|
|
David 2004.06.18
|
|
- punt the ping/gethostbyname issue for now;
|
|
just get the hostname (not domain)
|
|
and set IP address to "unknown".
|
|
|
|
client/
|
|
hostinfo_network.C
|
|
|
|
Karl 2004-06-18
|
|
- makefile cleanup
|
|
|
|
*/Makefile.am
|
|
|
|
Rom June 18 2004
|
|
- Update screensaver logic to determine the difference between
|
|
'no work avaliable' and the active tasks cannot display graphics.
|
|
|
|
client/
|
|
ss_logic.C
|
|
|
|
Rom June 18 2004
|
|
- Tag for 3.15 release, all platforms
|
|
boinc_core_release_3_15
|
|
|
|
David 2004.06.18
|
|
- Undo the checkin of Mar 4 2004 that changed the "report deadline"
|
|
based on connected_frac etc.
|
|
Just use 24 hours.
|
|
- Undo checkin of June 14 2004 that didn't fetch work
|
|
if return_results_immediately is set;
|
|
this broke test_uc.py
|
|
|
|
client/
|
|
client_state.h
|
|
cs_scheduler.C
|
|
|
|
David 2004.06.18
|
|
- Aaargh! I forgot that gethostbyname() is unavoidably used
|
|
when contacting servers, so all this ping stuff
|
|
is a total waste of time!
|
|
Changed things back to the way they were originally.
|
|
|
|
client/
|
|
hostinfo_network.C
|
|
net_xfer.C
|
|
|
|
Rom June 18 2004
|
|
- Tag for 3.16 release, all platforms
|
|
boinc_core_release_3_16
|
|
|
|
|
|
David 2004.06.18
|
|
- add timestamps to messages written stdout/err.txt in Win
|
|
|
|
client/win/
|
|
wingui.cpp
|
|
|
|
David 2004.06.18
|
|
- updated zip/unzip files (from Carl)
|
|
|
|
lib/
|
|
boinc_zip.C,h (removed)
|
|
zip/
|
|
various
|
|
|
|
Rom June 19 2004
|
|
- Tag for 3.17 release, all platforms
|
|
boinc_core_release_3_17
|
|
|
|
Rom June 19 2004
|
|
- Lengthen the benchmarks so even on slow machines they won't get stuck in an
|
|
endless loop waiting on a file that has already come and gone.
|
|
|
|
client/
|
|
cs_benchmark.C
|
|
|
|
Rom June 19 2004
|
|
- Tag for 3.18 release, all platforms
|
|
boinc_core_release_3_18
|
|
|
|
David 20 June 2004
|
|
- db_dump.C: major revision: make it configurable,
|
|
using an XML config file.
|
|
Lets you say what you want exported,
|
|
how to sort, whether to compress etc.
|
|
- destroy_shmem: try to destroy even if there are attachments.
|
|
Somehow ipcrm always destroys the seg. How do they do it?
|
|
- assimilator: print error and exit if handler returns nonzero
|
|
|
|
lib/
|
|
shmem.C
|
|
sched/
|
|
assimilator.C
|
|
db_dump.C
|
|
|
|
David 21 June 2004
|
|
- Web: when displaying results, try to show "---" (i.e. undefined)
|
|
where a field isn't determined yet.
|
|
Show "pending" instead of 0 for granted credit of unvalidated results
|
|
|
|
html/inc/
|
|
result.inc
|
|
|
|
Brian 22 June 2004
|
|
- server: renamed all functions, structures and database items that
|
|
associated with trickle_up or down and renamed to
|
|
msg_from_host and msg_to_host repectively,
|
|
- Deleted result and app fields from the database entry for
|
|
msg_from_host (trickle_up) to make more generic of a
|
|
message that has no app or result associated it with it
|
|
- Changed methods that use these fields to ignore old
|
|
functionality, will update when new method agreed upon
|
|
- sched/
|
|
handle_request.C
|
|
sched_config.C
|
|
sched_config.h
|
|
server_types.h
|
|
- db/
|
|
schema.sql
|
|
BOINC_db.C
|
|
constraints.sql
|
|
|
|
David 22 June 2004
|
|
- client: handle a "down for maintenance" RPC reply as a failure,
|
|
i.e. do a backoff on the project.
|
|
This should hopefully fix a problem where if
|
|
a project is down, and a client has a result to report,
|
|
it will do an RPC every second, creating an overload on the server.
|
|
Do this by adding a new optional <project_is_down/> element
|
|
to scheduler replies.
|
|
- If get a <request_delay> from scheduler,
|
|
don't let that override the current min_rpc_time;
|
|
instead, take the max of the two.
|
|
- Change the implementation of trickle messages.
|
|
Instead of using dedicated trickle_up and trickle_down DB tables,
|
|
use more general msg_from_host and msg_to_host tables.
|
|
These will be used also for data management,
|
|
i.e. to send upoad or download requests to specific hosts.
|
|
|
|
client/
|
|
cs_scheduler.C
|
|
scheduler_op.C,h
|
|
db/
|
|
boinc_db.C,h
|
|
schema.sql
|
|
lib/
|
|
error_numbers.h
|
|
sched/
|
|
assimilator.C
|
|
handle_request.C
|
|
main.C
|
|
server_types.C,h
|
|
trickle_handler.C
|
|
|
|
Karl 2004-06-24
|
|
- OpenBSD compile fixes from Daniel Hartmeier <daniel@benzedrine.cx>
|
|
|
|
lib/
|
|
util.C
|
|
filesys.C
|
|
|
|
sched/
|
|
sched_send.C
|
|
|
|
Karl 2004-06-24
|
|
- update_versions: only match exec_file if it's the same as the directory.
|
|
This makes executable selection deterministic.
|
|
|
|
tools/
|
|
update_versions
|
|
|
|
David 24 June 2004
|
|
- turn off sorting in team member display (slow query)
|
|
- show only up to 1000 users/teams/hosts
|
|
- use URL_BASE instead of MASTER_URL in page_tail()
|
|
- fix php typos
|
|
|
|
html/
|
|
inc/
|
|
team.inc
|
|
util.inc
|
|
user/
|
|
team_display.php
|
|
top_*.php
|
|
|
|
Brian 24 June 2004
|
|
- msg_from_host no longer have preceding and trailing flags in
|
|
scheduler reply. All tags will be included as part of the XML blob
|
|
to be created by whatever program handles the message.
|
|
|
|
Sched/
|
|
server_types.C
|
|
|
|
Rom 25 June 2004
|
|
- Numerious file additions to the new client gui
|
|
- Fixed a user feedback issue between restarting vs. resuming text when
|
|
describing restarting of a task.
|
|
- Limit the transitioner to a resultset of 5000 in it's workunit query so
|
|
it doesn't spend so much time waiting on the database and order by tansition_time
|
|
so we see the oldest to the newest.
|
|
- Include the prototypes of the new language translation files based off of
|
|
the standards used the wxWidgets, These files were constructed using an
|
|
automated tool called poEdit.
|
|
|
|
client/
|
|
app.C
|
|
clientgui/
|
|
<Lots of various files>
|
|
clientgui/locale/
|
|
en_US.*
|
|
sched/
|
|
transitioner.C
|
|
|
|
Rom 25 June 2004
|
|
- Add the ability to just shutdown the website so we can reduce traffic
|
|
|
|
html/inc/
|
|
util.inc
|
|
|
|
Karl 2004-06-27
|
|
- fix to log directory creation from Chrischan <christian.linder@uni-bielefeld.de>
|
|
|
|
sched/
|
|
main.C
|
|
|
|
David 27 June 2004
|
|
- add a -mod N I option to the transitioner;
|
|
causes the transitioner to handle only WUs for which ID % N == I.
|
|
Can use this to parallelize the transitioner,
|
|
either on a single multi-CPU machine or across multiple machines
|
|
|
|
sched/
|
|
transitioner.C
|
|
|
|
David 27 June 2004
|
|
- changes (from Carl C.) to get rid of signal usage in zip/unzip code
|
|
|
|
zip/unzip
|
|
fileio.c
|
|
unzip.c
|
|
zip/zip
|
|
zip.c
|
|
zipcloak.c
|
|
zipnote.c
|
|
zipsplit.c
|
|
|
|
David 27 June 2004
|
|
- Added core->app heartbeat mechanism so that apps will quit
|
|
if the core client dies
|
|
(i.e. if no heartbeat message arrives in 5 seconds).
|
|
Suppress this if app is standalone.
|
|
Also provide messages that let the core disable/enable
|
|
the mechanism (to support debugging of the core client)
|
|
- Added a 3rd message channel for suspend/resume/quit messages,
|
|
to replace signals.
|
|
This isn't used now.
|
|
- Restored code in APP_CLIENT_SHM that checks the "full" bit
|
|
before writing a message.
|
|
This may cause problems.
|
|
|
|
NOTE: this is a backwards-incompatible change to the core/app
|
|
interface, so it requires a major version change (will do later)
|
|
|
|
api/
|
|
boinc_api.C
|
|
client/
|
|
app.C,h
|
|
lib/
|
|
app_ipc.C,h
|
|
|
|
David 27 June 2004
|
|
- Add a lock file mechanism to prevent two apps
|
|
from running in the same slot at the same time.
|
|
boinc_init() tries to lock the file;
|
|
if it fails, wait for 7 seconds to allow the old process to die
|
|
(the heartbeat timeout is 5 seconds) then try again.
|
|
If fail again, exit.
|
|
|
|
api/
|
|
boinc_api.C
|
|
client/
|
|
client_state.C
|
|
hostinfo_unix.C
|
|
lib/
|
|
app_ipc.h
|
|
|
|
Rom 27 June 2004
|
|
- Prevent the reuse of shared memory segments with ones that are already
|
|
in use on Windows.
|
|
|
|
client/
|
|
app.C
|
|
lib/
|
|
shmem.C
|
|
|
|
Rom 27 June 2004
|
|
- Introduce the notion of high priority queries for mysql queries and
|
|
implement them for the transitioner
|
|
|
|
db/
|
|
db_base.C, .h
|
|
sched/
|
|
transitioner.C
|
|
|
|
Karl 2004-06-28
|
|
- added configure-time option for building server+client or only client
|
|
|
|
configure.ac
|
|
Makefile.am
|
|
|
|
m4/
|
|
kc_mysql.m4
|
|
|
|
[regenerated: configure, aclocal.m4, */Makefile.in]
|
|
|
|
Daniel 29 June 2004
|
|
- Check user idle time only if preferences require.
|
|
Some users worried that we were sniffing the keyboard.
|
|
- get rid of the CLIENT_STATE::user_idle variable;
|
|
call the function directly
|
|
- on Windows, move logic from GUI code to non-GUI (hostinfo_win.cpp)
|
|
|
|
client/
|
|
client_state.C,h
|
|
cs_files.C
|
|
cs_prefs.C
|
|
hostinfo_unix.C
|
|
win/
|
|
hostinfo_win.cpp
|
|
wingui_mainwindow.cpp,h
|
|
lib/
|
|
hostinfo.h
|
|
|
|
David 29 June 2004
|
|
- fix window compile by moving DLL handle out of HOSTINFO class
|
|
|
|
client/
|
|
app.C
|
|
win/
|
|
hostinfo_win.cpp
|
|
wingui_mainwindow.cpp
|
|
lib/
|
|
hostinfo.h
|
|
|
|
Daniel 29 June 2004
|
|
- New client CPU scheduler, as specified in client_sched.php
|
|
- Fixed NULL pointer bug in create_shmem when calling with pp=NULL
|
|
(fixed by Dave)
|
|
|
|
client/
|
|
app.{C,h}
|
|
client_state.{C,h}
|
|
client_types.{C,h}
|
|
cs_apps.C
|
|
cs_prefs.C
|
|
cs_scheduler.C
|
|
cs_statefile.C
|
|
gui_titles.C
|
|
gui_titles.h
|
|
win/
|
|
wingui_mainwindow.cpp
|
|
lib/
|
|
shmem.C
|
|
|
|
Karl 2004-06-30
|
|
|
|
- updated 'about' dialog to remove "beta" and add UCB SSL copyright
|
|
|
|
client/
|
|
win/
|
|
boinc_gui.rc
|
|
|
|
- visual studio installer projects (create MSIs)
|
|
|
|
boinc_setup creates an MSI with dialogs and options (launch on bootup,
|
|
desktop icon, etc.). boinc_setup_auto creates an MSI that installs
|
|
immediately with no prompting, ideal for Windows group policy to apply
|
|
to many computers
|
|
|
|
win_build/
|
|
boinc_setup.vdproj
|
|
boinc_setup_auto.vdproj
|
|
|
|
David 30 June 2004
|
|
- PHP code: change parse_config() so that it doesn't
|
|
read the config file; you have to read it first into a variable
|
|
(using get_config()) and pass it in to parse_config()
|
|
This saves work when you want to look at several config params.
|
|
- db_init(): parse the DB hostname and use it in mysql_connect.
|
|
This lets you run the web site from a different host than DB
|
|
- disallow caching of top_* pages with random offsets
|
|
- change cache period of top_* pages to 12 hours
|
|
- fix bug in user name search (escape _, %)
|
|
|
|
html/
|
|
inc/
|
|
db.inc
|
|
db_ops.inc
|
|
util.inc
|
|
user/
|
|
create_account_action.php
|
|
create_account_form.php
|
|
profile_menu.php
|
|
sample_rss_main.php
|
|
top_hosts.php
|
|
top_teams.php
|
|
top_users.php
|
|
|
|
Eric K 30 June 2004
|
|
- Removed "using" directives from header files. "using"
|
|
directives should not be used in header files for the following reasons.
|
|
- A "using namespace" directive cannot be revoked for any source file
|
|
including the header. It forces the use of the namespace regardless of
|
|
the consequences.
|
|
- Dropping the namespace qualifier on STL templates ambiguates the
|
|
resolution of template functions. (How many C libraries or headers
|
|
have you seen that define the function min()?)
|
|
- Reducing typing is not a good reason to drop namespace qualifiers any
|
|
more than it would be a good idea to "#define p printf"
|
|
- Namespaces exist for a reason.
|
|
- It's acceptable to have "using" directive in a source file, since it
|
|
won't affect other files. It's better to have "using std::string;"
|
|
directives than "using namespace std;" for hopefully obvious reasons.
|
|
|
|
David 30 June 2004
|
|
- change feeder query to eliminate 'order by random'
|
|
and add a limit of 100.
|
|
- change db_dump to not get counts, since these are slow on InnoDB
|
|
|
|
sched/
|
|
db_dump.C
|
|
feeder.C
|
|
|
|
Daniel 30 June 2004
|
|
- Continuing Eric's vanquishing of "using" directives from header
|
|
files. Moved "using" directives from inside "#ifndef _WIN32"
|
|
blocks. Should compile under Windows now.
|
|
|
|
client/
|
|
client_msgs.C
|
|
win/
|
|
wingui_mainwindow.cpp
|
|
wingui_mainwindow.h
|
|
lib/
|
|
miofile.C
|
|
msg_log.C
|
|
parse.C
|
|
util.C
|
|
|
|
Daniel 30 June 2004
|
|
- Minor changes: changed scheduling period from 30 secs to 1 hour.
|
|
- Got rid of float.h in cs_apps.C.
|
|
|
|
client/
|
|
client_state.C
|
|
cs_apps.C
|
|
|
|
Brian 1 July 2004
|
|
- Continuing Eric and Danial's vanquicshing of "using" directives from
|
|
header files. Instances of string or vector in header files were changed
|
|
to std::string and std::vector respectively.
|
|
|
|
client/
|
|
gui_rpc_client.h
|
|
|
|
Rom 1 July 2004
|
|
- Introduce skeleton of new transitioner queue class that uses a specialized
|
|
query for its job. NOTE: I don't know if it will even compile, but need another
|
|
set of eyes looking over it as well.
|
|
|
|
db/
|
|
db_base.C, .h
|
|
boinc_db.C, .h
|