From dddd1fc501b896fcf5aba7109a5945bf17a34601 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Tue, 1 Jan 2008 18:07:13 +0000 Subject: [PATCH] - fixed bug in upgrade svn path=/trunk/boinc/; revision=14451 --- bolt_checkin_notes.txt | 16 + checkin_notes | 12616 +---------------------------- checkin_notes_2007 | 12616 +++++++++++++++++++++++++++++ db/bolt_schema.sql | 6 +- html/inc/bolt.inc | 397 +- html/inc/bolt_rnd.inc | 125 + html/inc/bolt_seq.inc | 101 + html/inc/bolt_xset.inc | 184 + html/user/bolt_course_sample.php | 33 +- html/user/bolt_sched.php | 53 +- tools/upgrade | 1 + 11 files changed, 13129 insertions(+), 13019 deletions(-) create mode 100644 checkin_notes_2007 create mode 100644 html/inc/bolt_rnd.inc create mode 100644 html/inc/bolt_seq.inc create mode 100644 html/inc/bolt_xset.inc diff --git a/bolt_checkin_notes.txt b/bolt_checkin_notes.txt index 9e1ba300a9..ec0924eb89 100644 --- a/bolt_checkin_notes.txt +++ b/bolt_checkin_notes.txt @@ -27,3 +27,19 @@ David Dec 27 2007 - preliminary implementation of exercise_set inc/bolt.inc + +David Jan 1 2008 + - split control structure into separate files + - allow passing query strings to items + + db/ + bolt_schema.sql + html/ + inc/ + bolt.inc + bolt_rnd.inc + bolt_seq.inc + bolt_xset.inc + user/ + bolt_course_sample.php + bolt_sched.php diff --git a/checkin_notes b/checkin_notes index 74c9f41df4..87a3a179a9 100644 --- a/checkin_notes +++ b/checkin_notes @@ -1,12616 +1,6 @@ -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 +David Jan 1 2008 + - fixed bug in upgrade - 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 - -David 2 Jan 2007 - - make disk pie charts work on Linux - (from Frank Weiler) - - clientgui/ - wxPieCtrl.cpp - - -Reinhard 2 Jan 2007 - - install lib/common_defs.h - - lib/ - Makefile.am - -Charlie 2 Jan 2007 - - MGR: Fix 2 compiler warnings caused by actual coding errors. - - Mac: Add new files BOINCGridCtrl.cpp,.h, ViewTransfersGrid.cpp,.h, - ViewWorkGrid.cpp,.h to XCode project. - - clientgui/ - cs_account.C - ViewTransfersGrid.cpp - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Rytis 3 Jan 2007 - - User web: - - Add optional 3rd element to project news file (title) - - Certificate now shows DEFINEd project name - - Front page now styled with CSS - - html/ - user/ - cert.php - sample_index.php - sample_rss_main.php - white.css - inc/ - news.inc - util.inc - project.sample/ - project_news.inc - -Matt 3 Jan 2007 - - added separate UOTD_ADMIN_EMAIL address in project.inc - so user of the day running low messages don't go to moderators - - html - inc/ - uotd.inc - project.sample/ - project.inc - -Reinhard 4 Jan 2007 - - applied Bernd's patch: - * restore extern "C" protection to graphics_api.h, for ANSI-C projects - * include boinc_api.h in graphics_impl.C to declare worker_thread_handle() - * remove garbage from graphics_lib.C to allow compilation under _WIN32 and __APPLE__ - - api/ - graphics_api.h - graphics_impl.C - graphics_lib.C - -David 4 Jan 2007 - - change "Preempted" to "Waiting" in GUI ("preempted" is geek-speak) - - clientgui/ - ViewWork.cpp - ViewWorkGrid.cpp - html/inc/ - user.inc - -David 4 Jan 2007 - - removed PICFLAGS from AM_CPP_FLAGS. - Compiling everything position-independent slows it down. - - Makefile.incl - -Rom 4 Jan 2007 - - DIAG: Don't check for the BOINC symstore if it is a science application that - has crashed. - - lib/ - stackwalker_win.cpp - -Kevin 4 Jan 2007 - - Changed the way the buttons on the simple gui preferences and messages screens are sized - - clientgui/sg_DlgMessages.cpp - clientgui/sg_DlgPreferences.cpp - -David 4 Jan 2007 - - core client: if an app fails to start, - it could be that the executable has been munged. - So verify the files; this will find the bad file - and download it again. - - Manager: in Attach to Account Manager wizard, add some text saying - if they want to just attach to a single project, - use the Attach to Project wizard instead. - Some users tried to attach SETI@home using the acct mgr wizard - and got all bent outta shape when it didn't work. - - client/ - app_start.C - clientgui/ - WelcomePage.cpp - -Rom 5 Jan 2007 - - Win SETUP: Add custom actions for saving and restoring user preferences - to the registry - - Win SETUP: MoveFileEx isn't spported on the Win9x platform, so dynamically - load and execute it on Windows 2000 or better. - - Win SETUP: Remove some dead code from the custom action list. - - Win SETUP: On Windows XP systems or better, we no longer require the - service account to have a password, Microsoft has taken care of the - problem by not allowing incomming network connections for accounts with - no passwords. - - win_build/installerv2/redist/Windows/src/boinccas/ - CAMigrateCPDNBBC.cpp - CARestoreSetupState.cpp, .h - CASaveSetupState.cpp, .h - CASoftwareNeedsUpgrade.cpp, .h (Removed) - CAVerifyServicePassword.cpp - boinccas.cpp, .h - boinccas.rc - boinccas95.def - win_build/installerv2/redist/Windows/x86/ - boinccas.dll - boinccas95.dll - -Rom 5 Jan 2007 - - Win SETUP: Fix an issue when restoring saved properties where junk was - being introduced into properties where no value was defined. - - Win SETUP: Don't attemp to restore any properties until we have actually - stored some from a previous iteration of setup, otherwise our defaults - don't kick in. - - Win SETUP: Saving and Restoring properties is now only enabled for those - using the UI deployment method, we don't want to throw anything - in the registry when the MSI package is being deployed through AD or - some other deployment mechinism. - - win_build/installerv2/redist/Windows/src/boinccas/ - CARestoreSetupState.cpp - CASaveSetupState.cpp - boinccas.cpp - win_build/installerv2/redist/Windows/x86/ - boinccas.dll - boinccas95.dll - -Rom 5 Jan 2007 - - Update localization template. - - locale/en_US/ - BOINC Manager.mo, .po - -Rom 5 Jan 2007 - - MGR: Replace the context sensitive help button on the main simple gui window - with a standard bitmap button and use the bitmaps WCG gave us. - - clientgui/ - Events.h - sg_DlgMessages.cpp - sg_DlgPreferences.cpp - sg_ProjectsComponent.cpp, .h - SkinManager.cpp, .h - -David 5 Jan 2007 - - manager: improved grid views from Frank Weiler; - improved message when detach from project mgr - - clientgui/ - BOINCGridCtrl.cpp,h - WelcomPage.cpp - -Rom 5 Jan 2007 - - MGR: Fix the help handling code for the Mac UI conventions. - - clientgui/ - sg_DlgMessages.cpp, .h - sg_DlgPreferences.cpp, .h - -Charlie 5 Jan 2007 - - MGR: Fix build breaks. - - clientgui/ - sg_DlgMessages.cpp - sg_DlgPreferences.cpp - -Charlie 5 Jan 2007 - - MGR: Fix cosmetic bugs on Mac. - NOTE: I believe my changes will work on Windows, but I couldn't test - this because of crashes on Windows. So my changes are temporarily - guarded by #ifdef __WXMAC__ #else #endif. - - clientgui/ - ViewTransfersGrid.cpp - ViewWorkGrid.cpp - -Walt 6 Jan 2007 - - MGR: Fix segfault in simple gui when message button is clicked. - SetBackgroundStyle() needs to be called after the window - is created. - - clientgui/ - sg_DlgMessages.cpp - -David 7 Jan 2007 - - manager: fixes for new task/transfer tabs - (from Frank Weiler) - - clientgui/ - BOINCGridCtrl.cpp,h - MainDocument.cpp,h - ViewTransfersGrid.cpp,h - ViewWorkGrid.cpp,h - res/ - sortascending.xpm - sortdescending.xpm - -David 7 Jan 2007 - - core client: if swap space is zero, it must not have been - measured on this host; don't use it in process scheduling - - user web: don't use font colors this way - - client/ - cpu_sched.C - html/user/ - forum_forum.php - -David 7 Jan 2007 - - user web: don't show news dates as

. Use a style instead. - - html/ - inc/ - news.inc - user/ - white.css - -Rom 7 Jan 2007 - - DIAG: Clean up some warnings and add a new exception type to the list - of known exceptions. - - lib/ - diagnostics.C - diagnostics_win.C - -Charlie 8 Jan 2007 - - MGR: Fix 2 compiler warnings, 1 caused by an actual coding error. - NOTE: to printf a "%", you need to use "%%" in the format; for - example: ("%.2f%%"). - - clientgui/ - BOINCGridCtrl.cpp - ViewTransfersGrid.cpp - -David 8 Jan 2007 - - manager: performance enhancement to grid views - (from Frank Weiler) - - clientgui/ - AdvancedFrame.cpp - BOINCGridCtrl.cpp,h - Events.h - MainDocument.cpp,h - ViewMessagesGrid.cpp, h (new) - ViewProjectsGrid.cpp,h - ViewTransfersGrid.pp - ViewWOrkGrid.cpp - -Rom 8 Jan 2007 - - Win SETUP: Make Windows XP or better require passwords for the - service accounts again. - - Win SETUP: Fix a spelling mistake that JM7 found. - - boinc/win_build/installerv2/redist/Windows/src/boinccas - CAGrantServiceExecutionRight.cpp - CAVerifyServicePassword.cpp - -David 8 Jan 2007 - - user web: say RAM limits enforced in 5.8+; - use "class=note" instead of "font size=-2" - - html/inc/ - prefs.inc - -David 8 Jan 2007 - - core client: fixed crashing bug that happens when attaching - to a project with wrong URL (e.g. setiathome.ssl.berkeley.edu). - The fix allows the project to attach but prints a warning. - It would be better to not allow the attach; - I'll get back to this later - - client/ - client_types.h - cs_scheduler.C - scheduler_op.C - -Charlie 8 Jan 2007 - - Mac: update XCode project for new ViewMessagesGrid, ViewProjectsGrid - source files. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Rom 9 Jan 2007 - - MGR: Fix crashing issue do to invalid type casts, wxWidgets implements - its own form of type casts for C++ objects which probably uses - the basic RTTI of the compiler at some level, but it also has a few - checks and balences as well. So if you get a hankering of using - dynamic_cast or static_cast use wxDynamicCast and wxStaticCast - instead. - - MGR: Remove the ifdefs for SIMPLE GUI, it is now enabled by default - on all supported platforms. - - clientgui/ - AdvancedFrame.cpp - BOINCGridCtrl.cpp - BOINCGUIApp.cpp - -Rom 9 Jan 2007 - - Win BUILD: Remember, when adding .C files to VS project files, you need - to change the compiler type to C++ for ALL build configurations. - - win_build/ - boinc_dll.vcproj - boinc_ss.vcproj - boincmgr_curl.vcproj - -Walt 9 Jan 2007 - - core client: Change function that calculates RAM and SWAP used - by a science project to return the max used by a process - instead of totaling the process/child processes. Fixes the - problem where the same RAM and SWAP used gets counted multiple - times for some science apps. - - lib/ - procinfo_unix.cpp - -David 9 Jan 2007 - - Manager: get rid of "CPU throttled" messages - - Manager: enhancements to Statistics tab - (can click on project name in multi-project view) - from Mifistor_x - - clientgui/ - ViewStatistics.cpp,h - ViewWork.cpp - ViewWorkGrid.cpp - stdwx.h - -David 9 Jan 2007 - - user web: "old news" was broken - Note to Rytis: when possible, use "foo $var blah", - not 'foo '.$var.' blah' - - - html/inc/ - news.inc - -David 9 Jan 2007 - - core: if we're preempting an app and leave it in memory - because no checkpoint yet, say so in message - - client/ - app_control.C - -Charlie 9 Jan 2007 - - MGR: Updates to disk usage pie charts from Frank Weiler. - - clientgui/ - ViewResources.cp - common/ - wxPieCtrl.cpp,h - -David 10 Jan 2007 - - core client: fix problems when user aborts result - (mark it as CPU_SCHED_PREEMPTED so scheduler doesn't - try to preempt it; that confuses things) - - changed format of Deferring Comm messages - - client/ - app_control.C - cs_scheduler.C - -David 10 Jan 2007 - - core client: backwards > in PROJECT::some_download_stalled(). - This caused the client to keep fetching work - from a project with stalled downloads. - - client/ - client_types.C - -David 10 Jan 2007 - - manager: fix Unicode build problems - (from Frank Weiler) - - clientgui/ - ViewStatistics.cpp - -David 10 Jan 2007 - - manager: various fixes - (from Frank Weiler) - - clientgui/ - BOINCGridCtrl.cpp,h - ViewMessagesGrid.cpp - ViewProjectsGrid.cpp - ViewResourcesGrid.cpp - ViewStatistics.cpp - ViewTransfersGrid.cpp - ViewWorkGrid.cpp - -David 10 Jan 2007 - - core client: sort daily stats records in case they get - out of order somehow - - client/ - client_types.h - cs_account.C - -David 10 Jan 2007 - - manager: use user-friendly app names - - clientgui/ - ViewWork.cpp - ViewWorkGrid.cpp - -Rom 10 Jan 2007 - - SCR: Disable the diagnostic support for release builds of the - Windows screensaver. A smarter thing to do in the future is - to write the log files to the 'temp' directory. - - client/win/ - win_screensaver.cpp - -David 11 Jan 2007 - - Add script to clean up web cache. - Sometimes the cache gets so full that it takes 30 secs - just to compute free and used disk space, - so that normal cleanup times out before it does anything. - - html/ops/ - clean_cache.php (new) - -David 11 Jan 2007 - - user web: call set_time_limit(0) in cache_check_diskspace(). - This will hopefully avoid the situation described above. - - html/ - inc/ - cache.inc - project.sample/ - cache_parameters.inc - -David 11 Jan 2007 - - manager: use user-friendly app names (fix to work w/ 5.4.11) - - clientgui/ - ViewWork.cpp - ViewWorkGrid.cpp - -Rom 11 Jan 2007 - - MGR: Fix build break for Unicode support. - - NOTE: The only place in the manager where it is safe to use 'char' - variable types for use within a string is in the gui_rpc_* files. - - Every where else needs to use wxString, otherwise the manager - won't build in a unicode based environment. - - clientgui/ - ViewWork.cpp - ViewWorkGrid.cpp - -Rom 11 Jan 2007 - - MGR: Possble fix for the Simple GUI messages dialog? - - clientgui/ - sg_DlgMessages.cpp - -David 12 Jan 2007 - - Server: change the usage of host.credit_per_cpu_sec - so that it is the recent average of granted credit per CPU sec, - as computed by Bruce's update_credit_per_cpu_sec() function - (finally, a use for hyperbolic trig functions in BOINC). - Prior to this it was the most recent value of - claimed credit per CPU sec, which is not as useful. - Add a new non-DB member to HOST, claimed_credit_per_cpu_sec, - for this purpose. - - db_dump.C: export host.credit_per_cpu_sec - - move update_credit_per_cpu_sec() from lib/util.C to sched/validate_util.C - - Once a few projects pick up this change, it will be useful - for comparing credit-granting policies between projects - (for hosts that participate in multiple projects, - the credit per CPU second should be about the same). - - db/ - boinc_db.C,h - lib/ - util.C,h - sched/ - db_dump.C - handle_request.C - validate_util.C,h - validator.C - -David 12 Jan 2007 - - manager: don't prepend "(Activities suspended by user)" - to result status. - There is no longer a notion of "activities" - - clientgui/ - ViewWork.cpp - ViewWorkGrid.cpp - -Rom 13 Jan 2007 - - MGR: Streamline the message dialog sync operation a little bit. - - MGR: Fix crashing issue do to invalid type casts, wxWidgets implements - its own form of type casts for C++ objects which probably uses - the basic RTTI of the compiler at some level, but it also has a few - checks and balences as well. So if you get a hankering of using - dynamic_cast or static_cast use wxDynamicCast and wxStaticCast - instead. - - clientgui/ - sg_DlgMessages.cpp - BOINCGridCtrl.cpp - -Reinhard 14 Jan 2007 - - install validate_util.h for external building of validators - - make dir_hier_move and dir_hier_path output help/usage strings - - add help/usage string to validator.C - - sched/ - Makefile.am - - tools/ - dir_hier_move.C - dir_hier_path.C - - sched/ - validator.C - -David 15 Jan 2007 - - core client: lots of debugging messages for cpu_sched (may remove later) - - Manager: check for ERR_DB_NOT_UNIQUE, not ERR_NONUNIQUE_EMAIL - - add boinc_UnzipToMemory() (from Reinhard Prix) - - client/ - cpu_sched.C - clientgui/ - ProjectProcessingPage.cpp - html/ops/ - sample_server_status.php - lib/ - common_defs.h - error_numbers.h - gui_rpc_client_print.C - util.C - zip/ - Makefile.am - boinc_zip.cpp,h - unzip/ - api.C - -Reinhard 15 Jan 2007 - - add explicit build-rule for client/switcher [required to fix 'make tags'] - - fix boinc_UnzipToMemory() - - correctly build unzip-DLL [for use in boinc_UnzipToMemory()] - - client/ - Makefile.am - - zip/ - boinc_zip.cpp - unzip/ - unzip.c - api.c - - -David 15 Jan 2007 - - fix Manager text (see above) - - clientgui/ - ProjectProcessingPage.cpp - lib/ - error_numbers.h - -Rom 15 Jan 2007 - - Update libCurl to 7.16.0 and use sync name resolves instead of async name - resolves. - - curl/ - - -David 15 Jan 2007 - - core client: fix a bug that could cause computation to stop. - The problem: if we suspended a task by sending it a message, - we were changing its scheduler state to CPU_SCHED_PREEMPTED - but not changing its task state (PROCESS_EXECUTING). - If, for some reason, the process didn't exit right away, - the scheduler would treat it as still running, - since it builds its "currently running" list based on task_state. - Solution: the scheduler shouldn't be looking at task_state. - Use scheduler_state instead. - It's still a mystery why the app wasn't quitting. - - - db_dump: don't write team.nusers; it's meaningless - - client/ - app.C,h - app_control.C - cpu_sched.C - html/user/ - create_account.php - sched/ - db_dump.C - -Walt 15 Jan 2007 - - manager: update makefile for ViewMessagesGrid and - ViewProjectsGrid source files. - - clientgui/ - Makefile.am - -Rom 16 Jan 2007 - - MGR: Add the help button to the list of images to update when the - user selects a different skin. - - clientgui/ - sg_ProjectsComponent.cpp - -David 16 Jan 2007 - - core client: don't try to schedule a task whose state is - PROCESS_ABORT_PENDING. - - client/ - app.h - cpu_sched.C - -Charlie 16 Jan 2007 - Mac: Fix build script for Curl 7.15.5 (should have been done - 3 months ago.) - - mac_build/ - setupForBOINC.sh - -David 17 Jan 2007 - - manager: show correct app name when connected to 5.4.11 client - - clientgui/ - ViewWork.cpp - ViewWorkGrid.cpp - sg_ViewTabPage.cpp - -David 17 Jan 2007 - - core client: reset 5-minute timer for network activity - is user explicitly changes network mode - - Manager: initial checkin of Advanced Prefs dialog - (from Frank Weiler) - - client/ - gui_rpc_server_ops.C - clientgui/ - Makefile.am - AdvancedFrame.cpp,h - DlgAdvPreferences.cpp,h - DlgAdvPreferencesBase.cpp,h - Events.h - sg_ViewTabPage.cpp - win_build/ - boincmgr_curl.vcproj - -David 17 Jan 2007 - - fix news formatting - - html/inc/ - news.inc - -David 17 Jan 2007 - - don't start benchmarks if they're already running - - Manager: "Defect from X" -> "Stop using X" - - client/ - cs_benchmark.C - clientgui/ - AdvancedFrame.cpp - WelcomePage.cpp - -David 17 Jan 2007 - - core client: if starting a file xfer, and file - is already as large or larger than it should be, - start transfer from the beginning. - This fixes some pathological cases found by Rattledagger. - - client/ - file_xfer.C - -Charlie 17 Jan 2007 - Mac: add DlgAdvPreferences.cpp,h, DlgAdvPreferencesBase.cpp,h to XCode - project. - Mac Mgr: Fix crash bug when quitting if advanced prefs dialog open. - Change dialog ID to 10000 (ID_ANYDIALOG). - - NOTE: All BOINC dialogs MUST have ID 10000 (ID_ANYDIALOG) or they will - cause a crash bug! - - clientgui/ - DlgAdvPreferencesBase.h - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Charlie 18 Jan 2007 - MGR: Begin changes for wxWidgets 2.8.0. For now, compatibility with - wxWidgets 2.6.3 is provided by using "#if wxCHECK_VERSION(2,8,0)" - where needed. These conditional compilations should be removed - when the transition to 2.8.0 is complete. - MAC: remove XCode project's target to build non-SimpleGUI manager. - - clientgui/ - BOINCGUIApp.cpp - BOINCTaskBar.cpp - MacSysMenu.cpp,h - sg_BoincSimpleGUI.cpp - sg_ImageButton.cpp - sg_ViewTabPage.cpp - wizardex.cpp - common/ - wxPieCtrl.h - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 18 Jan 2007 - - core client: don't garbage-collect a RESULT if an ACTIVE_TASK for it - still exists. In principle this shouldn't happen, but maybe it is. - - limit duration correction factor to the range 0.01 .. 100 - - client/ - client_state.C - client_types.C - cs_scheduler.C - -Eric K 18 Jan 2007 - - mem_usage.C Bug fix: procfs access cannot use 64 bit files under solaris - - Added solaris application working set calculation - - Fixed problem on solaris when _FILE_OFFSET_BITS was set before testing - for procfs.h - - Removed assumption of 4k pages in procinfo_unix.C - - lib/ - procinfo_unix.C - mem_usage.C - configure.ac - -David 18 Jan 2007 - - Manager: tweaks to advanced prefs dialog and Disks tab - (from Frank Weiler) - - clientgui/ - DlgAdvPreferences.cpp,.fbp,.h - DlgAdvPreferencesBase.cpp,.h - ViewResources.cpp - common/ - wxPieCtrl.cpp,h - res/ - warning.xpm (new) - -Charlie 19 Jan 2007 - MGR: Complete my changes for wxWidgets 2.8.0. - NOTE: I am aware of 3 bugs with wxWidgets 2.8.0 on the Mac: - - New pie chart tooltips work with wxMac-2.6.3 but not wxMac-2.8.0. - - Main SimpleGUI window tasks area has problems with alignment, so - task tabs are obscured. - - Column width settings are not saved / restored. - - clientgui/ - BOINCBaseFrame.cpp - BOINCGUIApp.cpp - BOINCTaskBar.cpp - sg_DlgPreferences.cpp - stdwx.h - mac/ - MacSysMenu.cpp - common/ - wxPieCtrl.cpp,h - mac_build/ - buildWxMac.sh - setupForBoinc.sh - HowToBuildBOINC_XCode.rtf - wxMac-BOINC.xcodeproj/ - project.pbxproj - boinc.xcodeproj/ - project.pbxproj - -Walt 19 Jan 2007 - MGR: Fix compiler error: GetTaskBarIcon isn't used in Linux - - clientgui/ - BOINCBaseFrame.cpp - -Rom 19 Jan 2007 - - MGR: Make sure the result records have been updated before - displaying the taskbar balloon. - - clientgui/ - BOINCTaskBar.cpp - -Rytis 19 Jan 2007 - - user web: correct RSS feed link type to make IE7 and Safari recognise the - feed. - - html/ - inc/ - util.inc - user/ - sample_index.php - -David 19 Jan 2007 - - lib: change retry logic for file system ops - so that it does does at least 5 retries - AND takes at least 5 seconds. - - lib/ - filesys.C - -David 19 Jan 2007 - - core client: if resuming a persistent file xfer, - don't print error messages if file has wrong - size/checksum/signature. - That's a normal condition is a file xfer was interrupted. - - client/ - client_types.C,h - cs_apps.C - cs_files.C - pers_file_xfer.C - -David 19 Jan 2007 - - core client: print more info if MFILE vsnprintf() is too big for buffer - - lib/ - mfile.C - -Rom 19 Jan 2007 - - MGR: If the manager detects that the CC has crashed, and it was the one - who started the CC to begin with, restart the CC after 30 seconds. - - MGR: Cleanup some of the taskbar interactions where both the tooltip and - balloon were being displayed on Windows. Only one should be shown. - - MGR: Allow arguments to be passed to the CC from the manager's parameter - list. /b "..." or /boincargs "..." should work. - - clientgui/ - AdvancedFrame.cpp - BOINCBaseFrame.cpp - BOINCGUIApp.cpp, .h - BOINCTaskBar.cpp - MainDocument.cpp - ViewResources.cpp - -Rom 21 Jan 2007 - - CC: Add to HOST_INFO which contains the family, model, and - stepping of the processor for Windows. - - Example: x86 Family 15 Model 2 Stepping 7 - - DIAG: Fix an uninitialized string issue that cropped up after removing the - forground window information from the diagnostic output. - - client/win/ - hostinfo_win.cpp - lib/ - diagnostics_win.C - hostinfo.C, .h - -Walt 19 Jan 2007 - - MGR: take Close() function call out of #if/#endif block so the manager - exits when the 'exit' menu item is selected. - - clientgui/ - BOINCBaseFrame.cpp - -Charlie 22 Jan 2007 - MGR: wxPieCtrl changes from Frank Wieler. - MAC: Set up XCode project so Development builds can optionally use wxMac-2.8.8 - Debug build. Add "#define USE_DEBUG_WXMAC 0" to precompiled header file. - See comments at top of MacGUI.pch for instructions to enable or disable this. - MAC: Work around bugs in wxMac-2.8.0 implementation of wxListCtrl::SetColumn() - which failed to restore proper column widths from saved info. The default - wxListCtrl in wxMac-2.8.0 uses DataBrowser, but allows us to select the - traditional generic implementation with a wxSystemOptions::SetOption() call. - - clientgui/ - BOINCGUIApp.cpp - common/ - wxPieCtrl.cpp - mac/ - MacGUI.pch - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Rom 22 Jan 2007 - - CC: Merge CPU capability, generation, and model information into the p_model - field of HOST_INFO per David's instructions. - - NOTE: The finished product should look like this: - "Intel(R) Xeon(TM) CPU 3.06GHz [x86 Family 15 Model 2 Stepping 7] [fpu tsc " - "sse sse2 mmx]" - - client/win/ - hostinfo_win.cpp - lib/ - hostinfo.C,.h - -Matt 22 Jan 2007 - - initial db changes for special "developer blog" pages - (adding "is_dev_blog" to forum table) - - db/ - schema.sql - html/ops - db_update.php - -Matt 22 Jan 2007 - - remaining development of dev blog stuff - - html/ - inc/ - forum_forum.inc - user/ - forum_post.inc - -David 22 Jan 2007 - - API: use boinc_fopen() instead of fopen() in - string variant of boinc_resolve_filename() - - lib/ - app_ipc.C - -Charlie 23 Jan 2007 - - CC: Update the HOST_INFO for Intel and PowerPC Macs per David's - and Rom's instructions. - - client/ - hostinfo_unix.C - -David 23 Jan 2007 - - core client: fix get_host_info() for Unix - - core client: update APP::user_friendly_name from scheduler RPC reply - - core client: print error msg if get negative CPU time - or checkpoint CPU time from app - - core client: ACTIVE_TASK::runnable(): not runnable if - exited, aborted, signaled etc. - - core client: fix "app exits for unknown reason" case (Unix) - - client/ - app.h - app_control.C - cs_scheduler.C - hostinfo_unix.C - -David 23 Jan 2007 - - manager: fix task status text - - clientgui/ - ViewWork.cpp - ViewWorkGrid.cpp - -Rom 23 Jan 2007 - - MGR: When connecting to a remote machine, don't reset the computer name - and password back to the local machine during the reconnect state. - - clientgui/ - MainDocument.cpp, .h - -Rom 23 Jan 2007 (HEAD) - - Tag for 5.9.1 release, all platforms - boinc_core_release_5_9_1 - -David 23 Jan 2007 - - server: extend the "simple validator framework" to require - an additional function, compute_granted_credit(). - Previously it always used median_mean_credit(). - Projects: if you don't have any special needs, - define compute_granted_credit() to just return median_mean_credit(). - - sched/ - sample_bitwise_validator.C - sample_trivial_validator.C - validate_util2.C,h - validator_placeholder.C - -David 23 Jan 2007 - - core client: allow - - in project master files, as an alternative way - of denoting scheduler URLs. - If at some point all clients upgrade to this version or later, - we can get rid of the old syntax X - - client/ - scheduler_op.C - lib/ - util.C,h - -David 23 Jan 2007 - - core client: added configuration option. - Multiplies work requests. - Use values > 1 if your computer often runs out of work - while disconnected. - - client/ - cs_scheduler.C - log_flags.C,h - -David 24 Jan 2007 - - core client: in error message for unexpected active task, - include result name - - client/ - client_state.C - -David 24 Jan 2007 - - manager: code cleanup (from Frank Weiler) - - clientgui/ - ViewResources.cpp - common/ - xwPieCtrl.cpp,h - -David 24 Jan 2007 - - core client: when preempt a task by quit, - don't set task state to UNINITIALIZED; - do that when the process exits. - Other code cleanup. - - create_project: put new-style scheduler tags in schedulers.txt - - api/ - windows_opengl.C - client/ - app.C - app_control.C - py/Boinc/ - setup_project.py - -David 24 Jan 2007 - - core client: tweak messages - - client/ - app_start.C - cs_apps.C - -Rom 24 Jan 2007 - - MGR: _("") causes poEdit to throw warnings, change them to wxT(""). - - clientgui/ - DlgAdvPreferencesBase.cpp - -David 24 Jan 2007 - - core client: the task_debug message flag now prints - all transitions of ACTIVE_TASK::task_state and RESULT::state - - client/ - app.C,h - app_control.C - app_start.C - client_state.C - client_types.C,h - cs_apps.C - cs_scheduler.C - -David 24 Jan 2007 - - core client: fix compile warnings, get rid of cs_data.C, message tweak - - client/ - Makefile.am - app_control.C - client_state.h - cs_data.C - scheduler_op.C - -Rom 25 Jan 2007 - - MGR: Do not refresh the Simple GUI when the manager is hidden. - - clientgui/ - sg_BoincSimpleGUI.cpp - -David 25 Jan 2007 - - Manager: use a scientifically chosen set of colors - for disk pie charts - - clientgui/ - ViewResources.cpp - common/ - wxPieCtrl.cpp - win_build/ - boinc_dll.vcproj - -David 25 Jan 2007 - - core client: there was logic that wouldn't start a result - for a project if it had > 2 active uploads - (intended to prevent an unbounded buildup of files - for a project whose upload server is broken). - This was never triggered since the default is 2 active - transfers per project. - Maybe I meant persistent file transfers. - In any case, this is a bad policy because there may be - a project with lots of output files per result, possibly large, - and there's no reason to keep it from computing. - So instead, I changed it to not start a result from a project - if its number of results in FILES_UPLOADING state exceeds 2*ncpus. - - client/ - client_state.h - client_types.h - cpu_sched.C - cs_scheduler.C - clientgui/ - AdvancedFrame.cpp - -David 25 Jan 2007 - - core client and manager: reorganize message priorities. - There are now three priorities: - MSG_USER_ERROR - Conditions that require user intervention. - These messages are written for non-tech users, - and tell the user exactly what to do. - GUI: red letters - MSG_INTERNAL_ERROR - Conditions that may indicate a problem or bug in BOINC itself, - or with a BOINC project or account manager. - The message is prepended with "[error]". - GUI: black letters - MSG_INFO - All other messages. - GUI: black letters - - Note: all messages that must be enabled by cc_config.xml - use MSG_INFO priority - - client/ - *.C - clientgui/ - ViewMessages.cpp - ViewMessagesGrid.cpp - sg_ProjectComponent.cpp - lib/ - common_defs.h - py/Boinc/ - setup_project.py - -Rom 25 Jan 2007 - - MGR: Flip the sorting icons for the Grid Control. - - WIN: Remove the Release (SIMPLEGUI) and Debug (SIMPLEGUI) configurations - since we'll only be releasing future version with the Simple GUI included. - - clientgui/ - BOINCGridCtrl.cpp - win_build/ - *.sln - *.vcproj - -Rom 26 Jan 2007 - - WIN: Fix build breaks since not all configurations in all components were - kept in sync. - - MGR: Remove legacy tabs. - - clientgui/ - AdvancedFrame.cpp - ViewProjectsGrid.cpp - ViewTransfersGrid.cpp - ViewWorkGrid.cpp - win_build/ - *.sln - *.vcproj - -Rom 26 Jan 2007 - - MGR: Fix the OnFrameRender function in the Simple GUI, some of the logic in it - blows out of the function with a return which was leaving the static variable - that was guarding against repeated executions to true. This in turn kept - the GUI from updating. - - clientgui/ - sg_BoincSimpleGUI.cpp - -Charlie 26 Jan 2007 - - MAC: Remove cs_data.C from XCode project. Change MSG_ERROR to - MSG_INTERNAL_ERROR in Mac-specific source file. - - lib/ - procinfo_mac.C - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Rom 26 Jan 2007 - - Remove wxAnimate since it isn't used anywhere. - - MGR: Add a new menu item that'll shutdown the core client that the manager is - connected too. It'll prompt for a new computer afterwords. - - clientgui/common/ - wxAnimate.cpp, .h (Removed) - clientgui/ - AdvancedFrame.cpp, .h - Events.h - win_build/ - boincmgr_curl.vcproj - boincmgr_curl_2003.vcproj - -David 26 Jan 2007 - - core client: another attempt at fixing the problem - where a project is issuing work but not uploading files. - New solution: don't fetch work from a project with - more than 2*ncpus results in FILES_UPLOADING state. - - Note: this doesn't address John McLeod's point that - we shouldn't increase LTD for projects in this state. - - file upload handler: print more accurate message when - fread() returns less than requested - - client/ - client_state.h - cpu_sched.C - cs_scheduler.C - sched/ - file_upload_handler.C - -David 26 Jan 2007 - - oops! left out one line in the above - - client/ - cs_scheduler.C - -David 26 Jan 2007 - - core client: if account manager reply doesn't specify resource share - for a project, revert to the share from project server - - client/ - acct_mgr.C - -Walt 28 Jan 2007 - - MGR: fixed bug in dialog options where it doesn't set the slider size - automatically. This is a bug in wxGTK so for Linux set the size - explicitly. - - clientgui/ - DlgOptions.cpp - -Rom 28 Jan 2007 - - MGR: Performance Improvements for Projects tab. - (from Frank Weiler) - - clientgui/ - BOINCGridCtrl.cpp, .h - ViewProjectsGrid.cpp, .h - -David 29 Jan 2007 - - core client: fix account-manager resource share logic - - manager: Statistics tab fixes (from Mifistor) - - client/ - client_state.C - client_types.C - clientgui/ - ViewStatistics.cpp - -David 29 Jan 2007 - - user web: prevent cross-site request forgeries - - core client: make sure that RAM limits are not zero - - client/ - cs_prefs.C - html/ - inc/ - host.inc - prefs.inc - user.inc - util.inc - user/ - add_venue.php - host_delete.php - logout.php - prefs_edit.php - prefs_remove.php - show_host_detail.php - lib/ - prefs.C - -Rom 29 Jan 2007 - - MGR: Update default BOINC skin. - - clientgui/res/skins/default/graphic - *.xpm - clientgui/res/templates/skins - *.png - -David 29 Jan 2007 - - core client: on Unix, raise app stack size limit to max possible value - before exec'ing the program. - - client/ - app_start.C - html/inc/ - prefs.inc - -David 29 Jan 2007 - - Manager: fix crash if select a project that doesn't have - a name yet. There were two separate problems: - 1) CMainDocument::project() was searching by name - but not by master URL - (BTW: all that at(), out-of-range exception stuff - isn't needed, or the cut-and-pasted comment). - 2) CViewProjects::UpdateSelection() (and its grid counterpart) - were checking for project == NULL - some of the time, but not all the time - - clientgui/ - MainDocument.cpp - ViewProjects.cpp - ViewProjectsGrid.cpp - -Rom 30 Jan 2007 - - MGR: Give the user a change to abort a core client shutdown when they - select 'shutdown current client'. - - MGR: Special case the authorization error dialog when it is attempting - to use the default password, so that it also informs the user they - need to run the manager from the same directory as the CC. - - clientgui/ - AdvancedFrame.cpp, .h - BOINCBaseFrame.cpp, .h - MainDocument.cpp, .h - -David 30 Jan 2007 - - Support projects that want to specify credit per WU can do so by: - 1) add a x element to your WU template, - or pass an 'additional_xml' argument containing - x to create_work() - (either the function or the program) - 2) change your validator so that compute_granted_credit() - calls get_credit_from_wu(). - This parses the element in the workunit's XML, - and grants that much credit. - - Change the simple validator framework so that an - additional WORKUNIT& is passed to compute_granted_credit(). - - sched/ - handle_request.C - sample_bitwise_validator.C - sample_trivial_validator.C - sched_config.C,h - transitioner.C - validate_util.C,h - validate_util2.C,h - validator_placeholder.C - tools/ - backend_lib.C,h - create_work.C - -David 30 Jan 2007 - - Unix: when increasing stack size for apps, don't exceed 500 MB - - client/ - app_start.C - -David 30 Jan 2007 - - manager: fix progress bars for project resource shares - (from Frank Weiler) - - clientgui/ - ViewProjectsGrid.cpp,h - -David 30 Jan 2007 - - core client: computation of duration_correction_factor was messed up. - E.g. when the correct value is .5, it converges to sqrt(.5) - - client/ - client_types.C - -David 31 Jan 2007 - - core client: tweak DCF update computation - - client/ - client_types.C - -David 31 Jan 2007 - - core client (Unix): tweak stack-size logic, - and don't bump stack size limit beyond 64K - - client/ - app_start.C - -David 2 Feb 2007 - - core client: fix bug where client thinks an app is running but it isn't. - Basic problem: there are two layers - 1) process control: start/stop/suspend/resume, handle exits. - files: app_*.C - It owns ACTIVE_TASK::task_state - 2) CPU scheduling: decide what should run - files: cpu_sched.C - It owns ACTIVE_TASK::scheduler_state. - These layers weren't cleanly separated; - e.g. the CPU sched layer relied on the process control layer - to set scheduler_state in some cases, - and this wasn't always being done. - I fixed this; the layers are now separated. - Also: added new task_state value, PROCESS_QUIT_PENDING - - core client: small tweak to DCF calculation - - core client: comment out stack-size stuff - - client/ - app.C,h - app_control.C - app_start.C - client_types.C - cpu_sched.C - languages/translations/ - en.po - -David 2 Feb 2007 - - DB schema: added some "default 0"s. - Not worth putting in db_update.php - - DB schema: removed core_version table - - core client: print error messages if gethostbyname() fails - for entries in remote_hosts.cfg - - python code: updated DB table defs (not sure this matters) - - python code: removed references to core_version table (doesn't exist) - - Manager - changed "defect" to "stop using" - changed 2006 to 2007 - - core client (Unix): removed code for SIGTSTP and SIGCONT. - never got it to work, don't need anyway; - handle SIGPWR. - - client/ - gui_rpc_server.C - main.C - clientgui/ - AdvancedFrame.cpp - DlgAbout.cpp - db/ - schema.sql - languages/translations/ - en.po - lib/ - network.C - py/Boinc/ - add_util.py - database.py - db_mid.py - -Charlie 2 Feb 2007 - - MGR: Fix compiler warning. - - clientgui/ - ViewProjectsGrid.cpp - -David 4 Feb 2007 - - core client: print message if task finishes and output file is missing - - client/ - cs_apps.C - -David 4 Feb 2007 - - manager: compile fix - - clientgui/ - ViewWorkGrid.cpp - -David 6 Feb 2007 - - core client: when new version runs for the first time, - do a network access to reference site. - This will trigger personal firewall alerts, - that otherwise might happen later when user is not there. - - client/ - client_state.C - -David 6 Feb 2007 - - core client: add messages to debug CPU benchmarks - - changed name of debug flag from to - - client/ - client_state.C - cs_benchmark.C - log_flags.C,h - -David 6 Feb 2007 - - validator framework: the get_credit_from_wu() mechanism didn't work - because the WU's xml_doc wasn't among the fields ready by - DB_VALIDOR_ITEM_SET. Read it separately. - - db/ - db_base.C,h - sched/ - validate_util.C - -Rom 7 Feb 2007 - - SS: Remove reference to the Climate Change Experiment when the client is - being built for WCG. - - client/win/ - boinc_ss.rc - -Rom 7 Feb 2007 - - *nix: Attempt to handle the various optimation flags better by default. - - client/ - Makefile.am - -David 7 Feb 2007 - - fix PHP 4 problem - - html/inc - forum_email.inc - -David 8 Feb 2007 - - core client: fix bug where screensaver would turn on an off - if CPU throttling being used - - client/ - ss_logic.C - -Rytis 8 Feb 2007 - - Forum pages: fix a cross site scripting vulnerability. - - html/ - inc/ - forum.inc - forum_moderators.inc - user.inc - util.inc - user/ - forum_edit.php - forum_moderate_post.php - forum_moderate_post_action.php - forum_moderate_thread.php - forum_moderate_thread_action.php - forum_post.php - forum_reply.php - forum_report_post.php - forum_subscribe.php - forum_thread.php - -David 8 Feb 2007 - - core client: fix bug that causes tasks to hang - (not running, but BOINC thinks it is) on Windows - - client/ - app.C - app_control.C - -Rom 8 Feb 2007 - - MGR: Add simple validation for the authenticator returned by - InternetGetCookie. - - clientlib/win/ - AuthenticatorDetection.cpp - stdafx.h - -David 8 Feb 2007 - - core client: when a scheduler reply has a FILE_INFO for a - file for which we already have a FILE_INFO record, - overwrite the file_signature field only if the - new record actually has one. - - This fixes a bug where a project used the same file in - both an APP_VERSION and a WORKUNIT. - The scheduler reply contained two elements for the file; - the first had a signature, the second didn't. - The second one overwrote the first, - and the app version was rejected because one its file wasn't signed. - - client/ - client_types.C - -David 9 Feb 2007 - - core client: don't print misleading error messages when reference - site access succeeds on initial startup. - - core client: a few more messages for - - client/ - client_state.C - cpu_benchmark.h - cs_benchmark.C - dhrystone.C - net_stats.C,h - win_build - boinc_cli_curl.vcproj - -Rom 12 Feb 2007 - - WININSTALL: Force the termination of BOINC and BOINCMGR if we could - not gracefully shut them down. - - win_build/installerv2/redist/Windows/src/boinccas/ - CAShutdownBOINC.cpp - CAShutdownBOINCManager.cpp - boinccas.def - boinccas.rc - boinccas.vcproj - boinccas95.def - boinccas95.vcproj - stdafx.h - terminate.cpp, .h (Added) - win_build/installerv2/redist/Windows/x86 - boinccas.dll - boinccas95.dll - -David 12 Feb 2007 - - Win build fix (from Carl) - - win_build/ - boinc_zip.vcproj - -David 12 Feb 2007 - - core client, Unix: add '[Family x Model x Stepping x]' in p_model string. - This will enable better homogeneous redundancy resolution - - client/ - hostinfo_unix.C - -David 13 Feb 2007 - - put zip project in the right place - - win_build/ - boinc_zip.vcproj (removed) - zip/ - boinc_zip.vcproj - -David 13 Feb 2007 - - Back end: change some of the daemons to use the "read uncommitted" - transaction isolation mode. - This means that their result sets are not locked, - which (at least on SETI@home) greatly boosts the performance - of the MySQL server. - See: - http://dev.mysql.com/doc/refman/5.1/en/innodb-transaction-isolation.html - - db - db_base.C,h - sched/ - db_dump.C - feeder.C - file_deleter.C - update_stats.C + checkin_notes_2007 (new) tools/ upgrade - -Charlie 14 Feb 2007 - - MAC: If relaunching AppStats due to an error, close any open - file descriptors (we communicate with AppStats via a bidirectional - pipe.) - - lib/ - procinfo_mac.C - -David 14 Feb 2007 - - make test_sanity.py work again - - test/ - testbase.py - -Rom 14 Feb 2007 - - WININSTALL: Force the termination of BOINC.SCR if we could - not gracefully shut it down. - - win_build/installerv2/redist/Windows/src/boinccas/ - CAShutdownBOINC.cpp - CAShutdownBOINCManager.cpp - CAShutdownBOINCScreensaver.cpp, .h - boinccas.def - boinccas.vcproj - win_build/installerv2/redist/Windows/x86 - boinccas.dll - boinccas95.dll - -Rom 14 Feb 2007 - - Linux: Prevent crash by initializing the Taskbar pointer, even - though the Linux Boincmgr currently doesn't support that feature. - - (from Pav Lucistnik) - - clientgui/ - BOINCGUIApp.cpp - -David 15 Feb 2007 - - core client: don't print "finish file not found" message - when app quits because of preemption - - initial checkin for client simulator - - add support for page-level translation - - client/ - app_control.C - cpu_sched.C - makefile_sim - sim.C,h - html/inc/ - page_translate.inc - sched/ - sched_send.C - -David 15 Feb 2007 - - core client: fix bug where if a task is aborted - (e.g. because it exceeds CPU limit) - it's restarted on the next enforce_schedule(). - The problem: we're deleting the ACTIVE_TASK, - but the result is still in the ordered_scheduled_results list. - The solution: call request_schedule_cpus() in - handle_finished_apps() when an ACTIVE_TASK is deleted. - - client/ - cs_apps.C - makefile_sim - -Rom 17 Feb 2007 - - WININSTALL: Use the Unicode version of ShutdownBOINCManager on NT based - platforms and use the ANSI version on 9X based platforms. - - win_build/installerv2/redist/Windows/src/boinccas/ - CAShutdownBOINCManager.cpp - boinccas95.def - boinccas95.vcproj - win_build/installerv2/redist/Windows/x86 - boinccas.dll - boinccas95.dll - -Charlie 19 Feb 2007 - - MAC: Eliminate use of AppStats helper application, which needed to be - run setuid root. We weren't using the extra items it returns, so - revert to older method of using popen(ps ...). - - MAC Installer: Add debugging statements to postinstall, postupgrade - scripts - - client/ - check_security.C - file_names.h - clientgui/ - mac/ - SetupSecurity.cpp - lib/ - procinfo_mac.C - mac_build/ - boinc.xcodeproj/ - project.pbxproj - mac_installer/ - postinstall - postupgrade - release_boinc.sh - release_GridRepublic.sh - -David 19 Feb 2007 - - core client: when resetting or detaching a project, - if a file transfer was active for a project file, - the file delete would fail because Curl still has the file open. - This would cause the manager to freeze for N*5 seconds. - Fix: in CLIENT_STATE::reset_project(), - delete FILE_XFER and PERS_FILE_XFER objects. - - core client: the limits on numbers of simultaneous file transfers - (total and per-project) - now apply to uploads and downloads separately. - We don't want a situation where an upload is blocked - because there are N downloads. - - client/ - client_state.C - cs_files.C - -Rom 20 Feb 2007 - - core client: When we go to kill a science applicaton, make sure - all of the science applications child processes are killed - too. - - NOTE: This was already implemented once, what happened to the - previous implementation? - - client/ - app_control.C - lib/ - win_util.C, .h - -Rom 20 Feb 2007 - - core client: If a compound application's main applicaton gracefully - exits but doesn't shutdown its child applications for some reason, - forcefully terminate them. (Windows only) - - client/ - app.h - app_control.C - -Charlie 20 Feb 2007 - MAC: Better work-around for bugs in wxMac-2.8.0 wxListCtrl::SetColumn() - which failed to restore proper column widths from saved info than my - fix of 22 Jan. Use the new DataBrowser implementation of wxListCtrl, - but add calls to SetColumnWidth() and GetColumnWidth(). - - Mac: Remove obsolete files ViewTransfers.cpp,.h, ViewWork.cpp,.h, - ViewProjects.cpp,.h from XCode project. - - clientgui/ - BOINCGUIApp.cpp - BOINCListCtrl.cpp - sg_DlgMessages.cpp - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Charlie 21 Feb 2007 - MAC: Manager writes wxWidgets version to stdout for debugging (before - redirecting stdout to stdoutgui.txt file.) - - clientgui/ - BOINCGUIApp.cpp - -David 21 Feb 2007 - - split out string-related utility functions into a new file, str_util.C - - more work on simulator - - Add "Holy See" to country list - - api/ - gutil_text.C - client/ - *.C - db/ - *.C - lib/ - *.C - sched/ - *.C - tools/ - backend_lib.C - -David 21 Feb 2007 - - core client: if benchmark time is in the future (due to user tweak) - always run benchmarks - - client/ - cs_benchmark.C - -David 21 Feb 2007 - - core client: split out work-fetch code into a separate file - - client/ - work_fetch.C (new) - -David 21 Feb 2007 - - windows compile fixes - - client/ - cs_statefile.C - win/ - hostinfo_win.cpp - clientgui/ - (several).cpp - lib/ - diagnostics_win.C - win_build/ - boinc_cli_curl.vcproj - boinc_ss.vcproj - boincmgr_cur.vcproj - libboinc.vcproj - -David 21 Feb 2007 - - code shuffling to get simulator to compile (it does now) - - client/ - app.C - app_control.C - client_types.C - cpu_sched.C - cs_apps.C - cs_statefile.C - makefile_sim - net_stats.h - sim.C,h - -Bruce 22 Feb 2007 - - fix scan format bug in reading proc info (UNTESTED!) - [David, Rom, should we add an ERR_SCANF to errnum.h ?] - - insert shmem hack for E@H - - lib/ - procinfo_unix.C - shmem.C - -David 22 Feb 2007 - - add message flag; shows when apps checkpoint. - - client/ - app.h - app_control.C - log_flags.C,h - sim.C - -David 22 Feb 2007 - - core client, Win: set processor affinity mask for benchmark threads - - client/ - cs_benchmark.C - -Charlie 22 Feb 2007 - Mac: add str_util.C,h, work_fetch.C to XCode project. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Charlie 23 Feb 2007 - Mac: Create new OSXIdleTime() function to replace deprecated NxIdleTime() API; - client/ - hostinf_unix.C - main.C - lib/ - hostinfo.h - -David 23 Feb 2007 - - scheduler: remove tag at the start of scheduler reply. - This apparently breaks 4.19 clients - - client/ - client_state.h - sim.C,h - sched/ - server_types.C - -David 23 Feb 2007 - - core client: disable connection caching in Curl. - This may reduce cases where file uploads hang - because a server process holds file lock. - - manager: fix status text for file transfers - - client/ - http_curl.C - clientgui/ - ViewTransfers.cpp - ViewTransfersGrid.cpp - -David 23 Feb 2007 - - core client: add bool detach_when_done to PROJECT. - If set, detach from project when it has not results - (i.e. when all work is finished and acknowledged). - Save/restore in client state file. - - core client: add optional - and flags to account element - in account manager reply messages. - See acct_mgt.php - - client/ - acct_mgr.C,h - client_state.C,h - client_types.C,h - sched/ - handle_request.C - -David 23 Feb 2007 - - client simulator: wrote more code, added Windows project - - client/ - sim.C,h - work_fetch.C - win_build/ - boinc.sln - sim.vcproj - -David 24 Feb 2007 - - boinc_cmd: change --lookup_account and --create_account commands - so that they poll until the operation is done, - and then show a meaningful result (e.g. an account key). - Remove --lookup_account_poll and --create_account_poll commands - - more work on simulator - - client/ - client_types.C - cpu_sched.C - sim.C,h - work_fetch.C - lib/ - boinc_cmd.C - gui_rpc_client.h - gui_rpc_client_print.C - parse.C - str_util.C - -David 24 Feb 2007 - - core client: when detach from a project, delete its - sched_request, sched_reply, and master files - - client/ - client_state.C - -Bruce 25 Feb 2007 - - scheduler: stop logging error messages about unrecognized - tag. - - locality scheduler: when getting a working set file name - using glob(3), do not glob multiple times, possibly getting - back the same file name again. Instead glob once and then - randomly choose file names, crossing items off the list one - at a time. Note: I wrote this code using STL vectors and - strings, but now regret this: the necessary vector insertions - are potentially inefficient.. Sometime next week I will - recode this using a C-style pointer arrays with guaranteed O(1) - efficiency. But I want to get this into CVS while it's - working. - - locality scheduler: fix is_host_slow() function following - David's Jan 12 checkins to use claimed_credit_per_cpu_sec. - - sched/ - sched_config.C - sched_locality.C - -Charlie 25 Feb 2007 - Mac: Fix OS 10.3 bug in new OSXIdleTime() function. - Win: Fix check mark on Snooze taskbar menu item on Windows XP - - client/ - hostinf_unix.C - clientgui/ - BOINCTaskBar.cpp - -Charlie 26 Feb 2007 - Mac: Fix OS 10.3.x permissions problem when running debug build; - this problem caused shared memory communications to fail between - client and project applications. - - client/ - check_security.C - clientgui/ - mac/ - SetupSecurity.cpp - -Charlie 27 Feb 2007 - Mac: Add an optional argument to HOST_INFO::users_idle() to allow - returning the actual idle time. This change is __APPLE__ only. - Mac: Fix serious bugs in Mac_SA_Insecure.sh and Mac_SA_Secure.sh - scripts when run under OS 10.3.x. They sometimes created bad - users and groups with IDs that were duplicates of other users - and groups. They ran correctly under OS 10.4.x. - Users who ran an older version of either script under OS 10.3.x - should first run the current version of Mac_SA_Insecure.sh to - delete the bad entries and then run Mac_SA_Secure.sh to create - new good entries. - - client/ - hostinf_unix.C - lib/ - hostinfo.h - mac_build/ - Mac_SA_Insecure.sh - Mac_SA_Secure.sh - -Bruce 27 Feb 2007 - Scheduler: stop complaining about some unrecognized tags. - - sched/ - server_types.C - -Charlie 28 Feb 2007 - SANDBOX: only the super-user can send signal to another user's process. - Core client runs as user boinc_master, but project applications run - as user boinc_project, so ACTIVE_TASK::kill_task() probably could not - work as written. I added code which uses switcher helper application - to kill the tasks, but also left in the direct kill call just to be - safe. - Note: CBOINCGUIApp::ShutdownBOINCCore() probably has this same problem, - but this kill() is only used in extraordinary circumstances. - Mac: The Mac screensaver launches the core client if not already running. - In this case, it used to kill the cc when screensaver was dismissed. - But Mac OS X dismisses screensavers when energy saver puts displays - to sleep, so we want cc to then continue running. New code launches - cc with -saver argument, lets cc run when saver quits. New logic in - cc quits if (launched by screensaver) and (recent user activity) and - (parent [screensaver] has exited). This takes into account that if - user invoked screensaver by moving mouse into "hot corner" there will - be recent user activity. Added logic to screensaver to relaunch cc in - case of certain race conditions (e.g., screensaver started, dismissed, - restarted in rapid succession.) - - Mac Manager: add -launched_by_manager arg when launching core client. - - client/ - app_control.C - cs_prefs.C - clientgui/ - BOINCGUIApp.cpp - mac/ - mac_saver_module.cpp - -David 3 Mar 2007 - - core client: add "get project list" RPC, called every 2 weeks - - fix a few compiler warnings from gcc 4.1 - - more simulator work - - client/ - acct_mgr.C - acct_setup.C,h - app_control.C - client_state.C,h - client_types.C - cpu_sched.C - cs_cmdline.C - cs_statefile.C - file_names.h - gui_rpc_server.C - scheduler_op.C - sim.C - html/inc/ - stats_sites.inc - -David 4 Mar 2007 - - API: use a mutex instead of a boolean variable for - mutual exclusion during checkpoint. - This should fix a race condition that can result in - applications being suspended and not responding to resume messages - - api/ - boinc_api.C,h - -David 4 Mar 2007 - - GUI RPC: add several scheduling-related items - (not used by Manager, but possibly useful for 3rd-party GUIs) - - // tells you if a result is running in EDF mode - bool RESULT::edf_scheduled - - // the following were already in the XML but not parsed - // into the C structs - double PROJECT::short_term_debt - double PROJECT::long_term_debt - double PROJECT::duration_correction_factor - - client/ - client_types.C,h - cpu_sched.C - lib/ - app_ipc.C - gui_rpc_client.h - gui_rpc_client_ops.C - -David 5 Mar 2007 - - core client: if can't chdir to the dir specified by --dir, quit - - show_shmem: show homogeneous redundancy class - - file upload handler: say "out of space on server" instead of - "out of space on device"; users get confused by the latter, - think it refers to their disk - - client/ - cs_cmdline.C - file_xfer.C - sched/ - file_upload_handler.C - show_shmem.C - -Rom 5 Mar 2007 - - MGR: Rough draft for presenting an interface of known projects - based on David's March 3rd "get project list" checkin. - - clietgui/ - AccountInfoPage.cpp - AccountManagerInfoPage.cpp - BOINCWizards.h - ProjectInfoPage.cpp, .h - lib/ - gui_rpc_client.h - gui_rpc_client_ops.C - -Rom 6 Mar 2007 - - MGR: Choosing from the project list now works, although the - combo box is really busy right now. - - clientgui/ - ProjectInfoPage.cpp, .h - lib/ - gui_rpc_client.h - gui_rpc_client_ops.C - -David 6 Mar 2007 - - User web: add "none" as an option for default host venue; - display this as "---" or "--- (none)" - - html/ - inc/ - prefs.inc - user/ - host_venue_action.php - -Rom 6 Mar 2007 - - MGR: Use just the project name in the project list for now. - - clientgui/ - ProjectInfoPage.cpp - -Rom 7 Mar 2007 - - Update OpenSSL modules for windows to OpenSSL 0.9.8e. - - openssl/ - - -Rom 7 Mar 2007 - - Update cURL modules for windows to cURL 7.16.1. - - curl/ - - -David 8 Mar 2007 - - API (Unix): there was still a race condition in the runtime library. - Fix it (I hope) by having worker_signal_handler() - acquire the mutex before suspending worker thread. - - remove msg parameter of resolve_hostname() - - api/ - boinc_api.C - client/ - gui_rpc_server.C - lib/ - filesys.C - network.C,h - -Charlie 8 Mar 2007 - - Mac: Update build scripts, XCode project and build instructions - for cURL 7.16.1. - - Mac: Delete unused target AppStats from XCode project. - - mac_build/ - buildcurl.sh - HowToBuildBOINC_XCode.rtf - setupForBOINC.sh - boinc.xcodeproj/ - project.pbxproj - doc/ - mac_build.php - -Charlie 9 Mar 2007 - -Mac: update installation documentation: say to double-click on - "BOINC Installer" application, not on BOINC.pkg. - doc/ - mac_advanced.php - release_notes.php - -Rom 9 Mar 2007 - - MGR: Fix the wizard classes so they are compatible with both - wxWidgets 2.4 and 2.8. - - clientgui/ - AccountInfoPage.cpp - AccountKeyPage.cpp - AccountManagerInfoPage.cpp - AccountManagerProcessingPage.cpp - AccountManagerPropertiesPage.cpp - AlreadyAttachedPage.cpp - AlreadyExistsPage.cpp - CompletionErrorPage.cpp - CompletionPage.cpp - NoInternetConnectionPage.cpp - NotDetectedPage.cpp - NotFoundPage.cpp - ProjectInfoPage.cpp - ProjectProcessingPage.cpp - ProjectPropertiesPage.cpp - ProxyInfoPage.cpp - ProxyPage.cpp - stdwx.cpp - UnavailablePage.cpp - WelcomePage.cpp, .h - WizardAccountManager.cpp - WizardAttachProject.cpp - wizardex.cpp, .h - -Rom 9 Mar 2007 - - MGR: Fix a segfault on Linux. - - clientgui/ - ProjectInfoPage.cpp, .h - -David 10 Mar 2007 - - unix compile fix (from Frank Thomas) - - lib/ - boinc_cmd.C - -David 10 Mar 2007 - - scheduler: use 1024-char buffer for parsing - (handle large CPU model strings) - - sched/ - server_types.C - -David 10 Mar 2007 - - scheduler: add one_result_per_host_per_wu option. - This is useful if you use homogeneous redundancy - and most hosts of a particular class belong to a single user. - - sched/ - sched_array.C - sched_config.C,h - -Charlie 12 Mar 2007 - - Mac: add str_util.C,h to libboinc target of XCode project. - - CC: On Mac OS X, sysctl with selectors CTL_HW, HW_PHYSMEM returns only a - 4-byte value, even if passed an 8-byte buffer, and limits the returned - value to 2GB when the actual RAM size is > 2GB. So use Mac-specific - API Gestalt(gestaltPhysicalRAMSizeInMegabytes, &mem_size) and add a - #error statement to the old method to alert any porters if their - platforms were using sysctl {CTL_HW, HW_PHYSMEM}. - - client/ - hostinfo_unix.C - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Rom 13 Mar 2007 - - WIN: Change the sse3 CPU feature detection flag from 'sse3' to 'pni'. - - MGR: Commit Frank Weiler's lastest ViewProjectsGrid. - - client/win/ - hostinfo_win.cpp - clientgui/ - sg_BoincSimpleGUI.cpp - sg_ViewTabPage.cpp - ViewProjectsGrid.cpp, .h - -David 13 Mar 2007 - A bunch of security-related changes: - - Most functions that return paths now take an additional - "length" parameter to prevent buffer overrun if the - project URL or filename is extremely long. - - Use snprintf() and vsnprintf() in a bunch of places - to avoid buffer overrun. - - Core client: Add suppress_net_info config flag - (don't send IP address and domain name to servers) - - Core client: Add disallow_attach config file - (don't allow attach to new projects) - - Core client: Add os_random_only config flag. - (exit if OS-level random string functions fail - when generating GUI RPC password) - - Core client: if a filename (in s from server) - contains directory traversal chars (..), - or format conversion chars (%), - or is empty, - reject it. - - Other changes: - - Core client: change size of path buffers from 256 to 1024. - Should make this a #define at some point. - - GUI RPC: rename PROJECTLISTENTRY -> PROJECT_LIST_ENTRY - (let's stick with BOINC coding standards) - - GUI RPC: rename PROJECTLIST -> ALL_PROJECTS_LIST - (let's not confuse currently attached projects with all projects) - - GUI RPC: make get_all_projects_list() into an actual RPC, - not just reading a file (which won't exist in the RPC client's - current dir, e.g. if it's remote). - - GUI RPC: rename desc -> description and img -> image - in project list XML exported by BOINC server. - Let's NEVER have different spelling between - XML tabs and structure fields!! - - GUI RPC: Include rr_sim_deadlines_missed in PROJECT - - core client: rename file project_list.xml -> all_projects_list.xml - - core client, Linux: add improved code for - parsing CPU info (from Thibaut Varene) - - added test program for CPU info - - client/ - app.C - app_start.C - client_state.C,h - client_types.C - cs_account.C - cs_apps.C - cs_files.C - cs_prefs.C - cs_scheduler.C - cs_statefile.C - cs_trickle.C - file_names.C,h - file_xfer.C - gui_rpc_server.C - gui_rpc_server_ops.C - hostinfo_unix.C - hostinfo_unix_test.C (new) - log_flags.C,h - pers_file_xfer.C - scheduler_op.C - lib/ - app_ipc.C - boinc_cmd.C - error_numbers.h - gui_rpc_client.C - gui_rpc_client_ops.C - hostinfo.C,h - md5_file.C - miofile.C,h - str_util.C - sched/ - sched_config.C - -David 13 Mar 2007 - - compile fix - - clientgui/ - ProjectInfoPage.cpp,h - -David 13 Mar 2007 - - work fetch fixes (from John McLeod) - - implement work_fetch_factor correctly - - ignore duration_correction_factor if it's out of bounds - - client/ - cpu_sched.C - work_fetch.C - -Charlie 13 Mar 2007 - - Fix compiler warnings, including one in CProjectInfo::makeHashKey() - which warned "call will abort at runtime." - - client/ - gui_rpc_server.C - gui_rpc_server_ops.C - clientgui/ - ViewProjectsGrid.cpp - -Matt 14 Mar 2007 - - updated db_init and db_init_aux code in util.inc, db.inc to enable - possible use of replica (i.e. read-only) database (for pages that - lookup stats, print profiles, etc. but don't make any updates). - Implemented in top_{users,teams,hosts}.php - - html/inc - db.inc - util.inc - html/user - top_users.php - top_hosts.php - top_teams.php - -Charlie 14 Mar 2007 - - Mac: Fix Mac bugs in SimpleGUI under wxMac-2.8.2. - - Mac: Update build scripts, XCode project and build instructions - for wxMac-2.8.2. - - clientgui/ - sg_ViewTabPage.cpp - mac_build/ - buildWxMac.sh - HowToBuildBOINC_XCode.rtf - setupForBOINC.sh - boinc.xcodeproj/ - project.pbxproj - doc/ - mac_build.php - -Charlie 15 Mar 2007 - - SG: On timer events, update only the panel for the currently selected - task tab. Due to an apparent bug in wxMac-2.8.2, dc.DrawBitmap() - and dc.DrawText() actually draw to the screen even though the tab - panel should be hidden. Also, updating hidden panels is inefficient - on all platforms. - - Added a new WorkunitNotebook::OnTabChanged() event handler to update - the panel when its tab is first selected, so stale data is not shown. - - Fixed a logic error when deleting inactive tabs. - - clientgui/ - sg_ViewTabPage.cpp,h - -Rom 15 Mar 2007 - - MGR: Do not allow multiple dial-up promtps to appear when the CC needs - to connect, it is annoying and will eventually blow the stack. - - clientgui/ - BOINCDialupManager.cpp - -David 15 Mar 2007 - - API: my checkin of Mar 8 was flawed and causes an app hang. - Revert to the previous way (bool var, not mutex) - but with an additional check in worker_signal_handler() - that should fix the original race condition - (from Jonathan Armstrong) - - core client: fix bug where, if host is in "suspended to disk" - state for a long time, its next debt adjustment - assumes that apps were running the entire time. - The fix: if more than 2xcpu_sched_period has elapsed - since last debt adjustment, ignore the period. - - Add data structures for day-of-week preferences - (but don't actually implement much) - - api/ - boinc_api.C - client/ - client_state.h - cpu_sched.C - cs_prefs.C - html/user/ - edit_form_preferences_form.php - lib/ - hostinfo.C - prefs.C,h - -David 15 Mar 2007 - - core client: change the way slot directories are assigned, - and the way things are cleaned up. - The new design ensures that apps always start running - in an empty directory. - Old: - assign new ACTIVE_TASK the lowest slot number not in use. - When the app starts, try to clean out the slot dir. - If can't clean it out, rename it (to DELETE_ME_*) - and create another dir. - On startup, delete dirs named DELETE_ME_* - The problem: if you can't clean out a dir (on Windows) - you're not going to be able to rename it. - So the app will start in a non-empty dir. - New: - assign new ACTIVE_TASK the lowest slot number not in use - and for which an empty directory can be created. - On start, delete dirs and files not in use by an active task. - - core client: fix bug where clean_out_dir() could return zero - even though the dir isn't emptied. - - client/ - app.C,h - app_start.C - file_names.C,h - lib/ - filesys.C - -David 15 Mar 2007 - - compile fixes - - client/ - sim.h - clientgui/ - DlgAdvPreferences.cpp - sg_DlgPreferences.cpp - -Charlie 15 Mar 2007 - - Fix compiler warnings. - - client/ - app.C - cpu_sched.C - lib/ - filesys.C - hostinfo.C - -Rom 17 Mar 2007 - - MGR: Revamped project selection list. It is mostly done, I just have to - figure out how to trap static text click events, right now you have - to click on areas where there isn't any text. - - clientgui/ - ProjectInfoPage.cpp, .h - ProjectListCtrl.cpp, .h (Added) - win_build/ - boincmgr_curl_2003.vcproj - -David 18 Mar 2007 - - user web: make an XML variant of apps.php - - scheduler: parse uldl_pid etc. in config file - to avoid XML parse warnings (from David Braun) - - html/user/ - apps.php - sched/ - sched_config.C - -Rom 19 Mar 2007 - - MGR: Fill in the missing piece with trapping static text control mouse - movement and clicks. - - clientgui/ - ProjectListCtrl.cpp, .h - -David 19 Mar 2007 - - core client: fetch all-projects list at startup if it's not there. - - core client: write rr_sim_missed_deadline only for GUI RPC, not statefile - - client/ - acct_setup.C - client_state.C,h - client_types.C - cs_statefile.C - scheduler_op.C - -Rom 19 Mar 2007 - - MGR: Strip out all the extra fluff, and add a website link. - - clientgui/ - ProjectListCtrl.cpp, .h - -David 19 Mar 2007 - - removed [features] from p_model; - move it to a separate field, p_features, - which is stored on the client and sent to server - but not stored in server DB. - - fix gcc 4.x warnings - - user web: change of app version list XML - - client/ - hostinfo_unix.C - hostinfo_win.C (new) - main.C - win/ - hostinfo_win.cpp (removed) - html/user/ - apps.php - lib/ - filesys.C - hostinfo.C,h - -David 19 Mar 2007 - - core client: added more support for day-of-week time preferences. - They're now enforced, - and times are expressed as doubles (hours, 0..24) - - client/ - cs_prefs.C - lib/ - boinc_cmd.C - prefs.C,h - -David 19 Mar 2007 - - compile fixes - - client/ - hostinfo_win.C - win_build/ - boinc_cli_curl.vcproj - -Charlie 19 Mar 2007 - - Mac: fix compile errors (must cast double variable to int to use it - as array index.) - - Fix compiler warnings. GCC on Linux and Mac have conflicting warnings: - Mac complains about unused variables, Linux about ignoring returns - from functions like getcwd() which returns the result in 2 places. - Try to satisfy both compilers using __attribute__ ((unused)) construct. - This may not work for Windows compiler, though. - -- Mac: Add ProjectListCtrl.cpp to XCode project. - - client/ - hostinfo_unix.C - http_curl.C - clientgui/ - DlgAdvPreferences.cpp - sg_DlgPreferences.cpp - lib/ - boinc_cmd.C - filesys.C - hostinfo.C - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 19 Mar 2007 - - core client: bug fixes in prefs - - lib/ - prefs.C - -Rom 19 Mar 2007 - - Add some more cross compiler tweaks to the precompiled header for Windows. - - clientgui/ - stdwx.h - lib/ - boinc_win.h - filesys.C - -Rom 20 Mar 2007 - - MGR: Randomize the project selection list - - MGR: Last few tweaks to the project selection list - - clientgui/ - ProjectInfoPage.cpp - ProjectListCtrl.cpp, .h - lib/ - gui_rpc_client.h - gui_rpc_client_ops.C - -David 20 Mar 2007 - - core client, Unix: run CPU benchmarks at low priority, - same as applications. - On some systems, the clock governor (powersaved) - will slow the CPU clock if nothing's running at regular priority - (but it ignores processes running at low priority). - If benchmarks run at regular priority, - this could result in a erroneous claimed-credit numbers. - (from Evandro Menezes) - - client/ - app_start.C - cs_benchmark.C - lib/ - util.C,h - -David 20 Mar 2007 - - API: boinc_checkpoint_completed(): don't call update_app_progress() - unless options.send_status_msgs is set - (fixes bug in wrappers that call this) - - lib: add linux_cpu_time() function (get CPU time of another process) - - api/ - boinc_api.C - lib/ - procinfo_unix.C - util.C,h - -David 20 Mar 2007 - - Manager: cosmetic tweaks to project select - - clientgui/ - ProjectListCtrl.cpp - -David 20 Mar 2007 - - core client: if "no more work" or "detach when done" tag - is missing from account manager reply, don't change value. - Note: this is implemented using new - OPTIONAL_BOOL and OPTIONAL_DOUBLE types - that may be useful elsewere as well. - - client/ - acct_mgr.C,h - -Jeff 21 Mar 2007 - - added : - #define feof FCGI_feof - #define ferror FCGI_ferror - to the list of such defines at the bottom of file fcgi_stdio.h. - This was needed to complile the fcgi version of the file upload - handler. Note that this list of defines is the only difference - between our fcgi_stdio.h and /usr/include/fcgi_stdio.h on the - linux box used for this build. - - sched/ - fcgi_stdio.h - -David 21 Mar 2007 - - update sample web site front page - - html/user/ - sample_index.php - -David 21 Mar 2007 - - core client: fixed bug where a - in scheduler reply would crash client. - Also, change this tag to - Note: the syntax is - - xxx - - where xxx is the result name. - - client/ - cs_scheduler.C - scheduler_op.C,h - -David 23 Mar 2007 - client/ - app.h - sim.C - languages/translations/ - en.po - -David 23 Mar 2007 - - Manager: show "detach when done" if set - - clientgui/ - ViewProjects.cpp - ViewProjectsGrid.cpp - win_build/ - sim.vcproj - -David 23 Mar 2007 - - manager build fix - - clientgui/ - Makefile.am - -Rytis 24 Mar 2007 - - Forum: duration selection and optional message to the user. - - html/ - user/ - forum_moderate_post.php - forum_moderate_post_action.php - inc/ - forum_email.inc - -David 24 Mar 2007 - - admin web: added script to banish user for various periods, - independently of forum tools (from Eric Myers) - - html/ops/ - index.php - manage_user.php - -Rom 27 Mar 2007 - - MGR: Extend browser cookie detection framework so that additional - browsers can be used. - - MGR: Checkin Frank's latest changes to the Advanced Preferences - dialog. - - clientgui/ - DlgAdvPreferences.cpp, .h - Makefile.am - stdwx.h - WizardAttachProject.cpp - clientlib/win/ - AuthenticatorDetection.cpp, .h (Removed) - lib/ - boinc_win.h - browser.C, .h (Added) - browser_firefox.C (Added) - browser_ie.C (Added - Windows Only) - win_build/ - boinc_dll.vcproj - boinc_dll_2003.vcproj - boincmgr_curl.vcproj - boincmgr_curl_2003.vcproj - -David 27 Mar 2007 - - client: on startup, show how much RAM and disk are usable - (taking prefs into account) - - client/ - cs_prefs.C - lib/ - str_util.h - -Walt 27 Mar 2007 - - MGR: Fix Makefile.am to remove whitespace after - continuation character. - - clientgui/ - Makefile.am - -David 27 Mar 2007 - - scheduler: fix bug that cause parse error - for Linux hosts with long strings - (from Andre Kerstens) - - sched/ - server_types.C - -Walt 27 Mar 2007 - - MGR: Fix compile errors - - clientgui/ - WizardAttachProject.cpp - lib/ - browser_firefox.C - -David 28 Mar 2007 - - core client: add work_buf_additional_days preference; - track variability in completion times - (from John McLeod VII) - - add browser.C to lib/ makefile; - do NOT use ../* in other makefiles - - client/ - client_state.C,h - client_types.C,h - cpu_sched.C - cs_scheduler.C - log_flags.C,h - rrsim_test.C - sim.h - clientgui/ - Makefile.am - lib/ - Makefile.am - browser.C - browser_firefox.C (removed) - browser_ie.C (removed) - prefs.c,h - -David 28 Mar 2007 - - user web: support for work_buf_additional_days pref - - html/inc/ - prefs.inc - -David 29 Mar 2007 - - core client: fix some debug messages - - more code-shuffling for client simulator - - client/ - cpu_sched.C - file_xfer.h - log_flags.C,h - sim.C,h - win_build/ - boincmgr_curl.vcproj - sim.vcproj - -David 29 Mar 2007 - - Manager: add work_buf_additional_days to adv prefs dialog; - add multi-selection to transfer tab - (from Frank Weiler) - - clientgui/ - DlgAdvPreferences.cpp - DlgAdvPreferences.fbp - DlgAdvPreferencesBase.cpp,h - ViewTransfersGrid.cpp - -David 29 Mar 2007 - - API: don't report CPU time and fraction done while suspended - (not needed, and wastes CPU time) - - api/ - boinc_api.C - -David 29 Mar 2007 - - core client: include MD5 in file upload handler requests, - so that the server can (if it wants) verify the MD5. - NOTE: I don't think this should be necessary. - - Also include core client release # in all requests - - client/ - file_xfer.C - -Rom 29 Mar 2007 - - MGR: Prevent crash in the projects tab by checking to see if there - is really anything to display, if not delete all rows and then - return. - - clientgui/ - ViewProjectsGrid.cpp - -David 29 Mar 2007 - - Manager: text tweaks - - clientgui/ - AdvancedFrame.cpp - DlgAbout.cpp - -Charlie 30 Mar 2007 - - Mac: Major fixes and improvements to backtrace: correctly show - address of instruction which caused SIGSEGV or SIGBUS faults, - remove bogus NULL stack frame at end of trace; improve output - format, etc. - - Mac: Add browser.C,h to XCode project. - - lib/ - mac_backtrace.C - MoreBacktrace.C - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 2 Apr 2007 - - Manager: improvements to advanced Prefs dialog - (from Frank Weiler) - - Client simulator work - - client/ - sim.C,h - work_fetch.C - clientgui/ - DlgAdvPreferences* - lib/ - prefs.C - -Charlie 3 Apr 2007 - - Mac Installer: Change name of Postinstall.app to PostInstall.app to fix a - problem on some Macs where the postinstall or postupgrade script failed - to launch PostInstall.app due to the lower-case I. I don't know why some - Macs would be case-sensitive here while others aren't, but user feedback - seems to confirm this problem. - - Mac Installer: Add directions for removing users boinc_master and boinc_user - to uninstall instructions. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - mac_installer/ - GR-ReadMe.rtf - ReadMe.rtf - release_boinc.sh - release_GridRepublic.sh - -Rom 3 Apr 2007 - - MGR: Check firefox cookies for a projects authenticator which might have - been assigned during a web based registration scenario - - MGR: Fix detech from project crashing condition - - MGR: Fix variuos performance problems with the Grid based views. Best - rule of thumb is to not set/change any value in a control unless it - has really changed. Doing so causes the RECT to become invalidated - which causes the OS to want to repaint it. Data processing is always - faster than repainting. - - MGR: Don't delete all the rows of a grid just to recreate them a few - steps later, you really only need to add or delete the difference - since the last update. - - MGR: Avoid using 'wxString("Some static Text", wxConvUTF8)' to handle - literal strings for Unicode, the wxT() macro allows the compiler to - take care of it at compile time, instead of run-time. - - MGR: Add a generic 'BOINC help' link that can be used to go to help.php. - - MGR: All help menu items are now redirected using the manager_links.php - page. - - MGR: Add version information to the manager_links.php requests. - - MGR: Remove the CProjectInfo cache from ViewProjectsGrid. - - CC: Fix the display of the processor features. It is useful for those - who want to run optimized clients but don't really know what processor - features are supported by their processor/os combination. - - DBG: Include all the 64-bit registers in the debug output on a 64-bit - Windows machine. - - client/ - client_state.C - hostinfo_win.C - client/win/ - win_screensaver.cpp - clientgui/ - AdvancedFrame.cpp, .h - Events.h - ViewMessagesGrid.cpp - ViewProjectsGrid.cpp, .h - ViewTransfersGrid.cpp - ViewWorkGrid.cpp - WizardAttachProject.cpp - sg_BoincSimpleGUI.cpp - stdwx.h - lib/ - boinc_win.h - browser.C - stackwalker_win.cpp - win_build/ - boincmgr_curl.vcproj - -David 3 Apr 2007 - - core client: don't print "process not found" unless task_debug set - - simulator stuff - - client/ - app_control.C - cpu_sched.C - cs_apps.C - sim.C,h - -David 3 Apr 2007 - - simulator - - client/ - app_control.C - cpu_sched.C - sim.C,h - -David 3 Apr 2007 - - core client: fix parsing of . If set: - - If client is processing a result for a WU that has - been cancelled or is not in the DB - (i.e. there's no chance of getting credit) - send . - - If client is processing a result for a WU that has - been assimilated or is overdue - (i.e. there's a chance of not getting credit) - send - - Scheduler: enhancements to replication policy - (which attempts to send additional replicas of a WU - only to reliable/fast hosts). - There are several new config options which let projects - tailor the policy in various ways: - - : a host must have at least - this avg credit to be considered reliable - - : a host must have at most - this avg_turnaround to be considered reliable - - : results with at least - this priority will be sent only to reliable hosts - - : - increase priority of additional replicas by this amount - - - increase priority of additional replicas - triggered by timeout (but not error) by this amount - - : send results for WUs at least this old - only to reliable hosts - - : if a WU is at least - "reliable_time" old, multiply its latency bound - by this factor (0..1) - - Transitioner: add the notion of "grace period" - so users get credit even if results are somewhat late. - - : defer the deletion of - the canonical result for this many hours - after the deadline of any pending result - - Transitioner: add option : - delay the deletion of WU input files for this - interval after last result has been returned - - Implementation details:: - - add TRANSITIONER_ITEM::res_received_time - - add WORK_ITEM::res_priority - (read by feeder, stored in shared mem, used by scheduler) - - add IN_PROGRESS_RESULT to enumerate in-progress results - - read appid in VALIDATOR_ITEM - - add priority_increase arg to create_result() - - (all the above from Kevin Reed) - - db/ - boinc_db.C,h - sched/ - feeder.C - handle_request.C - sched_config.C,h - sched_send.C - sched_shmem.h - server_types.C,h - transitioner.C - tools/ - backend_lib.C,h - -David 5 Apr 2007 - - core client: fix bug where, if client runs at boot time - and DNS system isn't up yet, - entries in remote_hosts.cfg will fail to resolve, - and the core client will be inaccessible. - Fix: we already have a mechanism in which GUI_RPC_CONN_SET::init() - is called 30 times, at 1-sec interval, until it succeeds. - Extend this to cover the parsing of remote_hosts.cfg also. - - client/ - client_state.C - gui_rpc_server.C,h - -David 5 Apr 2007 - - core client: work fetch skip a project if its # deadline misses - is >= #cpus (not just > 0) - - define a set of process exit codes (currently just 3 of them) - separate from function return values. - Process exit codes are limited to 8 bits in Unix; - use positive numbers starting at 192 - - api/ - boinc_api.C - client/ - app_start.C - client_state.C - sim.C,h - work_fetch.C - lib/ - diagnostics.C - error_numbers.h - -David 5 Apr 2007 - - core client: canonicalize account manager URL - - boinc_cmd: add --join_acct_mgr, --quit_acct_mgr commands; - remove --acct_mgr_op command. - - client/ - acct_mgr.C - lib/ - boinc_cmd.C - -David 6 Apr 2007 - - client simulator: add the ability to do many simulations, - each specified in a separate directory, - and show the individual and total results. - - client/ - sim.C,h - -David 6 Apr 2007 - - core client: sanity check on work request size - (from John McLeod) - - client/ - work_fetch.C - -David 8 Apr 2007 - - updater: - - make program more general (array of files) - - if get an error before installing new version, - run the old version (core and/or mgr). - - if launch of new core client or manager fails - or program exits within 5 seconds, - back out the update and run old version - - when running core client (old or new) pass --run_by_updater flag - - move files instead of copy - - core client: - - add --run_by_updater cmdlines option; - if set, and updater version > client version, - set "install_failed" flag in AUTO_UPDATE. - This prevents the client from trying the update again. - - if updater doesn't run or exits within 5 seconds, - mark update as failed (stick with current version) - - client/ - auto_update.C,h - client_state.C,h - cs_cmdline.C - sim.C,h - lib/ - filesys.C - util.C,h - tools/ - updater.C - -David 9 Apr 2007 - - win compile fixes - - client/ - auto_update.C - lib/ - util.C - -David 9 Apr 2007 - - bug fix in simulator (possibly core client too): - in handle_finished_apps(), - do the vector erase directly instead of calling remove() - (which could cause you to skip one task) - - client/ - app.C,h - cs_apps.C - -David 9 Apr 2007 - - update netsoft URL - - html/inc/ - stats_sites.inc - user.inc - -Charlie 9 Apr 2007 - - change boinc_catch_signal() to exit with exit code EXIT_SIGNAL - instead of ERR_SIGNAL_CATCH. - - lib/ - diagnostics.C - -Charlie 10 Apr 2007 - - Mac: Add support for Firefox on Mac. - - lib/ - browser.C - -David 10 Apr 2007 - - simulator - - client/ - sim.C,h - -Rom 10 Apr 2007 - - MGR: Do not attempt a refresh of the old grid header if the - old value is -1. - (From Walt G.) - - clientgui/ - BOINCGridCtrl.cpp - -David 10 Apr 2007 - - core client: adjustment to anticipated debt is - resource_share*expected_payoff, not - (1-resource_share)*expected_payoff - - client/ - cpu_sched.C - sim.C,h - -Charlie 11 Apr 2007 - - Mac: Add support for Safari on Mac. - - Fix bugs in Firefx / Mozilla cookie detection: - - Don't require match for a leading "www" in URL. - - Don't return true if is_authenticator_valid(cookie) fails. - - Check for std::string.find() returning npos if it fails, not -1. - - Add extern "C" to browser.h file. - - lib/ - browser.C,h - mac_browser.mm (new, Mac only) - -David 11 Apr 2007 - - database: add sent_email table; keep track of emails sent to users - - boinc_cmd: add --read_cc_config command - - db/ - boinc_db.h - schema.sql - client/ - cs_cmdline.C - html/ops/ - db_update.php - remind.php - lib/ - boinc_cmd.C - -David 11 Apr 2007 - - client: write availability info to a log file - Don't let file exceed 1 MB or 1 year, whichever is larger - - client: work fetch tweak: add notion of fetchable_resource_share - - client: remove BOINC_OUTAGE code - - client: remove leftover CURL temp files (blc*) on startup - - client: remove duration_variability code - - client: in maintaining availability info (TIME_STATS), - ignore CPU throttling. - - Manager: don't divide work_buf_additional_days by 86400 (??) - - client/ - client_state.C,h - client_types.C,h - cpu_sched.C - cs_scheduler.C - file_names.h - http_curl.C,h - rrsim_test.C - sim.h - time_stats.C,h - work_fetch.C - clientgui/ - DlgAdvPreferences.cpp - lib/ - network.h - -David 11 Apr 2007 - - user web: wrong URL for BOINC Combined Stats - - html/inc/ - user.inc - -Charlie 11 Apr 2007 - - Move browser.C,h from lib/ to clientgui/ - - Move lib/mac_browser.mm to clientgui/browser_safari.mm - - Adjust makefiles and XCode project for above changes - - Remove extern "C" from browser.h - - Fix compiler warning in http_curl.C - - client/ - http_curl.C - clientgui/ - browser.C,h (added) - browser_safari.mm (added) - makefile.am - lib/ - browser.C,h (removed) - mac_browser.mm (removed) - makefile.am - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Charlie 12 Apr 2007 - - MGR: Fix bug in SimpleGUI prefs: it wasn't resetting the - tag when changing "Do work when user - idle" override from "0 (Run Always)" to an idle time value. - - clientgui/ - sg_DlgPreferences.cpp - -Rom 12 Apr 2007 - - Change directory layout for 32-bit Windows client - dependancies (curl, openssl, zlib) - - Include 64-bit Windows client dependancies - (curl, openssl, zlib) - - curl/ - - openssl/ - - zlib/ - - -David 12 Apr 2007 - - added script for getting statistics on job FLOP counts - - html/ops/ - index.php - job_times.php - -Charlie 12 Apr 2007 - - Fix compile error: #include in cs_benchmark.C - - Mac: Update XCode project, build scripts and build instructions to use - wxMac-2.8.3. - - Mac: Fix minor XCode project bug in ppc_Deployment build configuration - of target BOINC_Client (this build configuration is not used - for release builds.) - - client/ - cs_benchmark.C - mac_build/ - buildWxMac.sh - HowToBuildBOINC_XCode.rtf - setupForBOINC.sh - boinc.xcodeproj/ - project.pbxproj - -David 12 Apr 2007 - - client: log job completions - - client/ - client_types.C,h - cs_apps.C - file_names.C,h - -David 13 Apr 2007 - - feeder: improve efficiency of DB query - - client: add optional tags and - to scheduler RPC reply; - next scheduler RPC request will contain the indicated - subset of the time stats log or job log. - (no server-side support for this yet) - - client/ - client_types.C,h - cs_scheduler.C - file_names.h - scheduler_op.C,h - time_stats.C - db/ - boinc_db.C - -Bruce 16 April 2007 - - scheduler: remove compiler warnings - - feeder: broken because of David's checkin to db/boinc_db.C above. - David, please confirm if result.appid -> r1.appid is correct. - - locality scheduler: add new boolean config option - locality_scheduling_sorted_order. If this is enabled, - then instead of looking for work starting with a random - file on the host, - the scheduler will search for work in sorted order of the filenames, - starting with the lexagraphically smallest file - and moving upwards until work is found. - - sched/ - handle_request.C - feeder.C - sched_config.C - sched_config.h - sched_locality.C - server_types.h - doc/ - sched_locality.php - -Charlie 16 Apr 2007 - - Mac: fix Mac Stuffit file corrupted in switch from CVS to Subversion. - - Mac: Update backtrace to use entirely new code from Apple Developer - Technical Support. The format is now compatible with OS X's - built-in Crash Reporter, and is ready for 64-bit Mac Intel - applications (which will be available in OS 10.5). If the backtrace - is from a stripped application, the output of this new code can be - run through a new shell script (available on Apple's web site) to - add symbols to it from a separate symbol file - this is a very useful - feature. For details, see comments in mac_backtrace.h. - - Note: We build the PowerPC applications with GCC-3.3 to be backward - compatible with OS 10.3.0 - 10.3.8, and GCC 3.3 does not support - 64-bit applications, and Apple discontinued production of PowerPC - Macs in 2006, so this backtrace code does not support 64-bit PowerPC - G5 applications. - - clientgui/ - mac/ - BOINCSaver.nib.sit - lib/ - mac_backtrace.C,h (removed) - mac/ - dyld_gdb.h (added) - mac_backtrace.C,h (added) - QBacktrace.c,h (added) - QCrashReport.c,h (added) - QMachOImage.c,h (added) - QMachOImageList.c,h (added) - QSymbols.c,h (added) - QTaskMemory.c,h (added) - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Rom 17 Apr 2007 - - Test SVN Commit Email - -Charlie 17 Apr 2007 - - Mac: Fix Safari cookie logic for OS 10.3, move to Mac directory. - - Mac: Remove remaining obsolete backtrace source files, fix compiler - warnings, update makefile for changes. - - Mac: fix Mac icon files corrupted in switch from CVS to Subversion - and move to directory with other icon files. - - Mac: Delete very old obsolete files. - - client/ - mac/ (directory removed) - BOINC.term (removed) - BoincLaunch.app.zip (removed) - BoincLaunch.zip (removed) - GridRepublic.icns (extra copy removed) - mac_about.cpp,h (removed) - mac_join.cpp,h (removed) - mac_main.cpp,h (removed) - mac_prefs.cpp,h (removed) - postinstall (removed) - clientgui/ - makefile.am - mac/ - browser_safari.mm (moved from clientgui/browser_safari.mm) - res/ - BOINCMgr.icns (moved from client/mac/BOINCMgr.icns) - lib/ - makefile.am - MoreAddrToSym.c,h (removed) - MoreBacktrace.c,h (removed) - mac/ - QMachOImage.c - QMachOImageList.c - mac_build/ - boinc.xcodeproj/ - project.pbxproj - English.lproj/ - AboutBox.nib (removed) - boinc.nib (removed) - JoinDialog.nib (removed) - PrefsDialog.nib (removed) - -David 17 Apr 2007 - - file deleter: - - Antique deletion is now default; it gets done once/day - (pass -dont_delete_antiques to turn it off) - - retry of errors is now default; it gets done once/day - (pass -dont_retry_errors to turn it off) - - add -dont_delete_batches option, - and remove option from config file - - client: fix format string in job log write - - client/ - client_types.C - sched/ - sched_config.C,h - file_deleter.C - -David 17 Apr 2007 - - compile fix for FCGI - - lib/ - util.C - -David 17 Apr 2007 - - client: define work_buf_total as - max(1, work_buf_min + work_buf_additional). - Allow both work_buf_min and work_buf_additional to be zero. - - client: remove work_needed_secs() - - client/ - client_state.h - cpu_sched.C - sim.h - work_fetch.C - -David 17 Apr 2007 - - user web: better text for work-buf preferences; - defaults are 0 and 0.25. - - remove test_sanity.py stuff from configure.ac. - It's relevant only to the automated testing framework, - which no one uses except us. - - configure.ac - html/inc/ - prefs.inc - test/ - testbase.py - -Charlie 17 Apr 2007 - - Mac: Trim bogus extra frame and post-signal frames from backtrace - reports, like the old Mac backtrace did. - - lib/ - mac/ - mac_backtrace.C - QBacktrace.c - QCrashReport.c - -David 17 Apr 2007 - - "start" script: stop scheduler before daemons; otherwise can get - "no shared memory" errors from scheduler - - sched/ - start - -David 18 Apr 2007 - - Server: added sample_assimilator.C - (an assimilator that copies output files to a directory) - - Server: added sample_work_generator.C - - Note: until now we haven't supplied an example of of a work generator. - The above two components (and the uppercase app) let us create - an example project that actually does something. - My plan is to have make_project install all this stuff - - - Server: added count_unsent_results() to sched_util - - backend code: remove the -asynch arg from all programs. - This was used by old PHP test framework, not needed now. - - backend code: got rid of some compile warnings - - removed assimilator_placeholder and validator_placeholder. - These serve no useful purpose - (they're copies of other files, and they don't actually - act as placeholders since they get overwritten on a SVN update) - - sched/ - Makefile.am - assimilator.C - assimilator_placeholder.C (removed) - db_dump.C - db_purge.C - feeder.C - handle_request.C - make_work.C - message_handler.C - sample_assimilator.C (new) - sample_work_generator.C (new) - sched_config.C,h - sched_util.C,h - server_types.C - transitioner.C - trickle_handler.C - update_stats.C - validator.C - validator_placeholder.C (removed) - -Rom 18 Apr 2007 - - fixes #7: Includes the last remaining files needed to build and - package up 64-bit files for setup. We can now build and create - 64-bit windows installer packages. - - win_build/installerv2/ - BOINC.ism - BOINCx64.ism - win_build/installerv2/redist/Windows/src/ - - win_build/installerv2/redist/Windows/x64/ - boinccas.dll (Added) - boinccas95.dll (Added) - dbghelp95.dll (Added) - -David 18 Apr 2007 - - bug fixes for sample work generator - - sched/ - sched_config.C,h - sample_work_generator.C - -Rom 19 Apr 2007 - - Fix a minor compile problem on 64-bit Windows platforms with the - call to SetTimer. - - fixes #80: Introduce the notion of an alternate platform for 64-bit - Windows clients, which can also run 32-bit Windows apps. - - TODO: We'll need to refactor the whole platform section in the - scheduler request creation section so that it can handle - multiple alternate platforms and for Linux/Mac. - - api/ - windows_opengl.C - client/ - client_state.C, .h - cpp.h - cs_scheduler.C - -David 19 Apr 2007 - - Change things so that make_project installs a test application - (uppercase) and the daemons to go along with it - (sample_work_generator, sample_bitwise_validator, sample_assimilator). - This is mostly working, not completely. - - apps - upper_case.C - html/ops/ - mass_email_script.php - py/Boinc/ - setup_project.py - sched/ - sched_config.C,h - sample_work_generator.C - tools/ - make_project - project.xml - Makefile.am - -David 19 Apr 2007 - - scheduler: accept elements of the form - - windows_x86 - - in request messages. - These are platforms that the client can handle, - other than its main one, - listed in order of decreasing preferences. - fixes #81. - - sched/ - handle_request.C - server_types.C,h - -Rom 19 Apr 2007 - - Match the client-side and server-side XML for alternate - platforms. - - Print both the max active memory usage and max idle - memory usage after all the preference information has - been parsed. - - client/ - cs_prefs.C - cs_scheduler.C - -Rom 19 Apr 2007 - - Statistics view update. - (From Mifistor) - - clientgui/ - ViewStatistics.cpp, .h - -Rom 19 Apr 2007 (HEAD) - - Tag for 5.9.4 release, all platforms - boinc_core_release_5_9_4 - -David 20 Apr 2007 - - make_project: add periodic tasks to default config.xml: - dp_dump, update_uotd, update_forum_activities, update_stats, - update_profile_pages - - backend_lib.C: refuse to create a job for which some necessary - parameter (rsc_fpops_est, rsc_fpops_bound, etc.) is missing - - Unix build: don't include std_fixes.h in config.h. - std_fixes.h is (I think) deprecated - - sched_util: default sched log level is MSG_NORMAL - - client: add ".txt" to job log filename - - compile fixes - - configure.ac - api/ - reduce_main.C - client/ - file_names.C - lib/ - str_util.h - sched/ - sample_work_generator.C - sched_msgs.h - tools/ - backend_lib.C - make_project - -David 20 Apr 2007 - - str_util: don't use std::transform, since it causes problems - with VC++ express edition - - clientgui/ - sg_SGUIListControl.h - html/ops/ - db_update.php - lib/ - str_util.C,h - -David 20 Apr 2007 - - Advanced prefs: remove incorrect multiplication by 86400 - - client/ - cs_prefs.C - clientgui/ - DlgAdvPreferences.cpp - -Rom 20 Apr 2007 - - Fix: Win x64's alternate platform is really windows_intelx86 - not windows_x86_64. - - client/ - client_state.C - -Bruce 20 April 2007 - - Minor locality sched change for E@H - - sched/ - sched_locality.C - -David 23 Apr 2007 - - make_project: remove --no_test_app option, add --test_app option - - make_project: initial config in all cases has - one_result_per_user_per_wu = 0 - - sample_assimilator: make it able to handle > 1 output file - - boinc_cmd: make --help output more readable - - User web: fix some undefined vars in translation.inc - Rytis: let's try to fix PHP runtime warnings - - DB: add default values for app table (avoid MySQL warnings) - - db/ - schema.sql - html/ - inc/ - translation.inc - uotd.inc - ops/ - update_forum_activities.php - lib/ - str_util.C - boinc_cmd.C - py/Boinc/ - setup_project.py - sched/ - sample_work_generator.C - sample_assimilator.C - tools/ - make_project - uc_wu, uc_result (new) - -Rom 23 Apr 2007 - - fixes #120 - Rebuild all 32-bit Windows dependencies using - VS 2005 so tht they all depend on the new CRT runtime. Make - sure all dependencies include an application manifest. - - WIN: Rebuild libcurl for x64 and include an application - manifest so that it can find MSVCR80 when executing. - - curl/ - - openssl/ - - zlib/ - - -David 23 Apr 2007 - - client: fix bug where client is unresponsive if - there are unresolvable names in remote_hosts.cfg file - - client/ - gui_rpc_server.C,h - -Rom 24 Apr 2007 - - fixes #121 - Both 32-bit and 64-bit BOINC Windows Installation - packages require bootstrap loader. - - win_build/installerv2/ - BOINC.ism - BOINCx64.ism - -Rom 24 Apr 2007 - - fixes #122 - Windows benhcmark differences between VS 2003 and - VS 2005. - - The default FP model has changed since 2003, so change how the - BOINC components are compiled so that they use /fp:fast instead - of /fp:precise. - - win_build/ - *.vcproj - -David 24 Apr 2007 - - Server: add new database field host.error_rate. - Stores a dynamic estimate of the fraction of the hosts's - results that fail validation (updated by the validator). - - client/ - sim.C - cs_prefs.C - db/ - boinc_db.C,h - html/ops/ - db_update.php - sched/ - handle_request.C - sched_msgs.h - validator.C - -Eric K 24 Apr 07 - - Exteded the "altername_platform" mechanism to x86_64 linux - and solaris. The current alternate platforms found by configure - are... - x86_64-pc-linux-gnu -> i686-pc-linux-gnu - sparc64-sun-solaris -> sparc-sun-solaris - sparc-sun-solaris -> sparc-sun-solaris2.7 - powerpc64-apple-darwin -> powerpc-apple-darwin - - The alternate platform can be overridden on the configure command line - --with-boinc-alt-platform="platformname" - - m4/ - boinc_platform.m4 - sched/ - Makefile.am - client/ - client_state.C - cs_scheduler.C - client_state.h - -David 25 Apr 2007 - - eliminate spurious "work fetch too big" message - - client/ - work_fetch.C - -David 25 Apr 2007 - - fixes #126 - generate cronjob file in make_project - - tools/ - make_project - -Rom 26 Apr 2007 - - fixes #86 - 5.9.3 won't install on Win98 - Make sure that the custom actions that use NT - specific APIs are only executed on NT based systems. - - win_build/installerv2 - BOINC.ism - BOINCx64.ism - -Rom 26 Apr 2007 - - fixes #10 - Remove dependency on ATL framework for - boinc.dll on Windows - - With this checkin, the BOINC client should now be able - to be built with Visual Studio Express. - - clientgui/ - BOINCGUIApp.cpp, .h - clientlib/win/ - boinc_dll.cpp, .h - boinc_dll.rc - boincclient.rgs (deleted) - boincsens.rgs (deleted) - BOINCSENSSink.cpp, .h (deleted) - IdleTracker.cpp - NetworkTracker.cpp, .h (deleted) - SENSLogonSubscriptions.h (deleted) - SENSNetworkSubscriptions.h (deleted) - SENSOnNowSubscriptions.h (deleted) - SENSSubscriptions.h (deleted) - stdafx.h - -David 26 Apr 2007 - - server: fix bug that causes PHP scripts not to run from Cron - Fixes #129. From Christian Beer. - - html/ops/ - update_profile_pages.php - tools/ - run_in_ops - -David 26 Apr 2007 - - core client: set config settings to default values before - parsing cc_config.xml. - Otherwise, if you have a lot of log flags set, - and tell the client to reread a config file that - doesn't specify ANY log flags, - you'll end up with all the flags still set. - (from Sebastian Masch) - - make_project: add cmdline args for update_stats in initial config - - tools/ - make_project - client/ - log_flags.C,h - -Charlie 27 Apr 2007 - - Mac: Update build instructions. Mark old mac_build.php page as - deprecated and add link to new wiki page. - - doc/ - mac_build.php - mac_build/ - HowToBuildBOINC_XCode.rtf - -David 27 Apr 2007 - - bug in language_select.php made 'auto' not work, - i.e. its impossible to return to browser settings - after doing a cookie-based language choice - - translation.inc and language_select.php were using $HTTP_SERVER_VARS, - which appears to be deprecated in PHP 5. - Use $_SERVER instead. - - made strings at top of web site translatable - - html/ - inc/ - translation.inc - user/ - language_select.php - languages/translations/ - en.po - -David 27 Apr 2007 - - Major rewrite of email-sending programs. - Instead of editing their source (ugh!) - you can now use command-line args to get testing functionality. - - html/ops/ - remind.php - mass_email_script.php - -Rytis 29 Apr 2007 - - Private message functionality for the forums. - NOTE: needs database update. - - html/ - user/ - forum_forum.php - forum_help_desk.php - forum_index.php - forum_pm.php (new) - white.css - img/ - pm.png (new) - - inc/ - db.inc - forum.inc - forum_user.inc - user.inc - - ops/ - db_update.php - - db/schema.sql - -David 30 Apr 2007 - - UOTD code: don't generate a static page; add uotd.php - - html/ - ops/ - update_uotd.php - inc/ - uotd.inc - user/ - uotd.php (new) - -Rom 30 Apr 2007 (HEAD) - - Tag for 5.9.5 release, all platforms - boinc_core_release_5_9_5 - -David 30 Apr 2007 - - scheduler: added (correct this time!) support for - tags in scheduler requests. - - file_deleter: add check for -dont_delete_batches - - sched/ - file_deleter.C - handle_request.C - sched_array.C,h - sched_locality.C,h - sched_resend.C,h - sched_send.C,h - server_types.h - -David 30 Apr 2007 - - core client: if platform is different from platform in state file, - print a message but don't reset projects - (otherwise people running on 64-bit machines would lost - in-progress jobs when switching to 64-bit client) - - client/ - client_state.C - -David 30 Apr 2007 - - scheduler: un-comment-out code to send abort_if_result_not_started - messages - - sched/ - handle_request.C - -David 1 May 2007 - - make_project and upgrade now write a file 'local.revision' - in the project home directory. - It contains the output of /usr/bin/svnversion, - i.e. the code revision from which the server software was built. - - Web files that create directories now give them g+rwx permissions - - html/inc/ - cache.inc - translation.inc - sched/ - edf_sim.C - tools/ - make_project - upgrade - -Rom 30 Apr 2007 (HEAD) - - Tag for 5.9.6 release, all platforms - boinc_core_release_5_9_6 - -Charlie 2 May 2007 - - Mac: Revert to wxMac-2.8.0 due to bugs in later versions. - - Mac: Update XCode project, build scripts and build instructions to use - wxMac-2.8.0. Tag these changes for 5.9.6 release. - - mac_build/ - buildWxMac.sh - HowToBuildBOINC_XCode.rtf - setupForBOINC.sh - boinc.xcodeproj/ - project.pbxproj - -Rom 2 May 2007 - - fixes #154: - * refactored the alternate platform mechinism so that we - can support multiple alternate platforms. - * moved everything to cs_platforms.C since we expect the - kind of sprawl that is in host_info.C on the *nix - environments. - - Clean up some warnings - - client/ - acct_setup.C - client_state.C, .h - client_types.h - cs_platforms.C (Added) - cs_scheduler.C - cs_statefile.C - http_curl.C - lib/ - str_util.h - -Matt 2 May 2007 - - updated db/validator to add logic for wuhash table. - wuhash table (see schema.sql) has two fields, user and - project-specific workunit id so that a user's contribution - can be tied to the appropriate workunit ID in the science - database (a different ID than in the BOINC database). This logic - is only enacted with -update_wuhash flag on command line. - The project-specific workunit id is expected to be found - in the workunit.opaque field. - - db/ - schema.sql - constraints.sql - boinc_db.C,h - sched/ - validator.C - html/ops/ - db_update.php - -Walt 2 May 2007 - - Add cs_platform.C to Makefile.am - - client/ - Makefile.am - -David 2 May 2007 - - Scheduler: in reply, add element to each and elements to - (server half of multi-version changes) - - scheduler: make ssp a global; could eliminate from args everywhere - - db/ - boinc_db.h - sched/ - feeder.C - main.C,h - sched_send.C - sched_shmem.C,h - server_types.C - -Matt 2 May 2007 - - per Dave's request changed "wuhash" to "credited_job" which - is a little more self-explanatory. - - db/ - schema.sql - constraints.sql - boinc_db.C,h - sched/ - validator.C - html/ops/ - db_update.php - -Charlie 2 May 2007 - - Mac: Use run_program() instead of wxExecute to launch boinc CC, - because under wxMac-2.8.0, wxExecute starts a separate thread - to wait for child's termination. wxProcessTerminationThread uses - a huge amount of CPU time (about 11% of 1 CPU on 2GHz Intel Mac). - - Mac: add cs_platform.C to XCode project. - - clientgui/ - BOINCGUIApp.cpp - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Rom 3 May 2007 - - fixes #5: Include the version number of the client next to it's - name, so people can see if they need to upgrade a remote client. - - fixes #149: Change the parsing function for the - CBOINCGridCellProgressRenderer so that we don't have to update - the docs or screenshots. Display the progress bar as a resource - share fraction. - - clientgui/ - AdvancedFrame.cpp - BOINCGridCtrl.cpp - MainDocument.cpp, .h - ViewProjectsGrid.cpp - -David 3 May 2007 - - Core client: handle multiple platforms correctly. - Remove the tacet assumption that a host can handle - applications for a single platform. - With the Apr 30 scheduler changes, - a project may (at different times) - send app versions for the same app and version number, - but different platforms. - Before we would have ignored all but the first; - now we handle them correctly. - - Implementation notes: - - Add APP_VERSION.platform, RESULT.platform, - and RESULT.version_num. - If these are missing from an XML doc - (e.g. an existing state file or a scheduler reply - from a project not running current server) - then set to the primary platform. - - Continue to write workunit.version_num - and active_task.version_num to state file, - even though these are no longer part of the struct. - This allows users to revert to an older version. - - client/ - app.C - check_state.C - client_state.C,h - client_types.C,h - cs_apps.C - cs_scheduler.C - cs_statefile.C - sim.C - -David 3 May 2007 - - Core client: small changes to make the client simulator act reasonably. - - change > to >= for check for running beyond sched period - - adjust debts before calculating anticipated debt - - client/ - client_types.h - cpu_sched.C - sim.C - -Charlie 3 May 2007 - - Mac: Update license agreement, modify build scripts to include license - agreement with bare-client releases, not only wih Manager. - - mac_installer/ - License.rtf - release_boinc.sh - release_GridRepublic.sh - -Rom 3 May 2007 - - Fix build break for Unicode builds - ( From Frank Weiler ) - - Win: Introduce a custom action to delete any lingering binaries from the - installation directory before MSI determines what needs to be copied. - - Win: Introduce a custom action that will migrate - C:\Program Files (x86)\BOINC to C:\Program Files\BOINC for the x64 - upgrade scenario. - - clientgui/ - BOINCGridCtrl.cpp - win_build/installerv2/redist/Windows/src/boinccas/ - boinccas.rc - boinccas95.def - boinccas95.vcproj - CACleanupOldBinaries.cpp, .h (Added) - CAMigratex86x64.cpp, .h (Added) - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - -Rom 3 May 2007 - - Include the new custom actions in the Windows Installers - - win_build/installerv2/ - BOINC.ism - BOINCx64.ism - -Rom 3 May 2007 (HEAD) - - Tag for 5.9.7 release, all platforms - boinc_core_release_5_9_7 - -David 4 May 2007 - - scheduler: in send_result_abort(), distinguish between - the enumeration ending versus it failing. - This fixes a bug where lots of results would be - incorrectly aborted if there's a database problem. - This fix only matters if you use the config flag. - (from Kevin Reed) - - validator: add -credit_from_wu option. - This gets credit from the workunit XML - (which must have a flag). - This lets you use credit-from-WU with the standard validators - (sample_bitwise and sample_trivial) - - sched/ - handle_request.C - validator.C - validate_util.h - -David 4 May 2007 - - API: if using graphics, set worker thread stack size limit to max - (from Rhiju Das of Rosetta@home) - - api/ - graphics_impl.C - -David 4 May 2007 - - Sim-related stuff - - sched/ - edf_sim.C - client/ - sim.C,h - -David 4 May 2007 - - Oops! Small mistake in multi-platform changes. - - client/ - cs_scheduler.C - -David 4 May 2007 - - Server status page: fix bug that showed most daemons as not running - on FC6; needed to trim white space from pid - - Server status page: show server software SVN revision - - html/ops/ - sample_server_status.php - -Charlie 5 May 2007 (HEAD) - - Bump version to 5.9.8 for release with multi-platform fix. - - Tag for 5.9.8 release, all platforms - boinc_core_release_5_9_8 - - client/ - version.h - -Charlie 6 May 2007 - - Mac: On Intel Macs, support PowerPC Mac as a secondary platform. - - client/ - cs_platforms.C - -David 6 May 2007 - - core client: another multi-platform fix (missing \n) - - client/ - client_types.C - -David 6 May 2007 - - core client: when parsing statefile or scheduler reply, - if get an app_version with unknown platform name, ignore it. - This means that, e.g. if someone moves a BOINC directory - from Intel to PowerPC Mac, things will still work right. - - client/ - client_state.C,h - cs_platforms.C - cs_scheduler.C - cs_statefile.C - -Janus 6 May 2007 - - Removed some old debug code and changed a bogus error message to a more - sane one. - - html/inc/ - translation.inc - -David 6 May 2007 - - make_project: create element in config.xml - (so that show_logs.php will work). - Fixes #170 - - py/Boinc/ - setup_project.py - -Charlie 7 May 2007 (HEAD) - - Bump version to 5.9.9 for release with multi-platform fix. - - Tag for 5.9.9 release, all platforms - boinc_core_release_5_9_9 - - client/ - version.h - -Janus 7 May 2007 - - Removed BOINC.dk from stats sites as it is in the process of shutting down - several of its services. - - /html/inc/ - stats_sites.inc - -David 7 May 2007 - - core client: fix bug in code to ignore unknown platforms. - - client/ - cs_scheduler.C - -Rom 7 May 2007 - - fixes# 162: Fix the Windows setup to install the CRT as a private assembly - so that we can avoid running into sxs problems. At some point I'll have - to revisit this and figure out what is really going on. - - win_build/installerv2/ - BOINC.ism - BOINCx64.ism - -David 7 May 2007 - - core client: add config option; - eliminates use of alternate platforms. - - client/ - client_state.h - cs_platforms.C - cs_statefile.C - log_flags.C,h - -Rom 7 May 2007 - - fixes #110 - Simple GUI: "spacer" image is not updated - - clientgui/ - sg_ImageLoader.cpp - sg_ProjectsComponent.cpp, .h - -Rom 7 May 2007 - - fixes #4 - BOINC Manager should be able to find it's - localization files. - - BOINCMgr will now check in the absolute path in which - it was installed as well as the relative path from where - it was executed from. - - - clientgui/ - BOINCGUIApp.cpp, .h - -David 7 May 2007 - - client simulator: - - Add --server_uses_workload option - (simulate server that does EDF simulation) - - Add simulation of exponential backoff when don't get work. - Otherwise it will keep asking forever. - - move non-interesting stuff to sim_util.C - - change simulator code to use ' instead of " in compiled translations - - client/ - makefile_sim - sim_util.C - sim.C,h - work_fetch.C - html/inc/ - translation.inc - sched/ - edf_sim.C - edf_sim.h (new) - -Rom 7 May 2007 - - Tag for 5.9.10 release, all platforms - boinc_core_release_5_9_10 - - client/ - configure.ac - version.h - -Janus 8 May 2007 - - Initial checkin of a tiny part of the serverside Bittorrent file - distribution code. Everything BT-related will reside in /html/bt and - will be disabled by default. - - Id property set on belement.inc - - html/bt/ (new) - README (new) - INSTALL (new) - html/bt/inc/ (new) - belement.inc (new) - -David 8 May 2007 - - core client: improve error message when can't link app version - - client/ - client_state.C - cs_statefile.C - -David 8 May 2007 - - GUI RPC: add new element d_boinc to DISK_USAGE; - tells how much disk space BOINC is using - (not including projects). - - added project.max_infeasible_count to client simulator - - client/ - gui_rpc_server_ops.C - sim.C,h - sim_util.C - clientgui/ - ViewResources.cpp - lib/ - filesys.C - bui_rpc_client.h - bui_rpc_client_ops.C - -Charlie 8 May 2007 - - Mac: Refresh Disk Usage pane only on every 10th call to reduce - CPU overhead, but refresh once per second the first 3 times - to work around a bug drawing the legends. (Also included in - 5.9.10 Mac release, added to boinc_core_release_5_9_10 tag.) - - clientgui/ - ViewResources.cpp - -Janus 9 May 2007 - - Fixed an issue where long unbreakable post content could break the layout - of the forum for an entire thread. Now this only breaks the layout for that - particular post. - If you use a different css stylesheet than white.css you should copy over the - #thread part. - Thanks to Lee Carre for pointing out the issue and possible solution. - - Added BEncoded dictionaries to the Bittorrent checkin. - - html/user/ - white.css - html/bt/inc/ - bdictionary.php - -Charlie 9 May 2007 - - Finally fixed a long-standing bug which caused the PieCtrl legend to - be clipped to a small rectangle when first drawn on Macs. If the - legend changed so it required more space, this bug would also clip - to the former size the first time it was updated. This problem - did not occur on Windows. - NOTE: I currently can't build on Windows or Linux, so please verify - that my modified code works OK on those platforms. - - Mac: removed the hack which refreshed once a second the first 3 times - to work around this bug. - - clientgui/ - ViewResources.cpp - common/ - wxPieCtrl.cpp - -David 9 May 2007 - - Client simulator: added --dcf_dont_use and --dcf_stats options - (alternate ways of computing DCF) - - client/ - cpu_sched.C - sim.C,h - sim_util.C - -David 9 May 2007 - - scheduler: slight code cleanup prior to adding EDF stuff - - languages/translations/ - en.po - sched/ - sched_send.C - server_types.h - -Rytis 9 May 2007 - - Update BBCode to allow easy linking to Trac tickets, wiki and changesets. - - html/ - user/ - bbcode.php - inc/ - text_transform.inc - -Charlie 10 May 2007 - - A better fix for Mac PieCtrl legend clipping bug: wxPieCtrl::Refresh() - calls new wxPieCtrlLegend::MeasureText() method to caclulate size of - the legend area and SetSize() of legend window before OnPaint() is - called. Apparently, calling SetSize() from within the OnPaint() - function doesn't adjust the "invalid" area to be repainted until - a return to the event loop, so the added area didn't get painted - until the next OnPaint() call. Also, the wxMemoryDC bitmap was - being created at the smaller size, so that was also clipping the - drawing. - - Mac: include size of BOINC Manager bundle in BOINC total disk usage - displayed in Disk Usage pane Pie Chart. - - clientgui/ - BOINCGUIApp.cpp, .h - ViewResources.cpp - common/ - wxPieCtrl.cpp - -Rom 10 May 2007 - - Possible fix for a crashing condition when the manager is shutdown - from the system tray icon. - - clientgui/ - BOINCBaseFrame.cpp - BOINCTaskBar.cpp, .h - - -David 10 May 2007 - - client simulator: make it compile on Win - - client: parse version_num in active_task to avoid spurious error msg - - client/ - app.C - sim.C - win_build/ - sim.vcproj - -Rom 10 May 2007 - - fixes #164: Aborting a Task - - If a task has already been aborted, don't enable the abort task - button. - - clientgui/ - ViewWork.cpp - ViewWorkGrid.cpp - -David 10 May 2007 - - client: add constructor/destructor for APP_VERSION, WORKUNIT, RESULT - - client: with anonymous platform, don't link app version twice - - client/ - client_types.h - client_state.C - cs_apps.C - cs_files.C - cs_prefs.C - cs_scheduler.C - cs_statefile.C - sim_util.C - html/ - uotd.inc - sched/ - edf_sim.h - server_types.h - client/ - app.C - sim.C - win_build/ - sim.vcproj - -David 10 May 2007 - - scheduler: add config option. - If set, the scheduler will use EDF simulation, - together with the in-progress workload reported by the client, - to avoid sending results that - 1) will miss their deadline, or - 2) will cause an in-progress result to miss its deadline, or - 3) will make an in-progress result miss its deadline - by more than is already predicted. - If this option is not set, or if the client request doesn't - include a workload description (i.e. the client is old) - use the existing approach, which assumes there's no workload. - NOTE: this is experimental. Production projects should not use it. - - EDF sim: write debug stuff to stderr instead of stdout - - Account manager: - - if an account is detach_when_done, set dont_request_more_work - - check done_request_more_work even for first-time projects - - update_uotd: generate a file for use by Google gadget - - user_links(): use full URLs (so can use in Google gadget) - - client/ - acct_mgr.C - work_fetch.C - html/ - inc/ - uotd.inc - util.inc - user/ - uotd_gadget.php (new) - sched/ - Makefile.am - edf_sim.C - sched_config.C,h - sched_resend.C - sched_send.C,h - server_types.C,h - -Janus 10 May 2007 - - Added BEncoded integer support for the Bittorrent utility files - - /html/bt/inc/ - binteger.php - -David 10 May 2007 - - boinc_cmd: add --network_available and --get_cc_status options - - lib/ - boinc_cmd.C - -Rom 10 May 2007 - - Add a project config.xml option to allow moderators to ban - accounts. - - 1 - - html/inc/ - forum.inc - forum_moderators.inc - -David 10 May 2007 - - core client: fix big that caused - duplicate app versions to appear in state file - (this was harmless, BTW) - - client/ - cs_scheduler.C - -Rom 10 May 2007 - - Fix a build break in the manager. - - client/ - app.h - lib/ - common_defs.h - -Charlie 10 May 2007 - - One more rework of Mac PieCtrl following Frank Weiler's suggestions. - Eliminated wxPieCtrlLegend class completely, integrated legend - drawing into the PieCtrl class itself, greatly simplifying it. - - Mac only: create CViewResources::GetViewRefreshRate() to update - PieCtrl only every 10 seconds to reduce CPU overhead instead of - doing it with a counter in CViewResources::OnListRender(). - - Mac: Determine size of BOINC Manager bundle in core client if it was - launched by Manager rather than in the Manager itself, to get - correct information when controlling a remote computer. - - client/ - gui_rpc_server_ops.C - clientgui/ - BOINCGUIApp.cpp, .h - ViewResources.cpp, h - common/ - wxPieCtrl.cpp, h - -David 11 May 2007 - - translation.inc: backed out change of 7 May; - we need to use " to expand $PROJECT var - - scheduler: - take work_buf_min into account in deciding whether - a result will be reported by its deadline. - - all back end programs: - better error message if can't parse config file - - html/inc/ - translation.inc - sched/ - *.C - -David 11 May 2007 - - web RPC: fix bug in XML variant in show_user.php, bad-ID case. - - html/user/ - show_user.php - -David 11 May 2007 - - Manager: show (in Project/status) if a sched RPC is in progress - - clientgui/ - ViewProjects.cpp - ViewProjectsGrid.cpp - -David 11 May 2007 - - web RPC: show lots more info in team_lookup.php, XML version - - html/inc/ - xml.inc - -David 11 May 2007 - - Python tools: - - removed "add" (long deprecated) - - version.py is needed only in test/; - remove references to it in boinc_path_config.py, - and don't copy it to project/bin - - py/Boinc/ - boinc_path_config.py.in - setup_project.py - tools/ - add (removed) - -Rom 12 May 2007 - - Change the 'ProductName' in the resource structures to - 'BOINC client' instead of 'BOINC core client' - - client/win/ - boinc_cmd.rc - boinc_ss.rc - clientgui/ - BOINCGUIApp.rc - -David 14 May 2007 - - scheduler: add max_wus_in_progress option. - Limits total # of in-progress results per host - (independently of #CPUs) - - sched/ - sched_config.C,h - sched_resend.C - sched_send.C - server_types.h - -David 14 May 2007 - - core client: in statefile read, set avp->platform - before linking. - - core client: when parse app_info.xml, - set platform to primary platform. - Otherwise anonymous platform mechanism doesn't work. - - GUI RPC: in attach project RPC, check for - already attached even in config file case - - client/ - cs_statefile.C - gui_rpc_server_ops.C - scheduler_op.C - time_stats.C - -David 14 May 2007 - - core client: on attach to project, - if the initial sched request failed, - the manager would show "communicating" for 60 sec, - then time out and show "failed to attach". - But the project would actually be attached. - This was due to a logic error, - but I fixed it in a more fundamental way: - by considering an attach to be complete immediately, - without waiting for a successful scheduler RPC. - - This was originally done to ensure that the URL and account key - were valid. - But when using the BOINC Manager, we've already verified - both of these before doing the attach project RPC. - - When using boinc_cmd, you now have to check for messages - indicating a bad URL or account key. - I changed things to print these messages on every sched RPC. - - Implementation: the notion of "tentative project" no longer exists. - - client/ - client_state.C,h - client_types.C,h - cs_account.C - cs_benchmarks.C - cs_scheduler.C - gui_rpc_server_ops.C - scheduler_op.C - sim.C - sim_util.C - -David 14 May 2007 - - API: Eric Myers reported that my 4 May checkin - (which increased worker thread stack size to the limit - returned by getrlimit()) - broke his app on several Linux platforms. - So I added a worker_thread_stack_size element to BOINC_OPTIONS. - If you want an increased stack size, set this. - - web RPC: add and elements to - the XML returned by get_project_config.php - - html/user/ - sample_get_project_config.php - api/ - graphics_impl.C - -David 14 May 2007 - - client: fix bug where: - 1) client wakes up from hibernate - 2) one or more network ops start (e.g. because backoff expired) - 3) ops fail because DNS system isn't up yet - 4) connect to reference site fails too - 5) user sees "please create physical connection", - even though there's been a physical connection the whole time. - Solution: - - keep track of "last wakeup time": the last time the - time of day (measured in poll_slow_events()) - increased by more than 10 times the polling interval. - This must be either coming out of hibernation, - or the user resetting the system clock. - - When a network operation fails, try to contact the reference site - only if it's more than 30 seconds after the last wakeup time. - - client/ - client_state.C,h - net_stats.C - -Rom 15 May 2007 - - MGR: Increase the connection timeout to one minute to account - for slow machines during boot-up. - - clientgui/ - MainDocument.cpp - -David 15 May 2007 - - client: change Win program launch to suppress hourglass cursor - - client simulator: add --cpu_sched_rr_only and --dual_dcf options - - client/ - app.h - app_start.C - client_types.C,h - cpu_sched.C - cs_scheduler.C - sim.C,h - work_fetch.C - -David 15 May 2007 - - user web: add - $s = '$s'; - at top of compiled translation files, - to allow re-ordering of format codes - (from H. Komori) - - html/inc/ - translation.inc - -Rom 16 May 2007 - - Tag for 5.9.11 release, all platforms - boinc_core_release_5_9_11 - - client/ - configure.ac - version.h - -David 17 May 2007 - - sort team-lookup results by avg credit desc - - html/user/ - team_lookup.php - -Charlie 17 May 2007 - - Mac: Change "GridRepublic Manager" to "GridRepublic Desktop" in - GridRepublic ReadMe file. - - mac_installer/ - GR-ReadMe.rtf - -Charlie 18 May 2007 - - Mac: New shell script make_GridRepublic.sh creates a GridRepublic - installer from a standard (unbranded) Mac BOINC installer plus - the GridRepublic branded resources: GridRepublic.icns, - GridRepublic.tiff, GR_ReadMe.rtf and skin files. - - mac_installer/ - make_GridRepublic.sh - -David 18 May 2007 - - client simulator: fix cpu_sched_rr_only bug - - boinc_cmd: canonicalize URLs - - user web: fix link to Top Teams - - back end: remove code related to alternate download dir - - client/ - cpu_sched.C - sim.C - html/ - inc/ - stats_sites.inc - user/ - stats.php - lib/ - boinc_cmd.C - sched/ - file_deleter.C - sched_config.C,h - -David 18 May 2007 - - fix bugs in job_times.php; it shows the correct mean and stdev now. - - html/ops/ - job_times.php - -Charlie 19 May 2007 - - Mac installer: if installer package includes a custom skin, set - preferences of all users to that skin. - - mac_installer/ - PostInstall.cpp - -Janus 20 May 2007 - - Added BEncoded lists to the Bittorrent serverside utility classes - - html/bt/inc/ - blist.php (new) - -Rom 21 May 2007 - - Bug Fix: fprintf is an ANSI function in Linux, convert Unicode - string to ANSI before writing them to sdterr. - - Bug Fix: Fix the abort button logic, VS 2005 was throwing some - useful warnings. - - clientgui/ - SkinManager.cpp - ViewWork.cpp - ViewWorkGrid.cpp - -David 21 May 2007 - - scheduler: fix bug that caused crash in anonymous platform case; - don't send result platform or version num if anon platform. - - back end: parse server status-related config elements - (wwww_host etc.) to avoid XML warnings - - sched/ - sched_config.C - sched_send.C - server_types.C - -David 21 May 2007 - - client: if anonymous platform, don't match platform/version - in lookup_app_version(); just match app - - client/ - client_state.C - -David 21 May 2007 - - feeder: the query change of 13 April broke the -random_order, - -priority_order, -priority_order_create_time,and -mod options - (from Nicolas Maire) - - sched/ - feeder.C - -Rom 21 May 2007 - - fixes #182 - System tray icon should be removed for both exit - scenarios. - - clientgui/ - BOINCBaseFrame.cpp - BOINCTaskBar.cpp - -David 21 May 2007 - - API: don't include config.h in a few places - - api/ - graphics_impl.C - texture.C - tgalib.C - -David 21 May 2007 - - feeder: fixed SQL query again - - start script: print error if host has no daemons - - client: fix bug if #CPUs changes during benchmark - - client/ - cs_benchmark.C - sched/ - feeder.C - start - -Janus 22 May 2007 - - Fixed missing version trackers in BInteger, BList classes - - Added BString class for BEncoded strings for the Bittorrent code - - html/bt/inc/ - blist.php - binteger.php - bstring.php (new) - -Rom 22 May 2007 - - fixes #85 - Both Grid based views and List based views are now - available. - - clientgui/ - AdvancedFrame.cpp, .h - Events.h - -Rom 22 May 2007 - - fixes #187 - Fix the initial refresh interval for the various - views. - - clientgui/ - AdvancedFrame.cpp, .h - -David 22 May 2007 - - scheduler: fix FCGI compile - - API: add files for version 6 graphics - - api/ - Makefile.am - graphics2.C (new) - graphics2_unix.C (new) - graphics2_win.C (new) - sched/ - Makefile.am - -David 22 May 2007 - api/ - graphics2.C - graphics2_win.C - -Charlie 22 May 2007 - - Manager: Fix crash bug in wxPieCtrl. - - Mac: Add list control sources back into XCode Project - (ViewTransfers.cpp,.h, ViewWork.cpp,.h,ViewProjects.cpp,.h) - - Mac: Revert XCode project, build scripts and build instructions to use - wxMac-2.6.3 as a temporary workaround to SimpleGUI drawing bug. - - clientgui/ - wxPieCtrl.cpp - mac_build/ - buildWxMac.sh - HowToBuildBOINC_XCode.rtf - setupForBOINC.sh - boinc.xcodeproj/ - project.pbxproj - -David 22 May 2007 - - lib/filesys: do timed retry of delete/rename on Unix as well as Win - - client: sleep 1 sec (not 60) before retry statefile write - - client: parse in workunit XML - - scheduler: better error messages if insert_wu_tags() fails - - api/ - graphics2_unix.C - client/ - client_state.C - client_types.C - lib/ - filesys.C - sched/ - sched_send.C - -Rom 23 May 2007 - - MGR: Make it as plain as day what the new menu item it geared - towards by calling it the accessible view. - - clientgui/ - AdvancedFrame.cpp - -Rom 23 May 2007 - - Tag for 5.9.12 release, all platforms - boinc_core_release_5_9_12 - - client/ - configure.ac - version.h - -Janus 23 May 2007 - - Added "IllegalArgumentException" class for use in the remainin BT code - - Also added the class which will be used to represent the contents of - a .torrent descriptor. - This class can generate (hopefully!) valid .torrents and register the file - that the torrent points to with the database for later tracking. - The constructor takes a list of webseeds (HTTP servers) as input together - with an URL where the tracker can be found - and of course the file that it - should generate data for. - - html/bt/inc/ - torrent.php (new) - illegalargumentexception.php (new) - -David 23 May 2007 - - client: unscrambled some of the #ifdefs in hostinfo_unix.C - In Linux case, if measured RAM size is negative, print some info. - - client/ - hostinfo_unix.C - -David 23 May 2007 - - client, Unix: always use 1 (rather than slot#) in ftok(). - Slot is already encoded in path. - - client, Linux: get memory size from /proc/meminfo - rather than sysconf() - - client/ - app_start.C - hostinfo_unix.C - -Jeff 23 May 2007 - - fixed a linkage problem whereby the fcgi_file_upload_handler was - linking to some non-fcgi versions of .o files. This was resulting - in segfaults. - - added an fcgi entry counter to the file_upload_handler - - sched/ - Makefile.am - file_upload_handler.C - -David 23 May 2007 - - debug version 6-style graphics on Windows. - New example app works now! - - api/ - graphics2.C,h - graphics2_util.C - graphics2_win.C - lib/ - util.C,h - -David 23 May 2007 - - debug version-6-style graphics on Unix - - api/ - Makefile - graphics2.h - graphics2_win.C - graphics2_util.C - graphics2_unix.C - lib/ - shmem.h - -Charlie 23 May 2007 - - Mac: Remove obsolete XCode project script phase for separate SG - build symbol table. - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 24 May 2007 - - Add a mechanism for a project to shut down gracefully. - If 1 is included in config.xml, - this gets send to clients, - and they display a "Project ended - OK to detach" message. - - client/ - client_state.C - client_types.C,h - scheduler_op.C - clientgui/ - VIewProjects.cpp - VIewProjectsGrid.cpp - lib/ - gui_rpc_client.h - gui_rpc_client_ops.C - gui_rpc_client_print.C - sched/ - main.C - sched_config.C,h - server_types.C - -David 24 May 2007 - - client, Windows: when making calls to get free disk space - (e.g. pGetDiskFreeSpaceEx()) - pass the path of the current directory instead of NULL. - Otherwise, if we're running as an unprivileted user - with no access to the root dir, - the call fails and reports zero free space. - - lib/ - filesys.C - -David 24 May 2007 - - renamed texfont.c to texfont.C to fix automake warning - - api/ - texfont.C (changed c to C) - Makefile.am - -David 26 May 2007 - - Add GUI RPC to set projects debts (short and long term). - Lets you set all of them at once, as suggested by Nicolas Alvarez. - fixes #131 - - client/ - gui_rpc_server_ops.C - html/user/ - sample_index.php - lib/ - boinc_cmd.C - gui_rpc_client.h - gui_rpc_client_ops.C - -David 27 May 2007 - - Manager: make some strings translatable, and fix them - - clientgui/ - sg_StatImageLoader.cpp - sg_ProjectsComponent.cpp - sg_ViewTabPage.cpp - DlgAdvPreferences Base.cpp - -Rytis 27 May 2007 - - Donations system (running via PayPal). - NOTE: DB updated needed. Documented in - http://boinc.berkeley.edu/trac/wiki/PayPalDonations - - db/ - schema.sql - html/user/ - currency.js - donate.php - donated.php - donation_ipn.php - donations.php - img/ - paypal_logo.png - -David 28 May 2007 - - Unix: 'make install' copies certificate authority file - to client directory - - client/ - Makefile.am - -David 28 May 2007 - - user web: host-merging logic was wrong for Intel CPUs - with MHz instead of GHz in their names. - - user web: it no hosts eligible for merging, say so - instead of showing blank table - - html/ - inc/ - host.inc - user/ - host_edit_form.php - -Rom 29 May 2007 - - fixes #207 - HTML entities in BOINC Manager have to be decoded - - BOINC Manager can now properly decode HTML entites for the - following elements: - - Projects Tab: - Project Name - User Name - Team Name - Work Tab: - Project Name - Application Name - Transfers Tab: - Project Name - Messages Tab: - Project Name - Disk Tab: - Project Name - - fixes #212 - Info in columns misaligned on switching views - - Properly restore which tab view the user left from when going - to the advanced view from the simple view - - Fix the problem that caused the manager to wait for 7 seconds - to display anything on initial startup. - - Store the various Grid/List persisted data seperately so that - the different header sizes don't cause problems. - - clientgui/ - AdvancedFrame.cpp - BOINCBaseView.cpp, .h - BOINCGridCtrl.cpp - ViewMessages.cpp, .h - ViewMessagesGrid.cpp, .h - ViewProjects.cpp, .h - ViewProjectsGrid.cpp, .h - ViewResources.cpp, .h - ViewStatistics.cpp, .h - ViewTransfers.cpp, .h - ViewTransfersGrid.cpp, .h - ViewWork.cpp, .h - ViewWorkGrid.cpp, .h - lib/ - gui_rpc_client_ops.C - -Rom 29 May 2007 - - Disable HtmlEntityEncode/HtmlEntityDecode on all platforms but - Windows for now. - - Change all references of mb_str() to c_str() in SkinManager.cpp - to avoid SIGILL's on Unicode environments. - - fixes #215: Customize the VBS script used to launch BOINC Manager - for each system we install on. - - clientgui/ - BOINCBaseView.cpp - SkinManager.cpp - win_build/installerv2/ - BOINC.ism - BOINCx64.ism - win_build/installerv2/redist/Windows/ - BOINC Manager.vbs (Deleted) - win_build/installerv2/redist/Windows/src/boinccas/ - boinccas.sln - boinccas95.vcproj - CACreateVBSShortcut.cpp, .h (Added) - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - -Rom 29 May 2007 - - Tag for 5.10.0 release, all platforms - boinc_core_release_5_10_0 - - client/ - configure.ac - version.h - -David 29 May 2007 - - client: add cmdline options --exit_before_start and --exit_after_finish. - This cause the core client to exit immediately before or after - running a job, - letting you examine the contents of the slot directory. - - scheduler: changed max # of CPUs used in daily_result_quota - limit from 4 to 8, and make it a compile-time parameter - - feeder/scheduler: make the number of work items in shared - memory configurable (in config.xml). - The element is - - feeder: make the size of the work item query configurable - (0 error results and no success results, - set its HR class to zero - From M.F. Somers. - - db/ - boinc_db.C,h - sched/ - sched_array.C - sched_hr.C,h - transitioner.C - -Rom 29 May 2007 - - fixes #220: 5.10.0 won't install on Win98 - - fixes #11: Installer installs autostart command when not - selected (Win9x) - - win_build/installerv2/redist/Windows/src/boinccas/ - boinccas.rc - boinccas95.vcproj - CACreateVBSShortcut.cpp - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - -Charlie 30 May 2007 - - Client: fix compile break. - - Mac: Fix substantial build breaks in reorganized hostinfo_unix.C. - - client/ - cs_cmdline.C - hostinfo_unix.C - -Rom 30 May 2007 - - MGR: _() is for static content, wxGetTranslation is for dynamic - content. - - clientgui/ - sg_StatImageLoader.cpp - -David 30 May 2007 - - fixed --help output of client and boinc_cmd - (from Frank Thomas) - Fixes #222 - - lib/ - boinc_cmd.C - client/ - cs_cmdline.C - -David 30 May 2007 - - user web: fix bug in host merge function - - core client: fix bug in set_debt() GUI RPC - - scheduler: some of the "quick checks" in scan_work_array() - are applicable to locality scheduling also, - so they should be moved to wu_is_infeasible(). - I did this for one: the check for one result - per user (or host) per WU. Should do for others. - - client/ - gui_rpc_server_ops.C - html/ - host_edit_action.php - host_edit_form.php - sched/ - sched_array.C - sched_send.C,h - -David 30 May 2007 - - user web: added new feature to merge hosts by name. - This is handy if you have a lot of hosts, - and every now and then they get a new host ID - (e.g. because you delete and reinstall BOINC). - You can now merge all of them with a single click. - - html/ - inc/ - host.inc - user/ - host_edit_action.php - merge_by_name.php (new) - hosts_user.php - -David 30 May 2007 - - add token protection to the previous checkin; - for prefs edit, don't demand token if only showing form. - (opt_out.php doesn't supply tokens) - - html/user/ - prefs_edit.php - merge_by_name.php - -David 30 May 2007 - - scheduler: add debugging msg for HR reject - - sched/ - sched_hr.C,h - sched_array.C - -Charlie 31 May 2007 - - Fix compiler warning. - - lib/ - boinc_cmd.C - -Rom 31 May 2007 - - MGR: Make sure get_cc_status is called only once a second. - Polling should be taken care of via MainDocument functions - to make sure that RPCs calls do not become excessive. - - clientgui/ - AccountManagerPropertiesPage.cpp - BOINCDialupManager.cpp - ProjectPropertiesPage.cpp - -David 31 May 2007 - - scheduler: move HR check to wu_is_infeasible() - In principle, a project can now use both - locality scheduling and homogeneous redundancy. - - scheduler: do HR check before deadline check, - since the latter is slower. - - scheduler: wu_is_infeasible() doesn't return a bitmap. - Change its return values to sequential numbers. - - scheduler: ignore and tags - - sched/ - sched_send.C,h - sched_array.C - sched_locality.C - server_types.C - -Rom 31 May 2007 - - MGR: Get rid of an exit(0) call since it is evil in Windows - programs. - - clientgui/ - MainDocument.cpp - -Rom 1 June 2007 - - WinSETUP: Add an exception handler to the VBS script so if the - user cancels the launch of BOINC Manager at startup the script - itself doesn't throw an error message. - - win_build/installerv2/redist/Windows/src/boinccas/ - boinccas.rc - CACreateVBSShortcut.cpp - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - -David 1 June 2007 - - Get memory measurements to work on Win64. - The format of a process descriptor had changed a little, - and the format of the VM stats part was completely changed. - I had to reverse engineer it - very unpleasant. - - lib/ - diagnostics_win.h - procinfo.h - -David 1 June 2007 - - client: a few more network_status_debug messages - - client/ - client_state.C - net_stats.C - -David 3 June 2007 - - client: allow suspension of non-CPU-intensive project or app - (undoes checkin of 25 Jan 2005; I don't remember why we - made that change. Next time put in checkin notes!) - - client: Linux: show error msg if can't open /proc/cpuinfo - or /proc/meminfo; set memory size of 1 GB in latter case. - Remove duplicate code that read /proc/meminfo - - 'start' script; handle 0 in tasks and daemon - elements of config.xml (can't handle , however). - - client/ - gui_rpc_server_ops.C - hostinfo_unix.C - sched/ - feeder.C - start - -David 3 June 2007 - - client: fix inconsistent integer benchmarks on Windows - with multicore machines. I don't know why this happened, - but I fixed it by doing integer benchmarks only on CPU zero. - This is OK since cores have separate integer units - (but not necessarily FP units) - Also shortened benchmark from 60 sec to 30 sec. - - client/ - cs_benchmark.C - -Rytis 5 June 2007 - - user web: add a separate preference for private message notification - emails. - NOTE: needs DB update, see html/ops/db_update.php - - db/ - schema.sql - html/ - inc/ - forum_pm.inc - forum_user.inc - ops/ - db_update.php - user/ - edit_forum_preferences_action.php - edit_forum_preferences_form.php - -David 4 June 2007 - - Client (Unix) show process exit codes as negative numbers also - (e.g., to show BOINC error codes correctly) - - get_project_config.php: add an element that lists the - platforms supported by this project - (i.e. for which there's a non-deprecated app version) - Cache this info in a file (cache/platform_list.xml) - so that it will be available even when the project's DB is down. - - Rename sample_get_project_config.php to get_project_config.php; - a project should no longer need its own version of this file. - Change setup_project accordingly. - - client/ - app_control.C - html/user/ - get_project_config.php (new) - sample_get_project_config.php (removed) - py/Boinc/ - setup_project.py - -Rom 4 June 2007 - - fixes #221: Win64 - attach/syncronice AMS crash Manager. - - The manager was getting stuck in an infinite loop since a - bool wasn't being explicitly initialized to false. - - clientgui/ - AccountManagerProcessingPage.cpp - -Rom 4 June 2007 - - Tag for 5.10.1 release, all platforms - boinc_core_release_5_10_1 - - client/ - configure.ac - version.h - -Rom 5 June 2007 - - MGR: Bug Fix for suspend/resume operations not updating - in the UI after the user selected operation. - - lib/ - gui_rpc_client_ops.C - -Rom 4 June 2007 - - Tag for 5.10.2 release, all platforms - boinc_core_release_5_10_2 - - client/ - configure.ac - version.h - -Charlie 6 June 2007 - - Mac: Minor fix to error handling when setting permissions. - - Mac: Create "Uninstall BOINC" application, modify build scripts - to include it in release package with BOINC Manager. - - Mac: Fix a bug in release_GridRepublic.sh build script which - created a bogus " BOINC Data/locale" directory (with a bad - leading space character.) - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - Uninstaller-Info.plist (new) - mac_installer/ - uninstall.cpp (new) - make_GridRepublic.sh - release_GridRepublic.sh - release_boinc.sh - GR-ReadMe.rtf - ReadMe.rtf - clientgui/ - mac/ - SetupSecurity.cpp - SetVersion.C - -David 6 June 2007 - - new elements in get_project_config.php - confuse the client because their element - gets parsed as the project name. - Work around by changing to . - - Note: here (and everywhere else) if we get an unparsed XML tag - we should skip to past the close tag. - I'll put this in soon. - - html/user/ - get_project_config.php - -Rom 6 June 2007 - - WinSETUP: The VBS custom action should delete the existing - VBS script when executing in uninstall mode. - - win_build/installerv2/redist/Windows/src/boinccas/ - boinccas.rc - CACreateVBSShortcut.cpp - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - -Janus 6 June 2007 - - Fixed a small display error on the pending credit page (the - workunitid-column was showing the resultid for the result. - - html/user/ - pending.php - -Charlie 6 June 2007 - - Mac: Fix a minor bug which caused an assert in backtrace code. - - Mac: Define NDEBUG in all projects for all deployment builds. - - lib/ - mac/ - mac_backtrace.C - QBacktrace.c - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Rom 7 June 2007 - - WinSETUP: The VBS custom action should delete the existing - VBS script in the various uninstall modes. - - win_build/installerv2/redist/Windows/src/boinccas/ - boinccas.rc - CACreateVBSShortcut.cpp, .h - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - -Charlie 7 June 2007 - - Mac: Further work on "Uninstall BOINC" application: use various - techniques to try to locate BOINC Manager in non-standard - directories, use branding-independent search techniques. - to include it in release package with BOINC Manager. - - Mac: Update visible copyright date from 2006 to 2007. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - Uninstaller-Info.plist - English.lproj/ - InfoPlist.strings - mac_installer/ - uninstall.cpp - make_GridRepublic.sh - release_GridRepublic.sh - -Rom 7 June 2007 - - fixes #241: BOINC Manager should only display one of each project, - no matter how many time you switch to and from the page. - - clientgui/ - ProjectInfoPage.cpp, .h - -David 8 June 2007 - - rename BOINC_DIAG_USEDEFALUTS (??) to BOINC_DIAG_DEFAULTS - - api/ - boinc_api.C - lib/ - diagnostics.h - -David 8 June 2007 - - API: added boinc_register_timer_callback() for V6 graphics. - This lets the app do things - (e.g. updated shared memory for graphics) every second. - - API: change signature of boinc_worker_thread_cpu() - - API: rename worker_timer() to timer_handler() - - API (win): got rid of timer_quit_event (not used) - - API (version 6 graphics): removed extern C stuff - - client: improved the handling of unrecognized XML - Old: suppose we have - foobar - - blah - - where "" is unrecognized. - We'd skip the , but parse the within it. - This wrong. - New: skip the entire unrecognized element - NOTE: I implemented this in the new parser (XML_PARSER) - and added it for everything that uses XML_PARSER. - The old parser still isn't quite right: - it will skip until the next , - but not necessarily the matching instance of that tag. - - client: added error messages for unparsed XML in several places - - client/lib: use "else-less" syntax in XML parsing code - - api/ - boinc_api.C,h - graphics2.h - greaphic2_win.C - client/ - acct_mgr.C - cs_statefile - gui_rpc_server_ops.C - log_flags.C - net_stats.C - lib/ - app_ipc.C - gui_rpc_client_ops.C - parse.C,h - prefs.C - -David 8 June 2007 - - compile fix - - api/ - graphics_api.C - -Charlie 8 June 2007 - - Mac: Add application icons to installer, uninstaller; add - "are you sure?" dialog to uninstaller. Fix installer - copyright and version strings. - - clientgui/ - res/ - MacInstaller.icns (new) - MacUninstaller.icns (new) - GR_install.icns (new) - GR_uninstall.icns (new) - mac_build/ - boinc.xcodeproj/ - project.pbxproj - Uninstaller-Info.plist - Installer-Info.plist - English.lproj/ - InfoPlist.strings - mac_installer/ - uninstall.cpp - make_GridRepublic.sh - release_GridRepublic.sh - -Rom 8 June 2007 - - fixes #237 - current BM fails to build with wxWidgets - unicode variant - (Applied Frank Thomas's patch) - - clientgui/ - SkinManager.cpp - -David 8 June 2007 - - fix bugs introduced by recent XML changes - - lib/ - gui_rpc_client_ops.C - parse.C - prefs.C - -Rom 8 June 2007 - - Tag for 5.10.3 release, all platforms - boinc_core_release_5_10_3 - - client/ - configure.ac - version.h - -David 8 June 2007 - - sched compile fix - - sched/ - server_types.C - -Charlie 8 June 2007 - - Mac: Better application icons for installer, uninstaller. - - Mac: move uninstaller, COPYING and COPYRIGHT files to a - subdirectory in Manager distributions. - - clientgui/ - res/ - MacInstaller.icns - MacUninstaller.icns - GR_install.icns - GR_uninstall.icns - mac_installer/ - release_boinc.sh - make_GridRepublic.sh - release_GridRepublic.sh - -David 9 June 2007 - - client: fixed bug in prefs parsing - - lib - prefs.C - -Rom 8 June 2007 - - Tag for 5.10.4 release, all platforms - boinc_core_release_5_10_4 - - client/ - configure.ac - version.h - -David 11 June 2007 - - manager: fix bug in parsing of all-projects list - (caused Wizard list to be empty) - - manager: change (web) to WWW - - client/ - acct_mgr.C - cs_statefile.C - clientgui/ - ProjectListCtrl.cpp - lib/ - gui_rpc_client_ops.C - -Janus 11 June 2007 - - Added checks.php containin common code between the bittorrent tracker - and the scraping mechanism. - - Fixed some of the SVN properties for the BT-related files. - - html/bt/inc - checks.php (new) - -David 11 June 2007 - - client: if statefile has an app version an unknown platform, - change it to the primary platform. - The probably cause of this is that the user switched to - a 64-bit client, then back to the 32-bit client. - If we reject the app version, it would e.g. cause CPDN - WUs to get aborted in the middle. - - client/ - cs_statefile.C - -David 11 June 2007 - - change new XML parser to handle XML comments () - - client/ - log_flags.C - lib/ - parse.C,h - -David 11 June 2007 - - client: enforce_schedule(): if try to preempt a - process that's not running, at least mark it as preempted. - (this should never happen in principle) - - API: compile fix for Mac - - api/ - graphics2_unix.C - client/ - cpu_sched.C - -David 11 June 2007 - - Project initialization: create project home page - and schedulers.txt file in a way that will work - with UMTS ISPs (which strip out comments) - - html/user/ - sample_index.php - py/Boinc/ - setup_project.py - -Rom 11 June 2007 - - Tag for 5.10.5 release, all platforms - boinc_core_release_5_10_5 - - client/ - configure.ac - version.h - -Charlie 12 June 2007 - - Mac: Installer writes all_projects_list.xml file to BOINC - Data directory unless it already contains one. This - avoids overwriting a newer project list with an older one. - - mac_installer/ - PostInstall.cpp - release_boinc.sh - release_GridRepublic.sh - -David 12 June 2007 - - client: fetch all-projects list at startup if it doesn't exist - - client: if result in statefile is labeled with unsupported platform, - set its platform to primary - (this completes the fix of 11 June, hopefully fixes #262) - - client/ - client_state.C - cs_statefile.C - -David 12 June 2007 - - client: when I changed the length of benchmark intervals - from 20 to 10 seconds, this broke things on ultra-slow CPUs. - I think this is because a single loop of the FP - benchmark took so long that the end time of the int - benchmark had already come and gone. - Fixed this (I hope) by reducing the loop length - by a factor of 10. - - client/ - cs_benchmark.C - dhrystone.C - whetstone.C - -David 12 June 2007 - - API: initialize all fields on BOINC_OPTIONS. - Fixes a bug that caused crash on 64bit Linux - (from M.F. Somers) - - api/ - boinc_api.h - -Rom 12 June 2007 - - MGR: If the screen resolution is too small for the Simple GUI - switch to the Advanced GUI automatically. - - MGR: If a screen reader is detected, switch to the Advanced - GUI list view automatically. - - clientgui/ - AdvancedFrame.cpp - BOINCGUIApp.cpp - -Rom 12 June 2007 - - MGR: Only detect if the host name is local once per connection. - - clientgui/ - MainDocument.cpp, .h - -David 12 June 2007 - - scheduler: add no_darwin_6 option - (don't send work to Mac OS X 10.2 or earlier). - This used to be #ifdef in by Einstein@home. - - scheduler: add no_amd_k6 option - (don't send work to AMD K6 CPUs) - - sched/ - handle_request.C - sched_config.C,h - -Janus 12 June 2007 - - Added an index page giving clues about potential misconfigurations in the BT - serverside setup. Once the remaining parts of the code are in place it should - be possible to use this page as a guide on where to look for any errors. - - html/bt/ - index.php (new) - -Charlie 12 June 2007 - - Mac: Exit Client if launched by Manager and Manager crashed. - - Sandbox: clean up authentication logic for privileged operations - (attach, detach, reset, etc.), fixing bugs. - - Mac Sandbox: free authorization after authenticating. - - Mac: Add graphics2_util.C to XCode Project for libboinc_api.a. - - Mac: Fix bug in XCode project which sometimes overwrote - symbol table files with stripped application. - - client/ - cs_prefs.C - clientgui/ - MainDocument.cpp - mac/ - MacGUI.cpp - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Rom 13 June 2007 - - Tag for 5.10.6 release, all platforms - boinc_core_release_5_10_6 - - client/ - configure.ac - version.h - -David 13 June 2007 - - API: XML parsing glitch caused apps to always run standalone, - not report CPU time etc. - - lib/ - app_ipc.C - prefs.C - -David 13 June 2007 - - API: set timer thread stack size to 16KB - - Scheduler: for no_amd_k6 option, check CPU vendor as well as model - - sched/ - handle_request.C - api/ - boinc_api.C - -David 13 June 2007 - - parse_str(): remove unnecessary checks - - client: allow app_info.xml to have multiple versions - - lib/ - parse.C - client/ - client_state.C - scheduler_op.C - -David 13 June 2007 - - Added project.xml entry for Playstation 3 / Linux - - Server status page: if the scheduler isn't running, - it's almost certainly because "stop_sched" is present, - not because Apache isn't running. - Get rid of the use of "sched_pid". - - tools/ - project.xml - html/ops/ - sample_server_status.php - -David 14 June 2007 - - Scheduler: changed the option - from a bool to an int: - 0 = no HR - 1 = HR with fine-grained classification (from MF Somers) - 2 = HR with coarse-grained classification (from WCG) - - Note: numerical equivalence depends on your application - and how it's compiled. Some apps may need classifications - other than these two. Contact me if so. - - sched/ - sched_hr.C - sched_config.C,h - - -Rom 14 June 2007 - - Branch for 5.10 release, all platforms - boinc_core_release_5_10 - -David 14 June 2007 - - scheduler: support per-app HR type, specified in the DB; - this supercedes the global HR type specified in config.xml - - API: eliminate small memory leak - (if reread app init file, free malloc'd project prefs from last time) - - file upload handler: parse to avoid error msg - - lib/ - app_ipc.C - sched/ - file_upload_handler.C - sched_array.C - sched_hr.C,h - sched_send.C,h - -David 14 June 2007 - - GUI RPC: add graphics_exec_path and slot_path fields to RESULT. - These let the Manager run the graphics app. - Graphics apps have physical name *v6graphics* - - Separated ACTIVE_TASK::write() and ACTIVE_TASK::write_gui(). - These need to write largely disjoint set of items. - - code cleanup: remove a zillion "else"s in parsing code - - code cleanup: change a zillion match_tag(buf, "" - to parse_bool(buf, "foo") - - client/ - app.C,h - client_state.C - client_types.C,h - lib/ - gui_rpc_client.h - gui_rpc_client_ops.C - sched/ - server_types.C - -David 14 June 2007 - - user web: added Burma to country list - - admin web: removed deprecated create-account scripts - - html/ - inc/ - cache.inc - country.inc - ops/ - create_account_form.php (removed) - create_account_action.php (removed) - show_log.php - -Rom 16 June 2007 - - WINSETUP: Remove the VBS Script custom action and put back - the shortcut to BOINC Manager. - - win_build/installerv2/ - BOINC.ism - BOINCx64.ism - -Rom 16 June 2007 - - MGR: Revert back out the change to cache the host type - (local/remote). Somehow it was messing up controlling - remote machines. - - clientgui/ - MainDocument.cpp, .h - -Janus 17 June 2007 - - Added the .torrent-generator which will (at some point) allow - projects to dynamically generate .torrent-data for their files. - - html/bt/ - torrent_cache.php (new) - -Rom 17 June 2007 - - MGR: Check initial function to launch v6graphics if it exists - in the slot directory. - - NOTE: Only implemented in the advanced view list controls - for now. - - clientgui/ - Events.h - ViewWork.cpp, .h - -Charlie 19 June 2007 - - Mac: Fix visible copyright and version strings in installer and - uninstaller. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Rom 19 June 2007 - - Set version number to 5.11.0 to start off the 6.0 development cycle. - - / - configure.ac - version.h - -David 19 June 2007 - - manager: v6 graphics fixes. doesn't work yet - - clientgui/ - ViewWork.cpp - lib/ - util.C,h - -Rom 19 June 2007 - - MGR: Misc v6 graphics fixes - - clientgui/ - sg_ViewTabPage.cpp - ViewWork.cpp - ViewWorkGrid.cpp - -David 19 June 2007 - - manager: v6 graphics fixes. doesn't work yet - - client/ - client_state.C - lib/ - gui_rpc_client_ops.C - -David 19 June 2007 - - manager: v6 graphics fixes. - Works now, with a few problems - - clientgui/ - ViewWork.cpp - lib/ - util.C - -David 20 June 2007 - - back end: make it possible to run multiple instances of make_work, - for WUs of different applications - (need to count unsent results separately by app) - - feeder: major code cleanup - - application interleaving (for -allapps) is now done - by building a static slot-to-app array "app_indices". - Fractional weights now work correctly. - - enum sizes (for -allapps) are now precomputed - in an array "enum_sizes" - - rename "found" (confusing!!) to "collision" - - swapped the names of mod_select_clause and select_clause, - to reflect what they actually are - - file deleter: in finding oldest WU, order by id instead of create_time - (there's no index on create_time) - - user web: show "merge by name" only to host owner - - add cpu_scheduler_period() member to GLOBAL_PREFS - (so you don't have to multiply by 60 everywhere) - - infinite() fix for HPUX - - client/ - cpu_sched.C - cs_cmdline.C - cs_scheduler.C - rrsim_test.C - sim.C - work_fetch.C - html/user/ - hosts_user.php - lib/ - parse.h - prefs.h - sched/ - feeder.C - file_deleter.C - make_work.C - sample_work_generator.C - sched_util.C,h - tools/ - updater.C - -David 20 June 2007 - - feeder: more code cleanup - - sched/ - feeder.C - -David 20 June 2007 - - added "census", a program that counts up how much RAC - there is for each HR class, and writes it to a file. - This will be used soon for HR support in the feeder. - - split the HR code into hr.C,h (stuff used by both census and scheduler) - and sched_hr.C (stuff used only by the scheduler) - - database: change DB_CREDITED_JOB to treat workunitid - as a double (which it is) rather than a long. - BTW, long == int. - - fixed lots of compile warnings in the server code - - db/ - boinc_db.C,h - lib/ - boinc_cmd.C - miofile.C - util.C - sched/ - Makefile.am - census.C (new) - feeder.C - file_deleter.C - file_upload_handler.C - handle_request.C - hr.C,h (new) - main.C - sample_assimilator.C - sample_work_generator.C - sched_array.C - sched_hr.C,h - sched_send.C - server_types.C - transitioner.C - validator.C - -David 20 June 2007 - - random compile warning fixes - - client/ - auto_update.C - file_names.h - scheduler_op.C - time_stats.C - lib/ - util.C,h - tools/ - create_work.C - updater.C - -Janus 21 June 2007 - - Added the scraping mechanism for Bittorrent support - (not all Bittorrent clients actually support this, - but those that do get an increased performance boost and - don't have to contact the more expensive announce.php - nearly as often as those that do not support it. - Since it hasn't yet been decided which BT library we - will be using I just added scraping anyways. - - html/bt/ - scrape.php (new) - -David 21 June 2007 - - user web: fixed bug in private-message code - - back end: moved HR_INFO to a separate file; - did some debugging in HR code - - html/ - inc/ - forum_user.inc - util.inc - user/ - forum_pm.php - sched/ - Makefile.am - census.C - feeder.C - hr.C,h - hr_info.C,h (new) - -Charlie 22 June 2007 - Sandbox: fix switcher call to kill to eliminate error - message and to correctly send SIGKILL instead of - SIGTERM. - - client/ - app_start.C - -David 22 June 2007 - - client: when you read a file into a string with: - loop - read a line X - S += X - it performs real bad if the file is large - (allocation of std::string seems to stupid) - So I changed this to - find file size n - read file into malloced buf size n - S = buf - free buf - - lib: moved functions to appropriate file - - client/ - acct_setup.C - cs_prefs.C - lib/ - parse.C,h - str_util.C,h - util.C,h - -David 22 June 2007 - - compile fixes for Win - - client/ - acct_setup.C - cs_prefs.C - cs_trickle.C - lib/ - filesys.C - str_util.C,h - util.C,h - tools/ - updater.C - win_build/ - sim.vcproj - -David 22 June 2007 - - client: fix two XML parsing bugs: - 1) XML_PARSER::parse_int() and parse_double() wouldn't parse - , and in fact would consume the , - so that the resulting skip_unexpected() - would skip the entire rest of the document. - - This was exercised because my checking of 17 Apr - set the default for work_buf_min_days as "" rather than 0. - - 2) XML_PARSER::scan_tag() was removing spaces, - so parsed as venuename="home" - This actually didn't do any damage. - - lib/ - parse.C - prefs.C - -David 22 June 2007 - - client: read only first 63KB of stderr.txt - - user web: default work_buf_min_days is 0, not "" - - html/inc/ - prefs.inc - client/ - app_control.C - -David 22 June 2007 - - feeder: added a new enumerator of DB_WORK_ITEM that, - on successive calls, scans through ALL the sendable - jobs satisfying the select clause - (it does this by ID order, so there's no order clause) - This is used for HR, so that if a job has been committed - to an HR class, we eventually get it. - - With extremely minimal testing, the new HR stuff seems to work. - - db/ - boinc_db.C,h - sched/ - feeder.C - sample_work_generator.C - server_types.C - -Charlie 23 June 2007 - Mac: if (log_flags.state_debug) print debugging info when rename - of client_state_next.xml to client_state.xml fails - Sandbox: fix build break. - - client/ - cs_statefile.C - lib/ - filesys.C - -Charlie 24 June 2007 - Mac: Fix bugs when user chooses Quit from menubar icon menu and - then cancels in confirmation dialog. - Mac: Modify XCode project not to copy header files into Manager bundle. - - clientgui/ - BOINCGUIApp.cpp - BOINCTaskBar.cpp - mac/ - MacSysMenu.cpp - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Charlie 25 June 2007 - CC: Add logic to scheduler, etc. for systems which limit the number - of shared memory segments per process and / or system-wide. - Mac OS X has default limits of 8 shmem segments per process, 32 - max system wide. - - Don't treat failure to allocate & attach to shared memory as a - computation error. - - Destroy shared memory segments associated with all tasks which - exit, not just those with a finished file. This frees up a - segment for use by another task. - - If we run out of shared memory, start a 10 second timer during - which don't try to run tasks unless they are already attached - to shared memory (suspended tasks left in memory qualify.) - - If a task is waiting for shared memory to become available, - display this in the Manager's tasks pane. - - Added a new log flag stress_shmem_debug for testing scheduling - logic when we run out of shared memory. - - QUESTIONS for further development: - - Note that it is quite easy to run out of shared memory segments if - the leave-suspended-tasks-in-memory option is set. (The shared - memory channel must remain active for heartbeats and to tell the - task when to resume.) - - Should we override this option if we run out of shared memory - segments? - - What about tasks left in RAM because they don't checkpoint? - - If BOINC crashes, its shared memory is not removed. In some - cases, when BOINC is relaunched it will use the same key and - so can re-attach to the orphaned segments, but this won't always - happen. This can cause problems with the system-wide limits. - We can't mark the segment for removal when we create it, because - doing so (by calling shmctl with IPC_RMID) would remove its key - so the project application couldn't attach to it. - But we could do this safely after the first successful response - from the project application. Should we make this change? - - client/ - app.C,h - app_control.C - app_start.C - client_state.C,h - cpu_sched.C - log_flags.C,h - clientgui/ - ViewWork.cpp - ViewWorkGrid.cpp - lib/ - shmem.C,h - gui_rpc_client.h - gui_rpc_client_ops.C - -Charlie 25 June 2007 - Mac: Fix bugs in XCode script phases which create visible copyright and - version strings in installer and uninstaller. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 25 June 2007 - - Manager: if a job is running EDF, show "high priority" in status - - compile fixes for Charlie's next-to-last checkin - - client/ - client_state.h - cpu_sched.C - sim.h - sim_util.C - clientgui/ - ViewWork.cpp - ViewWorkGrid.cpp - -David 25 June 2007 - - added hr_info.* - - sched/ - hr_info.C,h - -Charlie 25 June 2007 - CC: More scheduler tweaks for shared memory: clear retry_shmem_time - when releasing shared memory, value of stress_shmem_debug log - flag sets number of shared memory segments to make unavailable. - Fix bug: reversed comparison of retry_shmem_time. - - client/ - app.C - client_state.C - cpu_sched.C - log_flags.C,h - lib/ - shmem.C,h - -David 25 June 2007 - - manager: improve wording in advanced prefs dialog - - clientgui/ - DlgAdvPreferencesBase.cpp,h - -David 25 June 2007 - - manager and client: fixed bug where only one day-of-week - preference would be parsed. - - lib/ - prefs.C,h - -David 25 June 2007 - - add new stats site - - back end: use boinc_mkdir to get permissions right - - html/inc/ - stats_sites.inc - lib/ - filesys.C - sched/ - db_dump.C - db_purge.C - feeder.C - -Charlie 27 June 2007 - CC: Problem: On Mac OS X and some other systems, shared memory - segments remain allocated unless the owner has marked them - for destruction with shmctl(id, IPC_RMID, 0), causing shared - memory leaks if BOINC crashes or exits suddenly (e.g., due - to being called with --exit_after_finish). - But on Mac OS X and some other systems, this shmctl command - also prevents any more processes from attaching. - Solution: On *nix systems, BOINC marks shared memory segment - for destruction as soon as we receive first message or trickle - down from the project application, so BOINC has confirmation - that the task has attached. The segment will automatically be - destroyed after all attached processes have detached or exit. - - client/ - app.C,h - app_control.C - app_start.C - lib/ - shmem.C - -David 27 June 2007 - - user web: host merge: skip disjoint-time check - if one of the hosts has zero credit - - html/inc/ - host.inc - -David 27 June 2007 - - user web: host merge: don't require OS names to match exactly; - OK if both contain "Windows", "Linux", "SunOS" or "Darwin". - - html/inc/ - host.inc - -David 27 June 2007 - - client: allow up to a day (rather than work_buf_min()) to elapsed - between completing a result and reporting it. - - back end: added config option: - Web server user name (used by file deleter) - - back end: don't report unparsed XML in config.xml as an error - - client/ - app.h - work_fetch.C - lib/ - shmem.C - sched/ - file_deleter.C - file_upload_handler.C - sched_config.C,h - show_shmem.C - -Matt 27 June 2007 - - added strip_bbcode tags and updated show_uotd function so that - front page doesn't get clobbered when showing summary of UOTD - that contains obnoxiously large graphics - - html/inc/ - util.inc - uotd.inc - -Rom 27 June 2007 - - DIAG: Visual Studio 2005 enforces parameter checking, and if - a parameter is wrong it just terminates the process with - a 0xc000000d. This is a shot in the dark but I think it - is a good guess as to what is happening right now. - - lib/ - diagnostics.C, .h - diagnostics_win.C - -David 27 June 2007 - - user web: host merge: consider CPUs compatible if both - are vendor "AuthenticAMD". - - html/inc/ - host.inc - -Charlie 28 June 2007 - CC: Back out my shared memory changes of 27 June because it might - prevent compound applications from attaching to the shared - memory as needed. Instead, add code to delete_old_slot_dirs() - to check for and delete the possible orphan shared memory - segment at BOINC startup for each slot directories with an - init_data.xml file. - - client/ - app.C,h - app_control.C - app_start.C - file_names.C - lib/ - shmem.C - -David 28 June 2007 - - API: set fraction_done to 1 in boinc_finish() - - api/ - boinc_api.C - -David 29 June 2007 - - client: code cleanup. Was looking for fopen()s without fclose(), - didn't find any. - - client/ - cs_scheduler.C - app_start.C - time_stats.C - -Rom 29 June 2007 - - WIN: Update 2003 project files - - WIN: Re-introduce manifests for 2003 built files. - - / - - -Charlie 29 June 2007 - Mac: Update user-visible copyright dates from 2006 to 2007 - - clientgui/ - mac/ - SetVersion.C - -David 30 June 2007 - - GUI RPC: debug set_debts handler. Fixes #131 - - client/ - gui_rpc_server_ops.C - -Rom 2 July 2007 - - MGR: Adjust menu names. - - clientgui/ - AdvancedFrame.cpp - Events.h - -Rom 2 July 2007 - - CC: Remove calls to kill_all_children. - - client/ - app_control.C - -David 2 July 2007 - - client: fix bug that broke option - - client and Manager: attempts to fix problems - if is set - - client/ - gui_rpc_server_ops.C - clientgui/ - MainDocument.cpp - lib/ - gui_rpc_client_ops.C - md5_file.C - -David 2 July 2007 - - client: add config flag - - GUI RPC: add disallow_attach and simple_gui_only flags - to CC_STATUS structure - - client/ - gui_rpc_server_ops.C - log_flags.C,h - html/inc/ - stats_sites.inc - lib/ - gui_rpc_client.h - gui_rpc_client_ops.C - -Bruce 3 July 2007 - - Einstein@Home specific hack to locality scheduler. - If deleting a file with name matching pattern h1_XXXX.XX_S5R22 - generate corresponding l1_XXXX.XX_S5R2 pattern and delete it also. - This is needed because E@H is doing file locality scheduling with - PAIRS h1_... and l1_... of files. Yuk. I am not proud of this. - - sched/ - sched_locality.C - -David 3 July 2007 - - Added program sched/sched_driver.C. - This generates a sequence of scheduler requests, - with host info taken from a file, - that you can feed into the scheduler (cgi --batch) - to simulate things like homogeneous redundancy - - Added args to XML_PARSER::skip_unexpected() to you can say - whether to write messages to stderr for unparsed stuff. - This is set to true if log_flags.unparsed_xml is set (client) - or if debug_level is 3 (server) - - removed references to $(LIBRSA) in Makefile.am's - - client/ - Makefile.am - acct_mgr.C - gui_rpc_server_ops.C - log_flags.C - lib/ - Makefile.am - app_ipc.C - gui_rpc_client_ops.C - parse.C,h - prefs.C - sched/ - Makefile.am - sched_config.C - sched_driver.C - -Janus 3 July 2007 - - Added the bittorrent tracker code - - Also added a simple file filter that accepts any file present in the - download directory for tracking (or whatever directory is set to be the - data directory). - FileFilter is the class to subclass if you need some kind of special rules - on which files to allow your tracker to track. (Some projects may want to - disallow tracking of workunit files while allowing tracking of application - files etc.) - Once the base system has been done there'll be different file filters to - chose from. - - html/bt/ - announce.php (new) - html/bt/filters/ (new) - filefilter.php (new) - allfilesfilefilter.php (new) - -David 4 July 2007 - - scheduler: the "max_wus_in_progress" option only worked if - "resend_lost_results" option was used also - (because the count of in-progress results was - based from the DB query used by resend_lost_results). - - Fix: initialize the count of in-progress results to - the list provided in the scheduler request. - - scheduler: add "--mark_jobs_done" flag; if set, all jobs - sent are marked as done, and their WUs enabled for transition. - This is used for simulation purposes, - in conjunction with sched_driver. - - scheduler: if --batch option is set, don't check RPC seqnos - (for simulation purposes) - - sched/ - Makefile.am - handle_request.C - main.C,h - sched_driver.C - sched_send.C - server_types.h - -Janus 4 July 2007 - - Made the top hosts page translation aware - (which I should have done 2-3 years ago...) - It now uses the same caching mechanism as the other two top pages. - Projects applying this update should consider clearing - their cache directory for immediate effects - - or just wait a short while and let the cache do its own work. - - html/ - user/ - top_hosts.php - languages/translations/ - en.po - -Rytis 5 July 2007 - - user web: make sure that all links that have URL_BASE have slashes after - it. This makes a slash in the end of URL_BASE definition in - project/project.inc no longer necessary. - - html/ - - -David 5 July 2007 - - feeder: add debugging feature: - if you send it a USR1 signal, it writes a summary - of the shmem contents and HR state to the log file - - sched/ - feeder.C - hr_info.C,h - sched_shmem.C,h - show_shmem.C - -David 6 July 2007 - - Back end: add a feature for "blackballing" hosts. - To do this, set host.max_results_day to -1. - If you do this, scheduler requests from that host - will get an error message, and will otherwise be ignored - (no jobs in or out, no trickles). - - Scheduler: send_message() should be called ONLY if you're - not going to call handle_request(); - otherwise we'll write two separate replies. - To fix this, I added a separate function (send_error_message()) - that can be called within handle_request() - to deal with error situations. - - Scheduler: moved debug_sched() to main.C - - Scheduler: moved logic to send "delete file" commands - out of handle_request() into a separate function, - send_file_deletes() in sched_locality.C. - Remove #ifdef EINSTEIN_AT_HOMEs; maybe someday another project - will use locality scheduling! - - db/ - boinc_db.h - sched/ - handle_request.C - main.C,h - sched_locality.C,h - sched_send.C - server_types.C,h - transitioner.C - -Rom 6 July 2007 - - Additional support for VS Express Edition. - - clientlib/win/ - boinc_dll.rc - -David 6 July 2007 - - added sample host-distribution file for HR - - sched/ - sample_hr_info.txt - -David 6 July 2007 - - client: change order so that backoff because of no work - happens before server-requested backoff (eliminate double messages) - - client/ - cs_scheduler.C - scheduler_op.C - html/inc/ - stats_sites.inc - sched/ - hr_info.C - - -David 6 July 2007 - - bug fix to the above - - client/ - scheduler_op.C - -David 7 July 2007 - - Client: radically faster (on Win) version of dir_size() - (from John McLeod) - - lib/ - filesys.C - -Janus 8 July 2007 - - Fixed an issue causing people to appear anonymous in the top hosts - pages on projects with no automatic MySQL connection set up. - - html/user/ - top_hosts.php - -David 9 July 2007 - - client: add "dont_contact_ref_site" config flag; - suppresses connectivity-testing connections to google.com - - client/ - log_flags.C,h - net_stats.C - -Rom 9 July 2007 - - MGR: Workaround a crash issue by only dealing with the frame - pointer if the manager is told to quit by the cc. - - clientgui/ - MainDocument.cpp - -David 9 July 2007 - - feeder: simplified DB query - - make_project: remove space after URL in schedulers.txt - - db/ - boinc_db.C - constraints.sql - py/Boinc/ - setup_project.py - -Charlie 10 July 2007 - Mac: log_flags.state_debug prints errno when rename of - client_state_next.xml to client_state.xml fails - - client/ - cs_statefile.C - -David 10 July 2007 - - client: run_if_user_active pref applies to both - network transfers and CPU usage. - (Note: maybe we should have a separate pref for this). - - client/ - client_state.C,h - cs_prefs.C - -David 10 July 2007 - - scheduler: FCGI version would crash if stop_sched is set - - sched/ - main.C - -David 10 July 2007 - - added a stats site - - added return value for copy_stream() - - html/inc/ - stats_sites.inc - lib/ - parse.C,h - api/gutil.C - -Charlie 11 July 2007 - Mac Installer: use sh shell (bash) instead of csh for - postinstall and postupgrade scripts. - Mac Installer: installer creates skins directory if it - doesn't already exist. - MGR: Check correct menu item in View menu when launching Manager - or when returning from Simple View. - - clientgui/ - AdvancedFrame.cpp - mac_installer/ - postinstall - postupgrade - release_boinc.sh - release_GridRepublic.sh - -David 11 July 2007 - - Manager: make various strings translatable (from Mifistor) - - clientgui/ - AccountInfoPage.cpp - sg_ImageButton.cpp - sg_ViewTabPage.cpp - -Eric K. 11 July 2007 - - Web: result display: Changed text for display of results cancelled by - server (exit_status=-221). - - html/inc/ - result.inc - -David 11 July 2007 - - client simulator: added '--work_fetch_old' option. - If set, the simulator uses an approximation of the old - work fetch policy, where the client tries to maintain - an amount of work for each project equal to - the buffer size times its relative resource share - - client/ - sim.C,h - work_fetch.C - -David 12 July 2007 - - client simulator: add --line_limit option; - splits up HTML output into multiple fixed-size files - - client/ - sim.C,h - -David 12 July 2007 - - client simulator: rename "variety" to "monotony", - and redefine it so the range is - zero (no monotony) to one (maximal monotony) - - client/ - sim.C,h - -David 13 July 2007 - - client: if CA bundle file isn't in BOINC directory, - don't tell Curl to look for it there. - It might be in the default place where Curl looks. - - client/ - file_names.h - http_curl.C - html/inc - stats_sites.inc - -David 13 July 2007 - - API: fix unlikely memory leaks in graphics - - api/ - texture.C - -David 13 July 2007 - - API: some out-of-mem checks - - api/ - gutil.C - texture.C - tgalib.C - client/ - cs_apps.C - http_curl.C - -David 13 July 2007 - - GUI RPC: added "detach_when_done" and "dont_detach_when_done" - project-control options. - Made these available in boinc_cmd. - Fixes #335. - - client/ - gui_rpc_server_ops.C - lib/ - boinc_cmd.C - gui_rpc_client_ops.C - -David 14 July 2007 - - user web: fix image URL on home page. Fixes #340 - - html/user/ - sample_index.php - -David 14 July 2007 - - client: print time zone message at startup - - Manager: removed ForceRefresh() calls in grid views; - reduces CPU usage, still seems to work (from Frank Weiler) - Fixes #291. - - client/ - client_state.C - cpu_sched.C - clientgui/ - ViewMessagesGrid.cpp - ViewProjectsGrid.cpp - ViewTransfersGrid.cpp - ViewWorkGrid.cpp - -Charlie 16 July 2007 - - Mac client: always show UNIX error if state file rename fails. - - client/ - cs_statefile.C - -David 16 July 2007 - - Manager: in grid views, don't sort unless needed (from Frank) - - client: show OS name/version in message at startup - - client/ - client_state.C - clientgui/ - BOINCGridCtrl.cpp,h - ViewWorkGrid.cpp - -David 16 July 2007 - - client: if can't write state file, don't immediately exit, - but don't do anything other than handle GUI RPCs. - After 50 secs, print an "about to exit" message. - After 60 seconds, exit - - client/ - client_state.C,h - -David 16 July 2007 - - Manager: changed wording the "Choose a project" page - of attach wizard. - At least one person was confused by 'WWW'; - he thought you clicked there to choose project. - - clientgui/ - ProjectInfoPage.cpp - ProjectListCtrl.cpp - - -Charlie 17 July 2007 - - Manager: Fixed bug in task grid view: code was always using the - grid row number as index into results vector. Added a hidden - column COLUMN_RESULTS_INDEX to hold index into results vector - for the data in each row, so it is available after sorting grid. - This allows the changes of 16 July 2007 to work properly. - - clientgui/ - ViewWorkGrid.cpp - -David 17 July 2007 - - scheduler: move startup checks (stop_sched, shmem) inside FCGI loop. - Hopefully this will make it feasible to run scheduler - even when project is down. - - lib: fix cygwin build error - - lib/ - filesys.C - sched/ - main.C - -Charlie 17 July 2007 - - Manager GridCtrl: Don't save/restore width of hidden/invisible columns. - Fix Compile error on some platforms. - - clientgui/ - BOINCGridCtrl.cpp - ViewWorkGrid.cpp - -David 18 July 2007 - - user web: team founder transfer request requires nonzero total credit - - html/user/ - team_founder_transfer_form.php - -Rytis 18 July 2007 - - user web: add a feature to mark all threads as read (forums). - - html/inc/ - forum.inc - forum_user.inc - html/user/ - forum_forum.php - forum_index.php - -David 18 July 2007 - - back out my last change. - There are a number of situations where this is undesirable. - - html/user/ - team_founder_transfer_form.php - -Charlie 18 July 2007 - - Manager: Update disk pie chart only if something has changed (from - Frank Weiler) - - Manager: don't call GetWorkCount() unnecesaarily in ViewWorkGrid.cpp. - - clientgui/ - ViewResources.cpp,.h - ViewWorkGrid.cpp - -David 19 July 2007 - - User web and client: added a new pref "suspend_if_no_recent_input" - that lets you suspend computation after a specified period of idleness. - This is necessary to allow some machines to go into low-power mode - when they're not being used. - - Change the wording of some existing prefs; for example, changed - "Do work while computer is in use?" to - "Suspend work while computer is in use". - The former is confusing - if you say yes, BOINC may in fact - NOT do work while the computer is in use, - due to other factors (time of day, etc.) - TODO: HOST_INFO::users_idle() should be changed so that it - returns the idle time - (rather than telling you whether we've been idle for X) - - client/ - client_state.C,h - cs_prefs.C - hostinfo_unix.C - html/inc/ - prefs.inc - lib/ - common_defs.h - prefs.C,h - -David 20 July 2007 - - sample app: adapt the one from boinc_samples - fixes #341 - - apps/ - upper_case.C - sched/ - handle_request.C - -David 20 July 2007 - - update_versions: don't accept a multi-file application - unless there's a main program with same name as dir - (previously it was treating the first executable file found - as the main program, with occasionally disastrous consequences). - Fixes #350 - - tools/ - update_versions - -Charlie 20 July 2007 - Mac: changes for libcurl 7.16.4. - - mac_build/ - boinc.xcodeproj/ - project.pbxproj - buildcurl.sh - setupForBoinc.sh - HowToBuildBOINC_XCode.rtf - -David 20 July 2007 - - client: add mechanism to abort results if they get > 100 - "premature exits" (exit(0) without finish file) between checkpoints - - client/ - app_control.C - app.C,h - lib/ - error_numbers.h - -David 23 July 2007 - - user web: moved functions to send specific messages out of email.inc - - user web: code cleanup involving team founder transfer, - and improved the text of some messages - - db/ - boinc_db.h - html/ - inc/ - team.inc - email.inc - ops/ - problem_host.php - user/ - team_change_founder_form.php - team_founder_transfer_action.php - team_founder_transfer_form.php - -David 24 July 2007 - - user web: code cleanup related to team creation. - Make a single function that creates teams - and cleanses arguments. - - API: don't include config.h in parse.h. - This file is included from apps - (indirectly, via graphics_api.h) - so it shouldn't assume that config.h exists - - db/ - boinc_db.h - html/ - inc/ - db.inc - team.inc - team_types.inc - util.inc - user/ - create_account.php - create_team.php - team_create_action.php - -David 25 July 2007 - - user web: code cleanup related to user creation. - Make a single function that creates users and cleanses args. - - html/ - inc/ - countries.inc - team.inc - user.inc - user/ - create_account.php - create_account_action.php - -David 25 July 2007 - - add support for "BOINC teams" (to be explained later) - - html/ - inc/ - team.inc - ops/ - team_export.php - team_import.php - -David 25 July 2007 - - more teams stuff - - html/ - inc/ - db.inc - ops/ - team_export.php - team_import.php - user/ - repair.php (deleted) - -David 27 July 2007 - - client: fix bug that caused "no shared memory segment" errors, - introduced in 20 July checkin - - client/ - app_control.C - clientgui/ - ProjectInfoPage.cpp - ViewWork.cpp - ViewWorkGrid.cpp - -David 27 July 2007 - - user web: added mechanism for recording team membership changes. - These are stored in a new DB table, "team_delta". - The team founder can view the history in HTML or XML - (links on Management Functions page) - REQUIRES DB UPDATE - - db/ - constraints.sql - schema.sql - html/ - inc/ - team.inc - ops/ - db_update.php - user/ - team_delta.php (new) - team_join_action.php - team_manage.php - tools/ - make_project - -David 28 July 2007 - - client: fix bug where if you get no work from a project - with zero delay_request, - the client immediately requests more work - - client/ - client_types.h - cs_scheduler.C - -Charlie 30 July 2007 - - Manager: don't call GetWorkCount() repeatedly in CViewProjectsGrid, - CViewTransfersGrid and CViewMessagesGrid. - - clientgui/ - ViewMessagesGrid.cpp - ViewProjectsGrid.cpp - ViewTransfersGrid.cpp - -David 31 July 2007 - - client: don't crash if use --detach_project option - (fixes #283) - - client: canonicalize URLs in all cmdlines - - db_update.php: don't prompt for DB name/host; get it from config file - (fixes #356) - - html/ops/ - db_update.php - client/ - cs_cmdline.C - -Charlie 31 July 2007 - - Graphics API: Don't render graphics when application is suspended - to reduce CPU usage. - - api/ - x_opengl.C - -David 1 Aug 2007 - - feeder: created shared mem seg with 0666 rather than 0660. - In principle 0660 should work (assuming apache belongs to admin group) - but apparently on some Linux systems it doesn't, - and the feeder gets "can't attach to shared mem" errors. - - scheduler: print uid/gid info if can't attach to shared mem - - user web: fix bug in team founder transfer form - - sched/ - main.C - html/user/ - team_founder_transfer_form.php - lib/ - shmem.C - -David 1 Aug 2007 - - GUI RPC: added get_global_prefs_network() - and get_global_prefs_working() - - lib/ - gui_rpc_client.h - gui_rpc_client_ops.C - client/ - gui_rpc_server_ops.C - cs_prefs.C - -Charlie 1 Aug 2007 - - MGR: Populate Simple and Advanced Preference dialogs with current - values of preferences (including any overrides), not with - defaults or old (possibly stale) values. - - lib/ - gui_rpc_client_ops.C - clientgui/ - DlgAdvPreferences.cpp - sg_DlgPreferences.cpp - -Charlie 2 Aug 2007 - - GUI RPC: rename get_global_prefs_network() to get_global_prefs_file() - to make it clear this returns the contents of the file which was - obtained from the network (i.e., web-based preferences) and not just - the prefernces affecting network connectivity. - - GUI RPC: Add get_global_prefs_working_struct(). - - MGR: call get_global_prefs_working_struct() for both preference dialogs. - - MGR: Dialup Manager updates current preferences from client before using - them. - - client/ - gui_rpc_server_ops.C - clientgui/ - BOINCDialupManager.cpp - DlgAdvPreferences.cpp - sg_DlgPreferences.cpp - lib/ - gui_rpc_client.h - gui_rpc_client_ops.C - -Rom 2 Aug 2007 - - DIAG: Disable symbol server technology for applications where a symbol - server isn't specified. - - MGR: Provide some additional text to the begining of the attach to project - wizard when the client is attached to an account manager. Warn the user - that the AMS will not know about the project or its stats. - - MGR: Fix dialog titles for the Simple GUI dialogs. - - MGR: Eliminate bogus error messages when using the default skin. - - MGR: Introduce new logo into the manager - - MGR: Introduce the notion of the syncronize button in the Simple GUI. - NOTE: This button will replace the 'attach to project' button when - the manager detects that the client is attached to an account manager. - - client/win/res/ - icon.ico - clientgui/ - DlgAbout.cpp - sg_DlgMessages.cpp - sg_DlgPreferences.cpp - SkinManager.cpp, .h - WelcomePage.cpp - clientgui/res/ - boinc.xpm - boinc_logo.xpm - BOINCGUIApp.ico - clientgui/res/templates/ - boinc.ico - boinc16.bmp - boinc32.bmp - boinc48.bmp - boinc128.bmp - boinc256.bmp - boinc_logo.gif - lib/ - stackwalker_win.cpp - -Eric K 06 Aug 2007 - -added new functions boinc_suspend_graphics_thread() and - boinc_resume_graphics_thread(), so apps can suspend the graphics - threads for critical sections without suspending all threads. - Only implemented under WIN32 thus far. - api/ - graphics_lib.[Ch] - -Rom 7 Aug 2007 - - MGR: Respect the disallow_attach and simple_gui_only status - flags in both the simple GUI and advanced GUI. - - MGR: Enable the syncronize button in the simple GUI which - just causes an account manager update request. - - MGR: Fix an overactive assert in debug builds - - clientgui/ - AdvancedFrame.cpp - Events.h - sg_BoincSimpleGUI.cpp - sg_ProjectsComponent.cpp, .h - SkinManager.cpp - WelcomePage.cpp - clientgui/res/skins/default/graphic - syncronize_button.xpm (Added) - syncronize_clicked_button.xpm (Added) - clientgui/res/templates/skins - btnSynronize.png (Added) - btnSynronizeClick.png (Added) - -Rom 8 Aug 2007 - - MGR: Update taskbar icons. - - clientgui/res/ - boinc.xpm - boincdisconnect.xpm - boincsnooze.xpm - clientgui/res/templates/ - boincsnooze.ico - boincdisconnect.ico - -David 10 Aug 2007 - - client: timezone reflects daylight savings time (Win) - from David Barnard; fixes #334 - - GUI RPC: add replies for ops that don't return anything - - GUI RPC: check args for project_attach - - GUI RPC: return error (not blank) if no prefs override file - - add error string for ERR_TOO_MANY_EXITS - - client/ - gui_rpc_server_ops.C - hostinfo_win.C - lib/ - str_util.C - -David 10 Aug 2007 - - Manager: show the AMS name, not the skin name, in Wizard - - clientgui/ - WelcomePage.cpp - -David 10 Aug 2007 - - Manager: change "Retry communications" to "Do network communication" - - client: use gethostname() to get host name on Linux - - client/ - hostinfo_network.C - clientgui/ - AdvancedFrame.cpp - lib/ - error_numbers.h - -Janus 11 Aug 2007 - - Added a DB table creation query for the BT file table - - html/bt/database/ - bittorrent_files.sql (new) - -Rom 13 Aug 2007 - - SCR: Move screensaver related files out of the CC directory - structure and put it into its own directory structure. - - client/win/ - boinc.scr.manifest (deleted) - boinc_ss.h (deleted) - boinc_ss.rc (deleted) - boinc_ss_2003.rc (deleted) - win_screensaver.cpp, .h (deleted) - clientscr/ - boinc.scr.manifest (added) - boinc_ss.h (added) - boinc_ss.rc (added) - boinc_ss_2003.rc (added) - win_screensaver.cpp, .h (added) - -Charlie 13 Aug 2007 - Fix compiler warnings. - - client/ - hostinfo_network.C - clientgui/ - WelcomePage.cpp - -Charlie 14 Aug 2007 - Sandbox: Create boinc_exec() function for invoking switcher and - setprojectgrp utilities instead of calling system(). POSIX - requires that if a shell is invoked by a setuid / setgid - process, the shell is run using the real UID and GID. This - was not enforced by Mac OS 10.4, but will be enforced by - OS 10.5. The system() calls invoke the shell, so we must - use fork() and execv() instead. - MGR: Add transparency mask to boinc_logo.xpm. - - client/ - app_control.C - file_names.C - clientgui/ - res/ - boinc_logo.xpm - lib/ - filesys.C, h - -Rom 14 Aug 2007 - SCR: Enable V6 style applications, screensaver is no longer - compatible with v5 style graphics. - - clientscr/ - screensaver.cpp, .h - screensaver_win.cpp, .h - -David 14 Aug 2007 - - XML RPC: add user name, ID to team_delta.php XML version - - html/user/ - team_delta.php - -Charlie 15 Aug 2007 - Mac MGR: Work around bugs in wxMac 2.82 - 2.8.4 to fix wxPieCtrl - to work correctly on wxMac 2.6.3 - 2.8.4. - - clientgui/ - common/ - wxPieCtrl.cpp,h - mac/ - MacGUI.pch - -Rom 15 Aug 2007 - - SCR: Fix the new screensaver so that it doesn't start a new - graphics window every second. - - LIB: CreateProcess always returns a 1 on success, which means - the last part of the run_program function was never being - executed. - - clientscr/ - screensaver_win.cpp - lib/ - util.C - -Rom 15 Aug 2007 - - MGR: Fix the synchronize button and variables. - - clientgui/ - sg_ProjectsComponent.cpp, .h - SkinManager.cpp, .h - clientgui/res/skins/default/graphic - synchronize_button.xpm - synchronize_clicked_button.xpm - clientgui/res/templates/skins/ - btnSynchronize.png - btnSynchronizeClick.png - -Rom 15 Aug 2007 - - MGR: Update taskbar icons. - - clientgui/res/ - boinc.xpm - boincdisconnect.xpm - boincsnooze.xpm - clientgui/res/templates/ - boincsnooze.ico (deleted) - boincdisconnect.ico (deleted) - boinc.gif (added) - boincdisconnect.gif (added) - boincsnooze.gif (added) - -David 16 Aug 2007 - - client: add a option in cc_config.xml; - tells the client to use this as the data directory - - scheduler: improve the message telling the client that - more disk or memory is needed; - tell them the minimum amount needed to - send any of the jobs rejected, - rather than the amount needed for the first job rejected - - manager: fix text in "connect now" dialog - - client/ - client_state.C - log_flags.C,h - clientgui/ - BOINCDialupManager.cpp - sched/ - sched_locality.C - sched_send.C - server_types.h - transitioner.C - -David 16 Aug 2007 - - screensaver fix - - clientscr/ - screensaver_win.cpp - -Rom 16 Aug 2007 - - MGR: Update skin manager for the following changes: - project name = application short name - company name = organization name - company website = organization website - added organization help url. - - See http://boinc.berkeley.edu/trac/wiki/ManagerSkin - for details. - - clientgui/ - AdvancedFrame.cpp - BOINCBaseFrame.cpp - BOINCDialupManager.cpp - BOINCTaskBar.cpp - CompletionPage.cpp - DlgAbout.cpp - DlgAdvPreferences.cpp - sg_BoincSimpleGUI.cpp - sg_DlgMessages.cpp - sg_DlgPreferences.cpp - sg_ProjectsComponent.cpp - SkinManager.cpp, .h - -Rom 16 Aug 2007 - - MGR: Make sure all the dialogs contain the application name - and do not have BOINC Manager hard coded in them. - - clientgui/ - AdvancedFrame.cpp - DlgAbout.h - DlgAdvPreferencesBase.cpp, .h - DlgOptions.cpp, .h - DlgSelectComputer.cpp, .h - -Rom 16 Aug 2007 - - SCR: Move the call to kill_program to ShutdownSaver instead - of waiting for the data thread to poll for keyboard and - mouse activity. If the saver's window proc detects keyboard - or mouse activity it'll start the shutdown proceedure. - - clientscr/ - screensaver_win.cpp - -Charlie 16 Aug 2007 - Mac MGR: New Mac application icon built with artwork from Michal - Krakowiak. - - clientgui/ - res/ - BOINCMgr.icns - -David 16 Aug 2007 - - screensaver fix - - api/ - graphics2_win.C - lib/ - util.C - -David 17 Aug 2007 - - client: change the way upload/download throughput - estimates are maintained. - The old way took concurrency into account but ignored compression; - the new way does the converse. - - client: maintain new stat: recent average transfer rates. - This track average up/down throughputs - (over wall clock time, not just while xfers are active) - with a half-life of 1 day. - Will eventually add a new pref: don't fetch new work if - either of these is above a threshold - - client/ - client_state.C - file_names.C - http_curl.C,h - net_stats.C,h - -Charlie 17 Aug 2007 - MGR: Disable Simple GUI if the screen height < 600 (instead of== 480). - also disable Simple GUI item in View Menu and prevent switching - to Simple GUI. - - clientgui/ - AdvancedFrame.cpp - BOINCGUIApp.cpp - -Rytis 18 Aug 2007 - Forums: return user to the same page after selecting "Mark all threads as read". - - html/ - user/forum_index.php - inc/ - forum.inc - util.inc - -Charlie 19 Aug 2007 - Mac: New Mac application icons built with artwork from Michal - Krakowiak. - - clientgui/ - res/ - BOINCMgr.icns - MacInstaller.icns - MacUninstaller.icns - -Rytis 20 Aug 2007 - Private messages: preview function before sending - - html/ - inc/forum_pm.inc - user/ - forum_pm.php - white.css - -Rom 20 Aug 2007 - SCR: Only choose applications that are currently being - exected. - Win SCR: Update screensaver logo. - Win SCR: Reduce the amount of time the screensaver is stuck in startup mode - from 10 secs down to 2 secs. It still takes a second or two to download - state information from the CC. - - clientscr/ - screensaver.cpp - screensaver_win.cpp - clientscr/res/ - boinc.bmp - -Charlie 20 Aug 2007 - Mac SG: Ugly hack for unknown alignment problem on Mac, requested by Kevin - Reed - Mac Uninstaller: Display new image in "Are you sure" dialog showing new - BOINC logo going into the trash for non-English speaking users. - - clientgui/ - sg_ViewTabPage.cpp - mac_build/ - boinc.xcodeproj/ - project.pbxproj - mac_installer/ - uninstall.cpp - Uninstaller.rsrc (new) - -David 21 Aug 2007 - - scheduler: don't show resource share in msgs in cases where - it's not used. - - db_purge: add "no_archive" option - - sched/ - db_purge.C - handle_request.C - sched_send.C - -David 21 Aug 2007 - - scheduler: update host.n_bwdown - (this was omitted for some reason). - From Kevin Reed. - - db/ - boinc_db.C - -Rom 23 Aug 2007 - - Win Install: Create a custom action for terminating the united - devices agent for WCG. - - win_build/installerv2/redist/Windows/src/boinccas/ - boinccas.def - boinccas.rc - boinccas.vcproj - CAShutdownUD.cpp, .h (Added) - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - -Rytis 24 Aug 2007 - - User web: fix XSS vulnerability in team join/quit/lookup code. - - html/user/ - team_join_action.php - team_join_form.php - team_lookup.php - team_quit_action.php - team_quit_form.php - -Rom 24 Aug 2007 - - Win Install: ignore string case before comparing process names. - - win_build/installerv2/redist/Windows/src/boinccas/ - boinccas.rc - terminate.cpp - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - -Charlie 25 Aug 2007 - Preferences: Apply David Barnard's patches to fix #363: per-day - time preferences work incorrectly. - MGR: Prefernces dialogs use cached preferences if connected to older - pre-5.10.18 client (before new get_global_prefs_working_struct RPC) - - client/ - cs_prefs.C - clientgui/ - DlgAdvPreferences.cpp - sg_DlgPreferences.cpp - lib/ - prefs.C,h - -Rytis 25 Aug 2007 - User web: allow tokenless translations (takes actual string instead of - a token). New translation strings should use tra("string") instead - of tr(TOKEN). - - html/inc/ - translation.inc - -Rytis 26 Aug 2007 - User web: update web RPC so that project specific preferences are preserved - if they are missing in the request but present in previous settings - (to reset them AMS should send ) - - html/user/ - am_set_info.php - -Rytis 26 Aug 2007 - User web: new functions to show table rows (and headers) with unlimited - number of columns (table_row() and table_header()) - User web: show credit information in team member list - - html/ - inc/util.inc - user/team_email_list.php - -Charlie 27 Aug 2007 - Begin implementation of using memory-mapped files for shared memory. - As a temporary measure during development, the new shared memory logic - is selected by defining USE_FILE_MAPPED_SHMEM. Once the conversion is - complete, we will use these as guideposts to remove the old logic - (using shmget,shmat, shmdt, shmctl, key_t, etc.) and then remove the - references to USE_FILE_MAPPED_SHMEM. - Note: these changes are to the HEAD / trunk only, for version 6. - - api/ - boinc_api.C - graphics2.h - graphics2_util.C - client/ - app.C - app_start.C - lib/ - shmem.C,h - -Rom 28 Aug 2007 - - SCR: Move more code into the shared code module - - clientscr/ - screensaver.cpp, .h - screensaver_win.cpp - -Rom 28 Aug 2007 - - Tag for 6.1.0 release, all platforms - boinc_core_release_6_1_0 - - / - configure.ac - version.h - -Charlie 28 Aug 2007 - - Mac V6 GFX: Create same shmem file name as for Windows, instead of - "gfx_mmap_file". - Fix a compiler warning. - - Mac: Move Mac screensaver files to common clientscr/ directory. - Eliminate BOINCSaver.nib.sit, replace with BOINCSaver.nib. - - Mac: Create new XCode project target to build libboinc_graphics2.a. - - Mac: add "-D USE_FILE_MAPPED_SHMEM" to compiler flags for XCode - project targets which build BOINC Client and BOINC libraries. - - api/ - graphics2_unix.C - graphics2_util.C - clientgui/ - mac/ - mac_saver_module.cpp (deleted) - Mac_Saver_ModuleView.m,h (deleted) - BOINCSaver.nib.sit (deleted) - clientscr/ - mac_saver_module.cpp (added) - Mac_Saver_ModuleView.m,h (added) - res/ - BOINCSaver.nib/ (added) - classes.nib (added) - info.nib (added) - keyedobjects.nib (added) - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Charlie 28 Aug 2007 - - Mac V6 GFX: Fix link error when building example app. - - Mac MGR: Launch the graphics application via a shell by using - the UNIX system() api. This works around "RegisterProcess - failed (error = -50)" when using fork() and execv(). - - api/ - graphics2_unix.C - clientgui/ - ViewWork.cpp - -Charlie 29 Aug 2007 - - MGR: Add V6 GFX support to grid view. - - clientgui/ - ViewWorkGrid.cpp - - -Rom 29 Aug 2007 - - SCR: Fix a few bugs with the last checkin. - - clientscr/ - screensaver.cpp - -Charlie 31 Aug 2007 - - Mac: Update screensaver to V6 graphics. Fix a bug in - get_random_graphics_app() - - clientscr/ - mac_saver_module.cpp - screensaver.cpp,h - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Charlie 1 Sep 2007 - - Mac screensaver: replace image in screensaver control panel with - new logo, move to common clientscr/res/ directory. - - clientgui/ - mac/ - boinc.tiff (deleted) - clientscr/ - res/ - boinc.jpg (added) - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Charlie 2 Sep 2007 - - CC: if running as a daemon, don't set disable_graphics, remove - "No application graphics will be available" message. - - Mac MGR: if BOINC is running as a service / daemon, connect to - BOINC Client before creating menubar icon menu to work around - a problem of unknown cause which sometimes made icon unresponsive. - - Mac: add -daemon flag to script for starting BOINC as a service. - - client/ - client_state.C - clientgui/ - BOINCGUIApp.cpp - mac_build/ - Make_BOINC_Service.sh - -David 2 Sept 2007 - - client: zero out xfer_speed in HTTP_OP constructor - (may fix problem w/ #INF bandwidth display) - - client/ - http_curl.C - -Charlie 2 Sep 2007 - - improvements to shared memory using memory mapped files. - - lib/ - shmem.C - -Charlie 3 Sep 2007 - - SCR: Add optional argument to count_active_graphic_apps() and - get_random_graphics_app() with the name of a result to avoid. This - is useful to periodically switch displayed tasks. The new argument - is ignored if NULL or an empty string; get_random_graphics_app() - will choose it only if there is no other candidate. - - clientscr/ - mac_saver_module.cpp - screensaver.cpp,h - -David 3 Sept 2007 - - client: when a job finishes, read last (not first) 63KB of stderr - - client: parse in scheduler reply; - add cpid_time field to PROJECT. - This defaults to the user_create_time. - In deciding which CPID to send in a scheduler request, - use the one with oldest cpid_time (not user_create_time). - This is the client half of fixing a bug that causes - CPID to flip/flop between to values in a certain case. - - client/ - app_control.C - client_types.C,h - cs_scheduler.C - scheduler_op.C - lib/ - util.C,h - -Charlie 4 Sep 2007 - - V6 GFX: Fix bug on OS 10.3.9 - - CC: fix bug so we do new version check when client is first started - as well as every 14 days thereafter. Display message in red. - - make shared memory using memory mapped files more robust. - - api/ - graphics2_unix.C - graphics2_util.C - client/ - acct_setup.C - lib/ - shmem.C,h - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Charlie 4 Sep 2007 - - MGR: Fix #388: Snooze menu item is disabled and not checked if user - selects RUN_MODE_NEVER; it is enabled and checked if user selects - Snooze; otherwise it is enabled and not checked. - - clientgui/ - BOINCTaskBar.cpp - -Charlie 5 Sep 2007 - - Mac SCR: Do screen blanking in screensaver since CC no longer does it. - - Fix a compiler warning. - - Mac Installer: Remove old BOINC Manager and screensaver bundles before - installing new ones to guarantee a clean install. Updates for Grid - Republic. - - clientscr/ - mac_saver_module.cpp - lib/ - util.C,h - mac_installer/ - release_boinc.sh - release_GridRepublic.sh - make_GridRepublic.sh - preinstall - uninstall.cpp - -David 8 Sept 2007 - - boinc_cmd: improve output of --help - - scheduler: remove giant log output when use - - db_purge: fix crash if nothing logged - - sched/ - edf_sim.C - db_purge.C - lib/ - boinc_cmd.C - -Rytis 9 Sept 2007 - - user web: fix issues regarding forum preferences reset. - - html/ - inc/forum_user.inc - user/edit_forum_preferences_action.php - -David 9 Sept 2007 - - API: initialize sigaction struct in X graphics code - - api/ - x_opengl.C - -Bruce 10 Sept 2007 - - (obsolete doc files) fix typo in upload.php - doc/ - upload.php - -David 11 Sept 2007 - - added prototype page for showing info about user population - - html/ops/ - user_graph.php - -Reinhard 11 Sept 2007 - - initialize local 'struct sigaction' variable to zero in - xwin_graphics_event_loop() - - api/ - x_opengl.C - -Rytis 11 Sep 2007 - - user web: prevent users with RAC < 1 become a user of the day - (protection from spam) - - html/inc/uotd.inc - -Charlie 12 Sep 2007 - - SCR: Create is_same_task() function which compares both task name - and task URL; call it from count_active_graphic_apps () and - get_random_graphics_app(). - - clientscr/ - mac_saver_module.cpp - screensaver.cpp,h - -David 12 Sept 2007 - - file upload handler: - in get_file_size() RPC, check if volume has < 1MB available space - and if so return transient error. - This prevents client from trying upload, - which apparently sends entire file even if - handler fails at the beginning - - API, Win: remove use of GetTickCount(); use dtime() instead - - use new BOINC logo in sample project home page - - lib/ - filesys.C,h - util.C - html/user/ - sample_index.php - py/Boinc/ - setup_project.py - sched/ - file_upload_handler.C - -David 12 Sept 2007 - - client: CPU scheduler: if a project has 2 jobs with same deadline, - give preference to jobs already started - - client/ - cpu_sched.C - -David 12 Sept 2007 - - API: don't start timer thread (or install signal handler on Unix) - if running standalone - - api/ - boinc_api.C - -David 12 Sept 2007 - - Manager: clean up text in system tray balloon - - Client: use dd-MMM-yyyy format for dates; - mm/dd/yyyy is ambiguous and mixed-endian - Fixes #406 - - clientgui/ - BOINCTaskBar.cpp - lib/ - str_util.C - -David 13 Sept 2007 - - client: restore element on GUI RPC result XML - (needed by BOINCSpy) - - client: CPU sched fix - - client/ - app.C - cpu_sched.C - -Rytis 13 Sep 2007 - - User web: fix XSS vulnerability, web code update recommended - - html/ - inc/util.inc - user/ - forum_text_search_action.php - user_search_action.php - -Charlie 13 Sep 2007 - - SCR: Impelement new RPC::get_screensaver_tasks() which returns - current gstate.suspend_reason and a RESULTS vector containing only - currently running tasks. This includes all running tasks whether - or not they are graphics-capable, so screensaver can show progress - info when only non-graphics-capable tasks are running. - NOTE: I have edited screensaver_win.cpp so that it should compile and - run as before, but this has not been tested. - - client/ - gui_rpc_server_ops.C - clientscr/ - mac_saver_module.cpp - screensaver.cpp,h - screensaver_win.cpp - lib/ - gui_rpc_client.h - gui_rpc_client_ops.C - -Charlie 16 Sep 2007 - - SCR: make second argument optional in get_random_graphics_app() and - get_random_graphics_app(). - - clientscr/ - screensaver.h - -David 17 Sept 2007 - - user web: make it possible to merge hosts with OS other - than win/mac/linux/solaris; - when can't merge hosts, explain why better - - html/ - inc/ - host.inc - user/ - host_edit_form.php - -David 17 Sept 2007 - - API: embed the string API_VERSION_N.N.N in libboinc.a - (for v6) - - client: performance tweak for CPU sched - - client: fix /proc/cpuinfo parsing for linux 2.6.23, powerPC - - api/ - boin_api.C - client/ - cpu_sched.C - hostinfo_unix.C - -Bruce 17 Sept 2007 - - scheduler: added config option to control (turn off) some aspects - of file deletion. If you set file_deletion_strategy to 0 (default) - then this turns off file deletion in the locality scheduler. - Set file_deletion_strategy to 1 to get current behavior. Other - values are not defined. I'll document this in the Wiki. - - sched/ - sched_config.h - sched_config.C - sched_locality.C - -Rytis 17 Sep 2007 - - user web: fix invalid validate state reported to user. - - html/inc/ - result.inc - -Charlie 18 Sept 2007 - - Mac MGR: Launch the graphics application using switcher to fix - a potential security risk; I found another solution to the - "RegisterProcess failed (error = -50)" so no longer need to - use the UNIX system() api to launch the graphics application. - - clientgui/ - ViewWork.cpp - ViewWorkGrid.cpp - -Charlie 19 Sept 2007 - - Mac SCR: Put a copy of switcher utility inside screensaver's bundle - to launch graphics applications as user and group "nobody". - We don't allow unauthorized users to run the switcher application - in the BOINC Data directory because they could use it to run as user - & group boinc_project and damage project files. The screensaver's - switcher runs as user and group "nobody" to avoid this risk. - - client/ - check_security.C - clientgui/ - mac/ - SetupSecurity.cpp - clientscr/ - Mac_Saver_ModuleView.m - mac_saver_module.cpp - mac_build/ - boinc.xcodeproj/ - project.pbxproj - Mac_SA_Insecure.sh - Mac_SA_Secure.sh - -Charlie 19 Sept 2007 - - MGR: Implement V6 graphics in SimpleGui. - - Consolidate common Show Graphics functionality into - CMainDocument::WorkShowGraphics(). - - clientgui/ - MainDocument.cpp, h - sg_ViewTabPage.cpp - ViewWork.cpp - ViewWorkGrid.cpp - -Charlie 20 Sept 2007 - - MGR: Keep a list of currently running graphics applications. - - Don't launch a second instance of graphics app if user presses - "Show Graphics" twice for the same task. - - Kill all graphics applications when exiting Manager. - - Add a routine to kill any graphics apps whose tasks are no longer - running, but don't call it yet. - - Mac MGR: pressing "Show Graphics" for a running graphics app brings - it to the front. - - clientgui/ - MainDocument.cpp, h - -Charlie 21 Sep 2007 - - MGR: Every 10 seconds, kill any running graphics apps whose associated - worker tasks are no longer running. - - Mac SCR: prevent double delete of RPC_CLIENT rpc on closing screensaver. - - clientgui/ - MainDocument.cpp - mac/ - mac_saver_module.cpp - -David 21 Sept 2007 - - client: get_proxy_settings GUI RPC requires authentication - - client/ - app_start.C - gui_rpc_server_ops.C - clientgui/ - MainDocument.cpp - -David 21 Sept 2007 - - Added new script "update_versions_v6"; use this instead of - update_versions to add version 6 apps. - It looks for API_VERSION string in main executable, - adds the API version to the app_version XML, - and sets min_core_version to 6 for version 6+ apps - - API: include API_VERSION string - - convert tabs to spaces here and there - - scheduler: parse unused elements in - - ops/show_log.php: if no URL args, just show form (fixes #415) - - client: parse and store api_version (not used yet) - - api/ - boinc_api.C - client/ - client_types.C,h - db/ - boinc_db.h - html/ops/ - show_log.php - py/Boinc/ - tools.py - sched/ - sched_array.C - sched_send.C - server_types.C - tools/ - update_versions_v6 (new) - -Charlie 21 Sep 2007 - - MGR V6 GFX: Fix build problems, crash on Linux. - - MGR V6 GFX: If no graphics apps are running, CMainDocument::OnPoll() - doesn't call CachedResultsStatusUpdate(). - - clientgui/ - MainDocument.cpp - -Bruce 23 Sept 2007 - - Eliminate some logging noise from the scheduler (complaints - about unrecognized tags). - - sched/ - server_types.C - -David 24 Sept 2007 - - client: clean up (old undergrad-written) code related to pers file xfer. - The main goal is to fix a bug where, - if a file is deleted from a project's download server, - a client will keep trying to download it for 2 weeks. - A download "file not found" is a permanent error, not transient. - (fixes #383) - In general, revised and renamed things to clarify the - distinction between permanent and transient errors. - Old functions: - handle_xfer_failure(), try_next_url(), xfer_failed(), - retry_or_backoff() - New functions: - permanent_failure(), transient_failure() - - manager: compile fix for win (don't include sys/wait.h) - - client/ - client_types.h - pers_file_xfer.C,h - clientgui/ - MainDocument.cpp - -David 24 Sept 2007 - - user web: add links to BOINC-wide team sites - and www.boincteams.com from Team management page - - client: change error strings from, e.g., - "system chown" to "chown() failed" - - html/user/ - team_manage.php - lib/ - str_util.C - sched/ - sched_send.C - -David 24 Sept 2007 - - use safe_strcpy() instead of strcpy() in a few places - in the client and db_dump - - scheduler: change REQ_FILE_PREFIX to use ../ instead of /tmp/ - - client/ - cs_cmdline.C - sched/ - db_dump.C - main.C - -David 25 Sept 2007 - - client: removed everything related to screensaver - (deciding which app to use, implementing blanking interval, etc.) - This logic is all now in the screensaver itself. - - GUI RPC: removed get/set screensaver mode RPCs - - API: added a "backwards_compatible_graphics" flag to BOINC_OPTIONS. - V6 apps should set this. - If set, the runtime library checks for graphics messages - from the client, and launches/kills the graphics app (if any). - The app will then work graphically with pre-V6 clients. - - removed some old files - - api/ - api_app.C (deleted) - api_test.C (deleted) - boinc_checkpoint.C (deleted) - boinc_api.C,h - client/ - Makefile.am - app.C,h - app_graphics.C - client_state.C,h - gui_rpc_server_ops.C - sim.h - ss_logic.C,h (removed) - lib/ - boinc_cmd.C - common_defs.h - gui_rpc_client.h - gui_rpc_client_ops.C - -David 25 Sept 2007 - - compile fixes for Win - - client/ - sim_util.C - clientgui/ - BOINCGUIApp.cpp - clientscr/ - screensaver_win.cpp - win_build/ - boinc_cli_curl.vcproj - -David 25 Sept 2007 - - update_versions_v6 doesn't set min_core_version - - tools/ - update_versions_v6 - -David 25 Sept 2007 - - stripcharts: fix typo that could cause disk to fill up! - (from Nicolas Maire) - - stripchart/ - stripchart - -Charlie 25 Sep 2007 - - Mac: Remove obsolete ss_logic.C,h from XCode project. - - Mac/Linux/UNIX: V6 client uses shmget() to run V5 applications. - NOTE: when testing V6 applications with anonymous platform mechanism, - you must add 600 tag under . - - Mac/Linux/UNIX: V6 applications uses shmget() to run with V5 clients. - - Eliminate "#ifdef USE_FILE_MAPPED_SHMEM" throughout. - - V6 SCR: V6 screensaver shows graphics for both V5 and V6 applications. - (This required permitting rpc.show_graphics without gui_rpc password.) - NOTE: I have updated the Windows screensaver code to allow this, but - have not yet tested it. - - api/ - boinc_api.C - graphics2_util.C - client/ - app.C - app_start.C - gui_rpc_server_ops.C - clientscr/ - mac_saver_module.cpp - screensaver.cpp,h - screensaver_win.cpp,h - lib/ - shmem.C,h - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Rytis 26 Sep 2007 - - User web: fix an annoyance when team founder transfer is requested and - the requester leaves the team. - NOTE: DB UPDATE REQUIRED. - - db/schema.sql - html/ - inc/ - team.inc - ops/ - db_update.php - user/ - team_change_founder_form.php - team_founder_transfer_form.php - -David 26 Sept 2007 - - API: initialize backwards_compatible_graphics to true. - - NOTE: as of this checkin, applications built with the API - code in the trunk are assumed to do V6-type graphics. - If your app doesn't, then you must set - backwards_compatible_graphics to false - (and use boinc_init_graphics_options()) - - api/ - boinc_api.h - - -David 26 Sept 2007 - - API: debug the code for handling V5 graphics messages - in a V6 app (and launching/killing the graphics app) - - API: start timer thread even if in standalone mode - (needed to get timer callbacks for V6 graphics) - - API: remove BOINCSetForegroundWindow stuff - - API: call DestroyWindow instead of boinc_exit() in WM_CLOSE. - boinc_exit() is the wrong thing to call - e.g. it tries to delete - the lock file, resulting in a 5-sec delay on exit - - api/ - boinc_api.C - graphics2_util.C - graphics2_win.C - clientscr/ - screensaver_win.cpp - lib/ - shmem.h - util.C - -Charlie 27 Sep 2007 - - API: fix 2 bugs in new compatibility code for handling V5 graphics - messages in a V5 app. - - Make graphics app's pid static so it is still available when - time to "hide" graphics. - - Kill graphics app when worker app exits; this is needed to work - properly with V5 screensaver. - - api/ - boinc_api.C - -David 27 Sept 2007 - - file upload handler: fix major bug (introducted 12 Sept) - that caused it to report "volume full" erroneously - - added --help option to some backend programs; - gives general info and directs to web page - - sched/ - assimilator.C - census.C - db_dump.C - file_upload_handler.C - -Rom 27 Sept 2007 - - WIN INSTALL: Add custom action to create the two user accounts - needed to implement the sandbox. - - TODO: Still need a random password generator. - - win_build/installerv2/redist/Windows/src/boinccas - boinccas.vcproj - CACreateBOINCAccounts.cpp, .h (Added) - -David 27 Sept 2007 - - client: first pass at fixing a fundamental design flaw: - there's a single GUI_HTTP object, - and it works only if used sequentially, - i.e. an op is started only after the previous one ends. - This breaks if a GUI RPC triggerse and op while - a project-list fetch (initiated by the client itself) is in progress. - Or if two managers are connected at the same time, - and both do HTTP ops. - The solution: have a separate GUI_HTTP object for each GUI_RPC_CONN, - and an additional one for use by the client itself. - - client/ - acct_setup.C,h - client_state.C,h - gui_http.h - gui_rpc_server.C,h - gui_rpc_server_ops.C - -David 27 Sept 2007 - - client: finished up the above - - client/ - acct_setup.C,h - client_state.C,h - gui_rpc_server.C,h - gui_rpc_server_ops.C - net_stats.C,h - -Charlie 27 Sep 2007 - - Mac V6 GFX: add setMacPList() call. - - api/ - graphics2_unix.C - mac_icon.C - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 27 Sept 2007 - - graphics API: redo the code for backwards compatibility with V5 so that - at most one regular and one full-screen graphics window can be open, - and a "hide" message kills the full-screen window if one exists, - else a regular window. - Keep track of the PIDs separately for regular and full-screen. - Also, don't send a "hide" ack if we don't do graphics. - - api/ - boinc_api.C - lib/ - util.C,h - -Charlie 28 Sep 2007 - - graphics API: Write window size and position to a file in slot directory; - if exit and relaunched, open the window with same size and position. - - Mac V6 GFX: don't call setMacPList(). This shows graphics application icons - in the Dock so user can bring them to front when needed. If they wish, - projects can add a custom icon to their graphics application by calling - setMacIcon() as described in the document HowToBuildBOINC_XCode.rtf. - - api/ - graphics2_unix.C - -David 28 Sept 2007 - - scheduler: option wasn't working, - because the reply.req structure was getting zeroed - AFTER nresults_on_host was being set. - - sched/ - handle_request.C - sched_send.C - -Charlie 28 Sep 2007 - - graphics API: Write changed window size only after it has stopped changing. - - api/ - graphics2_unix.C - -Rytis 29 Sep 2007 - - User web: preview functionality for the forums. - - html/user/ - forum_edit.php - forum_post.php - forum_reply.php - -David 1 Oct 2007 - - user web: add "team search" page, which does a multi-criteria - search (keywords, country, type). - Have the new-user scenario route the user through this page. - Also, link to it rather than team.php for existing users. - - user web: use cookies rather than URLs to identify new users, - and show "Welcome to X" when they reach their user page. - - user web: don't show user intermediate page for join/quit team. - Just take them to their user page. - - DB update required; see ops/db_update.php - - html/ - inc/ - team.inc - team_types.inc - user.inc - ops/ - db_update.php - user/ - account_finish_action.php - create_account_action.php - home.php - team.php - team_join.php - team_search.php - team_quit_action.php - validate_email_addr.php - white.css - -Charlie 1 Oct 2007 - Sandbox: Fix a security hole so that switcher sets real user ID, - saved set_user-ID, real group ID and saved set_group-ID for process - in addition to effective user ID and effective group ID. This - prevents a project application from accidentally or maliciously - setting the effective user or group ID back to those of the user - who launched BOINC. - - client/ - check_security.C - switcher.C - clientgui/ - mac/ - SetupSecurity.cpp - mac_build/ - Mac_SA_Secure.sh - -David 2 Oct 2007 - - user web: tweaks to team search - - html/user/ - team_search.php - -David 2 Oct 2007 - - client: fix bug where failure to get project list would result - in an empty project list file. - - client: if failed to get project list file, retry in an hour, not immediately - - client/ - acct_setup.C - file_names.h - gui_http.h - lib/ - util.C - -Kevin 2 Oct 2007 - - Screen Saver (merge from 5.10): Add additional information about the work - running when no graphics are available. Increased the size to the box - displaying the message to accommodate larger image sizes. Add code to - center images if less then the allowed max size of 450x166 - - Screen Saver (merge from 5.10): If graphics are not available, - then rotate through the currently running results - (it will change every 10 seconds) for display so that all are presented - - Manager (merge from 5.10): During an auto-attach initiated by - a project_init.xml file, Mozilla based browsers are - checking cookies in the domain (ex: worldcommunitygrid.org) - for a project while IE cookies were only being checked for the - full project dns (www.worldcommunitygrid.org). - IE has been changed so that it will also check the domain. - This mechanism is generic and can be used by any project or - account manager. - - Manager (merge from 5.10): During an auto-attach initiated by - a project_init.xml file, the code to check for the Setup cookie - within an IE browser would fail and cause - the attach to project dialogue to close with no warning - in the event that there - is a cookie set for the project but there is not a Setup cookie. - - WCG files: Updated image, icon and installer files for WCG - - clientgui/ - browser.C - clientscr/ - screensaver_win.cpp - screensaver_win.h - -David 2 Oct 2007 - - client: if dont_contact_ref_site option is set, - contact a random project master URL rather than Google - to trigger personal firewall alert on version change - - switcher: compile fix for Linux (strlcpy doesn't exist, - and I didn't want to bring in libboinc.a) - - client/ - client_state.C - switcher.C - -Charlie 2 Oct 2007 - - Mac SCR: Create a new tiny utility gfx_switcher and put it inside - screensaver's bundle instead of a copy of switcher. It sets real - user ID, saved set_user-ID, real group ID and saved set_group-ID - for gfx app in addition to effective user ID and effective group - ID, all to user and group boinc_project. For safety, gfx_switcher - has very limited functionality: screensaver launches it with - arguments "-launch_gfx" and slot number to launch graphics for the - project app in that slot; or with arguments "-kill_gfx" and process - ID to kill graphics application running as user boinc_project. - - client/ - check_security.C - clientgui/ - mac/ - SetupSecurity.cpp - clientscr/ - gfx_switcher.C (added) - mac_saver_module.cpp - mac_build/ - boinc.xcodeproj/ - project.pbxproj - Mac_SA_Insecure.sh - Mac_SA_Secure.sh - -Rytis 3 Oct 2007 - - Private messages: allow interaction with multiple messages from the - inbox, add new related translation strings. - - html/ - /languages/ - en.po - user/ - forum_pm.php - -Eric K 3 Oct 2007 - - MacOS: Changes to allow command line builds on MacOS 10.3 - - New preprocessor symbol DARWIN_10_3 is defined in config.h when configure - script detects MacOS 10.3 - - Added explicit include of config.h in some files in lib/Mac - - configure.ac - lib/ - mac/ - QSymbols.c - QCrashReport.[ch] - QMachOImage.[ch] - -Frank Thomas 4 Oct 2007 - - Added clean-local target to lib/Makefile.am to remove lib/boinccmd and - lib/boinccmd.unmodified on "make clean" and also added - client/boinc.unmodified and clientgui/boincmgr.unmodified to the - respective clean-local targets. - - client/ - Makefile.am - clientgui/ - Makefile.am - lib/ - Makefile.am - -Charlie 3 Oct 2007 - - Win SCR: fix bug in compatibility code for V5 applications: use - MODE_FULLSCREEN, not MODE_WINDOW. - - clientscr/ - screensaver.cpp - -David 4 Oct 2007 - - Terminology in user web and client: - "task" instead of "result"; - "computer" instead of "host"; - "scheduler request" instead of "scheduler RPC" - "access to Internet" instead of "access to reference web site" - Fixes #428 - - client/ - cs_prefs.C - cs_scheduler.C - net_stats.C - html/ - inc/ - host.inc - result.inc - user.inc - user/ - explain_state.php - result.php - results.php - workunit.php - lib/ - prefs.C - sched/ - file_upload_handler.C - -David 4 Oct 2007 - - scheduler: bug fix in HR code: - in wu_is_infeasible(), check whether host type is unknown - before seeing if WU is already committed to different type - - sched/ - sched_array.C - sched_locality.C - sched_send.C,h - -Charlie 4 Oct 2007 - - API V6 GFX: Initialize boinc_max_fps = 30. - - api/ - graphics2.C - -Charlie 5 Oct 2007 - - CC: Fix crash bug: set app_client_shm.shm = NULL after calling - detach_shmem_mmap. - - V6 SCR: Merge code for Mac and Windows screensavers; use common - class, variable names and constants for Mac adapted from Windows - implementation; put central logic in screensaver.cpp as shared - function CScreensaver::DataManagementProc(). This adds full - functionality to Windows screensaver, including switching graphics - applications periodically, blanking, killing graphics app when the - associated worker app has exited, full compatibility with graphics - in V5 applications, etc. I have tested this fairly thoroughly on - both Mac and Windows XP. - - client/ - app.C - clientscr/ - mac_saver_module.cpp - mac_saver_module.h (added) - screensaver.cpp,h - screensaver_win.cpp,h - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 5 Oct 2007 - - client/manager/API: code cleanup to disentangle sandbox code from lib/. - - move client sandbox-specific code to a new file, sandbox.C - - remove g_use_sandbox from util.C; move to MainDocument.cpp (manager) - and sandbox.C (client) - - don't declare check_security() in util.h; it's not in util.C - - don't call remove_project_owned_file_or_dir() in - boinc_delete_file_aux() or boinc_rmdir(); - rather, at the points in the client that delete - dirs that are usually owned by boinc_projects, - call remove_project_owned_file_or_dir() first, - then clean_out_dir(). - - rename boinc_exec() to switcher_exec() and move it to sandbox.C - - Note: this change was sparked by needing to remove a call to getgrnam() - from boinclib, to avoid requiring the same version of glibc - on both compile and target hosts - - client/ - Makefile.am - app.C - app_control.C - app_start.C - client_state.C,h - client_types.C - cs_cmdline.C - file_names.C,h - gui_rpc_server.C - main.C - sandbox.C,h (new) - clientgui/ - MainDocument.cpp,h - lib/ - boinc_cmd.C - common_defs.h - error_numbers.h - filesys.C,h - str_util.C - util.C,h - -David 5 Oct 2007 - - win compile fixes - - client/ - client_state.C - cs_cmdline.C - -David 5 Oct 2007 - - feeder/scheduler: fix bug where APP.homogeneous_redundancy - is defined as a bool instead of int - (see its only nonzero value is 1, so the "coarse" HR type is ignored). - - db/ - boinc_db.C,h - sched/ - feeder.C - hr_info.C - sched_send.C - -Frank Thomas 7 Oct 2007 - - Added manpages in DocBook/XML source format and integrated them in the - autotools build process. They are compiled into troff format using - docbook2x-man if it is available on the build system. - - configure.ac - Makefile.am - doc/ - manpages/ - Makefile.am - boincmgr.xml - boinc_client.xml - boinc_cmd.xml - -David 7 Oct 2007 - - user web: add format_credit_large() function to show - credit in situations where it's likely to be large (e.g. team totals) - - html/ - inc/ - host.inc - team.inc - user.inc - util.inc - user/ - pending.php - team_change_founder_form.php - -David 7 Oct 2007 - - user web: remove debugging text from host merge page - - html/inc/ - host.inc - -David 7 Oct 2007 - - user web: when a table column has numbers intended to be compared, - right-justify them - - html/inc/ - team.inc - -Janus 8 Oct 2007 - Bittorrent: - - Changed the torrent generator behaviour from trying only the exact path - to the file given to trying all paths given by removing the root of the - path in each step. This enables lookups like: - ?file=http://someplace.org/yadayada/somepath/real_path_starts_here/file - where it will then also find the file in 'real_path_starts_here'. - This makes it easier for the core client Bittorrent code to lookup - the metadata for a given file when it only knows the URL to that file. - - Added SQL peer table. This table contains active peers from the tracker. - - html/bt/ - torrent_cache.php - database/ - bittorrent_peers.sql - -Rom 8 Oct 2007 - - MGR: User errors are supposed to be red, not internal errors. - - clientgui/ - ViewMessages.cpp, .h - -Charlie 8 Oct 2007 - - client/manager/API: Finish & fix bugs in code cleanup to disentangle - sandbox code from lib/. - - Move clean_out_dir() out of lib. - - create new low-level routines delete_project_owned_file() and - remove_project_owned_dir(). These should be called by client - instead of boinc_delete_file() and boinc_rmdir() for files or - directories which may have owner or group boinc_project. - - Add sandbox.C to XCode project. - - Fix compile error in Mac screensaver. - - client/ - app.C - app_control.C - client_types.C - cs_trickle.C - file_names.C - sandbox.C,h - clientgui/ - BOINCGUIApp.cpp - MainDocument.cpp - mac/ - MacGUI.pch - clientscr/ - mac_saver_module.cpp - screensaver.cpp - lib/ - filesys.C,h - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Charlie 9 Oct 2007 - - V6 SCR: Add handshaking between Mac screensaver threads when updating - progress display. - - Fix minor bugs in Windows screensaver and cleanup. - - Fix Windows compile errors due to sandbox reorganization. - - Add sandbox.C,h to Windows Client and Updater builds. - - client/ - sandbox.C - clientscr/ - mac_saver_module.cpp,h - screensaver.cpp - screensaver_win.cpp,h - tools/ - updater.C - win_build/ - boinc_cli_curl.vcproj - boinc_ss.vcproj - updater.vcproj - -David 9 Oct 2007 - - updated svn ignore properties; deleted some .cvsignore files - -David 9 Oct 2007 - - remove "updater" from tools/ Makefile - - tools/ - Makefile.am - -David 9 Oct 2007 - - update_versions now generates for all app versions - - user web: don't XML-escape team names in DB - - deleted obsolete files - - calloc() return check, fixes #277 - - client/ - gui_titles.C,h (deleted) - html/ - inc/ - team.inc - user/ - team_edit_action.php - tools/ - update_versions - -David 10 Oct 2007 - - client/lib: compile fixes for OpenBSD (fixes #431) - - client/ - hostinfo_unix.C - log_flags.C - lib/ - util.C - -Janus 10 Oct 2007 - - Added SQL table for bittorrent_ipbans - - Fixed an issue where servers with php magic quotes turned on could - cause Bittorrent-enabled clients to only be able to use HTTP to - fetch certain files (when the infohash of that file contained a - backslash or similar escape char). - - html/bt - announce.php - scrape.php - inc/ - bittorrent_ipbans.sql (new) - -Charlie 10 Oct 2007 - - Mac V5 GFX API: In setMacPList(), if resource already exists, don't - call getPathToThisApp() because it leaves a zombie process. - This call probably won't be used in V6 applications. - - Mac: Remove obsolete files gui_titles.C,h from XCode project. - - api/ - mac_icon.C - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Charlie 11 Oct 2007 - - V6 GFX: Fix bugs in graphics compatibility with V5 applications: - - Initialize APP_VERSION::graphics_exec_path to empty string. - - Remember previous graphics mode when setting V5 applications - to MODE_FULLSCREEN and restore mode when exiting fullscreen. - - Fix typos in comments. - - Mac: remove obsolete screensaver comments. - - client/ - app.h - app_graphics.C - client_state.C - clientscr/ - mac_saver_module.cpp - clientgui/ - MainDocument.cpp - -Eric K. 11 Oct 2007 - - Require non-zero credit to create profile. David will modify to be - configuration option - - html/ - user/ - create_profile.php - -Charlie 11 Oct 2007 - - V6 GFX: Call waitpid to prevent gfx_switcher leaving zombie processes. - - Fix to debugging code in gfx_switcher. - - Update sandbox security documentation. - - clientgui/ - mac/ - SetupSecurity.cpp - clientscr/ - gfx_switcher.C - screensaver.cpp - doc/ - sandbox.php - -Charlie 11 Oct 2007 - - Mac V5 GFX API: Fix old zombie process bug (I hope). getPathToThisApp() - should call pclose(), not fclose(). - - api/ - mac_icon.C - -David 12 Oct 2007 - - API: get rid of getrusage_mutex to synchronize calls to getrusage() - and access to worker_thread_ru. - This was being used in the worker signal handler, - which is bad because pthread_mutex_lock() can allocate memory. - I don't think this matters; at worst we might get - CPU times off by < 1 sec. - - api/ - boinc_api.C - lib/ - util.C,h - sched/ - sched_util.C - -David 12 Oct 2007 - - API: handle wacky values in worker_thread_ru: - - check for infinity/NaN - - check for CPU time decreasing - - check for CPU time increasing faster than real time - ... and deal with each of these in a hopefully reasonable way - - api/ - boinc_api.C - -David 15 Oct 2007 - - client: fix bug where delay request from project is ignored - if no results are returned. - Also, made the "Deferred" messages conditional on sched_op_debug - Fixes #430 (from Rattledagger) - - client/ - cs_scheduler.C - scheduler_op.C - work_fetch.C - -Bruce 15 Oct 2007 - - ops pages. In the course of a four-hour repair of the E@H database, - where a sysadmin accidentally set outcome=6 in the entire result table, I - noticed some inconsistencies in the summary result tables, for example that - they did not properly incorporate outcome==7 (client detached) or - client_state==6 (aborted). I have fixed this. - - html/ - inc/ - db_ops.inc - -David 16 Oct 2007 - - Initial checkin of Bossa code. - This isn't part of BOINC and eventually - it should go in a different repository, - but for now I'm putting it here. - - db/ - bossa_constraints.sql - bossa_schema.sql - html/ - inc/ - bossa_db.inc - ops/ - bossa_make_jobs_example.php - bossa_setup_example.php - user/ - bossa_get_job.php - -Rom 16 Oct 2007 - - DEP: Update libCurl to 7.17.0 - - curl/include/curl/ - - curl/mswin/ - - -Rom 16 Oct 2007 - - TRAY: Introduce BOINC Tray for Windows. It's primary goal is - to keep the CC up to date with when the last time the user - has used the computer. It has no UI. It is just meant to - be launhced at startup and let run in the background. - - clienttray/ - boinc_tray.h (Added) - boinc_tray.rc (Added) - tray_win.cpp, .h (Added) - -David 16 Oct 2007 - - API, Unix: call getrusage() from the timer thread, - not the worker signal handler. - There's no reason to call it from the signal handler - - it returns the CPU for the entire process, not the calling thread. - And it may be asynch-signal-handler-unsafe. - - API: comment out checks for bad CPU times. - I don't think this is needed now, and in some cases it's wrong - (multi-threaded apps can accumulate CPU faster than real time) - - API, Unix: in boinc_calling_thread_cpu_time(), don't retry getrusage(). - - Bossa: switch to better class structure (suggested by Nicolas Alvarez). - Haven't switched to mysqli yet, but will later. - Also various other Bossa fixes - - api/ - boinc_api.C - db/ - bossa_constraints.sal - bossa_schema.sql - html/ - inc/ - bossa_db.inc - ops/ - bossa_make_jobs_example.php - bossa_setup_example.php - user/ - bossa_example.php (new) - bossa_get_job.php - lib/ - util.C - -Charlie 16 Oct 2007 - - Win V6 SCR compatibility: Version 5 screensaver logic kills all - MODE_WINDOW graphics before starting one in fullscreen mode, then - restarts the ones it killed when screensaver stops. So write - size and position to a file in slot directory and restore when - exiting fullscreen. - - api/ - graphics2_win.C - -Charlie 16 Oct 2007 - - Mac: Update for curl_7.17.0. - - mac_build/ - buildcurl.sh - HowToBuildBOINC_XCode.rtf - setupForBOINC.sh - boinc.xcodeproj/ - project.pbxproj - -Charlie 16 Oct 2007 - - API, Unix: call getrusage() from inside boinc_worker_thread_cpu_time() - and make worker_thread_ru a local stack variable to avoid potential - problems with thread preemption. - - api/ - boinc_api.C - -David 17 Oct 2007 - - client: improve log messages - - client/ - cs_scheduler.C - pers_file_xfer.C - scheduler_op.C - clienttray/ - tray_win.cpp - -Charlie 18 Oct 2007 - - Fix compiler warning, - - client/ - cs_scheduler.C - -David 18 Oct 2007 - - client (win): fix time-zone code - - client/ - hostinfo_win.C - -Rom 18 Oct 2007 - - Add the Global prefix to the shared memory segment that - is used to track keyboard and mouse activity for any - machine that is Windows 2000 or better. - - clientlib/win/ - IdleTracker.cpp - -David 18 Oct 2007 - - Bossa: - JSON-encode stuff - use text instead of varchar(255) a couple of places - create Bossa class for utility functions - - db/ - bossa_constraints.sql - bossa_schema.sql - html/ - inc/ - bossa.inc (new) - ops/ - bossa_make_jobs_example.php - user/ - bossa_example.php - -Charlie 18 Oct 2007 - - client: Fix double daylight savings time adjustment on UNIX/Linux. - - client/ - hostinfo_unix.C - -Rom 18 Oct 2007 - - TRAY: Remove the icon resource from boinctray.exe - - clienttray/ - boinc_tray.h - boinc_tray.rc - tray_win.cpp - -Eric K 19 Oct 2007 - - Added ability for forum moderators to vote for banishment of a poster - - New db tables banishment_vote and banishment_votes - - Daemon script vote_monitor for timing the votes - - new configuration option - - db/ - schema.sql - tools/ - vote_monitor - Makefile.am - html/ - inc/ - forum_email.inc - forum_moderators.inc - forum_banishment_vote.inc - html/ - user/ - forum_banishment_vote.php - forum_banishment_vote_action.php - - -David 20 Oct 2007 - - client: cc_config.xml can contain one or more elements - specifying additional alternate platforms. - - client/ - cs_platforms.C - log_flags.C,h - -Reinhard 21 Oct 2007 - - configure.ac: fixed handling of curl-libs to avoid erroneous - trunction of compiler-flags containing '-l', such as '-funroll-loops'. - These are not really supposed to be contained in "curl-config --libs", - but apparently this happens at least in Gentoo, as reported here: - http://bugs.gentoo.org/show_bug.cgi?id=139621. - I have applied the patch supplied by Darragh Bailey (of 2006-07-07). - This should fix Gentoo Bugzilla Bug 139621. - - configure.ac - -David 21 Oct 2007 - - client: add to elements in state file. - These are needed by some 3rd-party software that uses - the state file instead of GUI RPCs - - client/ - app.C - -David 21 Oct 2007 - - API: fix bug introduced in 13696 causing no graphics on Linux - - api/ - graphics2_unix.C - -Rytis 22 Oct 2007 - - User web: add HTML DOCTYPE (4.01 Transitional) to all pages, make some - HTML validity changes. - - html/ - inc/ - forum.inc - stats_sites.inc - util.inc - project.sample/ - project.inc - user/ - forum_forum.php - forum_index.php - stats.php - -David 22 Oct 2007 - - API: some changes relevant only to SETI@home. - - api/ - graphics2.h - reduce.h - reduce_lib.C - reduce_main.C - -David 22 Oct 2007 - - GUI RPC: fix format of request - - GUI RPC: don't enable network on bad request - - client/ - gui_rpc_server_ops.C - lib/ - gui_rpc_client.C - -David 22 Oct 2007 - - client: remove unparsed XML error for - - client: remove spurious error if include in cc_config.xml - - client/ - app.C - log_flags.C - -Rom 23 Oct 2007 - - client: read_file_string was modified sometime ago to support tail - functionality, we really do want only the last 63KB of stderr - for science applications. - - client/ - app_control.C - - -David 23 Oct 2007 - - assimilator: there was a bug in the situation where: - 1) a WU is marked as ready for assimilation and has no errors; - 2) it has no canonical result - In this case, the assimilate handler gets called anyway, - typically with the canonical result of the previous WU as arg. - Note: this situation doesn't arise normally; - it might happen if some results are deleted accidentally. - The fix: - - identify this situation, and set the WU.error_mask to a new code - (WU_ERROR_NO_CANONICAL_RESULT) - - zero out the "canonical_result" variable passed to the handler, - so even if the handler fails to check wu.error_mask, - at least it won't assimilate the same result twice. - Thanks to Hendrik Verhoek for finding this bug. - - DB schema: team table type is MyISAM, not InnoDB - - db/ - boinc_db.h - schema.sql - sched/ - assimilator.C - -Charlie 23 Oct 2007 - - Mac client: Add 64-bit support for OS 10.5 (new platform x86_64-apple-darwin). - These changes should have no effect until we add the x86_64 architecture - using the OS 10.5 SDK to the XCode build rules. - - client/ - app.h - app_graphics.C - app_start.C - cs_platforms.C - hostinfo_unix.C - clientgui/ - mac/ - config.h - Mac_GUI.pch - -Frank Thomas 24 Oct 2007 - - MGR: Check on account creation if wxGetUserName() returned an empty - string and if it did assign the output of wxGetUserId() to - ai->user_name instead. (fixes #440) - - clientgui/ - ProjectProcessingPage.cpp - -David 24 Oct 2007 - - user web: enable the "merge computers by name" feature. - I added this on 30 May 07 but accidentally left - "if ($userid==0)" around it. - - html/user/ - merge_by_name.php - hosts_user.php - -David 24 Oct 2007 - - user web: change "host" to "computer" in a few places - - html/ - inc/ - host.inc - user/ - hosts_user.php - -David 24 Oct 2007 - - client: fixed bug that broke idle detection on Unix. - The problem: the various checks were surrounded by things like - #ifdef HAVE__DEV_MOUSE - If the host on which the client is built doesn't have a mouse - (as is the case with our build machine) - then the resulting executable doesn't check /dev/mouse, - even if it exists on the target host. - - removed configure checks for /dev/mouse, /dev/kbd, and /dev/tty1 - - configure.ac - client/ - hostinfo_unix.C - html/user/ - create_profile.php - -David 24 Oct 2007 - - client: add and - cc_config.xml options to change log file size limit - from the default of 2 MB - - client/ - log_flags.C,h - main.C - lib/ - diagnostics.C,h - -Rom 24 Oct 2007 - - DIAG: Remove references to diagnostics_set_thread_name(). - - api/ - boinc_api.C - windows_opengl.C - lib/ - diagnostics.h - diagnostics_win.C - -Charlie 25 Oct 2007 - - Mac: Fix compiler warnings. - - Mac: Clean up XCode project build rules, add Deployment_no64 build - configuration, add some x86_64 architecture-specific build settings - in preparation for 64 bit support. - - clientscr/ - gfx_switcher.C - lib/ - shmem.C - mac_installer/ - uninstall.cpp - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -Rytis 25 Oct 2007 - - User web: add reCAPTCHA to profile creation/modification page. - Documented in http://boinc.berkeley.edu/trac/wiki/ProtectionFromSpam - - html/ - inc/ - profile.inc - recaptchalib.php (from recaptcha.net/plugins/php) - user/ - create_profile.php - -David 25 Oct 2007 - - Bossa: changed the DB infrastructure to let Bossa tables - live in a different database (and/or server) than the BOINC tables. - Also eliminated the need to call a DB init function. - This involved: - 1) adding etc. entries to config.xml - 2) prefixing DB name to table name in all Bossa queries - (this is needed if Bossa DB is on same server as BOINC DB, - since we're using persistent connections) - - user web: added Montenegro, and changed Serbia and Montenegro to Serbia - (requires DB update to make latter change in existing records) - - html/ - inc/ - bossa_db.inc - countries.inc - db.inc - ops/ - bossa_make_jobs_example.php - bossa_setup_example.php - db_update.php - user/ - bossa_get_job.php - -David 25 Oct 2007 - - user web: added optional , and - elements to config.xml; - determine the number of entries to show per page - in top user/team/host lists - - html/user/ - top_users.php - top_teams.php - top_hosts.php - -Charlie 26 Oct 2007 - - Mac: Update XCode project build rules to generate DWARF-style symbol - tables, which are much smaller and more efficient. Use gcc-4.0 compiler - for all builds except PowerPC libraries (to maintain compatibility back - to OS 10.3.0 for science applications with older versions of BOINC) and - boinc_cmd (because it uses libboinc.a). BOINC Client and BOINC Manager - now require OS 10.3.9 or later (upgrade to 10.3.9 from OS 10.3.0 through - 10.3.8 is a free download from Apple.) More XCode build rule cleanup. - - Mac: Installer displays an error message and quits if OS < 10.3.9. - - Mac SCR: fix GridRepublic branding bug. - - clientgui/ - mac/ - SecurityUtility.cpp - SystemMenu.m - clientscr/ - mac_saver_module.cpp - mac_installer/ - GR-ReadMe.rtf - Installer.cpp - PostInstall.cpp - ReadMe.rtf - release_boinc.sh - release_GridRepublic.sh - mac_build/ - boinc.xcodeproj/ - project.pbxproj - -David 26 Oct 2007 - - Bossa: refactor DB code, creating a new PHP class DbConn - representing a connection to a database. - This is independent of Bossa, - and we should rewrite the BOINC PHP code based on this. - - html/ - inc/ - bossa_db.inc - user/ - bossa_example.php - -David 26 Oct 2007 - - user web: added new framework for DB access from PHP. - Here's how things should eventually be: - - inc/db_conn.inc defines DbConn, a PHP class representing - a connection to a database with - various generic operations (update, insert etc.). - DbConn prepends the DB name to table names, - so you don't have to select a DB; - this means you can access multiple databases - (e.g. BOINC and Bossa) and use persistent connections. - ALL MYSQL-SPECIFIC CODE WILL EVENTUALLY BE HERE. - - inc/boinc_db.inc defines classes BoincUser, BoincTeam etc., - representing the various BOINC DB tables. - All access to the DB should use these classes. - - When you use this framework, no initialization calls are needed. - db.inc is deprecated and should eventually be removed. - - I changed get_logged_in_user() - and all team-related code to use this framework. - - user web: show team founder link to "management functions" - even if they're not currently a member; - allow team founder to perform all operations even if not a member. - - turned on E_ALL error checking, - and fixed a bunch of warnings - and a couple of bugs ($team, not team) - - - database: update schema/constraints for team fulltext search - - user web: forgot to change Serbia and Montenegro to Serbia - - db/ - constraints.sql - schema.sql - html/ - inc/ - boinc_db.inc (new) - bossa_db.inc - countries.inc - db_conn.inc (new) - team.inc - translation.inc - user.inc - util.inc - user/ - logout.php - team*.php - top_teams.php - -David 26 Oct 2007 - - user web: fixed a few hex colors without # - - html/ - inc/ - profile.inc - result.inc - util_ops.inc - db_ops.inc - user/ - forum_text_search_form.php - - donate.php - -Charlie 27 Oct 2007 - - Mac: Fix bugs in scripts for building wxMac-2.6.3; fix XCode project - when using debug build of wxMac-2.6.3; Use gcc-4.0 compiler to - build wxMac-2.6.3 and curl_7.17.0 for use in BOINC Client and Manager. - - Mac: buildcurl.sh accepts optional argument -gcc33 to use gcc-3.3 for - PowerPC build so it can be linked with BOINC libraries when building - backward-compatible project science applications. - - mac_build/ - buildcurl.sh - buildWxMac.sh - setupForBOINC.sh - boinc.xcodeproj/ - project.pbxproj - -David 27 Oct 2007 - - user web: show "merge by name" only to owner - Fixes #451 - - html/user/ - hosts_user.php - -David 27 Oct 2007 - - user web: Add BoincDb::escape_string(), - and have boinc_real_escape_string - call it rather than mysql_real_escape_string(), - to ensure that a DB connection exists - (you need one to call mysql_real_escape_string()). - - some additional conversion to BoincDb-based classes - - html/ - inc/ - host.inc - boinc_db.inc - profile.inc - db_conn.inc - db.inc - user/ - host_delete.php - team_lookup.php - -David 28 Oct 2007 - - user web: changes to use new DB framework and eliminate PHP warnings - - html/ - inc/ - boinc_db.inc - db_conn.inc - forum_email.inc - forum_mysql_dbh.inc - forum_pm.inc - host.inc - news.inc - user.inc - util.inc - xml.inc - user/ - host_edit_action.php - host_edit_form.php - host_venue_action.php - hosts_user.php - merge_by_name.php - pending.php - top_hosts.php - -David 28 Oct 2007 - - user web: more of the above. - Also, try to make it PHP 4 compatible - - html/ - inc/ - boinc_db.inc - db_conn.inc - host.inc - profile.inc - user/ - create_profile.php - profile_menu.php - profile_search_action.php - lib/ - prefs.C - -Rytis 29 Oct 2007 - - Ops pages: add a page to list recently registered users - - html/ - ops/ - index.php - list_new_users.php - -Frank Thomas 29 Oct 2007 - - MGR: Fixed broken URLs in the Help menu. The URLs are only broken if the - Manager was built with the wxWidgets unicode variant. - - clientgui/ - AdvancedFrame.cpp - -David 29 Oct 2007 - - User web: more DB framework changes; - extended DB framework to allow use of a read-only replica - - html/ - inc/ - boinc_db.inc - db_conn.inc - forum_user.inc - team.inc - uotd.inc - util.inc - user/ - am_set_info.php - create_team.php - team_create_action.php - team_join.php - team_join_action.php - top_hosts.php - top_teams.php - top_users.php - totals.php (removed) - -David 30 Oct 2007 - - user web: fix some PHP warnings - - user web: more DB code conversion - - html/ - inc/ - forum_banishment_vote.inc - prefs.inc - user/ - am_set_host_info.php - forum_thread.php - account_finish_action.php - account_finish.php - -David 30 Oct 2007 - - initial checkin for Bolt - - db/ - bolt_constraints.sql - bolt_db.sql - html/ - inc/ - bolt.inc - bolt_db.inc - bolt_ex.inc - bossa_db.inc - ops/ - bolt_setup_sample.php - user/ - bolt.php - bolt_course_sample.php - bolt_sched.php - -David 30 Oct 2007 - - API: when creating message strings for CPU time etc., - use strlcat() instead of strcat(). - Einstein@home has seen some SEGVs in this function. - I suspect that it's getting 1e304-type values - (why? possible bugs in getrusage-related code, still) - and that these cause long strings that overflow the message buffer. - - api/ - boinc_api.C - -David 30 Oct 2007 - - user web: eliminate some PHP warnings, and code cleanup - - html/ - inc/ - forum.inc - forum_mysql_dbh.inc - user/ - forum_search_action.php - -David 30 Oct 2007 - - user web: bug fix in home.php - - html/user/ - home.php - -Charlie 31 Oct 2007 - - Mac: Fix bugs when running under OS 10.5: menubar icon menu; - installer bugs due to PackageMaker changes; linker warnings - due to addition of visibility patch to compiler; new command- - line utilities for flushing users & groups caches (used by - BOINC installer). - - clientgui/ - mac/ - SetupSecurity.cpp - SystemMenu.m - MacSysMenu.cpp - mac_build/ - buildWxMac.sh - boinc.xcodeproj/ - project.pbxproj - mac_installer/ - release_boinc.sh - release_GridRepublic.sh - -David 31 Oct 2007 - - user web: bug fix in forum banish - - user web: add link to boinc-team-founders Google group - in founder management page - - doc/ - white.css - html/ - inc/ - forum.inc - user/ - forum_moderate_post_action.php - forum_reply.php - team_manage.php - -David 31 Oct 2007 - - API: compile fix for systems without strlcat() - - api/ - boinc_api.C - -David 31 Oct 2007 - - client: fix bug where account settings (e.g. don't get new work) - weren't being updated from account managers. - This was because BAM! wasn't returning the - in accounts already described in the request message. - (This violates the protocol, but it's reasonable so what the heck). - The client was ignoring all records without an authenticator. - Solution: allow records without an authenticator. - - Manager: fix crash after the Manager kills a graphics app - for a no-longer-running result. - Changed loop logic to go forwards instead of backwards. - - client/ - acct_mgr.C - clientgui/ - MainDocument.cpp - -David 31 Oct 2007 - - user web: make buttons look better; - add a function show_button() to display links as buttons - with hover-based explanation. - This should be used whenever clicking on something - performs an action, rather than just going to a new page - (sometimes the boundary is fuzzy) - - user web: fixed bug when send private message by user name - - html/ - inc/ - forum.inc - util.inc - user/ - forum_post.php - white.css - -David 1 Nov 2007 - - user web: - - replace some links with buttons in forum pages; add hover text. - - show "mark all threads as read" only in forum page - - fix bugs in team creation - - html/ - inc/ - boinc_db.inc - forum.inc - languages/translations/ - en.po - user/ - forum_forum.php - forum_thread.php - white.css - -David 1 Nov 2007 - - user web: - - use show_image() to show images in forums; - this adds a title=X so that users get - an explanation of what the action is. - - turns out the - works on Firefox but not IE. - Fix this by adding OnClick to the - - html/ - inc/ - forum_show.inc - forum.inc - util.inc - user/ - forum_forum.php - -David 1 Nov 2007 - - user web: - - changed Private Messages interface so that you see - all your messages on one page, - and remove various redundant links - (like the Inbox link on the Inbox page) - - changed links to buttons for moderator functions - - api/ - graphics2_win.C - html/ - inc/ - forum.inc - forum_pm.inc - user/ - forum_forum.php - forum_pm.php - forum_thread.php - languages/translations/ - en.po - -Rytis 2 Nov 2007 - - user web: convert translations from tokens to strings; update Lithuanian translation. - - ops pages: add user removal feature (for spammers). - - html/ - inc/ - forum.inc - team.inc - user.inc - util.inc - languages/translations/ - en.po - lt.po - ops/manage_user.php - user/ - account_finish.php - apps.php - create_account_action.php - create_account_form.php - forum_edit.php - forum_forum.php - forum_index.php - forum_post.php - forum_reply.php - forum_report_post.php - forum_search.php - forum_search_action.php - forum_text_search_action.php - forum_thread.php - info.php - sample_index.php - top_hosts.php - top_teams.php - top_users.php - -David 2 Nov 2007 - - user web:
outside of screwed up Opera - - html/ - inc/ - forum.inc - user/ - forum_thread.php - -Rom 2 Nov 2007 - - CC: Remove the event handler for CTRL-C, or rather change it - so that it means the same thing as it does to other apps, just - quit the CC instead of suspending or resuming the CC. - - client/ - main.C - -David 2 Nov 2007 - - user web: change more links to buttons; fix PHP warning - - html/ - inc/ - forum.inc - forum_moderators.inc - user/ - forum_thread.php - -David 2 Nov 2007 - - user web: add the ability to check/uncheck all PMs; clean up PM code - - html/user/ - am_set_info.php - forum_pm.php - white.css - -David 2 Nov 2007 - - user web: a private message is considered "read" the - first time it's shown. - No explicit "mark as read" action needed. - Also, no confirmation for message delete. - - db/ - constraints.sql - schema.sql - html/user/ - forum_pm.php - -Rytis 3 Nov 2007 - - user web: style server status page with CSS, some cleanup of the - stylesheet (based on ticket #457). - - html/ - ops/sample_server_status.php - user/white.css - -Rom 5 Nov 2007 - - CC: Treat the return code 0xC0000142 as though it is a temporary - error. 0xC0000142 means STATUS_DLL_INIT_FAILED which can happen - when an application attempts to create a new process while the OS - is shutting down, and when the desktop heap is fully utilized. - - This will keep an app from erroring out during Vista's shutdown - sequence. Only a reboot can fix the desktop heap. - - client/ - app.h - app_control.C - -David 5 Nov 2007 - - user web: add a general-purpose user search mechanism. - This lets you lookup up users sorted by - - descending join time - - descending total credit, or - - descending RAC - and lets you filter them by - - country - - presence/absence of team - - presence/absence of profile - It's implemented in such a way that no more than N - DB rows are examined - (i.e. it doesn't necessarily show you all the results) - - PHP database: add enum_fields() member to DbConn and BoincUser. - This is to select a limited number of fields - e.g. to make large queries more efficient. - Also added BoincTeam::lookup_id_cache(); this is an example - of how to look up items likely to be repeated - (like teams when you're showing a list of users) - - html/ - inc/ - boinc_db.inc - db_conn.inc - user.inc - util.inc - user/ - forum_forum.php - top_users.php - user_search_action.php (removed) - user_search.php (new) - -David 5 Nov 2007 - - user web: removed the "user search" option from profile_menu.php. - Added search-by-name to the user search page. - - html/user/ - user_search.php - profile_menu.php - -Charlie 6 Nov 2007 - - Mac: Fix brief flash of Manager window at OS 10.5 system startup. - - Mac: Fix compiler warnings when building boinc_cmd under OS 10.5. - - Mac: Strip additional symbols from deployment product. - - mac_installer/ - PostInstall.cpp - mac_build/ - buildWxMac.sh - boinc.xcodeproj/ - project.pbxproj - -David 6 Nov 2007 - - user web: BoincDb::get() checks if web activity is stopped, - and shows an error page (or XML error) if so. - - html/inc/ - boinc_db.inc - util.inc - -David 6 Nov 2007 - - user web: bug prevented host delete - - html/inc/ - boinc_db.inc - -Charlie 7 Nov 2007 - - Mac: Better error-handling in sandbox setup code. - - clientgui/ - mac/ - SetupSecurity.cpp - -David 7 Nov 2007 - - user web: added the notion of "Team Admin": team members, - appointed by the founder, who have most of the same - rights as the founder (edit team info, view/remove users). - They can't, however, change the founder, or select/remove Admins. - - user web: added the ability for founder to delete an empty team - - user web: count/show all team members, not just those with credit - - user web: Team Search returns top team if form fields left blank - - Added db_update.php entry for Eric's banishment_vote stuff - - html/ - inc/ - boinc_db.inc - db_conn.inc - team.inc - user.inc - util.inc - languages/translations/ - en.po - ops/ - db_update.php - user/ - bug_report_action.php (removed) - bug_report_form.php (removed) - create_account_action.php - sample_index.php - team_admins.php (new) - team_delta.php - team_display.php - team_edit_action.php - team_edit_form.php - team_email_list.php - team_manage.php - team_remove_inactive_action.php - team_remove_inactive_form.php - team_search.php - top_teams.php - user_search.php - -David 7 Nov 2007 - - user web: protect Team Admin ops from cross-project link attacks - - html/ - inc/ - team.inc - user/ - team_manage.php - team_admins.php - -Rom 7 Nov 2007 - - MGR: Change the layout of the Project List control. - - MGR: Clean up some comments in the task bar code since the comments - no longer served a purpose. - - clientgui/res/ - externalweblink.xpm (Added) - clientgui/res/templates/ - externalweblink.gif (Added) - clientgui/ - BOINCGUI.pjd - BOINCTaskBar.cpp - ProjectInfoPage.cpp - ProjectListCtrl.cpp, .h - -David 7 Nov 2007 - - API: in update_app_progress(), use %e instead of %f everywhere; - this limits the length of the generated string - ~12 chars even for big/small numbers. - Also reduce buffer size from 8000 to 256; - default thread stack size might not accommodate 8000 + extra. - - api/ - boinc_api.C - -David 7 Nov 2007 - - client: when starting an app, and an input/app file is not available, - show the file name and error code in the message - that's appended to the job's stderr_out. - - client/ - client_state.h - sim.h - cs_apps.C - app_start.C - -Janus 7 Now 2007 - - user web: Added green look to answered questions in the Q&A sections. - This is an old change that seemingly never reached SVN - when it was originally made last year. - - html/user/ - white.css - -David 7 Nov 2007 - - user web: enhancements to the "foundership request" feature: - - If a request is pending, notify the current founder - in red on their Account page. - (previously there was no notification on the web; - if the founder didn't get the notification email, - they'd never find out; and if they read but lost the email, - they'd lose the URL they needed to visit to decline). - - Also notify current founder on the Admin Functions page - - On the team page - requesting user: show that request is pending, and the deadline. - founder: show that request is pending, link to respond - other users: show Deferred if can't make a request yet - - Say 90 days instead of 60 days where appropriate; - other text cleanup - - user web: team_change_founder_action.php was generating - a different name for each element of a radio button group. - That makes it not a radio button. - - html/ - inc/ - team.inc - user.inc - user/ - team_admins.php - team_change_founder_action.php - team_change_founder_form.php - team_founder_transfer_action.php - team_founder_transfer_form.php - team_manage.php - -David 7 Nov 2007 - - user web: Team Admins can't remove members - - html/ - inc/ - team.inc - user/ - team_admins.php - team_remove_inactive_action.php - -David 7 Nov 2007 - - user web: set PHP memory limit to 64 MB - - html/inc/ - util.inc - -Charlie 8 Nov 2007 - Mgr SG: Fix SG preferences bug: set "custom" checkmark only if - global_prefs_override.xml file exists. - Mac: Additional changes to release scripts for compatibility with new - PackageMaker. - - clientgui/ - sg_DlgPreferences.cpp,h - mac_installer/ - release_boinc.sh - release_GridRepublic.sh - -David 9 Nov 2007 - - DB: remove "lang" from schema - not used - - DB: added parent_type to forum - - user web: BoincUser uses caching by default - - client: fixed small memory leak in statistics parsing - - db/ - schema.sql - html/ - inc/ - boinc_db.inc - db_conn.inc - forum_show.inc (deleted) - forum2_db.inc (new) - user.inc - ops/ - db_update.php - user/ - forum_reply.php - forum_text_search_action.php (deleted) - forum_text_search_form.php (deleted) - team_manage.php - user_search.php - -Charlie 9 Nov 2007 - Mgr SG: Fix SG preferences bug: save "Do work only between" and - "Connect only between" as doubles, not longs so they work - properly. - - clientgui/ - sg_DlgPreferences.cpp - -Janus 11 Nov 2007 - - User web: Factored out the supermassive if-sentence in forum.inc:show_post() - It is now a seperate function called should_show_post() and it returns a - boolean. - - html/inc/ - forum.inc - -David 11 Nov 2007 - - Manager: use random colors for disk usage pie chart - (need to have unique color per project, - else tooltip will be wrong for some projects, - since it's based on color) - - clientgui/ - ViewResources.cpp,h - -David 12 Nov 2007 - - DB: fix typo in schema; fixes #466 - - db/ - schema.sql - html/ - inc/ - boinc_db.inc - db_conn.inc - forum2_db.inc - ops/ - db_update.php - -David 12 Nov 2007 - - user web: revise forum code to use new-style DB interface - - html/ - inc/ - forum.inc - forum_db.inc (new) - forum_email.inc - forum2_db.inc (removed) - forum_category.inc (removed) - forum_dbh.inc (removed) - forum_forum.inc (removed) - forum_mainfactory.inc (removed) - forum_moderators.inc (removed) - forum_mysql_dbh.inc (removed) - forum_pm.inc (removed) - forum_post.inc (removed) - forum_std.inc (removed) - forum_thread.inc (removed) - forum_user.inc (removed) - pm.inc (new) - user.inc - user/ - forum*.php - pm.php (new) - -David 12 Nov 2007 - - user web: update other code to use new-style DB interfaces - - html/ - inc/ - akismet.inc - boinc_db.inc - db.inc - db_conn.inc - user/ - account_finish_action.php - am_set_info.php - apps.php - create_account_info.php - delete_profile.php - edit_email_action.php - edit_passwd_action.php - forum_edit.php - forum_get_data.php - home.php - login_action.php - lookup_account.php - opt_out.php - pm.php - profile_rate.php - profile_search_action.php - results.php - validate_amil_addr.php - workunit.php - -David 12 Nov 2007 - - user web: fixes - - html/ - inc/ - boinc_db.inc - db.inc - user/ - result.php - results.php - show_user.php - workunit.php - -David 12 Nov 2007 - - client: fix bug in parsing of - element in master files. fixes #467 - - client/ - scheduler_op.C - -Bernd 13 Nov 2007 - - autoconf: fix usage of AC_ARG_ENABLE for debug and unicode - - configure.ac - - -Bernd 13 Nov 2007 - - added features to pass_percentage_per_platform: - - 1. distinguish between Darwin x86 and Darwin PPC - 2. lists the "fail rates" for individual client states to allow to - distinguish between download errors, computing errors and aborts - 3. optionally list individual "unknown" OS by name - 4. optionally list "unofficial" application versions - 3. and 4. are probably rather confusing on open-source projects like SETI, - but I found them helpful e.g. on Einstein - - html/ - inc/ - pass_percentage_per_platform.php - -Rom 13 Nov 2007 - - DEP: Update libCurl to 7.17.1 - - curl/include/curl/ - - curl/mswin/ - - -David 13 Nov 2007 - - user web: change forum prefs editing to use new DB interface - - fix bug in lookup_account RPC - - html/ - inc/ - forum.inc - forum_db.inc - user/ - edit_forum_preferences_action.php - edit_forum_preferences_forum.php - lookup_account.php - -Rom 13 Nov 2007 - - Fix build break introduced by new libcurl headers on Windows. - - lib/ - boinc_win.h - -Rom 13 Nov 2007 - - MGR: Update project list web link image. - - clientgui/res/ - externalweblink.xpm - clientgui/res/templates - externalweblink.gif - -Rytis 14 Nov 2007 - - user web: fix typo in lookup_account.php, preventing attach. - - html/user/ - lookup_account.php - -Charlie 14 Nov 2007 - Mac: Update libCurl to 7.17.1. - - mac_build/ - buildcurl.sh - HowToBuildBOINC_XCode.rtf - setupForBOINC.sh - boinc.xcodeproj/ - project.pbxproj - -David 15 Nov 2007 - - user web: code cleanup, deleted unused files - - html/ - inc/ - db_forum.inc (removed) - subscribe.inc (removed) - userw.inc (removed) - gallery.inc - host.inc - profile.inc - result.inc - team.inc - user.inc - util.inc - user/ - delete_profile.php - forum_moderate_thread_action.php - userw.php - -David 15 Nov 2007 - - client: if a project has DCF > 90 and has projected deadline misses, - give its jobs priority. - (from John McLeod) - - client/ - sim.C - cpu_sched.C - -David 15 Nov 2007 - - user web: bug fixes - - html/ - inc/ - forum_db.inc - ops/ - db_update.php - user/ - forum_edit.php - forum_user_posts.php - team_manage.php - -David 15 Nov 2007 - - user web: bug fix in forum edit function; fixes #474 - - html/user/ - forum_edit.php - -David 15 Nov 2007 - - user web: remove debugging code; - remove odd use of tables in edit forum prefs forum - Fixes #475; fixes #476 - - html/user/ - forum_index.php - edit_forum_preferences_form.php - -David 15 Nov 2007 - - user web: change stylesheet so that when showing - item/value pairs in table, don't bolden values - - html/user/ - white.css - -David 15 Nov 2007 - - user web: factor out code for forum header (search forum and PM info) - into a separate function. - Don't show subtitle bar for categories with no name. - Rename search_post_titles() to search_post_content() - - html/ - inc/ - forum.inc - user/ - forum_edit.php - forum_forum.php - forum_help_desk.php - forum_index.php - forum_post.php - forum_reply.php - forum_search_action.php - forum_subscribe.php - forum_thread.php - -Charlie 15 Nov 2007 - Mac: Workaround for header problem when building libcurl-7.17.1 for ppc - with gcc4. - Mac: Add x86_64 architecture to build of libcurl-7.17.1. - - mac_build/ - buildcurl.sh - -Rom 15 Nov 2007 - - MGR: Shrink the external web link icon to 12x12 to avoid having the - grey border. - - MGR: Use tooltips instead of balloons when displaying result completion - status. (from David Barnard) - - clientgui/ - BOINCTaskBar.cpp, .h - ProjectListCtrl.cpp - clientgui/msw - taskbarex.cpp, .h - -David 15 Nov 2007 - - user web: allow teams to create their own "team message board". - Team founder and admins have moderator power. - Anyone can view a team message board, - but only team members can write to it. - Users cannot be banished from team message boards - (due to database limitations). - - html/ - inc/ - boinc_db.inc - forum.inc - forum_db.inc - team.inc - user.inc - languages/translations/ - en.po - user/ - forum*.php - team_admins.php - team_delta.php - team_email_list.php - team_forum.php (new) - -David 15 Nov 2007 - - user web: in the various interfaces that show team member's - email addresses to team admins, - also show the user's "send_email" flag, - indicating whether the agreed to get "email newsletters" - from the project. - If this is set, teams should NOT send email to that user. - - Ideally, we should have a separate preference for whether - to get email from team - (or show email address to team admins at all) - - Fixes (more or less) #479 - - - html/ - inc/ - xml.inc - user/ - team_delta.php - team_email_list.php - -David 15 Nov 2007 - - user web: fix #478 - - html/inc/ - forum_db.inc - -David 15 Nov 2007 - - user web: only team founders can see member email addresses - - html/ - inc/ - team.inc - user/ - team_delta.php - team_email_list.php - -David 15 Nov 2007 - - user web: - show team message board on main Message Boards page - - html/user/ - forum_index.php - team_forum.php - -Charlie 16 Nov 2007 - MGR: Fix bug which showed Snooze task bar icon when it shouldn't. - Mac: Add 64-bit Intel support to Client and libraries. - - api/ - mac_icon.C - client/ - hostinfo_unix.C - clientgui/ - BOINCTaskBar.cpp - clientgui/ - SetupSecurity.cpp - lib/ - mac/ - QBacktrace.c - QCrashReport.c - QMachOImageList.c - mac_build/ - boinc.xcodeproj/ - project.pbxproj - BuildMacBOINC.sh - -David 16 Nov 2007 - - added optional code for user-submitted jobs (from M.F. Somers) - - added some scripts in ops/ for managing HR, and for blocking hosts. - (from M.F. Somers; these should be documented in the WIki - and perhaps added to ops/index.php) - - html/ - ops/ - hrclass_summary.php - reset_hrclass.php - block_host.php - queue/* - -David 16 Nov 2007 - - user web: change Team page: - - add more info about team message board (if it exists) - - show list of admins - - show list of new members (in last 24 hours) - - show number of members total, with credit, and with average credit - - move actual list of members to new page (team_members.php) - - html/ - inc/ - prefs.inc - team.inc - util.inc - user/ - team_display.php - team_members.php (new) - -David 16 Nov 2007 - - user web: fixes #482 - - html/ - inc/ - forum.inc - user/ - forum_thread.php - -David 16 Nov 2007 - - user web: if user unchecked "OK to send email" pref, - don't show his email address to team founder - - user web: change wording on project prefs page to clarify - that emails may come from project OR team - - user web: let team founder delete message board - - html/ - inc/ - forum_db.inc - prefs.inc - xml.inc - user/ - team_delta.php - team_email_list.php - team_forum.phhp - -David 16 Nov 2007 - - user web: on team message board pages, - put a link to the top-level message board - - html/ - inc/ - forum.inc - user/ - forum_post.php - forum_thread.php - forum_subscribe.php - forum_reply.php - forum_edit.php - -David 16 Nov 2007 - - user web: let team founder edit title/description - of team message board - - html/user/ - forum_forum.php - forum_index.php - team_forum.php - team_display.php - team_email_list.php - -David 16 Nov 2007 - - manager: compile fix - - clientgui/ - BOINCTaskBar.cpp - -Rytis 17 Nov 2007 - - user web: add "Powered by BOINC" logo to the repository and update - sample_index.php (fix #460). - - html/user/ - img/ - pb_boinc.gif - sample_index.php - -David 17 Nov 2007 - - user web: bug fix in moderation email send (fixes #485) - - BOINC-wide teams: HTML-escape user-supplied text (fixes #487) - - html/ - ops/ - team_import.php - team_export.php - user/ - forum_moderator_post_action.php - -David 17 Nov 2007 - - user web: fix bug in edit forum prefs - - html/user/ - edit_forum_preferences_action.php - -David 17 Nov 2007 - - user web: if join team while already in a team, - create outgoing delta also - - html/ - inc/ - host.inc - team.inc - user/ - team_join.php - -David 17 Nov 2007 - - user web: for moderation actions on team forums, - send email notifications to team founder (not project admin) - - user web: let project admins (S_ADMIN) moderate team forums - - html/ - inc/ - forum.inc - forum_email.inc - user/ - forum_moderate_post_action.php - forum_moderate_thread_action.php - forum_report_post.php - team_create_form.php - -David 17 Nov 2007 - - user web: send "red X" notifications on team boards - to project admins as well as team founder - - html/ - inc/ - forum_email.inc - user/ - forum_user_posts.php - -David 18 Nov 2007 - - user web: update post.modified when edit post (fixes #491) - - html/user/ - forum_edit.php - -David 18 Nov 2007 - - user web: text tweak, fixes #492 - - html/ - inc/ - pm.inc - languages/translations/ - en.po - -David 18 Nov 2007 - - user web: init DB in banishment vote page - - html/inc/ - forum_banishment_vote.inc - -David 18 Nov 2007 - - user web: fix bug in user list XML display - - html/user/ - team_email_list.php - -David 18 Nov 2007 - - user web: fix PM mass deletion; fixes #493 - - html/ - inc/ - forum_banishment_vote.inc - user/ - pm.php - -David 18 Nov 2007 - - user web: don't append "/" to URL_BASE. - URL_BASE is assumed to end with a /. - If you put another /, you end up with // in URLs. - This leads to a situation where you can have - one cookie for // and another for / - bad. - - If this causes problems for any projects, - they should edit their project.inc accordingly - - html/ - inc/ - forum_email.inc - gallery.inc - pm.inc - profile.inc - uotd.inc - user.inc - util.inc - ops/ - mass_email.php - mass_email_script.php - remind.php - user/ - donate.php - opt_out.php - profile_menu.php - sample_index.php - sample_rss_main.php - team_founder_transfer_action.php - uotd_gadget.php - -David 18 Nov 2007 - - user web: the "private-message notification by email" flag - should default to off. - Note: it's necessary to clear everyone's flag. - Projects will need to notify users (e.g. via a news item) - that they need to explicitly set this pref if they want email - notification of PMs - - db/ - schema.sql - html/ - inc/ - forum_db.inc - ops/ - db_update.php - user/ - edit_forum_preferences_action.php - -David 18 Nov 2007 - - user web: fix forum banishment vote stuff - - html/ - inc/ - forum_banishment_vote.inc - user/ - forum_banishment_vote_action.php - edit_forum_preferences_form.php - -Rom 19 Nov 2007 - - MGR: Don't display the snooze icon when CPU benchmarks are - running or when computation has been suspended due to - preferences. - - clientgui/ - BOINCTaskBar.cpp - -David 19 Nov 2007 - - user web: tweak PM-related text - - html/ - inc/ - pm.inc - forum.inc - user/ - white.css - -David 19 Nov 2007 - - user web: don't show controls in user post list; fixes #494 - - html/user/ - forum_user_posts.php - -David 19 Nov 2007 - - user web: clean up logic for dealing with forgotten password: - - login form now has ONLY email/passwd - ("login with account key" is gone) - - "forgot password?" takes you to a page with two options: - 1) type in email address, get an email with login link - 2) instructions for recovering account key from BOINC account file - - email is stripped-down, has login link and not much else - - fixes #190 - - html/ - inc/ - email.inc - util.inc - user/ - get_passwd.php - login_action.php - mail_passwd.php - white.css - -David 19 Nov 2007 - - user web: use forum prefs (e.g. display images as links) - when displaying PMs. fixes #497 - - html/ - inc/ - text_transform.inc - user/ - pm.php - -David 19 Nov 2007 - - user web: when send an email with login URL, - don't include the account key in the URL. - Rather, include the user ID, the time, and - a have of the ID, time, and account key. - Honor this for 1 day. - - html/ - inc/ - email.inc - user/ - login_action.php - -David 20 Nov 2007 - - user web: clean up funky search result formatting. - For thread titles, show links to forum/category also - For posts, show complete post, with search terms highlighted. - - user web: in display of posts for a user, - show links to thread and forum also - - user web: posts/threads can become "orphaned" if their forum - disappears, e.g. team message board is deleted. - Handle this gracefully in search results and user post list - - user web: where HTML tags are allowed, say so - - user web: fix bug where wrap_postcounts weren't being shown in form - - DB: use "tinyint" instead of "tinyint(1) unsigned" etc. - - db/ - schema.sql - html/ - inc/ - boinc_db.inc - forum.inc - team.inc - user/ - edit_forum_preferences_action.php - edit_forum_preferences_form.php - forum_forum.php - forum_index.php - forum_search_action.php - forum_thread.php - forum_user_posts.php - html.php - white.css - -David 20 Nov 2007 - - DB: add fulltext index on team.name - - user web: improve "team search" function, - and get rid of the superceded "search by name" function - - user web: don't show team founder link to initiate transfer - - user web: show team types - - user web: fix "top teams by type" function - - client: tread NOT_FOUND error on file upload as transient; - it means the project is missing its file_upload_handler - - client/ - file_names.h - pers_file_xfer.C - db/ - constraints.sql - schema.sql - html/ - inc/ - team.inc - team_types.inc - ops/ - db_update.php - user/ - team.php - team_search.php - top_teams.php - -David 20 Nov 2007 - - user web: team search tweaks. Fixes #183 - - html/ - inc/ - forum_banishment_vote.inc - user/ - team_search.php - -David 20 Nov 2007 - - user web: add a config file option. - This specifies min average credit needed to create or edit a profile. - - html/inc/ - forum.inc - profile.inc - -David 20 Nov 2007 - - user web: disable feature where answered questions are - shown in green - not ready for prime time. - - html/user/ - forum_forum.php - -David 20 Nov 2007 - - user web: fix WAP function - - html/ - inc/ - wap.inc - user/ - userw.php - -David 21 Nov 2007 - - client: removed -return_results_immediately cmdline option - (wasn't implemented anyway) - - client: added configuration flag; - causes results to be reported as soon as done. - Needed for some WCG machines that are reformatted often. - Should NOT be used in general, since it increases server load. - - client/ - client_state.h - cs_cmdline.C - log_flags.C,h - work_fetch.C - -David 21 Nov 2007 - - user web: send UOTD email using PHPMailer if available; fixes #503 - - user web: don't show team forum in Q&A page - - scheduler: code (commented out) to recognize when - a sched request is from an existing host - (same IP/domain/RAM size) and reuse the host record; - from Kevin Reed - - html/ - inc/ - uotd.inc - user/ - forum_help_desk.php - sched/ - handle_request.C - -David 21 Nov 2007 - - user web: team admins receive email notification of - moderation and red-X events, as well as team founder - - user web: admins can view team join/quit history - (which no longer contains email addresses) - - user web: update text describing admin privileges - - html/ - inc/ - forum_email.inc - user/ - team_delta.php - team_admins.php - -David 21 Nov 2007 - - user web: show list of subscribed threads on forum index page - - user web: highlight subscribed threads using green background - - user web: hyperlink thread titles in search results - - html/ - inc/ - forum.inc - user/ - forum_forum.php - forum_index.php - forum_search_action.php - -David 21 Nov 2007 - - user web: URL fix - - html/inc/ - forum.inc - -David 21 Nov 2007 - - user web: fix bug in user filter; fixes #505 - - html/user - forum_edit_forum_preferences_action.php - forum_edit_forum_preferences_form.php - -David 21 Nov 2007 - - user web: if user edits posts and content is empty, delete; fixes #504 - - html/ - inc/ - forum.inc - forum_db.inc - user/ - forum_edit.php - -David 23 Nov 2007 - - prevent 2 forums for 1 team - - html/user/ - team_forum.php - -David 23 Nov 2007 - - user web: fix translation bug (from Nicolas Alvarez) - - user web: fix small bug in team search - - html/ - inc/ - translation.inc - user/ - team_search.php - -David 23 Nov 2007 - - user web: when showing UOTD on front page, - strip HTML tags from text (e.g. to remove photos) - - user web: show_image(): separate title (tooltip text) - from "alt" (replaces image if images disabled). - The latter must be terse. - - user web: show_button(): make it work even if Javascript disabled - - html/ - inc/ - forum.inc - uotd.inc - util.inc - user/ - forum_forum.php - forum_reply.php - pm.php - sample_index.php - -David 23 Nov 2007 - - team import: fix string-escaping bugs - - user web: don't show links to sched logs if they don't exist - - user web: add new team types - - html/ - inc/ - host.inc - team_types.inc - ops/ - team_import.php - -David 24 Nov 2007 - - user web: add config option. - If set, only team members can see team forums - - html/ - inc/ - forum.inc - team.inc - user/ - forum_search.php - forum_thread.php - forum_forum.php - forum_search_action.php - -David 25 Nov 2007 - - user web: use enum_fields() when enumerating team members; - hopefully this will prevent running out of memory on large teams - - html/user/ - team_email_list.php - team_manage.php - -David 25 Nov 2007 - - web: reorder and reword Your Account page and Forum prefs page; - rename General Prefs to Computing Prefs; - rename Forum Prefs to Community Prefs - add Prefs link if user doesn't have email PM notification - - remove forum low/high rating theshold stuff. - Message rating was a failed experiment. - - html/ - inc/ - pm.inc - prefs.inc - user.inc - languages/translations/ - en.po - user/ - edit_forum_preferences_action.php - edit_forum_preferences_form.php - get_passwd.phph - -David 25 Nov 2007 - - web: fix PHP errors, add translations strings - - html/ - inc/ - forum.inc - pm.inc - team.inc - user.inc - util.inc - languages/translations/ - en.po - user/ - edit_forum_preferences_forum.php - team_display.php - user_search.php - -David 25 Nov 2007 - - web: when showing team forums, give link back to forum index - - html/ - inc/ - forum.inc - user/ - forum_edit.php - forum_forum.php - forum_reply.php - forum_subscribe.php - forum_thread.php - -David 27 Nov 2007 - - API graphics: changes to REDUCED_ARRAY to support new S@h graphics - - API: fix format codes in stack trace printf - - api/ - reduce.h - reduce_lib.C - reduce_main.C - lib/ - diagnostics_win.C - -David 27 Nov 2007 - - client: clean up logic of handling DLL_INIT_FAILED exits on Win. - Shouldn't cause any functional change - - client/ - app.h - app_control.C - -Rom 28 Nov 2007 - - WINSETUP: Update CACreateBOINCUsers. - - WINSETUP: Create CACreateBOINCGroups. - - WINSETUP: Create CAGrantBOINCMasterRights. - - WINSETUP: Create CAGrantBOINCProjectRights. - - WINSETUP: Remove CACreateVBSShortcut. - - WINSETUP: Remove CAGrantServiceExecutionRight. - - WINSETUP: Remove CAMigrateCPDNBBC. - - WINSETUP: Remove CAPopulateServiceAccount. - - WINSETUP: Remove CAValidateServiceAccount. - - WINSETUP: Remove CAVerifyServiceExecutionRight. - - WINSETUP: Remove CAVerifyServicePassword. - - WINSETUP: Hookup new custom actions - - NOTE: For some reason the advanced configuration screen - checkboxes are not working, so the CA's are setup to run - always to test them out. - - win_build/installerv2/ - BOINC.ism - win_build/installerv2/redist/Windows/src/boinccas/ - CAGrantServiceExecutionRight.cpp, .h (removed) - CAMigrateCPDNBBC.cpp, .h (removed) - CAPopulateServiceAccount.cpp, .h (removed) - CAValidateServiceAccount.cpp, .h (removed) - CAVerifyServiceExecutionRight.cpp, .h (removed) - CAVerifyServicePassword.cpp, .h (removed) - CACreateBOINCUsers.cpp - CACreateBOINCGroups.cpp, .h (added) - CAGrantBOINCMasterRights.cpp, .h (added) - CAGrantBOINCProjectRights.cpp, .h (added) - -David 28 Nov 2007 - - web: clean up moderation emails for post hide/unhide. - TODO: other moderation emails - - web: fix small bug in host merge function - - html/ - inc/ - forum_email.inc - host.inc - user/ - host_edit_form.php - forum_moderate_post.php - forum_moderate_post_action.php - -Rom 28 Nov 2007 - - WINSETUP: Fix the various checkboxes - - WINSETUP: Fix the data directory stuff so if the user - changes the default location it cascades down to the - projects and slots directories as well. - - WINSETUP: Fix the permissions on the install directory - - WINSETUP: Add new public properties to the Save/Restore - state custom actions. - - win_build/installerv2/ - BOINC.ism - win_build/installerv2/redist/Windows/src/boinccas/ - CARestoreSetupState.cpp - CASaveSetupState.cpp - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - -David 28 Nov 2007 - - Bolt development - - db/ - bolt_schema.sql - html/ - inc/ - bolt.inc - bolt_db.inc - ops/ - bolt_setup_sample.php - user/ - bolt.php - bolt_sched.php - -David 29 Nov 2007 - - web: clean up forum prefs forum, and add a Confirm when reset - - html/ - inc/ - bolt_ex.inc - forum_db.inc - user/ - edit_forum_preferences_action.php - edit_forum_preferences_form.php - -David 29 Nov 2007 - - web: include private message content in email notification - - html/user/ - pm.php - -David 29 Nov 2007 - - API: code cleanup - removed references to "graphics thread" - removed HANDLE timer_quit_event - removed enable_heartbeat/disable_heartbeat messages - (not sure what the ideas was, but no longer exists) - removed heartbeat_active flag (use options.check_heartbeat instead) - read heartbeat-channel messages even if heartbeat disabled - (since we use that channel for WSS messages too) - - client: remove ACTIVE_TASK::thread_handle (not used) - - api/ - boinc_api.C - client/ - app.C,h - app_start.C - lib/ - app_ipc.h - -David 29 Nov 2007 - - web: updating forum prefs would undo banishment, - reset #posts, and clear moderator flags. Fixed. - - html/ - inc/ - db_conn.inc - user/ - edit_forum_preferences_action.php - -David 29 Nov 2007 - - web: if a team forum is deleted, delete all the threads and posts - beneath it. - Otherwise you get "zombie" posts, and e.g. when we should a user's - posts, they might all be hidden. - Also added a script to retroactively clean up these. - - html/ - ops/ - repair_forums.php - user/ - team_forum.php - -David 29 Nov 2007 - - web: fix this forum prefs reset problem again; this time for sure - - html/ - inc/ - forum_db.inc - user/ - edit_forum_preferences_action.php - -Rom 30 Nov 2007 - - WINSETUP: Randomly generate boinc_master and boinc_project passwords - - WINSETUP: Fix permission problems with newly created directories. - (Was an Installshield bug) - - WINSETUP: Add CAMigrateBOINCData - - WINSETUP: Fix long standing bug with the LAUNCHPROGRAM stuff showing - up on removes and admin installs - - Remove the admin required flag from all application manifests for - all executables. - - Fix a possible AV when the CC was launched without admin privs on - Windows. - - clientlib/win/ - IdleTracker.cpp - win_build/ - boinc_cli_curl.vcproj - boinc_dll.vcproj - boinccmd.vcproj - boincmgr_curl.vcproj - sim.vcproj - updater.vcproj - vistaadminrequired.xml (removed) - vistaadminrequiredui.xml (removed) - win_build/installerv2/ - BOINC.ism - win_build/installerv2/redist/Windows/src/boinccas/ - boinccas.vcproj - boinccas95.def - boinccas95.vcproj - CACreateBOINCAccounts.cpp - CAGrantBOINCMasterRights.cpp - CAMigrateBOINCData.cpp, .h (Added) - dirops.cpp, .h (Added) - password.cpp, .h (Added) - stdafx.h - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - -Rom 30 Nov 2007 - - WINSETUP: Policy change, the migration of the data files happens in - two stages. The first stage happens before InstallInitialize and the - second stage happens after InstallFinalize. Everything between - InstallInitialize and InstallFinalize just generates a script - and doesn't actually change the file system, so the permission trees - just get screwed up. - - WINSETUP: Updated CAMigrateBOINCData - - WINSETUP: Created CAMigrateBOINCDataTemp - - WINSETUP: Created CAStartupBOINCService - - CC: Change the current working directory on startup to the DATADIR. (Windows Only) - - MGR: Change the current working directory on startup to the DATADIR. (Windows Only) - - CC: Change the logic for pointing to the CA Certificate Bundle on - Windows. - - client/ - http_curl.C - main.C - clientgui/ - BOINCGUIApp.cpp - win_build/installerv2/ - BOINC.ism - win_build/installerv2/redist/Windows/src/boinccas/ - boinccas.def - boinccas.vcproj - boinccas95.def - boinccas95.vcproj - CAGrantBOINCMasterRights.cpp - CAGrantBOINCProjectRights.cpp - CAMigrateBOINCData.cpp - CAMigrateBOINCDataTemp.cpp, .h (Added) - CAShutdownBOINC.cpp - CAStartupBOINCService.cpp, .h (Added) - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - -Rom 30 Nov 2007 - - MGR: Add the ability for the manager to know the difference - between the executable directory and the data directory. - (Windows Only) - - TRAY: Update the tray code to what was used in 5.10.x - - WINSETUP: Update for BOINCTray.exe - - clientgui/ - BOINCGUIApp.cpp, .h - SkinManager.cpp - clienttray/ - tray_win.cpp, .h - win_build/ - boinc.sln - boinctray.vcproj - win_build/installerv2/ - BOINC.ism - -David 30 Nov 2007 - - scheduler: - - if WU is infeasible, print message instead of number - - remove useless messages - - remove EDF simulations printfs - - don't update nresults_on_host in resend_lost_work() - (it's already done in add_result_to_reply()) - - sched/ - edf_sim.C - handle_request.C - sched_array.C - sched_resend.C - sched_send.C,h - -David 30 Nov 2007 - - web: escape single-quotes in javascript strings - - html/inc/ - util.inc - -David 30 Nov 2007 - - web: put "mark all threads as unread" on the forum index, - since it applies to all forums. - - html/user/ - forum_index.php - forum_forum.php - -David 1 Dec 2007 - - web: show explanation if try to change team name to one in use - - web: don't allow bad tags in team name HTML - - html/user/ - team_edit_action.php - -David 1 Dec 2007 - - client: don't fetch project list from boinc.berkeley.edu - if the config flag is set - - client/ - acct_setup.C - -Rom 2 Dec 2007 - - WINSETUP: Fix a few more permission problems with how - InstallShield does things. - - WINSETUP: Don't attempt to create accounts or set rights - on Win9x based systems. - - WINSETUP: Add additional trace messages to - CACreateBOINCAccounts. - - WINSETUP: Add entries for a null script when creating - user accounts, apparently it is a requirement for - creating accounts on Win2k and WinXP. - - win_build/installerv2/ - BOINC.ism - win_build/installerv2/redist/Windows/src/boinccas/ - CACreateBOINCAccounts.cpp - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - -Rom 2 Dec 2007 - - CC: Move time_stats file creatio logic so that it is - created during gstate.init() instead of at class - creation time. This way time_stats.log ends up in - the data directory. - - client/ - client_state.C - time_stats.C, .h - -David 2 Dec 2007 - - web: if user is banished, don't show their posts except to mods, - don't show their name in thread headers, - and don't show their profile - - html/ - inc/ - forum.inc - profile.inc - util.inc - user/ - forum_edit.php - -David 2 Dec 2007 - - client: hopefully fix keyboard input detection on Linux - - client/ - hostinfo_unix.C - -David 3 Dec 2007 - - client: fix bug that would falsely report DLL init errors - - client: don't crash when detach a project using anonymous platform - (fixes #511) - - client/ - app_control.C - client_state.C,h - cs_cmdline.C - gui_rpc_server_ops.C - -Rom 3 Dec 2007 - - client: Use a buffer scoped to the HTTP_OP object instead of - a std::string scoped to the stack when passing the CABundle - location to libcurl. - - client/ - http_curl.C, .h - -Charlie 4 Dec 2007 - Mac: Update build scripts and documentation for x86_64 support. - - mac_build/ - buildcurl.sh - buildjpeg.sh - BuildMacBOINC.sh - HowToBuildBOINC_XCode.rtf - -David 4 Dec 2007 - - ops: in team import script, send email to team founder - when creating team - - web: if user changes email addr, clear email_validated - - html/ - ops/ - team_import.php - user/ - edit_email_action.php - -David 4 Dec 2007 - - web: edit team page was rejecting valid HTML team names - - html/user/ - team_edit_action.php - -David 4 Dec 2007 - - client: CPU sched bug fixes when project has huge DCF. - Also prevent switching between two jobs with same deadline. - - client/ - cpu_sched.C - -Charlie 4 Dec 2007 - Mac: Fix compiler warnings. - - lib/ - mac/ - QCrashReport.c - -Rom 5 Dec 2007 - - client: Update client libraries and add debug libraries. - zlib 1.2.3 - OpenSSL 0.9.8g - LibCurl 7.17.1 - - curl/ - - openssl/ - - zlib/ - - -Rom 5 Dec 2007 - - WIN: Update project files to account for new directory structure. - - win_buld/ - - -David 7 Jan 2007 - - Add weak account key mechanism. - Each account has an associated weak account key. - The user can see it by visiting weak_auth.php. - If you put the weak account key in the account file on a computer - (instead of the regular account key) - the computer will attach to the account. - But the weak account key cannot be used to log in - to the account on the web, or to do web RPCs, or anything else. - - Note: this involves a scheduler change. - - html/ - ops/ - team_export.php - user/ - weak_auth.php - sched/ - handle_request.C - -Charlie 7 Dec 07 - - Mac: Fix visibility linker warnings when linking BOINC libraries with - project applications, boinc_cmd, etc. - - Mac: Fix jpeg library build problem when building under OS 10.5 and - XCode 3.0 (compatibility settings issue, enter "man compat" in Terminal - for more info). - - mac_build/ - buildjpeg.sh - boinc.xcodeproj/ - project.pbxproj - -David 8 Dec 07 - - tweaked weak-auth page (from Nicolas Alvarez) - - html/ - languages/translations/ - en.po - user/ - weak_auth.php - -David 10 Dec 07 - - compile fixes - - sched/ - Makefile.am - wample_work_generator.C - html/ - inc/ - uotd.inc - user/ - account_finish_action.php - lib/ - util.C - -David 12 Dec 07 - - code cleanup - - client/ - file_names.C - html/user/ - account_finish_action.php - -Rom 12 Dec 2007 - - WINSETUP: Replace two stage migration with a single stage - defered custom action, implement rollback functionality, - and increase trace output in case of failure. - - WINSETUP: Let MSI start the BOINC Service now. - - win_build/installerv2/ - BOINC.ism - win_build/installerv2/redist/Windows/src/boinccas/ - CAMigrateBOINCData.cpp, .h - CAMigrateBOINCDataTemp.cpp, .h (deleted) - CAStartupBOINCService.cpp, .h (deleted) - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - -Rom 12 Dec 2007 - - MGR: Remove extra call to SetWorkingDirectory() since it - is causing authentication errors. - - clientgui/ - BOINCGUIApp.cpp - MainDocument.cpp - -Rom 13 Dec 2007 - - WINSETUP: Fix a couple permission problems when protected - mode isn't defined. - - WINSETUP: Streamline the CC startup procedure when - the manager launches the CC. - - clientgui/ - BOINCGUIApp.cpp - win_build/installerv2/ - BOINC.ism - win_build/installerv2/redist/Windows/src/boinccas/ - CACreateBOINCGroups.cpp - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - - -Charlie 14 Dec 07 - - MGR: Fix bug determining whether Client is already running; try - rpc.get_host_info() in addition to rpc.init(). This takes the - place of the old rpc.get_screensaver_mode() test in V5 Manager - and is needed if some security or firewall software is present. - - clientgui/ - BOINCGUIApp.cpp - -Rom 14 Dec 07 - - SCR: Reimplement the screensaver rpc test for v6 so that the - screensaver can trip the firewall while the user is at the - terminal. - - clientscr/ - screensaver_win.cpp - -Rom 14 Dec 2007 - - Tag for 6.1.5 release, all platforms - boinc_core_release_6_1_5 - - client/ - configure.ac - version.h - -Charlie 17 Dec 07 - - Mac MGR: Fix serious memory leak under OS 10.5 by upgrading to - wxMac 2.8.7. This causes a minor cosmetic bug in SimpleGUI which - needs fixing. - - mac_build/ - buildWxMac.sh - HowToBuildBOINC_XCode.rtf - boinc.xcodeproj/ - project.pbxproj - -Rom 17 Dec 2007 - - WINSETUP: Attempt to shutdown any BOINC processes much earlier - in the execution cycle. Originally did this in the 5.10 branch. - - WINSETUP: Add some more checks to safe guard the migration process. - 1. Check to see if the install directory and the data directory are - the same, if so, abort migration. - 2. Check to see if the data directory is under the install directory, - if so, abort migration. - 3. If the client_state.xml file already exists in the data directory, - abort migration. - - win_build/installerv2/ - BOINC.ism - win_build/installerv2/redist/Windows/src/boinccas/ - CAMigrateBOINCData.cpp - win_build/installerv2/redist/Windows/Win32/ - boinccas.dll - boinccas95.dll - win_build/installerv2/redist/Windows/x64/ - boinccas.dll - boinccas95.dll - -David 18 Dec 2007 - - user web: add "friend" and "notification" features - - user web: code cleanup in Profile area - - GUI RPC: add missing "/" in auth2 RPC - - db/ - constraints.sql - schema.sql - html/ - inc/ - forum_db.inc - gallery.inc - profile.inc - team.inc - user.inc - ops/ - db_update.php - user/ - create_profile.php - friend.php (new) - show_user.php - lib/ - gui_rpc_client.C - -Charlie 18 Dec 07 - - MGR: Work around long-standing cosmetic bug in SimpleGUI with - newer versions of wxwidgets. For unknown reasons, the size of - the ClientStateIndicator panel was reduced from (343,314) to - (336,300) before it is updated in CViewTabPage::DrawText(). - This hack simply sets the size back to its original value. - - clientgui/ - sg_ViewTabPage.cpp - -Charlie 19 Dec 07 - - Mac MGR: Fix code which draws menubar icon to properly use alpha - channel with newer versions of wxwidgets. - - Mac: Fix curl library build problem when building under OS 10.5 and - XCode 3.0 (compatibility settings issue, enter "man compat" in Terminal - for more info). - - clientgui/ - mac/ - SystemMenu.m - MacSysMenu.cpp,h - mac_build/ - buildcurl.sh - boinc.xcodeproj/ - project.pbxproj - -David 19 Dec 2007 - - client: changes to make the client work on "Debian GNU/kFreeBSD", - a hybrid system that acts like Linux at the user - level but has a FreeBSD kernel. - Fixes #521 - - configure.ac - client/ - main.C - hostinfo_unix.C - -David 19 Dec 2007 - - user web: bug fix in code to limit posting rate - - admin web bug fixes - - html/ - inc/ - forum.inc - ops/ - list_new_users.php - manage_user.php - sample_server_status.php - -Charlie 19 Dec 07 - - Mac: Use localtime_r and fmtime_r in wxWidgets and eliminate - compiler warnings - - Mac: make build scripts more robust. - - Mac: Work around bug in wxMac-2.8.7 implementation of wxListCtrl::RefreshItem() - which does not update the display. The default wxListCtrl in wxMac-2.8.7 - uses DataBrowser, but allows us to select the traditional generic implementation - with a wxSystemOptions::SetOption() call. - - clientgui/ - BOINCGUIApp.cpp - stdwx.h - mac_build/ - boinc.xcodeproj/ - project.pbxproj - buildcurl.sh - buildjpeg.sh - BuildMacBOINC.sh - buildWxMac.sh - -David 21 Dec 2007 - - compile fixes (remove comma after last element of enum) - - lib/ - prefs.h - common_defs.h - -David 21 Dec 2007 - - fix PHP warning in forums - - html/inc/ - forum.inc - -David 21 Dec 2007 - - API: switch back to structure where the worker thread - calls getrusage() in a signal handler to find its CPU time. - Apparently there are some kernels and/or thread libraries - where getrusage() does NOT return the total CPU time of - all threads in the process, - so in these cases calling it from the timer thread doesn't work. - - This was originally changed because of concerns that - calling getrusage() in a signal handler was dangerous; - we'll see if any problems re-emerge. - - The alternative of reading /proc/PID/stats doesn't seem viable; - format may not be standardized. - - api/ - boinc_api.C - -David 21 Dec 2007 - - API: check for messages from client 10X a second; - this will allow smoother CPU throttling - - delete_file: bug fixes (from Nicolas Alvarez). Fixes #78 - - api/ - boinc_api.C - sched/ - delete_file.C - -David 21 Dec 2007 - - user web: when creating cache dir, chmod() so that - protections are right regardless of umask. - From Nicolas Alvarez; fixes #344 - - html/inc/ - cache.inc - -David 21 Dec 2007 - - compile fixes for gcc 4.3 (from Frank Thomas) - Fixes #514 - - various files - -David 21 Dec 2007 - - make_project: add --web_only option. - This lets you create a project for Bossa or Bolt - without compiling the C++ stuff, which is not used by Bossa or Bolt. - - DB schema: change type= to engine= to avoid MySQL warning messages - - db/ - schema.sql - html/project.sample/ - project_spe - py/Boinc - setup_project.py - tools/ - make_project - -David 23 Dec 2007 - - web: if user has profile photo, use it instead of head_20. - - html/ - inc/ - boinc_db.inc - db_conn.inc - user.inc - util.inc - user/ - forum_moderate_thread.php - -David 24 Dec 2007 - - web: don't show profile pics in forums, - since we already show avatars there. - - html/inc/ - forum.inc - util.inc - -David 24 Dec 2007 - - make_project: don't create symbolic link html/user_profiles/user_profiles. - If there was ever a need for this, it has disappeared. - Fixes #524 - - fix bug in BOINC-wide team export script - - html/ops/ - team_export.php - py/Boinc/ - setup_project.py - -David 24 Dec 2007 - - web: don't require login for show_user.php - - web: add app selection to example project-specific prefs - (commented out by default) - - web: in prefs, flag too-low numeric values as errors, - rather than just setting to min value - - web: fix bug when add new venue from "columns" view - - html/ - inc/ - prefs.inc - uotd.inc - util.inc - ops/ - sample_server_status.php - project.sample/ - project_specific_prefs.php - user/ - show_user.php - sched/ - sched_send.C - -David 27 Dec 2007 - - web: default for user_links() is to not show profile pic. - Show the pic only in the context of friends list. - - html/ - inc/ - forum.inc - util.inc - user.inc - user/ - friend.php - -David 27 Dec 2007 - - client: add --start_delay cmdline option and config option. - Specifies an amount of time to delay starting apps - (e.g. so that BOINC doesn't slow down boot process) - - Note: mechanisms that start BOINC at boot time - need to figure out how to set this flag. - - client/ - client_state.C,h - cs_cmdline.C - cs_prefs.C - hostinfo_network.C - log_flags.C,h - lib/ - common_defs.h - -David 27 Dec 2007 - - upgrade script: fix it, and add --web_only option (fixes #527) - - web: replace "Result" by "Task" a couple of places - - html/ - inc/ - host.inc - user/ - hosts_user.php - tools/ - upgrade - -David 30 Dec 2007 - - web: add general-purpose notification mechanism. - Users can choose whether to get 1 email per notification, - a daily "digest" email, or no email. - (All notifications are shown on the Account page). - Currently used for: - - Friend requests and confirmations - - Posts to subscribed threads - - Private messages - - NOTE: To implement the "daily digest" feature, projects must add - a periodic task for html/ops/notify.php to config.xml - - web: have project_footer() generate links for - Account Page and Message Boards as well as Home - NOTE: projects that want this change - will have to modify their own project.inc. - - db/ - constraints.sql - schema.sql - html/ - inc/ - boinc_db.inc - friend.inc (new) - forum.inc - forum_db.inc - forum_email.inc - pm.inc - user.inc - ops/ - db_update.php - notify.php - project.sample/ - project.inc - user/ - edit_forum_preferences_action.php - edit_forum_preferences_form.php - forum_subscribe.php - forum_thread.php - pm.php - tools/ - make_project - -David 30 Dec 2007 - - Partly fix keyboard detection on Linux. - With this change, we detect opening a terminal - or typing into a terminal; - we don't detect typing into other applications. - (from Frank Thomas). Partly fixes #463 - - client/ - hostinfo_unix.C diff --git a/checkin_notes_2007 b/checkin_notes_2007 new file mode 100644 index 0000000000..74c9f41df4 --- /dev/null +++ b/checkin_notes_2007 @@ -0,0 +1,12616 @@ +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 + +David 2 Jan 2007 + - make disk pie charts work on Linux + (from Frank Weiler) + + clientgui/ + wxPieCtrl.cpp + + +Reinhard 2 Jan 2007 + - install lib/common_defs.h + + lib/ + Makefile.am + +Charlie 2 Jan 2007 + - MGR: Fix 2 compiler warnings caused by actual coding errors. + - Mac: Add new files BOINCGridCtrl.cpp,.h, ViewTransfersGrid.cpp,.h, + ViewWorkGrid.cpp,.h to XCode project. + + clientgui/ + cs_account.C + ViewTransfersGrid.cpp + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Rytis 3 Jan 2007 + - User web: + - Add optional 3rd element to project news file (title) + - Certificate now shows DEFINEd project name + - Front page now styled with CSS + + html/ + user/ + cert.php + sample_index.php + sample_rss_main.php + white.css + inc/ + news.inc + util.inc + project.sample/ + project_news.inc + +Matt 3 Jan 2007 + - added separate UOTD_ADMIN_EMAIL address in project.inc + so user of the day running low messages don't go to moderators + + html + inc/ + uotd.inc + project.sample/ + project.inc + +Reinhard 4 Jan 2007 + - applied Bernd's patch: + * restore extern "C" protection to graphics_api.h, for ANSI-C projects + * include boinc_api.h in graphics_impl.C to declare worker_thread_handle() + * remove garbage from graphics_lib.C to allow compilation under _WIN32 and __APPLE__ + + api/ + graphics_api.h + graphics_impl.C + graphics_lib.C + +David 4 Jan 2007 + - change "Preempted" to "Waiting" in GUI ("preempted" is geek-speak) + + clientgui/ + ViewWork.cpp + ViewWorkGrid.cpp + html/inc/ + user.inc + +David 4 Jan 2007 + - removed PICFLAGS from AM_CPP_FLAGS. + Compiling everything position-independent slows it down. + + Makefile.incl + +Rom 4 Jan 2007 + - DIAG: Don't check for the BOINC symstore if it is a science application that + has crashed. + + lib/ + stackwalker_win.cpp + +Kevin 4 Jan 2007 + - Changed the way the buttons on the simple gui preferences and messages screens are sized + + clientgui/sg_DlgMessages.cpp + clientgui/sg_DlgPreferences.cpp + +David 4 Jan 2007 + - core client: if an app fails to start, + it could be that the executable has been munged. + So verify the files; this will find the bad file + and download it again. + - Manager: in Attach to Account Manager wizard, add some text saying + if they want to just attach to a single project, + use the Attach to Project wizard instead. + Some users tried to attach SETI@home using the acct mgr wizard + and got all bent outta shape when it didn't work. + + client/ + app_start.C + clientgui/ + WelcomePage.cpp + +Rom 5 Jan 2007 + - Win SETUP: Add custom actions for saving and restoring user preferences + to the registry + - Win SETUP: MoveFileEx isn't spported on the Win9x platform, so dynamically + load and execute it on Windows 2000 or better. + - Win SETUP: Remove some dead code from the custom action list. + - Win SETUP: On Windows XP systems or better, we no longer require the + service account to have a password, Microsoft has taken care of the + problem by not allowing incomming network connections for accounts with + no passwords. + + win_build/installerv2/redist/Windows/src/boinccas/ + CAMigrateCPDNBBC.cpp + CARestoreSetupState.cpp, .h + CASaveSetupState.cpp, .h + CASoftwareNeedsUpgrade.cpp, .h (Removed) + CAVerifyServicePassword.cpp + boinccas.cpp, .h + boinccas.rc + boinccas95.def + win_build/installerv2/redist/Windows/x86/ + boinccas.dll + boinccas95.dll + +Rom 5 Jan 2007 + - Win SETUP: Fix an issue when restoring saved properties where junk was + being introduced into properties where no value was defined. + - Win SETUP: Don't attemp to restore any properties until we have actually + stored some from a previous iteration of setup, otherwise our defaults + don't kick in. + - Win SETUP: Saving and Restoring properties is now only enabled for those + using the UI deployment method, we don't want to throw anything + in the registry when the MSI package is being deployed through AD or + some other deployment mechinism. + + win_build/installerv2/redist/Windows/src/boinccas/ + CARestoreSetupState.cpp + CASaveSetupState.cpp + boinccas.cpp + win_build/installerv2/redist/Windows/x86/ + boinccas.dll + boinccas95.dll + +Rom 5 Jan 2007 + - Update localization template. + + locale/en_US/ + BOINC Manager.mo, .po + +Rom 5 Jan 2007 + - MGR: Replace the context sensitive help button on the main simple gui window + with a standard bitmap button and use the bitmaps WCG gave us. + + clientgui/ + Events.h + sg_DlgMessages.cpp + sg_DlgPreferences.cpp + sg_ProjectsComponent.cpp, .h + SkinManager.cpp, .h + +David 5 Jan 2007 + - manager: improved grid views from Frank Weiler; + improved message when detach from project mgr + + clientgui/ + BOINCGridCtrl.cpp,h + WelcomPage.cpp + +Rom 5 Jan 2007 + - MGR: Fix the help handling code for the Mac UI conventions. + + clientgui/ + sg_DlgMessages.cpp, .h + sg_DlgPreferences.cpp, .h + +Charlie 5 Jan 2007 + - MGR: Fix build breaks. + + clientgui/ + sg_DlgMessages.cpp + sg_DlgPreferences.cpp + +Charlie 5 Jan 2007 + - MGR: Fix cosmetic bugs on Mac. + NOTE: I believe my changes will work on Windows, but I couldn't test + this because of crashes on Windows. So my changes are temporarily + guarded by #ifdef __WXMAC__ #else #endif. + + clientgui/ + ViewTransfersGrid.cpp + ViewWorkGrid.cpp + +Walt 6 Jan 2007 + - MGR: Fix segfault in simple gui when message button is clicked. + SetBackgroundStyle() needs to be called after the window + is created. + + clientgui/ + sg_DlgMessages.cpp + +David 7 Jan 2007 + - manager: fixes for new task/transfer tabs + (from Frank Weiler) + + clientgui/ + BOINCGridCtrl.cpp,h + MainDocument.cpp,h + ViewTransfersGrid.cpp,h + ViewWorkGrid.cpp,h + res/ + sortascending.xpm + sortdescending.xpm + +David 7 Jan 2007 + - core client: if swap space is zero, it must not have been + measured on this host; don't use it in process scheduling + - user web: don't use font colors this way + + client/ + cpu_sched.C + html/user/ + forum_forum.php + +David 7 Jan 2007 + - user web: don't show news dates as

. Use a style instead. + + html/ + inc/ + news.inc + user/ + white.css + +Rom 7 Jan 2007 + - DIAG: Clean up some warnings and add a new exception type to the list + of known exceptions. + + lib/ + diagnostics.C + diagnostics_win.C + +Charlie 8 Jan 2007 + - MGR: Fix 2 compiler warnings, 1 caused by an actual coding error. + NOTE: to printf a "%", you need to use "%%" in the format; for + example: ("%.2f%%"). + + clientgui/ + BOINCGridCtrl.cpp + ViewTransfersGrid.cpp + +David 8 Jan 2007 + - manager: performance enhancement to grid views + (from Frank Weiler) + + clientgui/ + AdvancedFrame.cpp + BOINCGridCtrl.cpp,h + Events.h + MainDocument.cpp,h + ViewMessagesGrid.cpp, h (new) + ViewProjectsGrid.cpp,h + ViewTransfersGrid.pp + ViewWOrkGrid.cpp + +Rom 8 Jan 2007 + - Win SETUP: Make Windows XP or better require passwords for the + service accounts again. + - Win SETUP: Fix a spelling mistake that JM7 found. + + boinc/win_build/installerv2/redist/Windows/src/boinccas + CAGrantServiceExecutionRight.cpp + CAVerifyServicePassword.cpp + +David 8 Jan 2007 + - user web: say RAM limits enforced in 5.8+; + use "class=note" instead of "font size=-2" + + html/inc/ + prefs.inc + +David 8 Jan 2007 + - core client: fixed crashing bug that happens when attaching + to a project with wrong URL (e.g. setiathome.ssl.berkeley.edu). + The fix allows the project to attach but prints a warning. + It would be better to not allow the attach; + I'll get back to this later + + client/ + client_types.h + cs_scheduler.C + scheduler_op.C + +Charlie 8 Jan 2007 + - Mac: update XCode project for new ViewMessagesGrid, ViewProjectsGrid + source files. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Rom 9 Jan 2007 + - MGR: Fix crashing issue do to invalid type casts, wxWidgets implements + its own form of type casts for C++ objects which probably uses + the basic RTTI of the compiler at some level, but it also has a few + checks and balences as well. So if you get a hankering of using + dynamic_cast or static_cast use wxDynamicCast and wxStaticCast + instead. + - MGR: Remove the ifdefs for SIMPLE GUI, it is now enabled by default + on all supported platforms. + + clientgui/ + AdvancedFrame.cpp + BOINCGridCtrl.cpp + BOINCGUIApp.cpp + +Rom 9 Jan 2007 + - Win BUILD: Remember, when adding .C files to VS project files, you need + to change the compiler type to C++ for ALL build configurations. + + win_build/ + boinc_dll.vcproj + boinc_ss.vcproj + boincmgr_curl.vcproj + +Walt 9 Jan 2007 + - core client: Change function that calculates RAM and SWAP used + by a science project to return the max used by a process + instead of totaling the process/child processes. Fixes the + problem where the same RAM and SWAP used gets counted multiple + times for some science apps. + + lib/ + procinfo_unix.cpp + +David 9 Jan 2007 + - Manager: get rid of "CPU throttled" messages + - Manager: enhancements to Statistics tab + (can click on project name in multi-project view) + from Mifistor_x + + clientgui/ + ViewStatistics.cpp,h + ViewWork.cpp + ViewWorkGrid.cpp + stdwx.h + +David 9 Jan 2007 + - user web: "old news" was broken + Note to Rytis: when possible, use "foo $var blah", + not 'foo '.$var.' blah' + + + html/inc/ + news.inc + +David 9 Jan 2007 + - core: if we're preempting an app and leave it in memory + because no checkpoint yet, say so in message + + client/ + app_control.C + +Charlie 9 Jan 2007 + - MGR: Updates to disk usage pie charts from Frank Weiler. + + clientgui/ + ViewResources.cp + common/ + wxPieCtrl.cpp,h + +David 10 Jan 2007 + - core client: fix problems when user aborts result + (mark it as CPU_SCHED_PREEMPTED so scheduler doesn't + try to preempt it; that confuses things) + - changed format of Deferring Comm messages + + client/ + app_control.C + cs_scheduler.C + +David 10 Jan 2007 + - core client: backwards > in PROJECT::some_download_stalled(). + This caused the client to keep fetching work + from a project with stalled downloads. + + client/ + client_types.C + +David 10 Jan 2007 + - manager: fix Unicode build problems + (from Frank Weiler) + + clientgui/ + ViewStatistics.cpp + +David 10 Jan 2007 + - manager: various fixes + (from Frank Weiler) + + clientgui/ + BOINCGridCtrl.cpp,h + ViewMessagesGrid.cpp + ViewProjectsGrid.cpp + ViewResourcesGrid.cpp + ViewStatistics.cpp + ViewTransfersGrid.cpp + ViewWorkGrid.cpp + +David 10 Jan 2007 + - core client: sort daily stats records in case they get + out of order somehow + + client/ + client_types.h + cs_account.C + +David 10 Jan 2007 + - manager: use user-friendly app names + + clientgui/ + ViewWork.cpp + ViewWorkGrid.cpp + +Rom 10 Jan 2007 + - SCR: Disable the diagnostic support for release builds of the + Windows screensaver. A smarter thing to do in the future is + to write the log files to the 'temp' directory. + + client/win/ + win_screensaver.cpp + +David 11 Jan 2007 + - Add script to clean up web cache. + Sometimes the cache gets so full that it takes 30 secs + just to compute free and used disk space, + so that normal cleanup times out before it does anything. + + html/ops/ + clean_cache.php (new) + +David 11 Jan 2007 + - user web: call set_time_limit(0) in cache_check_diskspace(). + This will hopefully avoid the situation described above. + + html/ + inc/ + cache.inc + project.sample/ + cache_parameters.inc + +David 11 Jan 2007 + - manager: use user-friendly app names (fix to work w/ 5.4.11) + + clientgui/ + ViewWork.cpp + ViewWorkGrid.cpp + +Rom 11 Jan 2007 + - MGR: Fix build break for Unicode support. + + NOTE: The only place in the manager where it is safe to use 'char' + variable types for use within a string is in the gui_rpc_* files. + + Every where else needs to use wxString, otherwise the manager + won't build in a unicode based environment. + + clientgui/ + ViewWork.cpp + ViewWorkGrid.cpp + +Rom 11 Jan 2007 + - MGR: Possble fix for the Simple GUI messages dialog? + + clientgui/ + sg_DlgMessages.cpp + +David 12 Jan 2007 + - Server: change the usage of host.credit_per_cpu_sec + so that it is the recent average of granted credit per CPU sec, + as computed by Bruce's update_credit_per_cpu_sec() function + (finally, a use for hyperbolic trig functions in BOINC). + Prior to this it was the most recent value of + claimed credit per CPU sec, which is not as useful. + Add a new non-DB member to HOST, claimed_credit_per_cpu_sec, + for this purpose. + - db_dump.C: export host.credit_per_cpu_sec + - move update_credit_per_cpu_sec() from lib/util.C to sched/validate_util.C + + Once a few projects pick up this change, it will be useful + for comparing credit-granting policies between projects + (for hosts that participate in multiple projects, + the credit per CPU second should be about the same). + + db/ + boinc_db.C,h + lib/ + util.C,h + sched/ + db_dump.C + handle_request.C + validate_util.C,h + validator.C + +David 12 Jan 2007 + - manager: don't prepend "(Activities suspended by user)" + to result status. + There is no longer a notion of "activities" + + clientgui/ + ViewWork.cpp + ViewWorkGrid.cpp + +Rom 13 Jan 2007 + - MGR: Streamline the message dialog sync operation a little bit. + - MGR: Fix crashing issue do to invalid type casts, wxWidgets implements + its own form of type casts for C++ objects which probably uses + the basic RTTI of the compiler at some level, but it also has a few + checks and balences as well. So if you get a hankering of using + dynamic_cast or static_cast use wxDynamicCast and wxStaticCast + instead. + + clientgui/ + sg_DlgMessages.cpp + BOINCGridCtrl.cpp + +Reinhard 14 Jan 2007 + - install validate_util.h for external building of validators + - make dir_hier_move and dir_hier_path output help/usage strings + - add help/usage string to validator.C + + sched/ + Makefile.am + + tools/ + dir_hier_move.C + dir_hier_path.C + + sched/ + validator.C + +David 15 Jan 2007 + - core client: lots of debugging messages for cpu_sched (may remove later) + - Manager: check for ERR_DB_NOT_UNIQUE, not ERR_NONUNIQUE_EMAIL + - add boinc_UnzipToMemory() (from Reinhard Prix) + + client/ + cpu_sched.C + clientgui/ + ProjectProcessingPage.cpp + html/ops/ + sample_server_status.php + lib/ + common_defs.h + error_numbers.h + gui_rpc_client_print.C + util.C + zip/ + Makefile.am + boinc_zip.cpp,h + unzip/ + api.C + +Reinhard 15 Jan 2007 + - add explicit build-rule for client/switcher [required to fix 'make tags'] + - fix boinc_UnzipToMemory() + - correctly build unzip-DLL [for use in boinc_UnzipToMemory()] + + client/ + Makefile.am + + zip/ + boinc_zip.cpp + unzip/ + unzip.c + api.c + + +David 15 Jan 2007 + - fix Manager text (see above) + + clientgui/ + ProjectProcessingPage.cpp + lib/ + error_numbers.h + +Rom 15 Jan 2007 + - Update libCurl to 7.16.0 and use sync name resolves instead of async name + resolves. + + curl/ + + +David 15 Jan 2007 + - core client: fix a bug that could cause computation to stop. + The problem: if we suspended a task by sending it a message, + we were changing its scheduler state to CPU_SCHED_PREEMPTED + but not changing its task state (PROCESS_EXECUTING). + If, for some reason, the process didn't exit right away, + the scheduler would treat it as still running, + since it builds its "currently running" list based on task_state. + Solution: the scheduler shouldn't be looking at task_state. + Use scheduler_state instead. + It's still a mystery why the app wasn't quitting. + + - db_dump: don't write team.nusers; it's meaningless + + client/ + app.C,h + app_control.C + cpu_sched.C + html/user/ + create_account.php + sched/ + db_dump.C + +Walt 15 Jan 2007 + - manager: update makefile for ViewMessagesGrid and + ViewProjectsGrid source files. + + clientgui/ + Makefile.am + +Rom 16 Jan 2007 + - MGR: Add the help button to the list of images to update when the + user selects a different skin. + + clientgui/ + sg_ProjectsComponent.cpp + +David 16 Jan 2007 + - core client: don't try to schedule a task whose state is + PROCESS_ABORT_PENDING. + + client/ + app.h + cpu_sched.C + +Charlie 16 Jan 2007 + Mac: Fix build script for Curl 7.15.5 (should have been done + 3 months ago.) + + mac_build/ + setupForBOINC.sh + +David 17 Jan 2007 + - manager: show correct app name when connected to 5.4.11 client + + clientgui/ + ViewWork.cpp + ViewWorkGrid.cpp + sg_ViewTabPage.cpp + +David 17 Jan 2007 + - core client: reset 5-minute timer for network activity + is user explicitly changes network mode + - Manager: initial checkin of Advanced Prefs dialog + (from Frank Weiler) + + client/ + gui_rpc_server_ops.C + clientgui/ + Makefile.am + AdvancedFrame.cpp,h + DlgAdvPreferences.cpp,h + DlgAdvPreferencesBase.cpp,h + Events.h + sg_ViewTabPage.cpp + win_build/ + boincmgr_curl.vcproj + +David 17 Jan 2007 + - fix news formatting + + html/inc/ + news.inc + +David 17 Jan 2007 + - don't start benchmarks if they're already running + - Manager: "Defect from X" -> "Stop using X" + + client/ + cs_benchmark.C + clientgui/ + AdvancedFrame.cpp + WelcomePage.cpp + +David 17 Jan 2007 + - core client: if starting a file xfer, and file + is already as large or larger than it should be, + start transfer from the beginning. + This fixes some pathological cases found by Rattledagger. + + client/ + file_xfer.C + +Charlie 17 Jan 2007 + Mac: add DlgAdvPreferences.cpp,h, DlgAdvPreferencesBase.cpp,h to XCode + project. + Mac Mgr: Fix crash bug when quitting if advanced prefs dialog open. + Change dialog ID to 10000 (ID_ANYDIALOG). + + NOTE: All BOINC dialogs MUST have ID 10000 (ID_ANYDIALOG) or they will + cause a crash bug! + + clientgui/ + DlgAdvPreferencesBase.h + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Charlie 18 Jan 2007 + MGR: Begin changes for wxWidgets 2.8.0. For now, compatibility with + wxWidgets 2.6.3 is provided by using "#if wxCHECK_VERSION(2,8,0)" + where needed. These conditional compilations should be removed + when the transition to 2.8.0 is complete. + MAC: remove XCode project's target to build non-SimpleGUI manager. + + clientgui/ + BOINCGUIApp.cpp + BOINCTaskBar.cpp + MacSysMenu.cpp,h + sg_BoincSimpleGUI.cpp + sg_ImageButton.cpp + sg_ViewTabPage.cpp + wizardex.cpp + common/ + wxPieCtrl.h + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 18 Jan 2007 + - core client: don't garbage-collect a RESULT if an ACTIVE_TASK for it + still exists. In principle this shouldn't happen, but maybe it is. + - limit duration correction factor to the range 0.01 .. 100 + + client/ + client_state.C + client_types.C + cs_scheduler.C + +Eric K 18 Jan 2007 + - mem_usage.C Bug fix: procfs access cannot use 64 bit files under solaris + - Added solaris application working set calculation + - Fixed problem on solaris when _FILE_OFFSET_BITS was set before testing + for procfs.h + - Removed assumption of 4k pages in procinfo_unix.C + + lib/ + procinfo_unix.C + mem_usage.C + configure.ac + +David 18 Jan 2007 + - Manager: tweaks to advanced prefs dialog and Disks tab + (from Frank Weiler) + + clientgui/ + DlgAdvPreferences.cpp,.fbp,.h + DlgAdvPreferencesBase.cpp,.h + ViewResources.cpp + common/ + wxPieCtrl.cpp,h + res/ + warning.xpm (new) + +Charlie 19 Jan 2007 + MGR: Complete my changes for wxWidgets 2.8.0. + NOTE: I am aware of 3 bugs with wxWidgets 2.8.0 on the Mac: + - New pie chart tooltips work with wxMac-2.6.3 but not wxMac-2.8.0. + - Main SimpleGUI window tasks area has problems with alignment, so + task tabs are obscured. + - Column width settings are not saved / restored. + + clientgui/ + BOINCBaseFrame.cpp + BOINCGUIApp.cpp + BOINCTaskBar.cpp + sg_DlgPreferences.cpp + stdwx.h + mac/ + MacSysMenu.cpp + common/ + wxPieCtrl.cpp,h + mac_build/ + buildWxMac.sh + setupForBoinc.sh + HowToBuildBOINC_XCode.rtf + wxMac-BOINC.xcodeproj/ + project.pbxproj + boinc.xcodeproj/ + project.pbxproj + +Walt 19 Jan 2007 + MGR: Fix compiler error: GetTaskBarIcon isn't used in Linux + + clientgui/ + BOINCBaseFrame.cpp + +Rom 19 Jan 2007 + - MGR: Make sure the result records have been updated before + displaying the taskbar balloon. + + clientgui/ + BOINCTaskBar.cpp + +Rytis 19 Jan 2007 + - user web: correct RSS feed link type to make IE7 and Safari recognise the + feed. + + html/ + inc/ + util.inc + user/ + sample_index.php + +David 19 Jan 2007 + - lib: change retry logic for file system ops + so that it does does at least 5 retries + AND takes at least 5 seconds. + + lib/ + filesys.C + +David 19 Jan 2007 + - core client: if resuming a persistent file xfer, + don't print error messages if file has wrong + size/checksum/signature. + That's a normal condition is a file xfer was interrupted. + + client/ + client_types.C,h + cs_apps.C + cs_files.C + pers_file_xfer.C + +David 19 Jan 2007 + - core client: print more info if MFILE vsnprintf() is too big for buffer + + lib/ + mfile.C + +Rom 19 Jan 2007 + - MGR: If the manager detects that the CC has crashed, and it was the one + who started the CC to begin with, restart the CC after 30 seconds. + - MGR: Cleanup some of the taskbar interactions where both the tooltip and + balloon were being displayed on Windows. Only one should be shown. + - MGR: Allow arguments to be passed to the CC from the manager's parameter + list. /b "..." or /boincargs "..." should work. + + clientgui/ + AdvancedFrame.cpp + BOINCBaseFrame.cpp + BOINCGUIApp.cpp, .h + BOINCTaskBar.cpp + MainDocument.cpp + ViewResources.cpp + +Rom 21 Jan 2007 + - CC: Add to HOST_INFO which contains the family, model, and + stepping of the processor for Windows. + + Example: x86 Family 15 Model 2 Stepping 7 + - DIAG: Fix an uninitialized string issue that cropped up after removing the + forground window information from the diagnostic output. + + client/win/ + hostinfo_win.cpp + lib/ + diagnostics_win.C + hostinfo.C, .h + +Walt 19 Jan 2007 + - MGR: take Close() function call out of #if/#endif block so the manager + exits when the 'exit' menu item is selected. + + clientgui/ + BOINCBaseFrame.cpp + +Charlie 22 Jan 2007 + MGR: wxPieCtrl changes from Frank Wieler. + MAC: Set up XCode project so Development builds can optionally use wxMac-2.8.8 + Debug build. Add "#define USE_DEBUG_WXMAC 0" to precompiled header file. + See comments at top of MacGUI.pch for instructions to enable or disable this. + MAC: Work around bugs in wxMac-2.8.0 implementation of wxListCtrl::SetColumn() + which failed to restore proper column widths from saved info. The default + wxListCtrl in wxMac-2.8.0 uses DataBrowser, but allows us to select the + traditional generic implementation with a wxSystemOptions::SetOption() call. + + clientgui/ + BOINCGUIApp.cpp + common/ + wxPieCtrl.cpp + mac/ + MacGUI.pch + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Rom 22 Jan 2007 + - CC: Merge CPU capability, generation, and model information into the p_model + field of HOST_INFO per David's instructions. + + NOTE: The finished product should look like this: + "Intel(R) Xeon(TM) CPU 3.06GHz [x86 Family 15 Model 2 Stepping 7] [fpu tsc " + "sse sse2 mmx]" + + client/win/ + hostinfo_win.cpp + lib/ + hostinfo.C,.h + +Matt 22 Jan 2007 + - initial db changes for special "developer blog" pages + (adding "is_dev_blog" to forum table) + + db/ + schema.sql + html/ops + db_update.php + +Matt 22 Jan 2007 + - remaining development of dev blog stuff + + html/ + inc/ + forum_forum.inc + user/ + forum_post.inc + +David 22 Jan 2007 + - API: use boinc_fopen() instead of fopen() in + string variant of boinc_resolve_filename() + + lib/ + app_ipc.C + +Charlie 23 Jan 2007 + - CC: Update the HOST_INFO for Intel and PowerPC Macs per David's + and Rom's instructions. + + client/ + hostinfo_unix.C + +David 23 Jan 2007 + - core client: fix get_host_info() for Unix + - core client: update APP::user_friendly_name from scheduler RPC reply + - core client: print error msg if get negative CPU time + or checkpoint CPU time from app + - core client: ACTIVE_TASK::runnable(): not runnable if + exited, aborted, signaled etc. + - core client: fix "app exits for unknown reason" case (Unix) + + client/ + app.h + app_control.C + cs_scheduler.C + hostinfo_unix.C + +David 23 Jan 2007 + - manager: fix task status text + + clientgui/ + ViewWork.cpp + ViewWorkGrid.cpp + +Rom 23 Jan 2007 + - MGR: When connecting to a remote machine, don't reset the computer name + and password back to the local machine during the reconnect state. + + clientgui/ + MainDocument.cpp, .h + +Rom 23 Jan 2007 (HEAD) + - Tag for 5.9.1 release, all platforms + boinc_core_release_5_9_1 + +David 23 Jan 2007 + - server: extend the "simple validator framework" to require + an additional function, compute_granted_credit(). + Previously it always used median_mean_credit(). + Projects: if you don't have any special needs, + define compute_granted_credit() to just return median_mean_credit(). + + sched/ + sample_bitwise_validator.C + sample_trivial_validator.C + validate_util2.C,h + validator_placeholder.C + +David 23 Jan 2007 + - core client: allow + + in project master files, as an alternative way + of denoting scheduler URLs. + If at some point all clients upgrade to this version or later, + we can get rid of the old syntax X + + client/ + scheduler_op.C + lib/ + util.C,h + +David 23 Jan 2007 + - core client: added configuration option. + Multiplies work requests. + Use values > 1 if your computer often runs out of work + while disconnected. + + client/ + cs_scheduler.C + log_flags.C,h + +David 24 Jan 2007 + - core client: in error message for unexpected active task, + include result name + + client/ + client_state.C + +David 24 Jan 2007 + - manager: code cleanup (from Frank Weiler) + + clientgui/ + ViewResources.cpp + common/ + xwPieCtrl.cpp,h + +David 24 Jan 2007 + - core client: when preempt a task by quit, + don't set task state to UNINITIALIZED; + do that when the process exits. + Other code cleanup. + - create_project: put new-style scheduler tags in schedulers.txt + + api/ + windows_opengl.C + client/ + app.C + app_control.C + py/Boinc/ + setup_project.py + +David 24 Jan 2007 + - core client: tweak messages + + client/ + app_start.C + cs_apps.C + +Rom 24 Jan 2007 + - MGR: _("") causes poEdit to throw warnings, change them to wxT(""). + + clientgui/ + DlgAdvPreferencesBase.cpp + +David 24 Jan 2007 + - core client: the task_debug message flag now prints + all transitions of ACTIVE_TASK::task_state and RESULT::state + + client/ + app.C,h + app_control.C + app_start.C + client_state.C + client_types.C,h + cs_apps.C + cs_scheduler.C + +David 24 Jan 2007 + - core client: fix compile warnings, get rid of cs_data.C, message tweak + + client/ + Makefile.am + app_control.C + client_state.h + cs_data.C + scheduler_op.C + +Rom 25 Jan 2007 + - MGR: Do not refresh the Simple GUI when the manager is hidden. + + clientgui/ + sg_BoincSimpleGUI.cpp + +David 25 Jan 2007 + - Manager: use a scientifically chosen set of colors + for disk pie charts + + clientgui/ + ViewResources.cpp + common/ + wxPieCtrl.cpp + win_build/ + boinc_dll.vcproj + +David 25 Jan 2007 + - core client: there was logic that wouldn't start a result + for a project if it had > 2 active uploads + (intended to prevent an unbounded buildup of files + for a project whose upload server is broken). + This was never triggered since the default is 2 active + transfers per project. + Maybe I meant persistent file transfers. + In any case, this is a bad policy because there may be + a project with lots of output files per result, possibly large, + and there's no reason to keep it from computing. + So instead, I changed it to not start a result from a project + if its number of results in FILES_UPLOADING state exceeds 2*ncpus. + + client/ + client_state.h + client_types.h + cpu_sched.C + cs_scheduler.C + clientgui/ + AdvancedFrame.cpp + +David 25 Jan 2007 + - core client and manager: reorganize message priorities. + There are now three priorities: + MSG_USER_ERROR + Conditions that require user intervention. + These messages are written for non-tech users, + and tell the user exactly what to do. + GUI: red letters + MSG_INTERNAL_ERROR + Conditions that may indicate a problem or bug in BOINC itself, + or with a BOINC project or account manager. + The message is prepended with "[error]". + GUI: black letters + MSG_INFO + All other messages. + GUI: black letters + + Note: all messages that must be enabled by cc_config.xml + use MSG_INFO priority + + client/ + *.C + clientgui/ + ViewMessages.cpp + ViewMessagesGrid.cpp + sg_ProjectComponent.cpp + lib/ + common_defs.h + py/Boinc/ + setup_project.py + +Rom 25 Jan 2007 + - MGR: Flip the sorting icons for the Grid Control. + - WIN: Remove the Release (SIMPLEGUI) and Debug (SIMPLEGUI) configurations + since we'll only be releasing future version with the Simple GUI included. + + clientgui/ + BOINCGridCtrl.cpp + win_build/ + *.sln + *.vcproj + +Rom 26 Jan 2007 + - WIN: Fix build breaks since not all configurations in all components were + kept in sync. + - MGR: Remove legacy tabs. + + clientgui/ + AdvancedFrame.cpp + ViewProjectsGrid.cpp + ViewTransfersGrid.cpp + ViewWorkGrid.cpp + win_build/ + *.sln + *.vcproj + +Rom 26 Jan 2007 + - MGR: Fix the OnFrameRender function in the Simple GUI, some of the logic in it + blows out of the function with a return which was leaving the static variable + that was guarding against repeated executions to true. This in turn kept + the GUI from updating. + + clientgui/ + sg_BoincSimpleGUI.cpp + +Charlie 26 Jan 2007 + - MAC: Remove cs_data.C from XCode project. Change MSG_ERROR to + MSG_INTERNAL_ERROR in Mac-specific source file. + + lib/ + procinfo_mac.C + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Rom 26 Jan 2007 + - Remove wxAnimate since it isn't used anywhere. + - MGR: Add a new menu item that'll shutdown the core client that the manager is + connected too. It'll prompt for a new computer afterwords. + + clientgui/common/ + wxAnimate.cpp, .h (Removed) + clientgui/ + AdvancedFrame.cpp, .h + Events.h + win_build/ + boincmgr_curl.vcproj + boincmgr_curl_2003.vcproj + +David 26 Jan 2007 + - core client: another attempt at fixing the problem + where a project is issuing work but not uploading files. + New solution: don't fetch work from a project with + more than 2*ncpus results in FILES_UPLOADING state. + + Note: this doesn't address John McLeod's point that + we shouldn't increase LTD for projects in this state. + - file upload handler: print more accurate message when + fread() returns less than requested + + client/ + client_state.h + cpu_sched.C + cs_scheduler.C + sched/ + file_upload_handler.C + +David 26 Jan 2007 + - oops! left out one line in the above + + client/ + cs_scheduler.C + +David 26 Jan 2007 + - core client: if account manager reply doesn't specify resource share + for a project, revert to the share from project server + + client/ + acct_mgr.C + +Walt 28 Jan 2007 + - MGR: fixed bug in dialog options where it doesn't set the slider size + automatically. This is a bug in wxGTK so for Linux set the size + explicitly. + + clientgui/ + DlgOptions.cpp + +Rom 28 Jan 2007 + - MGR: Performance Improvements for Projects tab. + (from Frank Weiler) + + clientgui/ + BOINCGridCtrl.cpp, .h + ViewProjectsGrid.cpp, .h + +David 29 Jan 2007 + - core client: fix account-manager resource share logic + - manager: Statistics tab fixes (from Mifistor) + + client/ + client_state.C + client_types.C + clientgui/ + ViewStatistics.cpp + +David 29 Jan 2007 + - user web: prevent cross-site request forgeries + - core client: make sure that RAM limits are not zero + + client/ + cs_prefs.C + html/ + inc/ + host.inc + prefs.inc + user.inc + util.inc + user/ + add_venue.php + host_delete.php + logout.php + prefs_edit.php + prefs_remove.php + show_host_detail.php + lib/ + prefs.C + +Rom 29 Jan 2007 + - MGR: Update default BOINC skin. + + clientgui/res/skins/default/graphic + *.xpm + clientgui/res/templates/skins + *.png + +David 29 Jan 2007 + - core client: on Unix, raise app stack size limit to max possible value + before exec'ing the program. + + client/ + app_start.C + html/inc/ + prefs.inc + +David 29 Jan 2007 + - Manager: fix crash if select a project that doesn't have + a name yet. There were two separate problems: + 1) CMainDocument::project() was searching by name + but not by master URL + (BTW: all that at(), out-of-range exception stuff + isn't needed, or the cut-and-pasted comment). + 2) CViewProjects::UpdateSelection() (and its grid counterpart) + were checking for project == NULL + some of the time, but not all the time + + clientgui/ + MainDocument.cpp + ViewProjects.cpp + ViewProjectsGrid.cpp + +Rom 30 Jan 2007 + - MGR: Give the user a change to abort a core client shutdown when they + select 'shutdown current client'. + - MGR: Special case the authorization error dialog when it is attempting + to use the default password, so that it also informs the user they + need to run the manager from the same directory as the CC. + + clientgui/ + AdvancedFrame.cpp, .h + BOINCBaseFrame.cpp, .h + MainDocument.cpp, .h + +David 30 Jan 2007 + - Support projects that want to specify credit per WU can do so by: + 1) add a x element to your WU template, + or pass an 'additional_xml' argument containing + x to create_work() + (either the function or the program) + 2) change your validator so that compute_granted_credit() + calls get_credit_from_wu(). + This parses the element in the workunit's XML, + and grants that much credit. + - Change the simple validator framework so that an + additional WORKUNIT& is passed to compute_granted_credit(). + + sched/ + handle_request.C + sample_bitwise_validator.C + sample_trivial_validator.C + sched_config.C,h + transitioner.C + validate_util.C,h + validate_util2.C,h + validator_placeholder.C + tools/ + backend_lib.C,h + create_work.C + +David 30 Jan 2007 + - Unix: when increasing stack size for apps, don't exceed 500 MB + + client/ + app_start.C + +David 30 Jan 2007 + - manager: fix progress bars for project resource shares + (from Frank Weiler) + + clientgui/ + ViewProjectsGrid.cpp,h + +David 30 Jan 2007 + - core client: computation of duration_correction_factor was messed up. + E.g. when the correct value is .5, it converges to sqrt(.5) + + client/ + client_types.C + +David 31 Jan 2007 + - core client: tweak DCF update computation + + client/ + client_types.C + +David 31 Jan 2007 + - core client (Unix): tweak stack-size logic, + and don't bump stack size limit beyond 64K + + client/ + app_start.C + +David 2 Feb 2007 + - core client: fix bug where client thinks an app is running but it isn't. + Basic problem: there are two layers + 1) process control: start/stop/suspend/resume, handle exits. + files: app_*.C + It owns ACTIVE_TASK::task_state + 2) CPU scheduling: decide what should run + files: cpu_sched.C + It owns ACTIVE_TASK::scheduler_state. + These layers weren't cleanly separated; + e.g. the CPU sched layer relied on the process control layer + to set scheduler_state in some cases, + and this wasn't always being done. + I fixed this; the layers are now separated. + Also: added new task_state value, PROCESS_QUIT_PENDING + - core client: small tweak to DCF calculation + - core client: comment out stack-size stuff + + client/ + app.C,h + app_control.C + app_start.C + client_types.C + cpu_sched.C + languages/translations/ + en.po + +David 2 Feb 2007 + - DB schema: added some "default 0"s. + Not worth putting in db_update.php + - DB schema: removed core_version table + - core client: print error messages if gethostbyname() fails + for entries in remote_hosts.cfg + - python code: updated DB table defs (not sure this matters) + - python code: removed references to core_version table (doesn't exist) + - Manager + changed "defect" to "stop using" + changed 2006 to 2007 + - core client (Unix): removed code for SIGTSTP and SIGCONT. + never got it to work, don't need anyway; + handle SIGPWR. + + client/ + gui_rpc_server.C + main.C + clientgui/ + AdvancedFrame.cpp + DlgAbout.cpp + db/ + schema.sql + languages/translations/ + en.po + lib/ + network.C + py/Boinc/ + add_util.py + database.py + db_mid.py + +Charlie 2 Feb 2007 + - MGR: Fix compiler warning. + + clientgui/ + ViewProjectsGrid.cpp + +David 4 Feb 2007 + - core client: print message if task finishes and output file is missing + + client/ + cs_apps.C + +David 4 Feb 2007 + - manager: compile fix + + clientgui/ + ViewWorkGrid.cpp + +David 6 Feb 2007 + - core client: when new version runs for the first time, + do a network access to reference site. + This will trigger personal firewall alerts, + that otherwise might happen later when user is not there. + + client/ + client_state.C + +David 6 Feb 2007 + - core client: add messages to debug CPU benchmarks + - changed name of debug flag from to + + client/ + client_state.C + cs_benchmark.C + log_flags.C,h + +David 6 Feb 2007 + - validator framework: the get_credit_from_wu() mechanism didn't work + because the WU's xml_doc wasn't among the fields ready by + DB_VALIDOR_ITEM_SET. Read it separately. + + db/ + db_base.C,h + sched/ + validate_util.C + +Rom 7 Feb 2007 + - SS: Remove reference to the Climate Change Experiment when the client is + being built for WCG. + + client/win/ + boinc_ss.rc + +Rom 7 Feb 2007 + - *nix: Attempt to handle the various optimation flags better by default. + + client/ + Makefile.am + +David 7 Feb 2007 + - fix PHP 4 problem + + html/inc + forum_email.inc + +David 8 Feb 2007 + - core client: fix bug where screensaver would turn on an off + if CPU throttling being used + + client/ + ss_logic.C + +Rytis 8 Feb 2007 + - Forum pages: fix a cross site scripting vulnerability. + + html/ + inc/ + forum.inc + forum_moderators.inc + user.inc + util.inc + user/ + forum_edit.php + forum_moderate_post.php + forum_moderate_post_action.php + forum_moderate_thread.php + forum_moderate_thread_action.php + forum_post.php + forum_reply.php + forum_report_post.php + forum_subscribe.php + forum_thread.php + +David 8 Feb 2007 + - core client: fix bug that causes tasks to hang + (not running, but BOINC thinks it is) on Windows + + client/ + app.C + app_control.C + +Rom 8 Feb 2007 + - MGR: Add simple validation for the authenticator returned by + InternetGetCookie. + + clientlib/win/ + AuthenticatorDetection.cpp + stdafx.h + +David 8 Feb 2007 + - core client: when a scheduler reply has a FILE_INFO for a + file for which we already have a FILE_INFO record, + overwrite the file_signature field only if the + new record actually has one. + + This fixes a bug where a project used the same file in + both an APP_VERSION and a WORKUNIT. + The scheduler reply contained two elements for the file; + the first had a signature, the second didn't. + The second one overwrote the first, + and the app version was rejected because one its file wasn't signed. + + client/ + client_types.C + +David 9 Feb 2007 + - core client: don't print misleading error messages when reference + site access succeeds on initial startup. + - core client: a few more messages for + + client/ + client_state.C + cpu_benchmark.h + cs_benchmark.C + dhrystone.C + net_stats.C,h + win_build + boinc_cli_curl.vcproj + +Rom 12 Feb 2007 + - WININSTALL: Force the termination of BOINC and BOINCMGR if we could + not gracefully shut them down. + + win_build/installerv2/redist/Windows/src/boinccas/ + CAShutdownBOINC.cpp + CAShutdownBOINCManager.cpp + boinccas.def + boinccas.rc + boinccas.vcproj + boinccas95.def + boinccas95.vcproj + stdafx.h + terminate.cpp, .h (Added) + win_build/installerv2/redist/Windows/x86 + boinccas.dll + boinccas95.dll + +David 12 Feb 2007 + - Win build fix (from Carl) + + win_build/ + boinc_zip.vcproj + +David 12 Feb 2007 + - core client, Unix: add '[Family x Model x Stepping x]' in p_model string. + This will enable better homogeneous redundancy resolution + + client/ + hostinfo_unix.C + +David 13 Feb 2007 + - put zip project in the right place + + win_build/ + boinc_zip.vcproj (removed) + zip/ + boinc_zip.vcproj + +David 13 Feb 2007 + - Back end: change some of the daemons to use the "read uncommitted" + transaction isolation mode. + This means that their result sets are not locked, + which (at least on SETI@home) greatly boosts the performance + of the MySQL server. + See: + http://dev.mysql.com/doc/refman/5.1/en/innodb-transaction-isolation.html + + db + db_base.C,h + sched/ + db_dump.C + feeder.C + file_deleter.C + update_stats.C + tools/ + upgrade + +Charlie 14 Feb 2007 + - MAC: If relaunching AppStats due to an error, close any open + file descriptors (we communicate with AppStats via a bidirectional + pipe.) + + lib/ + procinfo_mac.C + +David 14 Feb 2007 + - make test_sanity.py work again + + test/ + testbase.py + +Rom 14 Feb 2007 + - WININSTALL: Force the termination of BOINC.SCR if we could + not gracefully shut it down. + + win_build/installerv2/redist/Windows/src/boinccas/ + CAShutdownBOINC.cpp + CAShutdownBOINCManager.cpp + CAShutdownBOINCScreensaver.cpp, .h + boinccas.def + boinccas.vcproj + win_build/installerv2/redist/Windows/x86 + boinccas.dll + boinccas95.dll + +Rom 14 Feb 2007 + - Linux: Prevent crash by initializing the Taskbar pointer, even + though the Linux Boincmgr currently doesn't support that feature. + + (from Pav Lucistnik) + + clientgui/ + BOINCGUIApp.cpp + +David 15 Feb 2007 + - core client: don't print "finish file not found" message + when app quits because of preemption + - initial checkin for client simulator + - add support for page-level translation + + client/ + app_control.C + cpu_sched.C + makefile_sim + sim.C,h + html/inc/ + page_translate.inc + sched/ + sched_send.C + +David 15 Feb 2007 + - core client: fix bug where if a task is aborted + (e.g. because it exceeds CPU limit) + it's restarted on the next enforce_schedule(). + The problem: we're deleting the ACTIVE_TASK, + but the result is still in the ordered_scheduled_results list. + The solution: call request_schedule_cpus() in + handle_finished_apps() when an ACTIVE_TASK is deleted. + + client/ + cs_apps.C + makefile_sim + +Rom 17 Feb 2007 + - WININSTALL: Use the Unicode version of ShutdownBOINCManager on NT based + platforms and use the ANSI version on 9X based platforms. + + win_build/installerv2/redist/Windows/src/boinccas/ + CAShutdownBOINCManager.cpp + boinccas95.def + boinccas95.vcproj + win_build/installerv2/redist/Windows/x86 + boinccas.dll + boinccas95.dll + +Charlie 19 Feb 2007 + - MAC: Eliminate use of AppStats helper application, which needed to be + run setuid root. We weren't using the extra items it returns, so + revert to older method of using popen(ps ...). + - MAC Installer: Add debugging statements to postinstall, postupgrade + scripts + + client/ + check_security.C + file_names.h + clientgui/ + mac/ + SetupSecurity.cpp + lib/ + procinfo_mac.C + mac_build/ + boinc.xcodeproj/ + project.pbxproj + mac_installer/ + postinstall + postupgrade + release_boinc.sh + release_GridRepublic.sh + +David 19 Feb 2007 + - core client: when resetting or detaching a project, + if a file transfer was active for a project file, + the file delete would fail because Curl still has the file open. + This would cause the manager to freeze for N*5 seconds. + Fix: in CLIENT_STATE::reset_project(), + delete FILE_XFER and PERS_FILE_XFER objects. + - core client: the limits on numbers of simultaneous file transfers + (total and per-project) + now apply to uploads and downloads separately. + We don't want a situation where an upload is blocked + because there are N downloads. + + client/ + client_state.C + cs_files.C + +Rom 20 Feb 2007 + - core client: When we go to kill a science applicaton, make sure + all of the science applications child processes are killed + too. + + NOTE: This was already implemented once, what happened to the + previous implementation? + + client/ + app_control.C + lib/ + win_util.C, .h + +Rom 20 Feb 2007 + - core client: If a compound application's main applicaton gracefully + exits but doesn't shutdown its child applications for some reason, + forcefully terminate them. (Windows only) + + client/ + app.h + app_control.C + +Charlie 20 Feb 2007 + MAC: Better work-around for bugs in wxMac-2.8.0 wxListCtrl::SetColumn() + which failed to restore proper column widths from saved info than my + fix of 22 Jan. Use the new DataBrowser implementation of wxListCtrl, + but add calls to SetColumnWidth() and GetColumnWidth(). + - Mac: Remove obsolete files ViewTransfers.cpp,.h, ViewWork.cpp,.h, + ViewProjects.cpp,.h from XCode project. + + clientgui/ + BOINCGUIApp.cpp + BOINCListCtrl.cpp + sg_DlgMessages.cpp + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Charlie 21 Feb 2007 + MAC: Manager writes wxWidgets version to stdout for debugging (before + redirecting stdout to stdoutgui.txt file.) + + clientgui/ + BOINCGUIApp.cpp + +David 21 Feb 2007 + - split out string-related utility functions into a new file, str_util.C + - more work on simulator + - Add "Holy See" to country list + + api/ + gutil_text.C + client/ + *.C + db/ + *.C + lib/ + *.C + sched/ + *.C + tools/ + backend_lib.C + +David 21 Feb 2007 + - core client: if benchmark time is in the future (due to user tweak) + always run benchmarks + + client/ + cs_benchmark.C + +David 21 Feb 2007 + - core client: split out work-fetch code into a separate file + + client/ + work_fetch.C (new) + +David 21 Feb 2007 + - windows compile fixes + + client/ + cs_statefile.C + win/ + hostinfo_win.cpp + clientgui/ + (several).cpp + lib/ + diagnostics_win.C + win_build/ + boinc_cli_curl.vcproj + boinc_ss.vcproj + boincmgr_cur.vcproj + libboinc.vcproj + +David 21 Feb 2007 + - code shuffling to get simulator to compile (it does now) + + client/ + app.C + app_control.C + client_types.C + cpu_sched.C + cs_apps.C + cs_statefile.C + makefile_sim + net_stats.h + sim.C,h + +Bruce 22 Feb 2007 + - fix scan format bug in reading proc info (UNTESTED!) + [David, Rom, should we add an ERR_SCANF to errnum.h ?] + - insert shmem hack for E@H + + lib/ + procinfo_unix.C + shmem.C + +David 22 Feb 2007 + - add message flag; shows when apps checkpoint. + + client/ + app.h + app_control.C + log_flags.C,h + sim.C + +David 22 Feb 2007 + - core client, Win: set processor affinity mask for benchmark threads + + client/ + cs_benchmark.C + +Charlie 22 Feb 2007 + Mac: add str_util.C,h, work_fetch.C to XCode project. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Charlie 23 Feb 2007 + Mac: Create new OSXIdleTime() function to replace deprecated NxIdleTime() API; + client/ + hostinf_unix.C + main.C + lib/ + hostinfo.h + +David 23 Feb 2007 + - scheduler: remove tag at the start of scheduler reply. + This apparently breaks 4.19 clients + + client/ + client_state.h + sim.C,h + sched/ + server_types.C + +David 23 Feb 2007 + - core client: disable connection caching in Curl. + This may reduce cases where file uploads hang + because a server process holds file lock. + - manager: fix status text for file transfers + + client/ + http_curl.C + clientgui/ + ViewTransfers.cpp + ViewTransfersGrid.cpp + +David 23 Feb 2007 + - core client: add bool detach_when_done to PROJECT. + If set, detach from project when it has not results + (i.e. when all work is finished and acknowledged). + Save/restore in client state file. + - core client: add optional + and flags to account element + in account manager reply messages. + See acct_mgt.php + + client/ + acct_mgr.C,h + client_state.C,h + client_types.C,h + sched/ + handle_request.C + +David 23 Feb 2007 + - client simulator: wrote more code, added Windows project + + client/ + sim.C,h + work_fetch.C + win_build/ + boinc.sln + sim.vcproj + +David 24 Feb 2007 + - boinc_cmd: change --lookup_account and --create_account commands + so that they poll until the operation is done, + and then show a meaningful result (e.g. an account key). + Remove --lookup_account_poll and --create_account_poll commands + - more work on simulator + + client/ + client_types.C + cpu_sched.C + sim.C,h + work_fetch.C + lib/ + boinc_cmd.C + gui_rpc_client.h + gui_rpc_client_print.C + parse.C + str_util.C + +David 24 Feb 2007 + - core client: when detach from a project, delete its + sched_request, sched_reply, and master files + + client/ + client_state.C + +Bruce 25 Feb 2007 + - scheduler: stop logging error messages about unrecognized + tag. + - locality scheduler: when getting a working set file name + using glob(3), do not glob multiple times, possibly getting + back the same file name again. Instead glob once and then + randomly choose file names, crossing items off the list one + at a time. Note: I wrote this code using STL vectors and + strings, but now regret this: the necessary vector insertions + are potentially inefficient.. Sometime next week I will + recode this using a C-style pointer arrays with guaranteed O(1) + efficiency. But I want to get this into CVS while it's + working. + - locality scheduler: fix is_host_slow() function following + David's Jan 12 checkins to use claimed_credit_per_cpu_sec. + + sched/ + sched_config.C + sched_locality.C + +Charlie 25 Feb 2007 + Mac: Fix OS 10.3 bug in new OSXIdleTime() function. + Win: Fix check mark on Snooze taskbar menu item on Windows XP + + client/ + hostinf_unix.C + clientgui/ + BOINCTaskBar.cpp + +Charlie 26 Feb 2007 + Mac: Fix OS 10.3.x permissions problem when running debug build; + this problem caused shared memory communications to fail between + client and project applications. + + client/ + check_security.C + clientgui/ + mac/ + SetupSecurity.cpp + +Charlie 27 Feb 2007 + Mac: Add an optional argument to HOST_INFO::users_idle() to allow + returning the actual idle time. This change is __APPLE__ only. + Mac: Fix serious bugs in Mac_SA_Insecure.sh and Mac_SA_Secure.sh + scripts when run under OS 10.3.x. They sometimes created bad + users and groups with IDs that were duplicates of other users + and groups. They ran correctly under OS 10.4.x. + Users who ran an older version of either script under OS 10.3.x + should first run the current version of Mac_SA_Insecure.sh to + delete the bad entries and then run Mac_SA_Secure.sh to create + new good entries. + + client/ + hostinf_unix.C + lib/ + hostinfo.h + mac_build/ + Mac_SA_Insecure.sh + Mac_SA_Secure.sh + +Bruce 27 Feb 2007 + Scheduler: stop complaining about some unrecognized tags. + + sched/ + server_types.C + +Charlie 28 Feb 2007 + SANDBOX: only the super-user can send signal to another user's process. + Core client runs as user boinc_master, but project applications run + as user boinc_project, so ACTIVE_TASK::kill_task() probably could not + work as written. I added code which uses switcher helper application + to kill the tasks, but also left in the direct kill call just to be + safe. + Note: CBOINCGUIApp::ShutdownBOINCCore() probably has this same problem, + but this kill() is only used in extraordinary circumstances. + Mac: The Mac screensaver launches the core client if not already running. + In this case, it used to kill the cc when screensaver was dismissed. + But Mac OS X dismisses screensavers when energy saver puts displays + to sleep, so we want cc to then continue running. New code launches + cc with -saver argument, lets cc run when saver quits. New logic in + cc quits if (launched by screensaver) and (recent user activity) and + (parent [screensaver] has exited). This takes into account that if + user invoked screensaver by moving mouse into "hot corner" there will + be recent user activity. Added logic to screensaver to relaunch cc in + case of certain race conditions (e.g., screensaver started, dismissed, + restarted in rapid succession.) + - Mac Manager: add -launched_by_manager arg when launching core client. + + client/ + app_control.C + cs_prefs.C + clientgui/ + BOINCGUIApp.cpp + mac/ + mac_saver_module.cpp + +David 3 Mar 2007 + - core client: add "get project list" RPC, called every 2 weeks + - fix a few compiler warnings from gcc 4.1 + - more simulator work + + client/ + acct_mgr.C + acct_setup.C,h + app_control.C + client_state.C,h + client_types.C + cpu_sched.C + cs_cmdline.C + cs_statefile.C + file_names.h + gui_rpc_server.C + scheduler_op.C + sim.C + html/inc/ + stats_sites.inc + +David 4 Mar 2007 + - API: use a mutex instead of a boolean variable for + mutual exclusion during checkpoint. + This should fix a race condition that can result in + applications being suspended and not responding to resume messages + + api/ + boinc_api.C,h + +David 4 Mar 2007 + - GUI RPC: add several scheduling-related items + (not used by Manager, but possibly useful for 3rd-party GUIs) + + // tells you if a result is running in EDF mode + bool RESULT::edf_scheduled + + // the following were already in the XML but not parsed + // into the C structs + double PROJECT::short_term_debt + double PROJECT::long_term_debt + double PROJECT::duration_correction_factor + + client/ + client_types.C,h + cpu_sched.C + lib/ + app_ipc.C + gui_rpc_client.h + gui_rpc_client_ops.C + +David 5 Mar 2007 + - core client: if can't chdir to the dir specified by --dir, quit + - show_shmem: show homogeneous redundancy class + - file upload handler: say "out of space on server" instead of + "out of space on device"; users get confused by the latter, + think it refers to their disk + + client/ + cs_cmdline.C + file_xfer.C + sched/ + file_upload_handler.C + show_shmem.C + +Rom 5 Mar 2007 + - MGR: Rough draft for presenting an interface of known projects + based on David's March 3rd "get project list" checkin. + + clietgui/ + AccountInfoPage.cpp + AccountManagerInfoPage.cpp + BOINCWizards.h + ProjectInfoPage.cpp, .h + lib/ + gui_rpc_client.h + gui_rpc_client_ops.C + +Rom 6 Mar 2007 + - MGR: Choosing from the project list now works, although the + combo box is really busy right now. + + clientgui/ + ProjectInfoPage.cpp, .h + lib/ + gui_rpc_client.h + gui_rpc_client_ops.C + +David 6 Mar 2007 + - User web: add "none" as an option for default host venue; + display this as "---" or "--- (none)" + + html/ + inc/ + prefs.inc + user/ + host_venue_action.php + +Rom 6 Mar 2007 + - MGR: Use just the project name in the project list for now. + + clientgui/ + ProjectInfoPage.cpp + +Rom 7 Mar 2007 + - Update OpenSSL modules for windows to OpenSSL 0.9.8e. + + openssl/ + + +Rom 7 Mar 2007 + - Update cURL modules for windows to cURL 7.16.1. + + curl/ + + +David 8 Mar 2007 + - API (Unix): there was still a race condition in the runtime library. + Fix it (I hope) by having worker_signal_handler() + acquire the mutex before suspending worker thread. + - remove msg parameter of resolve_hostname() + + api/ + boinc_api.C + client/ + gui_rpc_server.C + lib/ + filesys.C + network.C,h + +Charlie 8 Mar 2007 + - Mac: Update build scripts, XCode project and build instructions + for cURL 7.16.1. + - Mac: Delete unused target AppStats from XCode project. + + mac_build/ + buildcurl.sh + HowToBuildBOINC_XCode.rtf + setupForBOINC.sh + boinc.xcodeproj/ + project.pbxproj + doc/ + mac_build.php + +Charlie 9 Mar 2007 + -Mac: update installation documentation: say to double-click on + "BOINC Installer" application, not on BOINC.pkg. + doc/ + mac_advanced.php + release_notes.php + +Rom 9 Mar 2007 + - MGR: Fix the wizard classes so they are compatible with both + wxWidgets 2.4 and 2.8. + + clientgui/ + AccountInfoPage.cpp + AccountKeyPage.cpp + AccountManagerInfoPage.cpp + AccountManagerProcessingPage.cpp + AccountManagerPropertiesPage.cpp + AlreadyAttachedPage.cpp + AlreadyExistsPage.cpp + CompletionErrorPage.cpp + CompletionPage.cpp + NoInternetConnectionPage.cpp + NotDetectedPage.cpp + NotFoundPage.cpp + ProjectInfoPage.cpp + ProjectProcessingPage.cpp + ProjectPropertiesPage.cpp + ProxyInfoPage.cpp + ProxyPage.cpp + stdwx.cpp + UnavailablePage.cpp + WelcomePage.cpp, .h + WizardAccountManager.cpp + WizardAttachProject.cpp + wizardex.cpp, .h + +Rom 9 Mar 2007 + - MGR: Fix a segfault on Linux. + + clientgui/ + ProjectInfoPage.cpp, .h + +David 10 Mar 2007 + - unix compile fix (from Frank Thomas) + + lib/ + boinc_cmd.C + +David 10 Mar 2007 + - scheduler: use 1024-char buffer for parsing + (handle large CPU model strings) + + sched/ + server_types.C + +David 10 Mar 2007 + - scheduler: add one_result_per_host_per_wu option. + This is useful if you use homogeneous redundancy + and most hosts of a particular class belong to a single user. + + sched/ + sched_array.C + sched_config.C,h + +Charlie 12 Mar 2007 + - Mac: add str_util.C,h to libboinc target of XCode project. + - CC: On Mac OS X, sysctl with selectors CTL_HW, HW_PHYSMEM returns only a + 4-byte value, even if passed an 8-byte buffer, and limits the returned + value to 2GB when the actual RAM size is > 2GB. So use Mac-specific + API Gestalt(gestaltPhysicalRAMSizeInMegabytes, &mem_size) and add a + #error statement to the old method to alert any porters if their + platforms were using sysctl {CTL_HW, HW_PHYSMEM}. + + client/ + hostinfo_unix.C + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Rom 13 Mar 2007 + - WIN: Change the sse3 CPU feature detection flag from 'sse3' to 'pni'. + - MGR: Commit Frank Weiler's lastest ViewProjectsGrid. + + client/win/ + hostinfo_win.cpp + clientgui/ + sg_BoincSimpleGUI.cpp + sg_ViewTabPage.cpp + ViewProjectsGrid.cpp, .h + +David 13 Mar 2007 + A bunch of security-related changes: + - Most functions that return paths now take an additional + "length" parameter to prevent buffer overrun if the + project URL or filename is extremely long. + - Use snprintf() and vsnprintf() in a bunch of places + to avoid buffer overrun. + - Core client: Add suppress_net_info config flag + (don't send IP address and domain name to servers) + - Core client: Add disallow_attach config file + (don't allow attach to new projects) + - Core client: Add os_random_only config flag. + (exit if OS-level random string functions fail + when generating GUI RPC password) + - Core client: if a filename (in s from server) + contains directory traversal chars (..), + or format conversion chars (%), + or is empty, + reject it. + + Other changes: + - Core client: change size of path buffers from 256 to 1024. + Should make this a #define at some point. + - GUI RPC: rename PROJECTLISTENTRY -> PROJECT_LIST_ENTRY + (let's stick with BOINC coding standards) + - GUI RPC: rename PROJECTLIST -> ALL_PROJECTS_LIST + (let's not confuse currently attached projects with all projects) + - GUI RPC: make get_all_projects_list() into an actual RPC, + not just reading a file (which won't exist in the RPC client's + current dir, e.g. if it's remote). + - GUI RPC: rename desc -> description and img -> image + in project list XML exported by BOINC server. + Let's NEVER have different spelling between + XML tabs and structure fields!! + - GUI RPC: Include rr_sim_deadlines_missed in PROJECT + - core client: rename file project_list.xml -> all_projects_list.xml + - core client, Linux: add improved code for + parsing CPU info (from Thibaut Varene) + - added test program for CPU info + + client/ + app.C + app_start.C + client_state.C,h + client_types.C + cs_account.C + cs_apps.C + cs_files.C + cs_prefs.C + cs_scheduler.C + cs_statefile.C + cs_trickle.C + file_names.C,h + file_xfer.C + gui_rpc_server.C + gui_rpc_server_ops.C + hostinfo_unix.C + hostinfo_unix_test.C (new) + log_flags.C,h + pers_file_xfer.C + scheduler_op.C + lib/ + app_ipc.C + boinc_cmd.C + error_numbers.h + gui_rpc_client.C + gui_rpc_client_ops.C + hostinfo.C,h + md5_file.C + miofile.C,h + str_util.C + sched/ + sched_config.C + +David 13 Mar 2007 + - compile fix + + clientgui/ + ProjectInfoPage.cpp,h + +David 13 Mar 2007 + - work fetch fixes (from John McLeod) + - implement work_fetch_factor correctly + - ignore duration_correction_factor if it's out of bounds + + client/ + cpu_sched.C + work_fetch.C + +Charlie 13 Mar 2007 + - Fix compiler warnings, including one in CProjectInfo::makeHashKey() + which warned "call will abort at runtime." + + client/ + gui_rpc_server.C + gui_rpc_server_ops.C + clientgui/ + ViewProjectsGrid.cpp + +Matt 14 Mar 2007 + - updated db_init and db_init_aux code in util.inc, db.inc to enable + possible use of replica (i.e. read-only) database (for pages that + lookup stats, print profiles, etc. but don't make any updates). + Implemented in top_{users,teams,hosts}.php + + html/inc + db.inc + util.inc + html/user + top_users.php + top_hosts.php + top_teams.php + +Charlie 14 Mar 2007 + - Mac: Fix Mac bugs in SimpleGUI under wxMac-2.8.2. + - Mac: Update build scripts, XCode project and build instructions + for wxMac-2.8.2. + + clientgui/ + sg_ViewTabPage.cpp + mac_build/ + buildWxMac.sh + HowToBuildBOINC_XCode.rtf + setupForBOINC.sh + boinc.xcodeproj/ + project.pbxproj + doc/ + mac_build.php + +Charlie 15 Mar 2007 + - SG: On timer events, update only the panel for the currently selected + task tab. Due to an apparent bug in wxMac-2.8.2, dc.DrawBitmap() + and dc.DrawText() actually draw to the screen even though the tab + panel should be hidden. Also, updating hidden panels is inefficient + on all platforms. + - Added a new WorkunitNotebook::OnTabChanged() event handler to update + the panel when its tab is first selected, so stale data is not shown. + - Fixed a logic error when deleting inactive tabs. + + clientgui/ + sg_ViewTabPage.cpp,h + +Rom 15 Mar 2007 + - MGR: Do not allow multiple dial-up promtps to appear when the CC needs + to connect, it is annoying and will eventually blow the stack. + + clientgui/ + BOINCDialupManager.cpp + +David 15 Mar 2007 + - API: my checkin of Mar 8 was flawed and causes an app hang. + Revert to the previous way (bool var, not mutex) + but with an additional check in worker_signal_handler() + that should fix the original race condition + (from Jonathan Armstrong) + - core client: fix bug where, if host is in "suspended to disk" + state for a long time, its next debt adjustment + assumes that apps were running the entire time. + The fix: if more than 2xcpu_sched_period has elapsed + since last debt adjustment, ignore the period. + - Add data structures for day-of-week preferences + (but don't actually implement much) + + api/ + boinc_api.C + client/ + client_state.h + cpu_sched.C + cs_prefs.C + html/user/ + edit_form_preferences_form.php + lib/ + hostinfo.C + prefs.C,h + +David 15 Mar 2007 + - core client: change the way slot directories are assigned, + and the way things are cleaned up. + The new design ensures that apps always start running + in an empty directory. + Old: + assign new ACTIVE_TASK the lowest slot number not in use. + When the app starts, try to clean out the slot dir. + If can't clean it out, rename it (to DELETE_ME_*) + and create another dir. + On startup, delete dirs named DELETE_ME_* + The problem: if you can't clean out a dir (on Windows) + you're not going to be able to rename it. + So the app will start in a non-empty dir. + New: + assign new ACTIVE_TASK the lowest slot number not in use + and for which an empty directory can be created. + On start, delete dirs and files not in use by an active task. + - core client: fix bug where clean_out_dir() could return zero + even though the dir isn't emptied. + + client/ + app.C,h + app_start.C + file_names.C,h + lib/ + filesys.C + +David 15 Mar 2007 + - compile fixes + + client/ + sim.h + clientgui/ + DlgAdvPreferences.cpp + sg_DlgPreferences.cpp + +Charlie 15 Mar 2007 + - Fix compiler warnings. + + client/ + app.C + cpu_sched.C + lib/ + filesys.C + hostinfo.C + +Rom 17 Mar 2007 + - MGR: Revamped project selection list. It is mostly done, I just have to + figure out how to trap static text click events, right now you have + to click on areas where there isn't any text. + + clientgui/ + ProjectInfoPage.cpp, .h + ProjectListCtrl.cpp, .h (Added) + win_build/ + boincmgr_curl_2003.vcproj + +David 18 Mar 2007 + - user web: make an XML variant of apps.php + - scheduler: parse uldl_pid etc. in config file + to avoid XML parse warnings (from David Braun) + + html/user/ + apps.php + sched/ + sched_config.C + +Rom 19 Mar 2007 + - MGR: Fill in the missing piece with trapping static text control mouse + movement and clicks. + + clientgui/ + ProjectListCtrl.cpp, .h + +David 19 Mar 2007 + - core client: fetch all-projects list at startup if it's not there. + - core client: write rr_sim_missed_deadline only for GUI RPC, not statefile + + client/ + acct_setup.C + client_state.C,h + client_types.C + cs_statefile.C + scheduler_op.C + +Rom 19 Mar 2007 + - MGR: Strip out all the extra fluff, and add a website link. + + clientgui/ + ProjectListCtrl.cpp, .h + +David 19 Mar 2007 + - removed [features] from p_model; + move it to a separate field, p_features, + which is stored on the client and sent to server + but not stored in server DB. + - fix gcc 4.x warnings + - user web: change of app version list XML + + client/ + hostinfo_unix.C + hostinfo_win.C (new) + main.C + win/ + hostinfo_win.cpp (removed) + html/user/ + apps.php + lib/ + filesys.C + hostinfo.C,h + +David 19 Mar 2007 + - core client: added more support for day-of-week time preferences. + They're now enforced, + and times are expressed as doubles (hours, 0..24) + + client/ + cs_prefs.C + lib/ + boinc_cmd.C + prefs.C,h + +David 19 Mar 2007 + - compile fixes + + client/ + hostinfo_win.C + win_build/ + boinc_cli_curl.vcproj + +Charlie 19 Mar 2007 + - Mac: fix compile errors (must cast double variable to int to use it + as array index.) + - Fix compiler warnings. GCC on Linux and Mac have conflicting warnings: + Mac complains about unused variables, Linux about ignoring returns + from functions like getcwd() which returns the result in 2 places. + Try to satisfy both compilers using __attribute__ ((unused)) construct. + This may not work for Windows compiler, though. + -- Mac: Add ProjectListCtrl.cpp to XCode project. + + client/ + hostinfo_unix.C + http_curl.C + clientgui/ + DlgAdvPreferences.cpp + sg_DlgPreferences.cpp + lib/ + boinc_cmd.C + filesys.C + hostinfo.C + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 19 Mar 2007 + - core client: bug fixes in prefs + + lib/ + prefs.C + +Rom 19 Mar 2007 + - Add some more cross compiler tweaks to the precompiled header for Windows. + + clientgui/ + stdwx.h + lib/ + boinc_win.h + filesys.C + +Rom 20 Mar 2007 + - MGR: Randomize the project selection list + - MGR: Last few tweaks to the project selection list + + clientgui/ + ProjectInfoPage.cpp + ProjectListCtrl.cpp, .h + lib/ + gui_rpc_client.h + gui_rpc_client_ops.C + +David 20 Mar 2007 + - core client, Unix: run CPU benchmarks at low priority, + same as applications. + On some systems, the clock governor (powersaved) + will slow the CPU clock if nothing's running at regular priority + (but it ignores processes running at low priority). + If benchmarks run at regular priority, + this could result in a erroneous claimed-credit numbers. + (from Evandro Menezes) + + client/ + app_start.C + cs_benchmark.C + lib/ + util.C,h + +David 20 Mar 2007 + - API: boinc_checkpoint_completed(): don't call update_app_progress() + unless options.send_status_msgs is set + (fixes bug in wrappers that call this) + - lib: add linux_cpu_time() function (get CPU time of another process) + + api/ + boinc_api.C + lib/ + procinfo_unix.C + util.C,h + +David 20 Mar 2007 + - Manager: cosmetic tweaks to project select + + clientgui/ + ProjectListCtrl.cpp + +David 20 Mar 2007 + - core client: if "no more work" or "detach when done" tag + is missing from account manager reply, don't change value. + Note: this is implemented using new + OPTIONAL_BOOL and OPTIONAL_DOUBLE types + that may be useful elsewere as well. + + client/ + acct_mgr.C,h + +Jeff 21 Mar 2007 + - added : + #define feof FCGI_feof + #define ferror FCGI_ferror + to the list of such defines at the bottom of file fcgi_stdio.h. + This was needed to complile the fcgi version of the file upload + handler. Note that this list of defines is the only difference + between our fcgi_stdio.h and /usr/include/fcgi_stdio.h on the + linux box used for this build. + + sched/ + fcgi_stdio.h + +David 21 Mar 2007 + - update sample web site front page + + html/user/ + sample_index.php + +David 21 Mar 2007 + - core client: fixed bug where a + in scheduler reply would crash client. + Also, change this tag to + Note: the syntax is + + xxx + + where xxx is the result name. + + client/ + cs_scheduler.C + scheduler_op.C,h + +David 23 Mar 2007 + client/ + app.h + sim.C + languages/translations/ + en.po + +David 23 Mar 2007 + - Manager: show "detach when done" if set + + clientgui/ + ViewProjects.cpp + ViewProjectsGrid.cpp + win_build/ + sim.vcproj + +David 23 Mar 2007 + - manager build fix + + clientgui/ + Makefile.am + +Rytis 24 Mar 2007 + - Forum: duration selection and optional message to the user. + + html/ + user/ + forum_moderate_post.php + forum_moderate_post_action.php + inc/ + forum_email.inc + +David 24 Mar 2007 + - admin web: added script to banish user for various periods, + independently of forum tools (from Eric Myers) + + html/ops/ + index.php + manage_user.php + +Rom 27 Mar 2007 + - MGR: Extend browser cookie detection framework so that additional + browsers can be used. + - MGR: Checkin Frank's latest changes to the Advanced Preferences + dialog. + + clientgui/ + DlgAdvPreferences.cpp, .h + Makefile.am + stdwx.h + WizardAttachProject.cpp + clientlib/win/ + AuthenticatorDetection.cpp, .h (Removed) + lib/ + boinc_win.h + browser.C, .h (Added) + browser_firefox.C (Added) + browser_ie.C (Added - Windows Only) + win_build/ + boinc_dll.vcproj + boinc_dll_2003.vcproj + boincmgr_curl.vcproj + boincmgr_curl_2003.vcproj + +David 27 Mar 2007 + - client: on startup, show how much RAM and disk are usable + (taking prefs into account) + + client/ + cs_prefs.C + lib/ + str_util.h + +Walt 27 Mar 2007 + - MGR: Fix Makefile.am to remove whitespace after + continuation character. + + clientgui/ + Makefile.am + +David 27 Mar 2007 + - scheduler: fix bug that cause parse error + for Linux hosts with long strings + (from Andre Kerstens) + + sched/ + server_types.C + +Walt 27 Mar 2007 + - MGR: Fix compile errors + + clientgui/ + WizardAttachProject.cpp + lib/ + browser_firefox.C + +David 28 Mar 2007 + - core client: add work_buf_additional_days preference; + track variability in completion times + (from John McLeod VII) + - add browser.C to lib/ makefile; + do NOT use ../* in other makefiles + + client/ + client_state.C,h + client_types.C,h + cpu_sched.C + cs_scheduler.C + log_flags.C,h + rrsim_test.C + sim.h + clientgui/ + Makefile.am + lib/ + Makefile.am + browser.C + browser_firefox.C (removed) + browser_ie.C (removed) + prefs.c,h + +David 28 Mar 2007 + - user web: support for work_buf_additional_days pref + + html/inc/ + prefs.inc + +David 29 Mar 2007 + - core client: fix some debug messages + - more code-shuffling for client simulator + + client/ + cpu_sched.C + file_xfer.h + log_flags.C,h + sim.C,h + win_build/ + boincmgr_curl.vcproj + sim.vcproj + +David 29 Mar 2007 + - Manager: add work_buf_additional_days to adv prefs dialog; + add multi-selection to transfer tab + (from Frank Weiler) + + clientgui/ + DlgAdvPreferences.cpp + DlgAdvPreferences.fbp + DlgAdvPreferencesBase.cpp,h + ViewTransfersGrid.cpp + +David 29 Mar 2007 + - API: don't report CPU time and fraction done while suspended + (not needed, and wastes CPU time) + + api/ + boinc_api.C + +David 29 Mar 2007 + - core client: include MD5 in file upload handler requests, + so that the server can (if it wants) verify the MD5. + NOTE: I don't think this should be necessary. + + Also include core client release # in all requests + + client/ + file_xfer.C + +Rom 29 Mar 2007 + - MGR: Prevent crash in the projects tab by checking to see if there + is really anything to display, if not delete all rows and then + return. + + clientgui/ + ViewProjectsGrid.cpp + +David 29 Mar 2007 + - Manager: text tweaks + + clientgui/ + AdvancedFrame.cpp + DlgAbout.cpp + +Charlie 30 Mar 2007 + - Mac: Major fixes and improvements to backtrace: correctly show + address of instruction which caused SIGSEGV or SIGBUS faults, + remove bogus NULL stack frame at end of trace; improve output + format, etc. + - Mac: Add browser.C,h to XCode project. + + lib/ + mac_backtrace.C + MoreBacktrace.C + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 2 Apr 2007 + - Manager: improvements to advanced Prefs dialog + (from Frank Weiler) + - Client simulator work + + client/ + sim.C,h + work_fetch.C + clientgui/ + DlgAdvPreferences* + lib/ + prefs.C + +Charlie 3 Apr 2007 + - Mac Installer: Change name of Postinstall.app to PostInstall.app to fix a + problem on some Macs where the postinstall or postupgrade script failed + to launch PostInstall.app due to the lower-case I. I don't know why some + Macs would be case-sensitive here while others aren't, but user feedback + seems to confirm this problem. + - Mac Installer: Add directions for removing users boinc_master and boinc_user + to uninstall instructions. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + mac_installer/ + GR-ReadMe.rtf + ReadMe.rtf + release_boinc.sh + release_GridRepublic.sh + +Rom 3 Apr 2007 + - MGR: Check firefox cookies for a projects authenticator which might have + been assigned during a web based registration scenario + - MGR: Fix detech from project crashing condition + - MGR: Fix variuos performance problems with the Grid based views. Best + rule of thumb is to not set/change any value in a control unless it + has really changed. Doing so causes the RECT to become invalidated + which causes the OS to want to repaint it. Data processing is always + faster than repainting. + - MGR: Don't delete all the rows of a grid just to recreate them a few + steps later, you really only need to add or delete the difference + since the last update. + - MGR: Avoid using 'wxString("Some static Text", wxConvUTF8)' to handle + literal strings for Unicode, the wxT() macro allows the compiler to + take care of it at compile time, instead of run-time. + - MGR: Add a generic 'BOINC help' link that can be used to go to help.php. + - MGR: All help menu items are now redirected using the manager_links.php + page. + - MGR: Add version information to the manager_links.php requests. + - MGR: Remove the CProjectInfo cache from ViewProjectsGrid. + - CC: Fix the display of the processor features. It is useful for those + who want to run optimized clients but don't really know what processor + features are supported by their processor/os combination. + - DBG: Include all the 64-bit registers in the debug output on a 64-bit + Windows machine. + + client/ + client_state.C + hostinfo_win.C + client/win/ + win_screensaver.cpp + clientgui/ + AdvancedFrame.cpp, .h + Events.h + ViewMessagesGrid.cpp + ViewProjectsGrid.cpp, .h + ViewTransfersGrid.cpp + ViewWorkGrid.cpp + WizardAttachProject.cpp + sg_BoincSimpleGUI.cpp + stdwx.h + lib/ + boinc_win.h + browser.C + stackwalker_win.cpp + win_build/ + boincmgr_curl.vcproj + +David 3 Apr 2007 + - core client: don't print "process not found" unless task_debug set + - simulator stuff + + client/ + app_control.C + cpu_sched.C + cs_apps.C + sim.C,h + +David 3 Apr 2007 + - simulator + + client/ + app_control.C + cpu_sched.C + sim.C,h + +David 3 Apr 2007 + - core client: fix parsing of . If set: + - If client is processing a result for a WU that has + been cancelled or is not in the DB + (i.e. there's no chance of getting credit) + send . + - If client is processing a result for a WU that has + been assimilated or is overdue + (i.e. there's a chance of not getting credit) + send + - Scheduler: enhancements to replication policy + (which attempts to send additional replicas of a WU + only to reliable/fast hosts). + There are several new config options which let projects + tailor the policy in various ways: + - : a host must have at least + this avg credit to be considered reliable + - : a host must have at most + this avg_turnaround to be considered reliable + - : results with at least + this priority will be sent only to reliable hosts + - : + increase priority of additional replicas by this amount + - + increase priority of additional replicas + triggered by timeout (but not error) by this amount + - : send results for WUs at least this old + only to reliable hosts + - : if a WU is at least + "reliable_time" old, multiply its latency bound + by this factor (0..1) + - Transitioner: add the notion of "grace period" + so users get credit even if results are somewhat late. + - : defer the deletion of + the canonical result for this many hours + after the deadline of any pending result + - Transitioner: add option : + delay the deletion of WU input files for this + interval after last result has been returned + + Implementation details:: + - add TRANSITIONER_ITEM::res_received_time + - add WORK_ITEM::res_priority + (read by feeder, stored in shared mem, used by scheduler) + - add IN_PROGRESS_RESULT to enumerate in-progress results + - read appid in VALIDATOR_ITEM + - add priority_increase arg to create_result() + + (all the above from Kevin Reed) + + db/ + boinc_db.C,h + sched/ + feeder.C + handle_request.C + sched_config.C,h + sched_send.C + sched_shmem.h + server_types.C,h + transitioner.C + tools/ + backend_lib.C,h + +David 5 Apr 2007 + - core client: fix bug where, if client runs at boot time + and DNS system isn't up yet, + entries in remote_hosts.cfg will fail to resolve, + and the core client will be inaccessible. + Fix: we already have a mechanism in which GUI_RPC_CONN_SET::init() + is called 30 times, at 1-sec interval, until it succeeds. + Extend this to cover the parsing of remote_hosts.cfg also. + + client/ + client_state.C + gui_rpc_server.C,h + +David 5 Apr 2007 + - core client: work fetch skip a project if its # deadline misses + is >= #cpus (not just > 0) + - define a set of process exit codes (currently just 3 of them) + separate from function return values. + Process exit codes are limited to 8 bits in Unix; + use positive numbers starting at 192 + + api/ + boinc_api.C + client/ + app_start.C + client_state.C + sim.C,h + work_fetch.C + lib/ + diagnostics.C + error_numbers.h + +David 5 Apr 2007 + - core client: canonicalize account manager URL + - boinc_cmd: add --join_acct_mgr, --quit_acct_mgr commands; + remove --acct_mgr_op command. + + client/ + acct_mgr.C + lib/ + boinc_cmd.C + +David 6 Apr 2007 + - client simulator: add the ability to do many simulations, + each specified in a separate directory, + and show the individual and total results. + + client/ + sim.C,h + +David 6 Apr 2007 + - core client: sanity check on work request size + (from John McLeod) + + client/ + work_fetch.C + +David 8 Apr 2007 + - updater: + - make program more general (array of files) + - if get an error before installing new version, + run the old version (core and/or mgr). + - if launch of new core client or manager fails + or program exits within 5 seconds, + back out the update and run old version + - when running core client (old or new) pass --run_by_updater flag + - move files instead of copy + - core client: + - add --run_by_updater cmdlines option; + if set, and updater version > client version, + set "install_failed" flag in AUTO_UPDATE. + This prevents the client from trying the update again. + - if updater doesn't run or exits within 5 seconds, + mark update as failed (stick with current version) + + client/ + auto_update.C,h + client_state.C,h + cs_cmdline.C + sim.C,h + lib/ + filesys.C + util.C,h + tools/ + updater.C + +David 9 Apr 2007 + - win compile fixes + + client/ + auto_update.C + lib/ + util.C + +David 9 Apr 2007 + - bug fix in simulator (possibly core client too): + in handle_finished_apps(), + do the vector erase directly instead of calling remove() + (which could cause you to skip one task) + + client/ + app.C,h + cs_apps.C + +David 9 Apr 2007 + - update netsoft URL + + html/inc/ + stats_sites.inc + user.inc + +Charlie 9 Apr 2007 + - change boinc_catch_signal() to exit with exit code EXIT_SIGNAL + instead of ERR_SIGNAL_CATCH. + + lib/ + diagnostics.C + +Charlie 10 Apr 2007 + - Mac: Add support for Firefox on Mac. + + lib/ + browser.C + +David 10 Apr 2007 + - simulator + + client/ + sim.C,h + +Rom 10 Apr 2007 + - MGR: Do not attempt a refresh of the old grid header if the + old value is -1. + (From Walt G.) + + clientgui/ + BOINCGridCtrl.cpp + +David 10 Apr 2007 + - core client: adjustment to anticipated debt is + resource_share*expected_payoff, not + (1-resource_share)*expected_payoff + + client/ + cpu_sched.C + sim.C,h + +Charlie 11 Apr 2007 + - Mac: Add support for Safari on Mac. + - Fix bugs in Firefx / Mozilla cookie detection: + - Don't require match for a leading "www" in URL. + - Don't return true if is_authenticator_valid(cookie) fails. + - Check for std::string.find() returning npos if it fails, not -1. + - Add extern "C" to browser.h file. + + lib/ + browser.C,h + mac_browser.mm (new, Mac only) + +David 11 Apr 2007 + - database: add sent_email table; keep track of emails sent to users + - boinc_cmd: add --read_cc_config command + + db/ + boinc_db.h + schema.sql + client/ + cs_cmdline.C + html/ops/ + db_update.php + remind.php + lib/ + boinc_cmd.C + +David 11 Apr 2007 + - client: write availability info to a log file + Don't let file exceed 1 MB or 1 year, whichever is larger + - client: work fetch tweak: add notion of fetchable_resource_share + - client: remove BOINC_OUTAGE code + - client: remove leftover CURL temp files (blc*) on startup + - client: remove duration_variability code + - client: in maintaining availability info (TIME_STATS), + ignore CPU throttling. + - Manager: don't divide work_buf_additional_days by 86400 (??) + + client/ + client_state.C,h + client_types.C,h + cpu_sched.C + cs_scheduler.C + file_names.h + http_curl.C,h + rrsim_test.C + sim.h + time_stats.C,h + work_fetch.C + clientgui/ + DlgAdvPreferences.cpp + lib/ + network.h + +David 11 Apr 2007 + - user web: wrong URL for BOINC Combined Stats + + html/inc/ + user.inc + +Charlie 11 Apr 2007 + - Move browser.C,h from lib/ to clientgui/ + - Move lib/mac_browser.mm to clientgui/browser_safari.mm + - Adjust makefiles and XCode project for above changes + - Remove extern "C" from browser.h + - Fix compiler warning in http_curl.C + + client/ + http_curl.C + clientgui/ + browser.C,h (added) + browser_safari.mm (added) + makefile.am + lib/ + browser.C,h (removed) + mac_browser.mm (removed) + makefile.am + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Charlie 12 Apr 2007 + - MGR: Fix bug in SimpleGUI prefs: it wasn't resetting the + tag when changing "Do work when user + idle" override from "0 (Run Always)" to an idle time value. + + clientgui/ + sg_DlgPreferences.cpp + +Rom 12 Apr 2007 + - Change directory layout for 32-bit Windows client + dependancies (curl, openssl, zlib) + - Include 64-bit Windows client dependancies + (curl, openssl, zlib) + + curl/ + + openssl/ + + zlib/ + + +David 12 Apr 2007 + - added script for getting statistics on job FLOP counts + + html/ops/ + index.php + job_times.php + +Charlie 12 Apr 2007 + - Fix compile error: #include in cs_benchmark.C + - Mac: Update XCode project, build scripts and build instructions to use + wxMac-2.8.3. + - Mac: Fix minor XCode project bug in ppc_Deployment build configuration + of target BOINC_Client (this build configuration is not used + for release builds.) + + client/ + cs_benchmark.C + mac_build/ + buildWxMac.sh + HowToBuildBOINC_XCode.rtf + setupForBOINC.sh + boinc.xcodeproj/ + project.pbxproj + +David 12 Apr 2007 + - client: log job completions + + client/ + client_types.C,h + cs_apps.C + file_names.C,h + +David 13 Apr 2007 + - feeder: improve efficiency of DB query + - client: add optional tags and + to scheduler RPC reply; + next scheduler RPC request will contain the indicated + subset of the time stats log or job log. + (no server-side support for this yet) + + client/ + client_types.C,h + cs_scheduler.C + file_names.h + scheduler_op.C,h + time_stats.C + db/ + boinc_db.C + +Bruce 16 April 2007 + - scheduler: remove compiler warnings + - feeder: broken because of David's checkin to db/boinc_db.C above. + David, please confirm if result.appid -> r1.appid is correct. + - locality scheduler: add new boolean config option + locality_scheduling_sorted_order. If this is enabled, + then instead of looking for work starting with a random + file on the host, + the scheduler will search for work in sorted order of the filenames, + starting with the lexagraphically smallest file + and moving upwards until work is found. + + sched/ + handle_request.C + feeder.C + sched_config.C + sched_config.h + sched_locality.C + server_types.h + doc/ + sched_locality.php + +Charlie 16 Apr 2007 + - Mac: fix Mac Stuffit file corrupted in switch from CVS to Subversion. + - Mac: Update backtrace to use entirely new code from Apple Developer + Technical Support. The format is now compatible with OS X's + built-in Crash Reporter, and is ready for 64-bit Mac Intel + applications (which will be available in OS 10.5). If the backtrace + is from a stripped application, the output of this new code can be + run through a new shell script (available on Apple's web site) to + add symbols to it from a separate symbol file - this is a very useful + feature. For details, see comments in mac_backtrace.h. + + Note: We build the PowerPC applications with GCC-3.3 to be backward + compatible with OS 10.3.0 - 10.3.8, and GCC 3.3 does not support + 64-bit applications, and Apple discontinued production of PowerPC + Macs in 2006, so this backtrace code does not support 64-bit PowerPC + G5 applications. + + clientgui/ + mac/ + BOINCSaver.nib.sit + lib/ + mac_backtrace.C,h (removed) + mac/ + dyld_gdb.h (added) + mac_backtrace.C,h (added) + QBacktrace.c,h (added) + QCrashReport.c,h (added) + QMachOImage.c,h (added) + QMachOImageList.c,h (added) + QSymbols.c,h (added) + QTaskMemory.c,h (added) + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Rom 17 Apr 2007 + - Test SVN Commit Email + +Charlie 17 Apr 2007 + - Mac: Fix Safari cookie logic for OS 10.3, move to Mac directory. + - Mac: Remove remaining obsolete backtrace source files, fix compiler + warnings, update makefile for changes. + - Mac: fix Mac icon files corrupted in switch from CVS to Subversion + and move to directory with other icon files. + - Mac: Delete very old obsolete files. + + client/ + mac/ (directory removed) + BOINC.term (removed) + BoincLaunch.app.zip (removed) + BoincLaunch.zip (removed) + GridRepublic.icns (extra copy removed) + mac_about.cpp,h (removed) + mac_join.cpp,h (removed) + mac_main.cpp,h (removed) + mac_prefs.cpp,h (removed) + postinstall (removed) + clientgui/ + makefile.am + mac/ + browser_safari.mm (moved from clientgui/browser_safari.mm) + res/ + BOINCMgr.icns (moved from client/mac/BOINCMgr.icns) + lib/ + makefile.am + MoreAddrToSym.c,h (removed) + MoreBacktrace.c,h (removed) + mac/ + QMachOImage.c + QMachOImageList.c + mac_build/ + boinc.xcodeproj/ + project.pbxproj + English.lproj/ + AboutBox.nib (removed) + boinc.nib (removed) + JoinDialog.nib (removed) + PrefsDialog.nib (removed) + +David 17 Apr 2007 + - file deleter: + - Antique deletion is now default; it gets done once/day + (pass -dont_delete_antiques to turn it off) + - retry of errors is now default; it gets done once/day + (pass -dont_retry_errors to turn it off) + - add -dont_delete_batches option, + and remove option from config file + - client: fix format string in job log write + + client/ + client_types.C + sched/ + sched_config.C,h + file_deleter.C + +David 17 Apr 2007 + - compile fix for FCGI + + lib/ + util.C + +David 17 Apr 2007 + - client: define work_buf_total as + max(1, work_buf_min + work_buf_additional). + Allow both work_buf_min and work_buf_additional to be zero. + - client: remove work_needed_secs() + + client/ + client_state.h + cpu_sched.C + sim.h + work_fetch.C + +David 17 Apr 2007 + - user web: better text for work-buf preferences; + defaults are 0 and 0.25. + - remove test_sanity.py stuff from configure.ac. + It's relevant only to the automated testing framework, + which no one uses except us. + + configure.ac + html/inc/ + prefs.inc + test/ + testbase.py + +Charlie 17 Apr 2007 + - Mac: Trim bogus extra frame and post-signal frames from backtrace + reports, like the old Mac backtrace did. + + lib/ + mac/ + mac_backtrace.C + QBacktrace.c + QCrashReport.c + +David 17 Apr 2007 + - "start" script: stop scheduler before daemons; otherwise can get + "no shared memory" errors from scheduler + + sched/ + start + +David 18 Apr 2007 + - Server: added sample_assimilator.C + (an assimilator that copies output files to a directory) + - Server: added sample_work_generator.C + + Note: until now we haven't supplied an example of of a work generator. + The above two components (and the uppercase app) let us create + an example project that actually does something. + My plan is to have make_project install all this stuff + + - Server: added count_unsent_results() to sched_util + - backend code: remove the -asynch arg from all programs. + This was used by old PHP test framework, not needed now. + - backend code: got rid of some compile warnings + - removed assimilator_placeholder and validator_placeholder. + These serve no useful purpose + (they're copies of other files, and they don't actually + act as placeholders since they get overwritten on a SVN update) + + sched/ + Makefile.am + assimilator.C + assimilator_placeholder.C (removed) + db_dump.C + db_purge.C + feeder.C + handle_request.C + make_work.C + message_handler.C + sample_assimilator.C (new) + sample_work_generator.C (new) + sched_config.C,h + sched_util.C,h + server_types.C + transitioner.C + trickle_handler.C + update_stats.C + validator.C + validator_placeholder.C (removed) + +Rom 18 Apr 2007 + - fixes #7: Includes the last remaining files needed to build and + package up 64-bit files for setup. We can now build and create + 64-bit windows installer packages. + + win_build/installerv2/ + BOINC.ism + BOINCx64.ism + win_build/installerv2/redist/Windows/src/ + + win_build/installerv2/redist/Windows/x64/ + boinccas.dll (Added) + boinccas95.dll (Added) + dbghelp95.dll (Added) + +David 18 Apr 2007 + - bug fixes for sample work generator + + sched/ + sched_config.C,h + sample_work_generator.C + +Rom 19 Apr 2007 + - Fix a minor compile problem on 64-bit Windows platforms with the + call to SetTimer. + - fixes #80: Introduce the notion of an alternate platform for 64-bit + Windows clients, which can also run 32-bit Windows apps. + + TODO: We'll need to refactor the whole platform section in the + scheduler request creation section so that it can handle + multiple alternate platforms and for Linux/Mac. + + api/ + windows_opengl.C + client/ + client_state.C, .h + cpp.h + cs_scheduler.C + +David 19 Apr 2007 + - Change things so that make_project installs a test application + (uppercase) and the daemons to go along with it + (sample_work_generator, sample_bitwise_validator, sample_assimilator). + This is mostly working, not completely. + + apps + upper_case.C + html/ops/ + mass_email_script.php + py/Boinc/ + setup_project.py + sched/ + sched_config.C,h + sample_work_generator.C + tools/ + make_project + project.xml + Makefile.am + +David 19 Apr 2007 + - scheduler: accept elements of the form + + windows_x86 + + in request messages. + These are platforms that the client can handle, + other than its main one, + listed in order of decreasing preferences. + fixes #81. + + sched/ + handle_request.C + server_types.C,h + +Rom 19 Apr 2007 + - Match the client-side and server-side XML for alternate + platforms. + - Print both the max active memory usage and max idle + memory usage after all the preference information has + been parsed. + + client/ + cs_prefs.C + cs_scheduler.C + +Rom 19 Apr 2007 + - Statistics view update. + (From Mifistor) + + clientgui/ + ViewStatistics.cpp, .h + +Rom 19 Apr 2007 (HEAD) + - Tag for 5.9.4 release, all platforms + boinc_core_release_5_9_4 + +David 20 Apr 2007 + - make_project: add periodic tasks to default config.xml: + dp_dump, update_uotd, update_forum_activities, update_stats, + update_profile_pages + - backend_lib.C: refuse to create a job for which some necessary + parameter (rsc_fpops_est, rsc_fpops_bound, etc.) is missing + - Unix build: don't include std_fixes.h in config.h. + std_fixes.h is (I think) deprecated + - sched_util: default sched log level is MSG_NORMAL + - client: add ".txt" to job log filename + - compile fixes + + configure.ac + api/ + reduce_main.C + client/ + file_names.C + lib/ + str_util.h + sched/ + sample_work_generator.C + sched_msgs.h + tools/ + backend_lib.C + make_project + +David 20 Apr 2007 + - str_util: don't use std::transform, since it causes problems + with VC++ express edition + + clientgui/ + sg_SGUIListControl.h + html/ops/ + db_update.php + lib/ + str_util.C,h + +David 20 Apr 2007 + - Advanced prefs: remove incorrect multiplication by 86400 + + client/ + cs_prefs.C + clientgui/ + DlgAdvPreferences.cpp + +Rom 20 Apr 2007 + - Fix: Win x64's alternate platform is really windows_intelx86 + not windows_x86_64. + + client/ + client_state.C + +Bruce 20 April 2007 + - Minor locality sched change for E@H + + sched/ + sched_locality.C + +David 23 Apr 2007 + - make_project: remove --no_test_app option, add --test_app option + - make_project: initial config in all cases has + one_result_per_user_per_wu = 0 + - sample_assimilator: make it able to handle > 1 output file + - boinc_cmd: make --help output more readable + - User web: fix some undefined vars in translation.inc + Rytis: let's try to fix PHP runtime warnings + - DB: add default values for app table (avoid MySQL warnings) + + db/ + schema.sql + html/ + inc/ + translation.inc + uotd.inc + ops/ + update_forum_activities.php + lib/ + str_util.C + boinc_cmd.C + py/Boinc/ + setup_project.py + sched/ + sample_work_generator.C + sample_assimilator.C + tools/ + make_project + uc_wu, uc_result (new) + +Rom 23 Apr 2007 + - fixes #120 - Rebuild all 32-bit Windows dependencies using + VS 2005 so tht they all depend on the new CRT runtime. Make + sure all dependencies include an application manifest. + - WIN: Rebuild libcurl for x64 and include an application + manifest so that it can find MSVCR80 when executing. + + curl/ + + openssl/ + + zlib/ + + +David 23 Apr 2007 + - client: fix bug where client is unresponsive if + there are unresolvable names in remote_hosts.cfg file + + client/ + gui_rpc_server.C,h + +Rom 24 Apr 2007 + - fixes #121 - Both 32-bit and 64-bit BOINC Windows Installation + packages require bootstrap loader. + + win_build/installerv2/ + BOINC.ism + BOINCx64.ism + +Rom 24 Apr 2007 + - fixes #122 - Windows benhcmark differences between VS 2003 and + VS 2005. + + The default FP model has changed since 2003, so change how the + BOINC components are compiled so that they use /fp:fast instead + of /fp:precise. + + win_build/ + *.vcproj + +David 24 Apr 2007 + - Server: add new database field host.error_rate. + Stores a dynamic estimate of the fraction of the hosts's + results that fail validation (updated by the validator). + + client/ + sim.C + cs_prefs.C + db/ + boinc_db.C,h + html/ops/ + db_update.php + sched/ + handle_request.C + sched_msgs.h + validator.C + +Eric K 24 Apr 07 + - Exteded the "altername_platform" mechanism to x86_64 linux + and solaris. The current alternate platforms found by configure + are... + x86_64-pc-linux-gnu -> i686-pc-linux-gnu + sparc64-sun-solaris -> sparc-sun-solaris + sparc-sun-solaris -> sparc-sun-solaris2.7 + powerpc64-apple-darwin -> powerpc-apple-darwin + - The alternate platform can be overridden on the configure command line + --with-boinc-alt-platform="platformname" + + m4/ + boinc_platform.m4 + sched/ + Makefile.am + client/ + client_state.C + cs_scheduler.C + client_state.h + +David 25 Apr 2007 + - eliminate spurious "work fetch too big" message + + client/ + work_fetch.C + +David 25 Apr 2007 + - fixes #126 - generate cronjob file in make_project + + tools/ + make_project + +Rom 26 Apr 2007 + - fixes #86 - 5.9.3 won't install on Win98 + Make sure that the custom actions that use NT + specific APIs are only executed on NT based systems. + + win_build/installerv2 + BOINC.ism + BOINCx64.ism + +Rom 26 Apr 2007 + - fixes #10 - Remove dependency on ATL framework for + boinc.dll on Windows + + With this checkin, the BOINC client should now be able + to be built with Visual Studio Express. + + clientgui/ + BOINCGUIApp.cpp, .h + clientlib/win/ + boinc_dll.cpp, .h + boinc_dll.rc + boincclient.rgs (deleted) + boincsens.rgs (deleted) + BOINCSENSSink.cpp, .h (deleted) + IdleTracker.cpp + NetworkTracker.cpp, .h (deleted) + SENSLogonSubscriptions.h (deleted) + SENSNetworkSubscriptions.h (deleted) + SENSOnNowSubscriptions.h (deleted) + SENSSubscriptions.h (deleted) + stdafx.h + +David 26 Apr 2007 + - server: fix bug that causes PHP scripts not to run from Cron + Fixes #129. From Christian Beer. + + html/ops/ + update_profile_pages.php + tools/ + run_in_ops + +David 26 Apr 2007 + - core client: set config settings to default values before + parsing cc_config.xml. + Otherwise, if you have a lot of log flags set, + and tell the client to reread a config file that + doesn't specify ANY log flags, + you'll end up with all the flags still set. + (from Sebastian Masch) + - make_project: add cmdline args for update_stats in initial config + + tools/ + make_project + client/ + log_flags.C,h + +Charlie 27 Apr 2007 + - Mac: Update build instructions. Mark old mac_build.php page as + deprecated and add link to new wiki page. + + doc/ + mac_build.php + mac_build/ + HowToBuildBOINC_XCode.rtf + +David 27 Apr 2007 + - bug in language_select.php made 'auto' not work, + i.e. its impossible to return to browser settings + after doing a cookie-based language choice + - translation.inc and language_select.php were using $HTTP_SERVER_VARS, + which appears to be deprecated in PHP 5. + Use $_SERVER instead. + - made strings at top of web site translatable + + html/ + inc/ + translation.inc + user/ + language_select.php + languages/translations/ + en.po + +David 27 Apr 2007 + - Major rewrite of email-sending programs. + Instead of editing their source (ugh!) + you can now use command-line args to get testing functionality. + + html/ops/ + remind.php + mass_email_script.php + +Rytis 29 Apr 2007 + - Private message functionality for the forums. + NOTE: needs database update. + + html/ + user/ + forum_forum.php + forum_help_desk.php + forum_index.php + forum_pm.php (new) + white.css + img/ + pm.png (new) + + inc/ + db.inc + forum.inc + forum_user.inc + user.inc + + ops/ + db_update.php + + db/schema.sql + +David 30 Apr 2007 + - UOTD code: don't generate a static page; add uotd.php + + html/ + ops/ + update_uotd.php + inc/ + uotd.inc + user/ + uotd.php (new) + +Rom 30 Apr 2007 (HEAD) + - Tag for 5.9.5 release, all platforms + boinc_core_release_5_9_5 + +David 30 Apr 2007 + - scheduler: added (correct this time!) support for + tags in scheduler requests. + - file_deleter: add check for -dont_delete_batches + + sched/ + file_deleter.C + handle_request.C + sched_array.C,h + sched_locality.C,h + sched_resend.C,h + sched_send.C,h + server_types.h + +David 30 Apr 2007 + - core client: if platform is different from platform in state file, + print a message but don't reset projects + (otherwise people running on 64-bit machines would lost + in-progress jobs when switching to 64-bit client) + + client/ + client_state.C + +David 30 Apr 2007 + - scheduler: un-comment-out code to send abort_if_result_not_started + messages + + sched/ + handle_request.C + +David 1 May 2007 + - make_project and upgrade now write a file 'local.revision' + in the project home directory. + It contains the output of /usr/bin/svnversion, + i.e. the code revision from which the server software was built. + - Web files that create directories now give them g+rwx permissions + + html/inc/ + cache.inc + translation.inc + sched/ + edf_sim.C + tools/ + make_project + upgrade + +Rom 30 Apr 2007 (HEAD) + - Tag for 5.9.6 release, all platforms + boinc_core_release_5_9_6 + +Charlie 2 May 2007 + - Mac: Revert to wxMac-2.8.0 due to bugs in later versions. + - Mac: Update XCode project, build scripts and build instructions to use + wxMac-2.8.0. Tag these changes for 5.9.6 release. + + mac_build/ + buildWxMac.sh + HowToBuildBOINC_XCode.rtf + setupForBOINC.sh + boinc.xcodeproj/ + project.pbxproj + +Rom 2 May 2007 + - fixes #154: + * refactored the alternate platform mechinism so that we + can support multiple alternate platforms. + * moved everything to cs_platforms.C since we expect the + kind of sprawl that is in host_info.C on the *nix + environments. + - Clean up some warnings + + client/ + acct_setup.C + client_state.C, .h + client_types.h + cs_platforms.C (Added) + cs_scheduler.C + cs_statefile.C + http_curl.C + lib/ + str_util.h + +Matt 2 May 2007 + - updated db/validator to add logic for wuhash table. + wuhash table (see schema.sql) has two fields, user and + project-specific workunit id so that a user's contribution + can be tied to the appropriate workunit ID in the science + database (a different ID than in the BOINC database). This logic + is only enacted with -update_wuhash flag on command line. + The project-specific workunit id is expected to be found + in the workunit.opaque field. + + db/ + schema.sql + constraints.sql + boinc_db.C,h + sched/ + validator.C + html/ops/ + db_update.php + +Walt 2 May 2007 + - Add cs_platform.C to Makefile.am + + client/ + Makefile.am + +David 2 May 2007 + - Scheduler: in reply, add element to each and elements to + (server half of multi-version changes) + - scheduler: make ssp a global; could eliminate from args everywhere + + db/ + boinc_db.h + sched/ + feeder.C + main.C,h + sched_send.C + sched_shmem.C,h + server_types.C + +Matt 2 May 2007 + - per Dave's request changed "wuhash" to "credited_job" which + is a little more self-explanatory. + + db/ + schema.sql + constraints.sql + boinc_db.C,h + sched/ + validator.C + html/ops/ + db_update.php + +Charlie 2 May 2007 + - Mac: Use run_program() instead of wxExecute to launch boinc CC, + because under wxMac-2.8.0, wxExecute starts a separate thread + to wait for child's termination. wxProcessTerminationThread uses + a huge amount of CPU time (about 11% of 1 CPU on 2GHz Intel Mac). + - Mac: add cs_platform.C to XCode project. + + clientgui/ + BOINCGUIApp.cpp + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Rom 3 May 2007 + - fixes #5: Include the version number of the client next to it's + name, so people can see if they need to upgrade a remote client. + - fixes #149: Change the parsing function for the + CBOINCGridCellProgressRenderer so that we don't have to update + the docs or screenshots. Display the progress bar as a resource + share fraction. + + clientgui/ + AdvancedFrame.cpp + BOINCGridCtrl.cpp + MainDocument.cpp, .h + ViewProjectsGrid.cpp + +David 3 May 2007 + - Core client: handle multiple platforms correctly. + Remove the tacet assumption that a host can handle + applications for a single platform. + With the Apr 30 scheduler changes, + a project may (at different times) + send app versions for the same app and version number, + but different platforms. + Before we would have ignored all but the first; + now we handle them correctly. + + Implementation notes: + - Add APP_VERSION.platform, RESULT.platform, + and RESULT.version_num. + If these are missing from an XML doc + (e.g. an existing state file or a scheduler reply + from a project not running current server) + then set to the primary platform. + - Continue to write workunit.version_num + and active_task.version_num to state file, + even though these are no longer part of the struct. + This allows users to revert to an older version. + + client/ + app.C + check_state.C + client_state.C,h + client_types.C,h + cs_apps.C + cs_scheduler.C + cs_statefile.C + sim.C + +David 3 May 2007 + - Core client: small changes to make the client simulator act reasonably. + - change > to >= for check for running beyond sched period + - adjust debts before calculating anticipated debt + + client/ + client_types.h + cpu_sched.C + sim.C + +Charlie 3 May 2007 + - Mac: Update license agreement, modify build scripts to include license + agreement with bare-client releases, not only wih Manager. + + mac_installer/ + License.rtf + release_boinc.sh + release_GridRepublic.sh + +Rom 3 May 2007 + - Fix build break for Unicode builds + ( From Frank Weiler ) + - Win: Introduce a custom action to delete any lingering binaries from the + installation directory before MSI determines what needs to be copied. + - Win: Introduce a custom action that will migrate + C:\Program Files (x86)\BOINC to C:\Program Files\BOINC for the x64 + upgrade scenario. + + clientgui/ + BOINCGridCtrl.cpp + win_build/installerv2/redist/Windows/src/boinccas/ + boinccas.rc + boinccas95.def + boinccas95.vcproj + CACleanupOldBinaries.cpp, .h (Added) + CAMigratex86x64.cpp, .h (Added) + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + +Rom 3 May 2007 + - Include the new custom actions in the Windows Installers + + win_build/installerv2/ + BOINC.ism + BOINCx64.ism + +Rom 3 May 2007 (HEAD) + - Tag for 5.9.7 release, all platforms + boinc_core_release_5_9_7 + +David 4 May 2007 + - scheduler: in send_result_abort(), distinguish between + the enumeration ending versus it failing. + This fixes a bug where lots of results would be + incorrectly aborted if there's a database problem. + This fix only matters if you use the config flag. + (from Kevin Reed) + - validator: add -credit_from_wu option. + This gets credit from the workunit XML + (which must have a flag). + This lets you use credit-from-WU with the standard validators + (sample_bitwise and sample_trivial) + + sched/ + handle_request.C + validator.C + validate_util.h + +David 4 May 2007 + - API: if using graphics, set worker thread stack size limit to max + (from Rhiju Das of Rosetta@home) + + api/ + graphics_impl.C + +David 4 May 2007 + - Sim-related stuff + + sched/ + edf_sim.C + client/ + sim.C,h + +David 4 May 2007 + - Oops! Small mistake in multi-platform changes. + + client/ + cs_scheduler.C + +David 4 May 2007 + - Server status page: fix bug that showed most daemons as not running + on FC6; needed to trim white space from pid + - Server status page: show server software SVN revision + + html/ops/ + sample_server_status.php + +Charlie 5 May 2007 (HEAD) + - Bump version to 5.9.8 for release with multi-platform fix. + - Tag for 5.9.8 release, all platforms + boinc_core_release_5_9_8 + + client/ + version.h + +Charlie 6 May 2007 + - Mac: On Intel Macs, support PowerPC Mac as a secondary platform. + + client/ + cs_platforms.C + +David 6 May 2007 + - core client: another multi-platform fix (missing \n) + + client/ + client_types.C + +David 6 May 2007 + - core client: when parsing statefile or scheduler reply, + if get an app_version with unknown platform name, ignore it. + This means that, e.g. if someone moves a BOINC directory + from Intel to PowerPC Mac, things will still work right. + + client/ + client_state.C,h + cs_platforms.C + cs_scheduler.C + cs_statefile.C + +Janus 6 May 2007 + - Removed some old debug code and changed a bogus error message to a more + sane one. + + html/inc/ + translation.inc + +David 6 May 2007 + - make_project: create element in config.xml + (so that show_logs.php will work). + Fixes #170 + + py/Boinc/ + setup_project.py + +Charlie 7 May 2007 (HEAD) + - Bump version to 5.9.9 for release with multi-platform fix. + - Tag for 5.9.9 release, all platforms + boinc_core_release_5_9_9 + + client/ + version.h + +Janus 7 May 2007 + - Removed BOINC.dk from stats sites as it is in the process of shutting down + several of its services. + + /html/inc/ + stats_sites.inc + +David 7 May 2007 + - core client: fix bug in code to ignore unknown platforms. + + client/ + cs_scheduler.C + +Rom 7 May 2007 + - fixes# 162: Fix the Windows setup to install the CRT as a private assembly + so that we can avoid running into sxs problems. At some point I'll have + to revisit this and figure out what is really going on. + + win_build/installerv2/ + BOINC.ism + BOINCx64.ism + +David 7 May 2007 + - core client: add config option; + eliminates use of alternate platforms. + + client/ + client_state.h + cs_platforms.C + cs_statefile.C + log_flags.C,h + +Rom 7 May 2007 + - fixes #110 - Simple GUI: "spacer" image is not updated + + clientgui/ + sg_ImageLoader.cpp + sg_ProjectsComponent.cpp, .h + +Rom 7 May 2007 + - fixes #4 - BOINC Manager should be able to find it's + localization files. + + BOINCMgr will now check in the absolute path in which + it was installed as well as the relative path from where + it was executed from. + + + clientgui/ + BOINCGUIApp.cpp, .h + +David 7 May 2007 + - client simulator: + - Add --server_uses_workload option + (simulate server that does EDF simulation) + - Add simulation of exponential backoff when don't get work. + Otherwise it will keep asking forever. + - move non-interesting stuff to sim_util.C + - change simulator code to use ' instead of " in compiled translations + + client/ + makefile_sim + sim_util.C + sim.C,h + work_fetch.C + html/inc/ + translation.inc + sched/ + edf_sim.C + edf_sim.h (new) + +Rom 7 May 2007 + - Tag for 5.9.10 release, all platforms + boinc_core_release_5_9_10 + + client/ + configure.ac + version.h + +Janus 8 May 2007 + - Initial checkin of a tiny part of the serverside Bittorrent file + distribution code. Everything BT-related will reside in /html/bt and + will be disabled by default. + - Id property set on belement.inc + + html/bt/ (new) + README (new) + INSTALL (new) + html/bt/inc/ (new) + belement.inc (new) + +David 8 May 2007 + - core client: improve error message when can't link app version + + client/ + client_state.C + cs_statefile.C + +David 8 May 2007 + - GUI RPC: add new element d_boinc to DISK_USAGE; + tells how much disk space BOINC is using + (not including projects). + - added project.max_infeasible_count to client simulator + + client/ + gui_rpc_server_ops.C + sim.C,h + sim_util.C + clientgui/ + ViewResources.cpp + lib/ + filesys.C + bui_rpc_client.h + bui_rpc_client_ops.C + +Charlie 8 May 2007 + - Mac: Refresh Disk Usage pane only on every 10th call to reduce + CPU overhead, but refresh once per second the first 3 times + to work around a bug drawing the legends. (Also included in + 5.9.10 Mac release, added to boinc_core_release_5_9_10 tag.) + + clientgui/ + ViewResources.cpp + +Janus 9 May 2007 + - Fixed an issue where long unbreakable post content could break the layout + of the forum for an entire thread. Now this only breaks the layout for that + particular post. + If you use a different css stylesheet than white.css you should copy over the + #thread part. + Thanks to Lee Carre for pointing out the issue and possible solution. + - Added BEncoded dictionaries to the Bittorrent checkin. + + html/user/ + white.css + html/bt/inc/ + bdictionary.php + +Charlie 9 May 2007 + - Finally fixed a long-standing bug which caused the PieCtrl legend to + be clipped to a small rectangle when first drawn on Macs. If the + legend changed so it required more space, this bug would also clip + to the former size the first time it was updated. This problem + did not occur on Windows. + NOTE: I currently can't build on Windows or Linux, so please verify + that my modified code works OK on those platforms. + - Mac: removed the hack which refreshed once a second the first 3 times + to work around this bug. + + clientgui/ + ViewResources.cpp + common/ + wxPieCtrl.cpp + +David 9 May 2007 + - Client simulator: added --dcf_dont_use and --dcf_stats options + (alternate ways of computing DCF) + + client/ + cpu_sched.C + sim.C,h + sim_util.C + +David 9 May 2007 + - scheduler: slight code cleanup prior to adding EDF stuff + + languages/translations/ + en.po + sched/ + sched_send.C + server_types.h + +Rytis 9 May 2007 + - Update BBCode to allow easy linking to Trac tickets, wiki and changesets. + + html/ + user/ + bbcode.php + inc/ + text_transform.inc + +Charlie 10 May 2007 + - A better fix for Mac PieCtrl legend clipping bug: wxPieCtrl::Refresh() + calls new wxPieCtrlLegend::MeasureText() method to caclulate size of + the legend area and SetSize() of legend window before OnPaint() is + called. Apparently, calling SetSize() from within the OnPaint() + function doesn't adjust the "invalid" area to be repainted until + a return to the event loop, so the added area didn't get painted + until the next OnPaint() call. Also, the wxMemoryDC bitmap was + being created at the smaller size, so that was also clipping the + drawing. + - Mac: include size of BOINC Manager bundle in BOINC total disk usage + displayed in Disk Usage pane Pie Chart. + + clientgui/ + BOINCGUIApp.cpp, .h + ViewResources.cpp + common/ + wxPieCtrl.cpp + +Rom 10 May 2007 + - Possible fix for a crashing condition when the manager is shutdown + from the system tray icon. + + clientgui/ + BOINCBaseFrame.cpp + BOINCTaskBar.cpp, .h + + +David 10 May 2007 + - client simulator: make it compile on Win + - client: parse version_num in active_task to avoid spurious error msg + + client/ + app.C + sim.C + win_build/ + sim.vcproj + +Rom 10 May 2007 + - fixes #164: Aborting a Task + + If a task has already been aborted, don't enable the abort task + button. + + clientgui/ + ViewWork.cpp + ViewWorkGrid.cpp + +David 10 May 2007 + - client: add constructor/destructor for APP_VERSION, WORKUNIT, RESULT + - client: with anonymous platform, don't link app version twice + + client/ + client_types.h + client_state.C + cs_apps.C + cs_files.C + cs_prefs.C + cs_scheduler.C + cs_statefile.C + sim_util.C + html/ + uotd.inc + sched/ + edf_sim.h + server_types.h + client/ + app.C + sim.C + win_build/ + sim.vcproj + +David 10 May 2007 + - scheduler: add config option. + If set, the scheduler will use EDF simulation, + together with the in-progress workload reported by the client, + to avoid sending results that + 1) will miss their deadline, or + 2) will cause an in-progress result to miss its deadline, or + 3) will make an in-progress result miss its deadline + by more than is already predicted. + If this option is not set, or if the client request doesn't + include a workload description (i.e. the client is old) + use the existing approach, which assumes there's no workload. + NOTE: this is experimental. Production projects should not use it. + - EDF sim: write debug stuff to stderr instead of stdout + - Account manager: + - if an account is detach_when_done, set dont_request_more_work + - check done_request_more_work even for first-time projects + - update_uotd: generate a file for use by Google gadget + - user_links(): use full URLs (so can use in Google gadget) + + client/ + acct_mgr.C + work_fetch.C + html/ + inc/ + uotd.inc + util.inc + user/ + uotd_gadget.php (new) + sched/ + Makefile.am + edf_sim.C + sched_config.C,h + sched_resend.C + sched_send.C,h + server_types.C,h + +Janus 10 May 2007 + - Added BEncoded integer support for the Bittorrent utility files + + /html/bt/inc/ + binteger.php + +David 10 May 2007 + - boinc_cmd: add --network_available and --get_cc_status options + + lib/ + boinc_cmd.C + +Rom 10 May 2007 + - Add a project config.xml option to allow moderators to ban + accounts. + + 1 + + html/inc/ + forum.inc + forum_moderators.inc + +David 10 May 2007 + - core client: fix big that caused + duplicate app versions to appear in state file + (this was harmless, BTW) + + client/ + cs_scheduler.C + +Rom 10 May 2007 + - Fix a build break in the manager. + + client/ + app.h + lib/ + common_defs.h + +Charlie 10 May 2007 + - One more rework of Mac PieCtrl following Frank Weiler's suggestions. + Eliminated wxPieCtrlLegend class completely, integrated legend + drawing into the PieCtrl class itself, greatly simplifying it. + - Mac only: create CViewResources::GetViewRefreshRate() to update + PieCtrl only every 10 seconds to reduce CPU overhead instead of + doing it with a counter in CViewResources::OnListRender(). + - Mac: Determine size of BOINC Manager bundle in core client if it was + launched by Manager rather than in the Manager itself, to get + correct information when controlling a remote computer. + + client/ + gui_rpc_server_ops.C + clientgui/ + BOINCGUIApp.cpp, .h + ViewResources.cpp, h + common/ + wxPieCtrl.cpp, h + +David 11 May 2007 + - translation.inc: backed out change of 7 May; + we need to use " to expand $PROJECT var + - scheduler: + take work_buf_min into account in deciding whether + a result will be reported by its deadline. + - all back end programs: + better error message if can't parse config file + + html/inc/ + translation.inc + sched/ + *.C + +David 11 May 2007 + - web RPC: fix bug in XML variant in show_user.php, bad-ID case. + + html/user/ + show_user.php + +David 11 May 2007 + - Manager: show (in Project/status) if a sched RPC is in progress + + clientgui/ + ViewProjects.cpp + ViewProjectsGrid.cpp + +David 11 May 2007 + - web RPC: show lots more info in team_lookup.php, XML version + + html/inc/ + xml.inc + +David 11 May 2007 + - Python tools: + - removed "add" (long deprecated) + - version.py is needed only in test/; + remove references to it in boinc_path_config.py, + and don't copy it to project/bin + + py/Boinc/ + boinc_path_config.py.in + setup_project.py + tools/ + add (removed) + +Rom 12 May 2007 + - Change the 'ProductName' in the resource structures to + 'BOINC client' instead of 'BOINC core client' + + client/win/ + boinc_cmd.rc + boinc_ss.rc + clientgui/ + BOINCGUIApp.rc + +David 14 May 2007 + - scheduler: add max_wus_in_progress option. + Limits total # of in-progress results per host + (independently of #CPUs) + + sched/ + sched_config.C,h + sched_resend.C + sched_send.C + server_types.h + +David 14 May 2007 + - core client: in statefile read, set avp->platform + before linking. + - core client: when parse app_info.xml, + set platform to primary platform. + Otherwise anonymous platform mechanism doesn't work. + - GUI RPC: in attach project RPC, check for + already attached even in config file case + + client/ + cs_statefile.C + gui_rpc_server_ops.C + scheduler_op.C + time_stats.C + +David 14 May 2007 + - core client: on attach to project, + if the initial sched request failed, + the manager would show "communicating" for 60 sec, + then time out and show "failed to attach". + But the project would actually be attached. + This was due to a logic error, + but I fixed it in a more fundamental way: + by considering an attach to be complete immediately, + without waiting for a successful scheduler RPC. + + This was originally done to ensure that the URL and account key + were valid. + But when using the BOINC Manager, we've already verified + both of these before doing the attach project RPC. + + When using boinc_cmd, you now have to check for messages + indicating a bad URL or account key. + I changed things to print these messages on every sched RPC. + + Implementation: the notion of "tentative project" no longer exists. + + client/ + client_state.C,h + client_types.C,h + cs_account.C + cs_benchmarks.C + cs_scheduler.C + gui_rpc_server_ops.C + scheduler_op.C + sim.C + sim_util.C + +David 14 May 2007 + - API: Eric Myers reported that my 4 May checkin + (which increased worker thread stack size to the limit + returned by getrlimit()) + broke his app on several Linux platforms. + So I added a worker_thread_stack_size element to BOINC_OPTIONS. + If you want an increased stack size, set this. + - web RPC: add and elements to + the XML returned by get_project_config.php + + html/user/ + sample_get_project_config.php + api/ + graphics_impl.C + +David 14 May 2007 + - client: fix bug where: + 1) client wakes up from hibernate + 2) one or more network ops start (e.g. because backoff expired) + 3) ops fail because DNS system isn't up yet + 4) connect to reference site fails too + 5) user sees "please create physical connection", + even though there's been a physical connection the whole time. + Solution: + - keep track of "last wakeup time": the last time the + time of day (measured in poll_slow_events()) + increased by more than 10 times the polling interval. + This must be either coming out of hibernation, + or the user resetting the system clock. + - When a network operation fails, try to contact the reference site + only if it's more than 30 seconds after the last wakeup time. + + client/ + client_state.C,h + net_stats.C + +Rom 15 May 2007 + - MGR: Increase the connection timeout to one minute to account + for slow machines during boot-up. + + clientgui/ + MainDocument.cpp + +David 15 May 2007 + - client: change Win program launch to suppress hourglass cursor + - client simulator: add --cpu_sched_rr_only and --dual_dcf options + + client/ + app.h + app_start.C + client_types.C,h + cpu_sched.C + cs_scheduler.C + sim.C,h + work_fetch.C + +David 15 May 2007 + - user web: add + $s = '$s'; + at top of compiled translation files, + to allow re-ordering of format codes + (from H. Komori) + + html/inc/ + translation.inc + +Rom 16 May 2007 + - Tag for 5.9.11 release, all platforms + boinc_core_release_5_9_11 + + client/ + configure.ac + version.h + +David 17 May 2007 + - sort team-lookup results by avg credit desc + + html/user/ + team_lookup.php + +Charlie 17 May 2007 + - Mac: Change "GridRepublic Manager" to "GridRepublic Desktop" in + GridRepublic ReadMe file. + + mac_installer/ + GR-ReadMe.rtf + +Charlie 18 May 2007 + - Mac: New shell script make_GridRepublic.sh creates a GridRepublic + installer from a standard (unbranded) Mac BOINC installer plus + the GridRepublic branded resources: GridRepublic.icns, + GridRepublic.tiff, GR_ReadMe.rtf and skin files. + + mac_installer/ + make_GridRepublic.sh + +David 18 May 2007 + - client simulator: fix cpu_sched_rr_only bug + - boinc_cmd: canonicalize URLs + - user web: fix link to Top Teams + - back end: remove code related to alternate download dir + + client/ + cpu_sched.C + sim.C + html/ + inc/ + stats_sites.inc + user/ + stats.php + lib/ + boinc_cmd.C + sched/ + file_deleter.C + sched_config.C,h + +David 18 May 2007 + - fix bugs in job_times.php; it shows the correct mean and stdev now. + + html/ops/ + job_times.php + +Charlie 19 May 2007 + - Mac installer: if installer package includes a custom skin, set + preferences of all users to that skin. + + mac_installer/ + PostInstall.cpp + +Janus 20 May 2007 + - Added BEncoded lists to the Bittorrent serverside utility classes + + html/bt/inc/ + blist.php (new) + +Rom 21 May 2007 + - Bug Fix: fprintf is an ANSI function in Linux, convert Unicode + string to ANSI before writing them to sdterr. + - Bug Fix: Fix the abort button logic, VS 2005 was throwing some + useful warnings. + + clientgui/ + SkinManager.cpp + ViewWork.cpp + ViewWorkGrid.cpp + +David 21 May 2007 + - scheduler: fix bug that caused crash in anonymous platform case; + don't send result platform or version num if anon platform. + - back end: parse server status-related config elements + (wwww_host etc.) to avoid XML warnings + + sched/ + sched_config.C + sched_send.C + server_types.C + +David 21 May 2007 + - client: if anonymous platform, don't match platform/version + in lookup_app_version(); just match app + + client/ + client_state.C + +David 21 May 2007 + - feeder: the query change of 13 April broke the -random_order, + -priority_order, -priority_order_create_time,and -mod options + (from Nicolas Maire) + + sched/ + feeder.C + +Rom 21 May 2007 + - fixes #182 - System tray icon should be removed for both exit + scenarios. + + clientgui/ + BOINCBaseFrame.cpp + BOINCTaskBar.cpp + +David 21 May 2007 + - API: don't include config.h in a few places + + api/ + graphics_impl.C + texture.C + tgalib.C + +David 21 May 2007 + - feeder: fixed SQL query again + - start script: print error if host has no daemons + - client: fix bug if #CPUs changes during benchmark + + client/ + cs_benchmark.C + sched/ + feeder.C + start + +Janus 22 May 2007 + - Fixed missing version trackers in BInteger, BList classes + - Added BString class for BEncoded strings for the Bittorrent code + + html/bt/inc/ + blist.php + binteger.php + bstring.php (new) + +Rom 22 May 2007 + - fixes #85 - Both Grid based views and List based views are now + available. + + clientgui/ + AdvancedFrame.cpp, .h + Events.h + +Rom 22 May 2007 + - fixes #187 - Fix the initial refresh interval for the various + views. + + clientgui/ + AdvancedFrame.cpp, .h + +David 22 May 2007 + - scheduler: fix FCGI compile + - API: add files for version 6 graphics + + api/ + Makefile.am + graphics2.C (new) + graphics2_unix.C (new) + graphics2_win.C (new) + sched/ + Makefile.am + +David 22 May 2007 + api/ + graphics2.C + graphics2_win.C + +Charlie 22 May 2007 + - Manager: Fix crash bug in wxPieCtrl. + - Mac: Add list control sources back into XCode Project + (ViewTransfers.cpp,.h, ViewWork.cpp,.h,ViewProjects.cpp,.h) + - Mac: Revert XCode project, build scripts and build instructions to use + wxMac-2.6.3 as a temporary workaround to SimpleGUI drawing bug. + + clientgui/ + wxPieCtrl.cpp + mac_build/ + buildWxMac.sh + HowToBuildBOINC_XCode.rtf + setupForBOINC.sh + boinc.xcodeproj/ + project.pbxproj + +David 22 May 2007 + - lib/filesys: do timed retry of delete/rename on Unix as well as Win + - client: sleep 1 sec (not 60) before retry statefile write + - client: parse in workunit XML + - scheduler: better error messages if insert_wu_tags() fails + + api/ + graphics2_unix.C + client/ + client_state.C + client_types.C + lib/ + filesys.C + sched/ + sched_send.C + +Rom 23 May 2007 + - MGR: Make it as plain as day what the new menu item it geared + towards by calling it the accessible view. + + clientgui/ + AdvancedFrame.cpp + +Rom 23 May 2007 + - Tag for 5.9.12 release, all platforms + boinc_core_release_5_9_12 + + client/ + configure.ac + version.h + +Janus 23 May 2007 + - Added "IllegalArgumentException" class for use in the remainin BT code + - Also added the class which will be used to represent the contents of + a .torrent descriptor. + This class can generate (hopefully!) valid .torrents and register the file + that the torrent points to with the database for later tracking. + The constructor takes a list of webseeds (HTTP servers) as input together + with an URL where the tracker can be found - and of course the file that it + should generate data for. + + html/bt/inc/ + torrent.php (new) + illegalargumentexception.php (new) + +David 23 May 2007 + - client: unscrambled some of the #ifdefs in hostinfo_unix.C + In Linux case, if measured RAM size is negative, print some info. + + client/ + hostinfo_unix.C + +David 23 May 2007 + - client, Unix: always use 1 (rather than slot#) in ftok(). + Slot is already encoded in path. + - client, Linux: get memory size from /proc/meminfo + rather than sysconf() + + client/ + app_start.C + hostinfo_unix.C + +Jeff 23 May 2007 + - fixed a linkage problem whereby the fcgi_file_upload_handler was + linking to some non-fcgi versions of .o files. This was resulting + in segfaults. + - added an fcgi entry counter to the file_upload_handler + + sched/ + Makefile.am + file_upload_handler.C + +David 23 May 2007 + - debug version 6-style graphics on Windows. + New example app works now! + + api/ + graphics2.C,h + graphics2_util.C + graphics2_win.C + lib/ + util.C,h + +David 23 May 2007 + - debug version-6-style graphics on Unix + + api/ + Makefile + graphics2.h + graphics2_win.C + graphics2_util.C + graphics2_unix.C + lib/ + shmem.h + +Charlie 23 May 2007 + - Mac: Remove obsolete XCode project script phase for separate SG + build symbol table. + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 24 May 2007 + - Add a mechanism for a project to shut down gracefully. + If 1 is included in config.xml, + this gets send to clients, + and they display a "Project ended - OK to detach" message. + + client/ + client_state.C + client_types.C,h + scheduler_op.C + clientgui/ + VIewProjects.cpp + VIewProjectsGrid.cpp + lib/ + gui_rpc_client.h + gui_rpc_client_ops.C + gui_rpc_client_print.C + sched/ + main.C + sched_config.C,h + server_types.C + +David 24 May 2007 + - client, Windows: when making calls to get free disk space + (e.g. pGetDiskFreeSpaceEx()) + pass the path of the current directory instead of NULL. + Otherwise, if we're running as an unprivileted user + with no access to the root dir, + the call fails and reports zero free space. + + lib/ + filesys.C + +David 24 May 2007 + - renamed texfont.c to texfont.C to fix automake warning + + api/ + texfont.C (changed c to C) + Makefile.am + +David 26 May 2007 + - Add GUI RPC to set projects debts (short and long term). + Lets you set all of them at once, as suggested by Nicolas Alvarez. + fixes #131 + + client/ + gui_rpc_server_ops.C + html/user/ + sample_index.php + lib/ + boinc_cmd.C + gui_rpc_client.h + gui_rpc_client_ops.C + +David 27 May 2007 + - Manager: make some strings translatable, and fix them + + clientgui/ + sg_StatImageLoader.cpp + sg_ProjectsComponent.cpp + sg_ViewTabPage.cpp + DlgAdvPreferences Base.cpp + +Rytis 27 May 2007 + - Donations system (running via PayPal). + NOTE: DB updated needed. Documented in + http://boinc.berkeley.edu/trac/wiki/PayPalDonations + + db/ + schema.sql + html/user/ + currency.js + donate.php + donated.php + donation_ipn.php + donations.php + img/ + paypal_logo.png + +David 28 May 2007 + - Unix: 'make install' copies certificate authority file + to client directory + + client/ + Makefile.am + +David 28 May 2007 + - user web: host-merging logic was wrong for Intel CPUs + with MHz instead of GHz in their names. + - user web: it no hosts eligible for merging, say so + instead of showing blank table + + html/ + inc/ + host.inc + user/ + host_edit_form.php + +Rom 29 May 2007 + - fixes #207 - HTML entities in BOINC Manager have to be decoded + + BOINC Manager can now properly decode HTML entites for the + following elements: + + Projects Tab: + Project Name + User Name + Team Name + Work Tab: + Project Name + Application Name + Transfers Tab: + Project Name + Messages Tab: + Project Name + Disk Tab: + Project Name + - fixes #212 - Info in columns misaligned on switching views + - Properly restore which tab view the user left from when going + to the advanced view from the simple view + - Fix the problem that caused the manager to wait for 7 seconds + to display anything on initial startup. + - Store the various Grid/List persisted data seperately so that + the different header sizes don't cause problems. + + clientgui/ + AdvancedFrame.cpp + BOINCBaseView.cpp, .h + BOINCGridCtrl.cpp + ViewMessages.cpp, .h + ViewMessagesGrid.cpp, .h + ViewProjects.cpp, .h + ViewProjectsGrid.cpp, .h + ViewResources.cpp, .h + ViewStatistics.cpp, .h + ViewTransfers.cpp, .h + ViewTransfersGrid.cpp, .h + ViewWork.cpp, .h + ViewWorkGrid.cpp, .h + lib/ + gui_rpc_client_ops.C + +Rom 29 May 2007 + - Disable HtmlEntityEncode/HtmlEntityDecode on all platforms but + Windows for now. + - Change all references of mb_str() to c_str() in SkinManager.cpp + to avoid SIGILL's on Unicode environments. + - fixes #215: Customize the VBS script used to launch BOINC Manager + for each system we install on. + + clientgui/ + BOINCBaseView.cpp + SkinManager.cpp + win_build/installerv2/ + BOINC.ism + BOINCx64.ism + win_build/installerv2/redist/Windows/ + BOINC Manager.vbs (Deleted) + win_build/installerv2/redist/Windows/src/boinccas/ + boinccas.sln + boinccas95.vcproj + CACreateVBSShortcut.cpp, .h (Added) + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + +Rom 29 May 2007 + - Tag for 5.10.0 release, all platforms + boinc_core_release_5_10_0 + + client/ + configure.ac + version.h + +David 29 May 2007 + - client: add cmdline options --exit_before_start and --exit_after_finish. + This cause the core client to exit immediately before or after + running a job, + letting you examine the contents of the slot directory. + - scheduler: changed max # of CPUs used in daily_result_quota + limit from 4 to 8, and make it a compile-time parameter + - feeder/scheduler: make the number of work items in shared + memory configurable (in config.xml). + The element is + - feeder: make the size of the work item query configurable + (0 error results and no success results, + set its HR class to zero + From M.F. Somers. + + db/ + boinc_db.C,h + sched/ + sched_array.C + sched_hr.C,h + transitioner.C + +Rom 29 May 2007 + - fixes #220: 5.10.0 won't install on Win98 + - fixes #11: Installer installs autostart command when not + selected (Win9x) + + win_build/installerv2/redist/Windows/src/boinccas/ + boinccas.rc + boinccas95.vcproj + CACreateVBSShortcut.cpp + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + +Charlie 30 May 2007 + - Client: fix compile break. + - Mac: Fix substantial build breaks in reorganized hostinfo_unix.C. + + client/ + cs_cmdline.C + hostinfo_unix.C + +Rom 30 May 2007 + - MGR: _() is for static content, wxGetTranslation is for dynamic + content. + + clientgui/ + sg_StatImageLoader.cpp + +David 30 May 2007 + - fixed --help output of client and boinc_cmd + (from Frank Thomas) + Fixes #222 + + lib/ + boinc_cmd.C + client/ + cs_cmdline.C + +David 30 May 2007 + - user web: fix bug in host merge function + - core client: fix bug in set_debt() GUI RPC + - scheduler: some of the "quick checks" in scan_work_array() + are applicable to locality scheduling also, + so they should be moved to wu_is_infeasible(). + I did this for one: the check for one result + per user (or host) per WU. Should do for others. + + client/ + gui_rpc_server_ops.C + html/ + host_edit_action.php + host_edit_form.php + sched/ + sched_array.C + sched_send.C,h + +David 30 May 2007 + - user web: added new feature to merge hosts by name. + This is handy if you have a lot of hosts, + and every now and then they get a new host ID + (e.g. because you delete and reinstall BOINC). + You can now merge all of them with a single click. + + html/ + inc/ + host.inc + user/ + host_edit_action.php + merge_by_name.php (new) + hosts_user.php + +David 30 May 2007 + - add token protection to the previous checkin; + for prefs edit, don't demand token if only showing form. + (opt_out.php doesn't supply tokens) + + html/user/ + prefs_edit.php + merge_by_name.php + +David 30 May 2007 + - scheduler: add debugging msg for HR reject + + sched/ + sched_hr.C,h + sched_array.C + +Charlie 31 May 2007 + - Fix compiler warning. + + lib/ + boinc_cmd.C + +Rom 31 May 2007 + - MGR: Make sure get_cc_status is called only once a second. + Polling should be taken care of via MainDocument functions + to make sure that RPCs calls do not become excessive. + + clientgui/ + AccountManagerPropertiesPage.cpp + BOINCDialupManager.cpp + ProjectPropertiesPage.cpp + +David 31 May 2007 + - scheduler: move HR check to wu_is_infeasible() + In principle, a project can now use both + locality scheduling and homogeneous redundancy. + - scheduler: do HR check before deadline check, + since the latter is slower. + - scheduler: wu_is_infeasible() doesn't return a bitmap. + Change its return values to sequential numbers. + - scheduler: ignore and tags + + sched/ + sched_send.C,h + sched_array.C + sched_locality.C + server_types.C + +Rom 31 May 2007 + - MGR: Get rid of an exit(0) call since it is evil in Windows + programs. + + clientgui/ + MainDocument.cpp + +Rom 1 June 2007 + - WinSETUP: Add an exception handler to the VBS script so if the + user cancels the launch of BOINC Manager at startup the script + itself doesn't throw an error message. + + win_build/installerv2/redist/Windows/src/boinccas/ + boinccas.rc + CACreateVBSShortcut.cpp + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + +David 1 June 2007 + - Get memory measurements to work on Win64. + The format of a process descriptor had changed a little, + and the format of the VM stats part was completely changed. + I had to reverse engineer it - very unpleasant. + + lib/ + diagnostics_win.h + procinfo.h + +David 1 June 2007 + - client: a few more network_status_debug messages + + client/ + client_state.C + net_stats.C + +David 3 June 2007 + - client: allow suspension of non-CPU-intensive project or app + (undoes checkin of 25 Jan 2005; I don't remember why we + made that change. Next time put in checkin notes!) + - client: Linux: show error msg if can't open /proc/cpuinfo + or /proc/meminfo; set memory size of 1 GB in latter case. + Remove duplicate code that read /proc/meminfo + - 'start' script; handle 0 in tasks and daemon + elements of config.xml (can't handle , however). + + client/ + gui_rpc_server_ops.C + hostinfo_unix.C + sched/ + feeder.C + start + +David 3 June 2007 + - client: fix inconsistent integer benchmarks on Windows + with multicore machines. I don't know why this happened, + but I fixed it by doing integer benchmarks only on CPU zero. + This is OK since cores have separate integer units + (but not necessarily FP units) + Also shortened benchmark from 60 sec to 30 sec. + + client/ + cs_benchmark.C + +Rytis 5 June 2007 + - user web: add a separate preference for private message notification + emails. + NOTE: needs DB update, see html/ops/db_update.php + + db/ + schema.sql + html/ + inc/ + forum_pm.inc + forum_user.inc + ops/ + db_update.php + user/ + edit_forum_preferences_action.php + edit_forum_preferences_form.php + +David 4 June 2007 + - Client (Unix) show process exit codes as negative numbers also + (e.g., to show BOINC error codes correctly) + - get_project_config.php: add an element that lists the + platforms supported by this project + (i.e. for which there's a non-deprecated app version) + Cache this info in a file (cache/platform_list.xml) + so that it will be available even when the project's DB is down. + - Rename sample_get_project_config.php to get_project_config.php; + a project should no longer need its own version of this file. + Change setup_project accordingly. + + client/ + app_control.C + html/user/ + get_project_config.php (new) + sample_get_project_config.php (removed) + py/Boinc/ + setup_project.py + +Rom 4 June 2007 + - fixes #221: Win64 - attach/syncronice AMS crash Manager. + + The manager was getting stuck in an infinite loop since a + bool wasn't being explicitly initialized to false. + + clientgui/ + AccountManagerProcessingPage.cpp + +Rom 4 June 2007 + - Tag for 5.10.1 release, all platforms + boinc_core_release_5_10_1 + + client/ + configure.ac + version.h + +Rom 5 June 2007 + - MGR: Bug Fix for suspend/resume operations not updating + in the UI after the user selected operation. + + lib/ + gui_rpc_client_ops.C + +Rom 4 June 2007 + - Tag for 5.10.2 release, all platforms + boinc_core_release_5_10_2 + + client/ + configure.ac + version.h + +Charlie 6 June 2007 + - Mac: Minor fix to error handling when setting permissions. + - Mac: Create "Uninstall BOINC" application, modify build scripts + to include it in release package with BOINC Manager. + - Mac: Fix a bug in release_GridRepublic.sh build script which + created a bogus " BOINC Data/locale" directory (with a bad + leading space character.) + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + Uninstaller-Info.plist (new) + mac_installer/ + uninstall.cpp (new) + make_GridRepublic.sh + release_GridRepublic.sh + release_boinc.sh + GR-ReadMe.rtf + ReadMe.rtf + clientgui/ + mac/ + SetupSecurity.cpp + SetVersion.C + +David 6 June 2007 + - new elements in get_project_config.php + confuse the client because their element + gets parsed as the project name. + Work around by changing to . + + Note: here (and everywhere else) if we get an unparsed XML tag + we should skip to past the close tag. + I'll put this in soon. + + html/user/ + get_project_config.php + +Rom 6 June 2007 + - WinSETUP: The VBS custom action should delete the existing + VBS script when executing in uninstall mode. + + win_build/installerv2/redist/Windows/src/boinccas/ + boinccas.rc + CACreateVBSShortcut.cpp + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + +Janus 6 June 2007 + - Fixed a small display error on the pending credit page (the + workunitid-column was showing the resultid for the result. + + html/user/ + pending.php + +Charlie 6 June 2007 + - Mac: Fix a minor bug which caused an assert in backtrace code. + - Mac: Define NDEBUG in all projects for all deployment builds. + + lib/ + mac/ + mac_backtrace.C + QBacktrace.c + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Rom 7 June 2007 + - WinSETUP: The VBS custom action should delete the existing + VBS script in the various uninstall modes. + + win_build/installerv2/redist/Windows/src/boinccas/ + boinccas.rc + CACreateVBSShortcut.cpp, .h + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + +Charlie 7 June 2007 + - Mac: Further work on "Uninstall BOINC" application: use various + techniques to try to locate BOINC Manager in non-standard + directories, use branding-independent search techniques. + to include it in release package with BOINC Manager. + - Mac: Update visible copyright date from 2006 to 2007. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + Uninstaller-Info.plist + English.lproj/ + InfoPlist.strings + mac_installer/ + uninstall.cpp + make_GridRepublic.sh + release_GridRepublic.sh + +Rom 7 June 2007 + - fixes #241: BOINC Manager should only display one of each project, + no matter how many time you switch to and from the page. + + clientgui/ + ProjectInfoPage.cpp, .h + +David 8 June 2007 + - rename BOINC_DIAG_USEDEFALUTS (??) to BOINC_DIAG_DEFAULTS + + api/ + boinc_api.C + lib/ + diagnostics.h + +David 8 June 2007 + - API: added boinc_register_timer_callback() for V6 graphics. + This lets the app do things + (e.g. updated shared memory for graphics) every second. + - API: change signature of boinc_worker_thread_cpu() + - API: rename worker_timer() to timer_handler() + - API (win): got rid of timer_quit_event (not used) + - API (version 6 graphics): removed extern C stuff + - client: improved the handling of unrecognized XML + Old: suppose we have + foobar + + blah + + where "" is unrecognized. + We'd skip the , but parse the within it. + This wrong. + New: skip the entire unrecognized element + NOTE: I implemented this in the new parser (XML_PARSER) + and added it for everything that uses XML_PARSER. + The old parser still isn't quite right: + it will skip until the next , + but not necessarily the matching instance of that tag. + - client: added error messages for unparsed XML in several places + - client/lib: use "else-less" syntax in XML parsing code + + api/ + boinc_api.C,h + graphics2.h + greaphic2_win.C + client/ + acct_mgr.C + cs_statefile + gui_rpc_server_ops.C + log_flags.C + net_stats.C + lib/ + app_ipc.C + gui_rpc_client_ops.C + parse.C,h + prefs.C + +David 8 June 2007 + - compile fix + + api/ + graphics_api.C + +Charlie 8 June 2007 + - Mac: Add application icons to installer, uninstaller; add + "are you sure?" dialog to uninstaller. Fix installer + copyright and version strings. + + clientgui/ + res/ + MacInstaller.icns (new) + MacUninstaller.icns (new) + GR_install.icns (new) + GR_uninstall.icns (new) + mac_build/ + boinc.xcodeproj/ + project.pbxproj + Uninstaller-Info.plist + Installer-Info.plist + English.lproj/ + InfoPlist.strings + mac_installer/ + uninstall.cpp + make_GridRepublic.sh + release_GridRepublic.sh + +Rom 8 June 2007 + - fixes #237 - current BM fails to build with wxWidgets + unicode variant + (Applied Frank Thomas's patch) + + clientgui/ + SkinManager.cpp + +David 8 June 2007 + - fix bugs introduced by recent XML changes + + lib/ + gui_rpc_client_ops.C + parse.C + prefs.C + +Rom 8 June 2007 + - Tag for 5.10.3 release, all platforms + boinc_core_release_5_10_3 + + client/ + configure.ac + version.h + +David 8 June 2007 + - sched compile fix + + sched/ + server_types.C + +Charlie 8 June 2007 + - Mac: Better application icons for installer, uninstaller. + - Mac: move uninstaller, COPYING and COPYRIGHT files to a + subdirectory in Manager distributions. + + clientgui/ + res/ + MacInstaller.icns + MacUninstaller.icns + GR_install.icns + GR_uninstall.icns + mac_installer/ + release_boinc.sh + make_GridRepublic.sh + release_GridRepublic.sh + +David 9 June 2007 + - client: fixed bug in prefs parsing + + lib + prefs.C + +Rom 8 June 2007 + - Tag for 5.10.4 release, all platforms + boinc_core_release_5_10_4 + + client/ + configure.ac + version.h + +David 11 June 2007 + - manager: fix bug in parsing of all-projects list + (caused Wizard list to be empty) + - manager: change (web) to WWW + + client/ + acct_mgr.C + cs_statefile.C + clientgui/ + ProjectListCtrl.cpp + lib/ + gui_rpc_client_ops.C + +Janus 11 June 2007 + - Added checks.php containin common code between the bittorrent tracker + and the scraping mechanism. + - Fixed some of the SVN properties for the BT-related files. + + html/bt/inc + checks.php (new) + +David 11 June 2007 + - client: if statefile has an app version an unknown platform, + change it to the primary platform. + The probably cause of this is that the user switched to + a 64-bit client, then back to the 32-bit client. + If we reject the app version, it would e.g. cause CPDN + WUs to get aborted in the middle. + + client/ + cs_statefile.C + +David 11 June 2007 + - change new XML parser to handle XML comments () + + client/ + log_flags.C + lib/ + parse.C,h + +David 11 June 2007 + - client: enforce_schedule(): if try to preempt a + process that's not running, at least mark it as preempted. + (this should never happen in principle) + - API: compile fix for Mac + + api/ + graphics2_unix.C + client/ + cpu_sched.C + +David 11 June 2007 + - Project initialization: create project home page + and schedulers.txt file in a way that will work + with UMTS ISPs (which strip out comments) + + html/user/ + sample_index.php + py/Boinc/ + setup_project.py + +Rom 11 June 2007 + - Tag for 5.10.5 release, all platforms + boinc_core_release_5_10_5 + + client/ + configure.ac + version.h + +Charlie 12 June 2007 + - Mac: Installer writes all_projects_list.xml file to BOINC + Data directory unless it already contains one. This + avoids overwriting a newer project list with an older one. + + mac_installer/ + PostInstall.cpp + release_boinc.sh + release_GridRepublic.sh + +David 12 June 2007 + - client: fetch all-projects list at startup if it doesn't exist + - client: if result in statefile is labeled with unsupported platform, + set its platform to primary + (this completes the fix of 11 June, hopefully fixes #262) + + client/ + client_state.C + cs_statefile.C + +David 12 June 2007 + - client: when I changed the length of benchmark intervals + from 20 to 10 seconds, this broke things on ultra-slow CPUs. + I think this is because a single loop of the FP + benchmark took so long that the end time of the int + benchmark had already come and gone. + Fixed this (I hope) by reducing the loop length + by a factor of 10. + + client/ + cs_benchmark.C + dhrystone.C + whetstone.C + +David 12 June 2007 + - API: initialize all fields on BOINC_OPTIONS. + Fixes a bug that caused crash on 64bit Linux + (from M.F. Somers) + + api/ + boinc_api.h + +Rom 12 June 2007 + - MGR: If the screen resolution is too small for the Simple GUI + switch to the Advanced GUI automatically. + - MGR: If a screen reader is detected, switch to the Advanced + GUI list view automatically. + + clientgui/ + AdvancedFrame.cpp + BOINCGUIApp.cpp + +Rom 12 June 2007 + - MGR: Only detect if the host name is local once per connection. + + clientgui/ + MainDocument.cpp, .h + +David 12 June 2007 + - scheduler: add no_darwin_6 option + (don't send work to Mac OS X 10.2 or earlier). + This used to be #ifdef in by Einstein@home. + - scheduler: add no_amd_k6 option + (don't send work to AMD K6 CPUs) + + sched/ + handle_request.C + sched_config.C,h + +Janus 12 June 2007 + - Added an index page giving clues about potential misconfigurations in the BT + serverside setup. Once the remaining parts of the code are in place it should + be possible to use this page as a guide on where to look for any errors. + + html/bt/ + index.php (new) + +Charlie 12 June 2007 + - Mac: Exit Client if launched by Manager and Manager crashed. + - Sandbox: clean up authentication logic for privileged operations + (attach, detach, reset, etc.), fixing bugs. + - Mac Sandbox: free authorization after authenticating. + - Mac: Add graphics2_util.C to XCode Project for libboinc_api.a. + - Mac: Fix bug in XCode project which sometimes overwrote + symbol table files with stripped application. + + client/ + cs_prefs.C + clientgui/ + MainDocument.cpp + mac/ + MacGUI.cpp + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Rom 13 June 2007 + - Tag for 5.10.6 release, all platforms + boinc_core_release_5_10_6 + + client/ + configure.ac + version.h + +David 13 June 2007 + - API: XML parsing glitch caused apps to always run standalone, + not report CPU time etc. + + lib/ + app_ipc.C + prefs.C + +David 13 June 2007 + - API: set timer thread stack size to 16KB + - Scheduler: for no_amd_k6 option, check CPU vendor as well as model + + sched/ + handle_request.C + api/ + boinc_api.C + +David 13 June 2007 + - parse_str(): remove unnecessary checks + - client: allow app_info.xml to have multiple versions + + lib/ + parse.C + client/ + client_state.C + scheduler_op.C + +David 13 June 2007 + - Added project.xml entry for Playstation 3 / Linux + - Server status page: if the scheduler isn't running, + it's almost certainly because "stop_sched" is present, + not because Apache isn't running. + Get rid of the use of "sched_pid". + + tools/ + project.xml + html/ops/ + sample_server_status.php + +David 14 June 2007 + - Scheduler: changed the option + from a bool to an int: + 0 = no HR + 1 = HR with fine-grained classification (from MF Somers) + 2 = HR with coarse-grained classification (from WCG) + + Note: numerical equivalence depends on your application + and how it's compiled. Some apps may need classifications + other than these two. Contact me if so. + + sched/ + sched_hr.C + sched_config.C,h + + +Rom 14 June 2007 + - Branch for 5.10 release, all platforms + boinc_core_release_5_10 + +David 14 June 2007 + - scheduler: support per-app HR type, specified in the DB; + this supercedes the global HR type specified in config.xml + - API: eliminate small memory leak + (if reread app init file, free malloc'd project prefs from last time) + - file upload handler: parse to avoid error msg + + lib/ + app_ipc.C + sched/ + file_upload_handler.C + sched_array.C + sched_hr.C,h + sched_send.C,h + +David 14 June 2007 + - GUI RPC: add graphics_exec_path and slot_path fields to RESULT. + These let the Manager run the graphics app. + Graphics apps have physical name *v6graphics* + - Separated ACTIVE_TASK::write() and ACTIVE_TASK::write_gui(). + These need to write largely disjoint set of items. + - code cleanup: remove a zillion "else"s in parsing code + - code cleanup: change a zillion match_tag(buf, "" + to parse_bool(buf, "foo") + + client/ + app.C,h + client_state.C + client_types.C,h + lib/ + gui_rpc_client.h + gui_rpc_client_ops.C + sched/ + server_types.C + +David 14 June 2007 + - user web: added Burma to country list + - admin web: removed deprecated create-account scripts + + html/ + inc/ + cache.inc + country.inc + ops/ + create_account_form.php (removed) + create_account_action.php (removed) + show_log.php + +Rom 16 June 2007 + - WINSETUP: Remove the VBS Script custom action and put back + the shortcut to BOINC Manager. + + win_build/installerv2/ + BOINC.ism + BOINCx64.ism + +Rom 16 June 2007 + - MGR: Revert back out the change to cache the host type + (local/remote). Somehow it was messing up controlling + remote machines. + + clientgui/ + MainDocument.cpp, .h + +Janus 17 June 2007 + - Added the .torrent-generator which will (at some point) allow + projects to dynamically generate .torrent-data for their files. + + html/bt/ + torrent_cache.php (new) + +Rom 17 June 2007 + - MGR: Check initial function to launch v6graphics if it exists + in the slot directory. + + NOTE: Only implemented in the advanced view list controls + for now. + + clientgui/ + Events.h + ViewWork.cpp, .h + +Charlie 19 June 2007 + - Mac: Fix visible copyright and version strings in installer and + uninstaller. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Rom 19 June 2007 + - Set version number to 5.11.0 to start off the 6.0 development cycle. + + / + configure.ac + version.h + +David 19 June 2007 + - manager: v6 graphics fixes. doesn't work yet + + clientgui/ + ViewWork.cpp + lib/ + util.C,h + +Rom 19 June 2007 + - MGR: Misc v6 graphics fixes + + clientgui/ + sg_ViewTabPage.cpp + ViewWork.cpp + ViewWorkGrid.cpp + +David 19 June 2007 + - manager: v6 graphics fixes. doesn't work yet + + client/ + client_state.C + lib/ + gui_rpc_client_ops.C + +David 19 June 2007 + - manager: v6 graphics fixes. + Works now, with a few problems + + clientgui/ + ViewWork.cpp + lib/ + util.C + +David 20 June 2007 + - back end: make it possible to run multiple instances of make_work, + for WUs of different applications + (need to count unsent results separately by app) + - feeder: major code cleanup + - application interleaving (for -allapps) is now done + by building a static slot-to-app array "app_indices". + Fractional weights now work correctly. + - enum sizes (for -allapps) are now precomputed + in an array "enum_sizes" + - rename "found" (confusing!!) to "collision" + - swapped the names of mod_select_clause and select_clause, + to reflect what they actually are + - file deleter: in finding oldest WU, order by id instead of create_time + (there's no index on create_time) + - user web: show "merge by name" only to host owner + - add cpu_scheduler_period() member to GLOBAL_PREFS + (so you don't have to multiply by 60 everywhere) + - infinite() fix for HPUX + + client/ + cpu_sched.C + cs_cmdline.C + cs_scheduler.C + rrsim_test.C + sim.C + work_fetch.C + html/user/ + hosts_user.php + lib/ + parse.h + prefs.h + sched/ + feeder.C + file_deleter.C + make_work.C + sample_work_generator.C + sched_util.C,h + tools/ + updater.C + +David 20 June 2007 + - feeder: more code cleanup + + sched/ + feeder.C + +David 20 June 2007 + - added "census", a program that counts up how much RAC + there is for each HR class, and writes it to a file. + This will be used soon for HR support in the feeder. + - split the HR code into hr.C,h (stuff used by both census and scheduler) + and sched_hr.C (stuff used only by the scheduler) + - database: change DB_CREDITED_JOB to treat workunitid + as a double (which it is) rather than a long. + BTW, long == int. + - fixed lots of compile warnings in the server code + + db/ + boinc_db.C,h + lib/ + boinc_cmd.C + miofile.C + util.C + sched/ + Makefile.am + census.C (new) + feeder.C + file_deleter.C + file_upload_handler.C + handle_request.C + hr.C,h (new) + main.C + sample_assimilator.C + sample_work_generator.C + sched_array.C + sched_hr.C,h + sched_send.C + server_types.C + transitioner.C + validator.C + +David 20 June 2007 + - random compile warning fixes + + client/ + auto_update.C + file_names.h + scheduler_op.C + time_stats.C + lib/ + util.C,h + tools/ + create_work.C + updater.C + +Janus 21 June 2007 + - Added the scraping mechanism for Bittorrent support + (not all Bittorrent clients actually support this, + but those that do get an increased performance boost and + don't have to contact the more expensive announce.php + nearly as often as those that do not support it. + Since it hasn't yet been decided which BT library we + will be using I just added scraping anyways. + + html/bt/ + scrape.php (new) + +David 21 June 2007 + - user web: fixed bug in private-message code + - back end: moved HR_INFO to a separate file; + did some debugging in HR code + + html/ + inc/ + forum_user.inc + util.inc + user/ + forum_pm.php + sched/ + Makefile.am + census.C + feeder.C + hr.C,h + hr_info.C,h (new) + +Charlie 22 June 2007 + Sandbox: fix switcher call to kill to eliminate error + message and to correctly send SIGKILL instead of + SIGTERM. + + client/ + app_start.C + +David 22 June 2007 + - client: when you read a file into a string with: + loop + read a line X + S += X + it performs real bad if the file is large + (allocation of std::string seems to stupid) + So I changed this to + find file size n + read file into malloced buf size n + S = buf + free buf + - lib: moved functions to appropriate file + + client/ + acct_setup.C + cs_prefs.C + lib/ + parse.C,h + str_util.C,h + util.C,h + +David 22 June 2007 + - compile fixes for Win + + client/ + acct_setup.C + cs_prefs.C + cs_trickle.C + lib/ + filesys.C + str_util.C,h + util.C,h + tools/ + updater.C + win_build/ + sim.vcproj + +David 22 June 2007 + - client: fix two XML parsing bugs: + 1) XML_PARSER::parse_int() and parse_double() wouldn't parse + , and in fact would consume the , + so that the resulting skip_unexpected() + would skip the entire rest of the document. + + This was exercised because my checking of 17 Apr + set the default for work_buf_min_days as "" rather than 0. + + 2) XML_PARSER::scan_tag() was removing spaces, + so parsed as venuename="home" + This actually didn't do any damage. + + lib/ + parse.C + prefs.C + +David 22 June 2007 + - client: read only first 63KB of stderr.txt + - user web: default work_buf_min_days is 0, not "" + + html/inc/ + prefs.inc + client/ + app_control.C + +David 22 June 2007 + - feeder: added a new enumerator of DB_WORK_ITEM that, + on successive calls, scans through ALL the sendable + jobs satisfying the select clause + (it does this by ID order, so there's no order clause) + This is used for HR, so that if a job has been committed + to an HR class, we eventually get it. + + With extremely minimal testing, the new HR stuff seems to work. + + db/ + boinc_db.C,h + sched/ + feeder.C + sample_work_generator.C + server_types.C + +Charlie 23 June 2007 + Mac: if (log_flags.state_debug) print debugging info when rename + of client_state_next.xml to client_state.xml fails + Sandbox: fix build break. + + client/ + cs_statefile.C + lib/ + filesys.C + +Charlie 24 June 2007 + Mac: Fix bugs when user chooses Quit from menubar icon menu and + then cancels in confirmation dialog. + Mac: Modify XCode project not to copy header files into Manager bundle. + + clientgui/ + BOINCGUIApp.cpp + BOINCTaskBar.cpp + mac/ + MacSysMenu.cpp + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Charlie 25 June 2007 + CC: Add logic to scheduler, etc. for systems which limit the number + of shared memory segments per process and / or system-wide. + Mac OS X has default limits of 8 shmem segments per process, 32 + max system wide. + - Don't treat failure to allocate & attach to shared memory as a + computation error. + - Destroy shared memory segments associated with all tasks which + exit, not just those with a finished file. This frees up a + segment for use by another task. + - If we run out of shared memory, start a 10 second timer during + which don't try to run tasks unless they are already attached + to shared memory (suspended tasks left in memory qualify.) + - If a task is waiting for shared memory to become available, + display this in the Manager's tasks pane. + - Added a new log flag stress_shmem_debug for testing scheduling + logic when we run out of shared memory. + + QUESTIONS for further development: + - Note that it is quite easy to run out of shared memory segments if + the leave-suspended-tasks-in-memory option is set. (The shared + memory channel must remain active for heartbeats and to tell the + task when to resume.) + - Should we override this option if we run out of shared memory + segments? + - What about tasks left in RAM because they don't checkpoint? + - If BOINC crashes, its shared memory is not removed. In some + cases, when BOINC is relaunched it will use the same key and + so can re-attach to the orphaned segments, but this won't always + happen. This can cause problems with the system-wide limits. + We can't mark the segment for removal when we create it, because + doing so (by calling shmctl with IPC_RMID) would remove its key + so the project application couldn't attach to it. + But we could do this safely after the first successful response + from the project application. Should we make this change? + + client/ + app.C,h + app_control.C + app_start.C + client_state.C,h + cpu_sched.C + log_flags.C,h + clientgui/ + ViewWork.cpp + ViewWorkGrid.cpp + lib/ + shmem.C,h + gui_rpc_client.h + gui_rpc_client_ops.C + +Charlie 25 June 2007 + Mac: Fix bugs in XCode script phases which create visible copyright and + version strings in installer and uninstaller. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 25 June 2007 + - Manager: if a job is running EDF, show "high priority" in status + - compile fixes for Charlie's next-to-last checkin + + client/ + client_state.h + cpu_sched.C + sim.h + sim_util.C + clientgui/ + ViewWork.cpp + ViewWorkGrid.cpp + +David 25 June 2007 + - added hr_info.* + + sched/ + hr_info.C,h + +Charlie 25 June 2007 + CC: More scheduler tweaks for shared memory: clear retry_shmem_time + when releasing shared memory, value of stress_shmem_debug log + flag sets number of shared memory segments to make unavailable. + Fix bug: reversed comparison of retry_shmem_time. + + client/ + app.C + client_state.C + cpu_sched.C + log_flags.C,h + lib/ + shmem.C,h + +David 25 June 2007 + - manager: improve wording in advanced prefs dialog + + clientgui/ + DlgAdvPreferencesBase.cpp,h + +David 25 June 2007 + - manager and client: fixed bug where only one day-of-week + preference would be parsed. + + lib/ + prefs.C,h + +David 25 June 2007 + - add new stats site + - back end: use boinc_mkdir to get permissions right + + html/inc/ + stats_sites.inc + lib/ + filesys.C + sched/ + db_dump.C + db_purge.C + feeder.C + +Charlie 27 June 2007 + CC: Problem: On Mac OS X and some other systems, shared memory + segments remain allocated unless the owner has marked them + for destruction with shmctl(id, IPC_RMID, 0), causing shared + memory leaks if BOINC crashes or exits suddenly (e.g., due + to being called with --exit_after_finish). + But on Mac OS X and some other systems, this shmctl command + also prevents any more processes from attaching. + Solution: On *nix systems, BOINC marks shared memory segment + for destruction as soon as we receive first message or trickle + down from the project application, so BOINC has confirmation + that the task has attached. The segment will automatically be + destroyed after all attached processes have detached or exit. + + client/ + app.C,h + app_control.C + app_start.C + lib/ + shmem.C + +David 27 June 2007 + - user web: host merge: skip disjoint-time check + if one of the hosts has zero credit + + html/inc/ + host.inc + +David 27 June 2007 + - user web: host merge: don't require OS names to match exactly; + OK if both contain "Windows", "Linux", "SunOS" or "Darwin". + + html/inc/ + host.inc + +David 27 June 2007 + - client: allow up to a day (rather than work_buf_min()) to elapsed + between completing a result and reporting it. + - back end: added config option: + Web server user name (used by file deleter) + - back end: don't report unparsed XML in config.xml as an error + + client/ + app.h + work_fetch.C + lib/ + shmem.C + sched/ + file_deleter.C + file_upload_handler.C + sched_config.C,h + show_shmem.C + +Matt 27 June 2007 + - added strip_bbcode tags and updated show_uotd function so that + front page doesn't get clobbered when showing summary of UOTD + that contains obnoxiously large graphics + + html/inc/ + util.inc + uotd.inc + +Rom 27 June 2007 + - DIAG: Visual Studio 2005 enforces parameter checking, and if + a parameter is wrong it just terminates the process with + a 0xc000000d. This is a shot in the dark but I think it + is a good guess as to what is happening right now. + + lib/ + diagnostics.C, .h + diagnostics_win.C + +David 27 June 2007 + - user web: host merge: consider CPUs compatible if both + are vendor "AuthenticAMD". + + html/inc/ + host.inc + +Charlie 28 June 2007 + CC: Back out my shared memory changes of 27 June because it might + prevent compound applications from attaching to the shared + memory as needed. Instead, add code to delete_old_slot_dirs() + to check for and delete the possible orphan shared memory + segment at BOINC startup for each slot directories with an + init_data.xml file. + + client/ + app.C,h + app_control.C + app_start.C + file_names.C + lib/ + shmem.C + +David 28 June 2007 + - API: set fraction_done to 1 in boinc_finish() + + api/ + boinc_api.C + +David 29 June 2007 + - client: code cleanup. Was looking for fopen()s without fclose(), + didn't find any. + + client/ + cs_scheduler.C + app_start.C + time_stats.C + +Rom 29 June 2007 + - WIN: Update 2003 project files + - WIN: Re-introduce manifests for 2003 built files. + + / + + +Charlie 29 June 2007 + Mac: Update user-visible copyright dates from 2006 to 2007 + + clientgui/ + mac/ + SetVersion.C + +David 30 June 2007 + - GUI RPC: debug set_debts handler. Fixes #131 + + client/ + gui_rpc_server_ops.C + +Rom 2 July 2007 + - MGR: Adjust menu names. + + clientgui/ + AdvancedFrame.cpp + Events.h + +Rom 2 July 2007 + - CC: Remove calls to kill_all_children. + + client/ + app_control.C + +David 2 July 2007 + - client: fix bug that broke option + - client and Manager: attempts to fix problems + if is set + + client/ + gui_rpc_server_ops.C + clientgui/ + MainDocument.cpp + lib/ + gui_rpc_client_ops.C + md5_file.C + +David 2 July 2007 + - client: add config flag + - GUI RPC: add disallow_attach and simple_gui_only flags + to CC_STATUS structure + + client/ + gui_rpc_server_ops.C + log_flags.C,h + html/inc/ + stats_sites.inc + lib/ + gui_rpc_client.h + gui_rpc_client_ops.C + +Bruce 3 July 2007 + - Einstein@Home specific hack to locality scheduler. + If deleting a file with name matching pattern h1_XXXX.XX_S5R22 + generate corresponding l1_XXXX.XX_S5R2 pattern and delete it also. + This is needed because E@H is doing file locality scheduling with + PAIRS h1_... and l1_... of files. Yuk. I am not proud of this. + + sched/ + sched_locality.C + +David 3 July 2007 + - Added program sched/sched_driver.C. + This generates a sequence of scheduler requests, + with host info taken from a file, + that you can feed into the scheduler (cgi --batch) + to simulate things like homogeneous redundancy + - Added args to XML_PARSER::skip_unexpected() to you can say + whether to write messages to stderr for unparsed stuff. + This is set to true if log_flags.unparsed_xml is set (client) + or if debug_level is 3 (server) + - removed references to $(LIBRSA) in Makefile.am's + + client/ + Makefile.am + acct_mgr.C + gui_rpc_server_ops.C + log_flags.C + lib/ + Makefile.am + app_ipc.C + gui_rpc_client_ops.C + parse.C,h + prefs.C + sched/ + Makefile.am + sched_config.C + sched_driver.C + +Janus 3 July 2007 + - Added the bittorrent tracker code + - Also added a simple file filter that accepts any file present in the + download directory for tracking (or whatever directory is set to be the + data directory). + FileFilter is the class to subclass if you need some kind of special rules + on which files to allow your tracker to track. (Some projects may want to + disallow tracking of workunit files while allowing tracking of application + files etc.) + Once the base system has been done there'll be different file filters to + chose from. + + html/bt/ + announce.php (new) + html/bt/filters/ (new) + filefilter.php (new) + allfilesfilefilter.php (new) + +David 4 July 2007 + - scheduler: the "max_wus_in_progress" option only worked if + "resend_lost_results" option was used also + (because the count of in-progress results was + based from the DB query used by resend_lost_results). + + Fix: initialize the count of in-progress results to + the list provided in the scheduler request. + - scheduler: add "--mark_jobs_done" flag; if set, all jobs + sent are marked as done, and their WUs enabled for transition. + This is used for simulation purposes, + in conjunction with sched_driver. + - scheduler: if --batch option is set, don't check RPC seqnos + (for simulation purposes) + + sched/ + Makefile.am + handle_request.C + main.C,h + sched_driver.C + sched_send.C + server_types.h + +Janus 4 July 2007 + - Made the top hosts page translation aware + (which I should have done 2-3 years ago...) + It now uses the same caching mechanism as the other two top pages. + Projects applying this update should consider clearing + their cache directory for immediate effects - + or just wait a short while and let the cache do its own work. + + html/ + user/ + top_hosts.php + languages/translations/ + en.po + +Rytis 5 July 2007 + - user web: make sure that all links that have URL_BASE have slashes after + it. This makes a slash in the end of URL_BASE definition in + project/project.inc no longer necessary. + + html/ + + +David 5 July 2007 + - feeder: add debugging feature: + if you send it a USR1 signal, it writes a summary + of the shmem contents and HR state to the log file + + sched/ + feeder.C + hr_info.C,h + sched_shmem.C,h + show_shmem.C + +David 6 July 2007 + - Back end: add a feature for "blackballing" hosts. + To do this, set host.max_results_day to -1. + If you do this, scheduler requests from that host + will get an error message, and will otherwise be ignored + (no jobs in or out, no trickles). + - Scheduler: send_message() should be called ONLY if you're + not going to call handle_request(); + otherwise we'll write two separate replies. + To fix this, I added a separate function (send_error_message()) + that can be called within handle_request() + to deal with error situations. + - Scheduler: moved debug_sched() to main.C + - Scheduler: moved logic to send "delete file" commands + out of handle_request() into a separate function, + send_file_deletes() in sched_locality.C. + Remove #ifdef EINSTEIN_AT_HOMEs; maybe someday another project + will use locality scheduling! + + db/ + boinc_db.h + sched/ + handle_request.C + main.C,h + sched_locality.C,h + sched_send.C + server_types.C,h + transitioner.C + +Rom 6 July 2007 + - Additional support for VS Express Edition. + + clientlib/win/ + boinc_dll.rc + +David 6 July 2007 + - added sample host-distribution file for HR + + sched/ + sample_hr_info.txt + +David 6 July 2007 + - client: change order so that backoff because of no work + happens before server-requested backoff (eliminate double messages) + + client/ + cs_scheduler.C + scheduler_op.C + html/inc/ + stats_sites.inc + sched/ + hr_info.C + + +David 6 July 2007 + - bug fix to the above + + client/ + scheduler_op.C + +David 7 July 2007 + - Client: radically faster (on Win) version of dir_size() + (from John McLeod) + + lib/ + filesys.C + +Janus 8 July 2007 + - Fixed an issue causing people to appear anonymous in the top hosts + pages on projects with no automatic MySQL connection set up. + + html/user/ + top_hosts.php + +David 9 July 2007 + - client: add "dont_contact_ref_site" config flag; + suppresses connectivity-testing connections to google.com + + client/ + log_flags.C,h + net_stats.C + +Rom 9 July 2007 + - MGR: Workaround a crash issue by only dealing with the frame + pointer if the manager is told to quit by the cc. + + clientgui/ + MainDocument.cpp + +David 9 July 2007 + - feeder: simplified DB query + - make_project: remove space after URL in schedulers.txt + + db/ + boinc_db.C + constraints.sql + py/Boinc/ + setup_project.py + +Charlie 10 July 2007 + Mac: log_flags.state_debug prints errno when rename of + client_state_next.xml to client_state.xml fails + + client/ + cs_statefile.C + +David 10 July 2007 + - client: run_if_user_active pref applies to both + network transfers and CPU usage. + (Note: maybe we should have a separate pref for this). + + client/ + client_state.C,h + cs_prefs.C + +David 10 July 2007 + - scheduler: FCGI version would crash if stop_sched is set + + sched/ + main.C + +David 10 July 2007 + - added a stats site + - added return value for copy_stream() + + html/inc/ + stats_sites.inc + lib/ + parse.C,h + api/gutil.C + +Charlie 11 July 2007 + Mac Installer: use sh shell (bash) instead of csh for + postinstall and postupgrade scripts. + Mac Installer: installer creates skins directory if it + doesn't already exist. + MGR: Check correct menu item in View menu when launching Manager + or when returning from Simple View. + + clientgui/ + AdvancedFrame.cpp + mac_installer/ + postinstall + postupgrade + release_boinc.sh + release_GridRepublic.sh + +David 11 July 2007 + - Manager: make various strings translatable (from Mifistor) + + clientgui/ + AccountInfoPage.cpp + sg_ImageButton.cpp + sg_ViewTabPage.cpp + +Eric K. 11 July 2007 + - Web: result display: Changed text for display of results cancelled by + server (exit_status=-221). + + html/inc/ + result.inc + +David 11 July 2007 + - client simulator: added '--work_fetch_old' option. + If set, the simulator uses an approximation of the old + work fetch policy, where the client tries to maintain + an amount of work for each project equal to + the buffer size times its relative resource share + + client/ + sim.C,h + work_fetch.C + +David 12 July 2007 + - client simulator: add --line_limit option; + splits up HTML output into multiple fixed-size files + + client/ + sim.C,h + +David 12 July 2007 + - client simulator: rename "variety" to "monotony", + and redefine it so the range is + zero (no monotony) to one (maximal monotony) + + client/ + sim.C,h + +David 13 July 2007 + - client: if CA bundle file isn't in BOINC directory, + don't tell Curl to look for it there. + It might be in the default place where Curl looks. + + client/ + file_names.h + http_curl.C + html/inc + stats_sites.inc + +David 13 July 2007 + - API: fix unlikely memory leaks in graphics + + api/ + texture.C + +David 13 July 2007 + - API: some out-of-mem checks + + api/ + gutil.C + texture.C + tgalib.C + client/ + cs_apps.C + http_curl.C + +David 13 July 2007 + - GUI RPC: added "detach_when_done" and "dont_detach_when_done" + project-control options. + Made these available in boinc_cmd. + Fixes #335. + + client/ + gui_rpc_server_ops.C + lib/ + boinc_cmd.C + gui_rpc_client_ops.C + +David 14 July 2007 + - user web: fix image URL on home page. Fixes #340 + + html/user/ + sample_index.php + +David 14 July 2007 + - client: print time zone message at startup + - Manager: removed ForceRefresh() calls in grid views; + reduces CPU usage, still seems to work (from Frank Weiler) + Fixes #291. + + client/ + client_state.C + cpu_sched.C + clientgui/ + ViewMessagesGrid.cpp + ViewProjectsGrid.cpp + ViewTransfersGrid.cpp + ViewWorkGrid.cpp + +Charlie 16 July 2007 + - Mac client: always show UNIX error if state file rename fails. + + client/ + cs_statefile.C + +David 16 July 2007 + - Manager: in grid views, don't sort unless needed (from Frank) + - client: show OS name/version in message at startup + + client/ + client_state.C + clientgui/ + BOINCGridCtrl.cpp,h + ViewWorkGrid.cpp + +David 16 July 2007 + - client: if can't write state file, don't immediately exit, + but don't do anything other than handle GUI RPCs. + After 50 secs, print an "about to exit" message. + After 60 seconds, exit + + client/ + client_state.C,h + +David 16 July 2007 + - Manager: changed wording the "Choose a project" page + of attach wizard. + At least one person was confused by 'WWW'; + he thought you clicked there to choose project. + + clientgui/ + ProjectInfoPage.cpp + ProjectListCtrl.cpp + + +Charlie 17 July 2007 + - Manager: Fixed bug in task grid view: code was always using the + grid row number as index into results vector. Added a hidden + column COLUMN_RESULTS_INDEX to hold index into results vector + for the data in each row, so it is available after sorting grid. + This allows the changes of 16 July 2007 to work properly. + + clientgui/ + ViewWorkGrid.cpp + +David 17 July 2007 + - scheduler: move startup checks (stop_sched, shmem) inside FCGI loop. + Hopefully this will make it feasible to run scheduler + even when project is down. + - lib: fix cygwin build error + + lib/ + filesys.C + sched/ + main.C + +Charlie 17 July 2007 + - Manager GridCtrl: Don't save/restore width of hidden/invisible columns. + Fix Compile error on some platforms. + + clientgui/ + BOINCGridCtrl.cpp + ViewWorkGrid.cpp + +David 18 July 2007 + - user web: team founder transfer request requires nonzero total credit + + html/user/ + team_founder_transfer_form.php + +Rytis 18 July 2007 + - user web: add a feature to mark all threads as read (forums). + + html/inc/ + forum.inc + forum_user.inc + html/user/ + forum_forum.php + forum_index.php + +David 18 July 2007 + - back out my last change. + There are a number of situations where this is undesirable. + + html/user/ + team_founder_transfer_form.php + +Charlie 18 July 2007 + - Manager: Update disk pie chart only if something has changed (from + Frank Weiler) + - Manager: don't call GetWorkCount() unnecesaarily in ViewWorkGrid.cpp. + + clientgui/ + ViewResources.cpp,.h + ViewWorkGrid.cpp + +David 19 July 2007 + - User web and client: added a new pref "suspend_if_no_recent_input" + that lets you suspend computation after a specified period of idleness. + This is necessary to allow some machines to go into low-power mode + when they're not being used. + - Change the wording of some existing prefs; for example, changed + "Do work while computer is in use?" to + "Suspend work while computer is in use". + The former is confusing - if you say yes, BOINC may in fact + NOT do work while the computer is in use, + due to other factors (time of day, etc.) + TODO: HOST_INFO::users_idle() should be changed so that it + returns the idle time + (rather than telling you whether we've been idle for X) + + client/ + client_state.C,h + cs_prefs.C + hostinfo_unix.C + html/inc/ + prefs.inc + lib/ + common_defs.h + prefs.C,h + +David 20 July 2007 + - sample app: adapt the one from boinc_samples + fixes #341 + + apps/ + upper_case.C + sched/ + handle_request.C + +David 20 July 2007 + - update_versions: don't accept a multi-file application + unless there's a main program with same name as dir + (previously it was treating the first executable file found + as the main program, with occasionally disastrous consequences). + Fixes #350 + + tools/ + update_versions + +Charlie 20 July 2007 + Mac: changes for libcurl 7.16.4. + + mac_build/ + boinc.xcodeproj/ + project.pbxproj + buildcurl.sh + setupForBoinc.sh + HowToBuildBOINC_XCode.rtf + +David 20 July 2007 + - client: add mechanism to abort results if they get > 100 + "premature exits" (exit(0) without finish file) between checkpoints + + client/ + app_control.C + app.C,h + lib/ + error_numbers.h + +David 23 July 2007 + - user web: moved functions to send specific messages out of email.inc + - user web: code cleanup involving team founder transfer, + and improved the text of some messages + + db/ + boinc_db.h + html/ + inc/ + team.inc + email.inc + ops/ + problem_host.php + user/ + team_change_founder_form.php + team_founder_transfer_action.php + team_founder_transfer_form.php + +David 24 July 2007 + - user web: code cleanup related to team creation. + Make a single function that creates teams + and cleanses arguments. + - API: don't include config.h in parse.h. + This file is included from apps + (indirectly, via graphics_api.h) + so it shouldn't assume that config.h exists + + db/ + boinc_db.h + html/ + inc/ + db.inc + team.inc + team_types.inc + util.inc + user/ + create_account.php + create_team.php + team_create_action.php + +David 25 July 2007 + - user web: code cleanup related to user creation. + Make a single function that creates users and cleanses args. + + html/ + inc/ + countries.inc + team.inc + user.inc + user/ + create_account.php + create_account_action.php + +David 25 July 2007 + - add support for "BOINC teams" (to be explained later) + + html/ + inc/ + team.inc + ops/ + team_export.php + team_import.php + +David 25 July 2007 + - more teams stuff + + html/ + inc/ + db.inc + ops/ + team_export.php + team_import.php + user/ + repair.php (deleted) + +David 27 July 2007 + - client: fix bug that caused "no shared memory segment" errors, + introduced in 20 July checkin + + client/ + app_control.C + clientgui/ + ProjectInfoPage.cpp + ViewWork.cpp + ViewWorkGrid.cpp + +David 27 July 2007 + - user web: added mechanism for recording team membership changes. + These are stored in a new DB table, "team_delta". + The team founder can view the history in HTML or XML + (links on Management Functions page) + REQUIRES DB UPDATE + + db/ + constraints.sql + schema.sql + html/ + inc/ + team.inc + ops/ + db_update.php + user/ + team_delta.php (new) + team_join_action.php + team_manage.php + tools/ + make_project + +David 28 July 2007 + - client: fix bug where if you get no work from a project + with zero delay_request, + the client immediately requests more work + + client/ + client_types.h + cs_scheduler.C + +Charlie 30 July 2007 + - Manager: don't call GetWorkCount() repeatedly in CViewProjectsGrid, + CViewTransfersGrid and CViewMessagesGrid. + + clientgui/ + ViewMessagesGrid.cpp + ViewProjectsGrid.cpp + ViewTransfersGrid.cpp + +David 31 July 2007 + - client: don't crash if use --detach_project option + (fixes #283) + - client: canonicalize URLs in all cmdlines + - db_update.php: don't prompt for DB name/host; get it from config file + (fixes #356) + + html/ops/ + db_update.php + client/ + cs_cmdline.C + +Charlie 31 July 2007 + - Graphics API: Don't render graphics when application is suspended + to reduce CPU usage. + + api/ + x_opengl.C + +David 1 Aug 2007 + - feeder: created shared mem seg with 0666 rather than 0660. + In principle 0660 should work (assuming apache belongs to admin group) + but apparently on some Linux systems it doesn't, + and the feeder gets "can't attach to shared mem" errors. + - scheduler: print uid/gid info if can't attach to shared mem + - user web: fix bug in team founder transfer form + + sched/ + main.C + html/user/ + team_founder_transfer_form.php + lib/ + shmem.C + +David 1 Aug 2007 + - GUI RPC: added get_global_prefs_network() + and get_global_prefs_working() + + lib/ + gui_rpc_client.h + gui_rpc_client_ops.C + client/ + gui_rpc_server_ops.C + cs_prefs.C + +Charlie 1 Aug 2007 + - MGR: Populate Simple and Advanced Preference dialogs with current + values of preferences (including any overrides), not with + defaults or old (possibly stale) values. + + lib/ + gui_rpc_client_ops.C + clientgui/ + DlgAdvPreferences.cpp + sg_DlgPreferences.cpp + +Charlie 2 Aug 2007 + - GUI RPC: rename get_global_prefs_network() to get_global_prefs_file() + to make it clear this returns the contents of the file which was + obtained from the network (i.e., web-based preferences) and not just + the prefernces affecting network connectivity. + - GUI RPC: Add get_global_prefs_working_struct(). + - MGR: call get_global_prefs_working_struct() for both preference dialogs. + - MGR: Dialup Manager updates current preferences from client before using + them. + + client/ + gui_rpc_server_ops.C + clientgui/ + BOINCDialupManager.cpp + DlgAdvPreferences.cpp + sg_DlgPreferences.cpp + lib/ + gui_rpc_client.h + gui_rpc_client_ops.C + +Rom 2 Aug 2007 + - DIAG: Disable symbol server technology for applications where a symbol + server isn't specified. + - MGR: Provide some additional text to the begining of the attach to project + wizard when the client is attached to an account manager. Warn the user + that the AMS will not know about the project or its stats. + - MGR: Fix dialog titles for the Simple GUI dialogs. + - MGR: Eliminate bogus error messages when using the default skin. + - MGR: Introduce new logo into the manager + - MGR: Introduce the notion of the syncronize button in the Simple GUI. + NOTE: This button will replace the 'attach to project' button when + the manager detects that the client is attached to an account manager. + + client/win/res/ + icon.ico + clientgui/ + DlgAbout.cpp + sg_DlgMessages.cpp + sg_DlgPreferences.cpp + SkinManager.cpp, .h + WelcomePage.cpp + clientgui/res/ + boinc.xpm + boinc_logo.xpm + BOINCGUIApp.ico + clientgui/res/templates/ + boinc.ico + boinc16.bmp + boinc32.bmp + boinc48.bmp + boinc128.bmp + boinc256.bmp + boinc_logo.gif + lib/ + stackwalker_win.cpp + +Eric K 06 Aug 2007 + -added new functions boinc_suspend_graphics_thread() and + boinc_resume_graphics_thread(), so apps can suspend the graphics + threads for critical sections without suspending all threads. + Only implemented under WIN32 thus far. + api/ + graphics_lib.[Ch] + +Rom 7 Aug 2007 + - MGR: Respect the disallow_attach and simple_gui_only status + flags in both the simple GUI and advanced GUI. + - MGR: Enable the syncronize button in the simple GUI which + just causes an account manager update request. + - MGR: Fix an overactive assert in debug builds + + clientgui/ + AdvancedFrame.cpp + Events.h + sg_BoincSimpleGUI.cpp + sg_ProjectsComponent.cpp, .h + SkinManager.cpp + WelcomePage.cpp + clientgui/res/skins/default/graphic + syncronize_button.xpm (Added) + syncronize_clicked_button.xpm (Added) + clientgui/res/templates/skins + btnSynronize.png (Added) + btnSynronizeClick.png (Added) + +Rom 8 Aug 2007 + - MGR: Update taskbar icons. + + clientgui/res/ + boinc.xpm + boincdisconnect.xpm + boincsnooze.xpm + clientgui/res/templates/ + boincsnooze.ico + boincdisconnect.ico + +David 10 Aug 2007 + - client: timezone reflects daylight savings time (Win) + from David Barnard; fixes #334 + - GUI RPC: add replies for ops that don't return anything + - GUI RPC: check args for project_attach + - GUI RPC: return error (not blank) if no prefs override file + - add error string for ERR_TOO_MANY_EXITS + + client/ + gui_rpc_server_ops.C + hostinfo_win.C + lib/ + str_util.C + +David 10 Aug 2007 + - Manager: show the AMS name, not the skin name, in Wizard + + clientgui/ + WelcomePage.cpp + +David 10 Aug 2007 + - Manager: change "Retry communications" to "Do network communication" + - client: use gethostname() to get host name on Linux + + client/ + hostinfo_network.C + clientgui/ + AdvancedFrame.cpp + lib/ + error_numbers.h + +Janus 11 Aug 2007 + - Added a DB table creation query for the BT file table + + html/bt/database/ + bittorrent_files.sql (new) + +Rom 13 Aug 2007 + - SCR: Move screensaver related files out of the CC directory + structure and put it into its own directory structure. + + client/win/ + boinc.scr.manifest (deleted) + boinc_ss.h (deleted) + boinc_ss.rc (deleted) + boinc_ss_2003.rc (deleted) + win_screensaver.cpp, .h (deleted) + clientscr/ + boinc.scr.manifest (added) + boinc_ss.h (added) + boinc_ss.rc (added) + boinc_ss_2003.rc (added) + win_screensaver.cpp, .h (added) + +Charlie 13 Aug 2007 + Fix compiler warnings. + + client/ + hostinfo_network.C + clientgui/ + WelcomePage.cpp + +Charlie 14 Aug 2007 + Sandbox: Create boinc_exec() function for invoking switcher and + setprojectgrp utilities instead of calling system(). POSIX + requires that if a shell is invoked by a setuid / setgid + process, the shell is run using the real UID and GID. This + was not enforced by Mac OS 10.4, but will be enforced by + OS 10.5. The system() calls invoke the shell, so we must + use fork() and execv() instead. + MGR: Add transparency mask to boinc_logo.xpm. + + client/ + app_control.C + file_names.C + clientgui/ + res/ + boinc_logo.xpm + lib/ + filesys.C, h + +Rom 14 Aug 2007 + SCR: Enable V6 style applications, screensaver is no longer + compatible with v5 style graphics. + + clientscr/ + screensaver.cpp, .h + screensaver_win.cpp, .h + +David 14 Aug 2007 + - XML RPC: add user name, ID to team_delta.php XML version + + html/user/ + team_delta.php + +Charlie 15 Aug 2007 + Mac MGR: Work around bugs in wxMac 2.82 - 2.8.4 to fix wxPieCtrl + to work correctly on wxMac 2.6.3 - 2.8.4. + + clientgui/ + common/ + wxPieCtrl.cpp,h + mac/ + MacGUI.pch + +Rom 15 Aug 2007 + - SCR: Fix the new screensaver so that it doesn't start a new + graphics window every second. + - LIB: CreateProcess always returns a 1 on success, which means + the last part of the run_program function was never being + executed. + + clientscr/ + screensaver_win.cpp + lib/ + util.C + +Rom 15 Aug 2007 + - MGR: Fix the synchronize button and variables. + + clientgui/ + sg_ProjectsComponent.cpp, .h + SkinManager.cpp, .h + clientgui/res/skins/default/graphic + synchronize_button.xpm + synchronize_clicked_button.xpm + clientgui/res/templates/skins/ + btnSynchronize.png + btnSynchronizeClick.png + +Rom 15 Aug 2007 + - MGR: Update taskbar icons. + + clientgui/res/ + boinc.xpm + boincdisconnect.xpm + boincsnooze.xpm + clientgui/res/templates/ + boincsnooze.ico (deleted) + boincdisconnect.ico (deleted) + boinc.gif (added) + boincdisconnect.gif (added) + boincsnooze.gif (added) + +David 16 Aug 2007 + - client: add a option in cc_config.xml; + tells the client to use this as the data directory + - scheduler: improve the message telling the client that + more disk or memory is needed; + tell them the minimum amount needed to + send any of the jobs rejected, + rather than the amount needed for the first job rejected + - manager: fix text in "connect now" dialog + + client/ + client_state.C + log_flags.C,h + clientgui/ + BOINCDialupManager.cpp + sched/ + sched_locality.C + sched_send.C + server_types.h + transitioner.C + +David 16 Aug 2007 + - screensaver fix + + clientscr/ + screensaver_win.cpp + +Rom 16 Aug 2007 + - MGR: Update skin manager for the following changes: + project name = application short name + company name = organization name + company website = organization website + added organization help url. + + See http://boinc.berkeley.edu/trac/wiki/ManagerSkin + for details. + + clientgui/ + AdvancedFrame.cpp + BOINCBaseFrame.cpp + BOINCDialupManager.cpp + BOINCTaskBar.cpp + CompletionPage.cpp + DlgAbout.cpp + DlgAdvPreferences.cpp + sg_BoincSimpleGUI.cpp + sg_DlgMessages.cpp + sg_DlgPreferences.cpp + sg_ProjectsComponent.cpp + SkinManager.cpp, .h + +Rom 16 Aug 2007 + - MGR: Make sure all the dialogs contain the application name + and do not have BOINC Manager hard coded in them. + + clientgui/ + AdvancedFrame.cpp + DlgAbout.h + DlgAdvPreferencesBase.cpp, .h + DlgOptions.cpp, .h + DlgSelectComputer.cpp, .h + +Rom 16 Aug 2007 + - SCR: Move the call to kill_program to ShutdownSaver instead + of waiting for the data thread to poll for keyboard and + mouse activity. If the saver's window proc detects keyboard + or mouse activity it'll start the shutdown proceedure. + + clientscr/ + screensaver_win.cpp + +Charlie 16 Aug 2007 + Mac MGR: New Mac application icon built with artwork from Michal + Krakowiak. + + clientgui/ + res/ + BOINCMgr.icns + +David 16 Aug 2007 + - screensaver fix + + api/ + graphics2_win.C + lib/ + util.C + +David 17 Aug 2007 + - client: change the way upload/download throughput + estimates are maintained. + The old way took concurrency into account but ignored compression; + the new way does the converse. + - client: maintain new stat: recent average transfer rates. + This track average up/down throughputs + (over wall clock time, not just while xfers are active) + with a half-life of 1 day. + Will eventually add a new pref: don't fetch new work if + either of these is above a threshold + + client/ + client_state.C + file_names.C + http_curl.C,h + net_stats.C,h + +Charlie 17 Aug 2007 + MGR: Disable Simple GUI if the screen height < 600 (instead of== 480). + also disable Simple GUI item in View Menu and prevent switching + to Simple GUI. + + clientgui/ + AdvancedFrame.cpp + BOINCGUIApp.cpp + +Rytis 18 Aug 2007 + Forums: return user to the same page after selecting "Mark all threads as read". + + html/ + user/forum_index.php + inc/ + forum.inc + util.inc + +Charlie 19 Aug 2007 + Mac: New Mac application icons built with artwork from Michal + Krakowiak. + + clientgui/ + res/ + BOINCMgr.icns + MacInstaller.icns + MacUninstaller.icns + +Rytis 20 Aug 2007 + Private messages: preview function before sending + + html/ + inc/forum_pm.inc + user/ + forum_pm.php + white.css + +Rom 20 Aug 2007 + SCR: Only choose applications that are currently being + exected. + Win SCR: Update screensaver logo. + Win SCR: Reduce the amount of time the screensaver is stuck in startup mode + from 10 secs down to 2 secs. It still takes a second or two to download + state information from the CC. + + clientscr/ + screensaver.cpp + screensaver_win.cpp + clientscr/res/ + boinc.bmp + +Charlie 20 Aug 2007 + Mac SG: Ugly hack for unknown alignment problem on Mac, requested by Kevin + Reed + Mac Uninstaller: Display new image in "Are you sure" dialog showing new + BOINC logo going into the trash for non-English speaking users. + + clientgui/ + sg_ViewTabPage.cpp + mac_build/ + boinc.xcodeproj/ + project.pbxproj + mac_installer/ + uninstall.cpp + Uninstaller.rsrc (new) + +David 21 Aug 2007 + - scheduler: don't show resource share in msgs in cases where + it's not used. + - db_purge: add "no_archive" option + + sched/ + db_purge.C + handle_request.C + sched_send.C + +David 21 Aug 2007 + - scheduler: update host.n_bwdown + (this was omitted for some reason). + From Kevin Reed. + + db/ + boinc_db.C + +Rom 23 Aug 2007 + - Win Install: Create a custom action for terminating the united + devices agent for WCG. + + win_build/installerv2/redist/Windows/src/boinccas/ + boinccas.def + boinccas.rc + boinccas.vcproj + CAShutdownUD.cpp, .h (Added) + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + +Rytis 24 Aug 2007 + - User web: fix XSS vulnerability in team join/quit/lookup code. + + html/user/ + team_join_action.php + team_join_form.php + team_lookup.php + team_quit_action.php + team_quit_form.php + +Rom 24 Aug 2007 + - Win Install: ignore string case before comparing process names. + + win_build/installerv2/redist/Windows/src/boinccas/ + boinccas.rc + terminate.cpp + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + +Charlie 25 Aug 2007 + Preferences: Apply David Barnard's patches to fix #363: per-day + time preferences work incorrectly. + MGR: Prefernces dialogs use cached preferences if connected to older + pre-5.10.18 client (before new get_global_prefs_working_struct RPC) + + client/ + cs_prefs.C + clientgui/ + DlgAdvPreferences.cpp + sg_DlgPreferences.cpp + lib/ + prefs.C,h + +Rytis 25 Aug 2007 + User web: allow tokenless translations (takes actual string instead of + a token). New translation strings should use tra("string") instead + of tr(TOKEN). + + html/inc/ + translation.inc + +Rytis 26 Aug 2007 + User web: update web RPC so that project specific preferences are preserved + if they are missing in the request but present in previous settings + (to reset them AMS should send ) + + html/user/ + am_set_info.php + +Rytis 26 Aug 2007 + User web: new functions to show table rows (and headers) with unlimited + number of columns (table_row() and table_header()) + User web: show credit information in team member list + + html/ + inc/util.inc + user/team_email_list.php + +Charlie 27 Aug 2007 + Begin implementation of using memory-mapped files for shared memory. + As a temporary measure during development, the new shared memory logic + is selected by defining USE_FILE_MAPPED_SHMEM. Once the conversion is + complete, we will use these as guideposts to remove the old logic + (using shmget,shmat, shmdt, shmctl, key_t, etc.) and then remove the + references to USE_FILE_MAPPED_SHMEM. + Note: these changes are to the HEAD / trunk only, for version 6. + + api/ + boinc_api.C + graphics2.h + graphics2_util.C + client/ + app.C + app_start.C + lib/ + shmem.C,h + +Rom 28 Aug 2007 + - SCR: Move more code into the shared code module + + clientscr/ + screensaver.cpp, .h + screensaver_win.cpp + +Rom 28 Aug 2007 + - Tag for 6.1.0 release, all platforms + boinc_core_release_6_1_0 + + / + configure.ac + version.h + +Charlie 28 Aug 2007 + - Mac V6 GFX: Create same shmem file name as for Windows, instead of + "gfx_mmap_file". + Fix a compiler warning. + - Mac: Move Mac screensaver files to common clientscr/ directory. + Eliminate BOINCSaver.nib.sit, replace with BOINCSaver.nib. + - Mac: Create new XCode project target to build libboinc_graphics2.a. + - Mac: add "-D USE_FILE_MAPPED_SHMEM" to compiler flags for XCode + project targets which build BOINC Client and BOINC libraries. + + api/ + graphics2_unix.C + graphics2_util.C + clientgui/ + mac/ + mac_saver_module.cpp (deleted) + Mac_Saver_ModuleView.m,h (deleted) + BOINCSaver.nib.sit (deleted) + clientscr/ + mac_saver_module.cpp (added) + Mac_Saver_ModuleView.m,h (added) + res/ + BOINCSaver.nib/ (added) + classes.nib (added) + info.nib (added) + keyedobjects.nib (added) + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Charlie 28 Aug 2007 + - Mac V6 GFX: Fix link error when building example app. + - Mac MGR: Launch the graphics application via a shell by using + the UNIX system() api. This works around "RegisterProcess + failed (error = -50)" when using fork() and execv(). + + api/ + graphics2_unix.C + clientgui/ + ViewWork.cpp + +Charlie 29 Aug 2007 + - MGR: Add V6 GFX support to grid view. + + clientgui/ + ViewWorkGrid.cpp + + +Rom 29 Aug 2007 + - SCR: Fix a few bugs with the last checkin. + + clientscr/ + screensaver.cpp + +Charlie 31 Aug 2007 + - Mac: Update screensaver to V6 graphics. Fix a bug in + get_random_graphics_app() + + clientscr/ + mac_saver_module.cpp + screensaver.cpp,h + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Charlie 1 Sep 2007 + - Mac screensaver: replace image in screensaver control panel with + new logo, move to common clientscr/res/ directory. + + clientgui/ + mac/ + boinc.tiff (deleted) + clientscr/ + res/ + boinc.jpg (added) + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Charlie 2 Sep 2007 + - CC: if running as a daemon, don't set disable_graphics, remove + "No application graphics will be available" message. + - Mac MGR: if BOINC is running as a service / daemon, connect to + BOINC Client before creating menubar icon menu to work around + a problem of unknown cause which sometimes made icon unresponsive. + - Mac: add -daemon flag to script for starting BOINC as a service. + + client/ + client_state.C + clientgui/ + BOINCGUIApp.cpp + mac_build/ + Make_BOINC_Service.sh + +David 2 Sept 2007 + - client: zero out xfer_speed in HTTP_OP constructor + (may fix problem w/ #INF bandwidth display) + + client/ + http_curl.C + +Charlie 2 Sep 2007 + - improvements to shared memory using memory mapped files. + + lib/ + shmem.C + +Charlie 3 Sep 2007 + - SCR: Add optional argument to count_active_graphic_apps() and + get_random_graphics_app() with the name of a result to avoid. This + is useful to periodically switch displayed tasks. The new argument + is ignored if NULL or an empty string; get_random_graphics_app() + will choose it only if there is no other candidate. + + clientscr/ + mac_saver_module.cpp + screensaver.cpp,h + +David 3 Sept 2007 + - client: when a job finishes, read last (not first) 63KB of stderr + - client: parse in scheduler reply; + add cpid_time field to PROJECT. + This defaults to the user_create_time. + In deciding which CPID to send in a scheduler request, + use the one with oldest cpid_time (not user_create_time). + This is the client half of fixing a bug that causes + CPID to flip/flop between to values in a certain case. + + client/ + app_control.C + client_types.C,h + cs_scheduler.C + scheduler_op.C + lib/ + util.C,h + +Charlie 4 Sep 2007 + - V6 GFX: Fix bug on OS 10.3.9 + - CC: fix bug so we do new version check when client is first started + as well as every 14 days thereafter. Display message in red. + - make shared memory using memory mapped files more robust. + + api/ + graphics2_unix.C + graphics2_util.C + client/ + acct_setup.C + lib/ + shmem.C,h + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Charlie 4 Sep 2007 + - MGR: Fix #388: Snooze menu item is disabled and not checked if user + selects RUN_MODE_NEVER; it is enabled and checked if user selects + Snooze; otherwise it is enabled and not checked. + + clientgui/ + BOINCTaskBar.cpp + +Charlie 5 Sep 2007 + - Mac SCR: Do screen blanking in screensaver since CC no longer does it. + - Fix a compiler warning. + - Mac Installer: Remove old BOINC Manager and screensaver bundles before + installing new ones to guarantee a clean install. Updates for Grid + Republic. + + clientscr/ + mac_saver_module.cpp + lib/ + util.C,h + mac_installer/ + release_boinc.sh + release_GridRepublic.sh + make_GridRepublic.sh + preinstall + uninstall.cpp + +David 8 Sept 2007 + - boinc_cmd: improve output of --help + - scheduler: remove giant log output when use + - db_purge: fix crash if nothing logged + + sched/ + edf_sim.C + db_purge.C + lib/ + boinc_cmd.C + +Rytis 9 Sept 2007 + - user web: fix issues regarding forum preferences reset. + + html/ + inc/forum_user.inc + user/edit_forum_preferences_action.php + +David 9 Sept 2007 + - API: initialize sigaction struct in X graphics code + + api/ + x_opengl.C + +Bruce 10 Sept 2007 + - (obsolete doc files) fix typo in upload.php + doc/ + upload.php + +David 11 Sept 2007 + - added prototype page for showing info about user population + + html/ops/ + user_graph.php + +Reinhard 11 Sept 2007 + - initialize local 'struct sigaction' variable to zero in + xwin_graphics_event_loop() + + api/ + x_opengl.C + +Rytis 11 Sep 2007 + - user web: prevent users with RAC < 1 become a user of the day + (protection from spam) + + html/inc/uotd.inc + +Charlie 12 Sep 2007 + - SCR: Create is_same_task() function which compares both task name + and task URL; call it from count_active_graphic_apps () and + get_random_graphics_app(). + + clientscr/ + mac_saver_module.cpp + screensaver.cpp,h + +David 12 Sept 2007 + - file upload handler: + in get_file_size() RPC, check if volume has < 1MB available space + and if so return transient error. + This prevents client from trying upload, + which apparently sends entire file even if + handler fails at the beginning + - API, Win: remove use of GetTickCount(); use dtime() instead + - use new BOINC logo in sample project home page + + lib/ + filesys.C,h + util.C + html/user/ + sample_index.php + py/Boinc/ + setup_project.py + sched/ + file_upload_handler.C + +David 12 Sept 2007 + - client: CPU scheduler: if a project has 2 jobs with same deadline, + give preference to jobs already started + + client/ + cpu_sched.C + +David 12 Sept 2007 + - API: don't start timer thread (or install signal handler on Unix) + if running standalone + + api/ + boinc_api.C + +David 12 Sept 2007 + - Manager: clean up text in system tray balloon + - Client: use dd-MMM-yyyy format for dates; + mm/dd/yyyy is ambiguous and mixed-endian + Fixes #406 + + clientgui/ + BOINCTaskBar.cpp + lib/ + str_util.C + +David 13 Sept 2007 + - client: restore element on GUI RPC result XML + (needed by BOINCSpy) + - client: CPU sched fix + + client/ + app.C + cpu_sched.C + +Rytis 13 Sep 2007 + - User web: fix XSS vulnerability, web code update recommended + + html/ + inc/util.inc + user/ + forum_text_search_action.php + user_search_action.php + +Charlie 13 Sep 2007 + - SCR: Impelement new RPC::get_screensaver_tasks() which returns + current gstate.suspend_reason and a RESULTS vector containing only + currently running tasks. This includes all running tasks whether + or not they are graphics-capable, so screensaver can show progress + info when only non-graphics-capable tasks are running. + NOTE: I have edited screensaver_win.cpp so that it should compile and + run as before, but this has not been tested. + + client/ + gui_rpc_server_ops.C + clientscr/ + mac_saver_module.cpp + screensaver.cpp,h + screensaver_win.cpp + lib/ + gui_rpc_client.h + gui_rpc_client_ops.C + +Charlie 16 Sep 2007 + - SCR: make second argument optional in get_random_graphics_app() and + get_random_graphics_app(). + + clientscr/ + screensaver.h + +David 17 Sept 2007 + - user web: make it possible to merge hosts with OS other + than win/mac/linux/solaris; + when can't merge hosts, explain why better + + html/ + inc/ + host.inc + user/ + host_edit_form.php + +David 17 Sept 2007 + - API: embed the string API_VERSION_N.N.N in libboinc.a + (for v6) + - client: performance tweak for CPU sched + - client: fix /proc/cpuinfo parsing for linux 2.6.23, powerPC + + api/ + boin_api.C + client/ + cpu_sched.C + hostinfo_unix.C + +Bruce 17 Sept 2007 + - scheduler: added config option to control (turn off) some aspects + of file deletion. If you set file_deletion_strategy to 0 (default) + then this turns off file deletion in the locality scheduler. + Set file_deletion_strategy to 1 to get current behavior. Other + values are not defined. I'll document this in the Wiki. + + sched/ + sched_config.h + sched_config.C + sched_locality.C + +Rytis 17 Sep 2007 + - user web: fix invalid validate state reported to user. + + html/inc/ + result.inc + +Charlie 18 Sept 2007 + - Mac MGR: Launch the graphics application using switcher to fix + a potential security risk; I found another solution to the + "RegisterProcess failed (error = -50)" so no longer need to + use the UNIX system() api to launch the graphics application. + + clientgui/ + ViewWork.cpp + ViewWorkGrid.cpp + +Charlie 19 Sept 2007 + - Mac SCR: Put a copy of switcher utility inside screensaver's bundle + to launch graphics applications as user and group "nobody". + We don't allow unauthorized users to run the switcher application + in the BOINC Data directory because they could use it to run as user + & group boinc_project and damage project files. The screensaver's + switcher runs as user and group "nobody" to avoid this risk. + + client/ + check_security.C + clientgui/ + mac/ + SetupSecurity.cpp + clientscr/ + Mac_Saver_ModuleView.m + mac_saver_module.cpp + mac_build/ + boinc.xcodeproj/ + project.pbxproj + Mac_SA_Insecure.sh + Mac_SA_Secure.sh + +Charlie 19 Sept 2007 + - MGR: Implement V6 graphics in SimpleGui. + - Consolidate common Show Graphics functionality into + CMainDocument::WorkShowGraphics(). + + clientgui/ + MainDocument.cpp, h + sg_ViewTabPage.cpp + ViewWork.cpp + ViewWorkGrid.cpp + +Charlie 20 Sept 2007 + - MGR: Keep a list of currently running graphics applications. + - Don't launch a second instance of graphics app if user presses + "Show Graphics" twice for the same task. + - Kill all graphics applications when exiting Manager. + - Add a routine to kill any graphics apps whose tasks are no longer + running, but don't call it yet. + - Mac MGR: pressing "Show Graphics" for a running graphics app brings + it to the front. + + clientgui/ + MainDocument.cpp, h + +Charlie 21 Sep 2007 + - MGR: Every 10 seconds, kill any running graphics apps whose associated + worker tasks are no longer running. + - Mac SCR: prevent double delete of RPC_CLIENT rpc on closing screensaver. + + clientgui/ + MainDocument.cpp + mac/ + mac_saver_module.cpp + +David 21 Sept 2007 + - client: get_proxy_settings GUI RPC requires authentication + + client/ + app_start.C + gui_rpc_server_ops.C + clientgui/ + MainDocument.cpp + +David 21 Sept 2007 + - Added new script "update_versions_v6"; use this instead of + update_versions to add version 6 apps. + It looks for API_VERSION string in main executable, + adds the API version to the app_version XML, + and sets min_core_version to 6 for version 6+ apps + - API: include API_VERSION string + - convert tabs to spaces here and there + - scheduler: parse unused elements in + - ops/show_log.php: if no URL args, just show form (fixes #415) + - client: parse and store api_version (not used yet) + + api/ + boinc_api.C + client/ + client_types.C,h + db/ + boinc_db.h + html/ops/ + show_log.php + py/Boinc/ + tools.py + sched/ + sched_array.C + sched_send.C + server_types.C + tools/ + update_versions_v6 (new) + +Charlie 21 Sep 2007 + - MGR V6 GFX: Fix build problems, crash on Linux. + - MGR V6 GFX: If no graphics apps are running, CMainDocument::OnPoll() + doesn't call CachedResultsStatusUpdate(). + + clientgui/ + MainDocument.cpp + +Bruce 23 Sept 2007 + - Eliminate some logging noise from the scheduler (complaints + about unrecognized tags). + + sched/ + server_types.C + +David 24 Sept 2007 + - client: clean up (old undergrad-written) code related to pers file xfer. + The main goal is to fix a bug where, + if a file is deleted from a project's download server, + a client will keep trying to download it for 2 weeks. + A download "file not found" is a permanent error, not transient. + (fixes #383) + In general, revised and renamed things to clarify the + distinction between permanent and transient errors. + Old functions: + handle_xfer_failure(), try_next_url(), xfer_failed(), + retry_or_backoff() + New functions: + permanent_failure(), transient_failure() + - manager: compile fix for win (don't include sys/wait.h) + + client/ + client_types.h + pers_file_xfer.C,h + clientgui/ + MainDocument.cpp + +David 24 Sept 2007 + - user web: add links to BOINC-wide team sites + and www.boincteams.com from Team management page + - client: change error strings from, e.g., + "system chown" to "chown() failed" + + html/user/ + team_manage.php + lib/ + str_util.C + sched/ + sched_send.C + +David 24 Sept 2007 + - use safe_strcpy() instead of strcpy() in a few places + in the client and db_dump + - scheduler: change REQ_FILE_PREFIX to use ../ instead of /tmp/ + + client/ + cs_cmdline.C + sched/ + db_dump.C + main.C + +David 25 Sept 2007 + - client: removed everything related to screensaver + (deciding which app to use, implementing blanking interval, etc.) + This logic is all now in the screensaver itself. + - GUI RPC: removed get/set screensaver mode RPCs + - API: added a "backwards_compatible_graphics" flag to BOINC_OPTIONS. + V6 apps should set this. + If set, the runtime library checks for graphics messages + from the client, and launches/kills the graphics app (if any). + The app will then work graphically with pre-V6 clients. + - removed some old files + + api/ + api_app.C (deleted) + api_test.C (deleted) + boinc_checkpoint.C (deleted) + boinc_api.C,h + client/ + Makefile.am + app.C,h + app_graphics.C + client_state.C,h + gui_rpc_server_ops.C + sim.h + ss_logic.C,h (removed) + lib/ + boinc_cmd.C + common_defs.h + gui_rpc_client.h + gui_rpc_client_ops.C + +David 25 Sept 2007 + - compile fixes for Win + + client/ + sim_util.C + clientgui/ + BOINCGUIApp.cpp + clientscr/ + screensaver_win.cpp + win_build/ + boinc_cli_curl.vcproj + +David 25 Sept 2007 + - update_versions_v6 doesn't set min_core_version + + tools/ + update_versions_v6 + +David 25 Sept 2007 + - stripcharts: fix typo that could cause disk to fill up! + (from Nicolas Maire) + + stripchart/ + stripchart + +Charlie 25 Sep 2007 + - Mac: Remove obsolete ss_logic.C,h from XCode project. + - Mac/Linux/UNIX: V6 client uses shmget() to run V5 applications. + NOTE: when testing V6 applications with anonymous platform mechanism, + you must add 600 tag under . + - Mac/Linux/UNIX: V6 applications uses shmget() to run with V5 clients. + - Eliminate "#ifdef USE_FILE_MAPPED_SHMEM" throughout. + - V6 SCR: V6 screensaver shows graphics for both V5 and V6 applications. + (This required permitting rpc.show_graphics without gui_rpc password.) + NOTE: I have updated the Windows screensaver code to allow this, but + have not yet tested it. + + api/ + boinc_api.C + graphics2_util.C + client/ + app.C + app_start.C + gui_rpc_server_ops.C + clientscr/ + mac_saver_module.cpp + screensaver.cpp,h + screensaver_win.cpp,h + lib/ + shmem.C,h + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Rytis 26 Sep 2007 + - User web: fix an annoyance when team founder transfer is requested and + the requester leaves the team. + NOTE: DB UPDATE REQUIRED. + + db/schema.sql + html/ + inc/ + team.inc + ops/ + db_update.php + user/ + team_change_founder_form.php + team_founder_transfer_form.php + +David 26 Sept 2007 + - API: initialize backwards_compatible_graphics to true. + + NOTE: as of this checkin, applications built with the API + code in the trunk are assumed to do V6-type graphics. + If your app doesn't, then you must set + backwards_compatible_graphics to false + (and use boinc_init_graphics_options()) + + api/ + boinc_api.h + + +David 26 Sept 2007 + - API: debug the code for handling V5 graphics messages + in a V6 app (and launching/killing the graphics app) + - API: start timer thread even if in standalone mode + (needed to get timer callbacks for V6 graphics) + - API: remove BOINCSetForegroundWindow stuff + - API: call DestroyWindow instead of boinc_exit() in WM_CLOSE. + boinc_exit() is the wrong thing to call - e.g. it tries to delete + the lock file, resulting in a 5-sec delay on exit + + api/ + boinc_api.C + graphics2_util.C + graphics2_win.C + clientscr/ + screensaver_win.cpp + lib/ + shmem.h + util.C + +Charlie 27 Sep 2007 + - API: fix 2 bugs in new compatibility code for handling V5 graphics + messages in a V5 app. + - Make graphics app's pid static so it is still available when + time to "hide" graphics. + - Kill graphics app when worker app exits; this is needed to work + properly with V5 screensaver. + + api/ + boinc_api.C + +David 27 Sept 2007 + - file upload handler: fix major bug (introducted 12 Sept) + that caused it to report "volume full" erroneously + - added --help option to some backend programs; + gives general info and directs to web page + + sched/ + assimilator.C + census.C + db_dump.C + file_upload_handler.C + +Rom 27 Sept 2007 + - WIN INSTALL: Add custom action to create the two user accounts + needed to implement the sandbox. + + TODO: Still need a random password generator. + + win_build/installerv2/redist/Windows/src/boinccas + boinccas.vcproj + CACreateBOINCAccounts.cpp, .h (Added) + +David 27 Sept 2007 + - client: first pass at fixing a fundamental design flaw: + there's a single GUI_HTTP object, + and it works only if used sequentially, + i.e. an op is started only after the previous one ends. + This breaks if a GUI RPC triggerse and op while + a project-list fetch (initiated by the client itself) is in progress. + Or if two managers are connected at the same time, + and both do HTTP ops. + The solution: have a separate GUI_HTTP object for each GUI_RPC_CONN, + and an additional one for use by the client itself. + + client/ + acct_setup.C,h + client_state.C,h + gui_http.h + gui_rpc_server.C,h + gui_rpc_server_ops.C + +David 27 Sept 2007 + - client: finished up the above + + client/ + acct_setup.C,h + client_state.C,h + gui_rpc_server.C,h + gui_rpc_server_ops.C + net_stats.C,h + +Charlie 27 Sep 2007 + - Mac V6 GFX: add setMacPList() call. + + api/ + graphics2_unix.C + mac_icon.C + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 27 Sept 2007 + - graphics API: redo the code for backwards compatibility with V5 so that + at most one regular and one full-screen graphics window can be open, + and a "hide" message kills the full-screen window if one exists, + else a regular window. + Keep track of the PIDs separately for regular and full-screen. + Also, don't send a "hide" ack if we don't do graphics. + + api/ + boinc_api.C + lib/ + util.C,h + +Charlie 28 Sep 2007 + - graphics API: Write window size and position to a file in slot directory; + if exit and relaunched, open the window with same size and position. + - Mac V6 GFX: don't call setMacPList(). This shows graphics application icons + in the Dock so user can bring them to front when needed. If they wish, + projects can add a custom icon to their graphics application by calling + setMacIcon() as described in the document HowToBuildBOINC_XCode.rtf. + + api/ + graphics2_unix.C + +David 28 Sept 2007 + - scheduler: option wasn't working, + because the reply.req structure was getting zeroed + AFTER nresults_on_host was being set. + + sched/ + handle_request.C + sched_send.C + +Charlie 28 Sep 2007 + - graphics API: Write changed window size only after it has stopped changing. + + api/ + graphics2_unix.C + +Rytis 29 Sep 2007 + - User web: preview functionality for the forums. + + html/user/ + forum_edit.php + forum_post.php + forum_reply.php + +David 1 Oct 2007 + - user web: add "team search" page, which does a multi-criteria + search (keywords, country, type). + Have the new-user scenario route the user through this page. + Also, link to it rather than team.php for existing users. + - user web: use cookies rather than URLs to identify new users, + and show "Welcome to X" when they reach their user page. + - user web: don't show user intermediate page for join/quit team. + Just take them to their user page. + + DB update required; see ops/db_update.php + + html/ + inc/ + team.inc + team_types.inc + user.inc + ops/ + db_update.php + user/ + account_finish_action.php + create_account_action.php + home.php + team.php + team_join.php + team_search.php + team_quit_action.php + validate_email_addr.php + white.css + +Charlie 1 Oct 2007 + Sandbox: Fix a security hole so that switcher sets real user ID, + saved set_user-ID, real group ID and saved set_group-ID for process + in addition to effective user ID and effective group ID. This + prevents a project application from accidentally or maliciously + setting the effective user or group ID back to those of the user + who launched BOINC. + + client/ + check_security.C + switcher.C + clientgui/ + mac/ + SetupSecurity.cpp + mac_build/ + Mac_SA_Secure.sh + +David 2 Oct 2007 + - user web: tweaks to team search + + html/user/ + team_search.php + +David 2 Oct 2007 + - client: fix bug where failure to get project list would result + in an empty project list file. + - client: if failed to get project list file, retry in an hour, not immediately + + client/ + acct_setup.C + file_names.h + gui_http.h + lib/ + util.C + +Kevin 2 Oct 2007 + - Screen Saver (merge from 5.10): Add additional information about the work + running when no graphics are available. Increased the size to the box + displaying the message to accommodate larger image sizes. Add code to + center images if less then the allowed max size of 450x166 + - Screen Saver (merge from 5.10): If graphics are not available, + then rotate through the currently running results + (it will change every 10 seconds) for display so that all are presented + - Manager (merge from 5.10): During an auto-attach initiated by + a project_init.xml file, Mozilla based browsers are + checking cookies in the domain (ex: worldcommunitygrid.org) + for a project while IE cookies were only being checked for the + full project dns (www.worldcommunitygrid.org). + IE has been changed so that it will also check the domain. + This mechanism is generic and can be used by any project or + account manager. + - Manager (merge from 5.10): During an auto-attach initiated by + a project_init.xml file, the code to check for the Setup cookie + within an IE browser would fail and cause + the attach to project dialogue to close with no warning + in the event that there + is a cookie set for the project but there is not a Setup cookie. + - WCG files: Updated image, icon and installer files for WCG + + clientgui/ + browser.C + clientscr/ + screensaver_win.cpp + screensaver_win.h + +David 2 Oct 2007 + - client: if dont_contact_ref_site option is set, + contact a random project master URL rather than Google + to trigger personal firewall alert on version change + - switcher: compile fix for Linux (strlcpy doesn't exist, + and I didn't want to bring in libboinc.a) + + client/ + client_state.C + switcher.C + +Charlie 2 Oct 2007 + - Mac SCR: Create a new tiny utility gfx_switcher and put it inside + screensaver's bundle instead of a copy of switcher. It sets real + user ID, saved set_user-ID, real group ID and saved set_group-ID + for gfx app in addition to effective user ID and effective group + ID, all to user and group boinc_project. For safety, gfx_switcher + has very limited functionality: screensaver launches it with + arguments "-launch_gfx" and slot number to launch graphics for the + project app in that slot; or with arguments "-kill_gfx" and process + ID to kill graphics application running as user boinc_project. + + client/ + check_security.C + clientgui/ + mac/ + SetupSecurity.cpp + clientscr/ + gfx_switcher.C (added) + mac_saver_module.cpp + mac_build/ + boinc.xcodeproj/ + project.pbxproj + Mac_SA_Insecure.sh + Mac_SA_Secure.sh + +Rytis 3 Oct 2007 + - Private messages: allow interaction with multiple messages from the + inbox, add new related translation strings. + + html/ + /languages/ + en.po + user/ + forum_pm.php + +Eric K 3 Oct 2007 + - MacOS: Changes to allow command line builds on MacOS 10.3 + - New preprocessor symbol DARWIN_10_3 is defined in config.h when configure + script detects MacOS 10.3 + - Added explicit include of config.h in some files in lib/Mac + + configure.ac + lib/ + mac/ + QSymbols.c + QCrashReport.[ch] + QMachOImage.[ch] + +Frank Thomas 4 Oct 2007 + - Added clean-local target to lib/Makefile.am to remove lib/boinccmd and + lib/boinccmd.unmodified on "make clean" and also added + client/boinc.unmodified and clientgui/boincmgr.unmodified to the + respective clean-local targets. + + client/ + Makefile.am + clientgui/ + Makefile.am + lib/ + Makefile.am + +Charlie 3 Oct 2007 + - Win SCR: fix bug in compatibility code for V5 applications: use + MODE_FULLSCREEN, not MODE_WINDOW. + + clientscr/ + screensaver.cpp + +David 4 Oct 2007 + - Terminology in user web and client: + "task" instead of "result"; + "computer" instead of "host"; + "scheduler request" instead of "scheduler RPC" + "access to Internet" instead of "access to reference web site" + Fixes #428 + + client/ + cs_prefs.C + cs_scheduler.C + net_stats.C + html/ + inc/ + host.inc + result.inc + user.inc + user/ + explain_state.php + result.php + results.php + workunit.php + lib/ + prefs.C + sched/ + file_upload_handler.C + +David 4 Oct 2007 + - scheduler: bug fix in HR code: + in wu_is_infeasible(), check whether host type is unknown + before seeing if WU is already committed to different type + + sched/ + sched_array.C + sched_locality.C + sched_send.C,h + +Charlie 4 Oct 2007 + - API V6 GFX: Initialize boinc_max_fps = 30. + + api/ + graphics2.C + +Charlie 5 Oct 2007 + - CC: Fix crash bug: set app_client_shm.shm = NULL after calling + detach_shmem_mmap. + - V6 SCR: Merge code for Mac and Windows screensavers; use common + class, variable names and constants for Mac adapted from Windows + implementation; put central logic in screensaver.cpp as shared + function CScreensaver::DataManagementProc(). This adds full + functionality to Windows screensaver, including switching graphics + applications periodically, blanking, killing graphics app when the + associated worker app has exited, full compatibility with graphics + in V5 applications, etc. I have tested this fairly thoroughly on + both Mac and Windows XP. + + client/ + app.C + clientscr/ + mac_saver_module.cpp + mac_saver_module.h (added) + screensaver.cpp,h + screensaver_win.cpp,h + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 5 Oct 2007 + - client/manager/API: code cleanup to disentangle sandbox code from lib/. + - move client sandbox-specific code to a new file, sandbox.C + - remove g_use_sandbox from util.C; move to MainDocument.cpp (manager) + and sandbox.C (client) + - don't declare check_security() in util.h; it's not in util.C + - don't call remove_project_owned_file_or_dir() in + boinc_delete_file_aux() or boinc_rmdir(); + rather, at the points in the client that delete + dirs that are usually owned by boinc_projects, + call remove_project_owned_file_or_dir() first, + then clean_out_dir(). + - rename boinc_exec() to switcher_exec() and move it to sandbox.C + + Note: this change was sparked by needing to remove a call to getgrnam() + from boinclib, to avoid requiring the same version of glibc + on both compile and target hosts + + client/ + Makefile.am + app.C + app_control.C + app_start.C + client_state.C,h + client_types.C + cs_cmdline.C + file_names.C,h + gui_rpc_server.C + main.C + sandbox.C,h (new) + clientgui/ + MainDocument.cpp,h + lib/ + boinc_cmd.C + common_defs.h + error_numbers.h + filesys.C,h + str_util.C + util.C,h + +David 5 Oct 2007 + - win compile fixes + + client/ + client_state.C + cs_cmdline.C + +David 5 Oct 2007 + - feeder/scheduler: fix bug where APP.homogeneous_redundancy + is defined as a bool instead of int + (see its only nonzero value is 1, so the "coarse" HR type is ignored). + + db/ + boinc_db.C,h + sched/ + feeder.C + hr_info.C + sched_send.C + +Frank Thomas 7 Oct 2007 + - Added manpages in DocBook/XML source format and integrated them in the + autotools build process. They are compiled into troff format using + docbook2x-man if it is available on the build system. + + configure.ac + Makefile.am + doc/ + manpages/ + Makefile.am + boincmgr.xml + boinc_client.xml + boinc_cmd.xml + +David 7 Oct 2007 + - user web: add format_credit_large() function to show + credit in situations where it's likely to be large (e.g. team totals) + + html/ + inc/ + host.inc + team.inc + user.inc + util.inc + user/ + pending.php + team_change_founder_form.php + +David 7 Oct 2007 + - user web: remove debugging text from host merge page + + html/inc/ + host.inc + +David 7 Oct 2007 + - user web: when a table column has numbers intended to be compared, + right-justify them + + html/inc/ + team.inc + +Janus 8 Oct 2007 + Bittorrent: + - Changed the torrent generator behaviour from trying only the exact path + to the file given to trying all paths given by removing the root of the + path in each step. This enables lookups like: + ?file=http://someplace.org/yadayada/somepath/real_path_starts_here/file + where it will then also find the file in 'real_path_starts_here'. + This makes it easier for the core client Bittorrent code to lookup + the metadata for a given file when it only knows the URL to that file. + - Added SQL peer table. This table contains active peers from the tracker. + + html/bt/ + torrent_cache.php + database/ + bittorrent_peers.sql + +Rom 8 Oct 2007 + - MGR: User errors are supposed to be red, not internal errors. + + clientgui/ + ViewMessages.cpp, .h + +Charlie 8 Oct 2007 + - client/manager/API: Finish & fix bugs in code cleanup to disentangle + sandbox code from lib/. + - Move clean_out_dir() out of lib. + - create new low-level routines delete_project_owned_file() and + remove_project_owned_dir(). These should be called by client + instead of boinc_delete_file() and boinc_rmdir() for files or + directories which may have owner or group boinc_project. + - Add sandbox.C to XCode project. + - Fix compile error in Mac screensaver. + + client/ + app.C + app_control.C + client_types.C + cs_trickle.C + file_names.C + sandbox.C,h + clientgui/ + BOINCGUIApp.cpp + MainDocument.cpp + mac/ + MacGUI.pch + clientscr/ + mac_saver_module.cpp + screensaver.cpp + lib/ + filesys.C,h + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Charlie 9 Oct 2007 + - V6 SCR: Add handshaking between Mac screensaver threads when updating + progress display. + - Fix minor bugs in Windows screensaver and cleanup. + - Fix Windows compile errors due to sandbox reorganization. + - Add sandbox.C,h to Windows Client and Updater builds. + + client/ + sandbox.C + clientscr/ + mac_saver_module.cpp,h + screensaver.cpp + screensaver_win.cpp,h + tools/ + updater.C + win_build/ + boinc_cli_curl.vcproj + boinc_ss.vcproj + updater.vcproj + +David 9 Oct 2007 + - updated svn ignore properties; deleted some .cvsignore files + +David 9 Oct 2007 + - remove "updater" from tools/ Makefile + + tools/ + Makefile.am + +David 9 Oct 2007 + - update_versions now generates for all app versions + - user web: don't XML-escape team names in DB + - deleted obsolete files + - calloc() return check, fixes #277 + + client/ + gui_titles.C,h (deleted) + html/ + inc/ + team.inc + user/ + team_edit_action.php + tools/ + update_versions + +David 10 Oct 2007 + - client/lib: compile fixes for OpenBSD (fixes #431) + + client/ + hostinfo_unix.C + log_flags.C + lib/ + util.C + +Janus 10 Oct 2007 + - Added SQL table for bittorrent_ipbans + - Fixed an issue where servers with php magic quotes turned on could + cause Bittorrent-enabled clients to only be able to use HTTP to + fetch certain files (when the infohash of that file contained a + backslash or similar escape char). + + html/bt + announce.php + scrape.php + inc/ + bittorrent_ipbans.sql (new) + +Charlie 10 Oct 2007 + - Mac V5 GFX API: In setMacPList(), if resource already exists, don't + call getPathToThisApp() because it leaves a zombie process. + This call probably won't be used in V6 applications. + - Mac: Remove obsolete files gui_titles.C,h from XCode project. + + api/ + mac_icon.C + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Charlie 11 Oct 2007 + - V6 GFX: Fix bugs in graphics compatibility with V5 applications: + - Initialize APP_VERSION::graphics_exec_path to empty string. + - Remember previous graphics mode when setting V5 applications + to MODE_FULLSCREEN and restore mode when exiting fullscreen. + - Fix typos in comments. + - Mac: remove obsolete screensaver comments. + + client/ + app.h + app_graphics.C + client_state.C + clientscr/ + mac_saver_module.cpp + clientgui/ + MainDocument.cpp + +Eric K. 11 Oct 2007 + - Require non-zero credit to create profile. David will modify to be + configuration option + + html/ + user/ + create_profile.php + +Charlie 11 Oct 2007 + - V6 GFX: Call waitpid to prevent gfx_switcher leaving zombie processes. + - Fix to debugging code in gfx_switcher. + - Update sandbox security documentation. + + clientgui/ + mac/ + SetupSecurity.cpp + clientscr/ + gfx_switcher.C + screensaver.cpp + doc/ + sandbox.php + +Charlie 11 Oct 2007 + - Mac V5 GFX API: Fix old zombie process bug (I hope). getPathToThisApp() + should call pclose(), not fclose(). + + api/ + mac_icon.C + +David 12 Oct 2007 + - API: get rid of getrusage_mutex to synchronize calls to getrusage() + and access to worker_thread_ru. + This was being used in the worker signal handler, + which is bad because pthread_mutex_lock() can allocate memory. + I don't think this matters; at worst we might get + CPU times off by < 1 sec. + + api/ + boinc_api.C + lib/ + util.C,h + sched/ + sched_util.C + +David 12 Oct 2007 + - API: handle wacky values in worker_thread_ru: + - check for infinity/NaN + - check for CPU time decreasing + - check for CPU time increasing faster than real time + ... and deal with each of these in a hopefully reasonable way + + api/ + boinc_api.C + +David 15 Oct 2007 + - client: fix bug where delay request from project is ignored + if no results are returned. + Also, made the "Deferred" messages conditional on sched_op_debug + Fixes #430 (from Rattledagger) + + client/ + cs_scheduler.C + scheduler_op.C + work_fetch.C + +Bruce 15 Oct 2007 + - ops pages. In the course of a four-hour repair of the E@H database, + where a sysadmin accidentally set outcome=6 in the entire result table, I + noticed some inconsistencies in the summary result tables, for example that + they did not properly incorporate outcome==7 (client detached) or + client_state==6 (aborted). I have fixed this. + + html/ + inc/ + db_ops.inc + +David 16 Oct 2007 + - Initial checkin of Bossa code. + This isn't part of BOINC and eventually + it should go in a different repository, + but for now I'm putting it here. + + db/ + bossa_constraints.sql + bossa_schema.sql + html/ + inc/ + bossa_db.inc + ops/ + bossa_make_jobs_example.php + bossa_setup_example.php + user/ + bossa_get_job.php + +Rom 16 Oct 2007 + - DEP: Update libCurl to 7.17.0 + + curl/include/curl/ + + curl/mswin/ + + +Rom 16 Oct 2007 + - TRAY: Introduce BOINC Tray for Windows. It's primary goal is + to keep the CC up to date with when the last time the user + has used the computer. It has no UI. It is just meant to + be launhced at startup and let run in the background. + + clienttray/ + boinc_tray.h (Added) + boinc_tray.rc (Added) + tray_win.cpp, .h (Added) + +David 16 Oct 2007 + - API, Unix: call getrusage() from the timer thread, + not the worker signal handler. + There's no reason to call it from the signal handler - + it returns the CPU for the entire process, not the calling thread. + And it may be asynch-signal-handler-unsafe. + - API: comment out checks for bad CPU times. + I don't think this is needed now, and in some cases it's wrong + (multi-threaded apps can accumulate CPU faster than real time) + - API, Unix: in boinc_calling_thread_cpu_time(), don't retry getrusage(). + - Bossa: switch to better class structure (suggested by Nicolas Alvarez). + Haven't switched to mysqli yet, but will later. + Also various other Bossa fixes + + api/ + boinc_api.C + db/ + bossa_constraints.sal + bossa_schema.sql + html/ + inc/ + bossa_db.inc + ops/ + bossa_make_jobs_example.php + bossa_setup_example.php + user/ + bossa_example.php (new) + bossa_get_job.php + lib/ + util.C + +Charlie 16 Oct 2007 + - Win V6 SCR compatibility: Version 5 screensaver logic kills all + MODE_WINDOW graphics before starting one in fullscreen mode, then + restarts the ones it killed when screensaver stops. So write + size and position to a file in slot directory and restore when + exiting fullscreen. + + api/ + graphics2_win.C + +Charlie 16 Oct 2007 + - Mac: Update for curl_7.17.0. + + mac_build/ + buildcurl.sh + HowToBuildBOINC_XCode.rtf + setupForBOINC.sh + boinc.xcodeproj/ + project.pbxproj + +Charlie 16 Oct 2007 + - API, Unix: call getrusage() from inside boinc_worker_thread_cpu_time() + and make worker_thread_ru a local stack variable to avoid potential + problems with thread preemption. + + api/ + boinc_api.C + +David 17 Oct 2007 + - client: improve log messages + + client/ + cs_scheduler.C + pers_file_xfer.C + scheduler_op.C + clienttray/ + tray_win.cpp + +Charlie 18 Oct 2007 + - Fix compiler warning, + + client/ + cs_scheduler.C + +David 18 Oct 2007 + - client (win): fix time-zone code + + client/ + hostinfo_win.C + +Rom 18 Oct 2007 + - Add the Global prefix to the shared memory segment that + is used to track keyboard and mouse activity for any + machine that is Windows 2000 or better. + + clientlib/win/ + IdleTracker.cpp + +David 18 Oct 2007 + - Bossa: + JSON-encode stuff + use text instead of varchar(255) a couple of places + create Bossa class for utility functions + + db/ + bossa_constraints.sql + bossa_schema.sql + html/ + inc/ + bossa.inc (new) + ops/ + bossa_make_jobs_example.php + user/ + bossa_example.php + +Charlie 18 Oct 2007 + - client: Fix double daylight savings time adjustment on UNIX/Linux. + + client/ + hostinfo_unix.C + +Rom 18 Oct 2007 + - TRAY: Remove the icon resource from boinctray.exe + + clienttray/ + boinc_tray.h + boinc_tray.rc + tray_win.cpp + +Eric K 19 Oct 2007 + - Added ability for forum moderators to vote for banishment of a poster + - New db tables banishment_vote and banishment_votes + - Daemon script vote_monitor for timing the votes + - new configuration option + + db/ + schema.sql + tools/ + vote_monitor + Makefile.am + html/ + inc/ + forum_email.inc + forum_moderators.inc + forum_banishment_vote.inc + html/ + user/ + forum_banishment_vote.php + forum_banishment_vote_action.php + + +David 20 Oct 2007 + - client: cc_config.xml can contain one or more elements + specifying additional alternate platforms. + + client/ + cs_platforms.C + log_flags.C,h + +Reinhard 21 Oct 2007 + - configure.ac: fixed handling of curl-libs to avoid erroneous + trunction of compiler-flags containing '-l', such as '-funroll-loops'. + These are not really supposed to be contained in "curl-config --libs", + but apparently this happens at least in Gentoo, as reported here: + http://bugs.gentoo.org/show_bug.cgi?id=139621. + I have applied the patch supplied by Darragh Bailey (of 2006-07-07). + This should fix Gentoo Bugzilla Bug 139621. + + configure.ac + +David 21 Oct 2007 + - client: add to elements in state file. + These are needed by some 3rd-party software that uses + the state file instead of GUI RPCs + + client/ + app.C + +David 21 Oct 2007 + - API: fix bug introduced in 13696 causing no graphics on Linux + + api/ + graphics2_unix.C + +Rytis 22 Oct 2007 + - User web: add HTML DOCTYPE (4.01 Transitional) to all pages, make some + HTML validity changes. + + html/ + inc/ + forum.inc + stats_sites.inc + util.inc + project.sample/ + project.inc + user/ + forum_forum.php + forum_index.php + stats.php + +David 22 Oct 2007 + - API: some changes relevant only to SETI@home. + + api/ + graphics2.h + reduce.h + reduce_lib.C + reduce_main.C + +David 22 Oct 2007 + - GUI RPC: fix format of request + - GUI RPC: don't enable network on bad request + + client/ + gui_rpc_server_ops.C + lib/ + gui_rpc_client.C + +David 22 Oct 2007 + - client: remove unparsed XML error for + - client: remove spurious error if include in cc_config.xml + + client/ + app.C + log_flags.C + +Rom 23 Oct 2007 + - client: read_file_string was modified sometime ago to support tail + functionality, we really do want only the last 63KB of stderr + for science applications. + + client/ + app_control.C + + +David 23 Oct 2007 + - assimilator: there was a bug in the situation where: + 1) a WU is marked as ready for assimilation and has no errors; + 2) it has no canonical result + In this case, the assimilate handler gets called anyway, + typically with the canonical result of the previous WU as arg. + Note: this situation doesn't arise normally; + it might happen if some results are deleted accidentally. + The fix: + - identify this situation, and set the WU.error_mask to a new code + (WU_ERROR_NO_CANONICAL_RESULT) + - zero out the "canonical_result" variable passed to the handler, + so even if the handler fails to check wu.error_mask, + at least it won't assimilate the same result twice. + Thanks to Hendrik Verhoek for finding this bug. + - DB schema: team table type is MyISAM, not InnoDB + + db/ + boinc_db.h + schema.sql + sched/ + assimilator.C + +Charlie 23 Oct 2007 + - Mac client: Add 64-bit support for OS 10.5 (new platform x86_64-apple-darwin). + These changes should have no effect until we add the x86_64 architecture + using the OS 10.5 SDK to the XCode build rules. + + client/ + app.h + app_graphics.C + app_start.C + cs_platforms.C + hostinfo_unix.C + clientgui/ + mac/ + config.h + Mac_GUI.pch + +Frank Thomas 24 Oct 2007 + - MGR: Check on account creation if wxGetUserName() returned an empty + string and if it did assign the output of wxGetUserId() to + ai->user_name instead. (fixes #440) + + clientgui/ + ProjectProcessingPage.cpp + +David 24 Oct 2007 + - user web: enable the "merge computers by name" feature. + I added this on 30 May 07 but accidentally left + "if ($userid==0)" around it. + + html/user/ + merge_by_name.php + hosts_user.php + +David 24 Oct 2007 + - user web: change "host" to "computer" in a few places + + html/ + inc/ + host.inc + user/ + hosts_user.php + +David 24 Oct 2007 + - client: fixed bug that broke idle detection on Unix. + The problem: the various checks were surrounded by things like + #ifdef HAVE__DEV_MOUSE + If the host on which the client is built doesn't have a mouse + (as is the case with our build machine) + then the resulting executable doesn't check /dev/mouse, + even if it exists on the target host. + - removed configure checks for /dev/mouse, /dev/kbd, and /dev/tty1 + + configure.ac + client/ + hostinfo_unix.C + html/user/ + create_profile.php + +David 24 Oct 2007 + - client: add and + cc_config.xml options to change log file size limit + from the default of 2 MB + + client/ + log_flags.C,h + main.C + lib/ + diagnostics.C,h + +Rom 24 Oct 2007 + - DIAG: Remove references to diagnostics_set_thread_name(). + + api/ + boinc_api.C + windows_opengl.C + lib/ + diagnostics.h + diagnostics_win.C + +Charlie 25 Oct 2007 + - Mac: Fix compiler warnings. + - Mac: Clean up XCode project build rules, add Deployment_no64 build + configuration, add some x86_64 architecture-specific build settings + in preparation for 64 bit support. + + clientscr/ + gfx_switcher.C + lib/ + shmem.C + mac_installer/ + uninstall.cpp + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +Rytis 25 Oct 2007 + - User web: add reCAPTCHA to profile creation/modification page. + Documented in http://boinc.berkeley.edu/trac/wiki/ProtectionFromSpam + + html/ + inc/ + profile.inc + recaptchalib.php (from recaptcha.net/plugins/php) + user/ + create_profile.php + +David 25 Oct 2007 + - Bossa: changed the DB infrastructure to let Bossa tables + live in a different database (and/or server) than the BOINC tables. + Also eliminated the need to call a DB init function. + This involved: + 1) adding etc. entries to config.xml + 2) prefixing DB name to table name in all Bossa queries + (this is needed if Bossa DB is on same server as BOINC DB, + since we're using persistent connections) + - user web: added Montenegro, and changed Serbia and Montenegro to Serbia + (requires DB update to make latter change in existing records) + + html/ + inc/ + bossa_db.inc + countries.inc + db.inc + ops/ + bossa_make_jobs_example.php + bossa_setup_example.php + db_update.php + user/ + bossa_get_job.php + +David 25 Oct 2007 + - user web: added optional , and + elements to config.xml; + determine the number of entries to show per page + in top user/team/host lists + + html/user/ + top_users.php + top_teams.php + top_hosts.php + +Charlie 26 Oct 2007 + - Mac: Update XCode project build rules to generate DWARF-style symbol + tables, which are much smaller and more efficient. Use gcc-4.0 compiler + for all builds except PowerPC libraries (to maintain compatibility back + to OS 10.3.0 for science applications with older versions of BOINC) and + boinc_cmd (because it uses libboinc.a). BOINC Client and BOINC Manager + now require OS 10.3.9 or later (upgrade to 10.3.9 from OS 10.3.0 through + 10.3.8 is a free download from Apple.) More XCode build rule cleanup. + - Mac: Installer displays an error message and quits if OS < 10.3.9. + - Mac SCR: fix GridRepublic branding bug. + + clientgui/ + mac/ + SecurityUtility.cpp + SystemMenu.m + clientscr/ + mac_saver_module.cpp + mac_installer/ + GR-ReadMe.rtf + Installer.cpp + PostInstall.cpp + ReadMe.rtf + release_boinc.sh + release_GridRepublic.sh + mac_build/ + boinc.xcodeproj/ + project.pbxproj + +David 26 Oct 2007 + - Bossa: refactor DB code, creating a new PHP class DbConn + representing a connection to a database. + This is independent of Bossa, + and we should rewrite the BOINC PHP code based on this. + + html/ + inc/ + bossa_db.inc + user/ + bossa_example.php + +David 26 Oct 2007 + - user web: added new framework for DB access from PHP. + Here's how things should eventually be: + - inc/db_conn.inc defines DbConn, a PHP class representing + a connection to a database with + various generic operations (update, insert etc.). + DbConn prepends the DB name to table names, + so you don't have to select a DB; + this means you can access multiple databases + (e.g. BOINC and Bossa) and use persistent connections. + ALL MYSQL-SPECIFIC CODE WILL EVENTUALLY BE HERE. + - inc/boinc_db.inc defines classes BoincUser, BoincTeam etc., + representing the various BOINC DB tables. + All access to the DB should use these classes. + + When you use this framework, no initialization calls are needed. + db.inc is deprecated and should eventually be removed. + + I changed get_logged_in_user() + and all team-related code to use this framework. + - user web: show team founder link to "management functions" + even if they're not currently a member; + allow team founder to perform all operations even if not a member. + - turned on E_ALL error checking, + and fixed a bunch of warnings + and a couple of bugs ($team, not team) + + - database: update schema/constraints for team fulltext search + - user web: forgot to change Serbia and Montenegro to Serbia + + db/ + constraints.sql + schema.sql + html/ + inc/ + boinc_db.inc (new) + bossa_db.inc + countries.inc + db_conn.inc (new) + team.inc + translation.inc + user.inc + util.inc + user/ + logout.php + team*.php + top_teams.php + +David 26 Oct 2007 + - user web: fixed a few hex colors without # + + html/ + inc/ + profile.inc + result.inc + util_ops.inc + db_ops.inc + user/ + forum_text_search_form.php + + donate.php + +Charlie 27 Oct 2007 + - Mac: Fix bugs in scripts for building wxMac-2.6.3; fix XCode project + when using debug build of wxMac-2.6.3; Use gcc-4.0 compiler to + build wxMac-2.6.3 and curl_7.17.0 for use in BOINC Client and Manager. + - Mac: buildcurl.sh accepts optional argument -gcc33 to use gcc-3.3 for + PowerPC build so it can be linked with BOINC libraries when building + backward-compatible project science applications. + + mac_build/ + buildcurl.sh + buildWxMac.sh + setupForBOINC.sh + boinc.xcodeproj/ + project.pbxproj + +David 27 Oct 2007 + - user web: show "merge by name" only to owner + Fixes #451 + + html/user/ + hosts_user.php + +David 27 Oct 2007 + - user web: Add BoincDb::escape_string(), + and have boinc_real_escape_string + call it rather than mysql_real_escape_string(), + to ensure that a DB connection exists + (you need one to call mysql_real_escape_string()). + - some additional conversion to BoincDb-based classes + + html/ + inc/ + host.inc + boinc_db.inc + profile.inc + db_conn.inc + db.inc + user/ + host_delete.php + team_lookup.php + +David 28 Oct 2007 + - user web: changes to use new DB framework and eliminate PHP warnings + + html/ + inc/ + boinc_db.inc + db_conn.inc + forum_email.inc + forum_mysql_dbh.inc + forum_pm.inc + host.inc + news.inc + user.inc + util.inc + xml.inc + user/ + host_edit_action.php + host_edit_form.php + host_venue_action.php + hosts_user.php + merge_by_name.php + pending.php + top_hosts.php + +David 28 Oct 2007 + - user web: more of the above. + Also, try to make it PHP 4 compatible + + html/ + inc/ + boinc_db.inc + db_conn.inc + host.inc + profile.inc + user/ + create_profile.php + profile_menu.php + profile_search_action.php + lib/ + prefs.C + +Rytis 29 Oct 2007 + - Ops pages: add a page to list recently registered users + + html/ + ops/ + index.php + list_new_users.php + +Frank Thomas 29 Oct 2007 + - MGR: Fixed broken URLs in the Help menu. The URLs are only broken if the + Manager was built with the wxWidgets unicode variant. + + clientgui/ + AdvancedFrame.cpp + +David 29 Oct 2007 + - User web: more DB framework changes; + extended DB framework to allow use of a read-only replica + + html/ + inc/ + boinc_db.inc + db_conn.inc + forum_user.inc + team.inc + uotd.inc + util.inc + user/ + am_set_info.php + create_team.php + team_create_action.php + team_join.php + team_join_action.php + top_hosts.php + top_teams.php + top_users.php + totals.php (removed) + +David 30 Oct 2007 + - user web: fix some PHP warnings + - user web: more DB code conversion + + html/ + inc/ + forum_banishment_vote.inc + prefs.inc + user/ + am_set_host_info.php + forum_thread.php + account_finish_action.php + account_finish.php + +David 30 Oct 2007 + - initial checkin for Bolt + + db/ + bolt_constraints.sql + bolt_db.sql + html/ + inc/ + bolt.inc + bolt_db.inc + bolt_ex.inc + bossa_db.inc + ops/ + bolt_setup_sample.php + user/ + bolt.php + bolt_course_sample.php + bolt_sched.php + +David 30 Oct 2007 + - API: when creating message strings for CPU time etc., + use strlcat() instead of strcat(). + Einstein@home has seen some SEGVs in this function. + I suspect that it's getting 1e304-type values + (why? possible bugs in getrusage-related code, still) + and that these cause long strings that overflow the message buffer. + + api/ + boinc_api.C + +David 30 Oct 2007 + - user web: eliminate some PHP warnings, and code cleanup + + html/ + inc/ + forum.inc + forum_mysql_dbh.inc + user/ + forum_search_action.php + +David 30 Oct 2007 + - user web: bug fix in home.php + + html/user/ + home.php + +Charlie 31 Oct 2007 + - Mac: Fix bugs when running under OS 10.5: menubar icon menu; + installer bugs due to PackageMaker changes; linker warnings + due to addition of visibility patch to compiler; new command- + line utilities for flushing users & groups caches (used by + BOINC installer). + + clientgui/ + mac/ + SetupSecurity.cpp + SystemMenu.m + MacSysMenu.cpp + mac_build/ + buildWxMac.sh + boinc.xcodeproj/ + project.pbxproj + mac_installer/ + release_boinc.sh + release_GridRepublic.sh + +David 31 Oct 2007 + - user web: bug fix in forum banish + - user web: add link to boinc-team-founders Google group + in founder management page + + doc/ + white.css + html/ + inc/ + forum.inc + user/ + forum_moderate_post_action.php + forum_reply.php + team_manage.php + +David 31 Oct 2007 + - API: compile fix for systems without strlcat() + + api/ + boinc_api.C + +David 31 Oct 2007 + - client: fix bug where account settings (e.g. don't get new work) + weren't being updated from account managers. + This was because BAM! wasn't returning the + in accounts already described in the request message. + (This violates the protocol, but it's reasonable so what the heck). + The client was ignoring all records without an authenticator. + Solution: allow records without an authenticator. + - Manager: fix crash after the Manager kills a graphics app + for a no-longer-running result. + Changed loop logic to go forwards instead of backwards. + + client/ + acct_mgr.C + clientgui/ + MainDocument.cpp + +David 31 Oct 2007 + - user web: make buttons look better; + add a function show_button() to display links as buttons + with hover-based explanation. + This should be used whenever clicking on something + performs an action, rather than just going to a new page + (sometimes the boundary is fuzzy) + - user web: fixed bug when send private message by user name + + html/ + inc/ + forum.inc + util.inc + user/ + forum_post.php + white.css + +David 1 Nov 2007 + - user web: + - replace some links with buttons in forum pages; add hover text. + - show "mark all threads as read" only in forum page + - fix bugs in team creation + + html/ + inc/ + boinc_db.inc + forum.inc + languages/translations/ + en.po + user/ + forum_forum.php + forum_thread.php + white.css + +David 1 Nov 2007 + - user web: + - use show_image() to show images in forums; + this adds a title=X so that users get + an explanation of what the action is. + - turns out the + works on Firefox but not IE. + Fix this by adding OnClick to the + + html/ + inc/ + forum_show.inc + forum.inc + util.inc + user/ + forum_forum.php + +David 1 Nov 2007 + - user web: + - changed Private Messages interface so that you see + all your messages on one page, + and remove various redundant links + (like the Inbox link on the Inbox page) + - changed links to buttons for moderator functions + + api/ + graphics2_win.C + html/ + inc/ + forum.inc + forum_pm.inc + user/ + forum_forum.php + forum_pm.php + forum_thread.php + languages/translations/ + en.po + +Rytis 2 Nov 2007 + - user web: convert translations from tokens to strings; update Lithuanian translation. + - ops pages: add user removal feature (for spammers). + + html/ + inc/ + forum.inc + team.inc + user.inc + util.inc + languages/translations/ + en.po + lt.po + ops/manage_user.php + user/ + account_finish.php + apps.php + create_account_action.php + create_account_form.php + forum_edit.php + forum_forum.php + forum_index.php + forum_post.php + forum_reply.php + forum_report_post.php + forum_search.php + forum_search_action.php + forum_text_search_action.php + forum_thread.php + info.php + sample_index.php + top_hosts.php + top_teams.php + top_users.php + +David 2 Nov 2007 + - user web: outside of screwed up Opera + + html/ + inc/ + forum.inc + user/ + forum_thread.php + +Rom 2 Nov 2007 + - CC: Remove the event handler for CTRL-C, or rather change it + so that it means the same thing as it does to other apps, just + quit the CC instead of suspending or resuming the CC. + + client/ + main.C + +David 2 Nov 2007 + - user web: change more links to buttons; fix PHP warning + + html/ + inc/ + forum.inc + forum_moderators.inc + user/ + forum_thread.php + +David 2 Nov 2007 + - user web: add the ability to check/uncheck all PMs; clean up PM code + + html/user/ + am_set_info.php + forum_pm.php + white.css + +David 2 Nov 2007 + - user web: a private message is considered "read" the + first time it's shown. + No explicit "mark as read" action needed. + Also, no confirmation for message delete. + + db/ + constraints.sql + schema.sql + html/user/ + forum_pm.php + +Rytis 3 Nov 2007 + - user web: style server status page with CSS, some cleanup of the + stylesheet (based on ticket #457). + + html/ + ops/sample_server_status.php + user/white.css + +Rom 5 Nov 2007 + - CC: Treat the return code 0xC0000142 as though it is a temporary + error. 0xC0000142 means STATUS_DLL_INIT_FAILED which can happen + when an application attempts to create a new process while the OS + is shutting down, and when the desktop heap is fully utilized. + + This will keep an app from erroring out during Vista's shutdown + sequence. Only a reboot can fix the desktop heap. + + client/ + app.h + app_control.C + +David 5 Nov 2007 + - user web: add a general-purpose user search mechanism. + This lets you lookup up users sorted by + - descending join time + - descending total credit, or + - descending RAC + and lets you filter them by + - country + - presence/absence of team + - presence/absence of profile + It's implemented in such a way that no more than N + DB rows are examined + (i.e. it doesn't necessarily show you all the results) + - PHP database: add enum_fields() member to DbConn and BoincUser. + This is to select a limited number of fields + e.g. to make large queries more efficient. + Also added BoincTeam::lookup_id_cache(); this is an example + of how to look up items likely to be repeated + (like teams when you're showing a list of users) + + html/ + inc/ + boinc_db.inc + db_conn.inc + user.inc + util.inc + user/ + forum_forum.php + top_users.php + user_search_action.php (removed) + user_search.php (new) + +David 5 Nov 2007 + - user web: removed the "user search" option from profile_menu.php. + Added search-by-name to the user search page. + + html/user/ + user_search.php + profile_menu.php + +Charlie 6 Nov 2007 + - Mac: Fix brief flash of Manager window at OS 10.5 system startup. + - Mac: Fix compiler warnings when building boinc_cmd under OS 10.5. + - Mac: Strip additional symbols from deployment product. + + mac_installer/ + PostInstall.cpp + mac_build/ + buildWxMac.sh + boinc.xcodeproj/ + project.pbxproj + +David 6 Nov 2007 + - user web: BoincDb::get() checks if web activity is stopped, + and shows an error page (or XML error) if so. + + html/inc/ + boinc_db.inc + util.inc + +David 6 Nov 2007 + - user web: bug prevented host delete + + html/inc/ + boinc_db.inc + +Charlie 7 Nov 2007 + - Mac: Better error-handling in sandbox setup code. + + clientgui/ + mac/ + SetupSecurity.cpp + +David 7 Nov 2007 + - user web: added the notion of "Team Admin": team members, + appointed by the founder, who have most of the same + rights as the founder (edit team info, view/remove users). + They can't, however, change the founder, or select/remove Admins. + - user web: added the ability for founder to delete an empty team + - user web: count/show all team members, not just those with credit + - user web: Team Search returns top team if form fields left blank + - Added db_update.php entry for Eric's banishment_vote stuff + + html/ + inc/ + boinc_db.inc + db_conn.inc + team.inc + user.inc + util.inc + languages/translations/ + en.po + ops/ + db_update.php + user/ + bug_report_action.php (removed) + bug_report_form.php (removed) + create_account_action.php + sample_index.php + team_admins.php (new) + team_delta.php + team_display.php + team_edit_action.php + team_edit_form.php + team_email_list.php + team_manage.php + team_remove_inactive_action.php + team_remove_inactive_form.php + team_search.php + top_teams.php + user_search.php + +David 7 Nov 2007 + - user web: protect Team Admin ops from cross-project link attacks + + html/ + inc/ + team.inc + user/ + team_manage.php + team_admins.php + +Rom 7 Nov 2007 + - MGR: Change the layout of the Project List control. + - MGR: Clean up some comments in the task bar code since the comments + no longer served a purpose. + + clientgui/res/ + externalweblink.xpm (Added) + clientgui/res/templates/ + externalweblink.gif (Added) + clientgui/ + BOINCGUI.pjd + BOINCTaskBar.cpp + ProjectInfoPage.cpp + ProjectListCtrl.cpp, .h + +David 7 Nov 2007 + - API: in update_app_progress(), use %e instead of %f everywhere; + this limits the length of the generated string + ~12 chars even for big/small numbers. + Also reduce buffer size from 8000 to 256; + default thread stack size might not accommodate 8000 + extra. + + api/ + boinc_api.C + +David 7 Nov 2007 + - client: when starting an app, and an input/app file is not available, + show the file name and error code in the message + that's appended to the job's stderr_out. + + client/ + client_state.h + sim.h + cs_apps.C + app_start.C + +Janus 7 Now 2007 + - user web: Added green look to answered questions in the Q&A sections. + This is an old change that seemingly never reached SVN + when it was originally made last year. + + html/user/ + white.css + +David 7 Nov 2007 + - user web: enhancements to the "foundership request" feature: + - If a request is pending, notify the current founder + in red on their Account page. + (previously there was no notification on the web; + if the founder didn't get the notification email, + they'd never find out; and if they read but lost the email, + they'd lose the URL they needed to visit to decline). + - Also notify current founder on the Admin Functions page + - On the team page + requesting user: show that request is pending, and the deadline. + founder: show that request is pending, link to respond + other users: show Deferred if can't make a request yet + - Say 90 days instead of 60 days where appropriate; + other text cleanup + - user web: team_change_founder_action.php was generating + a different name for each element of a radio button group. + That makes it not a radio button. + + html/ + inc/ + team.inc + user.inc + user/ + team_admins.php + team_change_founder_action.php + team_change_founder_form.php + team_founder_transfer_action.php + team_founder_transfer_form.php + team_manage.php + +David 7 Nov 2007 + - user web: Team Admins can't remove members + + html/ + inc/ + team.inc + user/ + team_admins.php + team_remove_inactive_action.php + +David 7 Nov 2007 + - user web: set PHP memory limit to 64 MB + + html/inc/ + util.inc + +Charlie 8 Nov 2007 + Mgr SG: Fix SG preferences bug: set "custom" checkmark only if + global_prefs_override.xml file exists. + Mac: Additional changes to release scripts for compatibility with new + PackageMaker. + + clientgui/ + sg_DlgPreferences.cpp,h + mac_installer/ + release_boinc.sh + release_GridRepublic.sh + +David 9 Nov 2007 + - DB: remove "lang" from schema - not used + - DB: added parent_type to forum + - user web: BoincUser uses caching by default + - client: fixed small memory leak in statistics parsing + + db/ + schema.sql + html/ + inc/ + boinc_db.inc + db_conn.inc + forum_show.inc (deleted) + forum2_db.inc (new) + user.inc + ops/ + db_update.php + user/ + forum_reply.php + forum_text_search_action.php (deleted) + forum_text_search_form.php (deleted) + team_manage.php + user_search.php + +Charlie 9 Nov 2007 + Mgr SG: Fix SG preferences bug: save "Do work only between" and + "Connect only between" as doubles, not longs so they work + properly. + + clientgui/ + sg_DlgPreferences.cpp + +Janus 11 Nov 2007 + - User web: Factored out the supermassive if-sentence in forum.inc:show_post() + It is now a seperate function called should_show_post() and it returns a + boolean. + + html/inc/ + forum.inc + +David 11 Nov 2007 + - Manager: use random colors for disk usage pie chart + (need to have unique color per project, + else tooltip will be wrong for some projects, + since it's based on color) + + clientgui/ + ViewResources.cpp,h + +David 12 Nov 2007 + - DB: fix typo in schema; fixes #466 + + db/ + schema.sql + html/ + inc/ + boinc_db.inc + db_conn.inc + forum2_db.inc + ops/ + db_update.php + +David 12 Nov 2007 + - user web: revise forum code to use new-style DB interface + + html/ + inc/ + forum.inc + forum_db.inc (new) + forum_email.inc + forum2_db.inc (removed) + forum_category.inc (removed) + forum_dbh.inc (removed) + forum_forum.inc (removed) + forum_mainfactory.inc (removed) + forum_moderators.inc (removed) + forum_mysql_dbh.inc (removed) + forum_pm.inc (removed) + forum_post.inc (removed) + forum_std.inc (removed) + forum_thread.inc (removed) + forum_user.inc (removed) + pm.inc (new) + user.inc + user/ + forum*.php + pm.php (new) + +David 12 Nov 2007 + - user web: update other code to use new-style DB interfaces + + html/ + inc/ + akismet.inc + boinc_db.inc + db.inc + db_conn.inc + user/ + account_finish_action.php + am_set_info.php + apps.php + create_account_info.php + delete_profile.php + edit_email_action.php + edit_passwd_action.php + forum_edit.php + forum_get_data.php + home.php + login_action.php + lookup_account.php + opt_out.php + pm.php + profile_rate.php + profile_search_action.php + results.php + validate_amil_addr.php + workunit.php + +David 12 Nov 2007 + - user web: fixes + + html/ + inc/ + boinc_db.inc + db.inc + user/ + result.php + results.php + show_user.php + workunit.php + +David 12 Nov 2007 + - client: fix bug in parsing of + element in master files. fixes #467 + + client/ + scheduler_op.C + +Bernd 13 Nov 2007 + - autoconf: fix usage of AC_ARG_ENABLE for debug and unicode + + configure.ac + + +Bernd 13 Nov 2007 + - added features to pass_percentage_per_platform: + + 1. distinguish between Darwin x86 and Darwin PPC + 2. lists the "fail rates" for individual client states to allow to + distinguish between download errors, computing errors and aborts + 3. optionally list individual "unknown" OS by name + 4. optionally list "unofficial" application versions + 3. and 4. are probably rather confusing on open-source projects like SETI, + but I found them helpful e.g. on Einstein + + html/ + inc/ + pass_percentage_per_platform.php + +Rom 13 Nov 2007 + - DEP: Update libCurl to 7.17.1 + + curl/include/curl/ + + curl/mswin/ + + +David 13 Nov 2007 + - user web: change forum prefs editing to use new DB interface + - fix bug in lookup_account RPC + + html/ + inc/ + forum.inc + forum_db.inc + user/ + edit_forum_preferences_action.php + edit_forum_preferences_forum.php + lookup_account.php + +Rom 13 Nov 2007 + - Fix build break introduced by new libcurl headers on Windows. + + lib/ + boinc_win.h + +Rom 13 Nov 2007 + - MGR: Update project list web link image. + + clientgui/res/ + externalweblink.xpm + clientgui/res/templates + externalweblink.gif + +Rytis 14 Nov 2007 + - user web: fix typo in lookup_account.php, preventing attach. + + html/user/ + lookup_account.php + +Charlie 14 Nov 2007 + Mac: Update libCurl to 7.17.1. + + mac_build/ + buildcurl.sh + HowToBuildBOINC_XCode.rtf + setupForBOINC.sh + boinc.xcodeproj/ + project.pbxproj + +David 15 Nov 2007 + - user web: code cleanup, deleted unused files + + html/ + inc/ + db_forum.inc (removed) + subscribe.inc (removed) + userw.inc (removed) + gallery.inc + host.inc + profile.inc + result.inc + team.inc + user.inc + util.inc + user/ + delete_profile.php + forum_moderate_thread_action.php + userw.php + +David 15 Nov 2007 + - client: if a project has DCF > 90 and has projected deadline misses, + give its jobs priority. + (from John McLeod) + + client/ + sim.C + cpu_sched.C + +David 15 Nov 2007 + - user web: bug fixes + + html/ + inc/ + forum_db.inc + ops/ + db_update.php + user/ + forum_edit.php + forum_user_posts.php + team_manage.php + +David 15 Nov 2007 + - user web: bug fix in forum edit function; fixes #474 + + html/user/ + forum_edit.php + +David 15 Nov 2007 + - user web: remove debugging code; + remove odd use of tables in edit forum prefs forum + Fixes #475; fixes #476 + + html/user/ + forum_index.php + edit_forum_preferences_form.php + +David 15 Nov 2007 + - user web: change stylesheet so that when showing + item/value pairs in table, don't bolden values + + html/user/ + white.css + +David 15 Nov 2007 + - user web: factor out code for forum header (search forum and PM info) + into a separate function. + Don't show subtitle bar for categories with no name. + Rename search_post_titles() to search_post_content() + + html/ + inc/ + forum.inc + user/ + forum_edit.php + forum_forum.php + forum_help_desk.php + forum_index.php + forum_post.php + forum_reply.php + forum_search_action.php + forum_subscribe.php + forum_thread.php + +Charlie 15 Nov 2007 + Mac: Workaround for header problem when building libcurl-7.17.1 for ppc + with gcc4. + Mac: Add x86_64 architecture to build of libcurl-7.17.1. + + mac_build/ + buildcurl.sh + +Rom 15 Nov 2007 + - MGR: Shrink the external web link icon to 12x12 to avoid having the + grey border. + - MGR: Use tooltips instead of balloons when displaying result completion + status. (from David Barnard) + + clientgui/ + BOINCTaskBar.cpp, .h + ProjectListCtrl.cpp + clientgui/msw + taskbarex.cpp, .h + +David 15 Nov 2007 + - user web: allow teams to create their own "team message board". + Team founder and admins have moderator power. + Anyone can view a team message board, + but only team members can write to it. + Users cannot be banished from team message boards + (due to database limitations). + + html/ + inc/ + boinc_db.inc + forum.inc + forum_db.inc + team.inc + user.inc + languages/translations/ + en.po + user/ + forum*.php + team_admins.php + team_delta.php + team_email_list.php + team_forum.php (new) + +David 15 Nov 2007 + - user web: in the various interfaces that show team member's + email addresses to team admins, + also show the user's "send_email" flag, + indicating whether the agreed to get "email newsletters" + from the project. + If this is set, teams should NOT send email to that user. + + Ideally, we should have a separate preference for whether + to get email from team + (or show email address to team admins at all) + + Fixes (more or less) #479 + + + html/ + inc/ + xml.inc + user/ + team_delta.php + team_email_list.php + +David 15 Nov 2007 + - user web: fix #478 + + html/inc/ + forum_db.inc + +David 15 Nov 2007 + - user web: only team founders can see member email addresses + + html/ + inc/ + team.inc + user/ + team_delta.php + team_email_list.php + +David 15 Nov 2007 + - user web: + show team message board on main Message Boards page + + html/user/ + forum_index.php + team_forum.php + +Charlie 16 Nov 2007 + MGR: Fix bug which showed Snooze task bar icon when it shouldn't. + Mac: Add 64-bit Intel support to Client and libraries. + + api/ + mac_icon.C + client/ + hostinfo_unix.C + clientgui/ + BOINCTaskBar.cpp + clientgui/ + SetupSecurity.cpp + lib/ + mac/ + QBacktrace.c + QCrashReport.c + QMachOImageList.c + mac_build/ + boinc.xcodeproj/ + project.pbxproj + BuildMacBOINC.sh + +David 16 Nov 2007 + - added optional code for user-submitted jobs (from M.F. Somers) + - added some scripts in ops/ for managing HR, and for blocking hosts. + (from M.F. Somers; these should be documented in the WIki + and perhaps added to ops/index.php) + + html/ + ops/ + hrclass_summary.php + reset_hrclass.php + block_host.php + queue/* + +David 16 Nov 2007 + - user web: change Team page: + - add more info about team message board (if it exists) + - show list of admins + - show list of new members (in last 24 hours) + - show number of members total, with credit, and with average credit + - move actual list of members to new page (team_members.php) + + html/ + inc/ + prefs.inc + team.inc + util.inc + user/ + team_display.php + team_members.php (new) + +David 16 Nov 2007 + - user web: fixes #482 + + html/ + inc/ + forum.inc + user/ + forum_thread.php + +David 16 Nov 2007 + - user web: if user unchecked "OK to send email" pref, + don't show his email address to team founder + - user web: change wording on project prefs page to clarify + that emails may come from project OR team + - user web: let team founder delete message board + + html/ + inc/ + forum_db.inc + prefs.inc + xml.inc + user/ + team_delta.php + team_email_list.php + team_forum.phhp + +David 16 Nov 2007 + - user web: on team message board pages, + put a link to the top-level message board + + html/ + inc/ + forum.inc + user/ + forum_post.php + forum_thread.php + forum_subscribe.php + forum_reply.php + forum_edit.php + +David 16 Nov 2007 + - user web: let team founder edit title/description + of team message board + + html/user/ + forum_forum.php + forum_index.php + team_forum.php + team_display.php + team_email_list.php + +David 16 Nov 2007 + - manager: compile fix + + clientgui/ + BOINCTaskBar.cpp + +Rytis 17 Nov 2007 + - user web: add "Powered by BOINC" logo to the repository and update + sample_index.php (fix #460). + + html/user/ + img/ + pb_boinc.gif + sample_index.php + +David 17 Nov 2007 + - user web: bug fix in moderation email send (fixes #485) + - BOINC-wide teams: HTML-escape user-supplied text (fixes #487) + + html/ + ops/ + team_import.php + team_export.php + user/ + forum_moderator_post_action.php + +David 17 Nov 2007 + - user web: fix bug in edit forum prefs + + html/user/ + edit_forum_preferences_action.php + +David 17 Nov 2007 + - user web: if join team while already in a team, + create outgoing delta also + + html/ + inc/ + host.inc + team.inc + user/ + team_join.php + +David 17 Nov 2007 + - user web: for moderation actions on team forums, + send email notifications to team founder (not project admin) + - user web: let project admins (S_ADMIN) moderate team forums + + html/ + inc/ + forum.inc + forum_email.inc + user/ + forum_moderate_post_action.php + forum_moderate_thread_action.php + forum_report_post.php + team_create_form.php + +David 17 Nov 2007 + - user web: send "red X" notifications on team boards + to project admins as well as team founder + + html/ + inc/ + forum_email.inc + user/ + forum_user_posts.php + +David 18 Nov 2007 + - user web: update post.modified when edit post (fixes #491) + + html/user/ + forum_edit.php + +David 18 Nov 2007 + - user web: text tweak, fixes #492 + + html/ + inc/ + pm.inc + languages/translations/ + en.po + +David 18 Nov 2007 + - user web: init DB in banishment vote page + + html/inc/ + forum_banishment_vote.inc + +David 18 Nov 2007 + - user web: fix bug in user list XML display + + html/user/ + team_email_list.php + +David 18 Nov 2007 + - user web: fix PM mass deletion; fixes #493 + + html/ + inc/ + forum_banishment_vote.inc + user/ + pm.php + +David 18 Nov 2007 + - user web: don't append "/" to URL_BASE. + URL_BASE is assumed to end with a /. + If you put another /, you end up with // in URLs. + This leads to a situation where you can have + one cookie for // and another for / - bad. + + If this causes problems for any projects, + they should edit their project.inc accordingly + + html/ + inc/ + forum_email.inc + gallery.inc + pm.inc + profile.inc + uotd.inc + user.inc + util.inc + ops/ + mass_email.php + mass_email_script.php + remind.php + user/ + donate.php + opt_out.php + profile_menu.php + sample_index.php + sample_rss_main.php + team_founder_transfer_action.php + uotd_gadget.php + +David 18 Nov 2007 + - user web: the "private-message notification by email" flag + should default to off. + Note: it's necessary to clear everyone's flag. + Projects will need to notify users (e.g. via a news item) + that they need to explicitly set this pref if they want email + notification of PMs + + db/ + schema.sql + html/ + inc/ + forum_db.inc + ops/ + db_update.php + user/ + edit_forum_preferences_action.php + +David 18 Nov 2007 + - user web: fix forum banishment vote stuff + + html/ + inc/ + forum_banishment_vote.inc + user/ + forum_banishment_vote_action.php + edit_forum_preferences_form.php + +Rom 19 Nov 2007 + - MGR: Don't display the snooze icon when CPU benchmarks are + running or when computation has been suspended due to + preferences. + + clientgui/ + BOINCTaskBar.cpp + +David 19 Nov 2007 + - user web: tweak PM-related text + + html/ + inc/ + pm.inc + forum.inc + user/ + white.css + +David 19 Nov 2007 + - user web: don't show controls in user post list; fixes #494 + + html/user/ + forum_user_posts.php + +David 19 Nov 2007 + - user web: clean up logic for dealing with forgotten password: + - login form now has ONLY email/passwd + ("login with account key" is gone) + - "forgot password?" takes you to a page with two options: + 1) type in email address, get an email with login link + 2) instructions for recovering account key from BOINC account file + - email is stripped-down, has login link and not much else + + fixes #190 + + html/ + inc/ + email.inc + util.inc + user/ + get_passwd.php + login_action.php + mail_passwd.php + white.css + +David 19 Nov 2007 + - user web: use forum prefs (e.g. display images as links) + when displaying PMs. fixes #497 + + html/ + inc/ + text_transform.inc + user/ + pm.php + +David 19 Nov 2007 + - user web: when send an email with login URL, + don't include the account key in the URL. + Rather, include the user ID, the time, and + a have of the ID, time, and account key. + Honor this for 1 day. + + html/ + inc/ + email.inc + user/ + login_action.php + +David 20 Nov 2007 + - user web: clean up funky search result formatting. + For thread titles, show links to forum/category also + For posts, show complete post, with search terms highlighted. + - user web: in display of posts for a user, + show links to thread and forum also + - user web: posts/threads can become "orphaned" if their forum + disappears, e.g. team message board is deleted. + Handle this gracefully in search results and user post list + - user web: where HTML tags are allowed, say so + - user web: fix bug where wrap_postcounts weren't being shown in form + - DB: use "tinyint" instead of "tinyint(1) unsigned" etc. + + db/ + schema.sql + html/ + inc/ + boinc_db.inc + forum.inc + team.inc + user/ + edit_forum_preferences_action.php + edit_forum_preferences_form.php + forum_forum.php + forum_index.php + forum_search_action.php + forum_thread.php + forum_user_posts.php + html.php + white.css + +David 20 Nov 2007 + - DB: add fulltext index on team.name + - user web: improve "team search" function, + and get rid of the superceded "search by name" function + - user web: don't show team founder link to initiate transfer + - user web: show team types + - user web: fix "top teams by type" function + - client: tread NOT_FOUND error on file upload as transient; + it means the project is missing its file_upload_handler + + client/ + file_names.h + pers_file_xfer.C + db/ + constraints.sql + schema.sql + html/ + inc/ + team.inc + team_types.inc + ops/ + db_update.php + user/ + team.php + team_search.php + top_teams.php + +David 20 Nov 2007 + - user web: team search tweaks. Fixes #183 + + html/ + inc/ + forum_banishment_vote.inc + user/ + team_search.php + +David 20 Nov 2007 + - user web: add a config file option. + This specifies min average credit needed to create or edit a profile. + + html/inc/ + forum.inc + profile.inc + +David 20 Nov 2007 + - user web: disable feature where answered questions are + shown in green - not ready for prime time. + + html/user/ + forum_forum.php + +David 20 Nov 2007 + - user web: fix WAP function + + html/ + inc/ + wap.inc + user/ + userw.php + +David 21 Nov 2007 + - client: removed -return_results_immediately cmdline option + (wasn't implemented anyway) + - client: added configuration flag; + causes results to be reported as soon as done. + Needed for some WCG machines that are reformatted often. + Should NOT be used in general, since it increases server load. + + client/ + client_state.h + cs_cmdline.C + log_flags.C,h + work_fetch.C + +David 21 Nov 2007 + - user web: send UOTD email using PHPMailer if available; fixes #503 + - user web: don't show team forum in Q&A page + - scheduler: code (commented out) to recognize when + a sched request is from an existing host + (same IP/domain/RAM size) and reuse the host record; + from Kevin Reed + + html/ + inc/ + uotd.inc + user/ + forum_help_desk.php + sched/ + handle_request.C + +David 21 Nov 2007 + - user web: team admins receive email notification of + moderation and red-X events, as well as team founder + - user web: admins can view team join/quit history + (which no longer contains email addresses) + - user web: update text describing admin privileges + + html/ + inc/ + forum_email.inc + user/ + team_delta.php + team_admins.php + +David 21 Nov 2007 + - user web: show list of subscribed threads on forum index page + - user web: highlight subscribed threads using green background + - user web: hyperlink thread titles in search results + + html/ + inc/ + forum.inc + user/ + forum_forum.php + forum_index.php + forum_search_action.php + +David 21 Nov 2007 + - user web: URL fix + + html/inc/ + forum.inc + +David 21 Nov 2007 + - user web: fix bug in user filter; fixes #505 + + html/user + forum_edit_forum_preferences_action.php + forum_edit_forum_preferences_form.php + +David 21 Nov 2007 + - user web: if user edits posts and content is empty, delete; fixes #504 + + html/ + inc/ + forum.inc + forum_db.inc + user/ + forum_edit.php + +David 23 Nov 2007 + - prevent 2 forums for 1 team + + html/user/ + team_forum.php + +David 23 Nov 2007 + - user web: fix translation bug (from Nicolas Alvarez) + - user web: fix small bug in team search + + html/ + inc/ + translation.inc + user/ + team_search.php + +David 23 Nov 2007 + - user web: when showing UOTD on front page, + strip HTML tags from text (e.g. to remove photos) + - user web: show_image(): separate title (tooltip text) + from "alt" (replaces image if images disabled). + The latter must be terse. + - user web: show_button(): make it work even if Javascript disabled + + html/ + inc/ + forum.inc + uotd.inc + util.inc + user/ + forum_forum.php + forum_reply.php + pm.php + sample_index.php + +David 23 Nov 2007 + - team import: fix string-escaping bugs + - user web: don't show links to sched logs if they don't exist + - user web: add new team types + + html/ + inc/ + host.inc + team_types.inc + ops/ + team_import.php + +David 24 Nov 2007 + - user web: add config option. + If set, only team members can see team forums + + html/ + inc/ + forum.inc + team.inc + user/ + forum_search.php + forum_thread.php + forum_forum.php + forum_search_action.php + +David 25 Nov 2007 + - user web: use enum_fields() when enumerating team members; + hopefully this will prevent running out of memory on large teams + + html/user/ + team_email_list.php + team_manage.php + +David 25 Nov 2007 + - web: reorder and reword Your Account page and Forum prefs page; + rename General Prefs to Computing Prefs; + rename Forum Prefs to Community Prefs + add Prefs link if user doesn't have email PM notification + - remove forum low/high rating theshold stuff. + Message rating was a failed experiment. + + html/ + inc/ + pm.inc + prefs.inc + user.inc + languages/translations/ + en.po + user/ + edit_forum_preferences_action.php + edit_forum_preferences_form.php + get_passwd.phph + +David 25 Nov 2007 + - web: fix PHP errors, add translations strings + + html/ + inc/ + forum.inc + pm.inc + team.inc + user.inc + util.inc + languages/translations/ + en.po + user/ + edit_forum_preferences_forum.php + team_display.php + user_search.php + +David 25 Nov 2007 + - web: when showing team forums, give link back to forum index + + html/ + inc/ + forum.inc + user/ + forum_edit.php + forum_forum.php + forum_reply.php + forum_subscribe.php + forum_thread.php + +David 27 Nov 2007 + - API graphics: changes to REDUCED_ARRAY to support new S@h graphics + - API: fix format codes in stack trace printf + + api/ + reduce.h + reduce_lib.C + reduce_main.C + lib/ + diagnostics_win.C + +David 27 Nov 2007 + - client: clean up logic of handling DLL_INIT_FAILED exits on Win. + Shouldn't cause any functional change + + client/ + app.h + app_control.C + +Rom 28 Nov 2007 + - WINSETUP: Update CACreateBOINCUsers. + - WINSETUP: Create CACreateBOINCGroups. + - WINSETUP: Create CAGrantBOINCMasterRights. + - WINSETUP: Create CAGrantBOINCProjectRights. + - WINSETUP: Remove CACreateVBSShortcut. + - WINSETUP: Remove CAGrantServiceExecutionRight. + - WINSETUP: Remove CAMigrateCPDNBBC. + - WINSETUP: Remove CAPopulateServiceAccount. + - WINSETUP: Remove CAValidateServiceAccount. + - WINSETUP: Remove CAVerifyServiceExecutionRight. + - WINSETUP: Remove CAVerifyServicePassword. + - WINSETUP: Hookup new custom actions + + NOTE: For some reason the advanced configuration screen + checkboxes are not working, so the CA's are setup to run + always to test them out. + + win_build/installerv2/ + BOINC.ism + win_build/installerv2/redist/Windows/src/boinccas/ + CAGrantServiceExecutionRight.cpp, .h (removed) + CAMigrateCPDNBBC.cpp, .h (removed) + CAPopulateServiceAccount.cpp, .h (removed) + CAValidateServiceAccount.cpp, .h (removed) + CAVerifyServiceExecutionRight.cpp, .h (removed) + CAVerifyServicePassword.cpp, .h (removed) + CACreateBOINCUsers.cpp + CACreateBOINCGroups.cpp, .h (added) + CAGrantBOINCMasterRights.cpp, .h (added) + CAGrantBOINCProjectRights.cpp, .h (added) + +David 28 Nov 2007 + - web: clean up moderation emails for post hide/unhide. + TODO: other moderation emails + - web: fix small bug in host merge function + + html/ + inc/ + forum_email.inc + host.inc + user/ + host_edit_form.php + forum_moderate_post.php + forum_moderate_post_action.php + +Rom 28 Nov 2007 + - WINSETUP: Fix the various checkboxes + - WINSETUP: Fix the data directory stuff so if the user + changes the default location it cascades down to the + projects and slots directories as well. + - WINSETUP: Fix the permissions on the install directory + - WINSETUP: Add new public properties to the Save/Restore + state custom actions. + + win_build/installerv2/ + BOINC.ism + win_build/installerv2/redist/Windows/src/boinccas/ + CARestoreSetupState.cpp + CASaveSetupState.cpp + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + +David 28 Nov 2007 + - Bolt development + + db/ + bolt_schema.sql + html/ + inc/ + bolt.inc + bolt_db.inc + ops/ + bolt_setup_sample.php + user/ + bolt.php + bolt_sched.php + +David 29 Nov 2007 + - web: clean up forum prefs forum, and add a Confirm when reset + + html/ + inc/ + bolt_ex.inc + forum_db.inc + user/ + edit_forum_preferences_action.php + edit_forum_preferences_form.php + +David 29 Nov 2007 + - web: include private message content in email notification + + html/user/ + pm.php + +David 29 Nov 2007 + - API: code cleanup + removed references to "graphics thread" + removed HANDLE timer_quit_event + removed enable_heartbeat/disable_heartbeat messages + (not sure what the ideas was, but no longer exists) + removed heartbeat_active flag (use options.check_heartbeat instead) + read heartbeat-channel messages even if heartbeat disabled + (since we use that channel for WSS messages too) + - client: remove ACTIVE_TASK::thread_handle (not used) + + api/ + boinc_api.C + client/ + app.C,h + app_start.C + lib/ + app_ipc.h + +David 29 Nov 2007 + - web: updating forum prefs would undo banishment, + reset #posts, and clear moderator flags. Fixed. + + html/ + inc/ + db_conn.inc + user/ + edit_forum_preferences_action.php + +David 29 Nov 2007 + - web: if a team forum is deleted, delete all the threads and posts + beneath it. + Otherwise you get "zombie" posts, and e.g. when we should a user's + posts, they might all be hidden. + Also added a script to retroactively clean up these. + + html/ + ops/ + repair_forums.php + user/ + team_forum.php + +David 29 Nov 2007 + - web: fix this forum prefs reset problem again; this time for sure + + html/ + inc/ + forum_db.inc + user/ + edit_forum_preferences_action.php + +Rom 30 Nov 2007 + - WINSETUP: Randomly generate boinc_master and boinc_project passwords + - WINSETUP: Fix permission problems with newly created directories. + (Was an Installshield bug) + - WINSETUP: Add CAMigrateBOINCData + - WINSETUP: Fix long standing bug with the LAUNCHPROGRAM stuff showing + up on removes and admin installs + - Remove the admin required flag from all application manifests for + all executables. + - Fix a possible AV when the CC was launched without admin privs on + Windows. + + clientlib/win/ + IdleTracker.cpp + win_build/ + boinc_cli_curl.vcproj + boinc_dll.vcproj + boinccmd.vcproj + boincmgr_curl.vcproj + sim.vcproj + updater.vcproj + vistaadminrequired.xml (removed) + vistaadminrequiredui.xml (removed) + win_build/installerv2/ + BOINC.ism + win_build/installerv2/redist/Windows/src/boinccas/ + boinccas.vcproj + boinccas95.def + boinccas95.vcproj + CACreateBOINCAccounts.cpp + CAGrantBOINCMasterRights.cpp + CAMigrateBOINCData.cpp, .h (Added) + dirops.cpp, .h (Added) + password.cpp, .h (Added) + stdafx.h + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + +Rom 30 Nov 2007 + - WINSETUP: Policy change, the migration of the data files happens in + two stages. The first stage happens before InstallInitialize and the + second stage happens after InstallFinalize. Everything between + InstallInitialize and InstallFinalize just generates a script + and doesn't actually change the file system, so the permission trees + just get screwed up. + - WINSETUP: Updated CAMigrateBOINCData + - WINSETUP: Created CAMigrateBOINCDataTemp + - WINSETUP: Created CAStartupBOINCService + - CC: Change the current working directory on startup to the DATADIR. (Windows Only) + - MGR: Change the current working directory on startup to the DATADIR. (Windows Only) + - CC: Change the logic for pointing to the CA Certificate Bundle on + Windows. + + client/ + http_curl.C + main.C + clientgui/ + BOINCGUIApp.cpp + win_build/installerv2/ + BOINC.ism + win_build/installerv2/redist/Windows/src/boinccas/ + boinccas.def + boinccas.vcproj + boinccas95.def + boinccas95.vcproj + CAGrantBOINCMasterRights.cpp + CAGrantBOINCProjectRights.cpp + CAMigrateBOINCData.cpp + CAMigrateBOINCDataTemp.cpp, .h (Added) + CAShutdownBOINC.cpp + CAStartupBOINCService.cpp, .h (Added) + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + +Rom 30 Nov 2007 + - MGR: Add the ability for the manager to know the difference + between the executable directory and the data directory. + (Windows Only) + - TRAY: Update the tray code to what was used in 5.10.x + - WINSETUP: Update for BOINCTray.exe + + clientgui/ + BOINCGUIApp.cpp, .h + SkinManager.cpp + clienttray/ + tray_win.cpp, .h + win_build/ + boinc.sln + boinctray.vcproj + win_build/installerv2/ + BOINC.ism + +David 30 Nov 2007 + - scheduler: + - if WU is infeasible, print message instead of number + - remove useless messages + - remove EDF simulations printfs + - don't update nresults_on_host in resend_lost_work() + (it's already done in add_result_to_reply()) + + sched/ + edf_sim.C + handle_request.C + sched_array.C + sched_resend.C + sched_send.C,h + +David 30 Nov 2007 + - web: escape single-quotes in javascript strings + + html/inc/ + util.inc + +David 30 Nov 2007 + - web: put "mark all threads as unread" on the forum index, + since it applies to all forums. + + html/user/ + forum_index.php + forum_forum.php + +David 1 Dec 2007 + - web: show explanation if try to change team name to one in use + - web: don't allow bad tags in team name HTML + + html/user/ + team_edit_action.php + +David 1 Dec 2007 + - client: don't fetch project list from boinc.berkeley.edu + if the config flag is set + + client/ + acct_setup.C + +Rom 2 Dec 2007 + - WINSETUP: Fix a few more permission problems with how + InstallShield does things. + - WINSETUP: Don't attempt to create accounts or set rights + on Win9x based systems. + - WINSETUP: Add additional trace messages to + CACreateBOINCAccounts. + - WINSETUP: Add entries for a null script when creating + user accounts, apparently it is a requirement for + creating accounts on Win2k and WinXP. + + win_build/installerv2/ + BOINC.ism + win_build/installerv2/redist/Windows/src/boinccas/ + CACreateBOINCAccounts.cpp + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + +Rom 2 Dec 2007 + - CC: Move time_stats file creatio logic so that it is + created during gstate.init() instead of at class + creation time. This way time_stats.log ends up in + the data directory. + + client/ + client_state.C + time_stats.C, .h + +David 2 Dec 2007 + - web: if user is banished, don't show their posts except to mods, + don't show their name in thread headers, + and don't show their profile + + html/ + inc/ + forum.inc + profile.inc + util.inc + user/ + forum_edit.php + +David 2 Dec 2007 + - client: hopefully fix keyboard input detection on Linux + + client/ + hostinfo_unix.C + +David 3 Dec 2007 + - client: fix bug that would falsely report DLL init errors + - client: don't crash when detach a project using anonymous platform + (fixes #511) + + client/ + app_control.C + client_state.C,h + cs_cmdline.C + gui_rpc_server_ops.C + +Rom 3 Dec 2007 + - client: Use a buffer scoped to the HTTP_OP object instead of + a std::string scoped to the stack when passing the CABundle + location to libcurl. + + client/ + http_curl.C, .h + +Charlie 4 Dec 2007 + Mac: Update build scripts and documentation for x86_64 support. + + mac_build/ + buildcurl.sh + buildjpeg.sh + BuildMacBOINC.sh + HowToBuildBOINC_XCode.rtf + +David 4 Dec 2007 + - ops: in team import script, send email to team founder + when creating team + - web: if user changes email addr, clear email_validated + + html/ + ops/ + team_import.php + user/ + edit_email_action.php + +David 4 Dec 2007 + - web: edit team page was rejecting valid HTML team names + + html/user/ + team_edit_action.php + +David 4 Dec 2007 + - client: CPU sched bug fixes when project has huge DCF. + Also prevent switching between two jobs with same deadline. + + client/ + cpu_sched.C + +Charlie 4 Dec 2007 + Mac: Fix compiler warnings. + + lib/ + mac/ + QCrashReport.c + +Rom 5 Dec 2007 + - client: Update client libraries and add debug libraries. + zlib 1.2.3 + OpenSSL 0.9.8g + LibCurl 7.17.1 + + curl/ + + openssl/ + + zlib/ + + +Rom 5 Dec 2007 + - WIN: Update project files to account for new directory structure. + + win_buld/ + + +David 7 Jan 2007 + - Add weak account key mechanism. + Each account has an associated weak account key. + The user can see it by visiting weak_auth.php. + If you put the weak account key in the account file on a computer + (instead of the regular account key) + the computer will attach to the account. + But the weak account key cannot be used to log in + to the account on the web, or to do web RPCs, or anything else. + + Note: this involves a scheduler change. + + html/ + ops/ + team_export.php + user/ + weak_auth.php + sched/ + handle_request.C + +Charlie 7 Dec 07 + - Mac: Fix visibility linker warnings when linking BOINC libraries with + project applications, boinc_cmd, etc. + - Mac: Fix jpeg library build problem when building under OS 10.5 and + XCode 3.0 (compatibility settings issue, enter "man compat" in Terminal + for more info). + + mac_build/ + buildjpeg.sh + boinc.xcodeproj/ + project.pbxproj + +David 8 Dec 07 + - tweaked weak-auth page (from Nicolas Alvarez) + + html/ + languages/translations/ + en.po + user/ + weak_auth.php + +David 10 Dec 07 + - compile fixes + + sched/ + Makefile.am + wample_work_generator.C + html/ + inc/ + uotd.inc + user/ + account_finish_action.php + lib/ + util.C + +David 12 Dec 07 + - code cleanup + + client/ + file_names.C + html/user/ + account_finish_action.php + +Rom 12 Dec 2007 + - WINSETUP: Replace two stage migration with a single stage + defered custom action, implement rollback functionality, + and increase trace output in case of failure. + - WINSETUP: Let MSI start the BOINC Service now. + + win_build/installerv2/ + BOINC.ism + win_build/installerv2/redist/Windows/src/boinccas/ + CAMigrateBOINCData.cpp, .h + CAMigrateBOINCDataTemp.cpp, .h (deleted) + CAStartupBOINCService.cpp, .h (deleted) + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + +Rom 12 Dec 2007 + - MGR: Remove extra call to SetWorkingDirectory() since it + is causing authentication errors. + + clientgui/ + BOINCGUIApp.cpp + MainDocument.cpp + +Rom 13 Dec 2007 + - WINSETUP: Fix a couple permission problems when protected + mode isn't defined. + - WINSETUP: Streamline the CC startup procedure when + the manager launches the CC. + + clientgui/ + BOINCGUIApp.cpp + win_build/installerv2/ + BOINC.ism + win_build/installerv2/redist/Windows/src/boinccas/ + CACreateBOINCGroups.cpp + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + + +Charlie 14 Dec 07 + - MGR: Fix bug determining whether Client is already running; try + rpc.get_host_info() in addition to rpc.init(). This takes the + place of the old rpc.get_screensaver_mode() test in V5 Manager + and is needed if some security or firewall software is present. + + clientgui/ + BOINCGUIApp.cpp + +Rom 14 Dec 07 + - SCR: Reimplement the screensaver rpc test for v6 so that the + screensaver can trip the firewall while the user is at the + terminal. + + clientscr/ + screensaver_win.cpp + +Rom 14 Dec 2007 + - Tag for 6.1.5 release, all platforms + boinc_core_release_6_1_5 + + client/ + configure.ac + version.h + +Charlie 17 Dec 07 + - Mac MGR: Fix serious memory leak under OS 10.5 by upgrading to + wxMac 2.8.7. This causes a minor cosmetic bug in SimpleGUI which + needs fixing. + + mac_build/ + buildWxMac.sh + HowToBuildBOINC_XCode.rtf + boinc.xcodeproj/ + project.pbxproj + +Rom 17 Dec 2007 + - WINSETUP: Attempt to shutdown any BOINC processes much earlier + in the execution cycle. Originally did this in the 5.10 branch. + - WINSETUP: Add some more checks to safe guard the migration process. + 1. Check to see if the install directory and the data directory are + the same, if so, abort migration. + 2. Check to see if the data directory is under the install directory, + if so, abort migration. + 3. If the client_state.xml file already exists in the data directory, + abort migration. + + win_build/installerv2/ + BOINC.ism + win_build/installerv2/redist/Windows/src/boinccas/ + CAMigrateBOINCData.cpp + win_build/installerv2/redist/Windows/Win32/ + boinccas.dll + boinccas95.dll + win_build/installerv2/redist/Windows/x64/ + boinccas.dll + boinccas95.dll + +David 18 Dec 2007 + - user web: add "friend" and "notification" features + - user web: code cleanup in Profile area + - GUI RPC: add missing "/" in auth2 RPC + + db/ + constraints.sql + schema.sql + html/ + inc/ + forum_db.inc + gallery.inc + profile.inc + team.inc + user.inc + ops/ + db_update.php + user/ + create_profile.php + friend.php (new) + show_user.php + lib/ + gui_rpc_client.C + +Charlie 18 Dec 07 + - MGR: Work around long-standing cosmetic bug in SimpleGUI with + newer versions of wxwidgets. For unknown reasons, the size of + the ClientStateIndicator panel was reduced from (343,314) to + (336,300) before it is updated in CViewTabPage::DrawText(). + This hack simply sets the size back to its original value. + + clientgui/ + sg_ViewTabPage.cpp + +Charlie 19 Dec 07 + - Mac MGR: Fix code which draws menubar icon to properly use alpha + channel with newer versions of wxwidgets. + - Mac: Fix curl library build problem when building under OS 10.5 and + XCode 3.0 (compatibility settings issue, enter "man compat" in Terminal + for more info). + + clientgui/ + mac/ + SystemMenu.m + MacSysMenu.cpp,h + mac_build/ + buildcurl.sh + boinc.xcodeproj/ + project.pbxproj + +David 19 Dec 2007 + - client: changes to make the client work on "Debian GNU/kFreeBSD", + a hybrid system that acts like Linux at the user + level but has a FreeBSD kernel. + Fixes #521 + + configure.ac + client/ + main.C + hostinfo_unix.C + +David 19 Dec 2007 + - user web: bug fix in code to limit posting rate + - admin web bug fixes + + html/ + inc/ + forum.inc + ops/ + list_new_users.php + manage_user.php + sample_server_status.php + +Charlie 19 Dec 07 + - Mac: Use localtime_r and fmtime_r in wxWidgets and eliminate + compiler warnings + - Mac: make build scripts more robust. + - Mac: Work around bug in wxMac-2.8.7 implementation of wxListCtrl::RefreshItem() + which does not update the display. The default wxListCtrl in wxMac-2.8.7 + uses DataBrowser, but allows us to select the traditional generic implementation + with a wxSystemOptions::SetOption() call. + + clientgui/ + BOINCGUIApp.cpp + stdwx.h + mac_build/ + boinc.xcodeproj/ + project.pbxproj + buildcurl.sh + buildjpeg.sh + BuildMacBOINC.sh + buildWxMac.sh + +David 21 Dec 2007 + - compile fixes (remove comma after last element of enum) + + lib/ + prefs.h + common_defs.h + +David 21 Dec 2007 + - fix PHP warning in forums + + html/inc/ + forum.inc + +David 21 Dec 2007 + - API: switch back to structure where the worker thread + calls getrusage() in a signal handler to find its CPU time. + Apparently there are some kernels and/or thread libraries + where getrusage() does NOT return the total CPU time of + all threads in the process, + so in these cases calling it from the timer thread doesn't work. + + This was originally changed because of concerns that + calling getrusage() in a signal handler was dangerous; + we'll see if any problems re-emerge. + + The alternative of reading /proc/PID/stats doesn't seem viable; + format may not be standardized. + + api/ + boinc_api.C + +David 21 Dec 2007 + - API: check for messages from client 10X a second; + this will allow smoother CPU throttling + - delete_file: bug fixes (from Nicolas Alvarez). Fixes #78 + + api/ + boinc_api.C + sched/ + delete_file.C + +David 21 Dec 2007 + - user web: when creating cache dir, chmod() so that + protections are right regardless of umask. + From Nicolas Alvarez; fixes #344 + + html/inc/ + cache.inc + +David 21 Dec 2007 + - compile fixes for gcc 4.3 (from Frank Thomas) + Fixes #514 + + various files + +David 21 Dec 2007 + - make_project: add --web_only option. + This lets you create a project for Bossa or Bolt + without compiling the C++ stuff, which is not used by Bossa or Bolt. + - DB schema: change type= to engine= to avoid MySQL warning messages + + db/ + schema.sql + html/project.sample/ + project_spe + py/Boinc + setup_project.py + tools/ + make_project + +David 23 Dec 2007 + - web: if user has profile photo, use it instead of head_20. + + html/ + inc/ + boinc_db.inc + db_conn.inc + user.inc + util.inc + user/ + forum_moderate_thread.php + +David 24 Dec 2007 + - web: don't show profile pics in forums, + since we already show avatars there. + + html/inc/ + forum.inc + util.inc + +David 24 Dec 2007 + - make_project: don't create symbolic link html/user_profiles/user_profiles. + If there was ever a need for this, it has disappeared. + Fixes #524 + - fix bug in BOINC-wide team export script + + html/ops/ + team_export.php + py/Boinc/ + setup_project.py + +David 24 Dec 2007 + - web: don't require login for show_user.php + - web: add app selection to example project-specific prefs + (commented out by default) + - web: in prefs, flag too-low numeric values as errors, + rather than just setting to min value + - web: fix bug when add new venue from "columns" view + + html/ + inc/ + prefs.inc + uotd.inc + util.inc + ops/ + sample_server_status.php + project.sample/ + project_specific_prefs.php + user/ + show_user.php + sched/ + sched_send.C + +David 27 Dec 2007 + - web: default for user_links() is to not show profile pic. + Show the pic only in the context of friends list. + + html/ + inc/ + forum.inc + util.inc + user.inc + user/ + friend.php + +David 27 Dec 2007 + - client: add --start_delay cmdline option and config option. + Specifies an amount of time to delay starting apps + (e.g. so that BOINC doesn't slow down boot process) + + Note: mechanisms that start BOINC at boot time + need to figure out how to set this flag. + + client/ + client_state.C,h + cs_cmdline.C + cs_prefs.C + hostinfo_network.C + log_flags.C,h + lib/ + common_defs.h + +David 27 Dec 2007 + - upgrade script: fix it, and add --web_only option (fixes #527) + - web: replace "Result" by "Task" a couple of places + + html/ + inc/ + host.inc + user/ + hosts_user.php + tools/ + upgrade + +David 30 Dec 2007 + - web: add general-purpose notification mechanism. + Users can choose whether to get 1 email per notification, + a daily "digest" email, or no email. + (All notifications are shown on the Account page). + Currently used for: + - Friend requests and confirmations + - Posts to subscribed threads + - Private messages + + NOTE: To implement the "daily digest" feature, projects must add + a periodic task for html/ops/notify.php to config.xml + - web: have project_footer() generate links for + Account Page and Message Boards as well as Home + NOTE: projects that want this change + will have to modify their own project.inc. + + db/ + constraints.sql + schema.sql + html/ + inc/ + boinc_db.inc + friend.inc (new) + forum.inc + forum_db.inc + forum_email.inc + pm.inc + user.inc + ops/ + db_update.php + notify.php + project.sample/ + project.inc + user/ + edit_forum_preferences_action.php + edit_forum_preferences_form.php + forum_subscribe.php + forum_thread.php + pm.php + tools/ + make_project + +David 30 Dec 2007 + - Partly fix keyboard detection on Linux. + With this change, we detect opening a terminal + or typing into a terminal; + we don't detect typing into other applications. + (from Frank Thomas). Partly fixes #463 + + client/ + hostinfo_unix.C diff --git a/db/bolt_schema.sql b/db/bolt_schema.sql index 91f273d5da..07bee7f343 100644 --- a/db/bolt_schema.sql +++ b/db/bolt_schema.sql @@ -1,7 +1,9 @@ create table bolt_user ( - user_id integer not null, + user_id integer not null, birth_year integer not null, - sex smallint not null, + sex tinyint not null, + debug tinyint not null, + -- if nonzero, print debug info everywhere attrs text not null, primary key (user_id) ); diff --git a/html/inc/bolt.inc b/html/inc/bolt.inc index d15bfa9f30..ecd5f9ad7f 100644 --- a/html/inc/bolt.inc +++ b/html/inc/bolt.inc @@ -75,290 +75,18 @@ class BoltIter { } } -class BoltSequence extends BoltUnit { - public $units; - function __construct($n, $u) { - $this->name = $n; - $this->units = $u; - $this->is_item = false; - } - - function walk(&$iter, $incr, &$frac_done) { - $n = count($this->units); - if (array_key_exists($this->name, $iter->state)) { - $state_rec = $iter->state[$this->name]; - $child_name = $state_rec['child_name']; - - // look up unit by name - // - $child = null; - for ($i=0; $i<$n; $i++) { - $c = $this->units[$i]; - if ($c->name == $child_name) { - $child = $c; - break; - } - } - - // if not there, look up by index - // - if (!$child) { - $i = $state_rec['i']; - if ($i >= $n) { - // and if index is too big, use last unit - // - $i = $n-1; - } - $child = $this->units[$i]; - } - - // at this point, $child is the current unit, and $i is its index - // - if ($incr) { - $my_inc = false; - if ($child->is_item) { - $my_inc = true; - } else { - $my_inc = $child->walk($iter, $incr, $frac_done); - } - if ($my_inc) { - $i++; - if ($i == $n) { - $frac_done = 1; - $state_rec['i'] = 0; - $state_rec['child_name'] = null; - $iter->state[$this->name] = $state_rec; - return true; - } - } - } - } else { - $i = 0; - } - $child = $this->units[$i]; - $frac_done = $i/$n; - $state_rec = null; - $state_rec['i'] = $i; - $state_rec['child_name'] = $child->name; - $iter->state[$this->name] = $state_rec; - if ($child->is_item) { - $iter->item = $child; - } else { - $child->walk($iter, false, $f); - $frac_done += $f*(1/$n); - } - } -} - -// state for random unit is: -// seed The RNG seed used to shuffle -// i index of current child -// number_shown number of units shown so far (not necessarily the -// same as i on 2nd and later pass through this unit) -// child_name name of current child -class BoltRandom extends BoltUnit { - public $units; - function __construct($n, $u, $n) { - $this->name = $n; - $this->units = $u; - $this->is_item = false; - $this->number = $n; - $this->shuffled = false; - } - - function walk(&$iter, $incr, &$frac_done) { - $n = count($this->units); - if (array_key_exists($this->name, $iter->state)) { - $state_rec = $iter->state[$this->name]; - $child_name = $state_rec['child_name']; - $number_shown = $state_rec['number_shown']; - if (!$this->shuffled) { - srand($state_rec['seed']); - shuffle($this->units); - $this->shuffled = true; - } - - // look up unit by name - // - $child = null; - for ($i=0; $i<$n; $i++) { - $c = $this->units[$i]; - if ($c->name == $child_name) { - $child = $c; - break; - } - } - - // if not there, look up by index - // - if (!$child) { - $i = $state_rec['i']; - if ($i >= $n) { - // and if index is too big, use last unit - // - $i = $n-1; - } - $child = $this->units[$i]; - } - - // at this point, $child is the current unit, and $i is its index - // - if ($incr) { - $my_inc = false; - if ($child->is_item) { - $my_inc = true; - } else { - $my_inc = $child->walk($iter, $incr, $frac_done); - } - if ($my_inc) { - $i = ($i+1)%$n; - $number_shown++; - if ($number_shown >= $this->number) { - $frac_done = 1; - $state_rec['i'] = $i; - $state_rec['number_shown'] = 0; - $state_rec['child_name'] = null; - $iter->state[$this->name] = $state_rec; - return true; - } - } - } - } else { - $i = 0; - $number_shown = 0; - $state_rec = null; - $seed = ((double)microtime()*1000000); - srand($seed); - shuffle($this->units); - $state_rec['seed'] = $seed; - } - $child = $this->units[$i]; - $frac_done = $number_shown/$this->number; - $state_rec['i'] = $i; - $state_rec['number_shown'] = $number_shown; - $state_rec['child_name'] = $child->name; - $iter->state[$this->name] = $state_rec; - if ($child->is_item) { - $iter->item = $child; - } else { - $child->walk($iter, false, $f); - $frac_done += $f*(1/$number); - } - } -} - -class BoltExerciseSet extends BoltUnit { - public $units; - public $reviews; - function __construct($n, $u, $n, $r) { - $this->name = $n; - $this->units = $u; - $this->is_item = false; - $this->number = $n; - $this->shuffled = false; - $this->reviews = $r; - } - - // the scheduler calls this when an exercise in this set - // has just been graded. - // - record the score - // - if this is the last exercise in the set, - // create exercise_set_result record - // and optionally create or update bolt_refresh record - // - return a structure saying what navigation info to show: - // - review - // - repeat now - // - next - // - function xset_callback($score, &$nav_info) { - } - - function walk(&$iter, $incr, &$frac_done) { - $iter->xset = $this; - $n = count($this->units); - if (array_key_exists($this->name, $iter->state)) { - $state_rec = $iter->state[$this->name]; - $child_name = $state_rec['child_name']; - $number_shown = $state_rec['number_shown']; - if (!$this->shuffled) { - srand($state_rec['seed']); - shuffle($this->units); - $this->shuffled = true; - } - - // look up unit by name - // - $child = null; - for ($i=0; $i<$n; $i++) { - $c = $this->units[$i]; - if ($c->name == $child_name) { - $child = $c; - break; - } - } - - // if not there, look up by index - // - if (!$child) { - $i = $state_rec['i']; - if ($i >= $n) { - // and if index is too big, use last unit - // - $i = $n-1; - } - $child = $this->units[$i]; - } - - // at this point, $child is the current unit, and $i is its index - // - if ($incr) { - $my_inc = false; - if ($child->is_item) { - $my_inc = true; - } else { - $my_inc = $child->walk($iter, $incr, $frac_done); - } - if ($my_inc) { - $i = ($i+1)%$n; - $number_shown++; - if ($number_shown >= $this->number) { - $frac_done = 1; - $state_rec['i'] = $i; - $state_rec['number_shown'] = 0; - $state_rec['child_name'] = null; - $iter->state[$this->name] = $state_rec; - return true; - } - } - } - } else { - $i = 0; - $number_shown = 0; - $state_rec = null; - $seed = ((double)microtime()*1000000); - srand($seed); - shuffle($this->units); - $state_rec['seed'] = $seed; - } - $child = $this->units[$i]; - $frac_done = $number_shown/$this->number; - $state_rec['i'] = $i; - $state_rec['number_shown'] = $number_shown; - $state_rec['child_name'] = $child->name; - $iter->state[$this->name] = $state_rec; - if ($child->is_item) { - $iter->item = $child; - } else { - $child->walk($iter, false, $f); - $frac_done += $f*(1/$number); - } - } -} - class BoltItem extends BoltUnit { public $filename; + public $query_string; function __construct($name, $title, $filename) { - $this->filename = $filename; + $p = strpos($filename, '?'); + if ($p === false) { + $this->filename = $filename; + $this->query_string = null; + } else { + $this->filename = substr($filename, 0, $p); + $this->query_string = substr($filename, $p+1); + } $this->name = $name; $this->title = $title; $this->is_item = true; @@ -383,22 +111,6 @@ class BoltExercise extends BoltItem { } } -class BoltRefreshInterval { - public $intervals; - function __construct($i) { - $this->intervals = $i; - } -} - -class BoltReview { - public $score; - public $unit; - function __construct($s, $u) { - $this->score = $s; - $this->unit = $u; - } -} - function name($n) { return array('name', $n); } @@ -415,17 +127,6 @@ function filename($n) { return array('filename', $n); } -function refresh_interval($i) { - return array('refresh_interval', $i); -} - -function review($s, $u) { - return new BoltReview($s, $u); -} - -function refresh() { -} - function lesson() { $name = ""; $file = ""; @@ -482,82 +183,6 @@ function exercise() { return new BoltExercise($name, $title, $file); } -function sequence() { - $args = func_get_args(); - $units = array(); - $name = ""; - foreach ($args as $arg) { - if (is_array($arg)) { - switch ($arg[0]) { - case 'name': $name = $arg[1]; break; - case 'title': $title = $arg[1]; break; - default: echo "Unrecognized array arg: ", $arg[0], "\n"; break; - } - } else if (is_object($arg)) { - if (is_subclass_of($arg, "BoltUnit")) { - $units[] = $arg; - } else { - echo "Unrecognized arg: "; - print_r($arg); - } - } - } - return new BoltSequence($name, $units); -} - -function random() { - $args = func_get_args(); - $units = array(); - $name = ""; - $number = 1; - foreach ($args as $arg) { - if (is_array($arg)) { - switch ($arg[0]) { - case 'name': $name = $arg[1]; break; - case 'title': $title = $arg[1]; break; - case 'number': $number = $arg[1]; break; - default: echo "Unrecognized array arg: ", $arg[0], "\n"; break; - } - } else if (is_object($arg)) { - if (is_subclass_of($arg, "BoltUnit")) { - $units[] = $arg; - } else { - echo "Unrecognized arg: "; - print_r($arg); - } - } - } - return new BoltRandom($name, $units, $number); -} - -function exercise_set() { - $args = func_get_args(); - $units = array(); - $reviews = array(); - $name = ""; - $number = 1; - foreach ($args as $arg) { - if (is_array($arg)) { - switch ($arg[0]) { - case 'name': $name = $arg[1]; break; - case 'title': $title = $arg[1]; break; - case 'number': $number = $arg[1]; break; - default: echo "Unrecognized array arg: ", $arg[0], "\n"; break; - } - } else if (is_object($arg)) { - if (is_subclass_of($arg, "BoltUnit")) { - $units[] = $arg; - } else if (get_class($arg) == "BoltReview") { - $reviews[] = $arg; - } else { - echo "Unrecognized arg: "; - print_r($arg); - } - } - } - return new BoltExerciseSet($name, $units, $number, $reviews); -} - function enum_course($course) { $iter = new BoltIter($course); while (1) { @@ -571,4 +196,8 @@ function enum_course($course) { echo "course over\n"; } +require_once('../inc/bolt_seq.inc'); +require_once('../inc/bolt_rnd.inc'); +require_once('../inc/bolt_xset.inc'); + ?> diff --git a/html/inc/bolt_rnd.inc b/html/inc/bolt_rnd.inc new file mode 100644 index 0000000000..fcdbb4f06b --- /dev/null +++ b/html/inc/bolt_rnd.inc @@ -0,0 +1,125 @@ +name = $name; + $this->units = $units; + $this->number = $number; + $this->is_item = false; + $this->shuffled = false; + } + + function walk(&$iter, $incr, &$frac_done) { + $n = count($this->units); + if (array_key_exists($this->name, $iter->state)) { + $state_rec = $iter->state[$this->name]; + $child_name = $state_rec['child_name']; + $number_shown = $state_rec['number_shown']; + if (!$this->shuffled) { + srand($state_rec['seed']); + shuffle($this->units); + $this->shuffled = true; + } + + // look up unit by name + // + $child = null; + for ($i=0; $i<$n; $i++) { + $c = $this->units[$i]; + if ($c->name == $child_name) { + $child = $c; + break; + } + } + + // if not there, look up by index + // + if (!$child) { + $i = $state_rec['i']; + if ($i >= $n) { + // and if index is too big, use last unit + // + $i = $n-1; + } + $child = $this->units[$i]; + } + + // at this point, $child is the current unit, and $i is its index + // + if ($incr) { + $my_inc = false; + if ($child->is_item) { + $my_inc = true; + } else { + $my_inc = $child->walk($iter, $incr, $frac_done); + } + if ($my_inc) { + $i = ($i+1)%$n; + $number_shown++; + if ($number_shown >= $this->number) { + $frac_done = 1; + $state_rec['i'] = $i; + $state_rec['number_shown'] = 0; + $state_rec['child_name'] = null; + $iter->state[$this->name] = $state_rec; + return true; + } + } + } + } else { + $i = 0; + $number_shown = 0; + $state_rec = null; + $seed = ((double)microtime()*1000000); + srand($seed); + shuffle($this->units); + $state_rec['seed'] = $seed; + } + $child = $this->units[$i]; + $frac_done = $number_shown/$this->number; + $state_rec['i'] = $i; + $state_rec['number_shown'] = $number_shown; + $state_rec['child_name'] = $child->name; + $iter->state[$this->name] = $state_rec; + if ($child->is_item) { + $iter->item = $child; + } else { + $child->walk($iter, false, $f); + $frac_done += $f*(1/$number); + } + } +} + +function random() { + $args = func_get_args(); + $units = array(); + $name = ""; + $number = 1; + foreach ($args as $arg) { + if (is_array($arg)) { + switch ($arg[0]) { + case 'name': $name = $arg[1]; break; + case 'title': $title = $arg[1]; break; + case 'number': $number = $arg[1]; break; + default: echo "Unrecognized array arg: ", $arg[0], "\n"; break; + } + } else if (is_object($arg)) { + if (is_subclass_of($arg, "BoltUnit")) { + $units[] = $arg; + } else { + echo "Unrecognized arg: "; + print_r($arg); + } + } + } + return new BoltRandom($name, $units, $number); +} + +?> diff --git a/html/inc/bolt_seq.inc b/html/inc/bolt_seq.inc new file mode 100644 index 0000000000..55f6d9fc59 --- /dev/null +++ b/html/inc/bolt_seq.inc @@ -0,0 +1,101 @@ +name = $name; + $this->units = $units; + $this->is_item = false; + } + + function walk(&$iter, $incr, &$frac_done) { + $n = count($this->units); + if (array_key_exists($this->name, $iter->state)) { + $state_rec = $iter->state[$this->name]; + $child_name = $state_rec['child_name']; + + // look up unit by name + // + $child = null; + for ($i=0; $i<$n; $i++) { + $c = $this->units[$i]; + if ($c->name == $child_name) { + $child = $c; + break; + } + } + + // if not there, look up by index + // + if (!$child) { + $i = $state_rec['i']; + if ($i >= $n) { + // and if index is too big, use last unit + // + $i = $n-1; + } + $child = $this->units[$i]; + } + + // at this point, $child is the current unit, and $i is its index + // + if ($incr) { + $my_inc = false; + if ($child->is_item) { + $my_inc = true; + } else { + $my_inc = $child->walk($iter, $incr, $frac_done); + } + if ($my_inc) { + $i++; + if ($i == $n) { + $frac_done = 1; + $state_rec['i'] = 0; + $state_rec['child_name'] = null; + $iter->state[$this->name] = $state_rec; + return true; + } + } + } + } else { + $i = 0; + } + $child = $this->units[$i]; + $frac_done = $i/$n; + $state_rec = null; + $state_rec['i'] = $i; + $state_rec['child_name'] = $child->name; + $iter->state[$this->name] = $state_rec; + if ($child->is_item) { + $iter->item = $child; + } else { + $child->walk($iter, false, $f); + $frac_done += $f*(1/$n); + } + } +} + +function sequence() { + $args = func_get_args(); + $units = array(); + $name = ""; + foreach ($args as $arg) { + if (is_array($arg)) { + switch ($arg[0]) { + case 'name': $name = $arg[1]; break; + case 'title': $title = $arg[1]; break; + default: echo "Unrecognized array arg: ", $arg[0], "\n"; break; + } + } else if (is_object($arg)) { + if (is_subclass_of($arg, "BoltUnit")) { + $units[] = $arg; + } else { + echo "Unrecognized arg: "; + print_r($arg); + } + } + } + return new BoltSequence($name, $units); +} + +?> diff --git a/html/inc/bolt_xset.inc b/html/inc/bolt_xset.inc new file mode 100644 index 0000000000..d5395d8903 --- /dev/null +++ b/html/inc/bolt_xset.inc @@ -0,0 +1,184 @@ +name = $name; + $this->units = $units; + $this->number = $number; + $this->repeats = $repeats; + $this->is_item = false; + $this->shuffled = false; + } + + // the scheduler calls this when an exercise in this set + // has just been graded. + // - record the score + // - if this is the last exercise in the set, + // create exercise_set_result record + // and optionally create or update bolt_refresh record + // - return a structure saying what navigation info to show: + // - review + // - repeat now + // - next + // + function xset_callback($iter, $score, &$is_last, &$nav_info) { + $state_rec = $iter->state[$this->name]; + $number_shown = $state_rec['number_shown']; + $state_rec['scores'][$number_shown] = $score; + if ($number_shown == $this->number) { + $is_last = false; + return; + } + $is_last = true; + BoincResult::insert(""); + BoincRefresh::replace(""); + } + + function walk(&$iter, $incr, &$frac_done) { + $iter->xset = $this; + $n = count($this->units); + if (array_key_exists($this->name, $iter->state)) { + $state_rec = $iter->state[$this->name]; + $this->state_rec = $state_rec; + $child_name = $state_rec['child_name']; + $number_shown = $state_rec['number_shown']; + if (!$this->shuffled) { + srand($state_rec['seed']); + shuffle($this->units); + $this->shuffled = true; + } + + // look up unit by name + // + $child = null; + for ($i=0; $i<$n; $i++) { + $c = $this->units[$i]; + if ($c->name == $child_name) { + $child = $c; + break; + } + } + + // if not there, look up by index + // + if (!$child) { + $i = $state_rec['i']; + if ($i >= $n) { + // and if index is too big, use last unit + // + $i = $n-1; + } + $child = $this->units[$i]; + } + + // at this point, $child is the current unit, and $i is its index + // + if ($incr) { + $my_inc = false; + if ($child->is_item) { + $my_inc = true; + } else { + $my_inc = $child->walk($iter, $incr, $frac_done); + } + if ($my_inc) { + $i = ($i+1)%$n; + $number_shown++; + if ($number_shown >= $this->number) { + $frac_done = 1; + $state_rec['i'] = $i; + $state_rec['number_shown'] = 0; + $state_rec['child_name'] = null; + $iter->state[$this->name] = $state_rec; + return true; + } + } + } + } else { + $i = 0; + $number_shown = 0; + $state_rec = null; + $seed = ((double)microtime()*1000000); + srand($seed); + shuffle($this->units); + $state_rec['seed'] = $seed; + } + $child = $this->units[$i]; + $frac_done = $number_shown/$this->number; + $state_rec['i'] = $i; + $state_rec['number_shown'] = $number_shown; + $state_rec['child_name'] = $child->name; + $iter->state[$this->name] = $state_rec; + if ($child->is_item) { + $iter->item = $child; + } else { + $child->walk($iter, false, $f); + $frac_done += $f*(1/$number); + } + } +} + +class BoltRefresh{ + public $intervals; + function __construct($i) { + $this->intervals = $i; + } +} + +class BoltRepeat { + public $score; + public $unit; + public $flags; + function __construct($s, $u, $f) { + $this->score = $s; + $this->unit = $u; + $this->flags = $f; + } +} + +define('REVIEW', 1); +define('REPEAT', 2); +define('NEXT', 4); + +function repeat($s, $u, $f) { + return new BoltRepeat($s, $u, $f); +} + +function refresh($a) { + return new BoltRefresh($a); +} + +function exercise_set() { + $args = func_get_args(); + $units = array(); + $repeats = array(); + $refresh = null; + $name = ""; + $number = 1; + foreach ($args as $arg) { + if (is_array($arg)) { + switch ($arg[0]) { + case 'name': $name = $arg[1]; break; + case 'title': $title = $arg[1]; break; + case 'number': $number = $arg[1]; break; + default: echo "Unrecognized array arg: ", $arg[0], "\n"; break; + } + } else if (is_object($arg)) { + if (get_class($arg) == "BoltExercise") { + $units[] = $arg; + } else if (get_class($arg) == "BoltRepeat") { + $repeats[] = $arg; + } else if (get_class($arg) == "BoltRefresh") { + $refresh= $arg; + } else { + echo "Unrecognized object arg: "; + print_r($arg); + } + } + } + return new BoltExerciseSet($name, $units, $number, $repeats, $refresh); +} + +?> diff --git a/html/user/bolt_course_sample.php b/html/user/bolt_course_sample.php index dbb74456a3..6809c20f3e 100644 --- a/html/user/bolt_course_sample.php +++ b/html/user/bolt_course_sample.php @@ -7,7 +7,7 @@ function part2() { name('inner seq'), lesson( name('lesson 3'), - filename('bolt_sample_lesson3.php') + filename('bolt_sample_lesson.php?n=3') ) ); } @@ -16,11 +16,11 @@ function basic_review() { return sequence( lesson( name('lesson 1'), - filename('bolt_sample_lesson1.php') + filename('bolt_sample_lesson.php?n=1') ), lesson( name('lesson 2'), - filename('bolt_sample_lesson2.php') + filename('bolt_sample_lesson.php?n=2') ) ); } @@ -28,7 +28,7 @@ function basic_review() { function int_review() { return lesson( name('lesson 2'), - filename('bolt_sample_lesson2.php') + filename('bolt_sample_lesson.php?n=2') ); } @@ -39,25 +39,36 @@ return sequence( number(2), lesson( name('lesson 1'), - filename('bolt_sample_lesson1.php') + filename('bolt_sample_lesson.php?n=1') ), lesson( name('lesson 2'), - filename('bolt_sample_lesson2.php') + filename('bolt_sample_lesson.php?n=2') ), lesson( name('lesson 3'), - filename('bolt_sample_lesson3.php') + filename('bolt_sample_lesson.php?n=3') ) ), exercise_set( + name('exercise set 1'), + number(2), exercise( name('exercise 1'), - filename('bolt_sample_exercise1.php') + filename('bolt_sample_exercise.php?n=1') ), - refresh(array(7, 14, 28)), - review(.3, basic_review()), - review(.7, int_review()) + exercise( + name('exercise 2'), + filename('bolt_sample_exercise.php?n=2') + ), + exercise( + name('exercise 3'), + filename('bolt_sample_exercise.php?n=3') + ), + repeat(.3, basic_review(), REVIEW), + repeat(.7, int_review(), REVIEW|REPEAT), + repeat(1, null, REPEAT|NEXT), + refresh(array(7, 14, 28)) ), part2() ); diff --git a/html/user/bolt_sched.php b/html/user/bolt_sched.php index 99f9090b22..35bd881b6d 100644 --- a/html/user/bolt_sched.php +++ b/html/user/bolt_sched.php @@ -1,13 +1,9 @@ bolt->update("sex=$sex, birth_year=$birth_year"); } - $course_doc = require_once($course->doc_file); +// The user clicked something on a view page. +// Make a record of it, and of the time +// function finalize_view($user, $view_id, $action) { if (!$view_id) return null; $view = BoltView::lookup_id($view_id); @@ -56,6 +54,8 @@ function default_mode($item) { return $item->is_exercise()?BOLT_MODE_SHOW:BOLT_MODE_LESSON; } +// A page is being shown to the user; make a record of it +// function create_view($user, $course, $iter, $mode, $prev_view_id) { $now = time(); $item = $iter->item; @@ -64,9 +64,14 @@ function create_view($user, $course, $iter, $mode, $prev_view_id) { $item->name = '--end--'; } $state = $iter->encode_state(); + if ($user->bolt->debug) { + echo "
Ending state: "; print_r($iter->state); echo "
\n"; + } return BoltView::insert("(user_id, course_id, item_name, start_time, mode, state, fraction_done, prev_view_id) values ($user->id, $course->id, '$item->name', $now, $mode, '$state', $iter->frac_done, $prev_view_id)"); } +// show a page saying the course has been completed +// function show_finished_page($course, $view_id, $prev_view_id) { page_head(null); if (function_exists('bolt_header')) bolt_header("Course completed"); @@ -85,14 +90,18 @@ function show_finished_page($course, $view_id, $prev_view_id) { if (function_exists('bolt_footer')) bolt_footer(); } +// show an item (lesson, exercise, answer page) +// function show_item($iter, $user, $course, $view_id, $prev_view_id, $mode) { global $bolt_ex_mode; global $bolt_ex_index; global $bolt_ex_score; + global $bolt_query_string; $item = $iter->item; page_head(null); if (function_exists('bolt_header')) bolt_header($item->title); + $bolt_query_string = $item->query_string; if ($item->is_exercise()) { $bolt_ex_mode = $mode; @@ -153,6 +162,7 @@ function show_item($iter, $user, $course, $view_id, $prev_view_id, $mode) { function show_answer_page($iter, $score) { global $bolt_ex_mode; global $bolt_ex_index; + global $bolt_query_string; $bolt_ex_mode = BOLT_MODE_ANSWER; $bolt_ex_index = 0; @@ -160,6 +170,7 @@ function show_answer_page($iter, $score) { $item = $iter->item; page_head(null); if (function_exists('bolt_header')) bolt_header($item->title); + $bolt_query_string = $item->query_string; require_once($item->filename); if (function_exists('bolt_divide')) bolt_divide(); $score_pct = number_format($score*100); @@ -226,8 +237,16 @@ case 'next': // "next" button in lesson or exercise answer page $iter = new BoltIter($course_doc); $iter->decode_state($view->state); + + if ($user->bolt->debug) { + echo "
Initial state: "; print_r($iter->state); echo "
\n"; + } + $iter->next(); + if ($user->bolt->debug) { + echo "
Item: "; print_r($iter->item); echo "
\n"; + } if ($iter->item) { $state = $iter->encode_state(); $mode = default_mode($iter->item); @@ -242,21 +261,32 @@ case 'next': // "next" button in lesson or exercise answer page break; case 'answer': // submit answer in exercise $view = finalize_view($user, $view_id, BOLT_ACTION_SUBMIT); + if ($user->bolt->debug) { + echo "
State: $view->state
\n"; + } $iter = new BoltIter($course_doc); $iter->decode_state($view->state); $iter->at(); + if ($user->bolt->debug) { + echo "
Item: "; print_r($iter->item); echo "
\n"; + } $item = $iter->item; if (!$item->is_exercise()) { + print_r($item); error_page("expected an exercise"); } if ($view->item_name != $item->name) { error_page("unexpected name"); } + + // compute the score + $bolt_ex_query_string = $_SERVER['QUERY_STRING']; $bolt_ex_mode = BOLT_MODE_SCORE; $bolt_ex_index = 0; $bolt_ex_score = 0; + $bolt_query_string = $item->query_string; srand($view_id); ob_start(); // turn on output buffering require($item->filename); @@ -264,12 +294,17 @@ case 'answer': // submit answer in exercise $bolt_ex_score /= $bolt_ex_index; + // make a record of the result + $qs = BoltDb::escape_string($_SERVER['QUERY_STRING']); $result_id = BoltResult::insert( "(view_id, score, response) values ($view->id, $bolt_ex_score, '$qs')" ); $view->update("result_id=$result_id"); + + // show the answer page + srand($view_id); $view_id = create_view($user, $course, $iter, BOLT_MODE_ANSWER, $view->id); show_item($iter, $user, $course, $view_id, $view->id, BOLT_MODE_ANSWER); diff --git a/tools/upgrade b/tools/upgrade index 4fb86d5de3..f29304ed8b 100755 --- a/tools/upgrade +++ b/tools/upgrade @@ -33,6 +33,7 @@ except getopt.GetoptError, e: home = os.path.expanduser('~') options.project_root = os.path.join(home, 'projects') +options.web_only = False for o,a in opts: if o == '--help': usage()