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