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