boinc/checkin_notes

12810 lines
371 KiB
Plaintext
Executable File
Raw Blame History

Rom 4 Jan 2006
- Branding update for GridRepublic
client/win/
boinc_cli.rc
boinc_cmd.rc
boinc_ss.rc
clientgui/
AccountInfoPage.cpp, .h
BOINCGUIApp.cpp, .h
WizardAccountManager.cpp
WizardAttachProject.cpp
resource.h
clientgui/res/
gridrepublic.ico
gridrepublic.xpm
gridrepublicamwizard.xpm (Added)
clientgui/res/
gridrepublic.ico
gridrepublicamwizard.bmp (Added)
win_build/installerv2/
GridRepublic.ism
win_build/installerv2/redist/GridRepublic/
GridRepublic.ico
GridRepublic.url
Rom 4 Jan 2006 (HEAD)
- Tag for 5.3.7 release, all platforms
boinc_core_release_5_3_7
David 4 Jan 2006
- replace safe_strncpy() with strlcpy() everywhere.
Same semantics, but the former is less efficient.
- simplified Bruce's recent fix to escape_string()
checkin_notes_2005 (new - Woo Hoo!)
api/
boinc_api.C
client/win/
hostinfo_win.cpp
db/
db_base.C
lib/
app_ipc.C
diagnostics.C
filesys.C
language.C
parse.C
util.C,h
sched/
handle_request.C
tools/
backend_lib.C
David 4 Jan 2006
- scheduler: scan_work_array(): if add_result_to_reply() fails, do NOT
reinsert the entry in the array by resetting the "present" flag.
We previously cleared this flag,
so the array entry may have been refilled by the feeder,
and it might be in the CHECKED_OUT state.
(from Paul Buck)
sched/
sched_array.C
Bruce 5 Jan 2006
- Fixed David's mistake in simplifying my fix to escape_string()!
db/
db_base.C
David 4 Jan 2006
- fixed inefficient unescape_string()
db/
db_base.C
Bruce 5 Jan 2006
- Fixed new unescape_string(): didn't null terminate string.
db/
db_base.C
Bruce 6 Jan 2006
- Nasty bug in API lib. See checkin_nodes_2004 December 22.
Functions meant to be used from within C should never be
declared bool!
Fix: change boinc_is_standalone() to return int not bool.
Note: some API functions still return bools, but since E@H
doesn't use them and I am afraid of doing damage, I have
left them alone.
api/
boinc_api.C
boinc_api.h
graphics_impl.h
graphics_impl_lib.C
Rom 6 Jan 2006
- Branding update for GridRepublic
clientgui/
AccountInfoPage.cpp
AccountManagerProcessingPage.cpp
AccountManagerPropertiesPage.cpp
BOINCGUIApp.cpp, .h
BOINCGUIApp.rc
CompletionPage.cpp, .h
MainFrame.cpp
resource.h
clientgui/res/
gridrepublic2.ico (Added)
win_build/installerv2/
GridRepublic.ism
win_build/installerv2/redist/GridRepublic/
acct_mgr_url.xml
GR_splash.bmp
Rom 6 Jan 2006 (HEAD)
- Tag for 5.3.8 release, all platforms
boinc_core_release_5_3_8
David 6 Jan 2006
- fix unitialized var
client/
net_stats.C
David 6 Jan 2006
- feeder: exit on database errors.
This is a workaround for a problem where the
feeder loses its DB connection after 10-20 hours of idleness.
With this change, the feeder will exit, and will be restarted by cron.
sched/
feeder.C
David 6 Jan 2006
- Tweak the account manager system to support "farm managers"
that use GUI RPC to control clients.
The farm manager needs the GUI RPC port and password of each client.
Add an optional <send_gui_rpc_info/> element to the
acct_mgr_url.xml file,
which causes the GUI RPC port and password to be included
in account manager RPC requests.
(From James Drews)
client/
acct_mgr.C,h
David 6 Jan 2006
- Change "bool" to "int" in the BOINC API.
C and C++ compilers differ in their allocation for bool,
making it difficult for C applications
(which must be compiled with particular compilers)
to use the BOINC API.
No such problem for int.
(from Bruce Allen)
api/
boinc_api.C,h
David 8 Jan 2006
- Account manager additions (from Willy de Zutter)
- Include <previous_host_cpid> in AM request.
This is the host CPID sent in the previous AM request.
It lets the AM track hosts even when their CPIDs change.
- Include <domain_name> in AM request
- AM replies can include <message> elements.
The contents are printed in the Messages tab.
- Print message that AM request has succeeded (or failed)
client/
acct_mgr.C,h
lib/
hostinfo.C
David 9 Jan 2006
- user web: show bbcode correctly for UOTD
html/user/
sample_index.php
Bruce 9 Jan 2006
- fix bug on page that shows profile for a given user. The total
number of posts made by a given user is not shown correctly.
The PHP code assumes that this number is given by user.posts. However
in html/inc/db_forum.inc, the value of user.posts is NOT
incremented each time a user makes a new post (either starting
a new thread or replying to an existing one). For the moment, my
the fix is to simply scan the database and count the number of posts by the
user, to give the right value on the profile page.
An alternative fix (which would be less DB intensive, overall)
is to (1) fix db_forum.inc so that it properly increments user.posts and
then (2) add an update_db.php script entry that correctly sets user.posts
by counting the number of posts for each user.
html/
inc/
user.inc
Rom 9 Jan 2006 (HEAD)
- Initial CPDN/BBC branded client
client/win/
boinc_cli.rc
boinc_cmd.rc
boinc_dll.rc
boinc_ss.rc
clientgui/
AccountInfoPage.cpp
BOINCBaseView.cpp, .h
BOINCGUIApp.cpp
BOINCGUIApp.rc
DlgAbout.cpp, .h
MainFrame.cpp
ViewMessages.cpp
ViewProjects.cpp
ViewResources.cpp
ViewStatistics.cpp
ViewTransfers.cpp
ViewWork.cpp, .h
win_build/
cpdnbbc.sln (added)
cpdnbbc_boinc_cli_curl.vcproj (added)
cpdnbbc_boinc_dll.vcproj (added)
cpdnbbc_boinc_ss.vcproj (added)
cpdnbbc_boinccmd.vcproj (added)
cpdnbbc_boincmgr_curl.vcproj (added)
win_build/installerv2/
CPDNBBC.ism (added)
win_build/installerv2/redist/CPDNBBC/
Climate Change Experiment.url (added)
project_init.xml
Rom 9 Jan 2006 (HEAD)
- Tag for 5.3.9 release, all platforms
boinc_core_release_5_3_9
Bruce 9 Jan 2006
- Fixes to BOINC zip library from Carl Christensen. Carl says:
"I found a problem with boinc_zip; it seems some Linux STL's
aren't very nice about classes that are inherited from their
objects on multiple use; or huge file lists that we use on CPDN.
So I rewrite it to just use "straight" std::string's in a vector.
It's fully backwardly compatible and seems to work fine."
zip/
boinc_zip.h
boinc_zip.cpp
David 9 Jan 2006
- changed upper_case so that the -cpu_time option
takes an arg: the # of CPU seconds to use.
apps/
upper_case.C
Charlie 10 Jan 2006
-Mac: Fix minor bugs in internal scripts in XCode 2.2 project. Changes to
BOINC Manager to accomodate Rom's changes for branding.
clientgui/
BOINCGUIApp.cpp
mac/
MacSysMenu.cpp, .h
mac_build/
boinc.xcodeproj/
project.pbxproj
David 10 Jan 2006
- core client: fix vector erase code in GUI RPC.
Thanks to Darrel Holz for finding this.
client/
gui_rpc_server.C
David 10 Jan 2006
- Add XML option for team lookup web interface
html/
inc/
xml.inc
user/
team_lookup.php
Bruce 11 Jan 2006
- Skip test for excessive CPU time, IF hostid has changed
because host has been cloned. If result is resent to
the 'new' host then this can make it appear that the
result was completed shortly after it was sent.
sched/
handle_request.C
Charlie 10 Jan 2006
-Mac: Get BrandID from file put inside application bundle by installer.
clientgui/
BOINCGUIApp.cpp
Bruce 11 Jan 2006
- Documentation: describe boinc_is_standalone() in documentation.
doc/
api.php
David 11 Jan 2006
- file upload handler: allow upload if offset if < size
(this can now happen, since the client skips size check
for files < 1 MB)
sched/
file_upload_handler.C
David 11 Jan 2006
- Core client: add a flow control mechanism for the case where
output files are generated faster than they can be uploaded
(otherwise we'll fill up the disk).
The mechanism: don't start new results for a project
that has > 2 uploads in progress.
Note: this actually happens with Cunning Plan
(5 MB output files, 60 sec CPU) over a DSL line
client/
client_types.h
cs_apps.C
David 11 Jan 2006
- core client: on file upload, always get file size (even if small file).
Before the file upload handler checkin earlier today,
this was actually a bug:
if a client had uploaded part of a small file and then failed,
it would never be able to upload the rest.
But it was probably a bad idea in the first place,
since 1 MB is a large file from the viewpoint of a modem user.
client/
file_xfer.C
Charlie 10 Jan 2006
-Mac: Mac System Menu uses menubar icon selected by
CBrandingScheme::OnInit() .
clientgui/
BOINCGUIApp.cpp
mac/
MacSysMenu.cpp
res/
gridrepublic_mac.xpm (new)
David 11 Jan 2006
- Core client: remove "unknown project" from message
where general prefs don't come from a known project.
They might come from an account manager.
(from Willy de Zutter)
client/
cs_prefs.C
Bruce 12 Jan 2006
- file_upload_handler: log a message when the client is starting an upload
from the wrong offset. This problem should gradually go away as users
update to more current clients.
sched/
file_upload_handler.C
David 12 Jan 2006
- Web RPC: fixed bug in am_set_info.php that caused password_hash
to not update.
(from Willy de Zutter)
html/user/
am_set_info.php
David 12 Jan 2006
- Initialize user/team/host.expavg_time with current time.
This avoids inaccurate initial values for RAC.
From Bruce Allen.
html/user
create_account.php
create_account_action.php
team_create_action.php
sched/
handle_request.C
Rom 13 Jan 2006 (HEAD)
- Tag for 5.3.10 release, all platforms
boinc_core_release_5_3_10
David 13 Jan 2006
- core client: handle HTTP "continue" status.
I don't understand what this is, but hopefully this fixes
some network problems.
(from Ian Hay).
client/
http_curl.h
net_xfer_curl.C
David 14 Jan 2006
- user web: forum fix (from Rob Ogilvie)
html/inc/
forum.inc
Janus 15 Jan 2006
- web: Fixed a special situation where the caching mechanism used on
(amongst others) the frontpage would always refresh from the serverside
cache regardless of whether the client had a fresh copy. (from Rob)
html/inc/
cache.inc
David 14 Jan 2006
- core client: If there's only one potentially runnable project,
ask it for work no matter how negative its debt
(from Glenn Dill)
client/
cs_scheduler.C
Rom 15 Jan 2006
- CPDB BBC update
clientgui/
AccountInfoPage.cpp, .h
BOINCBaseWizard.h
BOINCGUIApp.cpp, .h
CompletionPage.cpp
ProjectProcessingPage.cpp
ProjectPropertiesPage.cpp
WizardAttachProject.cpp, .h
Rom 15 Jan 2006 (HEAD)
- Tag for 5.3.11 release, all platforms
boinc_core_release_5_3_11
David 15 Jan 2006
- core client: add "-daemon" option (uses daemon() system call
to detach from controlling terminal)
From Jan Gall
client/
cs_cmdline.C
main.C
David 15 Jan 2006
- GUI RPC: added optional <scheduler_rpc_in_progress/> element
to <project> elements in GUI RPC replies
client/
client_state.h
client_types.C
scheduler_op.h
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
David 15 Jan 2006
- user web: moved eah_server_status.php and sample_server_status.php
from user/ to ops/.
These pages have queries that are too slow for
big projects like SETI@home.
html/
ops/
eah_server_status.php (new)
sample_server_status.php (new)
user/
eah_server_status.php (removed)
sample_server_status.php (removed)
server_status.php (removed)
David 15 Jan 2006
- user web: add optional team_id argument to team_lookup.php
(returns XML description of a particular team)
html/
user/
team_lookup.php
David 15 Jan 2006
- compile fixes for gcc4.0
client/
gui_rpc_server.C
lib/
network.C
Bruce 16 Jan 2006
- ops page: add external IP to data shown for host
- user host info page: when giving IP data, show both private
AND external IP (only for owner of host machine).
- user web pages: if can't delete host because there are still
results, give clearer error message and link to list of results.
- user web pages: in list of hosts, add link to show results
if project is configured to show results.
html/
inc/
db_ops.inc
host.inc
user/
host_delete.php
David 16 Jan 2006
- compile fix for Win
client/
gui_rpc_server.C
David 16 Jan 2006
- Call get_host_info() (not just get_filesystem_info())
before each scheduler RPC (from Bruce Allen)
client/
cs_scheduler.C
David 16 Jan 2006
- add <hostid> element to account manager RPC request.
client/
acct_mgr.C
David 16 Jan 2006
- core client: enhancements to duration correction factor (DCF):
- on project reset, set DCF to one.
- when do CPU benchmarks, scale all DCFs by new/old benchmark
(from Josef Segur)
client/
client_state.C,h
cs_benchmark.C
cs_scheduler.C
Rom 17 Jan 2006 (HEAD)
- Tag for 5.3.12 release, all platforms
boinc_core_release_5_3_12
David 17 Jan 2006
- user web: add Mauritius to country list
html/inc/
countries.inc
David 17 Jan 2006
- Core client error messages:
- "task" instead of "result"
- Don't include function names in messages
- Don't end with \n
- Removed files superceded by curl
client/
*.C
http.C,h (removed)
net_xfer.C,h (removed)
ssl_http.C,h (removed)
ssl_net_xfer.C,h (removed)
David 18 Jan 2006
- GUI RPC client lib: add PROJECT::copy() function
(copies data, doesn't change vectors)
client/
file_xfer.C,h
pers_file_xfer.h
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
sched/
handle_request.C
David 18 Jan 2006
- If a download isn't complete and gained less than 5 KB,
truncate back to the original starting size.
This addresses a bug where some proxies append
error messages on download failures
(reported by Rattledagger)
client/
file_xfer.C
lib/
error_numbers.h
filesys.C,h
util.C
David 18 Jan 2006
- implement boinc_truncate() for Windows
lib/
filesys.C
David 18 Jan 2006
- remove #define bool char stuff,
and change a couple of functions to return int instead of bool.
Rule: if any function is potentially callable
from an ANSI C application, don't use bool in its interface,
since there's inconsistency in the size of bool
between C and C++ compilers
api/
graphics_api.h
lib/
filesys.C,h
David 18 Jan 2006
- added HTTP error codes to boincerror(),
since these are sometimes used as return values.
client/
http_curl.h
pers_file_xfer.C
lib/
util.C
Rom 19 Jan 2006
- CPDNBBC Update
clientgui/
BOINCGUIApp.cpp, .h
CompletionPage.cpp
MainFrame.cpp
win_build/installerv2/redist/CPDNBBC
CPDNBBC_splash.bmp
David 19 Jan 2006
- feeder/scheduler: try to fix bug where shmem array slots
get stuck in "CHECKED_OUT" state.
Get rid of this state.
Instead, use the PID of the scheduler process that
has it checked out (as we're already doing for "reserved" slots)
and let the feeder clean up slots checked out by dead processes.
- several of the DB enumerate() function were returning
1 or -1 (rather than ERR_DB_NOT_FOUND) when no results.
Bad!!! Some programs, including the feeder,
treat values other than 0 and ERR_DB_NOT FOUND as fatal DB errors.
db/
boinc_db.C
sched/
feeder.C
sched_array.C
sched_shmem.C,h
show_shmem.C
David 19 Jan 2006
- RSS items should refer to a page that has all news items,
not just old ones
- Make news item indices permanent
html/
inc/
news.inc
user/
all_news.php (new)
sample_rss_main.php
David 20 Jan 2006
- tweak to partial download fix:
only truncate file if got >0 new bytes
client/
file_xfer.C
David 20 Jan 2006
- suppress "Expect: 100 continue" in HTTP header.
Apparently this causes problems with some proxies
(from Ian Hay)
client/
http_curl.C
Charlie 20 Jan 2006
-Mac: Changes for Grid Republic: remove BOINCManager from Dock;
different plist file for GR; new application icon for GR;
screensaver changes for GR.
Remove obsolete files from XCode project (net_xfer.C,h, http.C,h,
proxy.C,h)
Update release script to allow development test builds.
Update installer for Grid Republic.
client/
mac/
GridRepublic.icns (new)
SetVersion.C
clientgui/
mac/
mac_saver_module.cpp
mac_build/
Info.plist
GR_Info.plist (new)
boinc.xcodeproj/
project.pbxproj
mac_installer/
release_boinc.sh
Postinstall.cpp
David 20 Jan 2006
- core client: if we change host CPID and we're using an account manager,
do scheduler RPCs to all projects,
so that the account manager gets a consistent view when
it gets host data from the project servers
client/
client_state.h
cs_scheduler.C
David 20 Jan 2006
- Manager: improvements to Statistics tab
(from mifistor_x)
clientgui/
Events.h
ViewStatistics.C,h
Charlie 21 Jan 2006
-Mac: Changes for Grid Republic: manager determines branding before
launching client; create new release script for GR; GR screen saver
displays GR icon in system preferences dialog; data directory is
"GridRepublic Data" if a GR install; installing BOINC over an
existing GR installation or GR over existing BOINC installation
renames data directory and performs other necessary tasks to ensure
continued processing of existing work. (But user's screensaver
selection is not changed automatically.)
clientgui/
BOINCGUIApp.cpp - Set up branding before launching boinc client.
mac/
mac_saver_module.cpp
gridrepublic.tiff
SetVersion.C
mac_installer/
release_boinc.sh
PostInstall.cpp
postinstall
postupgrade
preinstall (new)
preupgrade (new)
release_GridRepublic.sh (new)
GR-preinstall (new)
GR-preupgrade (new)
GR-Description.plist (new)
GR-Branding (new)
GR-ReadMe.rtf (new)
mac_build/
GR-InfoPlist.strings (new)
GR-ScreenSaver-Info.plist (new)
boinc.xcodeproj/
project.pbxproj
Bruce 22 Jan 2006
- update_stats program. Fix 'bug of omission' where member counts
of teams are calculated but were not written back into the database.
Also, change algorithm so that for hosts/teams/users, when the RAC
(Recent Average Credit) values have decayed to exactly 0.0 (double
precision) then neither expavg_credit nor expavg_time are updated.
In this way, by looking at the value of expavg_time, you can see
exactly WHEN the RAC decayed to zero. This effectively indicates
the 'drop-out-date' for the host/team/user.
sched/
update_stats.C
Rom 23 Jan 2006
- On Windows use the System Event Notification Service to determine
network connectivity instead of using InternetGetConnectedState
since it was proving to be unreliable.
NOTE: This is a big change on Windows. SENS uses COM as it's
communication infrastructure and so therefore boinc.dll now has
to be regsvr32'ed before network notification messages will be
sent to the client. If, for whatever reason SENS isn't working
we'll fall back to InternetGetConnectedState.
client/
main.C
client/win/
hostinfo_win.cpp
clientgui/
AccountManagerPropertiesPage.cpp
BOINCGUIApp.cpp, .h
MainFrame.cpp
ProjectPropertiesPage.cpp
clientlib/win/
boinc_dll.cpp, .h (Added)
BOINCSENSSink.cpp, .h (Added)
Identification.cpp, .h (Added)
IdleTracker.cpp, .h (Added)
NetworkTracker.cpp, .h (Added)
resource.h (Added)
SENSLogonSubscriptions.h (Added)
SENSNetworkSubscriptions.h (Added)
SENSOnNowSubscriptions.h (Added)
SENSSubscriptions.h (Added)
stdafx.cpp, .h (Added)
lib/
network.C, .h
win_build/
boinc_dll.vcproj
Rom 23 Jan 2006
- Add an File/Exit warning for CPDNBBC so that the users know they will
be stopping any executing tasks.
- Update the Project and Work views changing 'work' to 'tasks'
clientgui/
BOINCGUI.pjd
BOINCGUIApp.cpp, .h
DlgGenericMessage.cpp, .h (Added)
MainFrame.cpp, .h
Makefile.am
ViewProjects.cpp
ViewWork.cpp
Charlie 23 Jan 2006
-Mac: Improve GridRepublic release script so it uses sed commands
to convert standard BOINC plist, preinstall and preupgrade files
for Grid Republic; standard BOINC release script creates preupgrade
script by copying preinstall script; these changes eliminate the
need for seven files I checked in earlier.
Also generalize Grid Republic release script so it can easily be
modified for other brands by changing a few variable definitions.
Changed name of GR Manager to "GridRepublic Manager" from just
"GridRepublic."
Restore my change of 1/21/06 which was lost: manager determines
branding before launching client.
Remove mac_build/Installer-info.plist and replace with
mac_build/Installer-info.plist (CVS is case-sensitive).
clientgui/
BOINCGUIApp.cpp
mac/
SetVersion.C
mac_build/
GR_Info.plist (Remove)
GR-InfoPlist.strings (Remove)
GR-ScreenSaver-Info.plist (Remove)
Installer-info.plist (Remove)
Installer-info.plist (Add)
boinc.xcodeproj/
project.pbxproj
mac_installer/
GR-ReadMe.rtf
PostInstall.cpp
preinstall
release_boinc.sh
release_GridRepublic.sh
preupgrade (Remove)
GR-Description.plist (Remove)
GR-preinstall (Remove)
GR-preupgrade (Remove)
David 23 Jan 2006
- Core client: D'oh! When change host CPID,
need to notify ALL projects, even the one we just contacted.
client/
client_state.h
cs_scheduler.C
Charlie 23 Jan 2006
-Mac: Add new files DlgGenericMessage.cpp, .h to XCode project .
mac_build/
boinc.xcodeproj/
project.pbxproj
Rom 24 Jan 2006
- String and graphics changes for CPDNBBC.
- Add email address validation to the wizards.
clientgui/
AccountInfoPage.cpp
BOINCGUIApp.cpp
BOINCGUIApp.rc
ValidateEmailAddress.cpp, .h (Added)
Rom 24 Jan 2006 (HEAD)
- Tag for 5.3.14 release, all platforms
boinc_core_release_5_3_14
Rom 24 Jan 2006
- Bug Fix: Remove the last line of the function that handles the
launching of the wizards on first execution which was causing
the manager to switch over to the messages tab no matter if the
wizard completed successfully or not.
clientgui/
MainFrame.cpp
David 24 Jan 2006
- core client: move code that deals with generating new host CPID
to the end of handle_scheduler_reply(),
after the part that clears sched_rpc_pending and sets min_rpc_time,
since if we generate a new host CPID
we're going to modify these (to request another RPC).
Also: in this case request an immediate scheduler RPC to all projects
whether or not we're using an account manager.
- core client: if detach from account manager,
clear "attached_via_acct_mgr" flag on all projects
- database: change type of xml field in msg_to_host and msg_from_host
from text (64KB limit)
to medium_text (16MB limit, but use at most 256KB)
- scheduler: don't print trickle message contents (swamps logfile)
(the latter two from Carl Christensen)
client/
acct_mgr.C
cs_scheduler.C
clientgui/
Events.h
db/
boinc_db.h
schema.sql
sched/
handle_request.C
David 24 Jan 2006
- core client: statefile read fails if don't find </client_state>
client/
cs_statefile.C
Charlie 24 Jan 2006
-Mac: Add new files ValidateEmailAddress.cpp, .h to XCode project.
Change conditional compile #ifdef __ppc__ in mac_backtrace.C
so library links properly for Intel Macs (but backtrace is disabled).
Fix compile error by excluding CPDNBBC client code from Mac builds.
Remove obsolete XCode project; update build script to use new project.
Set plaform correctly for powerpc-apple-darwin and i686-apple-darwin.
clientgui/
BOINCGUIApp.cpp
mac/
config.h
lib/
mac_backtrace.C
mac_build/
BuildMacBOINC.sh
boinc.xcodeproj/
project.pbxproj
boinc.pbproj/
project.pbxproj (Remove)
config.h
Rom 24 Jan 2006
- Bug Fix: Fix a blocking compilation issue on the Mac with the new
email validation class.
clientgui/
ValidateEmailAddress.cpp
David 24 Jan 2006
- new FORTRAN-callable function boinc_zip_()
(from Juan Perez)
api/
boinc_api_fortran.C
Rom 25 Jan 2006
- Bug Fix: Fix the wizard so that it can display customized graphics
on the welcome page.
- Bug Fix: Display the minimum password length in the wizard.
- Bug Fix: Add two new pages for dealing with account manager updates
and removal from account managers. Text needs some work though.
clientgui/
AccountInfoPage.cpp, .h
AccountManagerProcessingPage.cpp
AccountManagerStatusPage.cpp
BOINCBaseWizard.cpp, .h
BOINCGUIApp.cpp
BOINCWizards.h
CompletionErrorPage.cpp
CompletionPage.cpp
CompletionRemovePage.cpp, .h (Added)
CompletionUpdatePage.cpp, .h (Added)
NotDetectedPage.cpp
ProxyPage.cpp
UnavailablePage.cpp
WelcomePage.cpp
WizardAccountManager.cpp, .h
WizardAttachProject.cpp
wizardex.cpp
David 25 Jan 2006
- core client: add declarations of free_mem() functions
(but still comment them out)
client/
app.h
client_state.h
html/user/
am_seti_info.php
lib/
util.C
David 25 Jan 2006
- add "added_via_acct_mgr" flag to GUI RPC PROJECT structure
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
David 25 Jan 2006
- core client: added "Deferring scheduler requests for X" messages
client/
cs_scheduler.C
David 25 Jan 2006
- account manager RPC request now lists all projects;
<attached_via_acct_mgr/> is included for those attached via AMS
client/
acct_mgr.C
David 25 Jan 2006
- Initialize result.batch to workunit.batch
This required adding a batch field to TRANSITIONER_ITEM.
(for Rosetta@home)
Note: if you're using the batch field for anything,
you should add indices on it to workunit and/or result
db/
boinc_db.C,h
tools/
backend_lib.C
David 26 Jan 2006
- core client: always use HTTP 1.1
(from Carl Christensen)
client/
http_curl.C
Rom 26 Jan 2006
- Bug Fix: Overhaul the wizard control creation process. The RAD tool
we used broke the process into two parts and arranged things where
the bulk of the control creation and text assignment happened
during dialog contruction. This causes problems since not all of
the relevant data is available at dialog construction, such as
account manager name or project name.
The new scheme creates all the controls during dialog creation and
sets the associated text to null. When the OnPageChanged event is
fired we'll go and make all the necessary changes to the control text
as well as hide and show the correct controls.
clientgui/
<All wizard related files>
Rom 27 Jan 2006
- Bug Fix: The screensaver should properly detect the shortcut for all
branded clients.
client/win/
boinc_ss.h
boinc_ss.rc
win_screensaver.cpp, .h
Rom 27 Jan 2006 (HEAD)
- Tag for 5.3.15 release, all platforms
boinc_core_release_5_3_15
David 27 Jan 2006
- server build fix for Mac OS X 10.3
(from Derek Wright)
m4/
kc_mysql.m4
David 27 Jan 2006
- Manager:
"Website" is still not a word.
Don't use exclamation points.
clientgui/
AccountInfoPage.cpp
AccountManagerPropertiesPage.cpp
CompletionRemovePage.cpp
CompletionUpdatePage.cpp
David 27 Jan 2006
- core client: fix calculation of STD/LTD
client/
cs_apps.C
David 27 Jan 2006
- core client: various scheduler fixes
(from John McLeod)
client/
client_state.C,h
client_types.C,h
cs_prefs.C
cs_scheduler.C
cs_statefile.C
David 27 Jan 2006
- core client: initial checkin of new CPU scheduling code
(in a very incomplete state).
To enable it, define NEW_CPU_SCHED in a couple of .h files
api/
boinc_api_fortran.C
client/
client_state.C,h
client_types.C,h
cs_apps.C
cs_scheduler.C
Reinhard 30 Jan 2006
- improved _autosetup:
* make version-checks more robust if '--version' is not supported
* removed libtool-check: libtool is shipped with boinc, this check therefore pointless
./autosetup
Charlie 30 Jan 2006
-Mac: XCode project fixes: path to Mac_GUI.cpp; remove GR_Info.plist, add
source files CompletionRemovePage.cpp,.h, CompletionUpdatePage.cpp,.h.
mac_build/
boinc.xcodeproj/
project.pbxproj
Reinhard 30 Jan 2006
- updated boincmgr build for MacOSX:
* added Mac_GUI.cpp, MacGUI.pch and Security.Framework
clientgui/
Makefile.am
MainFrame.cpp
Reinhard 30 Jan 2006
- applied Derek Wright's patch to get --enable-release-client working on MacOS10.4
(this simply adds a check for '-lSystemStubs') [can't test this myself on 10.4 right now]
./configure.ac
David 30 Jan 2006
- updates to new scheduler code (commented out)
client
client_state.h
client_types.h
cs_apps.C
David 30 Jan 2006
- back out scheduler changes of 27 Jan.
They caused write of statefile in infinite loop in some cases
client/
client_state.C,h
client_types.C,h
cs_apps.C
cs_prefs.C
cs_scheduler.C
cs_statefile.C
Rom 30 Jan 2006
- Change the scheme used to select the default item when no other
items are selected within a single selection list control.
clientgui/
BOINCBaseView.cpp
BOINCListCtrl.cpp
David 30 Jan 2006
- fixes for LTD calculation (from James Drews)
client/
client_types.C,h
cs_apps.C
Rom 30 Jan 2006 (HEAD)
- Tag for 5.3.16 release, all platforms
boinc_core_release_5_3_16
Charlie 30 Jan 2006
-Mac: Undo change of 1/20/06 to Info.plist: restore manager to Dock because
use of NSUIElement also eliminated menu bar.
(Tagged new Info.plist for boinc_core_release_5_3_16.)
mac_build/
Info.plist
Charlie 31 Jan 2006
-Mac: Remove redundant second link with libwx_mac.a.
Fix buildWxMac.sh script to fix wxRegEx problems.
Fix bug so a new default item is selected when the old selected item
is deleted within a single selection list control.
Update release scripts for separate ppc_Deployment build directory.
(Tagged changed files for boinc_core_release_5_3_16.)
clientgui/
BOINCBaseView.cpp
mac_build/
buildWxMac.sh
boinc.xcodeproj/
project.pbxproj
mac_installer/
release_boinc.sh
release_GridRepublic.sh
Rom 31 Jan 2006
- Bug Fix: If the wizard is configured for usernames, do not use the email
address validator on the account info page.
clientgui/
AccountInfoPage.cpp
David 31 Jan 2006
- Back out changes to LTD calculation
client/
client_types.C,h
cs_apps.C
David 31 Jan 2006
- add "table stats" web page
(from Carl Christensen)
html/
inc/
util.inc
ops/
sample_table_stats.php
David 31 Jan 2006
- user web: remove "pending credit" link from user page
html/inc/
user.inc
Bruce 31 Jan 2006
- user web: modify David's change just above. Make 'pending
credit link display only if 'show_results' enabled in
project config.xml file.
html/
inc/
user.inc
David 31 Jan 2005
- core client: finish logic for recovering from state file write failures.
For some reason I'd done the write part but not the read part.
write:
1) write "next"
2) rename "current" to "prev"
3) rename "next" to "current"
read:
if "next" is valid, use it
(in case failure between 1 and 2)
In principle we should rename "next" to "current" here,
but I didn't bother doing this.
else if "current" is valid use it
(normal case)
else if "prev" is valid use it
(in case 3) failed and file got deleted)
"is valid" means that the file has a <state_file> tag,
followed later by a </state_file> tag
client/
cs_statefile.C
Charlie 1 Feb 2006
-Mac: Changes for Intel Macs.
clientgui/
MainFrame.cpp
mac/
MacGUI.pch
res/
mess.xpm
proj.xpm
result.xpm
usage.xpm
xfer.xpm
mac_build/
boinc.xcodeproj/
project.pbxproj
Rom 1 Feb 2006
- Bug Fix: The account manager wizard wasn't actually calling the
get_project_config routine and so various account manager
specific settings were not being picked up.
- Bug Fix: Include the account manager name in the wizard
communication dialogs if we have it.
- Bug Fix: Account manager errors were no longer being bubbled
up to the manager. The manager was declaring everything a
success and displaying the success page.
- Bug Fix: Add 'Account not Found' to the account manager wizard.
- Bug Fix: Don't attempt an account manager rpc until after a
proper username and password have been specified. Various
attributes in the acct_mgr_url.xml were being nulled out
since the handle_reply function wasn't properly detecting the
account not found condition, or any condition where only an
error number was returned.
- Bug Fix: Keep the tab graphics consistant across all the
platforms.
client/
acct_mgr.C
cs_scheduler.C
clientgui/
AccountInfoPage.cpp, .h
AccountManagerProcessingPage.cpp, .h
AccountManagerPropertiesPage.cpp, .h
BOINCGUIApp.cpp, .h
MainFrame.cpp
ProjectProcessingPage.cpp
WizardAccountManager.cpp, .h
clientgui/res/
mess.xpm
proj.xpm
result.xpm
usage.xpm
xfer.xpm
lib/
util.C
David 1 Feb 2006
- added web RPC for creating teams
- on team creation (whether via RPC or web interface)
make sure the country name and team type or legitimate
html/
inc/
countries.inc
team.inc
team_types.inc (new)
user/
create_team.php (new)
team_create_action.php
David 1 Feb 2006
- Core client: there's a feature where certain GUI RPCs
enable network communication (if it would otherwise be disabled)
for 5 minutes or so.
This set of RPCs was too large.
Restrict it to things like attach/update project etc.,
for which network communication is clearly required.
- core client: parse <want_network> elements in status messages from apps.
I had forgotten to do this.
This should finally allow F@h to work with modem users.
client/
app.h
app_control.C
gui_rpc_server_ops.C
Rom 2 Feb 2006
- Bug Fix: Always use the ai.email_addr field for the user identifier for
both the create_account and lookup_account RPCs. ai.user_name is only
used to prepopulate the post account creation setup form.
client/
acct_setup.h
clientgui/
ProjectProcessingPage.cpp
lib/
gui_rpc_client.h
Rom 2 Feb 2006
- Setup new menu layout
clientgui/
BOINCGUIApp.cpp
Events.h
MainFrame.cpp, .h
WizardAccountManager.cpp, .h
Charlie 2 Feb 2006
-Mac: Changes for Universal Binaries.
mac_build/
boinc.xcodeproj/
project.pbxproj
buildcurl.sh
buildjpeg.sh
BuildMacBOINC.sh
mac_installer/
release_boinc.sh
release_GridRepublic.sh
Rom 2 Feb 2006
- Update GridRepublic Icons
- Add aditional menu item for the task tray when managed via an account
manager.
clientgui/
BOINCGUIApp.cpp
BOINCGUIApp.rc
BOINCTaskBar.cpp, .h
Events.h
clientgui/res/
gridrepublic16.xpm (Added)
gridrepublic32.xpm (Added)
gridrepublic.ico
Rom 2 Feb 2006 (HEAD)
- Tag for 5.3.17 release, all platforms
boinc_core_release_5_3_17
David 2 Feb 2006
- web RPC: bug fix
html/user
am_set_info.php
David 2 Feb 2006
- core client: small logic error in statefile read
(for "prev", use is_valid_statefile() instead
of boinc_file_exists())
client/
cs_statefile.C
David 2 Feb 2005
- core client: correctly update long-term debt when a project
finishes its last result and becomes no longer "potentially runnable".
From James Drews.
client/
cs_apps.C
David 2 Feb 2005
- core client: long-term debt is modified only over
potentially runnable projects,
but it's averaged and normalized over all projects.
client/
cs_apps.C
David 3 Feb 2005
- Allow apps to do cleanup when they're aborted.
- Add abort_request to BOINC_STATUS structure
- API library: handle <abort/> message
- Change boinc_get_status() arg from reference
to pointer (for easier FORTRAN interface).
This is an API change, but I think only CPDN uses this.
- ACTIVE_TASK_SET::poll():
Check for processes that are ABORT_PENDING
for more than 5 seconds, and kill them
From Carl Christensen, somewhat modified.
I changed the way tasks are aborted.
The core client can't sleep; that locks up the UI.
So we can't sleep 5 seconds waiting for an app to exit
after sending it an <abort/> message
(existing apps don't recognize this message).
Instead, send it the <abort/> message,
set its state to PROCESS_ABORT_PENDING,
and check it from the polling loop 5 seconds later.
api/
boinc_api.C,h
client/
app.C,h
app_control.C
David 6 Feb 2005
- compile warning fixes
client/
cs_statefile.C
gui_rpc_server_ops.C
Rom 6 Feb 2006
- Bug Fix: when running as a Windows Service we should use
suspend_task/resume_task and suspend_network/resume_network
instead of setting the activity states.
client/
client_state.h
main.C
David 6 Feb 2005
- Core client: when we switched to Curl, we lost the code
that sets gstate.want_network_flag when name resolution fails.
I restored this to the Curl code.
- The above is a kludge for detecting lack of physical connection.
But name resolution can fail for reasons other than lack of
physical connection; e.g. hostname might be bad.
So if get name resolution failure,
try to contact a reference web site,
and only if that also fails set want_network_flag.
client/
acct_setup.C
client_state.C,h
net_xfer_curl.C
Charlie 6 Feb 2006
-Mac: Changes for Universal Binaries: when running on an Intel Mac,
read mach header of project application to determine if it has
Intel native executable or only PowerPC executable. If emulating
PowerPC on an Intel Mac, treat the application as not supporting
graphics. This works around a crash bug when displaying graphics
under PPC emulation.
Fix multiple compiler warnings and one error.
api/
gutil.C
mac_icon.C
client/
app.h
app_graphics.C
app_start.C
clientgui/
BOINCBaseView.cpp
BOINCGUIApp.cpp
ViewStatistics.cpp
lib/
mac_backtrace.C
shmem.C
mac_build/
boinc.xcodeproj/
project.pbxproj
mac_installer/
LoginItemAPI.c
David 6 Feb 2006
- Slight refinement to next-earlier checkin.
Set want_network_flag only if the request to the reference network site
results in a CURLE_COULDNT_RESOLVE_HOST Curl error code.
client/
acct_setup.C,h
gui_http.C,h
David 6 Feb 2006
- try to get rid of gcc4 warnings about virtual destructors
- project creation bug fix (from Andre Kerstens)
api/
graphics_data.h
client/
client_msgs.h
lib/
msg_log.h
py/Boinc
setup_projects.py
Charlie 7 Feb 2006
-Mac: Adjust XCode project for David's warnings fix. We now build on Mac
with no warnings!
mac_build/
boinc.xcodeproj/
project.pbxproj
David 7 Feb 2006
- Core client: check for a file "global_prefs_override.xml"
that overrides the global prefs obtained from server.
This lets people manually tweak prefs on a given host,
or develop add-on programs that do so.
- Remove programs that tested old HTTP code
client/
client_state.C,h
test_file_xfer.C (removed)
test_http.C (removed)
test_net_xfer.C (removed)
lib/
prefs.C,h
David 7 Feb 2006
- Add GUI RPC for rereading global prefs override file
client/
client_state.C,h
gui_rpc_server_ops.C
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
David 7 Feb 2006
- remove the "new CPU scheduler" code I added a couple weeks ago (sigh)
client/
client_state.h
client_types.h
cs_apps.C
cs_scheduler.C
David 7 Feb 2006
- Unravel the CPU scheduler code a little:
- split set_scheduler_modes() into two functions,
set_scheduler_mode() and set_work_fetch_mode().
- make a separate function, enforce_schedule(),
that does the actual starting and stopping of processes
client/
client_state.h
cs_apps.C
cs_scheduler.C
Bruce 7 Feb 2006
- Added a script (originally provided by DA, I think) to
send mass email to project participants. The script allows
one to select the TYPE of user, including 'all', 'active',
'lapsed', 'unsuccessful' and so on. Also appends a 'how to opt
out' message at the end. Do NOT use this script without testing it.
html/
ops/
mass_email.php
index.php
David 7 Feb 2006
- Manager: change "Tasks" to "Commands".
We're using "Tasks" to mean work now.
clientgui/
View*.cpp
Charlie 8 Feb 2006
-Mac: Enhance BOINC command-line build script with new options
to build only the 3 BOINC libraries (libboinc, gfxlibboinc and
api_libboinc), only 2 targets (boinc client and boinc_cmd), or
a combination of these two (5 targets). The default is still
Build_all, which also builds the BOINC Manager.
mac_build/
BuildMacBOINC.sh
David 8 Feb 2006
- Move CPU scheduling code to a new file, cpu_sched.C
- PHP: use $_POST, not $HTTP_POST_VARS
client/
Makefile.am
client_state.h
cpu_sched.C
cs_apps.C
cs_scheduler.C
html/user/
create_account_action.php
win_build/
boinc_cli_curl.vcproj
Rom 8 Feb 2006 (HEAD)
- Tag for 5.3.18 release, all platforms
boinc_core_release_5_3_18
David 8 Feb 2006
- Change the way the manager learns about the core client's network status.
Replace the <network_query> GUI RPC with a new one, <network_status>
It returns:
0 if currently have network connections
1 if need a physical connection
2 if don't have connections, and don't need any
client/
acct_setup.C
client_state.C,h
gui_rpc_server_ops.C
net_xfer_curl.C
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
Bruce 9 Feb 2006
- Ops page bug fix from Carl Christensen for manage special users page.
html/
ops/
manage_special_users.php
Rom 9 Feb 2006
- Integrate BOINC Manager into David's last API change.
- Breakout the dial up functionality into its own class.
- Increase the refresh rate of the list view to 1 second.
- Terminology change in the project tab. credit = work done.
clientgui/
BOINCDialupManager.cpp, .h (Added)
MainFrame.cpp, .h
ViewProjects.cpp
Charlie 8 Feb 2006
- Mac: Add backtrace capability for Intel-based Macs. Add new
sources BOINCDialupManager.cpp, .h, cpu_sched.C to project.
Fix a link error with SETI@home.
api/
graphics_data.h
lib/
MoreAddrToSym.c,h (Added)
mac_backtrace.C,h
MoreBacktrace.c,h (Added)
mac_build/
boinc.xcodeproj/
project.pbxproj
David 10 Feb 2005
- cosmetic
client/
client_msgs.h
client_types.h
cpu_sched.C
cs_scheduler.C
Charlie 10 Feb 2006
- Mac: Free memory allocated for strings when longer needed.
lib/
mac_backtrace.C
David 11 Feb 2006
- user web: add links to combined stats sites from user page;
reorganize user page.
- user web: enable pending credit page as long as
config file has <show_result/>
html/
inc/
stats_sites.inc (new)
user.inc
user/
pending.php
David 11 Feb 2006
- web tweaks
html/inc/
user.inc
Rom 13 Feb 2006
- Fix dialup functionality
- Numerious fixes for CPDN
- Enable dialup on platforms other than Windows.
clientgui/
BOINCDialupManager.cpp, .h
DlgDialupCredentials.h
DlgOptions.cpp, .h
DlgSelectComputer.h
MainFrame.cpp, .h
Rom 13 Feb 2006 (HEAD)
- Tag for 5.3.19 release, all platforms
boinc_core_release_5_3_19
Rom 13 Feb 2006
- Bug Fix: Fix a possible invalid pointer issue with the taskbar
notifications.
clientgui/
BOINCTaskBar.cpp
David 13 Feb 2006
- core client: changes to the way we check
for presence of network connection.
Don't check for DNS failures,
since these won't show up for ~24 hours in some cases.
Instead, if we get any HTTP failure,
try an HTTP op to a high-availability URL,
and if that fails assume it's because of lack of network.
NOTE: this checkin prints lots of messages for debugging
client/
acct_setup.C,h
client_state.C
net_xfer_curl.C
David 13 Feb 2006
- make test_uc.py work again
test/
testbase.py
Rom 13 Feb 2006
- Bug Fix: Fix a few issues that were introduced with the new dial up
manager functionality. Variables that were once seperate are now
mutually exclusive and so two conditions would never have fired
when traversing the state machine.
clientgui/
BOINCDialupManager.cpp
David 14 Feb 2006
- fix bug that broke account manager attach
- removed 2nd arg (CurlError) from handle_reply functions.
We were using this to check for DNS failure,
but we're not doing this anymore.
client/
acct_setup.C,h
gui_http.C,h
David 14 Feb 2006
- core client: on Windows, use commit mode ("wc") for state file
(from Walt Gribben)
client
cs_statefile.C
Rom 14 Feb 2006
- Bug Fix: After any of the wizards have been executed, recreate the
menus.
- Bug Fix: Call Fit() before setting focus to any of the controls.
Fit() messes up the input focus even though the control still
seems like it is selected and has focus.
- Bug Fix: Disable the detach button when the project is managed
via an account manager. This only affects the project tab.
- Feature Change: Trim down the number of menu items in the taskbar
context menu by making the suspend activities and suspend
network acivities menu checkbox items. When the items are checked
they are suspended, and when they are unchecked they are set to be
based on preferences.
clientgui/
AccountInfoPage.cpp
AccountKeyPage.cpp
BOINCTaskBar.cpp
MainFrame.cpp
ProjectInfoPage.cpp
ProxyPage.cpp
ViewProjects.cpp
David 14 Feb 2006
- user web: on "Statistics" page, remove the XML mumbo-jumbo.
Show a list of all current stats sites,
and sites that provide signature images.
The central repository for these lists is html/inc/stats_sites.inc
html/
doc/
stats_sites.dat (removed)
inc/
stats_sites.inc
user.inc
user/
stats.php
David 14 Feb 2006
- Manager: rename menu item from "Update now"
to "Synchronize with [name of account manager]".
Fixed some spelling/grammar.
clientgui/
MainFrame.cpp
Rom 14 Feb 2006
- Spec Change: Transfers should be 0% until data is actually transfered.
- Spec Change: Warn a user that aborting a file transfer will invalidate
a task and report an error.
- Add some comments around the Update Now menu item so the localizers
know what information is expected and make the string contruction
the same as with the other menu items.
clientgui/
ViewTransfers.cpp
Rom 15 Feb 2005
- Spec Change: Adjust the refresh rate for list view items to 1 second.
This was previously done in the constructor for CMainFrame but was
later changed in SetFrameListPanelRenderTimerRate() for deal with
CPU utilization on Mac's.
clientgui/
MainFrame.cpp
David 15 Feb 2006
- core client: if socket/bind/listen on the GUI RPC socket fails,
sleep for a second and retry; repeat 30 times.
This will hopefully deal with situations on Windows
where we're running at boot time
and network comm doesn't work for a few seconds
(resulting in the core client exiting,
and the Manager being disconnected).
client/
client_state.C
David 15 Feb 2006
- Manager: fix menu strings and remove erroneous comments
clientgui/
MainFrame.cpp
Rom 15 Feb 2006
- Bug Fix: Force a project state update even when we are looking at
the tasks tab. Copy the updated project state to the existing global
state structure.
clientgui/
MainDocument.cpp, .h
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
David 15 Feb 2006
- make crypt_prog work on Windows
(from James Drews)
lib/
crypt_prog.C
Charlie 16 Feb 2006
- Mac: Fix menubar draw bug by calling MacInstallMenuBar().
- Since Quit (Exit) is not in File menu on Mac OSX, don't show File
menu unless it contains other items in addition to Exit.
- Dialup manager doesn't work on Mac or Linux, so compile it and
Options dialog Connections tab only for Windows.
- Fix a small bug in release scripts.
clientgui/
MainDocument.cpp
DlgOptions.cpp
mac_installer/
release_boinc.sh
release_GridRepublic.sh
Rom 16 Feb 2006
- Modify the disk usage and statistics tab icons
- Add a worning before the account manager wizard will actually
defect from an account manager
- Remove CompletionUpdatePage.cpp and CompletionRemovePage.cpp
- Remove AccountManagerStatusPage.cpp
- Remove trace messages from boinc dll.
- Followup Eric's last change that delt with prematurly showing
100% progress for tasks due to rounding with a change to
file transfer progress using the same scheme.
clientgui/
AccountManagerProcessingPage.cpp
BOINCWizards.h
CompletionPage.cpp
ViewStatistics.cpp, .h
ViewTransfers.cpp
WelcomePage.cpp
WizardAccountManager.cpp, .h
CompletionUpdatePage.cpp, .h (Removed)
CompletionRemovePage.cpp, .h (Removed)
AccountManagerStatusPage.cpp, .h (Removed)
clientgui/res/
stats.xpm (Added)
usage.xpm
clientlib/win/
BOINCSENSSink.cpp
NetworkTracker.cpp
David 16 Feb 2006
- core client: bug fix (hopefully) for situation where
a server or proxy doesn't understand Range: in HTTP header,
and sends us the entire file when we just want the tail.
Solution: if we asked for a partial transfer,
and we got a 200 HTTP return,
and the file is bigger than it's supposed to be,
trim off the part that was there initially.
- remove NET_XFER::strCurlResult, file_read_buf* fields
client/
file_xfer.C,h
net_xfer_curl.C,h
Rom 16 Feb 2006
- Followup Eric's last change that delt with prematurly showing
100% progress for tasks due to rounding with a change to
file transfer progress using the same scheme.
clientgui/
ViewTransfers.cpp
David 16 Feb 2006
- clientgui compile on unix
clientgui/
Makefile.am
Charlie 17 Feb 2006
- Mac: Remove obsolete files from XCode project (CompletionUpdatePage.cpp,
.h, CompletionRemovePage.cpp, .h, AccountManagerStatusPage.cpp, .h)
- Remove unused variable pWAP to fix compiler warning.
clientgui/
WelcomePage.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
Rom 17 Feb 2006
- Bug Fix: Remove the defect account manager functionality
from the wizard and put it into it's own routine
per David's request.
- Bug Fix: Fix the context menu item indentation problem on the task bar.
clientgui/
BOINCDialupManager.cpp
BOINCTaskBar.cpp
MainFrame.cpp
David 17 Feb 2006
- Add Visual Studio project file for crypt_prog
(from James Drews)
win_build/
crypt_prog.vcproj
Rom 17 Feb 2006
- Bug Fix: Adjust the dialog title code for both the attach to project wizard
and the attach to account manager wizard per David's request.
clientgui/
WizardAccountManager.cpp
WizardAttachProject.cpp
Rom 17 Feb 2006
- Bug Fix: Reset the reminder timers when the user updates something.
clientgui/
BOINCDialupManager.cpp, .h
MainFrame.cpp, .h
ViewProjects.cpp
ViewTransfers.cpp
David 17 Feb 2006
- user web: restore posts link on public user page
(not sure how it got deleted)
- minor code cleanup
html/
inc/
profile.inc
user.inc
user/
delete_profile.php
David 17 Feb 2006
- core client: remove network_status messages
client/
client_state.C
Walt 17 Feb 2006
- bug fix: Fix core client crash on startup when an unknown tag is part of
<pers_file_xfer> XML structure.
- core client, GUI RPC: changed persistent file transfers to save the count
of bytes transferred. Previously the count was only available when the
file transfer was active.
-Adds member last_bytes_xferred to PERS_FILE_XFER class.
-Adds <last_bytes_xferred> tag to the XML structure and GUI RPC ops.
-GUI RPC op FILE_TRANSFER::parse is changed to get the count of bytes
transferred (bytes_xferred) from <last_bytes_xferred>.
client/
pers_file_xfer.C, .h
lib/
gui_rpc_client_ops.C
Charlie 17 Feb 2006
- Mac: - Fix unused variable compiler warnings.
- added MoreAddrToSym.c, h, MoreBacktrace.c, h to Makefile
- fixes to Mac build scripts
- check in XCode project used by buildWxMac.sh script to build wxMac
libraries for BOINC.
lib/
Makefile.am
clientgui/
BOINCTaskBar.cpp
mac_build/
buildcurl.sh
buildjpeg.sh
BuildMacBOINC.sh
buildWxMac.sh
setupForBOINC.sh
wxMac-BOINC.xcodeproj/ (added)
project.pbxproj (added)
David 17 Feb 2006
- If statefile doesn't have right platform name, reset all projects.
This is intended to deal with the case where someone
copies all their files from a Mac/PPC to a Mac/Intel
and expects everything to work.
(suggested by Charlie Fenton).
- minor code cleanup
client/
check_state.C
client_state.C,h
cs_statefile.C
http_curl.C
Bruce 18 Feb 2006
- User RSS page: make it pass the validation check
http://feedvalidator.org/
html/
user/
sample_rss_main.php
Charlie 18 Feb 2006
- Mac: - Fix compiler setting which caused bug when building on PowerPC.
- Fix compiler errors and crash bug.
mac_build/
boinc.xcodeproj/
project.pbxproj
client/
client_state.C
clientgui/
BOINCTaskBar.cpp
MainFrame.cpp
David 19 Feb 2006
- user web: show error results with pink background
(from Rytis Slatkevicius)
html/
inc/
result.inc
user/
white.css
Bruce 20 Feb 2006
- user web: allow sorting of columns of host data for a given user. I
have done this in a general way, which should permit any page to
be easily modified to permit sorting by any column.
html/
inc/
util.inc
host.inc
user/
hosts_user.php
Charlie 21 Feb 2006
- Mac: Add safety timer to kill application if screensaver hangs.
- Improve screensaver display when no graphics: don't display 0.00%
when client has not yet returned fraction_done; better message.
- Add time/date stamp to backtrace output.
- Update ReadMe files for universal binaries and version 5.3.19.
client/
app_graphics.C
ss_logic.C
app.C
app.h
clientgui/
mac/
mac_saver_module.cpp
lib/
mac_backtrace.C
mac_installer/
GR-ReadMe.rtf
ReadMe.rtf
Rom 21 Feb 2006
- Check in new suspend menu code.
- Bug Fix: Fix memory leak condition in gui rpc.
- Bug Fix: Copy gui_urls from new project class to the old class when
updating project stats.
- Bug Fix: Make sure the default connection is properly displayed
in the connection tab.
clientgui/
BOINCTaskBar.cpp, .h
Events.h
MainFrame.cpp
lib/
gui_rpc_client_ops.C
Rom 21 Feb 2006
- Spec Change: Add the ability for the ACCOUNT_OUT rpc structure to contain
custom project error messages
clientgui/
ProjectProcessingPage.cpp
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
Bruce 22 Feb 2006
- User web pages. Make RSS feed type application/xml rather than text/xml.
Make RSS feed link permanent guid rather than temporary.
- Better caching mechanism for hosts_user.php to prevent malicious user
from passing _GET[] strings that would lead to unbounded cache usage.
html/
user/
hosts_user.php
sample_rss_main.php
Charlie 22 Feb 2006
- Mac: Update build instructions and scripts for Intel Macs and Universal
Binaries.
doc/
mac_build.html
mac_build/
HowToBuildBOINC_XCode.rtf
setupForBOINC.sh
Rom 22 Feb 2006
- Bug Fix: ACCOUNT_OUT::parse should not return after encountering the
error_num element.
- Bug Fix: Make sure we are looking at the ACCOUNT_OUT messages array
instead of the attach to project response.
clientgui/
ProjectProcessingPage.cpp
lib/
gui_rpc_client_ops.C
Rom 22 Feb 2006
- Bug Fix: We seem to be having trouble with sub menus on the Mac. So
we will make the Snooze menu item a checkbox menu item and default
it to an hour.
clientgui/
BOINCTaskBar.cpp, .h
Events.h
MainFrame.cpp
David 22 Feb 2006
- core client: configure Curl to not accept self-signed SSL certificates.
Projects that use SSL will have to get SSL certificates
from Thawte, Verisign etc.
This prevents certain man-in-the-middle attacks.
- core client: configure Curl to accept any encoding (including gzip)
(both from Kevin Reed, WCG)
client/
http_curl.C
David 22 Feb 2006
- temporarily back out the above SSL change,
since it appears that Curl doesn't have a CA bundle by default,
so all SSL connections fail.
client/
http_curl.C
Rom 22 Feb 2006
- Bug Fix: Close down the OpenGL handles as well as the window handles
when boinc_finish() is called.
- Bug Fix: Add better power management handling to science applications
if they have a lingering graphics window open.
api/
boinc_api.C, .h
windows_opengl.C
Rom 22 Feb 2006
- Code Cleanup
- Make S@H enhanced compile again on Windows.
clientgui/
AccountManagerProcessingPage.cpp
MainFrame.h
ProjectProcessingPage.cpp
lib/
proxy_info.C
Rom 23 Feb 2006 (HEAD)
- Tag for 5.3.20 release, all platforms
boinc_core_release_5_3_20
Walt 23 Feb 2006
- Bug Fix: last_bytes_xferred was only counting the current bytes transferrred
on uploads.
client/
pers_file_xfer.C
Rom 23 Feb 2006
- Bug Fix: When changing how return values are handled, make sure the callers
know about the API change.
clientgui/
ProjectProcessingPage.cpp
Walt 23 Feb 2006
- Bug Fix: PROJECT::attach_via_acct_mgr flag wasn't being initialized or copied,
causing the manager to incorrectly disabled the detach button. Also added
the flag to PROJECT::print().
lib/
gui_rpc_client_ops.C
gui_rpc_client_print.C
Charlie 23 Feb 2006
- Mac: Fix compiler warning.
clientgui/
BOINCTaskBar.cpp
Rom 23 Feb 2006
- Bug Fix: The new project copy operation instead of replace had the drawback
of not deleting a project from the listview after a project detach operaton.
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
Rom 24 Feb 2006 (HEAD)
- Tag for 5.3.21 release, all platforms
boinc_core_release_5_3_21
David 24 Feb 2006
- remove "gzip" from list of encodings accepted by Curl;
having it in the list breaks existing projects
that use .gz files and decompress them in the app
(e.g. Einstein and CPDN).
We can fix this by adding a <gzip/> element in <file_info>;
I'll do this later.
- Remove old HTTP code and data that's deprecated by Curl
(e.g. timeout, blocksize stuff; stuff related
to parsing URL into host/port/file/)
remove commented-out code.
- GUI RPC: a <file_xfer> elements now includes
a <url> rather than a <hostname>.
This change doesn't affect the BOINC Manager,
which I believe is the only client of this RPC
client/
http_curl.C,h
net_xfer_curl.C,h
pers_file_xfer.C
David 24 Feb 2006
- Scheduler: increment the infeasible count for a result
in a slot that cannot be sent to a host because
the workunit has already be assigned to a different platform.
This helps projects that use homogenous redundancy
because once the result is marked infeasible
it will be checked for compatibility for a given host first,
thus leaving results for workunits that have not yet
been assigned free for other hosts.
(from Kevin Reed, WCG)
sched/
sched_array.C
Rom 24 Feb 2006 (HEAD)
- Tag for 5.3.22 release, all platforms
boinc_core_release_5_3_22
David 24 Feb 2006
- Add new config file options, which are typically used together:
<max_claimed_credit> (double)
If a result claims more credit than this, mark it as invalid
<grant_claimed_credit> (bool)
Grant the claimed credit,
regardless of what other results for this workunit claimed.
These are used by Rosetta@home, which has the unusual
property that different instances of the same job
can do much different amounts of work,
depending on the user's project settings.
(from David Kim)
sched/
sched_config.C
sched_config.h
validate_util.C
sched/validator.C
Charlie 25 Feb 2006
- Mac: Fix a small bug in release scripts which made the zip
files larger than necessary.
mac_installer/
release_boinc.sh
release_GridRepublic.sh
Charlie 27 Feb 2006
- Mac: Fix tilde expansion bug in setupForBOINC build script.
- Fix bug in buildWxMac build script.
- Update build instructions to restore info on adding an icon
to a science application.
- Fix minor bug in diagnostic error message in setMacRsrcForFile().
doc/
mac_build.html
mac_build/
HowToBuildBOINC_XCode.rtf
setupForBOINC.sh
buildWxMac.sh
api/
mac_icon.C
Bruce 27 Feb 2006
- User web page to show hosts: check all GET[] values to
be sure they are legal/allowed.
html/
user/
hosts_user.php
Rom 27 Feb 2006
- Bug Fix: Restore the encoding behavior back to 5.2 defaults until
we have a better solution in place.
client/
http_curl.C
Rom 27 Feb 2006
- Expose Windows detection code in the DLL to BOINC proper.
clientlib/win/
Identification.cpp
Identification.h
Walt 27 Feb 2006
- Bug Fix: On Win2k and later, use global mutex so only one
instance of the core client runs at a time.
client/
main.C
cliend/win
win_util.h
Charlie 28 Feb 2006
- Mac: Get path for setMacPList in a more reilable way.
api/
boinc_api.h
mac_icon.C
x_openGL.C
David 28 Feb 2006
- Continuing saga of Curl encodings.
It seems like if you call set CURLOPT_ENCODING
with any value, even "identity",
it will accept any encoding.
This breaks projects that do application-level gzip.
Solution: if the filename ends with ".gz",
don't set CURLOPT_ENCODING.
Otherwise set it to "" (accept all).
NOTE: I think this supports current requirements
(for "deflate" to work, and for app-level gzip to work).
At some point I'll implement BOINC-level gzip.
- Fix the format of <error_msg> elements within <file_info>.
Need a CR between the last line and the </error_msg> tag.
- In the course of testing I found that a <file_info>
with no <url>s will crash the core client.
Fixed this.
client/
client_types.C
file_xfer.C
http_curl.C
Rom 1 Mar 2006
- Bug Fix: Make detach from account managers work again.
- Bug Fix: url encode the lookup account and create account
rpcs. Canonicalize the urls before use.
client/
acct_setup.C
clientgui/
MainFrame.cpp
lib/
util.C, .h
Rom 1 Mar 2006 (HEAD)
- Tag for 5.3.23 release, all platforms
boinc_core_release_5_3_23
David 1 Mar 2006
- Core client: don't lose <send_gui_rpc_info/> tag from acct mgr URL file
when make acct mgr RPC
- Core client: make RAM size measurement work on HPUX > 4GB
client/
acct_mgr.C
hostinfo_unix.C
Rom 2 Mar 2006
- Bug Fix: When Windows resumes from hibernation return the application to
it's previously desired state instead of blindly resuming it.
- Bug Fix: Copy all the project data except the master_url for each project
status update.
api/
boinc_api.C, .h
windows_opengl.C
lib/
gui_rpc_client_ops.C
Rom 2 Mar 2006
- Further refinements to the core client launch code when the core client
has been configured as a service.
NOTE: boincmgr.exe now explictly depends on boinc.dll
clientgui/
BOINCGUIApp.cpp
clientlib/win/
Service.cpp
win_build/
boinc.sln
boinc_dll.vcproj
boincmgr_curl.vcproj
David 2 Mar 2006
- core client: is a scheduler RPC is pending to a project,
do it even if project is suspended via GUI.
This is needed to propagate host CPIDs for GridRepublic.
It also seems like the right semantics for update requests via GUI
(i.e. Update should override Suspended)
client/
cs_scheduler.C
David 2 Mar 2006
- core client: tighten up XML parsing.
When we use copy_element_contents() or dup_element_contents()
and don't find the end tag, that's an error,
and probably means we skipped over a bunch of critical elements.
Fix places where we ignored this error.
- don't do fprintf(stderr) from util functions
- have strcatdup() return an error
(rather than write to stderr and exit()) if realloc() fails
client/
schedule_op.C
lib/
gui_rpc_client.C
parse.C,h
sched/
file_upload_handler.C
David 2 Mar 2006
- core client: when host CPID changes,
delay the resulting scheduler RPCs by 15 seconds
client/
cs_scheduler.C
David 3 Mar 2006
- core client: on scheduler RPC, if our host ID is zero,
set RPC seqno to zero also.
This avoids a bug where the scheduler creates a new host record
with rpc_seqno zero, and then on the next RPC creates
ANOTHER host record because the client's rpc_seqno is > 0
- core client: propagate host CPID change only
if we're using an account manager.
client/
cs_scheduler.C
David 3 Mar 2006
- scheduler: server-side fix for above bug.
If we create a new host record,
pretend that the client sent rpc_seqno 0
sched/
handle_request.C
David 3 Mar 2006
- On project attach: if PROJECT/app_info.xml exists,
don't clear out the project directory.
This makes life easier for people who use anonymous platform;
they don't have to re-download apps.
(suggested by Lars Bausch)
- Eliminate the PATH_SEPARATOR symbol. Just use /
client/
app.C
app_control.C
app_start.C
cs_account.C
cs_statefile.C
cs_trickle.C
file_names.C
lib/
filesys.C,h
Walt 3 Mar 2006
- GUI RPC: change to <file_transfers> to include files to be
transferred that don't have a pers_file_xfer object yet.
- Manager: Don't show 'uploading' or 'downloading' unless file
transfer is active.
client/
cs_statefile.C
clientgui/
ViewTransfers.cpp
David 5 Mar 2006
- Maybe fix bug where work fetch stopped
client/
cs_scheduler.C
file_names.h
Rom 6 Mar 2006
- Bug Fix: Fix a couple text issues when using an existing account
in the wizard
clientgui/
AccountInfoPage.cpp
CompletionPage.cpp
Rom 6 Mar 2006 (HEAD)
- Tag for 5.3.24 release, all platforms
boinc_core_release_5_3_24
Rom 6 Mar 2006
- Update localization Template
locale/client/en_US
BOINC Manager.mo
BOINC Manager.po
David 6 Mar 2006
- add db_dump_spec.xml to source tree (in sched/)
and copy it when create new project
- Core client: after read_global_prefs_override GUI RPC,
request CPU reschedule (in case #CPUs changed)
client/
file_names.h
gui_rpc_server_ops.C
py/Boinc/
setup_project.py
sched/
db_dump_spec.xml (new)
David 6 Mar 2006
- boinc_cmd: add --read_global_prefs_override command
lib/
boinc_cmd.C
Rom 7 Mar 2006
- Start the account manager wizard anytime their is an acct_mgr_url.xml
file and no credentials.
clientgui/
MainFrame.cpp
David 7 Mar 2006
- scheduler: add <master_url> element to reply
(Lets clients check that they have the right project URL)
- core client: if a project is suspended, and a scheduler RPC fails,
clear the sched_rpc_pending flag so we don't keep retrying
client/
scheduler_op.C
sched/
sched_config.C,h
server_types.C
David 7 Mar 2006
- core client: print project URL in startup message
- core client: is <master_url> is present in a scheduler reply,
and it doesn't match project's master URL,
print error messages advising detach/reattach.
If there's another project with that URL,
tell user to detach them both, since (in the BOINC Manager)
there's no way to distinguish them.
client/
client_state.C
scheduler_op.C,h
David 7 Mar 2006
- don't allow attaching a project with same name as existing project
client/
cs_scheduler.C
scheduler_op.C
lib/
error_numbers.C
Rom 7 Mar 2006
- Bug Fix: Somewhere along the line, the code to store the account
manager login name and password hash was removed from the source
tree. Put it back in.
client/
acct_mgr.C
Rom 7 Mar 2006
- Bug Fix: Choose a password nit for account managers.
clientgui/
AccountInfoPage.cpp
Rom 6 Mar 2006 (HEAD)
- Tag for 5.3.25 release, all platforms
boinc_core_release_5_3_25
Rom 9 Mar 2006
- Bug Fix: Don't display the minimum password length when a project
has account creation disabled in the attach to project wizard.
- Bug Fix: Hide the messages from server static box if there are
no messages from the server to report. Instead tell the user
to check the messages tab.
- Bug Fix: Make the next and back button go back to the account
info page when an invalid username or password are used.
- Bug Fix: Don't use Next and Back buttons in the Statistics view.
Localizers need different text because of the changes in context.
- Bug Fix: Don't allow an error message to be localized.
- Bug Fix: Where possible use a safer string copy function.
Defence in depth and all that.
client/
acct_mgr.C
clientgui/
AccountInfoPage.cpp
CompletionErrorPage.cpp
hyperlink.cpp
NotFoundPage.cpp
ViewStatistics.cpp
David 9 Mar 2006
- core client: generate a new host CPID only if we sent a nonzero host ID
to the scheduler and it returned a (different) host ID
client/
cs_scheduler.C
David 9 Mar 2006
- user web: minor fixes
html/user/
debug.php (removed)
profile_search_action.php
user_search_action.php
David 9 Mar 2006
- Scheduler: avoid creating redundant host records.
If a scheduler request has zero host ID but non-blank host CPID,
see if there's a host record in the DB with that CPID;
if so, pick the most recent (i.e. largest ID)
and use it (rather than creating a new host record).
This change means that when you detach/reattach to a project,
you won't get a new host record. Woo hoo!
sched/
handle_request.C
David 9 Mar 2006
- core client: if change host CPID, do immediate notification
only of projects managed via account manager
client/
cs_scheduler.C
Rom 11 Mar 2006
Problem: On Windows it seems like random crashes occur with
the science application is trying to shutdown.
Cause: When a science application that supports graphics is
running on Windows it is generally running with three threads.
Worker: normally contains the science package and normally
does the bulk of the memory allocations and de-allocations.
Graphics: normally just reads what the worker thread has
produced and displays it in a graphics window. Memory
allocations are normally handled on the stack or as
global variables which are only used via the graphics
thread.
Timer: normally handles the IPC to and from the core client.
When the quit request is received from the core client the timer
thread would call exit which in turn would cause the C Runtime
Library to clean up after itself before calling the ExitProcess
Windows API which would actually stop the threads and exit the
process. The thread that calls ExitProcess causes the heaps to
be freed before the other threads have been stopped. The
greater the number of allocations the longer the graphics and
worker threads are left running and the greater the chance of
touching an address of memory that has been freed.
Solution: Instead of calling exit call TerminateProcess.
TerminateProcess causes the OS to halt all executing threads at
the same time and then starts the shutdown process for the
process.
api/
boinc_api.C, .h
windows_opengl.C
David 11 Mar 2006
- Scheduler (see checkin of 9 Mar): When we use a host record
based on host CPID (presumably because user detached/reattached)
mark all in-progress results as over, client error.
This prevents them from being resent.
Avoid a situation where a result causes problems on a host,
user detaches/reattaches to clear things up,
and then the host gets sent the same result again.
(from Bruce Allen)
sched/
handle_request.C
transitioner.C
David 13 Mar 2006
- change arg of boinc_init_options() from BOINC_OPTIONS&
to BOINC_OPTIONS* (so you can call it from C)
api/
boinc_api.C,h
graphics_lib.C
Walt 13 Mar 2006
- Bug Fix: in boinc_exit(), all platforms, call fflush(NULL) so
output buffers get flushed. Moves the call outside the #ifdef.
- Bug Fix: Account manager shouldn't be contacted if the network
is suspended. This affects the automatic (every hour)
connections only.
api/
boinc_api.C
client/
client_state.C
Rom 14 Mar 2006 (HEAD)
- Tag for 5.3.26 release, all platforms
boinc_core_release_5_3_26
Charlie 14 Mar 2006
- Fix compiler bug due to BOINC_OPTIONS* when using objective-C.
api/
boinc_api.h
Rom 14 Mar 2006
- Bug Fix: Copy over the account manager url from the rpc to
the global account manager structure so that the
acct_mgr_url.xml file can be created.
client/
acct_mgr.C
David 15 Mar 2006
- API: add boinc_get_fraction_done(): call this from graphics thread
to get latest fraction done reported by worker thread.
api/
boinc_api.C,h
David 15 Mar 2006
- core client: if an account manager RPC succeeds,
do a scheduler RPC to a project that was attached via the AMS,
in case the user updated preferences.
- web RPC to set user info: make sure global and project
preferences are valid XML
(well, at least make sure they have start/end tags)
client/
acct_mgr.C
html/user/
am_set_info.php
Charlie 16 Mar 2006
- Add typedef to BOINC_OPTIONS and BOINC_STATUS so boinc_get_status()
and boinc_init_options() declarations compile without errors
when using straight C and objective-C with GCC-4.0.
api/
boinc_api.h
Rom 16 Mar 2006
- Bug Fix: If we detect a condition in which we really can't display
graphics, then we should notify the GUI's that graphics are
not enabled via the ACTIVE_TASK::write function.
client/
app.C
client_state.C, .h
Bruce 16 March 2006
- Make 'last-modified' and '<lastBuildDate>' entries in RSS feed
correctly correspond to the last time the project_news.inc file
was modified.
html/
user/
sample_rss_main.php
Rom 16 Mar 2006
- Bug Fix: Only allow the SENS Event Notification registration to
happen on Windows 2000 machines or better. This appears to
resolve explorer crashing on Win9x machines during shutdown.
clientlib/win/
boinc_dll.cpp
NetworkTracker.cpp
David 16 Mar 2006
- scheduler: when mark a result as sent, make sure its
server_state is what we expected (e.g. UNSENT).
This guards against two scheduler instances trying to
send the same result at about the same time.
(from Bruce Allen)
db/
boinc_db.C,h
db_base.C,h
sched/
sched_resend.C
sched_send.C
Bruce 16 Mar 2006
- missing return value in David's check-in
db/
boinc_db.C
David 17 Mar 2006
- fix mysql_affected_rows() problem: needed to include mysql.h
db/
boinc_db.C
db_base.C
Rom 17 Mar 2006
- Bug Fix: Stackwalker was using printf's to describe errors during
initialization, so I'm changing them to fprintf(stderr, "") style
messages so we can at least get more information about the
initialization error.
- Bug Fix: In fixing the bug above I noticed that the code to
load the dbghelp.dll library wasn't attempting to look
in the BOINC installation folder for it when executing as part
of the science applications. Check in the BOINC installation
directory first then fall back to the search path.
- Bug Fix: Treat the about box bitmap the same as the wizard bitmaps
which gets rid of the transparent whole where the BOINC splat
logo should be. The BBC and GridRepublic logos show up correctly
but the BOINC splat logo doesn't want to be seen. I'll take care
of that in a following release.
clientgui/
DlgAbout.cpp
lib/
stackwalker_win.cpp
Rom 17 Mar 2006 (HEAD)
- Tag for 5.3.27 release, all platforms
boinc_core_release_5_3_27
Bruce 17 Mar 2006
- Adding some logging for scheduler fixes from yesterday: log specific
message saying when a result is unavilable because aonther scheduler
instance grabbed it from under our hands.
sched/
sched_send.C
sched_resend.C
sched_locality.C
David 17 Mar 2006
- compile fix (from James Drews)
lib/
gui_rpc_client_print.C
Rom 17 Mar 2006
- Bug Fix: Allow generic read/write/execute for users in the user group
for the shared installation type.
win_build/installerv2
BOINC.ism
David 17 Mar 2006
- Add <prefs_mod_time> and <prefs_source_project> elements
to account manager requests;
tells the AMS what version of global prefs we have
- Add optional <update/> tag in <account> elements
of account manager replies.
This tells the core client to do a scheduler RPC to the project.
The account manager should set this when it has updated prefs
and wants the core client to get them;
put <update/> in the <account> element for one of
the projects to which prefs were successfully sent.
- Core client: remove code (from 15 Mar) that contacts a project
after every successful AMS operation.
client/
acct_mgr.C,h
doc/
acct_mgt.php
Rom 17 Mar 2006
- Bug Fix: If graphics have been disabled because the client configuration
cannot handle them, then report back to the screensaver that graphics
are not available instead of cycling through them.
This also reduces the bug surface area for applications who are having
problems with application graphics since it avoids spinning up the
graphics window even though it cannot be seen.
client/
ss_logic.C
Bruce 20 Mar 2006
- User web pages: outcome validate error was being reported as unknown.
html/
inc/
result.inc
Charlie 20 Mar 2006
- Add /Library/Receipts/BOINC.pkg to list of files to remove for uninstall.
doc/
mac_advanced.php
mac_installer/
GR-ReadMe.rtf
ReadMe.rtf
David 20 Mar 2005
- If a project's web site is turned off
(i.e. if the stop_web file is present)
the get_project_config.php script returns a ERR_PROJECT_DOWN error,
so that the BOINC Manager's Attach Project Wizard
will show a "project not available" message
before asking for email/password
html/user/
get_project_config.php
Walt 20 Mar 2005
- Bug fix: Fix issues with proxy authorization:
-libcurl resends 'post' requests when negotiating authorization
type with the proxy server, needed curl callback function to
rewind the data.
-add variables to NET_XFER to save proxy server authorization type.
NET_XFER::auth_flag is BOOL, TRUE = proxy server uses authorization
NET_XFER::auth_type: 0 = libcurl negotiates auth type
~0 = authorization type libcurl used with proxy
client/
http_curl.C,h
net_xfer_curl.C,h
Rom 21 Mar 2005
- BOINC API: When an application is being aborted, dump the backtraces for
the timer, worker, and graphics threads. (Windows Only)
This helps with applications that are stuck in an endless loop for
some reason. We should no longer need to solicit users with debugging
experience to track down these kinds of issues anymore. When the
user aborts the workunit the needed data should show up in stderr.
From there the user can post a message in the forum and go on about
their business.
api/
boinc_api.C
graphics_impl.C
windows_opengl.C
lib/
diagnostics.C, .h
stackwalker_win.cpp, .h
Rom 21 Mar 2005
- Move the structure out of the header into the .C file
lib/
diagnostics.C, .h
Walt 21 Mar 2005
- Bug Fix: Don't use Range: header when resuming file uploads
client/
http_curl.C
Rom 21 Mar 2006 (HEAD)
- Tag for 5.3.28 release, all platforms
boinc_core_release_5_3_28
Rom 21 Mar 2006
- Compile fix for Linux
client/
http_curl.C
net_xfer_curl.C
Charlie 21 Mar 2006
- Mac: fix compiler "unused variable" warning.
Please remember to remove unused variables from source files
before checking them in.
lib/
diagnostics.C
David 22 Mar 2006
- API: Added some code for drawing characters
in a variety of fonts, sizes, textures etc.
Also added font files;
you'll need to bundle them with your application.
See http://www.opengl.org//resources/code/samples/mjktips/TexFont/TexFont.html
From Tolu Aina.
api/
texfont.c,h
txf_util.C
txf/
*.txf
Rom 22 Mar 2006
- Make moincmgr compile cleanly on Linux distro's where the
wxWidget libraries only come in the Unicode flavor.
From: Frank S. Thomas
clientgui/
AccountManagerProcessingPage.cpp
AccountManagerPropertiesPage.cpp
BOINCBaseView.cpp
BOINCGUIApp.cpp, .h
BOINCTaskBar.cpp
DlgAbout.cpp
MainDocument.cpp
MainFrame.cpp
ProjectProcessingPage.cpp
ProjectPropertiesPage.cpp
ProxyPage.cpp
ValidateURL.cpp
ViewMessages.cpp
ViewProjects.cpp
ViewResources.cpp
ViewStatistics.cpp, .h
ViewTransfers.cpp
ViewWork.cpp
WizardAccountManager.cpp
Rom 22 Mar 2006
- Remove the TerminateProcess kludge and make it part of the default
behavior.
api/
boinc_api.C, .h
Charlie 23 Mar 2006
- Mac: Backtrace now always dumps all threads. User abort calls
api/
boinc_api.C
lib/
mac_backtrace.C
Rom 23 Mar 2006
- Fix the boinc_exit(0) call when an abort happens to
boinc_exit(ERR_ABORTED_VIA_GUI).
- Remove a duplicated class identifier so that the manager will
with g++ 4.1
- Bug Fix: Treat 301 and 302 http status codes as a
get_project_config.php error so that the invalid project page
comes up, instead of the unavailable page.
api/
boinc_api.C
clientgui/
BOINCTaskBar.h
AccountManagerPropertiesPage.cpp
ProjectPropertiesPage.cpp
David 23 Mar 2006
- Core client: ignore <fraction_done>0</fraction_done> from apps.
If an app is being restarted,
and hasn't called boinc_fraction_done() yet,
the fraction done will be reported as zero even
though the actual fraction done is nonzero.
client/
app_control.C
David 23 Mar 2006
- make_project:
- allow use of .htaccess in cgi-bin
- if --project_root is specified, put the key_dir there too
(from Eric Myers)
tools/
make_project
Rom 23 Mar 2006
- Bug Fix: Fix a COM initialization error within BOINC DLL.
clientlib/lib/
boinc_dll.cpp
Rom 23 Mar 2006
- make_project:
- Copy missing images
(from Eric Myers)
tools/
make_project
Walt 23 Mar 2006
- Bug Fix: Multiple load/unloads of boinc.dll messed up the
idle detection routine. Removed redundant load/free module
code so dll is loaded once in beginning, unloaded at program
end.
client
main.C
client/win
hostinfo_win.C
David 24 Mar 2006
- Let team founders get lists of team members
(including their email addresses) via XML RPC.
The URL is PROJECT/team_email_list.php?teamid=X&account_key=Y&xml=1
This feature lets cross-project teams more easily get their
combined email-address list.
It doesn't change BOINC's privacy policy;
team founders could always get member email addresses.
html/
inc/
xml.inc
user/
team_email_list.php
Walt 25 Mar 2006
- Cleanup unused code left over from testing, adjust temporary
buffer size so error messages don't overflow
- BugFix: Fix couple of problems with boinc_cmd:
--project command options 'suspend' and 'resume' shown as valid
but they weren't being parsed.
--file_transfer help text shows options in wrong order
client
main.C
lib
boinc_cmd.C
Rom 26 Mar 2006
- BOINC API: OpenThread() doesn't exist on Win98 or Win95, so get the
thread handle by way of DuplicateHandle() since GetCurrentThread()
just returns a -2.
api/
boinc_api.C
windows_opengl.C
Rom 26 Mar 2006
- Bug Fix: Finish the implementation of the "Hide Graphics" button.
- Bug Fix: Don't enable the "Copy selected message" button until at least
one message is highlighted.
client/
gui_rpc_server_ops.C
clientgui/
MainDocument.cpp, .h
ViewMessages.cpp
ViewWork.cpp
lib/
boinc_cmd.C
gui_rpc_client.h
gui_rpc_client_ops.C
locale/client/en_US/
BOINC Manager.mo, .po
Rom 26 Mar 2006
- Bug Fix: Provide that little extra tid bit of information that might keep
somebody from aborting a CPDN task when it is 70% complete and not over
due.
clientgui/
ViewWork.cpp
locale/client/en_US/
BOINC Manager.mo, .po
Rom 26 Mar 2006
- Bug Fix: Since we changed over to async connections the manager has been
shutting down which ever client is was currently connected to. So
wait until we have successfully reconnected to the local BOINC client
and verify we are connected to the local BOINC client before sending
the quit command.
clientgui/
BOINCGUIApp.cpp
MainDocument.cpp, .h
Rom 27 Mar 2006
- Bug Fix: When choosing a default value for something, use a value that
connot be confused with valid data otherwise you might overwrite valid
default values setup during object creation.
clientgui/
BOINCListCtrl.cpp
Rom 27 Mar 2006
- Bug Fix: Make sure that the thread that has caused an exception dumps
it's callstack even if it didn't register itself to the diagnostics
functions.
lib/
diagnostics.C
Walt 27 Mar 2006
- Enable some CBOINCDialupManager functions for non MS-Windows platforms.
As the auto-dialer doesn't work on these systems, just display a
notification box telling the user an Internet connection is needed.
clientgui/
MainFrame.cpp
BOINCDialupManager.cpp
Walt 27 Mar 2006
- Second half of CBOINCDialupManager changes
clientgui/
BOINCDialupManager.cpp, h
Makefile.am
Rom 27 Mar 2006 (HEAD)
- Tag for 5.3.29 release, all platforms
boinc_core_release_5_3_29
Walt 28 Mar 2006
- Bug Fix: 'Need Internet connection' message wasn't being displayed
on non MS-Windows systems.
clientgui/
MainFrame.cpp
Rom 28 Mar 2006
- Bug Fix: On non-windows systems be sure to call the wxApp::Yield()
function to process outstanding window messages when shutting
down. This should resolve the issue of CDocument::Poll() not being
called on shutdown when a connection to the local BOINC client
needs to be reestablished.
- Bug Fix: Disable the 'Hide graphics' button for now.
clientgui/
BOINCGUIApp.cpp
ViewWork.cpp
Walt 28 Mar 2006
- Bug Fix: Use alert box for 'need Internet connection' message when
manager window is hidden.
clientgui/
BOINCDialupManager.cpp
Rom 28 Mar 2006
- Bug Fix: Try a different method to notify the local BOINC CC that it
needs to shutdown on all platforms.
- Bug Fix: Discard notification only events for platforms other than
Windows until we can figure out a better way to display them.
clientgui/
BOINCGUIApp.cpp
MainFrame.cpp
Charlie 28 Mar 2006
- Mac: Fix compiler warnings.
clientgui/
BOINCDialupManager.cpp
ViewWork.cpp
Walt 28 Mar 2006
- Bug Fix: Show 'needs Internet connection' dialog only when the
manager is the foreground window. Comment out the alert messages
until they're implement in non-MS-Windows platforms
clientgui/
BOINCDialupManager.cpp
Rom 28 Mar 2006 (HEAD)
- Tag for 5.3.30 release, all platforms
boinc_core_release_5_3_30
Walt 28 Mar 2006
- Bug Fix: Manager window always shows 'active' on MAC, so check
whether application has the focus instead.
clientgui/
BOINCDialupManager.cpp
David 29 Mar 2006
- boinc_cmd: fix
boinc_cmd --project X resume
and
boinc_cmd --project X suspend
- user web: RPC to get team membership:
if account_key missing, show members but omit email addresses
html/
inc/
xml.inc
ops/
mass_email.php
user/
team_email_list.php
lib/
boinc_cmd.C
David 30 Mar 2006
- API: move code that uses GLUT character-drawing functions
to a separate file (gutil_text.C).
This makes it easier for apps to not include GLUT.
- API: if you compile gutil.C with -DSANS_JPEGLIB,
you won't get any calls to jpeglib functions.
api/
gutil.C
gutil_text.C
Rom 30 Mar 2006
- Make the SENS initialization code non fatal when an error
occurs.
- Change the Windows installer so that the DLLs that BOINC
is dependant on are are contained in a seperate component
that is always installed and removed duplicate references
from the install type specific components. This shrinks
the install package by 2MB.
clientlib/win/
boinc_dll.cpp
win_build/installerv2/
BOINC.ism
David 30 Mar 2006
- Core client: fix nasty crash bug.
If a result had a lot of output files, its failure message
(originating from X)
could exceed 1024 chars.
It gets passed up to show_message(),
and is copied (by strcpy()) into a 1024-char buffer. Crash!
Fixed this by using strlcpy() instead.
- Core client: return file errors in a std::string instead of char*
- Core client: in generating XML descriptions of file failures,
insert <error_message>X</error_message> elements
only if there's a message.
At some point we should replace char[N] with std::string
everywhere in the code.
Fix-size buffers are crashes waiting to happen.
I wish you could sprintf() to a string.
client/
client_state.C
client_types.C,h
main.C
Rom 30 Mar 2006
- Bug Fix: Initializing some of the dependant DLLs on Windows was
causing us to bump up against the 30 second marker and making
the service control manager think something was wrong and kill
the BOINC service on boot. I moved the bulk of the
initialization code to boinc_main_loop which is called by the
service control manager when running as a service. This change
will keep this from happening in the future if we take on any more
dependencies.
client/
main.C
clientlib/win/
BOINCSENSSink.cpp
Rom 30 Mar 2006 (HEAD)
- Tag for 5.3.31 release, all platforms
boinc_core_release_5_3_31
Charlie 30 Mar 2006
- Mac: Fix "unused variable" compiler warning.
- Mac: "Fix" bug 460: Mac OS X automatically puts a "Preferences" item
in the BOINC menu, but we don't use it so it was disabled. This was
confusing some users, so hide (delete) this menu item.
- Mac: add gutil_text.C to project.
client/
main.C
clientgui/
MainFrame.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 30 Mar 2006
- API: move GLUT-related includes to a separate file,
which is included only from files that need it.
api/
boinc_gl.h
boinc_glut.h (new)
gutil_text.C
x_opengl.C
Eric 2 Apr 2006
- Added stream memory bandwidth benchmark. Still needs modifications
to timing logic and possibly changes to allow multiple threads or
processes. This is not yet added to Makefiles or called from the code.
client/
stream.C (new)
David 3 Apr 2006
- Add script to find results with no corresponding workunit
html/ops/
db_cleanse.php
Rom 3 Apr 2006
- Bug Fix: When switching from any state to SS_STATUS_ENABLED make sure
we set the ss_status back to SS_STATUS_ENABLED.
- Bug Fix: Increase the screensaver polling frequency when the
screensaver is set to anything other than SS_STATUS_ENABLED. This
makes the status messages disappear faster when the graphics app
is started again.
- Bug Fix: Right justify Work:Progress and Disk:Diskspace list view
columns.
client/
ss_logic.C
client/win/
win_screensaver.cpp
clientgui/
ViewResources.cpp
ViewWork.cpp
David 4 Apr 2006
- back end: have the "dir_hier_path" script create the fanout directory
if it's not there.
tools/
dir_hier_path.C
David 4 Apr 2006
- Finish script to delete orphan results
html/ops/
db_cleanse.php
David 4 Apr 2006
- core client: define a result's "computation deadline":
it's report deadline minus network connect period
and minus cpu scheduling period.
Use this, rather than report deadline, in CPU scheduling.
- take network connect period into account in deciding
when results have to be reported
(from John McLeod)
client/
client_types.C,h
cpu_sched.C
cs_scheduler.C
Rom 5 Apr 2006
- Bug Fix: Set the AccountInfo.cpp control states before
attempting to set the text for the controls. Otherwise
we'll see text that says 'choose a password' instead
of 'password'.
clientgui/
AccountInfoPage.cpp
Charlie 5 Apr 2006
- Mac: New shell script to sets up Mac to run BOINC Client as
a daemon / service. Note: when running as a daemon, the
graphics (screensaver and "Show Graphics" button) work only
if BOINC's owner is the logged in user.
- Added boinc_glut.h to XCode project.
mac_build/
boinc.xcodeproj/
project.pbxproj
Make_BOINC_Service.sh (new)
Rom 5 Apr 2006
- Bug Fix: Change the progress field to display xx.xxx% since
some projects use that to debug looping issues.
- Bug Fix: In the screensaver make sure that the foreground window
is either a screensaver window or a BOINC application window.
If another window is the foreground window, shutdown the
screensaver.
client/win
win_screensaver.cpp
clientgui/
ViewWork.cpp
Rom 6 Apr 2006
- Bug Fix: Add some text about connectivity problems to the proxy
into page.
- Bug Fix: Remove the code that was keeping the 'Not Found' page from
going to the 'Account Info' page.
clientgui/
ProxyInfoPage.cpp
WizardAccountManager.cpp
WizardAttachProject.cpp
Rom 6 Apr 2006 (From Frank S. Thomas)
- Bug Fix: Allow a connection request to reset a connection attempt
to the local computer or another computer.
clientgui/
MainDocument.cpp
Rom 6 Apr 2006 (From Darrel Holz)
- Bug Fix: Fix the Logo display for BOINC when not running as a branded
client.
clientgui/
DlgAbout.cpp
Charlie 7 Apr 2006
- Mac: Fix bug in shell script to sets up Mac to run BOINC Client as
a daemon / service.
mac_build/
Make_BOINC_Service.sh
David 7 Apr 2006
- add graphics to sample app
api/
gutil.C
txt_util.C
apps/
upper_case.C
Charlie 7 Apr 2006
- Mac: If launching client as a daemon / service at system startup, retry
gethostbyname() for up to 10 seconds if needed, to allow system
support to become available.
client/
hostinfo_network.C
Rom 8 Apr 2006
- Bug Fix: Make stackwalker more useful on Windows by dumping the function
pointers and registers for each thread. Cut away all the extra code.
lib/
diagnostics.C
stackwalker_win.cpp, .h
Rom 9 Apr 2006
- Bug Fix: Add a check to stackwalker so that if it detects it is running on
Win9x it'll switch over to the Win9x compatible dbghelp.dll. After
checking it out, it doesn't require any changes to the stack walker code
as it has the 64 bit function exports. So all that was required was
just changing which DLL was used to get the function pointers.
- Bug Fix: Upgrade to the latest stable debugging tools from Microsoft.
lib/
stackwalker_win.cpp
win_build/installerv2/redist/Windows/x86/
dbghelp.dll
dbghelp95.dll (Added)
srcsrv.dll (Added)
symsrv.dll (Added)
Rom 9 Apr 2006
- Put the infrastructure in place to be able to use Symbol Servers. This
is just the basics. Many details need to be worked out.
lib/
diagnostics.C, .h
stackwalker_win.cpp, .h
Rom 10 Apr 2006
- Bug Fix: Fix a crash condition where a result maybe in the list view but
may have already been cycled out of the system. There is a brief
period of time where the result is being sent back to the scheduler and
the user may switch back to the work tab where this crash would occur.
clientgui/
ViewWork.cpp
Rom 10 Apr 2006 (boinc_core_release_5_4)
- Tag for 5.4.0 release, all platforms
boinc_core_release_5_4
Charlie 10 Apr 2006
- Extend Mac screensaver safety timer of 21 Feb 2006 to all platforms.
(checked this in to both HEAD and boinc_core_release_5_4 branches.)
client/
app_graphics.C
ss_logic.C
app.C
app.h
Charlie 11 Apr 2006
- Changes to allow building upper_case application on Mac.
api/
texfont.c,h
txf_util.C,h
David 11 Apr 2006
- rename sample en.po so update won't overwrite project's file
(from Eric Myers)
- use "request" instead of "RPC" in user-visible messages
html/languages/project_specific_translations/
en.po (removed)
sample_en.po (new)
sched/
handle_request.C
Rom 11 Apr 2006
- Bug Fix: Account creation controls should be disabled for all
account manager code paths, not just update.
- Bug Fix: Extend the timeout for the graphics mode ack to 30
seconds in the screensaver poll function to give LHC and
CPDN more time to create and display their graphics window
when going into screensaver mode.
- Bug Fix: Add some extra logic to the screensaver to handle
detection of idle user input without needing to be the
active window. If the science application window hasn't
processed a window message for 5 seconds do an additional
check to determine if any mouse or keyboard activity has
been detected. If activity has been detected, shutdown the
screensaver system.
- Bug Fix: Add a please wait message to the screensaver for
applications that take a long time before they display
their own graphics.
client/
ss_logic.C
client/win/
boinc_ss.h
boinc_ss.rc
win_screensaver.cpp, .h
clientgui/
AccountInfoPage.cpp
Eric K 12 Apr 2006
- Changed some function defines to inlines (i.e. formerly "#define read
_read" becomes "static inline read(...) {return read(...);}) These
defines were breaking some classes that had methods named read().
- Altered boinc_fopen() to call _fsopen under _WIN32 with the sharing
flags set to the most permissive value. This may solve some of the
virus scanner locking problems.
- Fixed some problems with non-MSC compilers with diagnostics.[Ch]
- Added checks for stdint.h and inttypes.h to configure.ac
lib/
boinc_win.h
filesys.C
diagnostics.[Ch]
configure.ac
Rom 12 Apr 2006
- Bug Fix: Fix a crash on Win9x when leaving the screensaver and
password protection is enabled.
- Bug Fix: Do not allow the Win9x password dialog to get stuck behind
the main screensaver windows, otherwise the only thing you can do
is reboot the machine.
- Include the thread id with trace statements.
client/win/
win_screensaver.cpp, .h
lib/
diagnostics.C
David 13 Apr 2006
- Add texfont stuff to API makefile
- Unix graphics API: when looking for .so graphics file,
if it's not a symlink file, prepend "./" to the name
so that ldopen() will find it.
- diagnostics: don't buffer stderr
api/
Makefile.am
graphics_lib.C
gutil.h
texfont.h
client/
acct_setup.C
html/user/
edit_forum_preferences_action.php
lib/
diagnostics.C
David 13 Apr 2006
- graphics API: in txf_load_fonts(),
use boinc_resolve_filename() so that font files
can be in the project dir
api/
txf_util.C
Rom 13 Apr 2006
- Bug Fix: Adjust the startup sequence on Windows a bit so that the
window doesn't flicker. Another perk is that on startup the
window won't display itself until it can fully deal with user
input.
- Define some basic data types for MINGW and CYGWIN
clientgui/
BOINCGUIApp.cpp
MainFrame.cpp, .h
lib/
boinc_win.h
Rom 13 Apr 2006
- Bug Fix: Fix a shutdown bug that was causing the manager to wait
the full 10 seconds before closing itself.
clientgui/
BOINCGUIApp.cpp
Charlie 14 Apr 2006
- Mac: OnShow() is not implemented in wxMac-2.6.2, so move code from
CMainFrame::OnShow() into new method CMainFrame::SetWindowDimensions().
Call SetWindowDimensions() from CMainFrame::OnShow() and also from
Mac-only method CMainFrame::Show().
- Mac: Fix compile errors due to xpm files.
- Save main window dimensions on Hide so SaveState can write them even
if the window is hidden before application exit.
clientgui/
BOINCGUIApp.cpp
MainFrame.cpp, .h
David 14 Apr 2006
- Core client: change the way that application priority is set on Unix
Old: fork/exec app, then setpriority(pid)
PROBLEM: race condition. When the app starts,
it's initially at regular priority.
If it immediately creates another process,
the child process has regular priority
(and continues to even after the app's priority is lowered).
New: fork, lower priority, exec.
(From Mike Fleetwood)
apps/
upper_case.C
client/
app_start.C
David 14 Apr 2006
- User web: add Web RPC for setting forum preferences
(repurpose existing script)
html/user
edit_forum_preferences_action.php
Rom 14 Apr 2006
- Bug Fix: Apparently Windows and Mac message boxes by default have an OK
button and Linux does not. So add wxOK to all the alerts sent.
clientgui/
BOINCDialupManager.cpp
MainFrame.cpp
Rom 15 Apr 2006
- Enable proxy support to retrieve symbols from a web based symbol store.
- Enable trace debugging for various components that the Windows debugging
environment uses. This only works with tools that can trap
OutputDebugString based messages. It is something we may support in
a future release. If dbghelp.dll or symsrv.dll ever use their
callbacks, that output will be logged to stderr.txt
lib/
diagnostics.C
stackwalker_win.cpp, .h
David 16 Apr 2006
- core client: get rid of min_report_rpc_time
client/
client_types.C,h
cs_scheduler.C
Rom 16 Apr 2006
- Bug Fix: Add cache timestamps for project, task, transfers, statistics,
and resources.
clientgui/
MainDocument.cpp, .h
Rom 16 Apr 2006
- Bug Fix: Include file version informaton in the debugger module list
lib/
stackwalker_win.cpp
Charlie 17 Apr 2006
- Mac bug fix: If window was never opened, window dimensions were never
read from preferences, so SaveState wrote bad values in preferences.
- Mac: Don't customize name of BOINC Data directory for branding; change
"GridRepublic Manager" to "GridRepublic Desktop; make branding script
more robust if there is a space in any file or directory name or path.
- Mac: Release scripts automatically update ReadMe version numbers.
- Mac: clarify that upgrade warning from older versions applies only to
Intel Macs.
clientgui/
BOINCGUIApp.cpp
MainFrame.cpp
mac_installer/
GR-ReadMe.rtf
PostInstall.cpp
preinstall
ReadMe.rtf
release_boinc.sh
release_GridRepublic.sh
doc/
versions.inc
Rom 17 Apr 2006
- Clean up the caching scheme used in the manager
- Remove the message cache update for all tabs except
the messages tab.
- Remove the project update from the work tab. Use a new flag being
introduced to show if the project has been suspended via GUI.
clientgui/
MainDocument.cpp
MainFrame.cpp
ViewMessages.cpp
ViewProjects.cpp
ViewResources.cpp
ViewStatistics.cpp
ViewTransfers.cpp
ViewWork.cpp
David 17 Apr 2006
- get rid of the versions of xml_escape() and xml_unescape()
that take std::string args.
These are too inefficient.
- boolean constant is "true", not "TRUE"
client/
client_types.C
lib/
app_ipc.C
diagnostics.C
parse.C,h
proxy_info.C
sched/
db_dump.C
db_purge.C
server_types.C
David 17 Apr 2006
- GUI RPC: add an optional <project_suspended_via_gui/>
tag to <result> elements.
This tells the Manager that the project is suspended
without having to do a separate get_projects GUI RPC
client/
client_types.C
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
Rom 17 Apr 2006
- Use the boolean flag now defined in the result instead of
looking it up in the project structure.
clientgui/
ViewWork.cpp
Walt 17 Apr 2006
- Bug Fix: Fix a problem where it was passing the xml tag line
instead of the string to xml_unescape.
lib/
proxy_info.C
Rom 18 Apr 2006
- Bug Fix: Move the project_suspended_via_gui flag from the
client state file write routine to the gui write routine.
client/
client_types.C
David 18 Apr 2006
- make match_tag(), parse_int(), parse_double() into inlines
- remove setlocale() calls from parse_int(), parse_double().
Numbers in XML (including GUI RPCs) are always in standard format.
Whoever writes XML (e.g. the Manager) must ensure this.
lib/
parse.C,h
David 18 Apr 2006
- core client: better messages on network check
- unix compile fix
client/
acct_setup.C
lib/
parse.h
Charlie 18 Apr 2006
- Mac: Add texfont.C,h and txf_util.C,h to XCode project for building
graphics library; fix compiler warning.
api/
texfont.c,h
clientgui/
MainFrame.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 18 Apr 2006
- if no physical network connection (gstate.need_physical_connection is set)
then don't increment failure count for file transfers
and scheduler RPCs.
(avoid ending up with 2-week backoff when network is down for a while.)
client/
pers_file_xfer.C
scheduler_op.C
David 18 Apr 2006
- improve network-related messages
Add error_msg field to NET_XFER.
Put Curl error messages here; print them at a higher level,
where we can give the context
client/
acct_setup.C
net_xfer_curl.C,h
scheduler_op.C
Rom 18 Apr 2006
- Bug Fix: setlocale is needed in environments where the C runtime library
will attempt to use the current locales' numerical formating rules to
extract integer or floating point numbers. The core client doesn't
observe local formating rules and defaults to the "C" locale. When
parsing data from the CC be sure to flip the locale to "C" and return
it when your done.
lib/
gui_rpc_client_ops.C
David 19 Apr 2006
- scheduler: put \n after global and project prefs in reply message;
otherwise, if those fields don't have \n,
we end up with 2 elements on 1 line and it doesn't parse right.
sched/
server_types.C
Walt 19 Apr 2006
- Code cleanup: remove duplicate calls to xml_unescape.
- Bug Fix: Change HTTP redirect limit to 50
- Bug Fix: Fix problems with socks5 proxys:
- Auth negotiation is handled by libcurl, remove that from BOINC
- Set connection timeouts to 20 seconds
*NOTE* Using socks5 proxies will cause BOINC to block until a
connection is made to the end server. BOINC will 'lock up'
until the connection attempt completes or times out.
client/
http_curl.C
lib/
proxy_info.C
Rom 19 Apr 2006
- If an application hasn't initialized the diagnostics system, provide
reasonable defaults and initialize it for them. This only handles
the boinc_init() and boinc_init_graphics() cases.
api/
boinc_api.C
graphics_api.C
lib/
diagnostics.C, .h
Rom 19 Apr 2006
- Update dependancies.
curl/
<various files>
openssl/
<various files>
zlib/
<various files>
Walt 20 Apr 2006
- Enable network tracing when <net_xfer_debug> log_flag is set.
Dumps libcurl info messages and http header information.
client/
http_curl.C,h
Rom 21 Apr 2006
- Bug Fix: Fix the account lookup and get project config rpcs which
I broke fixing the setlocale stuff.
lib/
gui_rpc_client_ops.C
David 21 Apr 2006
- Slight philosophy change in deciding whether network
communication is working
(e.g. by checking a reference web site when an HTTP operation fails):
the core client, not the Manager, is in charge of this.
- Eliminate the lookup_website() and lookup_website_poll() GUI RPCs
- Add a new possible return value to the "network_status" GUI RPC:
3 means the client is currently trying to access a reference web site.
Check back in a few seconds to see the outcome.
client/
acct_setup.C,h
client_state.C
gui_rpc_server_ops.C
net_xfer_curl.C
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
David 21 Apr 2006
- use an object constructor/destructor to do setlocale() stuff.
Use char* instead of string (??)
Coding style: never have the same lines of code appear over and over
lib
gui_rpc_client.h
gui_rpc_client_ops.C
Walt 21 Apr 2006
- Bug fix: When tracing network activity, increment trace_id when request
is created. All the trace records for that network operation will have
the same request number.
client/
http_curl.C
David 21 Apr 2006
- Kludge to make things work even when a project left out
a </gui_url> tag in its GUI URL list.
- comment out google/yahoo code in the BOINC Manager.
Rom: please finish this job
clientgui/
AccountManagerPropertiesPage.cpp
BOINCDialupManager.cpp
ProjectPropertiesPage.cpp
lib/
gui_rpc_client_ops.C
Walt 22 Apr 2006
- Bug fix: Don't use NTLM authorization for proxys.
client/
http_curl.C
David 23 Apr 2006
- core client: add missing \n to error string for failed results
client/
client_state.C
Rom 24 Apr 2006
- Bug Fix: Fix a connection to a remote machine bug.
clientgui/
MainDocument.h
Rom 25 Apr 2006
- Bug Fix: Fix for missing includes.
client/
cpu_sched.C
Rom 25 Apr 2006
- Bug Fix: PPM files need to be closed when we are finished using them
or we'll experience a handle leak
- Bug Fix: After drawing the PPM bitmap on an OpenGL surface, free the
memory.
api/
gutil.C
Rom 25 Apr 2006
- Bug Fix: Hide everything about a thread if it has been closed to
prevent identity information being disclosed as part of the
subject line.
html/user/
forum_thread.php
Walt 26 Apr 2006
- Bug Fix: Save local copy of locale so it gets restored properly later.
lib/
gui_rpc_client.h
Charlie 27 Apr 2006
-Mac: Change XCode project. build instructions and build scripts to use
curl-7.15.3 and to apply Walt's patch to curl-7.15.3/lib/url.c file.
doc/
mac_build.html
mac_build/
buildcurl.sh
buildjpeg.sh
setupForBOINC.sh
HowToBuildBOINC_XCode.rtf
boinc.xcodeproj/
project.pbxproj
Rom 27 Apr 2006
- Bug Fix: Create a BOINC Service shutdown custom action for the installer
since the installer technology wants to wait until after it has found
out which files are in use to shutdown the service.
win_build/installerv2/redist/Windows/src/boinccas/
CAShutdownBOINC.cpp, .h (Added)
win_build/installerv2/redist/Windows/x86/
boinccas95.dll
boinccas.dll
Charlie 28 Apr 2006
- Mac: Fix bug of 17 April creating BOINC Data directory.
- Change shell script which sets up Mac to run BOINC Client as a
daemon / service to launch BOINC only if BOINC Data directory
exists.
- Flush output of SetVersion and add Run Script phases to XCode project to
insure that updated info.plist file with correct version number is put
into the BOINC Manager, ScreenSaver, SystemMenu and PostInstall bundles.
clientgui/
BOINCGUIApp.cpp
Mac/
SetVersion.C
mac_build/
Make_BOINC_Service.sh
boinc.xcodeproj/
project.pbxproj
David 28 Apr 2006
- create_work (both program and function):
handle <command_line> element in WU template file
- remove assert()
client/
cpu_sched.C
html/inc/
stats_sites.inc
tools/
backend_lib.C
David 28 Apr 2006
- core client: if an input file has <generated_locally/> set,
don't try to download it.
This allows apps to use "initialization" files
that are large and/or computationally expensive to generate.
The app generates the file once,
and it will be available (assuming <sticky/> is set)
for subsequent workunits.
client/
app_start.C
cs_apps.C
cs_files.C
David 28 Apr 2006
- back end: handle <generated_locally/> in WU file infos.
There are for input files that are generated by the app.
We don't need to generate MD5, list URLs, etc.
- user web: enclose scheduler list in comments (from Roberto Virga)
html/user/
sample_index.php
tools/
backend_lib.C
Rom 28 Apr 2006 (by Frank S. Thomas)
- Bug Fix: The shutdown procedure should be passing ANSI strings to
the GUI RPC's instead of Unicode strings.
- Bug Fix: Remove the --no-unicode flags from configure.ac when trying
to determine which wxWidget libraries to use.
/
configure.ac
clientgui/
BOINCGUIApp.cpp
David 30 Apr 2006
- API: add all_threads_cpu_time flag to BOINC_OPTIONS
for applications that have more than one CPU-intensive thread.
Measure the CPU time of whole process, not just worker thread.
- Less insistent messages when client has worng URL for project
api/
boinc_api.C,h
client/
cs_scheduler.C
lib/
util.C,h
David 1 May 2006
- Web RPC: return flag if user is founder of their team
html/user/
am_get_info.php
David 1 May 2006
- API: win compile fix
api/
boinc_api.C
Rom 1 May 2006
- Windows Runtime Debugger Update:
New Features:
1. Enumerates and dumps the backtraces for all threads within
the process space.
2. Monitors and records data sent to the debugger viewport via
OutputDebugStringA and OutputDebugStringW
3. Displays the thread id and process id within the output.
4. Display the topmost window titles, class, processid, and
thread id.
api/
boinc_api.C
graphics_api.C
windows_opengl.C
clientgui/
stdwx.h
lib/
boinc_win.h
diagnostics.C, .h
diagnostics_win.C (Added)
stackwalker_imports.h (Added)
stackwalker_win.cpp
win_build/
boinc_ss.vcproj
boincmgr_curl.vcproj
libboinc.vcproj
Charlie 1 May 2006
- Mac: Fix bugs when linking with wxMac-2.6.3.
clientgui/
mac/
MacSysMenu.cpp
Rom 1 May 2006
- Add a commandline option to the screensaver to do a simple RPC
so that we can trick the firewall packages into displaying
a dialog asking for user approval before the real screensaver
ever launches.
- Fix the remaining issues with the Windows Runtime Debugger so
that it can now trap DBGHELP.DLL and SYMSRV.DLL messages and
log them as part of the crash.
- Remove some extra verbose messages from stdout and stderr in
the client library.
client/win/
win_screensaver.cpp
clientlib/win/
NetworkTracker.cpp
lib/
diagnostics.h
diagnostics_win.C
Rom 2 May 2006
- Have the BOINC Manager perform the screensaver test everytime
is successfully makes a connection to the localhost core
client. It executes so fast it doesn't even show up in the
process list and if the user ever switches firewall packages
it'll at least prevent the machine from going into limbo
when the screensaver is spposed to shutdown.
clientgui/
BOINCGUIApp.cpp, .h
MainFrame.cpp
Rom 2 May 2006
- Bug Fix: Calculate the page size after the OnChangedEvent is fired
and then set the dialog size. Should keep the wizard pages from
clipping the text.
- Bug Fix: Change the process execution code to use wxExecute since
it is async. If for some reason the old screensaver doesn't
get replaced by setup, we don't want to block the main UI thread.
clientgui/
BOINCGUIApp.cpp
wizardex.cpp
David 2 May 2006
- feeder: change the way -allapps work, so that results
from different apps alternate in shared memory.
This ensures that when an RPC returns >1 result,
they'll be for different apps.
TODO: make the ratio configurable.
- feeder: add -priority_order_create_time:
enumerate results by increasing workunit create time
- feeder: add -purge_stale X option: removes items that have been
in shared memory more than X minutes.
- scheduler: parse user project preference for elements
of the form <app_id>N</app_id>.
If any are found, only send the user work for those applications.
TODO: document the above
All the above from Kevin Reed of World Community Grid
sched/
feeder.C
sched_send.C,h
sched_shmem.h
server_types.h
show_shmem.C
David 2 May 2006
- got the above checkin compiling on linux
- server: removed all_apps arg to DB_WORK_ITEM::enumerate()
- removed some unused code in client
client/
client_state.C
client_types.h
db/
boinc_db.C,h
sched/
feeder.C
handle_request.C
sched_send.C
Walt 2 May 2006
- Display HTTP status message or code when its not 1xx or 2xx.
- Add a few more HTTP status messges to boincerror().
client/
net_xfer_curl.C
lib/
util.C
Rom 3 May 2006
- Bug Fix: To keep the Mac from clipping text in the wizard
increase the default width of a wizard page. The width
of each character is wider with the Mac fonts.
clientgui/
wizardex.cpp
David 3 May 2006
- user web: add "previous 20" link to result list page
(from Rytis Slatkevicius)
- code formatting, comments
api/
x_opengl.C
html/
user/
results.php
inc/
result.inc
sched/
feeder.C
Rom 4 May 2006
- Bug Fix: Increase the WaitHint from 10 seconds to 30 seconds so
the service mode install isn't so jumpy when it takes awhile
to shutdown.
client/win/
win_service.cpp
Charlie 5 May 2006
- Mac: Clean up build scripts for jpeg and curl.
mac_build/
buildcurl.sh
buildjpeg.sh
David 5 May 2006
- web user: fix typo
(from David Braun)
html/user/
get_project_config.php
David 5 May 2006
- GUI RPC sockets need to be close-on-exec
(otherwise applications inherit them)
- compile fix: change longs to ints
client/
gui_rpc_server.C
net_xfer_curl.h
Rom 8 May 2006
- Windows Runtime Debugger Update:
1. ERR_NESTED_UNHANDLED_EXCEPTIONS no longer exist.
2. Stack overflow conditions no longer cause the exception
handling code to blow up.
When a thread has an unhandled exception it stores the
exception pointer record in the thread list, signals the
unhandled exception monitor and then goes to sleep waiting
on a mutex that it will never be and to aquire.
If any other threads throw an unhandled exception they'll
store their exception records and go to sleep.
The unhandled exception monitor wakes up when signaled and
suspends all the non-excempt threads and proceeds to dump
all the information it has aquired on them to stderr.
api/
boinc_api.C
windows_opengl.C
lib/
diagnostics.C, .h
diagnostics_win.C, .h
error_numbers.h
stackwalker_win.cpp
util.C
Charlie 8 May 2006
- Mac: Add callback glutPassiveMotionFunc(mouse_move) to dismiss
screensaver on mouse move when no mouse button is pressed.
api/
x_opengl.C
Walt 8 May 2006
- Bug fix: DNS lookup when network was unavailable consumed all
available CPU. Fix limits times thru loop and adds a short
sleep before breaking out of it.
client/
client_state.C
David 9 May 2006
- Remove the constant MASTER_URL from html/project/project.inc.
Instead, use the <master_url> element from config.xml.
- PHP translation code: check for existence of last_compile_timer
before getting its mod time (avoid error msg)
- small fixes so the web site created by make_project
doesn't have broken links and images
- updates to sample front page
- make_project: copy a few additional files (e.g. graphics, en.po)
html/
inc/
email.inc
translation.inc
util.inc
languages/translations/
en.po
project.sample/
project.inc
user/
intro.php (removed)
sample_index.php
py/Boinc/
setup_project.py
tools/
make_project
David 9 May 2006
- core client: remove account mgr "already attached" message
client/
acct_mgr.C
Rom 10 May 2006
- IsDebuggerPresent first appeared in the Win98 timeframe, dynamically
link to it if it is there, otherwise assume that the debugger is not
present.
lib/
diagnostics_win.C
Rom 10 May 2006
- Make the capturing of debugger messages configurable via the registry.
Some software that plays music and DVDs is a little to chatty and
when we are capturing debugger output it causes the playback software
to freak out and become unplayable.
lib/
diagnostics_win.C
Eric K 11 May 2006
- (pthreads) Put a mutex around the cpu time calculation in
boinc_worker_thread_cpu_time(). If called from multiple
threads, this would occasionally report the wrong CPU time,
which could cause applications to abort.
- (unix) Added check of return value from getrusage() and retry on
failure.
- (WIN32) Added check of return value from timeSetEvent() and retry
on failure.
- (WIN32) Added timeKillEvent() calls to the boinc_exit() function
ensure that timers are freed properly.
- Added function boinc_timer_thread_active() function that apps can
call to see if the timer thread was properly created.
- Added function boinc_worker_timer() that application worker threads
can call in their main loop. This function will communicate with the
core client if the timer thread was not created.
- Added a dummy call to alloca() in LoadJPG to prevent failure of
setjmp/longjmp in the case that the frame pointer is optimized away.
This should be done on all functions where setjmp is called because
on some platforms longjmp will segfault if the frame pointer doesn't
exist. Some compilers aren't smart enough to know this.
- (WIN32) Added code to the windows exception handler to allow it pass
exceptions to the standard C signal handlers in the case where the
signal handlers have been overridden.
api/
boinc_api.C
boinc_api.h
gutil.C
lib/
diagnostics_win.C
Rom 10 May 2006
- Make the BOINC sample uppercase build again.
api/
gutil.C
lib/
boinc_win.h
diagnostics_win.C
David 15 May 2006
- make_project: copy example templates to templates/
- removed lib/language* (not used)
client/
client_state.C,h
file_names.h
html/inc/
news.inc
stats_sites.inc
lib/
language.C,h (removed)
Makefile.am
py/Boinc/
setup_project.py
test/
uc_result
tools/
create_work_example
Eric K 15 May 2006
- Added check check for alloca.h and memory.h to configure.ac
- Added check for alloca and _alloca to configure.ac
- Structural change to boinc_worker_timer() to get rid of essentially
empty if clause.
- (WIN32) set_worker_timer() now checks that interrupt_count is incrementing
before assuming success.
- Added MINGW32 fix for missing alloca() define to gutil.C
- Added MINGW32/Dev-C++ fix for missing fpreset() prototypes to boinc_win.h
configure.ac
api/
boinc_api.C
gutil.C
lib/
boinc_win.h
Rom 15 May 2006
- Switch the setTimerEvent to using a thread. setTimerEvent has to many
restrictions on it which may cause deadlocks if violated.
api/
boinc_api.C
Charlie 16 May 2006
- Mac: Fix a bug if name of default browser contains spaces.
Remove obsolete files language.C,h from XCode project
clientgui/
hyperlink.cpp
mac_build/
Make_BOINC_Service.sh
boinc.xcodeproj/
project.pbxproj
Rom 15 May 2006
- Bug Fix: Change the account not found window title to login failed.
- Bug Fix: If a login call fails for an account manager turn off using
cached credentials for the next login request.
- Add a field to the host info structure called accelerators. Right now
it just contains the name of the video card(s) in the computer on
Windows. In the future it could also contain information such as
if CrealSpeed, PCI-X math accelerator, is installed on the system.
- Remove what is now dead code in the manager.
client/win/
hostinfo_win.cpp
clientgui/
AccountManagerProcessingPage.cpp
AccountManagerPropertiesPage.cpp, .h
NotFoundPage.cpp
ProjectPropertiesPage.cpp, .h
lib/
hostinfo.C, .h
Rom 15 May 2006
- Remove the old BOINC GUI app from the source tree.
- Remove the old BOINC client lib from the source tree.
client/
file_names.C
main.C
cient/win/
StdAfx.cpp, .h (Removed)
boinc_dll.h (Removed)
boinc_dll.rc (Removed)
boinc_gui.h (Removed)
boinc_gui.rc (Removed)
win_idle_tracker.cpp, .h (Removed)
win_idle_tracker.def (Removed)
win_screensaver.cpp
win_util.cpp, .h (Removed)
wingui.cpp, .h (Removed)
wingui_dialog.cpp, .h (Removed)
wingui_listctrl.cpp, .h (Removed)
wingui_mainwindow.cpp, .h (Removed)
wingui_piectrl.cpp, .h (Removed)
wingui_proxydlg.cpp, .h (Removed)
wingui_sswindow.cpp, .h (Removed)
lib/
util.h
win_build/
boinc_gui.vcproj (Removed)
Rom 15 May 2006
- Another two files that can be deleted.
lib/
exception.C, .h (Removed)
Rom 15 May 2006
- Remove some more code that isn't currently used, if we need it
it is still in the 5.2 and 5.4 branches.
client/win/
cpuid_tbl.cpp, .h (Removed)
optBench.hpp (Removed)
opt_x86.h (Removed)
opt_x86cpu.cpp (Removed)
optimize.hpp (Removed)
David 16 May 2006
- remove references to exception.C,h
- save stat data for 30 days, not 30 records
client/
app_graphics.C
scheduler_op.C
win/
win_screensaver.cpp
win_build/
boinc_ss.vcproj
libboinc.vcproj
Rom 16 May 2006
- Manually perform memory leak detection since we now terminate the
process before the memory leak detection stuff kicks in.
- Cleanup used diagnostic resources when boinc_exit() is called.
api/
boinc_api.C
lib/
boinc_win.h
diagnostics.C, .h
diagnostics_win.C
Charlie 16 May 2006
- Mac: Update XCode project, build instructions and build scripts
to use wxMac-2.6.3 instead of 2.6.2.
Remove obsolete files exception.C,.h from XCode project.
- Compile fix: don't #include <malloc.h> in stdwx.h if Mac.
clientgui/
stdwx.h
mac_build/
HowToBuildBOINC_XCode.rtf
buildWxMac.sh
setupForBOINC.sh
boinc.xcodeproj/
project.pbxproj
Rom 16 May 2006
- Add a field to host info which contains CPU feature information.
client/win/
hostinfo_win.cpp
lib/
diagnostics_win.C
hostinfo.C, .h
Rom 16 May 2006
- Core client needs to still support Win95, so make the processor
feature detection code work on Win95.
client/win/
hostinfo_win.cpp
Rom 16 May 2006
- Bug Fix: When an application is running in standalone mode the missing
init file should not cause the diagnostics_init() routine to return
an error.
- Bug Fix: Prevent the exception handling thread from stalling when the
foreground window happens to be from its own process space. If you
were single stepping inside of a debugger then the process acted as
though it was deadlocked since the debugger had suspended the other
threads.
- Bug Fix: Initialize the diagnostics library even thuogh an alternate
entrypoint might have been used.
api/
graphics_api.C
lib/
diagnostics.C
diagnostics_win.C
Rom 19 May 2006
- Add a check for the FPU and add it to the capabilities list for a
host.
- Bug Fix: Change CreateThread calls to _beginthreadex calls in
diagnostics_win.C to avoid having the CRT terminating a thread
when it attempt to use fprintf or any other CRT function when
memory is running really tight.
client/win/
hostinfo_win.cpp
lib/
diagnostics.h
diagnostics_win.C
Rom 19 May 2006
- Add the CPU flags for various flavors of *nix
client/
hostinfo_unix.C
David 21 May 2006
- core client: change name of configuration file
old name: log_flags.xml
new name: cc_config.xml
format:
<cc_config>
<log_flags>
...
</log_flags>
[ <save_stats_days>N</save_stats_days> ]
</cc_config>
- core client: limit on how many days of statistics to save
is now configurable (see above)
- user web: add "CPU usage limit" preference
(soon to be implemented in client)
- add wrapper program for existing binaries (not finished)
apps/
wrapper.C
Makefile.am
client/
file_names.h
log_flags.C,h
main.C
scheduler_op.C
html/inc/
prefs.inc
stats_sites.inc
David 21 May 2006
- core client: implement "CPU usage limit" preference
- core client: print CPU scheduling messages only if
"tasks" log flag is set
- core client: mechanisms for suspending activities
(idle, time-of-day, explicit control)
affect only CPU, not network usage
- Manager: fix garbled message about needing network connection
client/
app_control.C
app_start.C
client_state.C,h
cs_apps.C
cs_prefs.C
log_flags.C
main.C
clientgui/
BOINCDialupManager.cpp
lib/
prefs.C,h
Rom 21 May 2006
- Translate the process and thread priorities into text.
lib/
diagnostics_win.C
David 21 May 2006
- core client: move "dont_check_file_sizes" tag out of log flags
section of config file
client/
cs_files.C
log_flags.C,h
David 22 May 2006
Support for Microsoft "symstore" mechanism,
for getting symbols from a remote server:
- core client: add "symstore" element to PROJECT.
Parse this from scheduler reply file;
store in client state file.
Add to app info file that's passed to applications.
- API: parse symstore from app init file
- server: parse symstore URL from config file;
include in scheduler reply
client/
app_start.C
client_types.C,h
scheduler_op.C
lib/
app_ipc.C,h
hostinfo.h
sched/
sched_config.C,h
server_types.C
Rom 22 May 2006
- Add some additional logging to the unhandled exception filter
initialization routine.
- If the unhandled exception filter monitor hasn't been created
for some reason don't even attempt to signal the thread to
do anything just terminate the process with the exception
code. If more than one thread crashes at a time let the OS
decide who wins the critical section.
lib/
diagnostics_win.C
David 22 May 2006
- core client: fix logic error involving the
"5 minutes of network after GUI RPC" thing.
client/
client_state.C
Bruce 23 May 2006
- Make backend more robust, to prevent 'stuck' workunits. Now
transitioner will not sent the transition_time to INT_MAX
UNLESS a canonical result has been found. Otherwise it is
set to MAX(ten days, 1.5*delay_bound) in the future. This
ensures that the transition will 'see' the workunit again
if no canonical result has been found.
sched/
transitioner.C
David 22 May 2006
- Client: handle "<next_rpc_delay>" element in scheduler reply.
This tells the client to do another scheduler RPC after X seconds.
apps/
wrapper.C
client/
client_types.C,h
cs_scheduler.C
scheduler_op.C,h
Rom 22 May 2006 (From Sebastian Masch)
- Bug Fix: Keep the CPU capabilities string from growing without
bound by initializing the string each time
get_processor_capabilities() is called.
client/win/
hostinfo_win.cpp
Rom 23 May 2006
- Dump process statistics and the time of a crash.
- Add some more error logging to the diagnostics startup routines.
lib/
diagnostics_win.C
Bruce 24 May 2006
- Adding a bit of logging to the scheduler to try and track down a
bug that might have been introduced ~ March 11, which is marking
some 'in progress' results as 'client error' and triggering
the transitioner.
- Have scheduler ignore some additional unrecognized tags in sched
requests: cache_l[123] and cpu_caps. These appear not to be
anywhere in the source code tree or documented anywhere!!
sched/
handle_request.C
server_types.C
Rom 24 May 2006
- Provide a way for an application to specify its symstore even when
the core client doesn't yet support symstores.
lib/
diagnostics.C, .h
David 24 May 2006
- Implement a new XML parsing mechanism, consisting of functions
get_tag(), get_int(), get_double(), and get_bool().
These will correctly (and efficiently) parse
<foo>X</foo>
and
<foo>
X
</foo>
and
<foo>
X
</foo>
etc.
It will parse
<foo/>
and
<foo></foo>
and
<foo>
</foo>
identically.
The python-generated XML (e.g. config.xml) is of the form
<foo>
X
</foo>
Currently the new code is used to parse config.xml.
Eventually all XML parsing should be done this way.
- User web: initialize cpu_usage_limit in prefs
html/inc/
prefs.inc
lib/
parse.C,h
sched/
sched_config.C,h
Rom 24 May 2006
- Remove references to the MM Timer stuff. A real thread is now used
in its place.
api/
boinc_api.C
Rom 25 May 2006
- Trap delay load exceptions and dump meaningful messages when a delay
load dll fails to load.
NOTE: At a minimum projects should flag GDI32.DLL, OPENGL32.DLL, and
GLU32.DLL as delay load dlls. If all goes well we'll see more
meaningful messages when one of the system graphics dll's fail to
load for whatever reason. For those who are building their
applications with Visual Studio you can detect the DLL load
failure and just disable graphics for that instance of the
application.
0xC0000135 = STATUS_DLL_NOT_FOUND
0xC0000139 = STATUS_ENTRYPOINT_NOT_FOUND
0xC0000142 = STATUS_DLL_INIT_FAILED
0xC0000143 = STATUS_MISSING_SYSTEMFILE
lib/
diagnostics_win.C, .h
David 25 May 2006
- scheduler: add "next_rpc_delay" item to config file.
This lets a project tell clients to reconnect after some interval.
It's intended to support projects with tight delay bounds
(e.g. a few minutes) and therefore need to control the rate
of client requests.
Currently the delay interval is specified in the config file.
This is for testing.
Ultimately we'll need a dynamic mechanism.
- default cpu_usage_limit is 100, not 1
lib/
prefs.C
sched/
sched_config.C,h
server_types.C
David 25 May 2006
- core client: add optional <result_abort> and <result_abort_if_unstarted>
elements to scheduler reply.
Each is a list of result names.
In the first case the results are aborted.
In the second case the results are aborted if they
haven't started computing yet.
NOTE: the scheduler doesn't currently use these.
But they're there in case we want them.
- added RESULT_ABORTED status code and ERR_ABORTED_BY_PROJECT error number.
This eliminates the kludge in which aborted results
were classified as RESULT_COMPUTE_ERROR
- core client: remove aborted_via_gui field from RESULT.
Aborts are now always handled immediately,
and recorded in the "state" and "exit_status" fields of RESULT.
- Manager: changes to reflect the above
client/
app_start.C
client_types.C,h
cpu_sched.C
cs_scheduler.C
gui_rpc_server_ops.C
scheduler_op.C,h
clientgui/
ViewWork.cpp
html/inc/
result.inc
lib/
error_numbers.h
gui_rpc_client.h
gui_rpc_client_ops.C
result_state.h
util.C
David 25 May 2006
- compile fixes
lib/
gui_rpc_client.h
gui_rpc_client_print.C
David 25 May 2006
- fixes for result abort logic
client/
cs_apps.C
clientgui/
ViewWork.cpp
David 25 May 2006
- scheduler: if client reports a result, and it currently has
state = OVER and outcome != NO_REPLY,
then don't change its state or process it further.
(from Bruce Allen)
sched/
handle_request.C
David 26 May 2006
- bug fix in new XML parser - wasn't stripping whitespace
from single-line elements
- scheduler: parse all elements, even unused ones
lib/
parse.C
sched/
sched_config.C
David 27 May 2006
- Add "invitation code" mechanism for restricting account creation.
See http://boinc.berkeley.edu/account_control.php
From Eric Myers.
- Remove "client_account_creation_disabled" config flag
(it was temporary during transition to version 5 software)
html/
languages/translations/
en.po
user/
create_account.php
create_account_action.php
create_account_form.php
get_project_config.php
David 28 May 2006
- Add account manager URL to APP_INIT_DATA structure
(so that apps can see what acct mgr is being used, if they want)
client/
app_start.C
lib/
app_ipc.C,h
David 29 May 2006
- Windows version of wrapper
apps/
wrapper.C
Rom 29 May 2006
- Bug Fix: MinGW doesn't define RVA so define it.
- Bug Fix: When building under something other than a Microsoft compiler
comment out some of the thread naming code so that other compilers
can be happy. At some point we should revisit this as a project
who builds with MinGW may need somebody to debug their application
with the Debugging Tools for Windows which does understand the
thread naming convention.
lib/
diagnostics_win.C, .h
Rom 29 May 2006
- Bug Fix: Implemented the thread naming code for compilers that do not
understand SEH exceptions.
lib/
diagnostics_win.C
David 30 May 2006
- Transitioner: check return value of process_result_template()
(e.g. if upload certificate generation fails)
- move wrapper.C to boinc_samples
apps/
Makefile.am
wrapper.C (removed)
tools/
backend_lib.C
Rom 29 May 2006
- Bug Fix: Wait until the exception monitor has finished initializing
before finishing boinc_diagnostics_init() in case the very next thing
the program does is throw an exception.
lib/
diagnostics_win.C
David 31 May 2006
- database code: the following functions
DB_VALIDATOR_ITEM_SET::enumerate()
DB_WORK_ITEM::enumerate()
were using a left join on (workunit, result) or (result, workunit),
then parsing the result in a way that would crash
if only one item was present
(e.g. if there's a WU without corresponding result, or vice-versa).
Solution: replaced "left join" with a "natural join", i.e.
select ... from workunit, result where ...
db/
boinc_db.C
sched/
sched_config.C
Bruce 31 May 2006
- scheduler: do a better job of accepting results from host machines
which may modify an EXISTING & OVER result in the database.
- file_upload_handler: check for 'stop_upload' trigger file in the
project root directory. If so, return ERR_TRANSIENT to hosts which
attempt uploads. This is the equivalent of 'stop_sched' for the
scheduler. (Eric, you may want to check that this is FCGI compatible).
db/
boinc_db.C
sched/
handle_request.C
file_upload_handler.C
sched_config.C
David 31 May 2006
- Server: new scheme for directory permissions.
The scheme assumes that the 'apache' user belongs
to the primary group of the project creator (say, 'boinc').
The components are:
1) make_project sets the permissions of various directories
(upload, profiles, etc.) to 02770 (set GID).
This means that when apache creates a file or directory
within that directory,
it will be owned by group 'boinc'.
2) The code that creates files and directories uses 0770 permissions,
so by default nothing is world-accessible.
This fixes a bug where directories and files created by apache
(i.e. by the scheduler or file upload handler)
are inaccessible to the project creator.
(So that, e.g., the file deleter can't delete files)
There are other schemes for handling this problem; see
http://boinc.berkeley.edu/groups.php
but this one is the best, IMHO.
- scheduler: if store req/reply messages in files,
put them in /tmp, not in cgi-bin/
- document 'stop_upload'
doc/
groups.php (new)
tool_start.php
lib/
filesys.C
py/Boinc/
setup_project.py
sched/
main.C
sched_util.C
David 31 May 2006
- Add new GUI RPC <get_cc_status>: returns
1) network status (same as <network_status> RPC)
2) flag saying whether a timer-driven account managaer RPC
has returned a bad-password error
(so Manager can notify user)
... any future status items will be added here
- got rid of commented-out <lookup_website> RPC
client/
acct_mgr.C,h
gui_rpc_server_ops.C
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
Rom 1 June 2006
- Bug Fix: boinc_finish() can be called from any thread, so do not
close the handle to one of the potiential calling threads from it.
NOTE: I haven't found any documentation that states what the expected
behavior is for closing the handle to the actively running thread
but I don't expect it to be good.
api/
boinc_api.C
Bruce 1 June 2006
- scheduler: clearer messages to use if refusing to accept a result.
- DB purger: make sleep interval a command line option (current 600
secs is still the default value).
sched/
db_purge.C
handle_request.C
David 1 June 2006
- Changes to account manager protocol,
to allow account managers to directly manipulate global preferences:
1) request message now includes <global_preferences> element,
with current global preferences,
and their source and mod time
2) request message no longer includes <prefs_mod_time>
and <prefs_source_project>;
these items are in the new <global_preferences> element.
3) reply message now includes optional <global_preferences> element.
This should be sent only if prefs are newer
than those in the request message.
4) reply message now includes optional <host_venue> element.
This determines what preferences set is used.
client/
acct_mgr.C,h
client_state.h
cs_prefs.C
cs_scheduler.C
David 1 June 2006
- wherever xml_escape() is used, make sure the output buffer
is at least 6X the size of the input,
since the largest expansion is X -> &#NNN;
This is a kludge.
We should switch to #defined buffer-size params,
instead of having 256 and 2048 everywhere.
Or we should use std::string everywhere.
(but I don't think we can do this, because I've seen
repeated performance problems and outright bugs with std::string).
client/
client_types.C
db/
boinc_db.C
lib/
app_ipc.C
parse.C
proxy_info.C
sched/
db_dump.C
db_purge.C
David 1 June 2006
- don't ignore global prefs override file when handling
new prefs from a project (from Ian Hay)
client/
acct_mgr.C
client_state.C,h
cs_prefs.C
Charlie 1 June 2006
- Mac: Fix "About BOINC" menu item in Dock when linking with wxMac-2.6.3.
clientgui/
BOINCTaskBar.cpp
David 2 June 2006
- Code cleanup and logic fixes in general prefs code
client/
acct_mgr.C
client_state.h
cs_apps.C
cs_prefs.C
cs_scheduler.C
Bruce 3 June 2006
- Transitioner: nasty bug in logging, wrong result id/name
- Scheduler: clearer logging for debugging purposes
- Scheduler: refuse to upload results if DB item is
(1) over and (2) validate state init and (3) NOT file_delete==INIT.
- Unix package: since BOINC manager now starts client, change message
to user after install.
(David, please bless addition of file_delete_state to SCHED_RESULT_ITEM.)
db/
boinc_db.C
boinc_db.h
sched/
handle_request.C
transitioner.C
Bruce 4 June 2006
- HTML ops page: properly display queries containing '<' and '>'.
- HTML ops page: close <head> tag in page head.
html/
ops/
db_action.php
inc/
util_ops.php
David 4 June 2006
- add "switcher" program (part of new sandbox scheme)
client/
Makefile.am
app.C
switcher.C (new)
Charlie 6 June 2006
- Mac: New helper command-line application SetUpSecurity creates boinc_master
and boinc_project users and groups if needed. When complete, this
application will also set users, groups and permissions of Manager, Client,
etc. to aid debugging during build / debug cycles.
clientgui/
mac/
SetupSecurity.cpp (new)
mac_build/
boinc.xcodeproj/
project.pbxproj
David 6 June 2006
- scheduler: if we think a host has detached
(because of zero host ID but existing CPID)
marks its in-progress results as NO_REPLY, not CLIENT_ERROR
- scheduler: remove special handling for reported results
that are OVER/CLIENT_ERROR
(with above change, this shouldn't happen)
- scheduler: if we can't attach to shared memory,
return "Project encountered internal error" to client,
not misleading "Project is temporarily shut down for maintenance"
- shmem-related functions: call perror() on error
- make_project: <show_results>, not <show_result>
- my email address was hardwired in watchdog.php - ouch!
db/
boinc_db.h
html/ops/
watchdog.php
lib/
shmem.C
py/Boinc/
setup_project.py
sched/
handle_request.C
main.C
David 6 June 2006
- boinc_mkdir(): temporarily zero umask so that
directories will always be group RW
(from Dr. M.F. Somers)
- Back end: add optional <dont_delete_batches> flag to config.xml.
If set, the file deleter won't delete files for workunits
or results with positive batch.
Use this to preserve files until you're done looking at them
(then do a SQL query that zeros or negates the batch
numbers for that particular batch).
See http://boinc.berkeley.edu/configuration.php
client/
client_state.C,h
client_types.C
lib/
filesys.C
sched/
file_deleter.C
sched_config.C,h
David 6 June 2006
- Scheduler/file upload handler: added optional config.xml items
<sched_debug_level> and <fuh_debug_level>
for specifying log verbosity level for
scheduler and file upload handler respectively
(from Dr. M.F. Somers)
sched/
file_upload_handler.C
main.C
sched_config.C,h
Charlie 6 June 2006
- Mac: Separate out main() from SetUpSecurity so it can be called either
standalone from XCode as well as from Installer, Manager or Core Client.
CreateBOINCUsersAndGroups() sets default shell of users boinc_master
and boinc_project to /sbin/nologin to prevent a security hole by not
allowing these users to log in. Make CreateBOINCUsersAndGroups() more
robust by retrying each step up to 5 times.
Add code to call CreateBOINCUsersAndGroups() from installer.
clientgui/
mac/
SecurityUtility.cpp (new)
SetupSecurity.h (new)
SetupSecurity.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
mac_installer/
postinstall.cpp
Rom 7 June 2006
- Finish implementing the BOINCINFO macro which will display trace type
statements even in release builds when BOINC_INFOMSGS is defined as
a preprocessor define.
- Tag each of the control messages and graphics messages with the
BOINCINFO macro so we can see what was going on when an application
executes.
api/
boinc_api.C
windows_opengl.C
client/
app_graphics.C
lib/
boinc_win.h
diagnostics.C
diagnostics_win.C
Charlie 7 June 2006
- Mac: SetUpSecurity sets owner=boinc_master, group=boinc_master and
permissions of BOINC Manager bundle and its contents.
When run standalone (from XCode), it assists the development / debug
cycle by making everything group writable and adds logged in user
to group boinc_master. When run from Installer, Manager or Client,
makes everything non-writable by owner, group and other for security.
clientgui/
mac/
SecurityUtility.cpp
SetupSecurity.h
SetupSecurity.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 7 June 2006
- make_work: allow multiple -wu_name arguments.
Make_work will create copies of these WUs, cyclically
sched/
feeder.C
make_work.C
Charlie 8 June 2006
- Mac: SetUpSecurity sets owner, group and permissions of BOINC Data
directory. Put short delays after each step to make it more robust.
clientgui/
mac/
SecurityUtility.cpp
SetupSecurity.h
SetupSecurity.cpp
Rom 8 June 2006
- Bug Fix: When the debugger fails to initialize do not attempt to use
the other debugger functions.
- Bug Fix: Display which functions are not found in dbghelp.dll when one
or more are missing.
lib/
diagnostics_win.C
stackwalker_win.cpp
David 8 June 2006
- Add WU items (rsc_fpops_est, rsc_fpops_bound, rsc_memory_bound,
rsc_disk_bound) to APP_INIT_DATA structure,
so app can knows its own limitations
- Added boinc_get_init_data_p(APP_INIT_DATA*),
so that plain C apps can get this info
api/
boinc_api.C,h
client/
app_start.C
html/inc/
stats_sites.inc
lib/
app_ipc.C,h
gui_rpc_client.h
sched/
sample_bitwise_validator.C
Rom 8 June 2006
- Reduce the amount of duplicate error information when dbghelp.dll
fails to be able to find references to symbolic information.
- Bug Fix: Fix a sympath parsing issue that will freak out dbghelp.dll
lib/
stackwalker_win.cpp
Charlie 9 June 2006
- Mac: Reorganize SetUpSecurity for better efficiency. When run
standalone (from XCode), SetUpSecurity adds logged in user to
group boinc_project in addition to group boinc_master. Change
default shell of users boinc_master and boinc_project to
/usr/bin/false and set their home directory to /vars/empty;
these changes prevent these users from appearing in the Mac's
GUI login window.
- Fix opening URLs in default browser with wxMac-2.6.3.
- Fix compile error in macglutfix.m due to boinc_api.h declaration of
boinc_get_init_data_p().
clientgui/
mac/
SetupSecurity.cpp
api/
boinc_api.h
clientgui/
hyperlink.cpp
Rom 9 June 2006
- Bug Fix: After many many many weeks of hunting the 0xc000000d bug I
finally hit it. It appears that the timer thread was attempting
to shutdown graphics while the graphics thread was still trying to
render a frame. The next call to an OpenGL function throws an
exception.
I had to use WinDBG because Visual Studio wouldn't attach to the
process.
Another interesting note, for some reason the Unhandled Exception
Filter was triggered. Maybe OpenGL installs its own filter?
In anycase the solution is remove the graphics thread shutdown
code. It was only being used on Windows, and now that we are
using TerminateProcess() all the threads will be halted and
resources cleaned up which should include OpenGL.
api/
boinc_api.C, .h
windows_opengl.C
David 9 June 2006
- Core client: Linux bug fix. New code to get CPU capabilities
was appending rather than replacing.
No check for buffer length.
Eventually overflowed and crashed client.
Notes:
- Never use strncpy().
- Never have the same block of code repeated several times
(the \n stuff).
- Remember these notes
- Create all shared mem segs with 0660 protection
(affects both server and client)
client/
hostinfo_unix.C
lib/
shmem.C
Bruce 9 June 2006
- Sched code: move function into sched_util; useful for project
validation.
- Minor E@H specific change
sched/
handle_request.C
sched_util.[hC]
sched_locality.C
David 9 June 2006
- Extended checkin-before-last to work for MIPS and Alpha also.
Eliminated separate versions of parse_cpuinfo() (see 2nd Note above).
MIPS/Alpha people: please verify that it still works
client/
hostinfo_unix.C
David 9 June 2006
- First pass on reforming the validator framework.
OLD: the documents made the task of creating a custom validator
seem impossibly daunting.
NEW: Defined two frameworks.
- A "simple framework" lets you create a custom validator
by supplying three simple functions:
1) parse a result
2) compare two parsed results
3) free a parsed results
This is based on the "generic_check_set()" code that
Karl Chen wrote for the sample bitwise validator;
I simplified this, got rid of the function pointers,
and moved it to a separate file (validate_util2.C,h)
- An "advanced framework" requires you to supply
check_set() and check_pair() functions.
This sounds simple, but actually is not; see
http://boinc.berkeley.edu/validate_logic.txt
Note: the check_set() function defined by the simple framework
doesn't do everything the above spec says it should;
I'll get back to that later.
- added lookup_group() and associated error codes (for sandbox)
lib/
error_numbers.h
util.C,h
sched/
Makefile.am
handle_request.C
sample_bitwise_validator.C
sample_trivial_validator.C
validate_util.C,h
validate_util2.C,h (new)
validator_placeholder.C
Charlie 9 June 2006
- Changes for sandbox:
Renamed global variable boinc_project_gid to g_boinc_project_gid.
Change shared memory segment group to g_boinc_project_gid.
Set umask to 002 in both client and manager so files are writable
by both user and group.
Allow access to gui_rpc_auth.cfg by group boinc_master so authorized
administrator can create or modify it.
client/
app_start.C
client_state.C,h
client_types.C
gui_rpc_server.C
main.C
clientgui/
BOINCGUIApp.cpp
lib/
shmem.C,h
David 9 June 2006
- Make boinc_project_id a field of CLIENT_STATE
- Fix compile failuer when SANDBOX is not defined
- Fix logic error in create_shmem()
client/
app_start.C
client_state.C,h
lib/
shmem.C
Bruce 10 June 2006
- When calling project-provided validator functions, populate the
WU.rsc_fpops_est field. This can be useful in
determining how much credit to assign, and preventing cheating.
- file_deleter: if deleting antique files, follow links when
finding the files. This allows NFS mounting of the upload
directory, pointed to by a symbolic link.
DAVID: I was going to be a good guy and document this, but you
forgot to check validate_simple.php and validate_advanced.php
into CVS (:-).
DAVID: your change to create_shmem() broke the sched build.
Check my 'fix' to feeder.C to see if this is what you had
intended.
DAVID: config was not defined in validate_util.C ; I made
it extern. Likewise for validate_util2.C. Also messed up
includes in latter file.
sched/
boinc_db.C
feeder.C
validate_util.C
validate_util2.C
file_deleter.C
David
- tweaks
sched/
make_work.C
validate_util.C,h
validate_util2.C
Charlie 11 June 2006
- Change g_boinc_project_gid to gstate.boinc_project_gid in
FILE_INFO::set_permissions().
client/
client_state.C
David 11 June 2006
- more sandbox stuff, with #ifdef SANDBOX:
- make projects/ and slots/ owned by boinc_projects
- make link files owned by boinc_projects
- add boinc_chown() function
client/
app_start.C
file_names.C
lib/
app_ipc.C
error_numberse.h
filesys.C,h
util.C
David 12 June 2006
- Graphics API: change params of boinc_app_mouse_button()
and boinc_app_mouse_move() from bool to int (for ANSI C compatibility)
api/
graphics_api.h
static_graphics.C
x_opengl.C
David 12 June 2006
- User web: expand the list of message-board rules a bit
(no ads, no trolling etc.)
Link to a page that describes the moderation policy in more detail.
- Add a page (not linked to anywhere) containing instructions for moderators.
NOTE: the latter 2 pages are included as samples;
you'll want to rename sample_X to X unless you need to customize it.
html/
inc/
forum.inc
user/
sample_moderation.inc (new)
sample_moderator_instructions.inc (new)
David 12 June 2006
- API: get rid of boinc_timer_thread_active(), boinc_worker_timer():
either we can create a timer thread, or the app doesn't run.
api/
boinc_api.C,h
David 12 June 2006
- shuffle #ifdefs for ANSI C compile
lib/
filesys.h
Charlie 13 June 2006
- more sandbox stuff, with #ifdef SANDBOX.
- Mac: Add switcher to XCode project.
Update SetUpSecurity to match latest protections spec.
client/
app_start.C
client_types.C
file_names.C
gui_rpc_server.C
main.C
clientgui/
BOINCGUIApp.cpp
mac/
SecurityUtility.cpp
SetupSecurity.cpp,h
mac_build/
boinc.xcodeproj/
project.pbxproj
David 13 June 2006
- core client: don't check app disk usage more often than
every 5 min (used to be 5*disk interval)
- scheduler XML parsing code: handle XML comments
(you can now have comments in config.xml)
client/
app_control.C
lib/
parse.C
sched/
sched_config.C
David 13 June 2006
- Web RPC: fix bug where am_set_info.php wasn't correctly
removing user from team when teamid=0
html/
inc/
team.inc
user/
am_set_info.php
team_quit_action.php
Rom 14 June 2006
- Bug Fix: Fix crashing condition with Unicode BOINC Manager.
(From Frank S. Thomas)
- Reduce duplicate code in diagnostics.C.
- Change screensaver logging mechinisms.
client/win/
win_screensaver.cpp
clientgui/
MainFrame.cpp
lib/
diagnostics.C, .h
Rom 14 June 2006
- Reduce duplicate code in diagnostics.C.
- Display the detected CPU capabilities for those who want to
manually use an optimized application via app_info.xml
client/
client_state.C
lib/
diagnostics.C, .h
Charlie 14 June 2006
- more sandbox stuff, with #ifdef SANDBOX:
Change projects, slots directories to boinc_master:boinc_master 0775.
Mac: I Manager creates BOINC Data directory set its permissions to 0575.
Manager checks ownership and permissions; if incorrect it alerts user
and quits.
client/
check_security.C (new)
file_names.C
clientgui/
BOINCGUIApp.cpp
mac/
SetupSecurity.cpp,h
lib/
util.h
mac_build/
boinc.xcodeproj/
project.pbxproj
Rom 14 June 2006
- Fix build break in diagnostics.C.
lib/
diagnostics.C
David 14 June 2006
- core client: implement <copy_file/> property for output files
(previously it was implemented for input files only).
If present, move the file from slot directory
to project directory when the result is done.
client/
app.h
app_control.C
app_start.C
Rom 14 June 2006
- Bug Fix: Fix crashing condition with Unicode BOINC Manager.
(From Frank S. Thomas)
clientgui/
ViewTransfers.cpp
David 14 June 2006
- tools: dir_hier_path didn't work when the directory already existed.
It would create a new directory with a garbage name.
- tools: process_wu_template(): this wasn't passing through <copy_file/>.
Changed it so that it copies any elements it doesn't recognize.
sched/
sched_util.C
tools/
backend_lib.C
dir_hier_path.C
David 14 June 2006
- core client: mark aborted results as ready to report
(from John McLeod)
client/
client_state.C
client_types.C
hostinfo_unix.C
David 14 June 2006
- Windows graphics API: if in screensaver mode,
close on any input, even if control key is down
api/
windows_opengl.C
David 14 June 2006
- core client: sanity check on read statefile:
make sure two active tasks don't have the same slot
client/
app.C,h
Rom 15 June 2006
- Remove the code block that mixes the forum rating restrictions with
reporting abuse.
- Add the moderators name to all outgoing moderation email
- Add the email address that should be used for disputes with
moderation.
html/inc/
email.inc
html/user/
forum_moderate_post_action.php
forum_moderate_thread_action.php
forum_report_post.php
Charlie 15 June 2006
- Mac sandbox:
- GDB can't attach to applications which are running as a diferent user
or group so it ignores the S_ISUID and S_ISGID permisison bits when
launching an application. To work around this, the _DEBUG version
of both the Manager and Client use the current user and group, and
temporarily change the ownership of the BOINC Data hierarchy if
necessary.
- Manager and Client call check_security(); deployment versions notify
the user and quit if they find a problem with ownership or permissions
of either the application or the BOINC Data.
- Better setting of _DEBUG and __WXDEBUG__ in Manager and Client builds.
client/
check_security.C
main.C
clientgui/
BOINCGUIApp.cpp
mac/
MacGUI.pch
SecurityUtility.cpp
SetupSecurity.cpp,h
lib/
util.h
mac_build/
boinc.xcodeproj/
project.pbxproj
Eric K 15 June 2006
- The getrusage calls in util.C and boinc_api.C are now protected with the
same pthread mutex.
- Changed CPU time monitor to prevent CPU time from incrementing faster than
real time.
lib/
util.[Ch]
api/
boinc_api.C
David 15 June 2006
- New CPU scheduler: the highlights are:
1) The implementation is better organized,
and more or less conforms to the design document
(http:/boinc.berkeley.edu/sched.php)
In particular, the CPU scheduling policy (what should run)
is separated from the enforcement policy (when to preempt).
2) The enforcement policy delays preemption of tasks that haven't
checkpointed recently, thus reducing wasted CPU time
when apps are removed from memory on preemption.
2) Instead of being either round-robin or EDF,
the scheduling policy is now a hybrid:
EDF for the projects that currently need it,
weighted round-robin among the others if
there additional CPUs available.
(designed by John McLeod and me; implemented by John)
- new log flag "cpu_sched_detail" for details on CPU scheduling
client/
app.C,h
app_control.C
app_start.C
client_state.C,h
client_types.C,h
cpu_sched.C
cs_apps.C
cs_scheduler.C
cs_statefile.C
log_flags.C,h
Rom 16 June 2006 (HEAD)
- Tag for 5.5.1 release, all platforms
boinc_core_release_5_5_1
Charlie 16 June 2006
- Mac sandbox: bug fixes
client/
check_security.C
client_state.C
file_names.C
main.C
clientgui/
BOINCGUIApp.cpp
mac/
SetupSecurity.cpp
lib/
filesys.C
David 16 June 2006
Core client code cleanup:
- separate "decide whether to scheduler CPUs" from "schedule CPUs"
- rr_misses_deadline() -> rr_simulation()
- removed set_X arguments from rr_simulation()
- removed RESULT::deadlines_missed, deadline_problem
- running_task_sort_pred() not member function
- fixed calculation of CPU shortfall
client/
client_state.C,h
client_types.h
cpu_sched.C
cs_scheduler.C
http_curl.C
David 16 June 2006
- API: boinc_report_app_status(): don't access shmem if
we're in standalone mode
- Web RPC: lookup_account.php can be used to see if an account
with given email exists (don't supply passwd_hash)
api/
boinc_api.C
David 16 June 2006
- initial code for parsing /proc (linux)
client/
procinfo_unix.C
David 16 June 2006
- Major revision to forum code
(from Janus Kristensen)
NOTE: this requires running the DB update in ops/db_update.php
html/
inc/
cache.inc
email.inc
forum.inc
forum_category.inc (new)
forum_dbh.inc (new)
forum_forum.inc (new)
forum_mainfactory.inc (new)
forum_moderators.inc
forum_mysql_dbh.inc
forum_post.inc (new)
forum_std.inc (new)
forum_thread.inc (new)
forum_user.inc (new)
text_transform.inc
languages/translations/
en.po
ops/
db_update.php
user/
edit_forum_preferences_action.php
forum_edit.php
forum_forum.php
forum_index.php (new)
forum_moderate_post.php
forum_moderate_post_action.php
forum_moderate_thread.php
forum_moderate_thread_action.php
forum_post.php
forum_rate.php
forum_reply.php
forum_report_post.php
forum_search.php (new)
forum_search_action.php (new)
forum_subscribe.php
forum_thread.php
forum_thread_status.php (new)
forum_thread_vote.php (new)
white.css
Charlie 16 June 2006
- Mac sandbox:
- more debugging aids
- add SWITCHER_DIR, SWITCHER_FILE_NAME
client/
check_security.C
file_names.h
clientgui/
mac/
SetupSecurity.cpp,h
Charlie 17 June 2006
- Mac sandbox:
- Fix bugs
- ACTIVE_TASK::start launches project app via new switcher app
- Client runs projects under different user and group boinc_project.
client/
app_start.C
check_security.C
switcher.C
clientgui/
BOINCGUIApp.cpp
mac/
SetupSecurity.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
Bruce 17 June 2006
- Scheduler: improve message to user if user running anonymous platform
and project+app does not support it.
sched/
sched_locality.C
David 17 June 2006
- core client: code cleanup (from John McLeod)
client/
client_state.h
cpu_sched.C
Bruce 17 June 2006
- Scheduler: populate sreq.host.credit_per_cpu_sec in case project wants
to send different work to slow and fast hosts. I'm experimenting with
the use of this in the locality scheduler.
(David: please check that the one-line change in handle_request.C is
globally harmless.)
sched/
handle_request.C
sched_locality.C (experimental code)
Matt 17 June 2006
- User web:
- If the flag <no_forum_rating/> is in config.xml,
the rating +/- links don't show up under posts.
- check in forum_rate.php to do the same check
(and make sure people are trying to sneakily downrate posts
without using the +/- links).
- fixed a bug in email.inc where the moderator e-mail address
wasn't showing up in "deleted post" e-mails.
html/user
forum_rate.php
html/inc
forum.inc
email.inc
David 18 June 2006
- Don't parse ACTIVE_TASK::scheduler_state from the state file.
This isn't carried across runs of BOINC.
- Remove ACTIVE_TASK_SET::restart_tasks() and CLIENT_STATE::restart_tasks():
just let the CPU scheduler take care of starting tasks.
- If file upload fails because file is missing, don't retry,
and show appropriate error message
client/
app.C,h
app_start.C
client_state.C,h
cs_apps.C
David 19 June 2006
- core client: make cpu_sched_last_check into a static variable
of possibly_schedule_cpus();
restart CPU scheduling period on any reschedule
(from JM7)
- remove unused args, etc.
client/
client_state.C,h
cpu_sched.C
David 19 June 2006
- core client: remove CLIENT_STATE::handle_file_xfer_apps().
Instead, handle this in CLIENT_STATE::update_results().
- core client: rename RESULT::reset_files() to clear_uploaded_flags()
client/
client_state.C,h
client_types.C,h
cpu_sched.C
cs_apps.C
sched/
update_stats.C
David 19 June 2006
- core client: cleanup in CPU scheduling
- move make_running_task_heap() into a function.
- no NULLs in running_task_heap
- renamed long vars to "deadlines_missed"
- renamed running_task_sort_pred() to more_preemptable()
Renamed args, to avoid calling left argument "rhs"
- rewrote unreadably long if() clauses
- changed deadlines_missed++ to --
There's still considerable deviation between code and spec.
This needs to be eliminated.
client/
client_state.h
Charlie 19 June 2006
- Mac sandbox:
- Better support for development
- XCode sets BOINC Manager bundle to current user & group, sets
S_ISUID | S_ISGID bits for Client, S_ISGID bit for Manager.
- ACTIVE_TASK::start launches project app via new switcher app
- Client runs projects under different user and group boinc_project.
client/
check_security.C
clientgui/
mac/
SetupSecurity.cpp,h
mac_build/
boinc.xcodeproj/
project.pbxproj
Rom 19 June 2006 (HEAD)
- Tag for 5.5.2 release, all platforms
boinc_core_release_5_5_2
Charlie 20 June 2006
- Mac: Fix build scripts to not set execute permissions bits inappropriately
- Mac sandbox:
- Add switcher directory and file to build scripts
- Postinstall application changes for SANDBOX
- Postinstall application adds BOINC Manager to login startup items for
all visible users, not just user currently logged in at install time.
- Postinstall application deletes installer's package receipt to permit
running installer again.
- DoPrivilegedExec uses pipe to determine when command completes.
client/
check_security.C
clientgui/
mac/
SetupSecurity.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
mac_installer/
release_boinc.sh
release_GridRepublic.sh
Postinstall.cpp
David 20 June 2006
- Add "verify files on app start" option for projects that
want to check MD5 and digital signatures of all relevant files
each time an app is started
(whether this provides any additional security is open to debate)
1) on scheduler, config.xml file has optional
<verify_files_on_app_start/> element
2) this element is passed in scheduler reply messages
and stored in client's client_state.xml file
3) if flag is set, MD5s and/or digital signatures are checked
on app startup (both initial and on resumption)
- Core client: don't accept self-signed SSL certificates
- Validator: changes to "simple framework" to handle
transient errors correctly
client/
app_start.C
client_state.C,h
client_types.C,h
cpu_sched.C
cs_apps.C
cs_files.C
http_curl.C
scheduler_op.C
sched/
sched_config.C,h
server_types.h
validate_util2.C
David 20 June 2006
- Debug "verify files on app start" feature
- ACTIVE_TASK::start(): call report_result_error()
on any error condition; this puts the result in
the correct state so that it won't get started again.
- CLIENT_STATE::verify_input_files() returns int, not bool
client/
app_control.C
app_start.C
client_state.C,h
cs_apps.C
David 20 June 2006
- Manager: change menu item to "Attach to account manager"
I think it's OK to use "attach" in connection
with account managers as well as projects
client/
client_state.C
clientgui/
MainFrame.cpp
David 20 June 2006
- core client: rename RESULT::runnable_soon() to nearly_runnable()
- core client: small bug fix in CPU shortfall calculation
client/
client_types.C,h
cpu_sched.C
David 20 June 2006
- core client: it FILE_INFO for output file file has
<gzip_when_done/> property, gzip it and append .gz to name
client/
client_types.C,h
cs_apps.C
David 20 June 2006
- debugged upload compression feature.
I had to change semantics:
the filename stays the same after it's compressed.
Also: the MD5 and file size are those of the compressed file.
client/
client_types.C
cs_apps.C
win_build/
boinc_cli_curl.vcproj
Charlie 20 June 2006
- Fix a crash bug in the client (f.printf had fewer arguments than
called for in the format, so attempted access through a bad pointer.)
- Fix another permissions typo
client/
cs_statefile.C
file_names.C
Rom 20 June 2006 (HEAD)
- Tag for 5.5.3 release, all platforms
boinc_core_release_5_5_3
Charlie 21 June 2006
- Mac sandbox:
- Installer calls check_security() after creating users and groups
and setting owners and permissions for Manager, Client and data;
retries up to 5 times if error.
- Installer script calls postinstall application twice with different
arguments, waits for first call to complete.
- Manager and Client report unique error codes from check_security().
client/
check_security.C
main.C
clientgui/
BOINCGUIApp.cpp
mac/
SetupSecurity.cpp,h
mac_build/
boinc.xcodeproj/
project.pbxproj
mac_installer/
postinstall
postupgrade
Postinstall.cpp
David 21 June 2006
- core client: fix case where CPU scheduler preempts
tasks it doesn't need to.
- core client: code cleanup
- move deadline messages to a separate function
- reduce side-effects of make_running_task_heap()
- improve names
- file upload handler: don't complain about <gzip_when_done/> tag
client/
client_state.h
cpu_sched.C
sched/
file_upload_handler.C
Milos 21 June 2006
- Initial checkin on the simple GUI
clientgui/
sg_BoincSimpleGUI.cpp, .h (Added)
sg_DlgPreferences.cpp, .h (Added)
sg_ImageLoader.cpp, .h (Added)
sg_SkinClass.cpp, .h (Added)
sg_StatImageLoader.cpp, .h (Added)
clientgui/common/
wxFlatNotebook.cpp, .h (Added)
wxFNBDropTarget.h (Added)
wxAnimate.cpp (Added)
Rom 21 June 2006
- Bug Fix: Two setup failure logs that were sent to me indicate that
the uninstall process didn't clean up the BOINC entry in the
service control manager. Check, before attempting to shutdown,
BOINC to make sure it is executing or is capable of responding
to a ControlService event.
win_build/installerv2/redist/Windows/src/boinccas
CAShutdownBOINC.cpp
boinccas.rc
David 21 June 2006
- update_stats: enumerate only users/hosts/teams for which
expavg_credit > 0.1.
This speeds up the DB query
sched/
update_stats.C
David 21 June 2006
- core client: added "cpu_sched_debug" log flag;
got rid of "cpu_sched_detail" and "sched_cpu_debug"
- core client: added "ncpus" config option;
if present, the core client will act as if there were N cpus
(handy for debugging scheduler stuff)
- core client: parse cc_config.xml with the new-style
XML parsing functions (reduce restrictions on XML format)
client/
client_msgs.C,h
cpu_sched.C
cs_apps.C
cs_scheduler.C
log_flags.C,h
time_stats.C
David 21 June 2006
- core client: add some logging messages to rr_simulation()
client/
cpu_sched.C
cs_scheduler.C
Rom 21 June 2006 (HEAD)
- Tag for 5.5.4 release, all platforms
boinc_core_release_5_5_4
Rom 21 June 2006
- Bug Fix: Go one step further by ignoring the return value from
ControlService.
win_build/installerv2/redist/Windows/src/boinccas
CAShutdownBOINC.cpp
CAShutdownBOINCManager.cpp
boinccas.rc
win_build/installerv2/redist/Windows/x86
boinccas95.dll
boinccas.dll
Charlie 21 June 2006
- Mac sandbox:
- Fix installer problems creating user and groups on older Mac OS.
- The following functions require an administrator password unless
the user is a member of group boinc_master: Attach to Project,
Detach from Project, Reset Project, Attach to Account Manager,
Detach from Account Manager, Update Account Manager, Abort
Task, Abort Transfer.
- Fix compiler warning in client_types.C.
- Define SANDBOX in XCode projects: Client, Manager, Installer.
client/
client_types.C
clientgui/
MainDocument.cpp,h
MainFrame.cpp
ViewProjects.cpp
ViewTransfers.cpp
ViewWork.cpp
mac/
Mac_GUI.cpp
SetupSecurity.cpp
mac_installer/
PostInstall.cpp
mac_build/
boinc.xcodeproj/
sproject.pbxproj
Walt 22 June 2006
- Change additional includes for xlib.h directory from absolute
to relative.
win_build/
boinc_cli_curl.vcproj
David 22 June 2006
- core client: get rid of the SCOPE_MSG_LOG thing. Too fancy.
All messages are now generated using
if (log_flags.X) {
msg_printf(...);
}
All messages now appear in the BOINC Manager (if used) and in stdout.
Changed things so messages are written only to stdout
(not to both stderr and stdout)
- core client: broke out scheduling-related messages into new flags:
task
cpu_sched
cpu_sched_debug
rr_simulation
debt_debug
work_fetch_debug
also added new "unparsed_xml" flag
- scheduler:
parse (but ignore) p_capabilities and accelerators in <host_info>
client/
*.C
log_flags.h
sched/
server_types.C
David 22 June 2006
- Fix Win bug where accelerators kept concatenating
client/
client_msgs.h
win/
hostinfo_win.cpp
Rom 22 June 2006
- Check in the default certificate CA's so curl can use them.
curl/
ca-bundle.crt
win_build/
boinc_post_bld_rules.cmd
win_build/installerv2/
BOINC.ism
David 22 June 2006
- added curl_easy_setopt(curlEasy, CURLOPT_CAINFO, "ca-bundle.crt"),
which tells Curl where to find CA bundle.
SSL to WCG now works.
client/
http_curl.C
David 22 June 2006
- core client: parse all log flags (I forgot);
print rr_simulation messages only if shortfall is nonzero
(from John McLeod)
client/
cpu_sched.C
log_flags.C
Charlie 22 June 2006
- Mac sandbox:
- Because memberd is available only on OS 10.4, do not call it
under OS 10.3.x and require logout after installation to
resynchronize group membership tables.
clientgui/
mac/
SetupSecurity.cpp
SetVersion.C
mac_installer/
PostInstall.cpp
Rom 23 June 2006
- Hooked up the simple GUI into the overall manager infrastructure.
NOTE: The manager now has dependancies on libpng and zlib to handle
skin graphics.
NOTE: This hasn't been tested on any platform other than Windows.
clientgui/
BOINCBaseFrame.cpp, .h (Added)
BOINCDialupManager.cpp
BOINCGUIApp.cpp, .h
BOINCTaskBar.cpp
Events.h
MainDocument.cpp
MainFrame.cpp, .h
sg_BoincSimpleGUI.cpp, .h
sg_DlgPreferences.cpp, .h
sg_ImageLoader.cpp
sg_SkinClass.cpp, .h
sg_StatImageLoader.cpp, .h
stdwx.h
win_build/
boincmgr_curl.vcproj
David 23 June 2006
- core client: write messages on app checkpoint
if task_debug log flag is set
client/
app-control.C
log_flags.h
David 23 June 2006
- core client:
- fix bug in printing argv on task startup (Unix)
- changed message: "misses deadline" -> "projected to miss deadline"
- parse version in scheduler reply, and show it if log_flags.sched_ops
- cpu_usage_limit must be in (0..1]
client/
app_start.C
cpu_sched.C
cs_apps.C
cs_prefs.C
cs_scheduler.C
scheduler_op.C,h
lib/
prefs.C
util.C
David 23 June 2006
- core client:
- removed Apple-specific retry logic in get_local_network_info()
- made get_local_network_info() a member of HOST_INFO
- in 1-sec poll loop, if don't have a domain name,
call get_local_network_info() again
(on some systems, gethostbyname() takes a few minutes to work)
client/
client_state.C
hostinfo_network.C
hostinfo_unix.C
win/
hostinfo_win.cpp
lib/
hostinfo.h
Rom 23 June 2006
- Move document initialization code to the base class so both GUI's can
initialize the CC connection at startup.
- Enable the inter-component alert system for the simple GUI. Displays
dialogs if the GUI is open, otherwise display a ballon in the taskbar.
clientgui/
BOINCBaseFrame.cpp, .h
MainFrame.cpp, .h
sg_BoincSimpleGUI.cpp, .h
David 23 June 2006
- core client: fiddle with messages
client/
client_state.C
cpu_sched.C
cs_scheduler.C
gui_rpc_server.C
Rom 23 June 2006
- Enable the dialup and idle tracking systems for the simple GUI.
clientgui/
BOINCBaseFrame.cpp, .h
MainFrame.cpp, .h
Rom 23 June 2006
- Enable the wizards for initial startups.
clientgui/
sg_BoincSimpleGUI.cpp.cpp, .h
Rom 23 June 2006
- Rename MainFrame.cpp, .h to AdvancedFRrame.cpp, .h
- Rename CMainFrame to CAdvancedFrame
clientgui/
AdvancedFrame.cpp, .h (Added)
BOINCGUIApp.cpp
MainFrame.cpp, .h (Removed)
ViewMessages.cpp
ViewProjects.cpp
ViewStatistics.cpp
ViewTransfers.cpp
ViewWork.cpp
win_build/
boincmgr_curl.vcproj
Rom 23 June 2006
- Remove deprecated files
clientgui/
DlgDialupCredentials.cpp, .h (Removed)
David 26 June 2006
- API: removed boinc_using_cpu() and boinc_not_using_cpu().
The client's CPU scheduler doesn't support apps
switching back and forth, and is unlikely to in the near future.
So it's misleading to have it in the API.
- API/core client: added APP_INIT_DATA::resource_share_fraction.
This tells an application its resource share relative
to runnable projects (0..1).
- core client: removed ACTIVE_TASK::non_cpu_intensive.
api/
boinc_api.C,h
client/
app.C,h
app_control.C
app_start.C
cpu_sched.C
lib/
app_ipc.C,h
Walt 26 June 2006
- Remove references to deprecated files DlgDialupCredentials.cpp, h.
clientgui/
BOINCDialupManager.cpp
Makefile.am
win_build
boincmgr_curl.vcproj
David 26 June 2006
- Propagate application "user friendly name"
through scheduler RPC,
into client state,
and through GUI RPC to Manager
client/
client_types.C,h
cs_files.C
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
sched/
server_types.C
David 26 June 2006
- Add support for "project files".
These are files that are downloaded to all clients
attached to that project,
but are not associated with an app version, WU or result.
Example: graphics files for use by the BOINC Manager.
- Scheduling server: look for "project_files.xml" in project dir.
If found, include it verbatim in scheduler replies.
Intended to describe "project files"
- core client: parse list of project files in scheduler reply
or client state file.
Create corresponding FILE_INFO and FILE_REF.
Write list to client state file.
When a project file finishes downloading,
create link file(s) for it.
client/
client_types.C,h
cs_account.C
cs_statefile.C
scheduler_op.C
sched/
main.C,h
server_types.C,h
Charlie 27 June 2006
- Mac sandbox:
- Create wrapper "BOINC Installer" application, with installer
package inside its bundle. Wrapper determines whether a logout
will be needed, sets installer package Info.plist file accordingly,
and opens the package to launch the standard Mac installer.
clientgui/
mac/
SetVersion.C
mac_installer/
Installer.cpp (new)
PostInstall.cpp
release_boinc.sh
release_GridRepublic.sh
mac_build/
Installer-Info.plist
PostInstall-Info.plist (new)
boinc.xcodeproj/
project.pbxproj
David 27 June 2006
- core client: debug 'project files" feature
- core client: bad message on HTTP file-not-found
client/
client_state.C
client_types.C
cs_statefile.C
file_xfer.C
David 27 June 2006
- core client: put stderr output in a CDATA block,
so it doesn't break XML parsers if it has <
client/
client_state.C
client_types.C
proxy.C,h (removed)
David 27 June 2006
- Add new GUI RPC get_simple_gui_info(): returns list
of projects and active results.
client/
client_state.h
cs_statefile.C
gui_rpc_server_ops.C
lib/
boinc_cmd.C
gui_rpc_client.h
gui_rpc_client_ops.C
gui_rpc_client_print.C
Charlie 27 June 2006
- Mac: update XCode project for changed files.
mac_build/
boinc.xcodeproj/
project.pbxproj
Rom 27 June 2006
- Enable the Simple GUI only if the define SIMPLEGUI exists.
clientgui/
AdvancedFrame.cpp
BOINCGUIApp.cpp, .h
Charlie 27 June 2006
- Mac: Changes to compile Simple GUI. (Mac and Linux
do not support colored backgrounds in menu items.)
clientgui/
BOINCGUIApp.cpp
sg_StatImageLoader.cpp
mac/
MacSysMenu.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 27 June 2006
- CPU sched fix (minutes*60)
From John McLeod
client/
cpu_sched.C
David 27 June 2006
- don't print errors for gethostbyname() failure
client/
hostinfo_network.C
Charlie 27 June 2006
- Create branch boinc_core_release_5_6
Charlie 28 June 2006
- Mac: Documentation changes for Mac sandbox.
- Fix bug in GR release script.
doc/
mac_build.html
mac_build/
HowToBuildBOINC_XCode.rtf
mac_installer/
GR-ReadMe.rtf
ReadMe.rtf
release_GridRepublic.sh
Rom 28 June 2006
- Hook up the simple gui info rpc to the document and populate
existing data structures.
- Create build configurations for building the simple GUI since
it is now turned off by default.
- When clearing out a gui rpc result structure, make sure the
pointers are nulled out.
clientgui/
MainDocument.cpp, .h
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
win_build/
boinc.sln
boinc_cli_curl.vcproj
boinc_dll.vcproj
boinc_ss.vcproj
boinccmd.vcproj
boincmgr_curl.vcproj
libboinc.vcproj
David 28 June 2006
- core client: remove the NET_XFER class.
This represented a layer (asynch transfers to/from sockets)
that doesn't exist anymore; Curl subsumes it.
Anything still used in NET_XFER was moved to HTTP_OP.
(from Carl Christensen)
client/
client_state.C,h
cs_prefs.C
http_curl.C,h
net_stats.C,h
net_xfer_curl.C,h (removed)
win_build/
boinc_cli_curl.vcproj
David 28 June 2006
- core client: fix Unix build, and mild code cleanup:
- removed HTTP_OP::do_file_io, io_done, and io_ready
(not used anymore)
- removed unused values of HTTP_STATE_*
- removed extern decls from main.C (include .h file instead!)
client/
Makefile.am
http_curl.C,h
main.C
Rom 28 June 2006
- Bug Fix: make sure the same frame is not initialized twice.
clientgui/
BOINCGUIApp.cpp
Charlie 28 June 2006
- Mac: Documentation changes for Mac sandbox.
- Fix bug in GR release script.
doc/
mac_build.html
mac_build/
HowToBuildBOINC_XCode.rtf
mac_installer/
GR-ReadMe.rtf
ReadMe.rtf
release_GridRepublic.sh
Charlie 29 June 2006
- Mac: Mac sandbox fixes to run as non-admin user.
- Set S_IXOTH permission for switcher application,
slot subdirectories, project subdirectories.
- Add setprojectgrp helper application; use it instead
of chown to set files and directories to group
boinc_project.
client/
app_start.C
check_security.C
client_types.C
file_names.C,h
setprojectgrp.C (added)
switcher.C
mac_installer/
release_boinc.sh
release_GridRepublic.sh
clientgui/
mac/
SetupSecurity.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 30 June 2006
- fixes for Windows/cygwin compile
(from Carlos Orellana)
lib/
crypt_prog.C
filesys.C
David 30 June 2006
- core client: ACTIVE_TASK::supports_graphics():
return false if process isn't executing.
(prevent GUI from showing "show graphics" button
for results with no process, or suspended process)
- core client: on Windows command-line, when you close the window,
quit_client() gets called,
but control never returns to boinc_main_loop(),
so gstate.quit_activities() (and other cleanup stuff) isn't called,
so apps don't exit.
If you then start the core client again in the next 30 sec,
and exit quickly, another copy of apps gets started,
which waits to acquire slot lock, then decides it's in
standalone mode and opens a graphics window! Very confusing.
I fixed this by moving all the cleanup code to a separate functions
(finalize()) and calling this directly from quit_client().
By the way, why is main.C such a toxic waste dump?
client/
app_graphics.C
main.C
David 30 June 2006
- message tweaks
client/
app.h
client_state.C
scheduler_op.C
Charlie 30 June 2006
- Mac: Mac sandbox fixes:
- Set, check nested slot and project directory permissions
recursively.
- Make Switcher directory non-writable.
- Update security documentation.
- better handling of locale directories.
- boinc_mkdir makes directories world-executable.
- Bump version to 5.5.5 for release to alpha test.
version.h
client/
check_security.C
client_types.C
file_names.C
clientgui/
mac/
SetupSecurity.cpp
doc/
sandbox.php
lib/
filesys.C
Charlie 1 July 2006 (branch boinc_core_release_5_6)
- Tag for 5.5.5 release, Macinitosh with sandbox only
boinc_core_release_5_5_5
David 1 July 2006
- user web: moved forum-related email functions to a new file;
small bug fixes in forum moderation code
- changed db/schema.sql to match new forum code
- user web: html/project/project.inc must now have
define("FORUM_MODERATION_EMAIL_USER_ID", "N")
to specify who reports get sent to
(the ID of an existing account)
db/
schema.sql
html/
inc/
email.inc
forum_email.inc (new)
user/
edit_forum_preferences_form.php
forum_moderate_post_action.php
forum_moderate_thread_action.php
forum_post.php
forum_reply.php
forum_report_post.php
David 2 July 2006
- AMS RPC: fix bug that incorrectly removed people from their team
(found by Willy de Zutter)
html/user/
am_set_info.php
Charlie 3 July 2006
- Mac: Mac sandbox: don't set S_ISUID bit for setprojectgrp helper
application.
client/
check_security.C
clientgui/
mac/
SetupSecurity.cpp
doc/
sandbox.php
Charlie 3 July 2006
- Mac: Fix compile error (add #include <sys/socket.h>" to http_curl.C).
- Fix compiler warning
- Merge XCode project changes for suimple gui and for sandbox.
client/
http_curl.C
clientgui/
AdvancedFrame.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
Charlie 4 July 2006
- Mac sandbox: Manager doesn't create BOINC Data directory if
it doesn't exist when using SANDBOX security.
clientgui/
BOINCGUIApp.cpp
mac/
SetupSecurity.cpp
Rom 5 July 2006
- Add Suspend a Disconnect icons to the taskbar for when the client is
snoozing and disconnected.
- Refreshed Simple GUI
clientgui/
AdvancedFrame.cpp
BOINCBaseFrame.cpp
BOINCGUIApp.cpp, .h
BOINCTaskBar.cpp, .h
sg_BoincSimpleGUI.cpp, .h
sg_StatImageLoader.cpp, .h
clientgui/res/
boincdisconnect.xpm (Added)
boincsnooze.xpm (Added)
clientgui/res/templates/
icondisconnect.ico (Added)
iconsnooze.ico (Added)
David 5 July 2006
- server: added a PHP script for doing customized mass emails
See http://boinc.berkeley.edu/mass_email.php
- user web: project preferences: show privacy and venue items
before project-specific preferences
db/
boinc_db.h
html/
inc/
email.inc
prefs.inc
ops/
mass_email_script.php (new)
user/
opt_out.php (new)
prefs.php
prefs_edit_form.php
Rom 5 July 2006
- Bug fixes to previous check-in and code cleanup.
clientgui/
AdvancedFrame.cpp
BOINCTaskBar.cpp, .h
David 5 July 2006
- core client: fix bug where we write past the end of
benchmark_desc array if ncpus increases
(from Don Mullis)
client/
cs_benchmark.C
Charlie 6 July 2006
- Mac sandbox: boinc_delete_file(), clean_out_dir(), boinc_rmdir ()
all call remove_project_owned_file_or_dir() which uses switcher
helper application to remove subdirectories created & owned by
projects.
- Add License (GPL) to source files where missing.
client/
check_security.C
file_names.C,h
setprojectgrp.C
switcher.C
lib/
filesys.C,h
mac_installer/
release_boinc.sh
release_GridRepublic.sh
Charlie 6 July 2006
Mac: integrate task tray icon changes, fix compile errors.
clientgui/
BOINCGUIApp.cpp
BOINCTaskBar.cpp,h
mac/
MacSysMenu.cpp,h
David 6 July 2006
- server: added new result outcome CLIENT_DETACHED.
When we get an RPC suggesting that the client
has detached and reattached,
we set its results to OVER and CLIENT_DETACHED.
Results in this state are generally treated the same as NO_REPLY.
- updated PHP functions to include the above;
got rid of redundant functions
db/
boinc_db.h
html/inc/
db_ops.inc
result.inc
sched/
handle_request.C
transitioner.C
David 6 July 2006
- core client: use fcntl() instead of lockf() or flock() to lock files.
It's POSIX, hence more portable.
(from Bruce Allen)
configure.ac
lib/
filesys.C
David 6 July 2006
- user web: in "allow email" form, show source address of emails
so users can let them through spam filter
html/inc/
prefs.inc
Rom 7 July 2006
- Only display the suspended icon in the taskbar if the activity runmode
is set to never.
clientgui/
BOINCTaskBar.cpp
David 7 July 2006
- tweaks and typos
client/
http_curl.C,h
scheduler_op.C
lib/
gui_rpc_client.C
py/Boinc/
setup_project.py
sched/
sched_array.C
sea/
make-sea.sh
David 9 July 2006
- core client: improved log message for debts
client/
cpu_sched.C
David 9 July 2006
- core client: improve "RPC succeeded" message
client/
cs_scheduler.C
scheduler_op.C
David 9 July 2006
- core client: instead of calling compute_work_requests()
every 5 seconds (in scheduler_rpc_poll()),
call it at startup, and thereafter every 10 minutes or
whenever something happens that could change work requests.
(from John McLeod)
client/
client_state.C,h
cpu_sched.C
cs_apps.C
cs_scheduler.C
gui_rpc_server_ops.C
scheduler_op.C
David 9 July 2006
- core client: keep track of the "outages"
(periods when BOINC hasn't run) in the last 60 days.
This will be used in the work fetch policy.
(from John McLeod)
client
time_stats.C,h
Matt 10 July 2006
I did this already once, but for some reason the code got lost, so..
- User web:
- If the flag <no_forum_rating/> is in config.xml,
the rating +/- links don't show up under posts.
- check in forum_rate.php to do the same check
(and make sure people are trying to sneakily downrate posts
without using the +/- links).
html/user
forum_rate.php
html/inc
forum.inc
David 11 July 2006
- Feeder: an option so that apps have a "weight" (floating-pt)
that determines the proportions of work items inserted by the feeder.
I.e. if app 1 has weight .5 and app 2 has weight 1.5,
then we'll send 3 times as many results for app 2 as app 1
- Feeder/scheduler: add an option "-reliable N":
This tags work items whose workunits are older than N days
as "need_reliable",
so that the scheduler can try to send them to "reliable" hosts
(those with expavg_credit > 70)
In no case send a "need_reliable" result to a host
with zero total credit.
- Feeder, with homogeneous redundancy:
when add a result with a sibling that's already sent
(or on a collision, if we learn that this is the case)
increment its infeasible_count.
This causes it to be sent quicker.
It's better to have the array full of results
that are not already committed to a platform.
- validator: add -sleep_interval cmdline arg
- Add TRANSITIONER_ITEM::res_received_time
(Nothing currently uses this - should we remove??)
NOTE: this update requires a database change: see html/ops/db_update.php
(from Kevin Reed)
db/
boinc_db.C,h
schema.sql
html/ops/
db_update.php
sched/
feeder.C
sched_array.C
sched_send.C
sched_shmem.C,h
server_types.h
show_shmem.C
validator.C
David 11 July 2006
- core client: fix bug where the first log flag in the
list was getting skipped over.
This was due to a design flaw in the new XML parsing code.
To work around this, I changed the format of
the cc_config.xml file so that options are
enclosed in <options> ... </options>
client/
app.C
cs_statefile.C
log_flags.C,h
lib/
parse.C
Milos 11 July 2006
- Simple GUI Refresh
clientgui/
sg_BoincSimpleGUI.cpp, .h
sg_DlgPreferences.cpp, .h
sg_ImageLoader.cpp, .h
sg_SkinClass.cpp, .h
sg_StatImageLoader.cpp, .h
sg_ViewTabPage.cpp, .h (Added)
David 11 July 2006
- core client, Windows: don't call finalize() in quit_client();
quit_client() is run in a different thread, apparently,
and we can't safely do anything in that thread.
Instead, have it set a flag telling the main thread to exit,
then do a sleep loop until the main thread has exited.
(Windows... you gotta love it).
client/
main.C
Rom 12 July 2006
- Bug Fix: Remove extra waiting loop for Win9x based platforms
when shutting down a console window now that quit_client()
does the waiting.
client/
main.C
David 12 July 2006
- core client: fix bug where sym links for project files
weren't getting written (missing fclose())
- core client: fix crash on project detach
(PROJECT object was being referenced after it was deleted)
client/
client_types.C
gui_rpc_server_ops.C
David 12 July 2006
- added a linux makefile for core client
client/
Makefile.linux (new)
David 12 July 2006
- core client: fix bug that disabled work fetch
(from John McLeod)
client/
cs_scheduler.C
David 12 July 2006
- core client: work-fetch bug fixes
(from John McLeod)
client/
Makefile.linux
client_state.C,h
cpu_sched.C
cs_apps.C
cs_scheduler.C
David 13 July 2006
- core client: adjust_debts() returns if elapsed time < 1
client/
cpu_sched.C
David 13 July 2006
- Change mass email script so that files are in html/ops/mass_email/,
and HTML files are optional
- compile fix
html/ops/
mass_email_script.php
lib/
filesys.h
David 13 July 2006
- server: add script for doing "email reminders"
to failed and lapsed user.
- core client: fix bug where, if cc_config.xml is present
but doesn't specify save_stats_days,
it's zero (rather than the correct default of 30).
- user web: remove SETI@home-specific text from translate.php
client/
log_flags.C
html/
ops/
remind.php
user/
translate.php
David 14 July 2006
- core client: clean up related to host venue and project preferences.
Old: store host venue in account file,
and use it when parsing account file
to get the right venue-specific prefs.
This is bad because the account file is not
supposed to containt host-specific info,
and the venue is host-specific.
New: venue is stored in client state file, as part of project.
On initial parse of account file, <venue> elements are skipped.
Later, after client state file has been read,
account files projects with non-empty host_venue
are read again, this time looking for the selected
<venue> element and ignoring the rest.
Has this fixed any bugs? Maybe yes, maybe no.
But the logic is simpler now.
client/
client_state.C,h
client_types.C,h
cs_account.C
cs_scheduler.C
David 17 July 2006
- core client: close GUI RPC listening socket on exit
client/
client_state.C
cs_apps.C
gui_rpc_server.C,h
sched/
trickle_handler.C
David 17 July 2006
- moved stuff related to network status out of CLIENT_STATE
and into a new class, NET_STATUS.
client/
acct_setup.C
client_state.C,h
cs_account.C
cs_scheduler.C
gui_rpc_server_ops.C
http_curl.C
net_stats.C,h
pers_file_xfer.C
scheduler_ops.C
lib/
app_ipc.C
Charlie 17 July 2006
- Fix lost changes from July 3 merge of simple gui and sandbox XCode projects.
mac_build/
boinc.xcodeproj/
project.pbxproj
David 17 July 2006
- added function url_to_project_dir() in lib/ (for manager)
- moved escape_project_url() from client/ to lib/
client/
file_names.C,h
lib/
app_ipc.h
util.C,h
Charlie 17 July 2006
- Mac: Disable "Show Graphics" button and screensaver graphics when
client running as a daemon (bug 119); show warning dialog if user
presses "Show Graphics" button during remote RPC (bug 517).
- Mac: client sets gstate.executing_as_daemon if real user ID == 0
(i.e., if launched by root). (Effective uid is boinc_master.)
- Added SS_STATUS_DAEMONALLOWSNOGRAPHICS for daemon case; Mac
screensaver shows different message for daemon case.
client/
client_state.C
main.C
ss_logic.C,h
clientgui/
ViewWork.cpp
/mac/
mac_saver_module.cpp
lib/
gui_rpc_client.h
Charlie 18 July 2006
- Mac: If /Library/StartupItems/boinc/boinc is present to run Client
as a daemon, Manager waits up to 10 seconds for daemon to launch.
- Improve shell script for setting up Mac to run BOINC Client as
a daemon: add support for stop function.
clientgui/
BOINCGUIApp.cpp
mac_build/
Make_BOINC_Service.sh
David 18 July 2006
- admin web: removed links to update_*.php scripts.
These should be run as periodic tasks.
Also, they are intended to run as the admin user, not as Apache.
html/
inc/
stats_sites.inc
ops/
index.php
David 18 July 2006
- added scripts to convert to and from the ownership/protection
used by the new sandboxing system (Unix)
sea/
insecure.sh
secure.sh
Charlie 18 July 2006
- If bind fails, display errno on non_Win32 systems instead of -1.
client/
gui_rpc_server.C
Charlie 19 July 2006
-Mac: PostInstall.app repeatedly attempts to bind to BOINC RPC socket
address as user boinc_master until the address becomes available,
so BOINC Client will run properly when launched after installation.
- Fix XCode project script phases which were copying wrong info.plist
files into PostInstall.app.
- If creating users and/or groups on OS < 10.3.9, installer requires
a system restart.
mac_installer/
Installer.cpp
PostInstall.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 19 July 2006
- make test_uc.py work again:
- request work fetch when master URL fetch completed
- set CGI and file upload handler debugging mode in test
- use cc_config.xml instead of log_flags.xml
- use min_sendwork_interval = 0 if test
- added some work fetch messages
- core client: only do "platform change" logic
if there was an original platform
client/
client_state.C
cs_scheduler.C
scheduler_op.C
py/Boinc/
setup_project.py
test/
cc_config.xml (new)
log_flags.xml (removed)
testbase.py
Charlie 20 July 2006
- Mac: Reverse change of 8 May 2006: remove mouse_move() routine and callback
glutPassiveMotionFunc(mouse_move). This did not help screensaver on OS
10.3.x Macs respond to mouse moves, but did cause a confilct with Wacom
tablet drivers (screensaver graphics quit immediately on starting.)
api/
x_opengl.C
Bruce 20 July 2006
- On-line scheduler logs (readable by project participants): increase the
efficiency of the script that produces these log files by eliminating
un-necessary grepping of cgi.log.0
tools/
makelog.sh
David 20 July 2006
- Added sample files for mass emails and reminder emails
html/ops/
mass_email_script.php
remind.php
mass_email/
sample_current_html
sample_current_subject
sample_current_text
sample_failed_html
sample_failed_subject
sample_failed_text
sample_lapsed_html
sample_lapsed_subject
sample_lapsed_text
remind_email/
sample_failed_html
sample_failed_subject
sample_failed_text
sample_lapsed_html
sample_lapsed_subject
sample_lapsed_text
David 20 July 2006
- core client: added "app_msg_debug" log flag.
Shows you shared-memory messages from apps
client/
app_control.C
log_flags.C,h
David 20 July 2006
- core client: fix crash if client state file has
<project_files> for a project with no account file.
Also shuffled logic of state file parsing to reduce indentation
client/
cs_statefile.C
David 20 July 2006
- core client: fix crash if use <guirpc_debug/> flag,
and some GUI RPC reply is long (> 8K chars)
client/
gui_rpc_server_ops.C
Rom 20 July 2006
- Fix build break in the simple GUI when building for the Mac. Using itoa
is overkill anyway.
clientgui/
sg_ViewTabPage.cpp
Rom 20 July 2006
- Enabled all warnings for the Visual Studio compiler. It currently displayes
200 warning across the BOINC client package.
win_build/
boinc_cli_curl.vcproj
boinc_dll.vcproj
boinc_ss.vcproj
boinccmd.vcproj
boincmgr_curl.vcproj
libboinc.vcproj
Charlie 21 July 2006
-Mac: Update HEAD branch XCode Project to include seven new files for Simple
GUI.
mac_build/
boinc.xcodeproj/
project.pbxproj
Rom 21 July 2006
- Change document work function prototypes to be view agnostic.
- Fix numerious warnings in the manager. Down to 50 from 120.
clientgui/
AccountInfoPage.cpp
AccountKeyPage.cpp
AccountManagerInfoPage.cpp
AccountManagerProcessingPage.cpp
AccountManagerPropertiesPage.cpp
AdvancedFrame.cpp
AlreadyAttachedPage.cpp
AlreadyExistsPage.cpp
BOINCBaseFrame.cpp
BOINCBaseWizard.cpp
BOINCGUIApp.cpp
BOINCTaskBar.cpp
CompletionErrorPage.cpp
CompletionPage.cpp
DlgSelectComputer.cpp
MainDocument.cpp, .h
NoInternetConnectionPage.cpp
NotDetectedPage.cpp
NotFoundPage.cpp
ProjectInfoPage.cpp
ProjectProcessingPage.cpp
ProjectPropertiesPage.cpp
ProxyInfoPage.cpp
ProxyPage.cpp
sg_BoincSimpleGUI.cpp
sg_DlgPreferences.cpp
sg_ImageLoader.cpp
sg_StatImageLoader.cpp
sg_ViewTabPage.cpp, .h
UnavailablePage.cpp
ValidateURL.cpp
ViewProjects.cpp
ViewResources.cpp
ViewTransfers.cpp
ViewWork.cpp, .h
WelcomePage.cpp
WizardAccountManager.cpp
WizardAttachProject.cpp
lib/
gui_rpc_client.C
Rom 21 July 2006
- Bug Fix for Linux: On some linux distro's a mime type database is detected and
has an entry to a browser that isn't even installed on the system. When a
participant clicks on a link or button that would normally open a browser
nothing happens. Our message box isn't even displayed since an entry existed
in the mime types database.
Try to actually execute the browser commandline to determine if the mime type
database is correct. If that throws an error check to see if BROWSER is
defined as an envitronment variable, since that is the next closest thing
to a standard Linux has, and if that fails try firefox, mozilla, konqueror.
clientgui/
hyperlink.cpp
Charlie 21 July 2006
- Mac: Fix minor screensaver bugs from 17 July change. If no graphics are
available, screensaver updates progress display egery 5 seconds instead
of every 15 seconds.
- MacGLUTFix calls [myWindow setDocumentEdited: NO] to clear "unsaved"
indicator in graphics window close button (from Tim Wilson_Brown.)
- Replace "exit" with "return" in shell scripts (from Tim Wilson_Brown.)
api/
macglutfix.m
clientgui/
/mac/
mac_saver_module.cpp
mac_build/
buildWxMac.sh
buildcurl.sh
buildjpeg.sh
setupForBOINC.sh
Charlie 22 July 2006
-Mac: Installer checks for a file nologinitems.txt in BOINC Data directory. If
present, delete LoginItems for users listed in this file (one user name per
line), so that BOINC Manager won't launch automatically when these users
log in. This is a tool for system administrators.
mac_installer/
Postinstall.cpp
David 22 July 2006
- core client (Win): remove quitRequestEvent (not used)
- core client: ACTIVE_TASK::kill_task(): call cleanup_task()
(to free shared mem) after killing process
client/
app.C
app_control.C
app_start.C
David 22 July 2006
- made the BOINC user survey (and potentially any
page on the BOINC site) translatable
doc/
docutil.php
poll.inc
poll.php
poll_data.inc
html/inc
translations.inc
languages/translations/en.po (new)
David 24 July 2006
- poll translation fixes
doc/
poll_my_result.php (new)
languages/translations/
en.po
Charlie 24 July 2006
- Mac sandbox: don't set or require user boinc_master to be a member of group
boinc_project (i.e., do not add group boinc_project to user boinc_master's
supplementary groups list.)
client/
check_security.C
clientgui/
mac/
SetupSecurity.cpp
doc/
sandbox.php
mac_installer/
Installer.cpp
Charlie 24 July 2006
- Mac: Overlay the Dock icon with Suspend and Disconnected icon badges to match
the system menu icon. This method avoids the need to create separate 128X128
Suspend and Disconnected icons for each brand.
clientgui/
BOINCTaskBar.cpp
res/
macsnoozebadge.xpm (Added)
macdisconnectbadge.xpm (Added)
Rom 25 July 2006
- Bug Fix: Mac compiler handles std::string a little differently than Windows.
clientgui/
sg_ViewTabPage.cpp
ViewWork.cpp
Rom 25 July 2006
- Bug Fix: Reduce screensaver flicker by only updating the display every ten
seconds. I tried to use a double buffer, but for whatever reason it didn't
actually help. It might have had something to do with having three displays
though. In any case, once every ten seconds is fine.
client/win/
win_screensaver.cpp, .h
Charlie 25 July 2006
- Mac Sandbox: make most (but not all) files world-readable (needed for simple
gui, third-party add-ons, etc.)
- Revise security diagram to clarify use of executable permission bits.
- Minor code cleanup in PostInstal.cpp.
clientgui/
mac/
SetupSecurity.cpp
doc/
sandbox.php
mac_installer/
Postinstall.cpp
David 25 July 2006
core client fixes:
- fix bug where interrupted downloads failed with checksum error.
This was because we were comparing the HTTP status with 200.
But partial transfer success is 206.
(bug was introduced in June 28 checkin)
- on startup, make sure that all files that are
supposed to be present actually are.
Otherwise set status to NOT_PRESENT,
so that they'll be downloaded again.
- on reset, clear project_files and user_files vectors
- project files: parse and save md5 checksum.
Note: this is a placeholder;
I'll change it to full FILE_INFO later.
client/
client_state.C,h
client_types.C
cs_files.C
file_xfer.C
http_curl.C
David 25 July 2006
- fixes to Linux sandbox scripts (from Charlie)
- new translation files
- user web: restore alphabetic order in country list
html/inc/
countries.inc
languages/translations/
*.po
sea/
insecure.sh
secure.sh
David 25 July 2006
- core client and scheduler RPC:
change the XML notation for project files.
Instead of using a new and poorly-designed notation,
just use the existing <file_info> and <file_ref> structures,
and their associated parsing/writing code.
See http://boinc.berkeley.edu/gui_urls.php
client/
client_types.C,h
cs_account.C
cs_files.C
cs_scheduler.C
cs_statefile.C
scheduler_op.C
David 25 July 2006
- core client: when md5'ing a file, put the size in local var
rather than into the FILE_INFO
client/
cs_files.C
Charlie 25 July 2006 (HEAD)
- Mac: Create separate targets for simple-gui and non-simple-gui Managers
so that we can build release versions from the Head branch.
mac_build/
boinc.xcodeproj/
project.pbxproj
Rom 25 July 2006 (HEAD)
- Tag for 5.5.9 release, all platforms.
boinc_core_release_5_5_9
Charlie 26 July 2006 (HEAD - all changes tagged for boinc_core_release_5_5_9)
- Don't add "Switch to Simple GUI" to File menu if SIMPLEGUI not defined.
- In security shell scripts, added quotation marks and braces around variables
holding file names or paths for safety in case names contain spaces.
- Added GPL to security shell scripts.
- Added recursive function to set executable permissions for nested directories.
- In security shell scripts, display the directory when requesting confirmation.
If BOINC Client is not found, assume it is the wrong directory and exit.
These safety features are needed because the script will do serious damage
to the system if the user forgot to cd to the correct directory.
- Mac: Created shell scripts for setting up security in ssytems with
stand-alone BOINC Client (i.e., no Manager.)
- Removed redundant line of code in SetupSecurity.cpp.
clientgui/
AdvancedFrame.cpp
mac/
SetupSecurity.cpp
mac_build/
Mac_SA_Insecure.sh (new)
Mac_SA_Secure.sh (new)
sea/
insecure.sh
secure.sh
Charlie 26 July 2006
- Mac: add options to daemon script for stand-alone client.
mac_build/
Make_BOINC_Service.sh
Walt 26 July 2006
- Fix clientgui compile on Linux
clientgui/
Makefile.am
Makefile.linux.fedora
Makefile.linux.suse
Makefile.linux.ubuntu
Charlie 27 July 2006
- Mac: Mac_SA_Secure.sh script adds logged in user to groups boinc_master and
boinc_project.
- New web page describing Macintosh system administrator tools; update
references from existing pages.
clientgui/
mac_build/
Mac_SA_Insecure.sh
Mac_SA_Secure.sh
doc/
mac_admin_tools.php (new)
mac_advanced.php
bare_core.php
auto_start.php
Charlie 28 July 2006
- Sandbox: change #ifdefs so Manager and Client call check_security() for
all platforms if SANDBOX is enabled. Check_security() should be
compatible with Linux and all UNIX, but Win32 may need different code.
- Mac: Grid Republic release script uses clientgui/res/gridrepublic.icns
for application icon instead of client/mac/gridrepublic.icns (which
was a duplicate), in preparation for deleting the long-obsolete
client/mac/ directory from CVS.
client/
main.C
clientgui/
BOINCGUIApp.cpp
mac_installer/
release_GridRepublic.sh
David 28 July 2006
- core client: don't show scheduler version number if it wasn't returned.
- user web: add support for 'friend-to-friend' emails
client/
cs_scheduler.C
scheduler_op.C
html/
ops/ffmail/
sample_html
sample_subject
sample_text
user/
ffmail_action.php
ffmail_form.php
David 28 July 2006
- user web: tweak f2f email
- forums: help desk is separate
html/user/
ffmail_action.php
ffmail_form.php
forum_index.php
David 28 July 2006
- core client: bug fixes for project file mechanism
- clear project_file list before parsing it
- set fip->is_project_file (otherwise link won't get created)
client/
client_types.C
cs_trickle.C
David 28 July 2006
- f2f email: don't show form if project hasn't created a mail template
- email tools: create email directories on project creation
html/user/
ffmail_form.php
py/Boinc/
setup_project.py
David 29 July 2006
- core client: limit backoff to 24 hours
client/
scheduler_op.h
David 30 July 2006
- core client: parse <no_delete/> in <file_info> elements
(not relevant to client, but don't want error message)
client/
client_types.C
Charlie 31 July 2006
- Mac: use separate 8-bit mask for Dock badge anti-aliasing.
clientgui/
BOINCTaskBar.cpp
res/
macbadgemask.xpm (Added)
macsnoozebadge.xpm
macdisconnectbadge.xpm
Bruce 31 July 2006
- Documentation on <resend_lost_results>
doc/
project_options.php
Charlie 1 Aug 2006
- Sandbox: extend security to all UNIX and Linux platforms. To
enable this feature, add the compiler flag -DSANDBOX and add
check_security.C to the source file list for both Manager and
Client.
- Manager and Client both accept command-line argument -insecure
which runs without special boinc users and groups. Both
Manager and Client check owners and permissions and refuse
to run unless they are set correctly for the selected secure
or insecure mode. If Manager is called with -insecure, it
runs the Client with -insecure.
- Added code to Mac_SA_Secure.sh and Mac_SA_Insecure.sh scripts.
client/
app_start.C
check_security.C
client_state.C
client_types.C
cs_cmdline.C
file_names.C
gui_rpc_server.C
main.C
clientgui/
BOINCGUIApp.cpp,h
MainDocument.cpp
mac/
Mac_GUI.cpp
mac_saver_module.cpp
lib/
boinc_cmd.C
filesys.C
util.h
mac_build/
Mac_SA_Insecure.sh
Mac_SA_Secure.sh
mac_installer/
PostInstall.cpp
Rom 1 Aug 2006
- Fix build breaks on Windows
client/
file_names.C
main.C
clientgui/
BOINCGUIApp.C
lib/
boinc_cmd.C
util.C
Rom 1 Aug 2006
- Bug Fix: Fix the code that recreates the taskbar icon if explorer dies.
clientgui/msw/
taskbarex.cpp
David 1 Aug 2006
- API: don't repeatedly call getrusage() in worker_signal_handler().
api/
boinc_api.C
David 1 Aug 2006
- forum fixes (from Eric Myers, Willy de Zutter)
html/
inc/
forum.inc
text_transform.inc
languages/
cs.po
de.po
ja.po
lt.po
ru.po
user/
white.css
David 1 Aug 2006
- forum fix: moderator can only edit their own posts
html/
inc/
forum.inc
Walt 1 Aug 2006
- API: add support for freeGLUT
api/
x_opengl.C
Charlie 1 Aug 2006
- Mac sandbox: added Dev_noSandbox and Deploy_noSandbox build styles
to XCode project for testing ability to build without -DSANDBOX.
- Mac sandbox: check_security() uses PersistentFGets() for better
reliability, deletes newline from path if present.
- Fix compile errors in non-SANDBOX builds.
- Remove unused variables (compiler warning) in x_opengl.C.
api/
x_opengl.C
client/
check_security.C
client_state.C
clientgui/
mac/
mac_saver_module.cpp
lib/
util.C
mac_installer/
PostInstall.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 2 Aug 2006
- core client: fix CPU throttling mechanism.
- Range is 0..100, not 0..1
- ACTIVE_TASK::prempt(): don't set scheduler_state
(that's not the job of this layer)
- core client: fiddle with messages
"task" should show you when results start and end
(always 2 messages per result)
"task_debug" shows every suspend/resume/checkpoint
"cpu_sched_debug" shows the results selected by scheduler
(more fiddling still needed)
client/
app_control.C
app_start.C
cpu_sched.C
cs_prefs.C
lib/
prefs.C
David 2 Aug 2006
- Reminder email: checked in SETI@home examples,
just to make things more concrete.
Other projects had better change these before use,
or they'll look fairly clueless.
- core client: clarified meaning of "episode" in comments
client/
app.h
html/ops/
remind_email/*
Rom 2 Aug 2006
- Bug Fix: McAfee Internet Suite 8 now interjects McProxy.exe into the
boincmgr.exe <-> boinc.exe communication stream. Normally it wouldn't
be a problem except that McProxy.exe automatically returns success for
a connect request even if the target isn't available. This lead the
manager to believe that the CC had already been started. We now do a
simple get screensaver mode request which is not password protected to
verify that boinc.exe is listening on the other end.
clientgui/
BOINCGUIApp.cpp
David 2 Aug 2006
- core client: attempted fix for benchmarks running right away
and preventing contact to account manager for new users
client/
client_state.C
David 2 Aug 2006
- API: removed 3.1 second sleep on startup.
- core client: fixed significant bug in CPU scheduler:
was preempting apps too soon in some cases
(from N. Hoffmann and J. McLeod)
api/
boinc_api.C
client/
client_state.h
cpu_sched.C
cs_apps.C
Rom 2 Aug 2006
- After successfully attaching to an account manager, display a balloon
to reassure the participant that everything is fine.
clientgui/
AdvancedFrame.cpp
David 3 Aug 2006
- Don't run benchmarks at startup when user has <max_cpus>
in global prefs override
client/
client_state.C,h
cs_apps.C
David 3 Aug 2006
- make download page translatable (from Komori)
doc/
download.php
languages/translation/
en.po
Rom 3 Aug 2006 (HEAD)
- Tag for 5.5.10 release, all platforms
boinc_core_release_5_5_10
Rom 3 Aug 2006
- Roll back which version of libCurl we use on Windows to 7.15.3.
NOTE: We believe this will resolve some of the newly discovered
crashing issues, we'll revisit using the newer libCurl after
the new simple GUI is released.
curl/mswin/x86/bin/
libcurl.dll-7.15.4 (added)
libcurl.pdb-7.15.4 (added)
libcurl.dll
libcurl.pdb
David 4 Aug 2006
- User web: direct forum links to the right BOINC Wiki address
html/inc/
text_transform.inc
David 4 Aug 2006
- core client: more log messages, and possible fix to
CPU scheduling problem
client/
cpu_sched.C
David 6 Aug 2006
- core client: probable fix to CPU sched problems
(from John McLeod)
client/
cpu_sched.C
David 6 Aug 2006
- renamed schedule_result() to get_task()
client/
client_state.h
cpu_sched.C
cs_apps.C
David 6 Aug 2006
- core client: enable graphics for an app if it's
scheduler state is "scheduled"
(rather than if it's actually running)
- change project files to Visual Studio 2005 format
(Rom: please check in 2003-format files with _2003.vcproj names)
client/
app_graphics.C
win_build/
boinc.sln
boinc_cli_curl.vcproj
boinc_dll.vcproj
boinc_ss.vcproj
boinccmd.vcproj
boincmgr_curl.vcproj
libboinc.vcproj
David 6 Aug 2006
- GUI RPC: get_activity_state() returns the reasons for suspension,
not just flags (so that can show "throttle" messages)
client/
client_state.C,h
gui_rpc_server_ops.C
clientgui/
MainDocument.cpp,h
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
David 6 Aug 2006
- 2nd part of the above
clientgui/
BOINCTaskBar.cpp
MainDocument.cpp
ViewTransfers.cpp
ViewWork.cpp
lib/
gui_rpc_client.h
David 7 Aug 2006
- Add GUI RPCs for reading and writing the general prefs override file.
Note: these pass the raw XML, not a parsed structure;
that's because only some of the prefs may be overridden.
It's up to the GUI to decide what semantics to provide,
i.e. how to mix local and web-based preferences.
Probably the easiest approach is to make it "either/or",
i.e. write all prefs to the override file,
and provide a "user network prefs" checkbox in the GUI,
which clears the override file.
client/
gui_rpc_server_ops.C
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
Rom 7 Aug 2006 (HEAD)
- Tag for 5.5.11 release, all platforms
boinc_core_release_5_5_11
Walt 8 Aug 2006
- Adjust messages so the text wraps inside the window
instead of running off the edge.
clientgui/
AccountManagerInfoPage.cpp
ProjectInfoPage.cpp
WelcomePage.cpp
David 8 Aug 2006
- User web: add "banish" feature for message boards.
Moderators can banish users for 2 weeks,
during which time they can't post or rate.
NOTE: this requires a database update. See html/ops/db_update.php
html/
inc/
forum.inc
forum_email.inc
forum_moderators.inc
forum_user.inc
ops/
db_update.inc
user/
forum_moderate_post.php
forum_moderate_post_action.php
forum_post.php
forum_reply.php
forum_report_post.php
moderation.php
white.css
David 8 Aug 2006
- send email to user, not moderator
html/
inc/
forum_email.inc
David 8 Aug 2006
- don't send <outage> elements in scheduler request.
Too much text, and I don't think schedulers will ever
need this level of detail (longest outage probably sufficient)
client/
time_stats.C
David 8 Aug 2006
- bug fix
html/user/
forum_moderate_post_action.php
David 8 Aug 2006
- core client: fix CPU scheduling but that would cause idle CPU
after suspending a task
- compile fix for VS2005
api/
gutil_text.C
client/
cpu_sched.C
Walt 8 Aug 2006
- Bugfix: On unicode builds on Linux,wasn't displaying project name
when detaching from project.
clientgui/
ViewProjects.cpp
David 9 Aug 2006
- bug fixes in forum code
html/
inc/
db_forum.inc
forum_email.inc
forum_forum.inc
translation.inc
user/
forum_forum.php
white.css
David 9 Aug 2006
- user web: "Change password" -> "Forgot password?" in login form
html/inc/
util.inc
David 10 Aug 2006
- add certificate authority bundle file to linux release
client/
cpu_sched.C
sea/
Makefile.am
David 10 Aug 2006
- core client: choose_version_num(): fix bug that could happen
if two projects have app with same name
(from Josef Segur)
client/
client_state.h
cs_apps.C
cs_scheduler.C
Milos 10 Aug 2006
- Updated Simple GUI code to reflect new design
- Skins folder contains new images as well and also
new skin.xml files
clientgui/
sg_*
Walt 10 Aug 2006
- Remove taskbar icon on Linux so the manager exits properly
clientgui/
BOINCGUIApp.cpp
Walt 10 Aug 2006
- Tag for 5.5.12 release, all platforms
boinc_core_release_5_5_12
David 10 Aug 2006
- major revision of work-fetch policy;
may fix bugs where client starves.
Also an improved version of my 10/8 scheduler fix.
(from John McLeod)
client/
app_control.C
client_state.C
client_types.C
cpu_sched.C
cs_apps.C
cs_scheduler.C
gui_rpc_server_ops.C
David 11 Aug 2006
- GUI RPC: add task and network suspend reasons to the
structure returned by get_cc_status().
Future items should be put in this structure
rather than adding a new RPC.
Old RPCs (network_status() and get_activity_state())
have been left in to avoid breaking current add-ons.
They have been marked as deprecated and will be removed 12/06.
- Manager: if task is suspended, say why
client/
gui_rpc_server_ops.C
net_stats.C
clientgui/
BOINCTaskBar.cpp
MainDocument.cpp,h
ViewTransfers.cpp
ViewWork.cpp
lib/
error_numbers.h
gui_rpc_client.h
gui_rpc_client_ops.C
Milos 11 Aug 2006
- Added suport for importing images from skin for Flat Notebook
Added additional routine to check for Skin validity. Skin validity
is also checked now when different skin choosen. If skin is not valid
no skin will be changed.
clientgui/
sg_BoincSimpleGUI.cpp
sg_ProjectsComponent.cpp
sg_SkinClass.h
clientgui/common
wxFlatNotebook.cpp
clientgui/skins/default && WorldCommunityGrid
skin.xml
David 11 Aug 2006
- GUI RPC: change things so most of the read-only RPCs
don't require authorization for local access
client/
gui_rpc_server_ops.C
lib/
error_numbers.h
Walt 11 Aug 2006
- Bug fix: remove references to TaskBarIcon for Linux
compiles. Should fix the SIGSEGVs that were reported.
clientgui/
AdvancedFrame.cpp
BOINCGUIApp.h
David 11 Aug 2006
- DB: the type of forum_preferences.special_user
was changed from integer to char(8) in db_update.php,
but we forgot to make the same change in schema.sql.
Fixed this (actually made it char(12) to allow expansion)
Any projects created since Jan 2005: check the type of this field.
If it's integer, change it to char(12) not null default ''.
Otherwise your message-board moderation features won't work.
- Show quotes correctly in profile text
- fixes to admin web interface
(from Christian Beer)
db/
schema.sql
html/inc/
db_ops.inc
profile.inc
Rom 13 Aug 2006
- Fix thread creation failures on Win9x machines when applications
are built with DevC++/MinGW. (From Josef W. Segur)
api/
boinc_api.C
lib/
diagnostics_win.C
David 13 Aug 2006
- User web: multi-column option for displaying venue-specific prefs
- User web: value-checking on prefs
(from Christian Beer)
NOTE TO PROJECTS: if you deploy this code and use project-specific prefs,
you'll have to modify your project_specific_prefs.inc
to support the error-checking and multi-column features
html/
inc/
prefs.inc
prefs_col.inc (removed)
translation.inc
util.inc
project.sample/
project_specific_prefs.inc
user/
add_venue.php (new)
add_venue_action.php (removed)
add_venue_form.php (removed)
prefs.php
prefs_edit.php (new)
prefs_edit_action.php (removed)
prefs_edit_form.php (removed)
prefs_remove.php
white.css
David 14 Aug 2006
- GUI RPC: added new RPCs
get_global_prefs_override_struct(GLOBAL_PREFS&) and
set_global_prefs_override_struct(GLOBAL_PREFS&)
Note: these are useful only when ALL prefs are being
specified in the override file,
as there's no provision for "undefined" values in the structs.
html/inc/
util.inc
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
Walt 14 Aug 2006
- Fix compile errors on Linux
clientgui/
AdvancedFrame.cpp
Rom 14 Aug 2006
- Bug Fix: The application class should determine whether to show or hide a frame
based on the parameters passed to the application. Frames should not show
or hide themselves without user interaction.
clientgui/
BOINCGUIApp.cpp
Walt 14 Aug 2006
- Bug fix: fix boincmgr so it exits when X on window is clicked
clientgui/
BOINCBaseFrame.cpp
David 14 Aug 2006
- user web: change build_uotd_page() to match the SETI@home convention
(that verification=1 means it's a UOTD candidate)
but let project define its own criteria.
- user web: fix bug that caused errors in profile_screen_form.php
- core client: removed unused functions set_work_fetch_mode()
and should_get_work();
renamed retval (???) to non_cpu_intensive_needs_work;
show urgency as string instead of number;
changed type of compute_work_requests() to bool
client/
client_state.h
cs_scheduler.C
html/
inc/
profile.inc
uotd.inc
ops/
profile_screen_form.php
David 14 Aug 2006
- user web: on second thought:
if <profile_screening>1</profile_screening> is in the config file,
use the right queries for both screening and UOTD selection.
Leave in the option for custom queries in both places.
html/
inc/
uotd.inc
ops/
profile_screen_form.php
Rom 14 Aug 2006
- Tag for 5.5.13 release, all platforms
boinc_core_release_5_5_13
Charlie 15 Aug 2006
- Fix compiler warnings.
client/
cpu_sched.C
cs_scheduler.C
David 15 Aug 2006
- core client: removed <work_fetch_debug/> message
- Manager: changed one wxDateTime to double (should change all)
client/
cs_scheduler.C
clientgui/
MainDocument.cpp,h
Rom 15 Aug 2006
- lib: Fix missing case for MIOFILE where MIOFILE.printf didn't know how
to handle memory buffers. It was calling vfprintf with a null file
handle and crashed.
lib/
miofile.C
Bruce 15 Aug 2006
- scheduler: improved message to client for clarity
sched/
sched_locality.C
Walt 15 Aug 2006
- Bug fix: in Linux activity menu radio buttons worked as one group
instead of the two groups defined. Use wxMenu::Append for the
separator instead of AppendSeparator.
clientgui/
AdvancedFrame.cpp
David 15 Aug 2006
- GUI RPC: tested and fixed bugs in the set_global_prefs_override()
get_global_prefs_override(),
set_global_prefs_override_struct() and
get_global_prefs_override_struct() GUI RPCs.
Sorry about that, Milos and Kevin!
- Scheduler: added code that makes homogeneous redundancy
work with Mac/Intel
(which reports its p_vendor as 'i386' rather than 'Intel').
Without this, Mac/Intels get "platform not supported'
messages even if project has added platform and app_versions.
client/
gui_rpc_server_ops.C
lib/
boinc_cmd.C
gui_rpc_client_ops.C
sched/
sched_hr.C
David 16 Aug 2006
- GUI RPC: set_global_prefs_override(): if arg is empty string,
delete prefs override file
- improved comments in CPU sched code
client/
cs_scheduler.C
gui_rpc_server_ops.C
Charlie 17 Aug 2006
- Mac: Add support for hostinfo p_capabilities. For PowerPC Macs.
this just sets the string to "AltiVec" if AltiVec available.
For Intel Macs, this is a string of multiple 3-character
values, including MMX, SSE, SSE2, SSE3 when supported.
- Initialize glut_is_freeglut=false for Mac, to avoid warning
message to stderr from calling glutGet(GLUT_VERSION).
api/
x_opengl.C
client/
hostinfo_unix.C
Milos 17 Aug 2006
- changed the way wxFlatNotebook is initialized when there is no work present.
Added routing to intialize notebook to default values.Introduced Freeze()
and Thaw() to avoid flicker and drawing in corner when noptebook initlaized
- Changed bg for preferences dialog for text to be more readable
It also detect if we are using local or global preferences.
clientgui/
sg_BoincSimpleGUI.cpp,h
sg_DlgPreferences.cpp,h
sg_ProjectsComponent.cpp
Rom 17 Aug 2006
- Bug Fix: Keep both the global state and the updated tasks records in sync within
the simple GUI.
clientgui/
MainDocument.cpp, .h
sg_BoincSimpleGUI.cpp
Charlie 17 Aug 2006
-Mac: Fixed a bug in check_security() when ID of group boinc_master != ID of
user boinc_master.
- Mac: XCode project sets S_ISUID and S_ISGID permission bits for stand-alone
client to aid in debugging.
- Update obsolete screensaver test code in ss_logic.C.
client/
check_security.C
ss_logic.C
mac_build/
boinc.xcodeproj/
project.pbxproj
Rom 18 Aug 2006
- boincmgr - Add support for detecting an authenticator via a "Setup" cookie
from the projects master URL. With this, and the project_init.xml file
specified for a customized installer will allow for a handsfree install
scenario.
project_init.xml just needs to contain the project name and master url, the
website sets a cookie named "Setup" with the desired authenticator and
a reasonable timeout, like 30 minutes, and the attach to project wizard will
automatically attach to the project and get work.
NOTE: This only works if the participant is using Internet Explorer.
clientgui/
ProjectProcessingPage.cpp
WizardAttachProject.cpp, .h
clientlib/win/
AuthenticatorDetection.cpp, .h
stdafx.h
win_build/
boinc_dll.vcproj
boinc_dll_2003.vcproj
Rom 18 Aug 2006
- Initialize scratch scheduler/work fetch variables when PROJECT structs are
created.
client/
client_types.C
cs_scheduler.C
Milos 18 Aug 2006
- Added additional images to both skins. Main background has been changed
as well.(logos) Reading and writing to override global preferences
enabled from Preferences dialog. Created new component ClientStateIndicator
for showing state in gui. Split initiation in main class to workunit view
and project view. Also added logic for showing state
clientgui/
sg_ViewTabPage.cpp,h
sg_SkinClass.h
sg_ProjectsComponent.cpp
sg_DlgPreferences.cpp,h
sg_ClientStateIndicator.cpp,h
sg_BoincSimpleGUI.cpp,h
client/skins/.../
skin.xml
client/skins/.../graphic
conn_ind.png
error_image.png
state_ind_bg.png
simplegui_bg.png
Charlie 19 Aug 2006
-Mac: Fixed a bug in setMacIcon() associated with sandbox security;
FSpSetFInfo() was getting a permission error trying to set the
kHasCustomIcon bit in the Finder flags, preventing the custom icon
from appearing. Use FSSetCatalogInfo() instead of FSpSetFInfo()
as recommended by Apple (FSpSetFInfo is deprecated.)
api/
mac_icon.C
David 20 Aug 2006
- _autosetup: the check_version function doesn't
correctly handle version strings that begins with 0,
such as the pkg-config version 0.15.
This is due to that checking if a value is a number
it is assumed that the number is more than 0.
check_version also assumes that 1.10 is lower than 1.9 since it does a
string comparison.
(from Egon Larsson)
_autosetup
html/inc/
translation.inc
Charlie 21 Aug 2006
-Mac: Work around screensaver SETI@home crash bug seen on Intel Macs which
apparently occurs in GLUT destructors; use glutHideWindow() and
glutShowWindow() instead of glutDestroyWindow() and glutCreateWindow()
to close and open existing window. This is similar to implementation
for FreeGLUT on Linux.
- Mac: When closing graphics window, remember its size and position; restore
window's size and position after exiting screensaver, or if user closes
and reopens the window. Presently implemented only for Mac, and retains
information only while application remains in memory.
- Mac: Show window only after a successful call to throttled_app_render();
this eliminates ugly flashes, especially when switching to MODE_WINDOW
from MODE_FULLSCREEN; also avoids momentary display of old image when
screensaver restarts which made image appear to "jump." Presently
implemented only for Mac
api/
macglutfix.m
x_opengl.C
David 21 Aug 2006
- Manager: make axis labels uniform in Statistics tab
(from Mifistor)
clientgui/
ViewStatistics.cpp
Rom 21 Aug 2006
- Remove the suppression of the "Expect: 100 continue" in HTTP header.
This bug fix from Ian Hay was originally to fix some proxy issues.
We do not know which proxy issues it actually fixes, we are waiting
on some follow-up from Ian. In the mean time this should allow
NTLM auth on an HTTP post operation.
client/
http_curl.C
David 21 Aug 2006
- server: check for benchmark weightings in 0..1
- User and admin web: small fixes
html/
inc/
db_ops.inc
user/
head_20.png (removed)
img/
head_20.png (added)
py/Boinc/
setup_project.py
sched/
sched_config.C
David 21 Aug 2006
- new XML parser (class XML_PARSER).
This replaces the one checked in May 24 2006, which had a design flaw.
The new one parses XML of any structure and format;
i.e. it works even if software other than BOINC generated the XML.
Currently this is used only for parsing sched config file
and client config file.
TODO: use it everywhere.
client/
log_flags.C,h
lib/
parse.C,h
sched/
sched_config.C
Janus 22 Aug 2006
- Avatars now stay when users edit their forum preferences
- Changed the Q&A pages to use the new search facility instead of Google
(unless ours doesn't find anything)
- Added CVS auto tracking to some files
- Improved visual layout of forum prefs page
- If a user forgets to make a title for a post the post content is no longer
simply deleted. Instead a warning is shown.
- page_head and page_tail are now overridable
(for easier integration with a non-BOINC environment)
- Small set of HTML4.01 transitional fixes
html/inc/
util.inc
html/user/
edit_forum_preferences_form.php
forum_post.php
forum_help_desk.php
David 22 Aug 2006
- Manager: small simplification (from Mifistor)
clientgui/
ViewStatistics.cpp
Rom 22 Aug 2006
- Tag for 5.5.14 release, all platforms
boinc_core_release_5_5_14
David 22 Aug 2006
- Core client: change variable names to conform to new terminology
(see comment at top of cpu_sched.C):
adjust_debts_last_time => debt_interval_start
PROJECT::wall_cpu_time_this_period => wall_cpu_time_this_debt_interval
total_wall_cpu_time_this_period
=> total_wall_cpu_time_this_debt_interval
ACTIVE_TASK::cpu_time_at_last_sched => debt_interval_start_cpu_time
ACTIVE_TASK::episode_start_wall_time => run_interval_start_wall_time
client/
app.C,h
app_start.C
client_state.C,h
client_types.C,h
cpu_sched.C
cs_apps.C
David 22 Aug 2006
- change XML_PARSER to take a MIOFILE* instead of a FILE*.
This allows it to be used anywhere in BOINC.
client/
log_flags.C
lib/
miofile.C,h
parse.C,h
sched/
sched_config.C
sea/
insecure.sh
Walt 22 Aug 2006
- Manager: Add text to tooltips for buttons on statictics
panel. Linux version was showing a small empty box.
clientgui/
ViewStatistics.cpp
Rom 22 Aug 2006
- Bug Fix: Use InetnetGetCookie instead of InternetGetCookieEx so that we are
backwards compatible with all Windows versions that are spported.
clientlib/win/
AuthenticatorDetection.cpp
stdafx.h
David 22 Aug 2006
- Change new XML parser to prevent buffer overrun on string parsing
- User web: fix bug in moving post from one thread to another
(from David Kim)
client/
log_flags.C
html/inc/
forum_post.inc
lib/
parse.C,h
prefs.C
sched/
sched_config.C
Rom 22 Aug 2006
- Tag for 5.5.15 release, all platforms
boinc_core_release_5_5_15
David 23 Aug 2006
- removed "max_memory_nbytes, "proc_priority", "cpu_affinity",
"run_minimized" and "run_on_startup" from global prefs;
not used anywhere.
client/
cs_cmdline.C
lib/
boinc_cmd.C
prefs.C,h
David 23 Aug 2006
- core client: various changes to the CPU scheduler, mostly to fix:
1) on cold start (no projects), when attaching to 1st project,
the client would do an RPC not asking for work,
then would back off for 10 minutes
(for SETI@home; this is a project param)
until the next RPC, which would actually get work.
2) On the 2nd RPC, the work fetch calculation would generate
some INF#00s (due to divide by zero)
and would end up requesting 1 second.
Also, some code cleanup.
- rr_simulation(): get rid of arguments.
Always treat nearly runnable results as if they were runnable.
The code was sort of doing this anyway
- rr_simulation(): get rid of divide by zero.
If total resource share is zero,
use 1 instead of p->resource_share/total resource share.
- rr_simulation(): remove *ncpus from calculation
of pbest->work_request
- remove per_cpu_proc_rate arg from set_rrsim_proc_rate()
- use project->get_project_name() instead of project->name
(works for brand-new projects also)
- define function work_buf_min() so you don't have to type
global_prefs.work_buf_min_days * SECONDS_PER_DAY all the time
- define overall_cpu_frac() so you don't have to type
time_stats.on_frac * blah blah
GENERAL PRINCIPAL: if there's anything complex that appears
repeatedly, make it a function!!
- Win project file: remove base64.C, crypt.C
(these are in libboinc)
client/
client_state.h
client_types.h
cpu_sched.C
cs_scheduler.C
log_flags.C
win_build/
boinc_cli_curl.vcproj
Kevin 23 Aug 2006
- Fixed various errors and reorganized code in the Simple GUI
clientgui/
sg_BoincSimpleGUI.cpp
sg_BoincSimpleGUI.h
sg_ClientStateIndicator.cpp
sg_ClientStateIndicator.h
sg_ProgressBar.cpp
sg_ProjectsComponent.cpp
sg_SkinClass.cpp
sg_SkinClass.h
sg_ViewTabPage.cpp
Rom 23 Aug 2006
- Remove the restriction where the simple gui RPC only returned active
tasks.
client/
client_state.h
cs_statefile.C
gui_rpc_server_ops.C
David 23 Aug 2006
- user web: prefs fix
html/inc/
prefs.inc
Kevin 24 Aug 2006
- Enhancements to the simple gui
-- Messages button will now alternate between black and red when alert messages have been recieved
-- Additional client states are now shown when no work tabs are available such as 'downloading work'
clientgui/
MainDocument.cpp
sg_BoincSimpleGUI.cpp
sg_BoincSimpleGUI.h
sg_ClientStateIndicator.cpp
sg_ClientStateIndicator.h
sg_ProjectsComponent.cpp
sg_ProjectsComponent.h
sg_SkinClass.cpp
David 24 Aug 2006
- Core client: change the sequence of events for first-time use,
with the goal of not running CPU benchmarks until user
has attached to project and started to run first result.
Sequence is:
1) manager requests get_project_config, polls until done
2) manager calls lookup_account or create_account, polls until done
3) manager calls project_attach.
core client sets CPU specs to default values (1 GFLOPS),
sets project work_request to 1 second,
does scheduler RPC
4) Manager poll finishes
5) core client starts CPU benchmarks
The above is enforced by:
- only run benchmarks if there's a nontentative project
- if RPC reason is INIT, set work_request to 1
- after successful RPC, set work_request to zero
- Core client: PROJECT::sched_rpc_pending is now an int
that encodes the reason we need to do a sched RPC.
The actual reason is now shown, not always "Requested by user".
client/
acct_mgr.C
client_state.C,h
client_types.C,h
cs_account.C
cs_benchmark.C
cs_cmdline.C
cs_scheduler.C
gui_rpc_server_ops.C
scheduler_op.C,h
David 24 Aug 2006
- core client: is cpu_sched_debug log flag is set,
show messages when duration correction factor is changed
- more detailed rr_simulation messages
- on CPU benchmark completion, scale DCFs only if
original benchmark is real (not 1 GFLOPS estimate)
client/
client_types.C
cpu_sched.C
cs_benchmark.C
cs_scheduler.C
Rom 24 Aug 2006
- Tag for 5.5.16 release, all platforms
boinc_core_release_5_5_16
Charlie 25 Aug 2006 (HEAD - all changes tagged for boinc_core_release_5_5_16)
- Mac: install ca-bundle.crt file in BOINC Data folder, and include it
with comman line distribution.
mac_installer/
release_boinc.sh
release_GridRepublic.sh
Charlie 25 Aug 2006
- Fix compiler warning.
clientgui/
MainDocument.cpp
Kevin 25 Aug 2006
- Enhancements to the simple gui
-- Project icons that are downloaded after the BSG is started will be displayed when they become available
-- Make sure that the first tab is the selected tab when the BSG is opened
-- The 'currently running' indicator is now properly added and removed as different results are started and stopped
-- The percent displayed now includes one decimal place
clientgui/
sg_BoincSimpleGUI.cpp
sg_BoincSimpleGUI.h
sg_ProjectsComponent.cpp
sg_ProjectsComponent.h
sg_StatImageLoader.cpp
sg_StatImageLoader.h
sg_ViewTabPage.cpp
sg_ViewTabPage.h
Charlie 26 Aug 2006
-Mac: Add a comment; remove bogus Mac-only code from restart()
in x_opengl.C.
api/
x_opengl.C
Janus 27 Aug 2006
- show_user.php is now translation capable and uses the object
cache (when accessed throught the web frontend). This should fix
the issues where the page appears in another language than the
selected one.
- Simplification: Now only allow people to do userid lookups using
the id of a user instead of the authenticator (when in XML mode
people can still use the authenticator)
html/user/
show_user.php
Charlie 28 Aug 2006
-Mac: Implement standard Mac shortcut command-W for closing main
Manager window (requires adding "Close Window" to File menu.)
clientgui/
AdvancedFrame.cpp,h
Events.h
David 28 Aug 2006
- Detection of memory usage now works on Windows.
You can find the amount of RAM (working set)
and page file spaced used by each running BOINC app,
and by all non-BOINC apps.
Currently this isn't used for anything.
If you set the <mem_usage_debug/> flag in cc_config.xml,
it will print memory stats every 10 seconds.
TODO: get this working for Linux/Mac
client/
app.C
log_flags.C,h
lib/
procinfo.h
procinfo_win.h
win_build/
boinc_cli_curl.vcproj
Rom 28 Aug 2006
- Bug Fix: Fix missing screensaver condition.
- Bug Fix: Lookup project structure directly instead of looking up the
project by way of the result.
client/win/
boinc_ss.h
boinc_ss.rc
win_screensaver.cpp, .h
clientgui/
ViewWork.cpp
Rom 28 Aug 2006 (Forked from HEAD)
- Branch boinc_core_release_5_6 created for the BOINC 5.6 client release.
Charlie 28 Aug 2006 (HEAD and boinc_core_release_5_6_0 tag)
- Mac: Clear S_ISUID and S_ISGID permission bits from standalone Client
when releasing, to eliminate warning when users try to copy it.
End users of standalone Client need to run Mac_SA_Secure.sh script,
which will set these bits.
- Fix compile error for non_windows systems (calls to proc_info*)
mac_installer/
release_boinc.sh
release_GridRepublic.sh
client/
app.C
David 29 Aug 2006
(all changes to core client)
- fixed bug where, if a GUI_HTTP op failed
(e.g. initial lookup of project)
the HTTP op to the reference site would immediately fail
because GUI_HTTP.state is not IDLE at this point.
Instead, set a need_to_contact_reference_site flag,
and start the op later when GUI_HTTP.state is IDLE.
- more messages for http_debug log flag
- changed net_xfer_debug to http_xfer_debug
- added network_status_debug log flag
client/
http_curl.C
log_flags.C,h
net_stats.C,h
lib/
util.C,h
David 29 Aug 2006
core client:
- replace have_tentative_project variable with a function
- log message for project shortfall in no-result case
client/
client_state.C,h
client_types.C
cpu_sched.C
cs_account.C
cs_scheduler.C
scheduler_op.C
David 29 Aug 2006
- lots more debug messages in RR simulator
- fixed small bug in RR sim
(last_active_size => last_project_active_size)
- change meaning of time_debug log flag;
it prints messages related to on_frac etc.
client/
cpu_sched.C
log_flags.h
time_stats.C
Rom 29 Aug 2006
- Bug Fix: Remove google and yahoo detection code from the wizard in the
manager
- Bug Fix: Remove network detection code the wizard in the manager by replacing
it with the get_cc_status RPC.
- Bug Fix: Clean up the parsing logic for the get_cc_status rpc.
clientgui/
ProjectPropertiesPage.cpp, .h
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
David 29 Aug
- core client: CPU sched bug fix from JM7
client/
cpu_sched.C
David 30 Aug 2006
- core client: work fetch bug fix from JM7
client/
cs_scheduler.C
Bruce 30 Aug 2006
- ops pages, missing client state value
html/
inc/
db_ops.inc
Rom 31 Aug 2006
- Bug Fix: Be sure to clear the PROJECT_CONFIG structure before reuse. Not
all elements in the project config xml are required.
- Bug Fix: Re-enable needed controls when account creation goes from disabled
to enabled because of a project URL change.
clientgui/
AccountInfoPage.cpp
AccountManagerPropertiesPage.cpp
ProjectPropertiesPage.cpp, .h
David 31 Aug 2006
- Manager: if project doesn't allow account creation, say so,
and don't show yes/no radio buttons
NOTE: it still doesn't work right if you try alpha first,
and then cplan.
clientgui/
AccountInfoPage.cpp
David 31 Aug 2006
- GUI RPC: add a new exchange_versions() RPC to get core client version.
Other RPCs no longer exchange version info.
Client library still parses version info from get_state()
so you can find version of clients that predate this change.
- Core client: the http_op_retval is now always a BOINC (ERR_*) code
(not, e.g. an HTTP status code)
Specific errors are returned for DNS lookup failure,
connection failure, and file not found.
This is documented in http_curl.h
- GUI RPCs that poll HTTP operation completion now return the above
error codes also.
client/
gui_rpc_server_ops.C
httl_curl.C,h
lib/
error_numbers.h
gui_rpc_client.C,h
gui_rpc_client_ops.C
util.C
Walt 31 Aug 2006
- Add process memory info for Linux.
lib/
procinfo_unix.C (new)
Makefile.am
Rom 31 Aug 2006
- Bug Fix: You have to show controls that you previously hidden the last
time the wizard page was viewed when one of the state variables change.
- Deprecate <get_run_mode/> and <get_network_mode/> GUI RPC's as that
functionality has been rolled into <cc_status/>. Update BOINC Manager
in the dozen or so places that check the activity and network modes.
client/
gui_rpc_server_ops.C
clientgui/
AccountInfoPage.cpp
AdvancedFrame.cpp
BOINCTaskBar.cpp
MainDocument.cpp, .h
sg_ProjectsComponent.cpp
ViewTransfers.cpp
ViewWork.cpp
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
David 31 Aug 2006
- Fix Makefiles so that "install" installs needed files
(from Frank Thomas)
Makefile/am
client/
gui_rpc_server.C
lib/
Makefile.am
Rom 31 Aug 2006
- Bug Fix: Only show password confirmation controls when the create account
radio button is selected.
- Hook up new return codes to the project and account manager wizards.
clientgui/
AccountInfoPage.cpp
AccountManagerPropertiesPage.cpp, .h
ProjectPropertiesPage.cpp
David 31 Aug 2006
- manager: say "choose password" only if user is picking new password.
otherwise say "enter password".
- manager: if user leaves email address blank,
ask for email address, not account key
clientgui/
AccountInfoPage.cpp
Walt 31 Aug 2006
- Bug Fix: Need to close directory after reading it.
- Enable <mem_usage_debug/> flag in Linux
client
app.C
lib/
procinfo_unix.C
Rom 31 Aug 2006
- Bug Fix: Forcing a global state refresh now causes the client to update the
state right then and there. This should fix the app version friendly name
flicker problem.
clientgui/
MainDocument.cpp, .h
sg_BoincSimpleGUI.cpp
ViewWork.cpp
Charlie 1 Sep 2006 (HEAD and boinc_core_release_5_6_1 tag)
- Removed wxLogTrace call which crashes BOINC Manager on Mac. (The compiler
gave a warning about this statement.)
- Mac: Minor fix to XCode build script: extract symbol table file only if
product has not already been stripped.
clientgui/
MainDocument.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 1 Sep 2006
- Aargh! A recent Manager bug (run-mode selection acting weird)
was because the core client and the Manager had different
#defines for always/auto/never:
one used 0/1/2 and the other used 1/2/3.
There were a number of accidents of this sort waiting to happen,
i.e. the same #defines cut-and-pasted into 2 different files.
To keep this from ever happening again,
I added a new file (lib/common_defs.h) that includes
all #defines and enums shared among different BOINC
components (client/Manager, screensaver/client, client/server etc.).
This replaces result_state.h.
In principle error_numbers.h should be merged into this file
but this would required too much editing so I didn't do it.
- Linux compile fix
client/
app.h
client_msgs.h
client_state.C,h
client_types.h
cs_cmdline.C
cs_prefs.C
gui_rpc_server.h
gui_rpc_server_ops.C
http_curl.h
log_flags.C
main.C
ss_logic.h
clientgui/
MainDocument.h
lib/
app_ipc.h
boinc_cmd.C
common_defs.h (new)
error_numbers.h
gui_rpc_client.C,h
gui_rpc_client_ops.C
procinfo_unix.C
results_state.h (removed)
util.C
sched/
server_types.h
David 1 Sep 2006
- Get things to compile on Win.
The above fix seems to work.
client/win/
win_screensaver.cpp
clientgui/
ViewMessages.cpp
sg_DlgMessages.cpp
sg_ProjectsComponents.cpp
David 1 Sep 2006
- make scripts work with sh
sea/
insecure.sh
secure.sh
David 1 Sep 2006
- Manager: in projects tab, show when an RPC is pending
(and - added bonus - say why)
Thanks to Paul (A.K.A. The Gas Giant)
for not letting this slip through the cracks
The problem: a while back I changed sched_rpc_request from bool to int
in the client; neglected to change it in GUI RPC and Manager also
client/
acct_mgr.C
cs_account.C
cs_cmdline.C
cs_scheduler.C
gui_rpc_server_ops.C
scheduler_ops.C,h
clientgui/
ViewProjects.cpp
lib/
common_defs.h
gui_rpc_client.h
gui_rpc_client_ops.C
util.C,h
Bruce 4 Sept 2006
- Ops pages: modify to include new client state outcome (aborted)
html/
inc/
db_ops.inc
David 4 Sept 2006
- core client: added a couple of rr_simulation messages
- user web: removed SETI@home text from sample project.inc
client/
cpu_sched.C
cs_scheduler.C
html/project.sample/
project.inc
lib/
app_ipc.C
Charlie 5 Sep 2006
- Mac changes for new common_defs.h, removed results_state.h.
clientgui/
mac/
mac_saver_module.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 5 Sept 2006
- change run-mode #defines to match old ones
lib/
common_defs.h
David 5 Sept 2006
- first pass at enforcing RAM limits:
- if computer is in use (kbd/mouse input)
BOINC will use at most half of RAM
(i.e. it won't run a set of apps whose working set size
exceeds RAM/2)
_ if computer is not in use, BOINC will use at most all of RAM
(it won't run a set of apps whose WSS exceeds RAM)
This is pretty lame. For example, in case 2 BOINC will
run any set of programs, since by definitions their WSs
all fit in RAM (they may be thrashing).
So we need to do some thinking/experimenting.
- Fix HTTP bug that affects 64-bit compiles
(from Pav Lucistnik)
api/
boinc_api.C
client/
app.C,h
app_control.C
client_state.h
cpu_sched.C
cs_prefs.C
http_curl.h
html/user/
show_user.php
David 5 Sept 2006
- don't print too-much-memory messages
- compile fix
client/
app_control.C
clientgui/
ViewProjects.cpp
Walt 5 Sept 2006
- compile fix for Linux unicode build
clientgui/
ViewProjects.cpp
David 6 Sept 2006
- compile warning fix
client/
time_stats.C
David 6 Sept 2006
- Manager: if project allows account creation only on web site,
show appropriate text in attach-project wizard
clientgui/
AccountInfoPage.cpp
David 6 Sept 2006
- Renamed html/user/get_project_config.php to sample_get_project_config.php
this avoids overwriting a project-modified version.
- Fixed the "parse_config" script.
html/user/
get_project_config.php
sample_get_project_config.php
py/Boinc/
setup_project.py
tools/
parse_config
David 6 Sept 2006
- Web RPCs: clean up error returns. All web RPCs now return
<error>
<error_num>N</error_num>
<error_msg>xxx</error_msg>
</error>
in the case of an error.
Both fields are always supplied,
and in most cases they're both meaningful.
- Web RPCs: make sure that return message is always XML.
For example: if db_init() failed,
we used to return an (HTML) error page.
Instead: use db_init_xml() instead.
Also, change get_str(), get_int() etc. so that
if we're generating XML (i.e. if xml_header() has been called)
an XML error is generated.
- user web: check for the existence of ../project/donations.inc
before trying to read it
html/
inc/
forum_user.inc
user.inc
util.inc
xml.inc
user/
am_get_info.php
am_set_host_info.php
am_set_info.php
create_account.php
create_team.php
lookup_account.php
show_user.php
team_email_list.php
team_lookup.php
lib/
error_numbers.h
David 6 Sept 2006
- core client: scheduling bug fix:
the definitions of "nearly runnable" were slightly
different for project and result.
This could lead to a rare situation where rr_simulation()
would generate huge cpu shortfalls.
(from John McLeod)
client/
client_types.C,h
David 7 Sept 2006
- added program to test rr_simulation()
client/
rrsim_test.C
David 7 Sept 2006
- core client: print log flags at start of log
client/
client_state.C
log_flags.C,h
David 7 Sept 2006
- core client: change log message writes to conform to docs.
"task": write when app starts or finishes a result
(i.e. two messages per result, period)
"cpu_sched": write when core client starts,
resumes, suspends, or quits an app
(i.e. show the CPU scheduler's actions)
"cpu_sched_debug": show the internal logic of the CPU scheduler
"task_debug": show details of process birth and death
(e.g. exit status, signals)
client/
app_control.C
app_start.C
cpu_sched.C
David 7 Sept 2006
- remove some (but not all) compile warnings on Win/VS
(no functional changes)
client/
app.C
app_control.C
client_state.C
client_types.C
cpu_sched.C
gui_rpc_server_ops.C
http_curl.C
log_flags.C
main.C
lib/
filesys.C
parse.C
David 7 Sept 2006
- core client: for debugging messages, include the name of
the flag that enables the message.
This makes the messages longer but should make then more usable
when several flags are set.
client/
*.C
David 8 Sept 2006
- core client: frustrating attempt to get page fault rate on Windows.
It turns out that the "page fault count" reported by Windows
includes "soft" page faults that don't read from disk.
A typical process gets hundreds or thousands of these per second.
There doesn't seem to be a way to get a count
of real page faults.
In any case: I added PROCINFO to the ACTIVE_TASK structure,
eliminating the need for the vm_nbytes and rss_bytes fields.
Note: the reason I'm worrying about this is:
suppose an OS defines a process's "working set"
as the amount of RAM it currently has.
Then all running apps will appear to fit in RAM,
and our goal of avoiding thrashing will fail.
I was looking at page fault rate as a way to get around this.
However: I ran across a note that says that Windows
defines "working set" as "the amount of memory needed
for the process to run efficiently".
If that's the case, we don't need to worry about page fault rate.
client/
app.C,h
app_control.C
cpu_sched.C
lib/
procinfo.h
procinfo_win.C
win_build/
boinc_cli_curl.vcproj
David 8 Sept 2006
- Web RPCs: return correct error codes
html/
inc/
xml.inc
user/
am_set_info.php
create_account.php
create_team.php
David 8 Sept 2006
- manager: if client_account_creation_disabled is set,
don't go to the account key page.
Everything related to account keys can now be
removed from the manager.
- manager: removed redundant text on User Information page
- manager: don't refer to "Messages Tab" (or any other tab)
in the wizard; don't exist in simple GUI
clientgui/
AccountInfoPage.cpp
CompletionErrorPage.cpp
ProjectPropertiesPage.cpp
Kevin 8 Sept 2006
- BSG:
- Resolved some remaining bugs that prevented display of project information for newly attached projects
- The show graphics button will only be displayed when graphics can actually be displayed
- Added additional states to explain why no work is running (ex: benchmarks running).
- The drop down for project gui urls will now be updated when the list of GUI urls for the project become available
- Detaching from a project no longer causes the app to minimize to the system tray
clientgui/
sg_BoincSimpleGUI.cpp
sg_ClientStateIndicator.cpp
sg_ClientStateIndicator.h
sg_ImageButton.cpp
sg_ImageButton.h
sg_ProjectsComponent.cpp
sg_ProjectsComponent.h
sg_StatImageLoader.cpp
sg_StatImageLoader.h
sg_ViewTabPage.cpp
David 8 Sept 2006
- core client:
fix the mechanism that allows network access for 5 minutes
if it's needed to carry out a user-initiated GUI RPC
(e.g. attaching to a project).
This situation allows network access even if the
user has set network mode to "never".
Otherwise, if you try to attach to a project,
the manager sits there for 60 seconds,
then responds with "network failure" or something like that.
I suppose another solution would be for the manager to
notice that network is suspended,
and not let you try to attach to a project.
But this way is more user-friendly, I think.
Renamed gui_rpcs.got_recent_rpc() to recent_rpc_needs_network();
Renamed last_rpc_time to time_of_last_rpc_needing_network.
Shuffled order of RPCs in gui_rpc_server_ops.C;
this is critical to things working.
- manager: check for ERR_DB_NOT_FOUND in return codes from web RPCs
- manager: parse error message in ACCOUNT_OUT correctly
client/
client_state.C
gui_rpc_server.C,h
gui_rpc_server_ops.C
clientgui/
AccountManagerProcessingPage.cpp
ProjectProcessingPage.cpp
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
David 8 Sept 2006
- core client, Unix:
change syslog() call so message is INFO rather than EMERGENCY
(from Evandro Menezes)
client/
main.C
David 8 Sept 2006
- Manager: handle client_account_creation_disabled flag correctly
clientgui/
AccountInfoPage.cpp
David 9 Sept 2006
- Manager: make Statistics tab text translatable
clientgui/
ViewStatistics.cpp
David 9 Sept 2006
- XML parser: add function for parsing std::string
lib/
parse.C,h
Bruce 10 Sept 2006
- For computing and tracking a host's average credit/cpu_time I
have inserted a new averaging function
update_credit_per_cpu_sec() into lib/util.C. This function
should be called from validator.C, and then the value of
credit_per_cpu_sec should be exported by db_dump.C in the
host_id.gz stats file.
David, Eric, if you could check the code and logic here I would
be grateful. This is currently disabled in validator.C with
a #ifdef macro. I won't enable it until we've agreed on this.
lib/
util.C
util.h
sched/
db_dump.C
validator.C
David 11 Sept 2006
- core client: code to get mem usage should now work on all versions
of Windows (it's a no-op on 9X, ME)
lib/
procinfo_win.C
David 11 Sept 2006
- API: fix bug in parsing global prefs.
GLOBAL_PREFS::parse_override() was calling xp.parse_start(),
which is wrong because in some cases
(e.g. parsing app init data file)
the start tag has already been parsed.
Principle: only call xp.parse_start() if you're
the function that actually opens the file.
- convert parsing of global preferences to use new XML parser
- core client: print error message if can't parse cc_config.xml
client/
cs_prefs.C
log_flags.C
lib/
app_ipc.C
gui_rpc_client_ops.C
prefs.C,h
David 11 Sept 2006
- API bug fix
lib/
app_ipc.C
David 11 Sept 2006
- XML parser bug fix (from Urs Echternacht)
lib/
parse.C
Rom 11 Sept 2006
- Bug Fix: Keep one second disk writes from happening on the OnRender()
function of the advanced frame. GTK2 appears to emulate user activity
when setting a control's state programtically which in turn causes
the set_*_mode rpc functions which in turn causes the state file to
be flagged as dirty.
clientgui/
AdvancedFrame.cpp, .h
Kevin 12 Sept 2006
- BSG
- Modify skin.xml format to be more readable
- Add additional check to a skin.xml file to ensure that it is valid before attempting to display
clientgui/
sg_SkinClass.cpp
David 12 Sept 2006
- Core client and account manager protocol:
account manager replies can include a
<opaque>
...
</opaque>
element. It is stored in the acct_mgr_login.xml file,
and returned verbatim in subsequent account manager RPCs.
This is intended to allow account managers to send a
string analogous to BOINC's account key,
identifying the user and/or host on subsequent RPCs.
This overrides the name/password, and allows RPCs to
continue working even if the user changes name/password
on the AMS site.
NOTE: the contents of <opaque> are arbitrary XML.
Can contain other elements, and can have newlines.
Doing this required switching all AMS-related XML parsing
to use the new XML parser.
So now AMS replies don't have any XML formatting restrictions.
Woo-hoo!
- XML_PARSER: added element_contents() method to parse
stuff that may contain tags (like <opaque>)
client/
acct_mgr.C,h
lib/
parse.C,h
David 12 Sept 2006
- user web: $n -> ITEMS_PER_PAGE
html/user
top_teams.php
top_users.php
David 12 Sept 2006
bugs that affect newly-created projects:
- remove outdated forum_sample_index.php (just use forum_index.php)
- include util.inc in project.inc
- create_forums.php is a script, not a web page
html/
ops/
create_forums.php
project.sample/
project.inc
user/
forum_sample_index.php (removed)
py/Boinc/
setup_project.py
Kevin 14 Sept 2006
- BSG
- Modify the way the the skin.xml is read and stored
- Added a bit of trace logging
- Modified the preferences dialogue so that changing the skin is a seperate action
from changing local settings
- Fixed some bugs that were causing the BSG to crash
clientgui/
sg_BoincSimpleGUI.cpp
sg_DlgPreferences.cpp/h
sg_ProgressBar.cpp
sg_ProjectsComponent.cpp
sg_SkinClass.cpp/h
sg_StaticLine.cpp/h
Kevin 14 Sept 2006
- BSG
- Fixed issue with connection failure dialogue being repeatedly displayed
- BSG now calls CBOINCBaseFrame::RestoreState() and CBOINCBaseFrame::SaveState()
clientgui/
sg_BoincSimpleGUI.cpp/h
Walt 14 Sept 2006
-Get page_fault_count for process in Linux
lib/
procinfo_unix.C
Kevin 15 Sept 2006
- BSG
- Changed skin file so that most images are obtained from the skin class
clientgui/
sg_BoincSimpleGUI.cpp/h
sg_ClientStateIndicator.cpp/h
sg_DlgMessages.cpp/h
sg_DlgPreferences.cpp/h
sg_ImageButton.cpp/h
sg_ImageLoader.cpp/h
sg_ProgressBar.cpp/h
sg_ProjectsComponent.cpp/h
sg_SkinClass.cpp/h
sg_StatImageLoader.cpp/h
sg_ViewTabPage.cpp/h
clientgui/common
wxFlatNotebook.cpp/h
Kevin 15 Sept 2006
- BSG
- Changed references to bitmaps to refer to the skin object
- Fixed a bug that caused the BSG to crash when switching from Work Display -> No Work -> Work Display
clientgui/
sg_BoincSimpleGUI.cpp/h
sg_ClientStateIndicator.cpp/h
sg_DlgMessages.cpp/h
sg_DlgPreferences.cpp/h
sg_ProgressBar.cpp/h
sg_ProjectsComponent.cpp/h
sg_SkinClass.cpp/h
sg_ViewTabPage.cpp/h
Rom 17 Sept 2006
- Clean up some of the dialup logic.
- Make sure that only one dialog can be displayed at a time.
clientgui/
BOINCBaseFrame.cpp
BOINCDialupManager.cpp, .h
Walt 18 Sept 2006
- Compile fixes for Linux
clientgui/
BOINCDialupManager.cpp
David 18 Sept 2006
- core client: bug in config file error message printfs
client/
log_flags.C
Eric K 18 Sept 2006
- Fixed stack corruption that occurs if stderr contains a c format
code. Bug reported by Nicolas Alvarez.
client/
client_types.C
Charlie 19 Sept 2006
- Mac: Add process memory info for Mac, using a pipe to ps command.
Does not set the page_fault_count, user_time or kernel_time fields
in PROCINFO struct. See comments in procinfo_mac.C for other
values of possible interest that are avaiable from ps command.
- Fix compiler warning in http_curl.C.
client/
http_curl.C
lib/
procinfo_mac.C (new)
mac_build/
boinc.xcodeproj/
project.pbxproj
David 19 Sept 2006
- update account-created email
- user web: use $_POST instead of $_HTTP_POST_VARS.
The latter doesn't work in PHP 5
(from Christian Beer)
html/
inc/
email.inc
ops/
make_fake_tables.php (removed)
migrate_tables.php (removed)
mungetest.php (removed)
user/
edit_forum_preferences_action.php
David 19 Sept 2006
- removed references to Janus' 'download network',
which he's phasing out.
Instead, just keep a list of addons in doc/addons.php
html/
inc/
download.inc (removed)
download_network.inc (removed)
user/
download_network.php (removed)
sample_index.php
Walt 20 Sept 2006
- Bug fix: fix task status text when the manager connects to an
older client that doesn't support <get_cc_status>.
clientgui/
ViewWork.cpp
Charlie 21 Sept 2006
- Mac: fix compiler warning.
- Mac: Set PROCINFO user_time to cpu time from ps command; use rsz
instead of rss for working_set_size; set page_fault_count to
pagein value from ps command. Unfortunately, none of these
selectors work correctly in OS X version of ps command: pagein,
majflt and minflt.
- Mac: modify release script to include these files in distribution:
switcher/switcher, switcher/setprojectgrp, Mac_SA_Secure.sh and
Mac_SA_Insecure.sh.
- Mac: improvements to Mac_SA_Secure.sh, Mac_SA_Insecure.sh scripts.
clientgui/
BOINCDialupManager.cpp
lib/
procinfo_mac.C
mac_installer/
release_boinc.sh
mac_build/
Mac_SA_Insecure.sh
Mac_SA_Secure.sh
Charlie 25 Sept 2006
- Mac: Use pipe to new helper application AppStats instead of 'ps'
command to get process info for project applications and their
descendants. On OS X, most of this info is available only to
the super-user, so AppStats runs setuid root (as do 'ps' and
'top'.) This allows us to completely fill in PROCINFO struct.
- Mac: Also set host_info.m_swap in procinfo_setup(), because
sysctl(vm.vmmeter) doesn't work on OS X, so hostinfo_unix.C
function HOST_INFO::get_host_info() can't get total swap space.
client/
app_stats_mac.C (new)
check_security.C
file_names.h
hostinfo_unix.C
clientgui/
mac/
SetupSecurity.cpp
lib/
procinfo_mac.C
mac_installer/
release_boinc.sh
release_GridRepublic.sh
mac_build/
Mac_SA_Insecure.sh
Mac_SA_Secure.sh
boinc.xcodeproj/
project.pbxproj
David 25 Sept 2006
- core client, Mac: if file ownership not secure, describe
-insecure option in error message
client/
main.C
David 25 Sept 2006
- revise forum post rules to include 'kid friendly'
html/inc/
forum.inc
Eric K 26 Sept 2006
- new functions in util.[Ch] remove_duplicate_words(char * or string &).
removes duplicate words from a space or comma delimited string.
lib/
util.[Ch]
David 26 Sept 2006
- user web: if user has a compound language (like en-us) in their list,
and there's a translation file for the base language (en), use it.
html/inc/
translation.inc
Eric K 26 Sept 2006
- Changes to configure.ac
Added check for header sys/auxv.h (Solaris)
Added check for function getisax() (Solaris 10)
Added check for libcups (MacOS command line build)
Added check for libSystemStubs (MacOS command line build)
configure.ac
David 26 Sept 2006
- fix FCGI compile error
lib/
miofile.h
Kevin 25 Sept 2006
- BSG
- Fixed an bug that prevented the message dialogue from closing when the X button was clicked.
- Add a link to the home page for all projects in the drop down
- Change label in menu in the advanced view read 'Switch to Simple View'
- Fix bug that occurs when the notebook is rendered while a dialogue box is open
clientgui/
AdvancedFrame.cpp
sg_BoincSimpleGUI.cpp/h
sg_DlgMessages.cpp
sg_ProjectsComponent.cpp
sg_StatImageLoader.cpp
sg_ViewTabPage.cpp/h
Charlie 26 Sept 2006
- Mac: AppStats helper application gets info only for descendants of
BOINC, which substantially improves speed & efficiency. (PROCINFO
totals for other processes are not currently used anywhere.)
- Mac: Set host_info.m_swap to total free disk space, because OS X
uses all of the available space on the machine<6E>s boot partition
for swap space if needed.
client/
app_stats_mac.C
hostinfo_unix.C
David 27 Sept 2006
- fix compile of FCGI scheduler and file upload handler
NOTE: I did this by manually putting in a #ifdef _USING_FCGI_
in miofile.C
I don't understand why this was necessary.
lib/
miofile.C,h
parse.C
sched/
Makefile.am
Kevin 27 Sept 2006
- BSG
- Fix bug that caused an occasional error in the BSG when switching skins
clientgui/
sg_BoincSimpleGUI.cpp
sg_ProgressBar.cpp/h
Charlie 27 Sept 2006
- Mac: Use full-duplex pipes so AppStats helper application can stay open
for better efficiency. Note: the code in app_stats_mac.C and
procinfo_mac.C uses standard BSD calls and so should work for any
BSD Unix system (BSD 4.3 or above).
- Mac: Update host_info.m_swap on each PROCINFO update.
- Comment out bogus memory usage exceeded message if mem_usage_debug log
flag is set.
client/
app_control.C
app_stats_mac.C
lib/
procinfo_mac.C
Kevin 27 Sept 2006
- BSG
- Add support for additional file types for the skin
(GIF and ICO - in addition to the BMP, XPM and PNG
that were already available)
- Remember where the BSG was positioned last time it was open
- Position the messages dialogue so that the most recent message is displayed
- Add text to the preferences dialogue
- Reduce size of some of the skin images
clientgui/
BOINCGUIApp.cpp
sg_BoincSimpleGUI.cpp
sg_DlgMessages.cpp
sg_DlgPreferences.cpp
Charlie 28 Sept 2006
- Mac: Add safety features and fix bugs in procinfo_setup().
lib/
procinfo_mac.C
David 28 Sept 2006
- user web: add page for "Certificate of Computation"
(mostly borrowed from SETI@home; needs to be
customized by the project)
html/
inc/
cert.inc (new)
user/
cert1.php (new)
sample_index.php
David 28 Sept 2006
- Change first line of various scripts from
#!/usr/local/bin/php (which seems to be Solaris-specific)
to
#!/usr/bin/php (which seems to be more standard)
It would be nice to have this not hardwired.
One solution would be to omit the first line
(make these files into PHP files rather than scripts)
and require the <command> tags in config.xml to specify the PHP path.
But this would disrupt some projects, so I'll defer this.
html/ops/
db_update.php
update_forum_activities.php
update_profile_pages.php
update_uotd.php
watchdogs.php
wd_nresults_changing.php
David 28 Sept 2006
- Redo the above, using
#!/usr/bin/env php
(suggested by Eric Myers)
html/ops/
db_update.php
update_forum_activities.php
update_profile_pages.php
update_uotd.php
watchdogs.php
wd_nresults_changing.php
Kevin 29 Sept 2006
- BSG
- Changed workunit area to use a static image rather then an animiated gif
- Center the image within the space and resize it dyanmically if necessary to fit
within the allocated space
- Fix bug that makes sure that the BSG will be displayed on the screen if the
values of the previous location are corrupted for some reason
clientgui/
BOINCGUIApp.cpp
sg_BoincSimpleGUI.cpp
sg_DlgMessages.cpp
sg_DlgPreferences.cpp
David 29 Sept 2006
- include cpu_usage_limit in prefs XML
(in get_state GUI RPC reply, and in app init file)
lib/
prefs.C
Rom 1 Oct 2006
- Update libcurl for Windows to version 7.15.5 so that curl
can handle bandwidth throttling.
curl/
<Various Files>
David 2 Oct 2006
- Add code that sets upload/download bandwidth limits
using new Curl functions.
Curl's limits are per connection.
So whenever we make a new connection or close an old one,
and the prefs have a limit defined,
divide it uniformly among connections in that direction
and call libCurl to set the limit.
client/
file_xfer.C,h
gui_http.C
http_curl.C,h
David 2 Oct 2006
- core client: bug fix in bandwidth-limiting code
- core client bug fix: when reset or detach a project,
sometimes would get a crash when deleting FILE_INFOs.
This is because instead of
iter = foo.erase(iter);
we just had
foo.erase(iter);
Clean up all code to always use the former.
client/
app.C
client_state.C
cpu_sched.C
file_xfer.C
http_curl.C,h
pers_file_xfer.C
David 2 Oct 2006
- core client: implement memory management system, as described in
http://boinc.berkeley.edu/memory.h
- core client: fix erroneous speed calculation
when a file xfer is resumed
TODO:
- export memory usage into to apps
- change scheduler to use memory prefs
client/
app.h
app_control.C
client_state.h
cpu_sched.C
cs_prefs.C
http_curl.C,h
lib/
prefs.C,h
procinfo.h
procinfo_win.C
Charlie 2 Oct 2006
- Mac: Changes for libcurl 7.15.5.
mac_build/
buildcurl.sh
HowToBuildBOINC_XCode.rtf
boinc.xcodeproj/
project.pbxproj
David 3 Oct 2006
- API: pass working set size and max WSS from core client to app.
This lets "memory-aware" applications change their memory usage
(e.g. by disabling/enabling graphics) in response to
changing requirements.
- User web: add preferences for max RAM usage while busy and idle
- Do WSS averaging at higher level
api/
boinc_api.C,h
client/
app.C
html/inc/
prefs.inc
lib/
procinfo_unix.C
procinfo_win.C
David 3 Oct 2006
- core client: memory management bug fixes and debug messages
- core client: include memory-related info (wss, max_wss)
in heartbeat messages to apps
- core client: change memory-related messages to use MB notation
- core client: remove old bandwidth-limiting code
Intermediate checkin. Still to do:
- save/restore smoothed WSS
- change RR simulator to reflect memory management
client/
app.C
app_control.C
cpu_sched.C
cs_prefs.C
http_curl.C,h
lib/
prefs.C
util.h
win_build/
boinc_cli_curl.vcproj
David 3 Oct 2006
- core client: save/restore smoothed WSS
api/
boinc_api.C
client/
app.C
html/inc/
prefs.inc
David 3 Oct 2006
- In a situation where project A as a result that uses too
much RAM to run right now, and is in deadline trouble,
the work-fetch policy wouldn't get more work,
even if project B has small-RAM jobs. This is bad.
Fix (kludge): rr_simulator() doesn't count a result
as being a deadline miss if it uses too much RAM
to run right now.
- Changes to compute_work_requests():
- if a contactable non-CPU-intensive project needs work,
return immediately
- use p->rr_sim_deadlines_missed, NOT p->deadlines_missed
(the latter is a temp variable,
with no defined value at this point)
client/
client_state.h
cpu_sched.C
cs_scheduler.C
David 3 Oct 2006
- core client: fixed bug that could cause Curl to be
passed a null pointer (bandwidth limiting)
client/
file_xfer.C
http_curl.C,h
David 3 Oct 2006
- core client and manager: set things up so that if
a result isn't running because it requires too much RAM,
an appropriate message ("Waiting for memory")
is shown in the Manager
client/
app.C,h
cpu_sched.C
clientgui/
ViewWork.cpp
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
gui_rpc_client_print.C
Charlie 4 Oct 2006
- Mac: Update XCode project for simple gui (new files, etc.)
mac_build/
boinc.xcodeproj/
project.pbxproj
David 4 Oct 2006
- scheduler: if request has RAM usage limits preferences,
take them into account in deciding whether to send work.
Return appropriate message depending on whether
1) machine doesn't have enough RAM period, or
2) machine has enough RAM, but limits are too low
- XML parser: fix bug where empty string (<foo></foo>)
wasn't being parsed correctly
lib/
parse.C
sched/
sched_send.C
server_types.C,h
David 4 Oct 2006
- core client: initialize ACTIVE_TASK::too_large
(eliminate spurious "waiting for memory" message)
client/
app.C
David 4 Oct 2006
- db_dump: fix crashing bug
- XML parser: fix yet another bug
lib/
parse.C
sched/
db_dump.C
Charlie 4 Oct 2006
- Mac: Update XCode project for simple gui.
mac_build/
sg_Info.plist (new)
boinc.xcodeproj/
project.pbxproj
Charlie & Rom 4 Oct 2006
Rom fixed a Mac compiler error in SimpleGUI code.
clientgui/
sg_ViewTabPage.cpp
Kevin 5 Oct 2006
- BSG
- Changed workunit area to use a static image rather then an animiated gif
- Center the image within the space and resize it dyanmically if necessary to fit
within the allocated space
- These changes should have been checked in with my changes on Sept 29
clientgui/
sg_ImageButton.cpp
sg_ViewTabPage.cpp/h
David 6 Oct 2006
There's a problem with the current global prefs design:
A client has two different forms of global prefs:
- the "master prefs", which are stored on disk (in global_prefs.xml),
which have a mod time, and which can include <venue> elements.
- the "working prefs", which are formed by taking the
master prefs (using the venue variant for this host)
and then modifying it by the contents of the prefs override file.
The working prefs determine what the core client actually does,
i.e. how much memory/disk it uses.
When the client makes a scheduler RPC, the request message includes
global prefs, which are used for two purposes:
1) so that the scheduler can take the prefs into account in making
scheduling decisions;
2) to propagate preferences between projects, so that users
see consistent prefs, and can edit them on any project site.
The problem is: for 1), the scheduler needs the working prefs.
For 2), it needs the master prefs.
Currently the client sends the master prefs.
So in some cases, scheduling decisions are now based
on the wrong information.
Fix: include both master prefs and working prefs in request msg.
New server logic:
if request message includes <working_global_preferences>
P = <working_global_prefs>
else
if req msg includes <global_preferences>
if newer than DB
P = <global_prefs>
else
P = DB prefs
use P for sched decisions
If request message includes <global_preferences>,
and mod time is later than DB version,
and email hash is the same,
update DB
Reply: if DB prefs have later mod time than P
send DB prefs in reply
-----------------------
- prefs: bandwidth limits default to zero (unenforced) rather than 1e12
lib/
prefs.C,h
sched/
handle_request.C
sched_send.C
server_types.C,h
David 6 Oct 2006
Client-side part of above fix,
and support for "host-specific" global preferences
- include <working_global_preferences> in scheduler requests.
In combination with the above server changes,
this will fix the design problem described above.
- include <global_preferences> in scheduler requests
only if master prefs are not host-specific.
When a host with host-specific prefs talks to an old scheduler,
the scheduler won't know its current prefs.
This problem will go away as projects upgrade their software.
- if we get <global_preferences> in a scheduler RPC reply,
ignore it if it's from an old server (pre-5.7)
and we have host-specific prefs
client/
app_control.C
cs_scheduler.C
David 6 Oct 2006
- core client: add the ability to hardwire the host venue.
Put <host_venue>X</host_venue> in your
global_prefs_override.xml file
(outside the <global_preferences> element)
client/
cs_prefs.C
David 9 Oct 2006
- core client: when parsing list of project files in sched reply,
delete the old sym link files first
client/
client_types.C
David 9 Oct 2006
- Manager: add code that shows disk usage
(total and project) as pie chart rather than text.
From Frank Weiler
clientgui/
Events.h
ViewResources.cpp,h
common/
wxPieCtrl.cpp,h (new)
win_build/
boincmgr_curl.vcproj
Rom 9 Oct 2006
- Prepare for the default skin to be embedded within the BOINC manager.
clientgui/res/skins/default
<Added Files>
clientgui/res/templates/skins
<Added Files>
clientgui/skins/default
<Remove Files>
David 9 Oct 2006
- core client: when parsing project files, delete old symlink files
only on scheduler RPC (not when read state file)
client/
client_types.C,h
cs_statefile.C
scheduler_op.C
David 9 Oct 2006
- debug the above
client/
client_types.C,h
cs_scheduler.C
cs_statefile.C
Kevin 9 Oct 2006
- BSG
- Make sure project section renders even if the manager cannot connect to the core client
- Eliminate dual timer issue if you change skins and have a slide show running
- Extend the wxFlatNotebook and moved all code related to the notebook and workunits into the new class (WorkunitNotebook)
- Change the height of the BSG to 570 pixels (from 600)
- Change the display area for the slide show to eliminate black border except where required by text for show graphics. New dimensions are width = 290, height = 126
- Check for updated slideshows after a project RPC and any files finish downloading
clientgui/
sg_BoincSimpleGUI.cpp/h
sg_ClientStateIndicator.cpp
sg_ProjectsComponent.cpp
sg_StatImageLoader.cpp/h
sg_ViewTabPage.cpp/h
Charlie 10 Oct 2006
- Mac: Update XCode project for wxPieCtrl. NOTE: new ViewResources.cpp
causes very serious crash on Mac (totally crashes system, requires
restarting computer.) wxPieCtrl web site says it has been tested
only for wxMSW and wxGTK. So as a temporary workaround I have
added "#ifndef __WXMAC__" in 2 places in ViewResources.cpp
- Mac: Update release scripts to include COPYRIGHT and COPYING LGPL
files in distributions.
clientgui/
ViewResources.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
mac_installer/
release_boinc.sh
Postinstall.cpp
David 11 Oct 2006
- core client: add project dir to LD_LIBRARY_PATH env var
when running apps on Linux.
This is a first step towards letting apps dynamically
link to .so files without having to use <copy_file/>
to put them in the slot dir.
NOTE: not quite there yet; need to avoid creating
symlink file in slot dir.
- core client: bug fix so that output file references
with <copy_file/> set are handled correctly.
- core client: #ifdef Curl bandwidth-limit calls
(workaround until I can get libcurl 7.15.5 installed on isaac)
client/
app_start.C
http_curl.C
sched/
trickle_handler.C
Kevin 11 Oct 2006
- BSG
- Pause slide show for workunits that are not running
- Add message to space below slide show images to explain status of the workunit (running, paused)
- Fixed bug that sometimes caused slide shows to not load properly when first downloaded
or after they have been updated by the project
- Prevent workunit name from overflowing the side of BSG
- Play with tabs to make the selected tab stand out
- Fixed bug which caused a crash when switching between simple and advanced views
- Fixed a significant memory leak
- Eliminate some compiler warnings
clientgui/
sg_BoincSimpleGUI.cpp/h
sg_ClientStateIndicator.cpp
sg_ImageButton.cpp/h
sg_ProjectsComponent.cpp
sg_SGUIListControl.cpp/h
sg_StatImageLoader.cpp
sg_ViewTabPage.cpp/h
Charlie 11 Oct 2006
- Fix compiler warnings and errors.
- Changes to wxPieCtrl to fix crashes, compiler warnings on Mac.
client/
app_start.C
http_curl.C
clientgui/
ViewResources.cpp
common/
wxPieCtrl.cpp,h
David 12 Oct 2006
- scheduler: fix bug that prevented prefs propagation
sched/
handle_request.C
David 12 Oct 2006
- core client: keep track of (per project):
- the last time a scheduler RPC finished
- the last time the final project file download finished
These are not maintained in the state file;
i.e. when the core client starts up,
they'll be zero until the respective event occurs.
- Include these in the GUI RPCs that return projects
(i.e. get_simple_gui_info(), get_state(), get_project_status())
client/
client_types.C,h
cs_files.C
cs_scheduler.C
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
gui_rpc_client_print.C
Charlie 12 Oct 2006
- More fixes to wxPieCtrl for Mac.
clientgui/
ViewResources.cpp
common/
wxPieCtrl.cpp,h
Rom 12 Oct 2006
- Bug Fix: CURLOPT_MAX_SEND_SPEED_LARGE and CURLOPT_MAX_RECV_SPEED_LARGE
are apart of an enum and not a preprocessor define. Check for
compatibility by using LIBCURL_VERSION_NUM instead.
- Bug Fix: When switching from the simple GUI to the advanced GUI be sure
to restore the window size correctly.
client/
http_curl.C
clientgui/
AdvancedFrame.cpp
Rom 13 Oct 2006
- If we have received the authenticator via a setup cookie then run the
wizard in a completely automated fashion. Only stop if there was an
error.
clientgui/
BOINCBaseWizard.cpp, .h
CompletionPage.cpp
WizardAttachProject.cpp
Kevin 16 Oct 2006
- BSG
- Update Project GUI urls when a rpc has completed with a project
- Update User Stats when a rpc has completed with a project
- Update project slide show when new downloads have been received from the project
clientgui/
sg_BoincSimpleGUI.cpp
sg_ProjectsComponent.cpp/h
sg_StatImageLoader.cpp/h
sg_ViewTabPage.cpp/h
David 16 Oct 2006
- removed db/mysql.h. Not sure why it was there,
but apparently it caused big problems for projects using MySQL 5
(reported by Carl C)
db/
mysql.h (removed)
Charlie 16 Oct 2006
- New colors for wxPieCtrl from Frank Weiler.
clientgui/
ViewResources.cpp,h
Rom 16 Oct 2006
- Bug Fix: Benchmarks should be run using an idle thread priority instead of the
normal thread priority.
client/
cs_benchmark.C
Charlie 17 Oct 2006
- Additional fixes for wxPieCtrl from Frank Weiler.
clientgui/
ViewResources.cpp
common/
wxPieCtrl.cpp
Matt 17 Oct 2006
- Updated forum code so that only project administrators can banish users, not
moderators
html/
user/
forum_moderate_post_action.php
inc/
forum.inc
forum_moderators.inc
Kevin 18 Oct 2006
- BSG
- Added a state to inform the user when the client is communicating with a project
- Added a 'change' button to the preferences to change just the skin
- Fixed bug that caused the skin to crash when a invalid skin was selected
- Do not flash the 'messages' between red and black for messages that arrive while
the messages dialogue is open
- Set the selected tab when the BSG is first opened to be a workunit that is currently running
clientgui/
sg_ClientStateIndicator.cpp/h
sg_DlgPreferences.cpp
sg_ProjectsComponent.cpp/h
sg_SkinClass.cpp/h
sg_ViewTabPage.cpp
David 18 Oct 2006
- let project show addons page with their own header/footer
html/user/
download_network.php
Rom 18 Oct 2006
- Bug Fix: Fix license snafus
api/
reduce_main.C
David 18 Oct 2006
- fix line endings
clientgui/
ViewResources.cpp,h
Rom 18 Oct 2006
- Bug Fix: Change the regex that validates email addresses in the manager to a 5 star rated
expression. See http://regexlib.com/REDetails.aspx?regexp_id=328
clientgui/
ValidateEmailAddress.cpp
Kevin 18 Oct 2006
- BSG
- Modify the pause/resume button to correctly set both execution and network settings
clientgui/
sg_ProjectsComponent.cpp
David 19 Oct 2006
- core client: if can't rename state file, show "check permissions" message
- user web: certificate numeric units off by 1000 (from Carl C)
client/
cs_statefile.C
html/inc/
cert.inc
Rytis 19 Oct 2006
- user web: allow account creation via an RPC when invitation code is
required.
html/
user/
create_account.php
inc/
xml.inc
David 19 Oct 2006
- project back end: add mechanism so that PHP scripts can be
run from the 'start' script in a way that works
with both PHP4 and PHP5.
To run html/ops/update_profile_pages.php, for example, put
<cmd>run_in_ops update_profile_pages.php</cmd>
in your config.xml file <task> entry.
(run_in_ops is a script that lives in bin/,
cds into ../html/ops, and executes its args)
py/Boinc/
setup_project.py
tools/
run_in_ops (new)
Rom 19 Oct 2006
- Bug Fix: Last regex didn't work right. Reverting back to the regex before yesterday's
bug fix and just adding in the other valid characters. What a pain in the butt.
clientgui/
ValidateEmailAddress.cpp
Rom 19 Oct 2006
- Bug Fix: When a BOINC rename operation failed we were returning -1 no matter what the
real error code was. rename only returns a -1 and then you are supposed to lookup
the real error code by using errno.
- Add some additional information to the message log in case a state file rename
operation fails.
- Tweak boinc_rename, boinc_mkdir, boinc_rmdir, boinc_delete, and boinc_copy so that
they return Win32 error codes instead of just -1. We can now use the
windows_error_string and windows_format_error_string functions when those fail
to give us and the community more useful information about what has gone wrong.
- Log additional information in case a rename operation fails for account_*.xml files
and stat files.
client/
cs_account.C
cs_statefile.C
lib/
filesys.C
Rom 20 Oct 2006
- MGR: CBrandingScheme is now dead.
All references in the advanced GUI have been changed
to CSkinManager. Simple GUI to follow.
clientgui/
<*.cpp>
David 20 Oct 2006
- core client: if remote_hosts.cfg is present,
reread it (and resolve host names) on each GUI RPC connection,
in case IP addresses have changed
client/
client_state.h
gui_rpc_server.C
lib/
filesys.C
David 20 Oct 2006
- Output files can be tagged as "optional".
If the application doesn't generate an optional output file,
the client treats it as normal
(i.e. doesn't flag it as an error)
NOTES:
1) to make an output file optional,
put <optional/> in its <file_ref>
element in the result template file
2) clients earlier than 5.8 don't recognize this attribute;
they will mark results as "compute error" if
any of their output files are missing
client/
client_types.C,h
cs_apps.C
David 20 Oct 2006
- user web: use regexp-based check for email validity
(from Frank Thomas)
- user web: on CPU throttle preference, say that
it works only with 5.6+
html/inc/
email.inc
prefs.inc
David 20 Oct 2006
- fix potential buffer overrun in db_dump.C (from Carl)
sched/
db_dump.C
Charlie 21 Oct 2006
- Mac: FIx new compile error by including "BOINCBaseFrame.h".
- Added SkinManager.cpp to XCode project.
clientgui/
mac/
MacSysMenu.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 21 Oct 2006
- Server: apps can be labeled as "beta",
and jobs for them will be sent only to users with
"<allow_beta_work>1</allow_beta_work>" in their project preferences.
This lets you do application testing without
creating a separate project,
which has advantages both for you (1 projects instead of 2)
and for testers (their testing gives them points
in your main project)
- Scheduler: refined the criteria for "reliable" hosts
to which old results are sent,
and added a param for reducing delay bound
when sending results to reliable hosts
- add -sleep_interval option to assimilator
- move -reliable flag from feeder
- add to sched config:
reliable_min_avg_credit
reliable_min_avg_turnaround
reliable_time
reliable_reduced_delay_bound
(from Kevin Reed)
NOTES: updating your server software to this version or later requires
a small database change (see html/ops/db_update.php)
db/
boinc_db.C,h
lib/
parse.C
sched/
assimilator.C
feeder.C
sched_array.C
sched_config.C,h
sched_locality.C
sched_send.C,h
server_types.h
David 21 Oct 2006
- small cleanups to the above
db/
boinc_db.C,h
schema.sql
html/ops/
db_update.php
py/Boinc/
database.py
sched/
sched_send.C
server_types.h
Rom 22 Oct 2006
- MGR: CSkinClass is now dead.
All references in the simple GUI have been changed to CSkinManager.
- Cleaned up a bunch of warnings.
clientgui/
<*.cpp>
Charlie 21 Oct 2006
- Mac: Removed sg_SkinClass.cpp/h from XCode project.
- Fixed incorrect assignments of m_iconApplicationDisconnectedIcon and
m_iconApplicationSnoozeIcon.
clientgui/
SkinManager.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
David 22 Oct 2006
- scheduler: rename "reliable_min_avg_turnaround"
to "reliable_max_avg_turnaround"
- add some doc for new reliable-host scheme
sched/
sched_config.C,h
sched_send.C
David 23 Oct 2006
- core client: AMS replies can include <resource_share>
elements in <account> elements.
These override the resource shares reported by projects.
Account managers can thus provide host-level control of resource share.
client/
acct_mgr.C,h
client_state.C
client_types.C,h
David 23 Oct 2006
- core client: limit # of simultaneous net xfers to 8
- core client: if there was an HTTP error on download,
we were truncating the file back to its original size
because of fear that
"error-reporting HTML may have been appended"
(I'm not sure if this actually every happens).
In any case, I changed to logic so that, on HTTP error,
we remove at most 5KB from the end of the file.
- removed SkinManager.cpp from VS2005 project file
client/
cs_files.C
file_xfer.C
http_curl.C
win_build/
boincmgr_curl.vcproj
David 24 Oct 2006
- core client: use CPU shortfall instead of time_until_work_done()
in a couple of places; should slightly improve work fetch
client/
cs_scheduler.C
html/inc/
prefs.inc
David 24 Oct 2006
- core client: when get new global prefs, enforce
network bandwidth limits (in case they changed)
client/
cs_prefs.C
Rom 25 Oct 2006
- MGR: Both the simple GUI and advanced GUI respond to skin changes
- MGR: Skins can now include different languages. Searches for the
canonical locale id first (pt_BR) and then will fall back to the
root language (pt). If both fail it'll try english before loading
the default resources.
- MGR: Wizards can now use skinned resources
clientgui/
BOINCBaseFrame.cpp, .h
BOINCGUIApp.cpp, .h
DlgOptions.cpp
Events.h
sg_BoincSimpleGUI.cpp, .h
sg_DlgMessages.cpp
sg_DlgPreferences.cpp, .h
sg_ProjectsComponent.cpp, .h
sg_SGUIListControl.cpp
SkinManager.cpp, .h
stdwx.h
David 25 Oct 2006
- core client: added config options for
max # file transfers, global and per_project
client/
cs_files.C
file_xfer.h
log_flags.C,h
Rom 25 Oct 2006
- MGR: Fix crashing bug where the simple GUI is the initial state and
the skin just finished loading. After a new skin is loaded the
ReloadSkin event is fired so each frame needs to make sure it
doesn't try to deref it's own null pointers.
clientgui/
sg_BoincSimpleGUI.cpp, .h
David 25 Oct 2006
- User web: added support for "run beta applications" preference.
This is enabled if project has
$project_has_beta = true;
in its html/project/project_specific_prefs.inc file.
html/
inc/
prefs.inc
user/
add_venue.php
prefs_edit.php
project_specific_prefs.inc.sample
sched/
sched_send.C
Rom 25 Oct 2006
- MGR: Check to see if the clientindictor timer pointer is valid before
stopping and deleting it.
clientgui/
BOINCGUIApp.cpp
sg_BoincSimpleGUI.cpp, .h
sg_ClientStateIndicator.cpp
Kevin 25 Oct 2006
- MSG: Fixed issues with BSG (pointer issues)
clientgui/
sg_BoincSimpleGUI.cpp/h
sg_ClientStateIndicator.cpp
Rom 25 Oct 2006
- MGR: Make sure that after we clear out all the old skin resources we at
least reset the skin name back to the one the user wants, otherwise
we'll end up with a blank combo box item.
clientgui/
sg_BoincSimpleGUI.cpp
SkinManager.cpp, .h
David 26 Oct 2006
- core client: fix a couple of bugs that could cause
the host to use the wrong venue when reading prefs
Also, print log message showing host location
client/
cs_prefs.C
cs_scheduler.C
Kevin 26 Oct 2006
- MGR:
* Fire ReloadSkin after changing to the default skin (this properly redraws the
* Move all logic for reloading a project/stat icon into the StatImageLoader class
* Fix bug that prevented the default stat icons from being updated with reskining
clientgui/
sg_ProjectsComponent.cpp/h
sg_StatImageLoader.cpp/h
SkinManager.cpp, .h
Rom 27 Oct 2006
- MGR: Use the new (2.6) ::wxLaunchDefaultBrowser API to launch the users default web
browser, we should get better results with it.
- MGR: Add 'CPU throttle' to the preferences dialog.
- MGR: Add 'run on battery' to the preferences dialog.
- MGR: Fix reading and storing all preference values
- MGR: Add web customized values to the list of selections for any of the user
configurable settings.
- MGR: Partial Fix for Large Font/High DPI issues. Now we just have to figure out
if we want the dialog to grow or the text to shrink.
clientgui/
hyperlink.cpp
sg_DlgPreferences.cpp, .h
sg_ProjectsComponent.cpp
sg_StaticLine.cpp, .h
sg_StaticText.cpp, .h (Added)
sg_ViewTabPage.cpp
SkinManager.cpp
stdwx.h
win_build/
boincmgr_curl_2003.vcproj
Rytis 27 Oct 2006
- user web: allow team founder position to be transfered to another team member
in case the original founder is missing. Also updating "your account" page
to show multiple teams if the user is the founder of more than one.
NOTE: requires DB update (html/ops/db_update.php).
html/
user/
team_change_founder_action.php
team_change_founder_form.php
team_founder_transfer_action.php (new)
team_founder_transfer_form.php (new)
inc/
inc/email.inc
inc/team.inc
inc/user.inc
ops/
db_update.php
db/
schema.sql
constraints.sql
Kevin 27 Oct 2006
- MGR:
* Fix bug that caused the workunit icon to flash when the cpu throttle is utilized
clientgui/
sg_ViewTabPage.cpp
Charlie 27 Oct 2006
- Mac: Fix bug that prevented screensaver from launching BOINC client
properly under sandbox security if manager is not running.
- Mac: added sg_StaticText.cpp,.h to XCode project.
clientgui/
mac/
mac_saver_module.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
Rom 27 Oct 2006
- MGR: Adjust the preferences dialog so that the change and clear buttons can
be removed. People are just pre-programmed to look for buttons on the right-hand
side or bottom of the dialog to save changes. With the new scheme there will
just be a save and cancel button.
NOTE: The dialog looks a little funky right now, but that should be cleared up
soon.
- MGR: Make sure we don't try and load the skin we have already loaded.
clientgui/
sg_DlgPreferences.cpp, .h
sg_StaticLine.cpp
SkinManager.cpp
Rom 27 Oct 2006
- Tag for 5.7.0 release, all platforms
boinc_core_release_5_7_0
Rom 27 Oct 2006
- MGR:
Okay, last fixup to the preferences dialog.
Had to change the static group box into just a regular static text control
with a larger font since I couldn't figure out a way to make the text area
transparent.
The "Use custom preferences" check box is kind of a fake check box, the
check box itself is real, but the text off to the right is a static text
control. Trying to make the check box transparent was like beating your
head against the wall, I got as far as initial display being transparent
and a complete redraw cased it to be transparent, but moving the mouse over
the label caused a 1 pixel shift in the display of text which caused it
to blur.
clientgui/
BOINCGUI.pjd
sg_CustomControls.cpp, .h (Added)
sg_DlgPreferences.cpp, .h
sg_ProjectsComponent.cpp, .h
sg_ViewTabPage.cpp, .h
sg_StaticLine.cpp, .h (Removed)
sg_StaticText.cpp, .h (Removed)
Charlie 28 Oct 2006
- Mac: Fix bugs in screensaver when launching BOINC Client with branding:
- BOINC Data directory name does not change with branding.
- If screensaver can't locate BOINC Manager bundle using creator and
bundle ID, get branding file from BOINC Data directory.
- Branded (Grid Republic) installer places a copy of Branding file in
BOINC Data directory for use by screensaver.
- PostInstall app removes Branding file from BOINC Data directory if
performing an unbranded intall.
- Update XCode project for added and removed source files.
clientgui/
mac/
mac_saver_module.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
mac_installer/
PostInstall.cpp
release_GridRepublic.sh
David 28 Oct 2006
- back end: add function get_output_file_paths()
for getting the paths of multiple output files.
lib/
common_defs.h
sched/
validate_util.C,h
Rom 28 Oct 2006
- MGR: Enlarge the combo boxes on the preferences on the preferences dialog
so that they'll be able to contain the right text even on David's notebook.
- MGR: Fix the static text box associcated with the "Use custom preferences"
checkbox so that clicking on it checks/unchecks the the checkbox.
- MGR: Only change the background color to Magenta in debug builds so that
we don't flicker during control repaints on release builds.
clientgui/
sg_CustomControls.cpp, .h
sg_DlgPreferences.cpp, .h
sg_ProjectsComponent.cpp
Rom 28 Oct 2006
- MGR: Implement lazy loads for Simple GUI resources to try and speed things up.
clientgui/
SkinManager.cpp, .h
Rom 29 Oct 2006
- MGR: If the background image is smaller than the perferences dialog it'll
center the background image on the dialog. If the background image is larger
than the dialog it'll take a chunk out of the center of the bitmap and
paint that on the dialog.
clientgui/
sg_DlgPreferences.cpp
Charlie 29 Oct 2006
- Added link to Mac Installer page under "Installing BOINC" on
"Participating" page.
doc/
participate.php
Rom 29 Oct 2006
- MGR: Remove the change and clear buttons from the SkinManager.
- MGR: Fix the transparency problem for the Cancel, Close, and Save buttons.
- MGR: Fix the transparency problem for the active task icon.
- MGR: Fix a problem with a full repaint of the preferences dialog, it would paint
part of the dialog with the default grey color.
clientgui/
sg_BoincSimpleGUI.cpp
sg_CustomControls.cpp, .h
sg_ViewTabPage.cpp, .h
SkinManager.cpp, .h
Rom 29 Oct 2006
- MGR: When the skin changes, have the taskbar update its icon set.
- MGR: Code cleanup for various Simple GUI classes.
clientgui/
BOINCGUIApp.cpp, .h
BOINCTaskBar.cpp, .h
sg_BoincSimpleGUI.cpp
sg_ProjectsComponent.cpp, .h
sg_StatImageLoader.cpp, .h
SkinManager.cpp
Charlie 29 Oct 2006
- Mac: fix some Mac-specific Simple GUI bugs.
- NOTE: wxNO_BORDER is not a valid style argument for wxBitmapButton
constructors; use wxBU_NOAUTODRAW instead.
- Mac: Don't run confirmation dialog on QUIT AppleEvent so dialog
doesn't prevent logout / shutdown.
- Mac: fix crash on Mac when creating SG preferences dialog: create
window before setting background color.
clientgui/
AdvancedFrame.cpp, h
BOINCBaseFrame.cpp, .h
BOINCGUIApp.cpp, .h
BOINCTaskBar.cpp
sg_BoincSimpleGUI.cpp
sg_DlgMessages.cpp
sg_DlgPreferences.cpp
sg_ProjectsComponent.cpp
mac/
MacSysMenu.cpp, h
SystemMenu.m
mac_build/
boinc.xcodeproj/
project.pbxproj
Rom 30 Oct 2006
- MGR: Fix another round of window height, width, top, left, maximize, minimize
issues on Windows.
- MGR: Consolidate all window save and restore state to two functions instead
of four, for all platforms.
NOTE: Charlie, could you look over the changes for the Mac? I think I got them
right.
clientgui/
AdvancedFrame.cpp, .h
David 30 Oct 2006
- API: moved the __HrLoadAllImportsForDll() calls out of
boinc_samples/uppercase/uppercase.C
(what were they doing there??)
and put them into a function boinc_graphics_possible().
Applications that can potentially do graphics should call this,
and if it returns false don't try to do graphics
(this means the needed DLLs are not there (Win)
or the DISPLAY env var is not set (Unix))
- API: make the graphics callbacks (e.g. mouse movement)
C++ rather than C functions.
This was breaking the example applications (upper_case).
Bruce et al: if this causes problems, let me know.
- API, X graphics: use fprintf(stderr) instead of app_debug_msg(0
api/
boinc_api.C
graphics_api.h
x_opengl.C
html/inc/
team.inc
Rom 30 Oct 2006
- MGR: Wizard "Account Info" page, fix the control sizing problems when changing
between new account vs. existing account.
In the future use Layout() instead of Fit().
clientgui/
AccountInfoPage.cpp
Rom 20 Oct 2006
- MGR: Use a buffered device context to draw the background on the preferences
dialog which reduces the amount of flicker even further.
- MGR: Make sure the workunit text does not exceed the tab area when using
large fonts.
clientgui/
sg_DlgPreferences.cpp
sg_ViewTabPage.cpp, .h
Charlie 29 Oct 2006
- Mac: Work around Simple GUI problem drawing background bitmaps on
Erase events; use a wxStaticBitmap instead.
- Mac: more changes to XCode project to better build Simple GUI.
clientgui/
BOINCGUIApp.cpp
sg_BoincSimpleGUI.cpp, h
sg_DlgPreferences.cpp, h
mac_build/
boinc.xcodeproj/
project.pbxproj
Kevin 31 Oct 2006 (Boo!)
- MGR: Modify how the project icons are displayed. Fix multiple bugs and only
allocate space for the arrows if they are needed.
clientgui/
sg_ProjectsComponent.cpp/h
sg_StatImageLoader.cpp/h
Kevin 31 Oct 2006 (Spooky!)
- MGR: Change button behavior so that it uses the wxBU_AUTODRAW setting.
This causes buttons to look more 'button' like when clicked.
clientgui/
sg_ProjectsComponent.cpp/h
sg_StatImageLoader.cpp/h
David 31 Oct 2006
- Win compile fixes
client/
cs_files.C
win_build/
boincmgr_curl.vcproj
David 31 Oct 2006
- scheduler: parse mod_time correctly from global prefs
- user web: max CPUs defaults to 16
html/inc/
prefs.inc
util.inc
sched/
server_types.C
Rom 31 Oct 2006
- MGR: Remove CB_SORT style bit for first combo box.
clientgui/
sg_DlgPreferences.cpp
Kevin 31 Oct 2006
- MGR: Changed the wu tab back to using wxPaintDC from wxBufferedPaintDC. The
buffered version caused a noticable delay in rendering the display.
clientgui/
sg_ViewTabPage.cpp
Kevin 31 Oct 2006
- MGR: Fixed bug that prevented recently downloaded stat icons from being displayed
clientgui/
sg_StatImageLoader.cpp/h
Rom 31 Oct 2006
- MGR: When the background skinned image is too small in the preferences dialog,
scale it up.
clientgui/
sg_DlgPreferences.cpp
David 31 Oct 2006
- user web: use existing DB init function for forums too
html/inc/
forum_mysql_dbh.inc
David 31 Oct 2006
- compile fix: include mysql.h, not mysql/mysql.h
db/
db_base.C
Kevin 31 Oct 2006
- MGR: Changed the way that active_task_state
clientgui/
sg_ViewTabPage.cpp
Rom 31 Oct 2006
- Update the curl distro for windows to include the SOCKS 5 Auth path Walt put together.
curl/
<Numerious files>
Rom 31 Oct 2006
- Tag for 5.7.1 release, all platforms
boinc_core_release_5_7_1
Charlie 1 Nov 2006
- Mac: Work around Simple GUI hang due to bug in Mac version of
wxBufferedDC.GetTextExtent().
- Mac: Fix transparent text.
- Mac: Fix Message dialog background.
- Mac: more changes to XCode project to better build Simple GUI.
clientgui/
sg_CustomControls.cpp, .h
sg_DlgMessages.cpp
sg_ViewTabPage.cpp
mac_build/
boinc.xcodeproj/
project.pbxproj
Kevin 1 Nov 2006
- MGR: Finally fixed the problems with the active task icon displaying properly when the
cpu throttle is being utilized
clientgui/
sg_ViewTabPage.cpp
Rom 1 Nov 2006
- MGR: The preferences override struct feature should observe locale conventions.
lib/
gui_rpc_client_ops.C
David 1 Nov 2006
- core client: check error returns in Win code to
find app memory usage.
client/
app.C
lib/
procinfo_win.C
David 1 Nov 2006
- core client: attempt to fix bug where core client locks up
when aborting jobs.
If a job is aborted, and its 5-second grace period elapses,
mark it as PROCESS_ABORTED so that we'll remove its ACTIVE_TASK record.
Also, if a GetExitCodeProcess() call fails, mark it as PROCESS_ABORTED.
client/
app.C
app_control.C
David 1 Nov 2006
- core client: account manager reply parsing was broken
client/
acct_mgr.C
Rom 1 Nov 2006
- CC: Somebody kernel side is fooling around with return values from
NtQuerySystemInformation, this caused us to get stuck in a loop.
Cache the buffer size and restore it if the API zeros it out. That
way we'll be able to double it correctly before the next call.
- CC: Set the initial buffer size for NtQuerySystemInformation to
128k from the original 32k.
lib/
procinfo_win.C
Rom 1 Nov 2006
- MGR: Fix the MB -> GB translation bug for disk usage.
clientgui/
sg_DlgPreferences.cpp
Rom 31 Oct 2006
- Tag for 5.7.2 release, all platforms
boinc_core_release_5_7_2
Charlie 2 Nov 2006
- Mac: Fix more bugs on Main SimpleGUI window.
clientgui/
sg_ImageButton.cpp
sg_ProjectsComponent.cpp
sg_ViewTabPage.cpp, h
David 2 Nov 2006
- manager: tone down colors in disk display
clientgui/
ViewResources.cpp
David 2 Nov 2006
- Added a function GLOBAL_PREFS::write_subset()
that writes XML for a selected subset of prefs
(for simple GUI prefs dialog)
lib/
prefs.C,h
David 2 Nov 2006
- core client: get rid of attempts to keep track of
network connected fraction,
since we don't have a reliable way of seeing
if there's a physical connection
client/
time_stats.C
lib/
network.C
Charlie 2 Nov 2006
- Mac SimpleGUI: Move project icon popup menus down 40 pixels
so they are not obscured by tooltip (Mac only.)
- Mac SimpleGUI: Don't select each tab as it is added. This caused
problems at launch if there were more tabs than fit at once and
BOINC was suspended, because tab was not visible for currently
displayed page. The result was that tabs did not respond to
mouse clicks until after arrow key was pressed to refresh the
tabs.
- Fix Mac compiler warnings.
client/
http_curl.C
prefs.C
clientgui/
sg_StatImageLoader.cpp
sg_ProgressBar.cpp
sg_ProjectsComponent.cpp
sg_ViewTabPage.cpp
David 2 Nov 2006
- core client: don't print errors in prefs venues
html/
inc/
team.inc
user/
top_teams.php
lib/
prefs.C
Rom 3 Nov 2006
- MGR: The preferences dialog should only allow somebody to override
settings that they have changed.
- MGR: Adjust the advanced view resources tab so that it'll use the
free and total space on a remote pc instead of calling the wxWidget
GetFreeDiskSpace API.
clientgui/
sg_DlgPreferences.cpp, .h
ViewResources.cpp
lib/
boinc_cmd.C
gui_rpc_client.h
gui_rpc_client_ops.C
Charlie 3 Nov 2006
- Mac: Rework Exit Confirmation logic so dialog is presented when
user exits Manager from system tray icon or any other means.
Rewrote dialog text to be more clear, and changed it back to a
fixed string because strings read in from skins.xml file are
not easily localized. The project and application names are
still read from skins.xml and inserted in dialog text.
Note to Rom: I guarded al references to m_strExitMessage with "
#if 0" rather than removing them so you can easily restore them
if you feel it is important to have it customizable for branding
at the expense of easier localization.
clientgui/
AdvancedFrame.cpp, h
BOINCBaseFrame.cpp, h
BOINCGUIApp.cpp, h
BOINCTaskBar.cpp
sg_BoincSimpleGUI.cpp
SkinManager.cpp, .h
David 3 Nov 2006
- GUI RPC: change <get_disk_usage> RPC so it returns
the total and free disk space, as well as per-project usage.
This allows GUIs to display total/free disk for remote systems
- Manager: get total/free disk from RPC info, not WxWidgets calls
- Manager: change function names to make more sense
client/
gui_rpc_server_ops.C
clientgui/
MainDocument.cpp,h
ViewResources.cpp
lib/
boinc_cmd.C
gui_rpc_client.h
gui_rpc_client_ops.C
gui_rpc_client_print.C
David 3 Nov 2006
- debug the above
clientgui/
MainDocument.cpp,h
ViewResources.cpp,h
David 3 Nov 2006
- build fix for Gentoo
Makefile.incl
David 3 Nov 2006
- fix gcc compile warnings
client/
acct_mgr.C,h
lib/
boinc_cmd.C
parse.C,h
David 3 Nov 2006
- Manager: improvements to Statistics tab
1) wxPaintDC changed on wxBufferedPaintDC - no flicker when redraw
2) CPaintStatistics::OnLeftMouseDown() -
select project (now it work only in "One project" mode)
3) save/read "last" settings (Mode View, Type Statistic ,Project).
I used CViewStatistics::OnSaveState(wxConfigBase* pConfig)
and CViewStatistics::OnRestoreState(wxConfigBase* pConfig)
(from Mifistor)
clientgui/
ViewStatistics.cpp,h
David 3 Nov 2006
- server tools: change a few programs to support the convention
that any programs intended to be run manually
(e.g., start, get_file, create_work, dir_hier_path)
are to be run in the project root directory
(i.e., they look for config.xml in the current directory)
- update_versions: create the reread_db trigger file
in current dir, not parent
sched/
delete_file.C
get_file.C
request_file_list.C
send_file.C
show_shmem.C
tools/
update_versions
Rom 3 Nov 2006
- MGR: Fixup the exit message and get rid of the call to sprintf, our
xml parsing technologies keep track of their buffers and don't
overflow. If somebody does try to overflow the buffer a null
string is the result.
- MGR: The new skin manager does know how to deal with localization.
- MGR: Bring the email validator inline with the php email validation
regular expression. (From Frank S. Thomas)
clientgui/
BOINCGUIApp.cpp
SkinManager.cpp, .h
ValidateEmailAddress.cpp
David 3 Nov 2006
- User web: remove "team account create" mechanism;
Since accounts are created via GUI,
this is no longer relevant.
html/
inc/
team.inc
user/
clone.php (removed)
team.php
Rytis 4 Nov 2006
- User web: allow emails to be sent to multiple moderators when a post is
reported in the forums.
NOTE: requires project.inc update with a new moderator email list value.
html/
inc/
forum_email.inc
project.sample/
project.inc
David 4 Nov 2006
- Fix systemic bug where clean-install client requests work
before doing benchmarks, and uses default benchmarks,
which are extremely low (1e7 flops).
The scheduler says "you're not fast enough" and
tells it to back off for an extremely long time
(20% of its estimated_delay, as calculated based on the low benchmarks).
Fixed this by:
1) client: change default benchmarks to 1e9 (1 GFLOPS)
2) server: don't request backoff in this case
- This led to an examination of server-requested backoff.
In some cases the server was requesting ridiculous backoff.
E.g. if a client didn't have enough available RAM
(a function of both actual RAM and RAM-related prefs)
it would always request a 48-hour backoff.
The naive user changes their prefs, and then waits for 47.9 hours.
I think it's better to err on the side of not requesting backoff,
and relying on the client's exponential backoff
in situations where it asks for work and doesn't get any.
Also, the backoff values were hardwired throughout the
scheduler source code - bad programming practice.
So, I collected all the backoff values as #defines in main.h.
Mostly these are the same, but for the case where
we didn't send work because of CPU/disk/mem inadequacy,
the server now doesn't request additional backoff
(i.e., rely on the client's backoff mechanism)
client/
cs_benchmark.C
sched/
handle_request.C
main.h
sched_locality.C
sched_send.C
Charlie 5 Nov 2006
- MGR: Fix new Exit Confirmation Dialog bugs:
- Use Fit() not Layout(), which did not work on Windows or Mac.
- Use printf project & application name substitution only for default
exit message; custom exit messages neither want nor need it.
- Remove bogus test Exit Confirmation Message from WCG skin.xml file.
- Modal dialogs should not be resizable on Mac.
- MGR: Use a wxPanel for background of SG Dialogs because using EraseBackground
events to paint background directly to a window doesn't work on the Mac.
The extra panel allows the same centering logic to work on both Windows and
Mac. Adjusted font sizes in Preferences dialog for Mac.
clientgui/
BOINCGUIApp.cpp
DlgGenericMessage.h
sg_BoincSimpleGUI.cpp, h
sg_ClientStateIndicator.cpp, h
sg_DlgMessages.cpp, h
sg_DlgPreferences.cpp, h
sg_ProjectsComponent.cpp, h
sg_SGUIListControl.cpp, h
SkinManager.cpp
skins/
World Community Grid/
skin.xml
David 6 Nov 2006
- BOINC web site: change the way the add-ons page works
doc/
addons.php
addon_data.php
html/inc/
team.inc
Rom 6 Nov 2006
- MGR: Fix build breaks on Windows.
clientgui/
sg_BoincSimpleGUI.cpp
sg_ProjectsComponent.cpp
David 6 Nov 2006
- core client: if sched_op_debug flag is set,
show delay requests from server
- core client: set too_large flag whenever job is too big to run now
(so "Waiting for memory" will be shown in manager)
client/
cpu_sched.C
cs_scheduler.C
Rom 6 Nov 2006
- Initialize the default values for GLOBAL_PREFS_MASK to false.
Object's without constructors are initialized to the default values
defined/redefined in the environment. wxWidgets redefines bools' default
to value to true when running under a debug build.
lib/
prefs.C, .h
David 6 Nov 2006
- MIOFILE buffer variant wasn't doing output correctly;
would overwrite instead of appending.
Caused simple GUI prefs dialog to not work.
client/
gui_rpc_server_ops.C
lib/
gui_rpc_client.C
gui_rpc_client_ops.C
miofile.C,h
Rom 6 Nov 2006
- MGR: When deciding if two combo box's values are the same convert them to
there native data type and compare those as well. Sometimes comparing
just the strings isn't enough.
clientgi/
sg_DlgPreferences.cpp
Rom 6 Nov 2006
- MGR: When caching data, make sure it is cached to the right location.
clientgui/
sg_DlgPreferences.cpp, .h
David 6 Nov 2006
- compile fix
sched/
validate_util.C
Rom 6 Nov 2006
- MGR: After implementing preference masking we ended up in a situation where
we were comparing what values to override against the values specified in
a previous override. If only one value was changed on the second interation
all other values were forgotten.
The new logic is to compare the current selected dialog values against the
current global preferences to decide what is stored in the preferences
override file.
clientgui/
sg_DlgPreferences.cpp
David 7 Nov 2006
- validate_util.C: fix tag ("file_info", not "file")
- MIOFILE: when we're reading from a buffer,
make it a const char* instead of char*.
Doing this requires limiting ungetc() to push only
the character that was previously read (which is OK).
- scheduler: removed SCHED_SHMEM& arg from wu_is_infeasible()
- fix compile warnings
lib/
gui_rpc_client_ops.C
miofile.C,h
parse.C,h
sched/
handle_request.C
sched_array.C
sched_locality.C
sched_send.C,h
server_types.C,h
validate_util.C
Rom 7 Nov 2006
- MGR: David and I got our wires cross,
the global prefs mask is now set for all
values in the preferences dialog when the selection
has been made to override anything.
clientgui/
sg_DlgPreferences.cpp, .h
David 7 Nov 2006
- core client: call request_work_fetch() whenever a
process becomes contactable
(i.e. when its min_rpc_time times out).
This can avoid 10-minute periods of waiting
for the work fetch function to get called
Implementation: add bool PROJECT::possibly_backed_off;
set to true in set_min_rpc_time();
check for timeout in check_project_timeout()
client/
client_state.C,h
client_types.C,h
cpu_sched.C
cs_scheduler.C
lib/
miofile.C
David 8 Nov 2006
- core client: change XML parser to handle tags of the form <foo />,
treating it as <foo/> (i.e. skip the space)
lib/
parse.C
Kevin 8 Nov 2006
- BSG: Add tool tip to slide show when graphics are available
- BSG: Remove workunit name
- BSG: Formatting changes to text on main screen
- BSG: Re-arrange the layout on the main screen
David 8 Nov 2006
- API: move is_graphics_possible() from boinc_api.C to graphics_lib.C
api/
boinc_api.C
graphics_lib.C
David 8 Nov 2006
- make_work: when duplicating a WU, don't bother creating hard links
to 'duplicate' its input files on the server.
Send different file names to the client (so they'll download again)
but use the same URL.
This fixes a bug where, on some filesystems,
there's a limit of 32K hard links to a file.
Only use make_work to duplicate a WU with "nodelete"
in its name; this ensures that neither the WU nor its
input files will get deleted out from under you.
sched/
file_deleter.C
make_work.C
David 8 Nov 2006
- core client: work fetch fixes for non-CPU-intensive projects
(from John McLeod)
client/
cs_scheduler.C
David 9 Nov 2006
- core client: ignore zero benchmark results
client/
client_state.h
cs_benchmark.C
David 9 Nov 2006
- manager: fix URL for help
clientgui/
AdvancedFrame.cpp
ViewResources.cpp
David 9 Nov 2006
- manager: fix regexp for email address check
(remove / at start and end).
clientgui/
ValidateEmailAddress.cpp
Kevin 9 Nov 2006
- BSG: Fix bug that didn't allow the messages window
to close when the red X was clicked
- BSG: Added better text to status messages and tooltips
- BSG: Increased slide show timer to 10 seconds
clientgui/
sg_DlgMessages.cpp
sg_ImageButton.cpp
sg_ProjectsComponent.cpp
sg_ViewTabPage.cpp
David 9 Nov 2006
Core client:
- request CPU reschedule and work fetch when global prefs change,
since RAM limits may have changed,
work_buf_min_days might have changed, etc.
This fixes (I hope) a bug reported by Heinrich Feldmueller
- do enforce_schedule() and compute_work_requests() every 60 seconds,
as a safety net in case we forgot to trigger it in some case.
Doesn't hurt - should be a fraction of a millisecond.
- do a CPU reschedule on transitions from host busy
to host idle, since RAM usage limits might have changed
- a few more log messages for cpu_sched_debug
client/
cpu_sched.C
cs_prefs.C
cs_scheduler.C
Rytis 10 Nov 2006
- User web: forum thread locking.
NOTE: requires DB update.
html/
inc/
forum.inc
forum_thread.inc
user/
forum_forum.php
forum_reply.php
forum_moderate_thread_action.php
forum_thread.php
ops/
db_update.php
David 10 Nov 2006
- GUI RPC: extended set_run_mode() and set_network_mode()
to take an additional "duration" argument.
If duration is zero, the mode becomes permanent.
Otherwise, the mode takes effect but after "duration" seconds
the client reverts to the last permanent mode.
By moving the timeout into the core client,
the Manager (or other GUIs) can provide a "snooze"
feature without the danger of perma-snooze
if the Manager crashes or exits.
- core client: added MODE class which encapsulates the above logic.
Also fixed names, e.g. "MODE run_mode" replaces "int user_run_request".
- GUI RPC: added task_mode_perm and network_mode_perm fields to CC_STATUS.
This lets the GUI see if core client is snoozing
(i.e. if task_mode != task_mode_perm)
- GUI RPC: removed deprecated get_run_mode(), get_network_mode(),
network_status(), and get_activity_state() RPCs
client/
acct_mgr.C
app_start.C
client_state.C,h
client_types.C,h
cs_cmdline/C
cs_prefs.C
cs_statefile.C
gui_rpc_server_ops.C
main.C
html/inc/
translation.inc
lib/
boinc_cmd.C
common_defs.h
gui_rpc_client.h
gui_rpc_client_ops.C
David 10 Nov 2006
- Get the above to work on Win; fix compile warnings
client/
app_control.C
main.C
win/
hostinfo_win.cpp
clientgui/
MainDocument.cpp
ViewStatistics.cpp
David 10 Nov 2006
- core client: condition Curl speed-limit error message on http_debug
client/
http_curl.C
Rom 14 Nov 2006
- MGR: Get rid of the transparent 5px gap around the background image.
- MGR: Store the preferences override and mask for later use.
- MGR: Fix message dialog title.
- MGR: Incorporate new default background image and adjust the WCG skin
file to match.
clientgui/
sg_DlgMessages.cpp, .h
sg_DlgPreferences.cpp, .h
SkinManager.cpp, .h
lib/
app_ipc.C
boinc_cmd.C
gui_rpc_client.h
gui_rpc_client_ops.C
prefs.C, .h
Rom 14 Nov 2006
- Tag for 5.7.3 release, all platforms
boinc_core_release_5_7_3
David 14 Nov 2006
- scheduler: fix bug that caused global prefs not to get sent
- changed user friendly platform names in default project.xml
sched/
handle_request.C
tools/
projects.xml
David 14 Nov 2006
- core client: put if() around "compute_work_request(): start" msg
client/
cs_scheduler.C
Rom 15 Nov 2006
- MGR: Add "Anytime" to the list of start times for the simple preferences
dialog.
- MGR: Fix instructions when a connection failure happens.
- MGR: Let the core client manage the snooze timer. Changes for both the
advanced gui and simple gui.
clientgui/
AdvancedFrame.cpp
BOINCBaseFrame.cpp
BOINCTaskBar.cpp, .h
MainDocument.cpp, .h
sg_DlgPreferences.cpp, .h
sg_ProjectsComponent.cpp, .h
Rom 16 Nov 2006
- MGR: Handle the clear preferences case better by setting the mask flags to
false instead of just calling set preferences override with an empty
string.
- MGR: Make sure we grab the correct localized dialog name during construction.
clientgui/
sg_DlgPreferences.cpp, .h
Rom 16 Nov 2006
- MGR: Revamp the messages dialog so that it is resizable.
- MGR: Remember the size of the various message columns.
- MGR: Remember the size of the dialog.
- MGR: Add clipboard functionality.
- MGR: Cleanup code in various other places.
clientgui/
AdvancedFrame.cpp
sg_DlgMessages.cpp, .h
sg_DlgPreferences.cpp, .h
sg_ProjectsComponent.cpp
sg_SGUIListControl.cpp, .h
Rom 16 Nov 2006
- MGR: Change points to credits.
clientgui/
sg_StatImageLoader.cpp
Rom 16 Nov 2006
- Tag for 5.7.4 release, all platforms
boinc_core_release_5_7_4
Charlie 17 Nov 2006
- MGR: Fix restore of SG Message Dialog size and position on Mac: call
RestoreState() _after_ calling GetSizer()->Fit(), GetSizer()->SetSizeHints()
and Center().
- Mac MGR: Adjust position of SG Message Dialog buttons on Mac so Close button
doesn't overlap window's grow icon
- MGR: Save state if close box on SG Message Dialog window frame clicked.
- MGR: Fix crashing bug if Exit selected from System Tray icon (Quit on Mac)
while SG Message Dialog is open.
- Mac MGR: Fix ToolTip / Help Message for Mac: substitute "command key" for
"control key".
clientgui/
sg_DlgMessages.cpp, h
sg_ProjectsComponent.cpp
ViewMessages.cpp
Bruce 19 Nov 2006
- server: file_deleter would turn off -delete_antiques if it encountered a
stale .nfs* lockfile which was more than 60 days older than the oldest WU.
This should not happen! After these modifications, antique deletion
will not be turned off, but a CRITICAL error message will be logged.
sched/
file_deleter.C
Charlie 19 Nov 2006
- MGR: Fix windows compile errors.
- Mac: Ignore Quit AppleEvents if a modal dialog is open (to prevent
crashes if the user selects Quit from the Manager's Dock menu.)
clientgui/
BOINCGUIApp.cpp
sg_ProjectsComponent.cpp
ViewMessages.cpp
Rom 20 Nov 2006
- Update the Windows SKU detection code so that it can identify Win2k3 R2,
tell the difference between Vista and Longhorn Server, IA32/IA64, and
AMD64
- MGR: Remove the last code path which might still call
InternetGetConnectedState.
- Reenable the network detection stuff if the newer IsNetworkAlive API
can be found.
client/win/
hostinfo_win.cpp
clientlib/win/
NetworkTracker.cpp
lib/
network.C
David 20 Nov 2006
- GUI RPC: return task and network mode delays in get_cc_status().
This tells the GUI how long the current snooze is going to last.
client/
client_types.C,h
gui_rpc_server_ops.C
lib/
gui_rpc_client.h
gui_rpc_client_ops.C
David 20 Nov 2006
- core client: fix win compile warnings
client/
app_start.C
cs_cmdline.C
win/
win_service.cpp
Rom 20 Nov 2006
- MGR: Move the switch to simple GUI menu item to the View menu.
clientgui/
AdvancedFrame.cpp
Rom 20 Nov 2006
- MGR: Display the hand cursor when the mouse hovers over the BSG link
bitmaps.
- MGR: When the suspend reason is becuase of CPU throttling do not
display a balloon showing that we are suspended.
clientgui/
BOINCTaskBar.cpp
sg_CustomControls.cpp, .h
sg_ProjectsComponent.cpp
David 20 Nov 2006
- core client: fix a bug in the shared-memory message passing code.
Each message channel has a one-message buffer in shared mem.
The send_msg() function checks if this is full.
If not it puts the message there.
If so it stores the message in a queue.
Once a second, a poll function moves a message
from the queue to the buffer (if it's empty).
What's wrong with this? (let's not always see the same hands).
Well, the send_msg() needs to handle the situation
where there's a message in the queue but none in the buffer.
This results in a bug in the CPU throttling mechanism
that can cause a task to sleep forever.
- core client: a SECOND significant bug in the shmem msg passing code.
In general, the API library consumes at most one message per second
from a given channel.
That means that if you write more than one message/sec
(even for a short period) it creates a queue that never goes away.
If you write more than one message/sec indefinitely,
it creates an unbounded queue.
At this point, the only channel that uses queuing and can
have more than one msg/sec is process control
(because of CPU throttling).
I put in kludge that handles this case:
if we want to send a <resume/> and there's already
a <suspend/> in the queue,
remove the <suspend/> and don't send anything.
And conversely.
- core client: to debug all the above, added <app_msg_send>
and <app_msg_receive> log flags.
Also added some commented-out printfs in the API library.
NOTE: in the course of debugging this I realized that, in the Windows
version of the API, <suspend/> and <resume/> message result
in calls to SuspendThread() and ResumeThread(),
which inc and dec a "suspend counter".
ResumeThread() decrements the counter, and resumes the thread
only if the counter is then zero.
This makes the process-control message-passing scheme fragile.
If for some reason you send two <suspend/>s and a <resume/>,
the net result is suspended.
At some point we should change to API to do the right thing.
api/
boinc_api.C
client/
app.C
app_control.C
log_flags.C,h
lib/
app_ipc.h