From b5a51c54c4be7d04088a1ca3b561237b6e2534a0 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Tue, 2 Jan 2007 21:28:27 +0000 Subject: [PATCH] *** empty log message *** svn path=/trunk/boinc/; revision=11756 --- checkin_notes | 13932 +------------------------------ checkin_notes_2006 | 13932 +++++++++++++++++++++++++++++++ clientgui/common/wxPieCtrl.cpp | 193 +- 3 files changed, 14036 insertions(+), 14021 deletions(-) create mode 100755 checkin_notes_2006 diff --git a/checkin_notes b/checkin_notes index 038e2d7c9c..726555c388 100755 --- a/checkin_notes +++ b/checkin_notes @@ -1,13932 +1,6 @@ -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 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 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 in AM request - - AM replies can include 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 element - to 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 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/ - 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; - 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/ - - -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 tag, - followed later by a 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 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 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 message - (existing apps don't recognize this message). - Instead, send it the 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 GUI RPC with a new one, - 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 - - 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 - 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 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 . - - 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 element in ; - 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 elements now includes - a rather than a . - 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: - (double) - If a result claims more credit than this, mark it as invalid - (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 elements within . - Need a CR between the last line and the tag. - - In the course of testing I found that a - with no 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 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 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 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 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 '' 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 and elements - to account manager requests; - tells the AMS what version of global prefs we have - - Add optional tag in 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 in the 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 0 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 X 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 - tag to 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/ - - openssl/ - - zlib/ - - -Walt 20 Apr 2006 - - Enable network tracing when 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 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 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 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 is set) - for subsequent workunits. - - client/ - app_start.C - cs_apps.C - cs_files.C - -David 28 Apr 2006 - - back end: handle 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 N. - 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 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 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: - - - ... - - [ N ] - - - 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 "" 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 - X - and - - X - - and - - - X - - - etc. - It will parse - - and - - and - - - - identically. - The python-generated XML (e.g. config.xml) is of the form - - X - - 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 and - 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 : returns - 1) network status (same as 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 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 element, - with current global preferences, - and their source and mod time - 2) request message no longer includes - and ; - these items are in the new element. - 3) reply message now includes optional element. - This should be sent only if prefs are newer - than those in the request message. - 4) reply message now includes optional 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 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: , not - - 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 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 - and - 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 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 . - 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 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 - 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 - 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 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 - - 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 " 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 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 ... - - 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, 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 - 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 - 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 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 and 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 in 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 - - 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 - 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 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 1 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 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 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 and GUI RPC's as that - functionality has been rolled into . 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 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 - - N - xxx - - 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 - - ... - - 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 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 ) - - 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 . - - 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Õ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 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/ - - -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 () - 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 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 - P = - else - if req msg includes - if newer than DB - P = - else - P = DB prefs - - use P for sched decisions - - If request message includes , - 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 in scheduler requests. - In combination with the above server changes, - this will fix the design problem described above. - - include 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 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 X in your - global_prefs_override.xml file - (outside the 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 - - clientgui/res/templates/skins - - clientgui/skins/default - - -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 - 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 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 - run_in_ops update_profile_pages.php - in your config.xml file 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 in its - 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 - "1" 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 - elements in 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/ - - -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 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 , - treating it as (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 and there's already - a in the queue, - remove the and don't send anything. - And conversely. - - core client: to debug all the above, added - and 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, and 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 s and a , - the result is that the job 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 - -Charlie 21 Nov 2006 - - Mac: Fix compiler warning. - - MGR: Don't put an empty View menu in menu bar if not SimpleGUI. - - clientgui/ - AdvancedFrame.cpp - client/ - app.C - -David 21 Nov 2006 - - core client: if we're preempting a job because total RAM - usage is too high, preempt by quitting. - - This has a downside: it wastes CPU time for apps that - don't checkpoint often. - However, if we don't do it, the core client might - try running dozens of queued apps, looking for one that fits in RAM. - That might use too much swap space. - - client/ - client_state.h - client_types.C - cpu_sched.C - cs_files.C - lib/ - gui_rpc_client.h - -David 21 Nov 2006 - - core client: don't get work from a project with a backed-off download - (from John McLeod) - - client/ - client_types.C,h - cs_scheduler.h - -David 21 Nov 2006 - - GUI RPC: add a run mode, RUN_MODE_RESTORE, - whose function is to set the mode back to its permanent value - (i.e. to end a "snooze"). - The GUI now doesn't have to remember the original value. - - client/ - client_types.C - gui_rpc_server_ops.C - lib/ - common_defs.h - gui_rpc_client_ops.C - util.C - -Rom 22 Nov 2006 - - MGR: It turns out that wxWidgets exposes searching for a window by ID and - by default dialogs all have an id of 10000, so if we can find a window - with an ID of 10000 and it is of wxDialog type then disable the "Exit" - menu item. - - MGR: Clean out a bunch of the #ifdef's that were littered across the - taskbar implementation, the compiler can take care of removing the dead - code during the optimization phase. It is just to cluttered otherwise. - - MGR: Change the BSG static project icon tooltip to read - "%s. Work done by %s: %0.2f" and make it localizable. - - MGR: Change CDlgMessages to be a regular wxDialog derived class. - - MGR: Change all dialogs so that they are declared as stack based items - instead of heap based items. - - MGR: Use the snooze restore feature that was just introduced into the - core client. - - MGR: Commit Frank's changes to properly support Unicode in the SkinManager - for Debian based distros. - - client/ - client_types.C - clientgui/ - AdvancedFrame.cpp - BOINCGUIApp.cpp, .h - BOINCTaskBar.cpp, .h - Events.h - MainDocument.cpp, .h - sg_DlgMessages.cpp, .h - sg_ProjectsComponent.cpp, .h - sg_StatImageLoader.cpp - SkinManager.cpp - -Charlie 22 Nov 2006 - - MGR: Fix bugs in adjusting taskbar menu items when modal dialog open: - - Disable wxID_ABOUT item to prevent opening multiple copies of - About dialog (a problem on the Mac, not on Windows.) - - Re-enable items when modal dialog is closed. - - MGR: Fix broken messages, Pause, Resume buttons on Simple GUI. - - Mac: Fix compiler errors and warnings. - - Mac: Use new modal dialog detection logic to block Quit from Dock. - - clientgui/ - BOINCGUIApp.cpp - BOINCTaskBar.cpp - Events.h - sg_ProjectsComponent.cpp - -Rom 22 Nov 2006 - - MGR: A little bit more cleanup work. - - MGR: Use the shorthand "%d hr %d min %d sec" on the BSG for people - who use large fonts. - - clientgui/ - BOINCTaskBar.cpp - sg_ProjectsComponent.cpp, .h - sg_ViewTabPage.cpp - -Charlie 22 Nov 2006 - - MGR: Change extra event ID ID_TB_EXIT back to wxID_EXIT. - - MGR: Disable all items in taskbar menu when modal dialog open. - - Mac MGR: Clear Help Menu when switching from Advanced GUI to - Simple GUI. - - Mac MGR: Enable keyboard shortcut to close main SG window. - - clientgui/ - BOINCTaskBar.cpp - Events.h - sg_BoincSimpleGUI.cpp, h - -Rom 22 Nov 2006 - - Tag for 5.7.5 release, all platforms - boinc_core_release_5_7_5 - -David 23 Nov 2006 - - don't allow work_buf_min_days less than 0.1 - - lib/ - prefs.C - -Rom 23 Nov 2006 - - MGR: Snooze timeout is in seconds, not minutes, what was I thinking? - - clientgui/ - BOINCTaskBar.cpp - sg_ProjectsComponent.cpp - -Rom 24 Nov 2006 - - MGR: Fix another preference bug. get_global_prefs_override_struct should - not return success unless one of the preference values in the preference - mask are true. - - lib/ - gui_rpc_client_ops.C - prefs.C, .h - -David 25 Nov 2006 - - core client: if the user has suspended a result for a project, - don't fetch more work from it. - - core client: in work fetch and CPU sched policies, - if a result has a stalled download, - don't treat it as nearly runnable - - core client: don't allow work_buf_min_days less than 0.01. - The scheduler and work fetch policies demand that it be > 0 - - client/ - client_types.C,h - cpu_sched.C - cs_scheduler.C - lib/ - prefs.C - -David 25 Nov 2006 - - simple validator framework: bug fix, prevent crash - if output file missing - (from Hendrik Verhoek) - - sched/ - validate_util2.C - -Charlie 26 Nov 2006 - - Mac MGR: Modify XCode Project so default Manager build is - SimpleGUI(i.e., targets Build_All and mgr_boinc now build - Manager with Simple GUI). - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 26 Nov 2006 - - validator: clean up check_pair() (from validate_util2.C) a little: - The function now returns void. - Either it returns with retry == true (in case of a transient error) - or it sets r1.validate_state to either VALID or INVALID. - - validator.C: handle_wu() now returns zero if the WU - was actually handled (i.e. there wasn't a transient error) - Sleep if nothing was actually handled - (i.e. either there were none, or they all had transient errors) - (from M.F. Somers, much belated) - - sched/ - validate_util.C - validate_util2.C - validator.C - -Charlie 26 Nov 2006 - - MGR: Fix 2 preferences dialog bugs: - - Set checkbox only if mask is set for one or more items on the - dialog (i.e., ignore masks for items not on dialog). - - Add the value 3 to the idle time choices. This makes the dialog's - default value the same as the web-based preferences default. - - Fix logic to properly delete empty override file. - - clientgui/ - sg_DlgPreferences.cpp, h - lib/ - prefs.C - -David 27 Nov 2006 - - manager: improve appearance of disk tab - - clientgui/ - ViewResources.cpp - -David 27 Nov 2006 - - validator: removed and - from config file, and add command-line args to validator: - -max_claimed_credit X (invalidate any result that claims more than this) - -max_granted_credit X (grant at most this) - -grant_claimed_credit (always grant claimed credit) - - By making these params of the validator, - they can vary from between applications - - (from Hendrick Verhoek) - - sched/ - sched_config.C,h - validate_util2.C - validator.C,h - -David 28 Nov 2006 - - Manager: ask for disk usage at most every 60 sec - - clientgui/ - ViewResources.cpp - -Charlie 30 Nov 2006 - - Mac: Add WCG skin to Mac installer. - - mac_installer/ - release_boinc.sh - preinstall - -David 1 Dec 2006 - - New features for Statistics tab: - 1) Zoom (LeftMouseDown + Move Mouse) - "AutoZoom" - Rigth Mouse Click or change "Project", "ModeView"... - + Marker (LeftMouseClick) - 2) "Legend" scroll (button "< Next project" "Prev project >"). - When very many projects and 15" monitor - (from Mifistor) - - COMMENT: the zoom features are not obvious. - Can we document them in the interface somehow? - - clientgui/ - ViewStatistics.cpp,h - -David 1 Dec 2006 - - a bunch of changes to BOINC Help - - doc/ - help_* - -Rom 2 Dec 2006 - - Check in WCG project files. - - client/win/ - *.rc - clientgui/ - *.rc - win_build/ - wcg_*.sln - wcg_*.vcproj - -Bruce 4 Dec 2006 - - If browser contacts scheduler CGI, redirect to project home page - - sched/ - server_types.C - -David 4 Dec 2006 - - if browser contacts scheduler, link to homepage but don't redirect - - sched/ - main.C - server_types.C - -David 4 Dec 2006 - - scheduler: don't send anything special to browsers. - Send reply as XML. - - simple GUI: work is done by a user, not for a user - - sched/ - server_types.C - clientgui/ - sg_StatImageLoader.cpp - -Reinhard 6 Dec 2006 - configure.ac - increased transparancy for glut-test: added extra tests for libXmu and - libXi which are prerequisites to the glut-test - ==> if glut-test fails because of one of these libs missing, give a warning. - -Rom 5 Dec 2006 - - BSG: Change the copy and copy all buttons to bitmaps. - - clientgui/ - sg_DlgMessages.cpp - SkinManager.cpp, .h - -David 6 Dec 2006 - - maybe fixed crash bug in core client: - If an app was doing screensaver graphics - and didn't respond for 4 seconds to message to hide graphics, - we were calling kill_task() but not setting - ACTIVE_TASK::task_state = PROCESS_ABORTED. - As a result, the ACTIVE_TASK wasn't getting removed. - Further attempts to reference its shared-mem segment - or its handle would produce errors; - eventually the core client crashes. - Solution: set task_state to ABORTED in kill_task(); - Note: actually we don't want to kill the task in this case. - I'll do this later. - - core client: print separate message when killing non-responding - screensaver app - - core client: prepend [file_xfer] to messages where needed - - server DB code: add ping_user, ping_time fields to TEAM - (not used in C++ code, but should be here for good form) - - client/ - app.C,h - app_control.C - app_graphics.C - pers_file_xfer.C - ss_logic.C - db/ - boinc_db.C,h - -Rom 7 Dec 2006 - - Add clicked bitmaps for the copy/copy all buttons. - - Remove old installer version check from the newer MSI installer - package. - - clientgui/ - SkinManager.cpp - -David 7 Dec 2006 - - core client: add "bool restart" arg to kill_task. - If true, the process is killed but we arrange to - restart it again, instead of erroring out the result. - (used when the app is killed because it doesn't respond - to stop-screensaver-graphics message) - This completes the fix from yesterday. - - core client: changed screensaver-mode ack timeout - from 2 sec to 3 sec; - added some debug messages - - API: add bool g_sleep: if you set this to true, - timer activities stop (simulate application freezing up). - - api/ - boinc_api.C,h - windows_opengl.C - client/ - app.C,h - app_control.C - app_graphics.C - gui_rpc_server_ops.C - -Rom 7 Dec 2006 - - MGR: Add support for the help button to the skin manager. - - clientgui/ - SkinManager.cpp, .h - -David 7 Dec 2006 - - change sample_get_project_config.php so that it can be used - to get project status. Its reply will have - 1 - if the scheduler is disabled - (note: the project may have no work; no API tells you that) - 1 - if web access to the DB is disabled - (renamed project_is_stopped() to web_stopped() in util.inc; - some projects may need to update their home pages accordingly) - - core client: use vsnprintf() instead of vsprintf() - to protect against buffer overrun - - COPYRIGHT - client/ - cs_scheduler.C - html/ - inc/ - util.inc - xml.inc - user/ - sample_get_project_config.phhp - sample_index.php - lib/ - mfile.C - -Rom 7 Dec 2006 - - MGR: Merge the run_if_user_active and idle_time_to_run prefernces. - - clientgui/ - sg_DlgPreferences.cpp, .h - -David 8 Dec 2006 - - API: fixed nasty bug that can result in application - being both suspended (worker thread not running) - and in a critical section (timer thread - ignores messages to wake up worker thread). - This is a deadlock; the app will never progress. - The problem: bool in_critical_section - needs to be declared volatile because it's used by both threads. - Why didn't I listen to Bruce Allen when - he told me to do this a long time ago? - - Core client: deal with apps that stop accepting - process control messages (due to the above bug). - Several parts to this: - - Add a timeout to process control message queue. - If 180 seconds elapse with an unread process control - message in the send buffer, kill and restart the app. - Note: when a process is checkpointing it doesn't - handle process control messages, - so this timeout needs to be large enough to handle - the longest possible checkpoint. - I think 180 should be large enough. - - Initialize message queues on app (re)start. - - MSG_QUEUE::msg_queue_purge() was conceptually messed up. - We don't want to purge ALL the messages of the opposite type, - just the one at the tail of the queue. - Whew! This one was exhausting. - - api/ - boinc_api.C - client/ - app.C - app_control.C - app_start.C - lib/ - app_ipc.h - -Charlie 8 Dec 2006 - MGR: Make width of preferences dialog combo boxes size automatically - to fit menu items on different platforms. - - clientgui/ - sg_DlgPreferences.cpp - -Charlie 9 Dec 2006 - MGR: Fix a (probably rare) crash bug. - - clientgui/ - SkinManager.cpp - -David 11 Dec 2006 - - core client: preliminary checkin for auto-update functionality. - (Note: this feature will not be enabled by default) - - client/ - Makefile.am - auto_update.C,h (new) - client_state.C,h - client_types.C - cs_scheduler.C - cs_statefile.C - file_names.C,h - scheduler_op.C,h - html/user/ - language_select.php - sample_get_project_config.php - lib/ - common_defs.h - gui_rpc_client.h - win_build/ - boinc_cli_curl.vcproj - -Rom 11 Dec 2006 - - MGR: Setup 'Help' so that it'll go to a 'manager_links.php' page which - can redirect the browser to the correct page based on which view is - requested. - - MGR: Use wxDefaultSize instead of wxSize(-1, -1) to future proof the - code against future versions of wxWidgets. - - MGR: Enable the accelerator table in the Simple GUI for all platforms. - - clientgui/ - AdvancedFrame.cpp, .h - BOINCBaseFrame.cpp, .h - sg_BoincSimpleGUI.cpp, .h - sg_DlgPreferences.cpp - -Charlie 11 Dec 2006 - - Mac: update XCode project for new auto_update source files. - - MGR: fix anomaly in wxMac handling of accelerator table. - - clientgui/ - sg_BoincSimpleGUI.cpp - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Rom 12 Dec 2006 (Forked from HEAD) - - Branch boinc_core_release_5_8 created for the BOINC 5.8 client release. - -David 12 Dec 2006 - - add updater program - - configure.ac - lib/ - Makefile.am - updater.C (new) - -David 12 Dec 2006 - - bug fixes to auto-update - - don't print spurious error message in mfile.C - - client/ - auto_update.C - client_types.C,h - file_names.C,h - scheduler_op.C - lib/ - mfile.C - win_build/ - updater.vcproj (new) - boinc.sln - -David 12 Dec 2006 - auto-update stuff: - - core client: add -launched_by_manager option - (so that it knows what to do after auto-update) - - GUI RPC: add bool CC_STATUS::manager_must_quit - so core client can tell manager to quit - - Manager: quit if get the above - Note: quit by exit(0); should probably show the user something - - client/ - client_state.C,h - cs_cmdline.C - clientgui/ - BOINCGUIApp.cpp - MainDocument.cpp - lib/ - gui_rpc_client.h - gui_rpc_client_ops.C - -Charlie 13 Dec 2006 - - MGR: Fix Compiler warnings. - - Mac: Add user preferences file to list of BOINC files in - documentation. - - client/ - auto_update.C - clientgui/ - ViewStatistics.cpp - doc/ - mac_advanced.php - release_notes.php - mac_installer/ - GR-ReadMe.rtf - ReadMe.rtf - -David 13 Dec 2006 - - moved updater from lib/ to tools/ - - configure.ac - lib/ - Makefile.am - tools/ - Makefile.am - updater.C (moved from lib/) - -David 13 Dec 2006 - - more debugging of auto-update - WOO HOO! It works in a basic way on Linux. - - moved check_unique_instance() (client/main.C) - to wait_client_mutex() (lib/util.C) - and gave it a timeout argument. - Updater needs mutex to wait for client to exit and vice-versa. - - added run_program() to util.C. - - core client: changed version number vars to VERSION_INFO - - client/ - acct_mgr.C - acct_setup.C - auto_update.C - client_state.C,h - client_types.C - cs_scheduler.C - cs_statefile.C - main.C - lib/ - Makefile.am - common_defs.h - util.C,h - tools/ - updater.C - win_build/ - updater.vcproj - tools/ - updater.C - -Charlie 13 Dec 2006 - - Mac: remove WCG skin from Mac installer (undo change of 30 Nov.) - - mac_installer/ - release_boinc.sh - -David 14 Dec 2006 - - moved clientlib/win/Identification.cpp to lib/win_util.C - -David 14 Dec 2006 - - got stuff to compile on Windows again - - client/ - main.C - clientlib/win/ - AuthenticatorDetection.cpp - IdleTracker.cpp - boinc_dll.cpp - lib/ - util.C - win_util.C - win_build/ - boinc_dll.vcproj - boinc_ss.vcproj - boincmgr_curl.vcproj - libboinc.vcproj - -David 14 Dec 2006 - Further work on auto-update: - - add synchronization so that the core client, - when it's ready to do an auto-update, - arranges for any local Manager and screensaver to exit first. - This is done in a slighly kludgy way: - any GUI RPC connection that has done a get_screensaver_mode() - is assumed to be a screensaver, - and we send it a SS_STATUS_QUIT on its next request. - Any connection that has done a get_cc_status() is assumed to - be a Manager, and we set on the next request. - The core client waits until these have been sent, - and waits an additional 10 seconds to let the other program exit. - - updater: add a mandatory --install_dir argument (don't assume ../../..) - - wait_client_mutex(): add a directory argument; - the updater needs to acquire the mutex while it's - running in a different directory - - FILE_LOCK: don't use lots of file descriptors if called repeatedly - - util.C: add boinc_getcwd() - - client/ - auto_update.C - gui_rpc_server.C,h - gui_rpc_server_ops.C - main.C - lib/ - filesys.C,h - util.C - tools/ - updater.C - -Charlie 14 Dec 2006 - - Fix compiler warning. - - lib/ - util.C - -Charlie 15 Dec 2006 - - Mac BSG: We can't completely eliminate the Mac menu bar or - the Help menu, so we might as well make them useful. - - Mac MGR: implement the Mac's Help keyboard shortcut. - - clientgui/ - AdvancedFrame.cpp, .h - sg_BoincSimpleGUI.cpp, .h - -David 15 Dec 2006 - - core client: add GUI RPCs to get/set/read cc_config.xml - - boinc_cmd: add command to read cc_config.xml - (from Sebastian Masch) - - client/ - gui_rpc_server_ops.C - log_flags.C,h - lib/ - boinc_cmd.C - gui_rpc_client.h - gui_rpc_client_ops.C - -David 15 Dec 2006 - - Manager: add "read prefs file", "read config file" - entries to Advanced menu - - clientgui/ - AdvancedFrame.cpp,h - Events.h - -David 15 Dec 2006 - - core client: disable auto update with compile flag - - client/ - cs_scheduler.C - -Rom 18 Dec 2006 - - MGR: Make the advanced gui build in Unicode again. - (From: Ron Parker) - - clientgui/ - AdvancedFrame.cpp - - -Charlie 19 Dec 2006 - - Mac: Fix bug in setupForBOINC build script handling of -clean - option. - mac_build/ - setupForBOINC.sh - -David 19 Dec 2006 - - core client: add "" config flag for - people with proxies that require HTTP 1.0. - Curl's default is 1.1 - - client/ - http_curl.C - log_flags.C,h - scheduler_op.C - -David 19 Dec 2006 - - boinc_cmd: fix help() - - get rid of some unused error codes - - lib/ - boinc_cmd.C - crypt.C - error_numbers.h - util.C - -David 19 Dec 2006 - - boinc_cmd: make "duration" argument optional in - --set_run_mode and --set_network_mode - - lib/ - boinc_cmd.C - -David 19 Dec 2006 - - API: change boinc_write_init_data_file() - to take a APP_INIT_DATA& argument. - This makes it usable to compound applications. - - API: change defaults to zero and empty strings - when parsing app init data. - - api/ - boinc_api.C,h - lib/ - app_ipc.h - -Walt 19 Dec 2006 - - MGR: Fix compile errors with Unicode builds - - clientgui/ - AdvancedFrame.cpp - sg_BoincSimpleGUI.cpp - sg_ClientStateIndicator.cpp, h - sg_ImageButton.cpp - sg_StatImageLoader.cpp - sg_ViewTabPage.cpp - - -Walt 19 Dec 2006 - - MGR: Add simple GUI files to makefile - - clientgui/ - Makefile.am - -Charlie 20 Dec 2006 - - MGR: Fix compile warning due to a coding error. - - clientgui/ - sg_BoincSimpleGUI.cpp - -David 21 Dec 2006 - - core client: improve error messages on RPC deferral - - client/ - client_types.h - cs_scheduler.C - scheduler_op.C - html/inc/ - stats_sites.inc - lib/ - util.C - -Rom 21 Dec 2006 - - MGR: Simplify snooze so that it only applies to CPU usage. - - MGR: Remember message dialog size and list view column widths - for all platforms. - - MGR: Fix an annoying bug when the advanced gui suspended all - tasks and then you tried to resume from the simple gui. - - Restore didn't work when the task_mode_perm was equal to - never and their was no timeout. - - We should probably move this logic down into the CC. - - LIB: Don't display foreground window information unless the - user has agreed to allow it to happen via the registry. - - Their was concern about privacy issues with window titles. - - clientgui/ - BOINCTaskBar.cpp - MainDocument.cpp, .h - sg_DlgMessages.cpp - lib/ - diagnostics_win.C - -Rom 21 Dec 2006 - - MGR: Add context help to the BSG. - - clientgui/ - sg_DlgMessages.cpp, .h - sg_DlgPreferences.cpp - sg_ProjectsComponent.cpp, .h - stdwx.h - -Charlie 22 Dec 2006 - -MGR: Fix crash bugs: don't call SetBackgroundColour() or - SetForegroundColour() before wxDialog::Create(). - - clientgui/ - sg_DlgMessages.cpp - sg_DlgPreferences.cpp - -David 23 Dec 2006 - - core client: add missing error message case on attach failure - - DB: user "tinyint not null default 0" for bools; - no need to single-quote table and column names in queries - - client/ - cs_account.C - db/ - schema.sql - html/ops/ - db_update.php - -Rytis 23 Dec 2006 - - User web: fix loophole where users could put - arbitrary HTML in forum messages - - html/ - inc/ - forum.inc - text_transform.inc - user/ - edit_forum_preferences_action.php - forum_edit.php - forum_forum.php - forum_moderate_thread.php - forum_reply.php - -David 25 Dec 2006 - - Various changes to deal with the situation where someone - attaches to a project while its scheduler is down. - Currently the attach fails. - This is a relic of the attach-using-account-key era. - Change it so that: - 1) the project_attach GUI RPC has a project_name argument - (so that we can show the project name even before - we've done a scheduler RPC) - 2) the attach succeeds even if the initial RPC fails - Note: we can probably get rid of the PROJECT::tentative flag. - Note: the logic for attaching to a project with an init file - (or with "cached credentials", as confusingly described in the Manager - code) is messed up, or at least poorly documented. - - client/ - acct_mgr.C - client_state.h - cs_account.C - cs_cmdline.C - cs_scheduler.C - scheduler_op.C - clientgui/ - MainDocument.cpp - ProjectProcessingPage.cpp - ProjectPropertiesPage.cpp - lib/ - boinc_cmd.C - gui_rpc_client.h - gui_rpc_client_ops.C - -David 27 Dec 2006 - - deprecate the email_validated field of user table. - This isn't used for anything, and confuses users. - - db/ - boinc_db.h - html/ - inc/ - db_ops.inc - email.inc - user/ - am_set_info.php - edit_email_action.php - validate_email.php (removed) - -David 27 Dec 2006 - - Manager: new version of Work tab with progress bar. - This is a work in progress; for now, include both old and new tabs. +David 2 Jan 2007 + - make disk pie charts work on Linux (from Frank Weiler) clientgui/ - AdvancedFrame.cpp - BOINCGridCtrl.cpp,h (new) - Events.h - ViewWorkGrid.cpp,h (new) - stdwx.h - win_build/ - boincmgr_curl.vcproj - -David 27 Dec 2006 - - db_dump: add option in config file; - check for existence of output_dir, final_output_dir in config file - - sched/ - db_dump.C - -David 27 Dec 2006 - - comment out Windows logic in graphics_possible.C - (as implemented, requires MS linker) - - api/ - graphics_api.C - -David 27 Dec 2006 - - core client: remove handle leak in extremely rare case - - client/ - file_name.C - -David 28 Dec 2006 - - core client: fix bugs in calculation of network status - - Manager: add ellipses to menu items that bring up dialogs, - tweak wizard text - - client/ - acct_setup.C,h - net_stats.C,h - clientgui/ - AdvancedFrame.cpp - ProxyInfoPage.cpp - -Rom 28 Dec 2006 - - SCRSAV: Use RegisterSystemMessage instead of using WM_USER for the - WM_INTERRUPTSAVER and WM_SETTIMER events. - - SCRSAV: Clarify which window is receiving the WM_INTERRUPTSAVER - event from the DataProc Thread. - - client/win/ - win_screensaver.cpp, .h - -David 28 Dec 2006 - - User web: on user page, show list of their other projects. - This uses the XML RPC being exported by James Drews. - - html/ - user/ - show_user.php - white.css - inc/ - cache.inc - util.inc - -Rom 29 Dec 2006 - - SCRSAV: Fix build break. - - MGR: Refactor the timer management code whithin the advanced frame. - - client/win/ - win_screensaver.cpp - clientgui/ - AdvancedFrame.cpp, .h - BOINCBaseFrame.cpp, .h - BOINCBaseView.cpp, .h - BOINCDialupManager.cpp, .h - ViewStatistics.cpp, .h - -David 29 Dec 2006 - - user web: add project list to private use page also; - sort projects by descending avg credit; - don't link to user page on WCG (they don't have them) - - start script: say "not running", not "not found" - - html/ - inc/ - user.inc - user/ - home.php - show_user.php - sched/ - start - -Rytis 29 Dec 2006 - User web: - - Fix forum thread locking notification issues. - - Disallow post editing if the thread is locked. - - Fix post_str to remove PHP notices. - - Fix post ratings (who put exit(0) in the code?) - - html/ - inc/ - forum.inc - forum_forum.inc - forum_post.inc - util.inc - user/ - forum_edit.php - forum_rate.php - forum_thread.php - -David 29 Dec 2006 - - web site: made the help page and the "Volunteer" part - of the front page translatable. - - languages/ - translations/en.po - -David 29 Dec 2006 - - Manager: grid-based variant of Transfers tab - (from Frank Weiler) - Note: for this to work correctly, - you need to modify grid.h in the wxWidgets source, - and recompile it. - We'll try to figure out how to get around this. - - clientgui/ - AdvancedFrame.cpp - BOINCGridCtrl.cpp,h - Events.h - ViewTransfersGrid.cpp,h (new) - ViewWorkGrid.cpp - win_build/ - boincmgr_curl.vcproj - -David 29 Dec 2006 - - validator: fixed bug that caused max_granted_credit - to not be enforced in some cases - (from Hendrik Vorhoek) - - sched/ - validator.C - -David 29 Dec 2006 - - user web: when showing team email list, - add option (&plain=1) to show it as plain text - that you can copy and paste into an email client - - html/ - inc/ - user.inc - user/ - team_email_list.php - -David 29 Dec 2006 - - fix compile warnings in sched code - - db/ - db_base.h - -Rom 29 Dec 2006 - - MGR: Make the simple preferences and messages dialogs have their - own help handler, apparently when the event bubbles up to the - frame the control ID's were being remapped to the frame window - ID. - - clientgui/ - sg_DlgMessages.cpp, .h - sg_DlgPreferences.cpp, .h - -David 30 Dec 2006 - - Manager: forgot to add new files to Makefile.am - - clientgui/ - Makefile.am - -David 30 Dec 2006 - - start script: use lockf() instead of flock() - see http://www.python.org/doc/2.3/lib/module-fcntl.html - (from Eric Myers) - - sched/ - start - -Rytis 30 Dec 2006 - - Forum: do not show hidden threads when the user is logged out. - - html/user/ - forum_thread.php - -Reinhard 2 Jan 2007 - - fixed build of clientgui [in consultation with the Author, Frank Weiler] - * corrected unicode-string handling with wxString() in ViewTransfersGrid.cpp and ViewWorkGrid.cpp - * corrected wxString handling in BOINCGridCtrl.cpp - * add missing files BOINCGridCtrl.[cpp|h] to Makefile.am - - clientgui/ - Makefile.am - BOINCGridCtrl.cpp - ViewTransfersGrid.cpp - ViewWorkGrid.cpp - -Rom 2 Jan 2007 - - Win SETUP: Incorporate a custom action to migrate CPDNBBC data files to the - destination BOINC directory. - - win_build/installerv2/ - BOINC.ism - win_build/installerv2/redist/Windows/src/boinccas/ - CADetectOldInstaller.cpp, .h (Removed) - CAMigrateCPDNBBC.cpp, .h (Added) - boinccas.rc - boinccas95.def - boinccas95.vcproj - win_build/installerv2/redist/Windows/x86/ - boinccas.dll - boinccas95.dll + wxPieCtrl.cpp diff --git a/checkin_notes_2006 b/checkin_notes_2006 new file mode 100755 index 0000000000..038e2d7c9c --- /dev/null +++ b/checkin_notes_2006 @@ -0,0 +1,13932 @@ +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 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 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 in AM request + - AM replies can include 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 element + to 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 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/ + 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; + 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/ + + +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 tag, + followed later by a 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 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 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 message + (existing apps don't recognize this message). + Instead, send it the 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 GUI RPC with a new one, + 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 + + 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 + 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 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 . + + 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 element in ; + 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 elements now includes + a rather than a . + 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: + (double) + If a result claims more credit than this, mark it as invalid + (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 elements within . + Need a CR between the last line and the tag. + - In the course of testing I found that a + with no 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 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 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 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 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 '' 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 and elements + to account manager requests; + tells the AMS what version of global prefs we have + - Add optional tag in 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 in the 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 0 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 X 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 + tag to 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/ + + openssl/ + + zlib/ + + +Walt 20 Apr 2006 + - Enable network tracing when 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 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 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 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 is set) + for subsequent workunits. + + client/ + app_start.C + cs_apps.C + cs_files.C + +David 28 Apr 2006 + - back end: handle 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 N. + 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 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 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: + + + ... + + [ N ] + + - 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 "" 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 + X + and + + X + + and + + + X + + + etc. + It will parse + + and + + and + + + + identically. + The python-generated XML (e.g. config.xml) is of the form + + X + + 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 and + 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 : returns + 1) network status (same as 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 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 element, + with current global preferences, + and their source and mod time + 2) request message no longer includes + and ; + these items are in the new element. + 3) reply message now includes optional element. + This should be sent only if prefs are newer + than those in the request message. + 4) reply message now includes optional 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 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: , not + - 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 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 + and + 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 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 . + 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 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 + 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 + 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 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 + + 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 " 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 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 ... + + 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, 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 + 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 + 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 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 and 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 in 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 + + 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 + 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 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 1 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 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 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 and GUI RPC's as that + functionality has been rolled into . 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 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 + + N + xxx + + 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 + + ... + + 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 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 ) + + 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 . + + 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Õ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 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/ + + +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 () + 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 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 + P = + else + if req msg includes + if newer than DB + P = + else + P = DB prefs + + use P for sched decisions + + If request message includes , + 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 in scheduler requests. + In combination with the above server changes, + this will fix the design problem described above. + - include 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 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 X in your + global_prefs_override.xml file + (outside the 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 + + clientgui/res/templates/skins + + clientgui/skins/default + + +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 + 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 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 + run_in_ops update_profile_pages.php + in your config.xml file 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 in its + 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 + "1" 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 + elements in 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/ + + +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 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 , + treating it as (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 and there's already + a in the queue, + remove the and don't send anything. + And conversely. + - core client: to debug all the above, added + and 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, and 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 s and a , + the result is that the job 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 + +Charlie 21 Nov 2006 + - Mac: Fix compiler warning. + - MGR: Don't put an empty View menu in menu bar if not SimpleGUI. + + clientgui/ + AdvancedFrame.cpp + client/ + app.C + +David 21 Nov 2006 + - core client: if we're preempting a job because total RAM + usage is too high, preempt by quitting. + + This has a downside: it wastes CPU time for apps that + don't checkpoint often. + However, if we don't do it, the core client might + try running dozens of queued apps, looking for one that fits in RAM. + That might use too much swap space. + + client/ + client_state.h + client_types.C + cpu_sched.C + cs_files.C + lib/ + gui_rpc_client.h + +David 21 Nov 2006 + - core client: don't get work from a project with a backed-off download + (from John McLeod) + + client/ + client_types.C,h + cs_scheduler.h + +David 21 Nov 2006 + - GUI RPC: add a run mode, RUN_MODE_RESTORE, + whose function is to set the mode back to its permanent value + (i.e. to end a "snooze"). + The GUI now doesn't have to remember the original value. + + client/ + client_types.C + gui_rpc_server_ops.C + lib/ + common_defs.h + gui_rpc_client_ops.C + util.C + +Rom 22 Nov 2006 + - MGR: It turns out that wxWidgets exposes searching for a window by ID and + by default dialogs all have an id of 10000, so if we can find a window + with an ID of 10000 and it is of wxDialog type then disable the "Exit" + menu item. + - MGR: Clean out a bunch of the #ifdef's that were littered across the + taskbar implementation, the compiler can take care of removing the dead + code during the optimization phase. It is just to cluttered otherwise. + - MGR: Change the BSG static project icon tooltip to read + "%s. Work done by %s: %0.2f" and make it localizable. + - MGR: Change CDlgMessages to be a regular wxDialog derived class. + - MGR: Change all dialogs so that they are declared as stack based items + instead of heap based items. + - MGR: Use the snooze restore feature that was just introduced into the + core client. + - MGR: Commit Frank's changes to properly support Unicode in the SkinManager + for Debian based distros. + + client/ + client_types.C + clientgui/ + AdvancedFrame.cpp + BOINCGUIApp.cpp, .h + BOINCTaskBar.cpp, .h + Events.h + MainDocument.cpp, .h + sg_DlgMessages.cpp, .h + sg_ProjectsComponent.cpp, .h + sg_StatImageLoader.cpp + SkinManager.cpp + +Charlie 22 Nov 2006 + - MGR: Fix bugs in adjusting taskbar menu items when modal dialog open: + - Disable wxID_ABOUT item to prevent opening multiple copies of + About dialog (a problem on the Mac, not on Windows.) + - Re-enable items when modal dialog is closed. + - MGR: Fix broken messages, Pause, Resume buttons on Simple GUI. + - Mac: Fix compiler errors and warnings. + - Mac: Use new modal dialog detection logic to block Quit from Dock. + + clientgui/ + BOINCGUIApp.cpp + BOINCTaskBar.cpp + Events.h + sg_ProjectsComponent.cpp + +Rom 22 Nov 2006 + - MGR: A little bit more cleanup work. + - MGR: Use the shorthand "%d hr %d min %d sec" on the BSG for people + who use large fonts. + + clientgui/ + BOINCTaskBar.cpp + sg_ProjectsComponent.cpp, .h + sg_ViewTabPage.cpp + +Charlie 22 Nov 2006 + - MGR: Change extra event ID ID_TB_EXIT back to wxID_EXIT. + - MGR: Disable all items in taskbar menu when modal dialog open. + - Mac MGR: Clear Help Menu when switching from Advanced GUI to + Simple GUI. + - Mac MGR: Enable keyboard shortcut to close main SG window. + + clientgui/ + BOINCTaskBar.cpp + Events.h + sg_BoincSimpleGUI.cpp, h + +Rom 22 Nov 2006 + - Tag for 5.7.5 release, all platforms + boinc_core_release_5_7_5 + +David 23 Nov 2006 + - don't allow work_buf_min_days less than 0.1 + + lib/ + prefs.C + +Rom 23 Nov 2006 + - MGR: Snooze timeout is in seconds, not minutes, what was I thinking? + + clientgui/ + BOINCTaskBar.cpp + sg_ProjectsComponent.cpp + +Rom 24 Nov 2006 + - MGR: Fix another preference bug. get_global_prefs_override_struct should + not return success unless one of the preference values in the preference + mask are true. + + lib/ + gui_rpc_client_ops.C + prefs.C, .h + +David 25 Nov 2006 + - core client: if the user has suspended a result for a project, + don't fetch more work from it. + - core client: in work fetch and CPU sched policies, + if a result has a stalled download, + don't treat it as nearly runnable + - core client: don't allow work_buf_min_days less than 0.01. + The scheduler and work fetch policies demand that it be > 0 + + client/ + client_types.C,h + cpu_sched.C + cs_scheduler.C + lib/ + prefs.C + +David 25 Nov 2006 + - simple validator framework: bug fix, prevent crash + if output file missing + (from Hendrik Verhoek) + + sched/ + validate_util2.C + +Charlie 26 Nov 2006 + - Mac MGR: Modify XCode Project so default Manager build is + SimpleGUI(i.e., targets Build_All and mgr_boinc now build + Manager with Simple GUI). + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 26 Nov 2006 + - validator: clean up check_pair() (from validate_util2.C) a little: + The function now returns void. + Either it returns with retry == true (in case of a transient error) + or it sets r1.validate_state to either VALID or INVALID. + - validator.C: handle_wu() now returns zero if the WU + was actually handled (i.e. there wasn't a transient error) + Sleep if nothing was actually handled + (i.e. either there were none, or they all had transient errors) + (from M.F. Somers, much belated) + + sched/ + validate_util.C + validate_util2.C + validator.C + +Charlie 26 Nov 2006 + - MGR: Fix 2 preferences dialog bugs: + - Set checkbox only if mask is set for one or more items on the + dialog (i.e., ignore masks for items not on dialog). + - Add the value 3 to the idle time choices. This makes the dialog's + default value the same as the web-based preferences default. + - Fix logic to properly delete empty override file. + + clientgui/ + sg_DlgPreferences.cpp, h + lib/ + prefs.C + +David 27 Nov 2006 + - manager: improve appearance of disk tab + + clientgui/ + ViewResources.cpp + +David 27 Nov 2006 + - validator: removed and + from config file, and add command-line args to validator: + -max_claimed_credit X (invalidate any result that claims more than this) + -max_granted_credit X (grant at most this) + -grant_claimed_credit (always grant claimed credit) + + By making these params of the validator, + they can vary from between applications + + (from Hendrick Verhoek) + + sched/ + sched_config.C,h + validate_util2.C + validator.C,h + +David 28 Nov 2006 + - Manager: ask for disk usage at most every 60 sec + + clientgui/ + ViewResources.cpp + +Charlie 30 Nov 2006 + - Mac: Add WCG skin to Mac installer. + + mac_installer/ + release_boinc.sh + preinstall + +David 1 Dec 2006 + - New features for Statistics tab: + 1) Zoom (LeftMouseDown + Move Mouse) + "AutoZoom" - Rigth Mouse Click or change "Project", "ModeView"... + + Marker (LeftMouseClick) + 2) "Legend" scroll (button "< Next project" "Prev project >"). + When very many projects and 15" monitor + (from Mifistor) + + COMMENT: the zoom features are not obvious. + Can we document them in the interface somehow? + + clientgui/ + ViewStatistics.cpp,h + +David 1 Dec 2006 + - a bunch of changes to BOINC Help + + doc/ + help_* + +Rom 2 Dec 2006 + - Check in WCG project files. + + client/win/ + *.rc + clientgui/ + *.rc + win_build/ + wcg_*.sln + wcg_*.vcproj + +Bruce 4 Dec 2006 + - If browser contacts scheduler CGI, redirect to project home page + + sched/ + server_types.C + +David 4 Dec 2006 + - if browser contacts scheduler, link to homepage but don't redirect + + sched/ + main.C + server_types.C + +David 4 Dec 2006 + - scheduler: don't send anything special to browsers. + Send reply as XML. + - simple GUI: work is done by a user, not for a user + + sched/ + server_types.C + clientgui/ + sg_StatImageLoader.cpp + +Reinhard 6 Dec 2006 + configure.ac + increased transparancy for glut-test: added extra tests for libXmu and + libXi which are prerequisites to the glut-test + ==> if glut-test fails because of one of these libs missing, give a warning. + +Rom 5 Dec 2006 + - BSG: Change the copy and copy all buttons to bitmaps. + + clientgui/ + sg_DlgMessages.cpp + SkinManager.cpp, .h + +David 6 Dec 2006 + - maybe fixed crash bug in core client: + If an app was doing screensaver graphics + and didn't respond for 4 seconds to message to hide graphics, + we were calling kill_task() but not setting + ACTIVE_TASK::task_state = PROCESS_ABORTED. + As a result, the ACTIVE_TASK wasn't getting removed. + Further attempts to reference its shared-mem segment + or its handle would produce errors; + eventually the core client crashes. + Solution: set task_state to ABORTED in kill_task(); + Note: actually we don't want to kill the task in this case. + I'll do this later. + - core client: print separate message when killing non-responding + screensaver app + - core client: prepend [file_xfer] to messages where needed + - server DB code: add ping_user, ping_time fields to TEAM + (not used in C++ code, but should be here for good form) + + client/ + app.C,h + app_control.C + app_graphics.C + pers_file_xfer.C + ss_logic.C + db/ + boinc_db.C,h + +Rom 7 Dec 2006 + - Add clicked bitmaps for the copy/copy all buttons. + - Remove old installer version check from the newer MSI installer + package. + + clientgui/ + SkinManager.cpp + +David 7 Dec 2006 + - core client: add "bool restart" arg to kill_task. + If true, the process is killed but we arrange to + restart it again, instead of erroring out the result. + (used when the app is killed because it doesn't respond + to stop-screensaver-graphics message) + This completes the fix from yesterday. + - core client: changed screensaver-mode ack timeout + from 2 sec to 3 sec; + added some debug messages + - API: add bool g_sleep: if you set this to true, + timer activities stop (simulate application freezing up). + + api/ + boinc_api.C,h + windows_opengl.C + client/ + app.C,h + app_control.C + app_graphics.C + gui_rpc_server_ops.C + +Rom 7 Dec 2006 + - MGR: Add support for the help button to the skin manager. + + clientgui/ + SkinManager.cpp, .h + +David 7 Dec 2006 + - change sample_get_project_config.php so that it can be used + to get project status. Its reply will have + 1 + if the scheduler is disabled + (note: the project may have no work; no API tells you that) + 1 + if web access to the DB is disabled + (renamed project_is_stopped() to web_stopped() in util.inc; + some projects may need to update their home pages accordingly) + - core client: use vsnprintf() instead of vsprintf() + to protect against buffer overrun + + COPYRIGHT + client/ + cs_scheduler.C + html/ + inc/ + util.inc + xml.inc + user/ + sample_get_project_config.phhp + sample_index.php + lib/ + mfile.C + +Rom 7 Dec 2006 + - MGR: Merge the run_if_user_active and idle_time_to_run prefernces. + + clientgui/ + sg_DlgPreferences.cpp, .h + +David 8 Dec 2006 + - API: fixed nasty bug that can result in application + being both suspended (worker thread not running) + and in a critical section (timer thread + ignores messages to wake up worker thread). + This is a deadlock; the app will never progress. + The problem: bool in_critical_section + needs to be declared volatile because it's used by both threads. + Why didn't I listen to Bruce Allen when + he told me to do this a long time ago? + - Core client: deal with apps that stop accepting + process control messages (due to the above bug). + Several parts to this: + - Add a timeout to process control message queue. + If 180 seconds elapse with an unread process control + message in the send buffer, kill and restart the app. + Note: when a process is checkpointing it doesn't + handle process control messages, + so this timeout needs to be large enough to handle + the longest possible checkpoint. + I think 180 should be large enough. + - Initialize message queues on app (re)start. + - MSG_QUEUE::msg_queue_purge() was conceptually messed up. + We don't want to purge ALL the messages of the opposite type, + just the one at the tail of the queue. + Whew! This one was exhausting. + + api/ + boinc_api.C + client/ + app.C + app_control.C + app_start.C + lib/ + app_ipc.h + +Charlie 8 Dec 2006 + MGR: Make width of preferences dialog combo boxes size automatically + to fit menu items on different platforms. + + clientgui/ + sg_DlgPreferences.cpp + +Charlie 9 Dec 2006 + MGR: Fix a (probably rare) crash bug. + + clientgui/ + SkinManager.cpp + +David 11 Dec 2006 + - core client: preliminary checkin for auto-update functionality. + (Note: this feature will not be enabled by default) + + client/ + Makefile.am + auto_update.C,h (new) + client_state.C,h + client_types.C + cs_scheduler.C + cs_statefile.C + file_names.C,h + scheduler_op.C,h + html/user/ + language_select.php + sample_get_project_config.php + lib/ + common_defs.h + gui_rpc_client.h + win_build/ + boinc_cli_curl.vcproj + +Rom 11 Dec 2006 + - MGR: Setup 'Help' so that it'll go to a 'manager_links.php' page which + can redirect the browser to the correct page based on which view is + requested. + - MGR: Use wxDefaultSize instead of wxSize(-1, -1) to future proof the + code against future versions of wxWidgets. + - MGR: Enable the accelerator table in the Simple GUI for all platforms. + + clientgui/ + AdvancedFrame.cpp, .h + BOINCBaseFrame.cpp, .h + sg_BoincSimpleGUI.cpp, .h + sg_DlgPreferences.cpp + +Charlie 11 Dec 2006 + - Mac: update XCode project for new auto_update source files. + - MGR: fix anomaly in wxMac handling of accelerator table. + + clientgui/ + sg_BoincSimpleGUI.cpp + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Rom 12 Dec 2006 (Forked from HEAD) + - Branch boinc_core_release_5_8 created for the BOINC 5.8 client release. + +David 12 Dec 2006 + - add updater program + + configure.ac + lib/ + Makefile.am + updater.C (new) + +David 12 Dec 2006 + - bug fixes to auto-update + - don't print spurious error message in mfile.C + + client/ + auto_update.C + client_types.C,h + file_names.C,h + scheduler_op.C + lib/ + mfile.C + win_build/ + updater.vcproj (new) + boinc.sln + +David 12 Dec 2006 + auto-update stuff: + - core client: add -launched_by_manager option + (so that it knows what to do after auto-update) + - GUI RPC: add bool CC_STATUS::manager_must_quit + so core client can tell manager to quit + - Manager: quit if get the above + Note: quit by exit(0); should probably show the user something + + client/ + client_state.C,h + cs_cmdline.C + clientgui/ + BOINCGUIApp.cpp + MainDocument.cpp + lib/ + gui_rpc_client.h + gui_rpc_client_ops.C + +Charlie 13 Dec 2006 + - MGR: Fix Compiler warnings. + - Mac: Add user preferences file to list of BOINC files in + documentation. + + client/ + auto_update.C + clientgui/ + ViewStatistics.cpp + doc/ + mac_advanced.php + release_notes.php + mac_installer/ + GR-ReadMe.rtf + ReadMe.rtf + +David 13 Dec 2006 + - moved updater from lib/ to tools/ + + configure.ac + lib/ + Makefile.am + tools/ + Makefile.am + updater.C (moved from lib/) + +David 13 Dec 2006 + - more debugging of auto-update + WOO HOO! It works in a basic way on Linux. + - moved check_unique_instance() (client/main.C) + to wait_client_mutex() (lib/util.C) + and gave it a timeout argument. + Updater needs mutex to wait for client to exit and vice-versa. + - added run_program() to util.C. + - core client: changed version number vars to VERSION_INFO + + client/ + acct_mgr.C + acct_setup.C + auto_update.C + client_state.C,h + client_types.C + cs_scheduler.C + cs_statefile.C + main.C + lib/ + Makefile.am + common_defs.h + util.C,h + tools/ + updater.C + win_build/ + updater.vcproj + tools/ + updater.C + +Charlie 13 Dec 2006 + - Mac: remove WCG skin from Mac installer (undo change of 30 Nov.) + + mac_installer/ + release_boinc.sh + +David 14 Dec 2006 + - moved clientlib/win/Identification.cpp to lib/win_util.C + +David 14 Dec 2006 + - got stuff to compile on Windows again + + client/ + main.C + clientlib/win/ + AuthenticatorDetection.cpp + IdleTracker.cpp + boinc_dll.cpp + lib/ + util.C + win_util.C + win_build/ + boinc_dll.vcproj + boinc_ss.vcproj + boincmgr_curl.vcproj + libboinc.vcproj + +David 14 Dec 2006 + Further work on auto-update: + - add synchronization so that the core client, + when it's ready to do an auto-update, + arranges for any local Manager and screensaver to exit first. + This is done in a slighly kludgy way: + any GUI RPC connection that has done a get_screensaver_mode() + is assumed to be a screensaver, + and we send it a SS_STATUS_QUIT on its next request. + Any connection that has done a get_cc_status() is assumed to + be a Manager, and we set on the next request. + The core client waits until these have been sent, + and waits an additional 10 seconds to let the other program exit. + - updater: add a mandatory --install_dir argument (don't assume ../../..) + - wait_client_mutex(): add a directory argument; + the updater needs to acquire the mutex while it's + running in a different directory + - FILE_LOCK: don't use lots of file descriptors if called repeatedly + - util.C: add boinc_getcwd() + + client/ + auto_update.C + gui_rpc_server.C,h + gui_rpc_server_ops.C + main.C + lib/ + filesys.C,h + util.C + tools/ + updater.C + +Charlie 14 Dec 2006 + - Fix compiler warning. + + lib/ + util.C + +Charlie 15 Dec 2006 + - Mac BSG: We can't completely eliminate the Mac menu bar or + the Help menu, so we might as well make them useful. + - Mac MGR: implement the Mac's Help keyboard shortcut. + + clientgui/ + AdvancedFrame.cpp, .h + sg_BoincSimpleGUI.cpp, .h + +David 15 Dec 2006 + - core client: add GUI RPCs to get/set/read cc_config.xml + - boinc_cmd: add command to read cc_config.xml + (from Sebastian Masch) + + client/ + gui_rpc_server_ops.C + log_flags.C,h + lib/ + boinc_cmd.C + gui_rpc_client.h + gui_rpc_client_ops.C + +David 15 Dec 2006 + - Manager: add "read prefs file", "read config file" + entries to Advanced menu + + clientgui/ + AdvancedFrame.cpp,h + Events.h + +David 15 Dec 2006 + - core client: disable auto update with compile flag + + client/ + cs_scheduler.C + +Rom 18 Dec 2006 + - MGR: Make the advanced gui build in Unicode again. + (From: Ron Parker) + + clientgui/ + AdvancedFrame.cpp + + +Charlie 19 Dec 2006 + - Mac: Fix bug in setupForBOINC build script handling of -clean + option. + mac_build/ + setupForBOINC.sh + +David 19 Dec 2006 + - core client: add "" config flag for + people with proxies that require HTTP 1.0. + Curl's default is 1.1 + + client/ + http_curl.C + log_flags.C,h + scheduler_op.C + +David 19 Dec 2006 + - boinc_cmd: fix help() + - get rid of some unused error codes + + lib/ + boinc_cmd.C + crypt.C + error_numbers.h + util.C + +David 19 Dec 2006 + - boinc_cmd: make "duration" argument optional in + --set_run_mode and --set_network_mode + + lib/ + boinc_cmd.C + +David 19 Dec 2006 + - API: change boinc_write_init_data_file() + to take a APP_INIT_DATA& argument. + This makes it usable to compound applications. + - API: change defaults to zero and empty strings + when parsing app init data. + + api/ + boinc_api.C,h + lib/ + app_ipc.h + +Walt 19 Dec 2006 + - MGR: Fix compile errors with Unicode builds + + clientgui/ + AdvancedFrame.cpp + sg_BoincSimpleGUI.cpp + sg_ClientStateIndicator.cpp, h + sg_ImageButton.cpp + sg_StatImageLoader.cpp + sg_ViewTabPage.cpp + + +Walt 19 Dec 2006 + - MGR: Add simple GUI files to makefile + + clientgui/ + Makefile.am + +Charlie 20 Dec 2006 + - MGR: Fix compile warning due to a coding error. + + clientgui/ + sg_BoincSimpleGUI.cpp + +David 21 Dec 2006 + - core client: improve error messages on RPC deferral + + client/ + client_types.h + cs_scheduler.C + scheduler_op.C + html/inc/ + stats_sites.inc + lib/ + util.C + +Rom 21 Dec 2006 + - MGR: Simplify snooze so that it only applies to CPU usage. + - MGR: Remember message dialog size and list view column widths + for all platforms. + - MGR: Fix an annoying bug when the advanced gui suspended all + tasks and then you tried to resume from the simple gui. + + Restore didn't work when the task_mode_perm was equal to + never and their was no timeout. + + We should probably move this logic down into the CC. + - LIB: Don't display foreground window information unless the + user has agreed to allow it to happen via the registry. + + Their was concern about privacy issues with window titles. + + clientgui/ + BOINCTaskBar.cpp + MainDocument.cpp, .h + sg_DlgMessages.cpp + lib/ + diagnostics_win.C + +Rom 21 Dec 2006 + - MGR: Add context help to the BSG. + + clientgui/ + sg_DlgMessages.cpp, .h + sg_DlgPreferences.cpp + sg_ProjectsComponent.cpp, .h + stdwx.h + +Charlie 22 Dec 2006 + -MGR: Fix crash bugs: don't call SetBackgroundColour() or + SetForegroundColour() before wxDialog::Create(). + + clientgui/ + sg_DlgMessages.cpp + sg_DlgPreferences.cpp + +David 23 Dec 2006 + - core client: add missing error message case on attach failure + - DB: user "tinyint not null default 0" for bools; + no need to single-quote table and column names in queries + + client/ + cs_account.C + db/ + schema.sql + html/ops/ + db_update.php + +Rytis 23 Dec 2006 + - User web: fix loophole where users could put + arbitrary HTML in forum messages + + html/ + inc/ + forum.inc + text_transform.inc + user/ + edit_forum_preferences_action.php + forum_edit.php + forum_forum.php + forum_moderate_thread.php + forum_reply.php + +David 25 Dec 2006 + - Various changes to deal with the situation where someone + attaches to a project while its scheduler is down. + Currently the attach fails. + This is a relic of the attach-using-account-key era. + Change it so that: + 1) the project_attach GUI RPC has a project_name argument + (so that we can show the project name even before + we've done a scheduler RPC) + 2) the attach succeeds even if the initial RPC fails + Note: we can probably get rid of the PROJECT::tentative flag. + Note: the logic for attaching to a project with an init file + (or with "cached credentials", as confusingly described in the Manager + code) is messed up, or at least poorly documented. + + client/ + acct_mgr.C + client_state.h + cs_account.C + cs_cmdline.C + cs_scheduler.C + scheduler_op.C + clientgui/ + MainDocument.cpp + ProjectProcessingPage.cpp + ProjectPropertiesPage.cpp + lib/ + boinc_cmd.C + gui_rpc_client.h + gui_rpc_client_ops.C + +David 27 Dec 2006 + - deprecate the email_validated field of user table. + This isn't used for anything, and confuses users. + + db/ + boinc_db.h + html/ + inc/ + db_ops.inc + email.inc + user/ + am_set_info.php + edit_email_action.php + validate_email.php (removed) + +David 27 Dec 2006 + - Manager: new version of Work tab with progress bar. + This is a work in progress; for now, include both old and new tabs. + (from Frank Weiler) + + clientgui/ + AdvancedFrame.cpp + BOINCGridCtrl.cpp,h (new) + Events.h + ViewWorkGrid.cpp,h (new) + stdwx.h + win_build/ + boincmgr_curl.vcproj + +David 27 Dec 2006 + - db_dump: add option in config file; + check for existence of output_dir, final_output_dir in config file + + sched/ + db_dump.C + +David 27 Dec 2006 + - comment out Windows logic in graphics_possible.C + (as implemented, requires MS linker) + + api/ + graphics_api.C + +David 27 Dec 2006 + - core client: remove handle leak in extremely rare case + + client/ + file_name.C + +David 28 Dec 2006 + - core client: fix bugs in calculation of network status + - Manager: add ellipses to menu items that bring up dialogs, + tweak wizard text + + client/ + acct_setup.C,h + net_stats.C,h + clientgui/ + AdvancedFrame.cpp + ProxyInfoPage.cpp + +Rom 28 Dec 2006 + - SCRSAV: Use RegisterSystemMessage instead of using WM_USER for the + WM_INTERRUPTSAVER and WM_SETTIMER events. + - SCRSAV: Clarify which window is receiving the WM_INTERRUPTSAVER + event from the DataProc Thread. + + client/win/ + win_screensaver.cpp, .h + +David 28 Dec 2006 + - User web: on user page, show list of their other projects. + This uses the XML RPC being exported by James Drews. + + html/ + user/ + show_user.php + white.css + inc/ + cache.inc + util.inc + +Rom 29 Dec 2006 + - SCRSAV: Fix build break. + - MGR: Refactor the timer management code whithin the advanced frame. + + client/win/ + win_screensaver.cpp + clientgui/ + AdvancedFrame.cpp, .h + BOINCBaseFrame.cpp, .h + BOINCBaseView.cpp, .h + BOINCDialupManager.cpp, .h + ViewStatistics.cpp, .h + +David 29 Dec 2006 + - user web: add project list to private use page also; + sort projects by descending avg credit; + don't link to user page on WCG (they don't have them) + - start script: say "not running", not "not found" + + html/ + inc/ + user.inc + user/ + home.php + show_user.php + sched/ + start + +Rytis 29 Dec 2006 + User web: + - Fix forum thread locking notification issues. + - Disallow post editing if the thread is locked. + - Fix post_str to remove PHP notices. + - Fix post ratings (who put exit(0) in the code?) + + html/ + inc/ + forum.inc + forum_forum.inc + forum_post.inc + util.inc + user/ + forum_edit.php + forum_rate.php + forum_thread.php + +David 29 Dec 2006 + - web site: made the help page and the "Volunteer" part + of the front page translatable. + + languages/ + translations/en.po + +David 29 Dec 2006 + - Manager: grid-based variant of Transfers tab + (from Frank Weiler) + Note: for this to work correctly, + you need to modify grid.h in the wxWidgets source, + and recompile it. + We'll try to figure out how to get around this. + + clientgui/ + AdvancedFrame.cpp + BOINCGridCtrl.cpp,h + Events.h + ViewTransfersGrid.cpp,h (new) + ViewWorkGrid.cpp + win_build/ + boincmgr_curl.vcproj + +David 29 Dec 2006 + - validator: fixed bug that caused max_granted_credit + to not be enforced in some cases + (from Hendrik Vorhoek) + + sched/ + validator.C + +David 29 Dec 2006 + - user web: when showing team email list, + add option (&plain=1) to show it as plain text + that you can copy and paste into an email client + + html/ + inc/ + user.inc + user/ + team_email_list.php + +David 29 Dec 2006 + - fix compile warnings in sched code + + db/ + db_base.h + +Rom 29 Dec 2006 + - MGR: Make the simple preferences and messages dialogs have their + own help handler, apparently when the event bubbles up to the + frame the control ID's were being remapped to the frame window + ID. + + clientgui/ + sg_DlgMessages.cpp, .h + sg_DlgPreferences.cpp, .h + +David 30 Dec 2006 + - Manager: forgot to add new files to Makefile.am + + clientgui/ + Makefile.am + +David 30 Dec 2006 + - start script: use lockf() instead of flock() + see http://www.python.org/doc/2.3/lib/module-fcntl.html + (from Eric Myers) + + sched/ + start + +Rytis 30 Dec 2006 + - Forum: do not show hidden threads when the user is logged out. + + html/user/ + forum_thread.php + +Reinhard 2 Jan 2007 + - fixed build of clientgui [in consultation with the Author, Frank Weiler] + * corrected unicode-string handling with wxString() in ViewTransfersGrid.cpp and ViewWorkGrid.cpp + * corrected wxString handling in BOINCGridCtrl.cpp + * add missing files BOINCGridCtrl.[cpp|h] to Makefile.am + + clientgui/ + Makefile.am + BOINCGridCtrl.cpp + ViewTransfersGrid.cpp + ViewWorkGrid.cpp + +Rom 2 Jan 2007 + - Win SETUP: Incorporate a custom action to migrate CPDNBBC data files to the + destination BOINC directory. + + win_build/installerv2/ + BOINC.ism + win_build/installerv2/redist/Windows/src/boinccas/ + CADetectOldInstaller.cpp, .h (Removed) + CAMigrateCPDNBBC.cpp, .h (Added) + boinccas.rc + boinccas95.def + boinccas95.vcproj + win_build/installerv2/redist/Windows/x86/ + boinccas.dll + boinccas95.dll diff --git a/clientgui/common/wxPieCtrl.cpp b/clientgui/common/wxPieCtrl.cpp index dd4cad44bb..d7cecc6e65 100644 --- a/clientgui/common/wxPieCtrl.cpp +++ b/clientgui/common/wxPieCtrl.cpp @@ -22,7 +22,7 @@ EVT_PAINT(wxPieCtrlLegend::OnPaint) EVT_ERASE_BACKGROUND(wxPieCtrlLegend::OnEraseBackground) END_EVENT_TABLE() -wxPieCtrlLegend::wxPieCtrlLegend(wxPieCtrl * parent, wxString title, +wxPieCtrlLegend::wxPieCtrlLegend(wxPieCtrl * parent, wxString title, wxPoint pos, wxSize sz, long style) : wxWindow(parent, -1, pos, sz, style), m_IsTransparent(false), @@ -30,7 +30,7 @@ wxPieCtrlLegend::wxPieCtrlLegend(wxPieCtrl * parent, wxString title, { m_TitleColour = wxColour(0,0,127); m_LabelColour = *wxBLACK; - m_BackColour = wxColour(255,255,0); + m_BackColour = wxColour(255,255,0); #ifdef __WXMAC__ m_TitleFont = *wxNORMAL_FONT; // Prevent wxDebug assert #endif @@ -46,16 +46,16 @@ void wxPieCtrlLegend::RecreateBackground(wxMemoryDC & parentdc) { int w,h; GetSize(&w,&h); - m_Background.Create(w,h); + m_Background.Create(w,h); m_BackgroundDC.SelectObject(m_Background); if(IsTransparent()) - { + { m_BackgroundDC.Blit(0,0,w, h, &parentdc, GetPosition().x, GetPosition().y); } else { m_BackgroundDC.SetBackground(wxBrush(m_BackColour)); - m_BackgroundDC.Clear(); + m_BackgroundDC.Clear(); } Refresh(); } @@ -87,12 +87,12 @@ void wxPieCtrlLegend::SetBackColour(wxColour colour) void wxPieCtrlLegend::OnPaint(wxPaintEvent & /*event*/) { wxPaintDC pdc(this); - + int w,h; GetSize(&w,&h); wxBitmap bmp(w,h); wxMemoryDC mdc; - mdc.SelectObject(bmp); + mdc.SelectObject(bmp); if(IsTransparent()) { wxClientDC parentdc(GetParent()); @@ -101,7 +101,7 @@ void wxPieCtrlLegend::OnPaint(wxPaintEvent & /*event*/) else { mdc.SetBackground(wxBrush(m_BackColour)); - mdc.Clear(); + mdc.Clear(); } wxPieCtrl * parent = (wxPieCtrl *)GetParent(); unsigned int i; @@ -132,7 +132,7 @@ void wxPieCtrlLegend::OnPaint(wxPaintEvent & /*event*/) // SetWindowStyle borders distort the pie circle on Mac so we draw our own int x, y; wxPen savedPen = mdc.GetPen(); - + GetSize(&x,&y); x--; y--; @@ -183,23 +183,23 @@ wxPieCtrl::wxPieCtrl(wxWindow * parent, wxWindowID id, wxPoint pos, :wxWindow(parent, id, pos, sz, style, name), m_Angle(M_PI/12), m_RotationAngle(0), m_Height(10), m_Background(wxNullBitmap), m_BackColour(wxColour(255,255,255)), m_ShowEdges(true), m_CanRepaint(true),m_bPaint3D(true),m_bDrawCircle(false) -{ +{ SetSizer(NULL); SetSize(sz); m_CanvasBitmap.Create(1,1); RecreateCanvas(); - m_Legend = new wxPieCtrlLegend(this, _("Pie Ctrl"), wxPoint(10,10), wxSize(100,75)); + m_Legend = new wxPieCtrlLegend(this, _("Pie Ctrl"), wxPoint(10,10), wxSize(100,75)); } void wxPieCtrl::SetBackground(wxBitmap bmp) { - m_Background = bmp; + m_Background = bmp; Refresh(); } void wxPieCtrl::OnSize(wxSizeEvent & /*event*/) { - RecreateCanvas(); + RecreateCanvas(); Refresh(); } @@ -225,11 +225,11 @@ void wxPieCtrl::GetPartAngles(wxArrayDouble & angles) total += m_Series[i].GetValue(); } double current(0); - angles.Add(current); + angles.Add(current); for(i = 0; i < m_Series.Count(); i++) { current += m_Series[i].GetValue(); - angles.Add(360 * (double)current / (double)total); + angles.Add(360 * (double)current / (double)total); } } @@ -237,7 +237,7 @@ void wxPieCtrl::SetAngle(double angle) { if(angle < 0) angle = 0; if(angle > M_PI/2) angle = M_PI/2; - m_Angle = angle; + m_Angle = angle; Refresh(); } @@ -245,19 +245,19 @@ void wxPieCtrl::SetRotationAngle(double angle) { if(angle < 0) angle = 0; if(angle > 2 * M_PI) angle = 2 * M_PI; - m_RotationAngle = angle; + m_RotationAngle = angle; Refresh(); } void wxPieCtrl::SetShowEdges(bool value) { - m_ShowEdges = value; + m_ShowEdges = value; Refresh(); } void wxPieCtrl::SetBackColour(wxColour colour) { - m_BackColour = colour; + m_BackColour = colour; Refresh(); } @@ -271,25 +271,25 @@ void wxPieCtrl::DrawParts(wxMemoryDC & dc, int /*cx*/, int cy, int w, int h) } w = min(w,h); h = w; - + } - wxArrayDouble angles; - GetPartAngles(angles); - wxPen oldpen = dc.GetPen(); + wxArrayDouble angles; + GetPartAngles(angles); + wxPen oldpen = dc.GetPen(); if(m_ShowEdges) dc.SetPen(*wxBLACK_PEN); unsigned int i; for(i = 0; i < angles.Count(); i++) { if(i > 0) - { + { if(!m_ShowEdges) dc.SetPen(wxPen(m_Series[i-1].GetColour())); dc.SetBrush(wxBrush(m_Series[i-1].GetColour())); if(angles[i-1] != angles[i]) { #ifdef __WXMAC__ // Convert angles to ints and back to doubles to avoid roundoff error which causes gaps between parts - dc.DrawEllipticArc(0, (int)((1-sin(m_Angle))*(h/2)+cy), w, (int)(h * sin(m_Angle)), (double)((int)angles[i-1]+m_RotationAngle/M_PI*180), (double)((int)angles[i]+m_RotationAngle/M_PI*180)); + dc.DrawEllipticArc(0, (int)((1-sin(m_Angle))*(h/2)+cy), w, (int)(h * sin(m_Angle)), (double)((int)angles[i-1]+m_RotationAngle/M_PI*180), (double)((int)angles[i]+m_RotationAngle/M_PI*180)); #else - dc.DrawEllipticArc(0, (int)((1-sin(m_Angle))*(h/2)+cy), w, (int)(h * sin(m_Angle)), angles[i-1]+m_RotationAngle/M_PI*180, angles[i]+m_RotationAngle/M_PI*180); + dc.DrawEllipticArc(0, (int)((1-sin(m_Angle))*(h/2)+cy), w, (int)(h * sin(m_Angle)), angles[i-1]+m_RotationAngle/M_PI*180, angles[i]+m_RotationAngle/M_PI*180); #endif } } @@ -315,10 +315,10 @@ void wxPieCtrl::Draw(wxPaintDC & pdc) { int w,h,i,j; int px, py; - GetSize(&w,&h); + GetSize(&w,&h); if(m_CanRepaint) { - m_CanvasDC.BeginDrawing(); + m_CanvasDC.BeginDrawing(); m_CanvasDC.SetBackground(*wxWHITE_BRUSH); m_CanvasDC.Clear(); if(m_Background != wxNullBitmap) @@ -330,83 +330,92 @@ void wxPieCtrl::Draw(wxPaintDC & pdc) m_CanvasDC.DrawBitmap(m_Background,i,j); } } - } + } else { m_CanvasDC.SetBackground(wxBrush(m_BackColour)); m_CanvasDC.Clear(); - } + } if(m_Series.Count()) { #if defined(__WXMSW__) || defined(__WXMAC__) if(m_Angle <= M_PI/2) - { - DrawParts(m_CanvasDC, 0, (int)(m_Height*cos(m_Angle)), w,h); + { + DrawParts(m_CanvasDC, 0, (int)(m_Height*cos(m_Angle)), w,h); } else DrawParts(m_CanvasDC, 0, 0, w, h); #endif - wxPoint points[4]; - m_CanvasDC.SetPen(wxPen(*wxBLACK)); + wxPoint points[4]; + m_CanvasDC.SetPen(wxPen(*wxBLACK)); wxArrayDouble angles; GetPartAngles(angles); unsigned angleindex(0); m_CanvasDC.SetBrush(wxBrush(wxColour(m_Series[angleindex].GetColour().Red(), m_Series[angleindex].GetColour().Green(), - m_Series[angleindex].GetColour().Blue()))); + m_Series[angleindex].GetColour().Blue()))); double x; bool changeangle(false); wxColour curColour; wxPen oldPen; #if ! (defined(__WXMSW__) || defined(__WXMAC__)) - wxPoint triangle[3]; + wxPoint triangle[3]; + int circlew = w; + int circleh =h; + int cy=0; + if(m_bDrawCircle) { + //no angle + cy = (int)(h/2 - (min(w,h)/2)); + circlew = min(w,h); + circleh = w; + } for(x = 0; x <= 2 * M_PI; x += 0.05) { changeangle = false; if(angleindex < angles.Count()) { - if((double)x/(double)M_PI*(double)180 >= angles[angleindex+1]) - { - changeangle = true; - x = angles[angleindex+1]*M_PI/180; + if((double)x/(double)M_PI*(double)180 >= angles[angleindex+1]) + { + changeangle = true; + x = angles[angleindex+1]*M_PI/180; } - } + } points[0].x = points[1].x; - points[0].y = points[1].y; - px = (int)(w/2 * (1+cos(x+m_RotationAngle))); - py = (int)(h/2-sin(m_Angle)*h/2*sin(x+m_RotationAngle)-1); + points[0].y = points[1].y; + px = (int)(circlew/2 * (1+cos(x+m_RotationAngle))); + py = (int)(circleh/2-sin(m_Angle)*circleh/2*sin(x+m_RotationAngle)-1); points[1].x = px; - points[1].y = py; - triangle[0].x = w / 2; - triangle[0].y = h / 2; + points[1].y = py; + triangle[0].x = circlew / 2; + triangle[0].y = circleh / 2 + cy; triangle[1].x = points[0].x; - triangle[1].y = points[0].y; + triangle[1].y = points[0].y + cy; triangle[2].x = points[1].x; - triangle[2].y = points[1].y; - if(x > 0) + triangle[2].y = points[1].y + cy; + if(x > 0) { m_CanvasDC.SetBrush(wxBrush(m_Series[angleindex].GetColour())); oldPen = m_CanvasDC.GetPen(); - m_CanvasDC.SetPen(wxPen(m_Series[angleindex].GetColour())); + m_CanvasDC.SetPen(wxPen(m_Series[angleindex].GetColour())); m_CanvasDC.DrawPolygon(3, triangle); m_CanvasDC.SetPen(oldPen); } - if(changeangle) - { - angleindex += 1; + if(changeangle) + { + angleindex += 1; } - } - x = 2 * M_PI; + } + x = 2 * M_PI; points[0].x = points[1].x; - points[0].y = points[1].y; - px = (int)(w/2 * (1+cos(x+m_RotationAngle))); - py = (int)(h/2-sin(m_Angle)*h/2*sin(x+m_RotationAngle)-1); + points[0].y = points[1].y; + px = (int)(circlew/2 * (1+cos(x+m_RotationAngle))); + py = (int)(circleh/2-sin(m_Angle)*circleh/2*sin(x+m_RotationAngle)-1); points[1].x = px; - points[1].y = py; - triangle[0].x = w / 2; - triangle[0].y = h / 2; + points[1].y = py; + triangle[0].x = circlew / 2; + triangle[0].y = circleh / 2 + cy; triangle[1].x = points[0].x; - triangle[1].y = points[0].y; + triangle[1].y = points[0].y + cy; triangle[2].x = points[1].x; - triangle[2].y = points[1].y; + triangle[2].y = points[1].y + cy; m_CanvasDC.SetBrush(wxBrush(m_Series[angleindex].GetColour())); oldPen = m_CanvasDC.GetPen(); m_CanvasDC.SetPen(wxPen(m_Series[angleindex].GetColour())); @@ -421,43 +430,43 @@ void wxPieCtrl::Draw(wxPaintDC & pdc) changeangle = false; if(angleindex < angles.Count()) { - if((double)x/(double)M_PI*(double)180 >= angles[angleindex+1]) - { - changeangle = true; - x = angles[angleindex+1]*M_PI/180; + if((double)x/(double)M_PI*(double)180 >= angles[angleindex+1]) + { + changeangle = true; + x = angles[angleindex+1]*M_PI/180; } - } + } points[0].x = points[1].x; points[0].y = points[1].y; points[3].x = points[2].x; - points[3].y = points[2].y; + points[3].y = points[2].y; px = (int)(w/2 * (1+cos(x+m_RotationAngle))); py = (int)(h/2-sin(m_Angle)*h/2*sin(x+m_RotationAngle)-1); points[1].x = px; points[1].y = py; points[2].x = px; points[2].y = (int)(py+m_Height*cos(m_Angle)); - if(w > 0) + if(w > 0) { curColour = wxColour((unsigned char)(m_Series[angleindex].GetColour().Red()*((double)1-(double)px/(double)w)), (unsigned char)(m_Series[angleindex].GetColour().Green()*((double)1-(double)px/(double)w)), (unsigned char)(m_Series[angleindex].GetColour().Blue()*((double)1-(double)px/(double)w))); if(!m_ShowEdges) { - m_CanvasDC.SetPen(wxPen(curColour)); + m_CanvasDC.SetPen(wxPen(curColour)); } - m_CanvasDC.SetBrush(wxBrush(curColour)); - } + m_CanvasDC.SetBrush(wxBrush(curColour)); + } if(sin(x+m_RotationAngle)<0 && sin(x-0.05+m_RotationAngle)<=0 && x > 0) { m_CanvasDC.DrawPolygon(4, points); } - if(changeangle) - { - angleindex += 1; + if(changeangle) + { + angleindex += 1; } }//for(x = 0; x <= 2 * M_PI; x += 0.05) - - x = 2 * M_PI; + + x = 2 * M_PI; points[0].x = points[1].x; points[0].y = points[1].y; points[3].x = points[2].x; @@ -468,42 +477,42 @@ void wxPieCtrl::Draw(wxPaintDC & pdc) points[1].y = py; points[2].x = px; points[2].y = (int)(py+m_Height*cos(m_Angle)); - if(w > 0) + if(w > 0) { curColour = wxColour((unsigned char)(m_Series[angleindex].GetColour().Red()*((double)1-(double)px/(double)w)), (unsigned char)(m_Series[angleindex].GetColour().Green()*((double)1-(double)px/(double)w)), (unsigned char)(m_Series[angleindex].GetColour().Blue()*((double)1-(double)px/(double)w))); - if(!m_ShowEdges) + if(!m_ShowEdges) { m_CanvasDC.SetPen(wxPen(curColour)); } - m_CanvasDC.SetBrush(wxBrush(curColour)); - } + m_CanvasDC.SetBrush(wxBrush(curColour)); + } if(sin(x+m_RotationAngle)<0 && sin(x-0.05+m_RotationAngle)<0) { - m_CanvasDC.DrawPolygon(4, points); + m_CanvasDC.DrawPolygon(4, points); } //----------------------------------------------------------------------- #if defined(__WXMSW__) || defined(__WXMAC__) if(m_Angle <= M_PI/2) - { + { DrawParts(m_CanvasDC, 0, 0, w, h); } else DrawParts(m_CanvasDC, 0, (int)(m_Height*cos(m_Angle)), w,h); #endif - }//if(m_bPaint3D) + }//if(m_bPaint3D) } - + m_CanvasDC.EndDrawing(); m_CanRepaint = false; } - pdc.Blit(0,0,w,h,&m_CanvasDC,0,0); - m_Legend->RecreateBackground(m_CanvasDC); + pdc.Blit(0,0,w,h,&m_CanvasDC,0,0); + m_Legend->RecreateBackground(m_CanvasDC); } void wxPieCtrl::OnPaint(wxPaintEvent & /*event*/) { - wxPaintDC pdc(this); - Draw(pdc); + wxPaintDC pdc(this); + Draw(pdc); } void wxPieCtrl::OnEraseBackground(wxEraseEvent & /*event*/) @@ -513,7 +522,7 @@ void wxPieCtrl::OnEraseBackground(wxEraseEvent & /*event*/) void wxPieCtrl::Refresh(bool eraseBackground, const wxRect* rect) { m_CanRepaint = true; - wxWindow::Refresh(eraseBackground, rect); + wxWindow::Refresh(eraseBackground, rect); } void wxPieCtrl::SetPaint3D(bool b3D) {