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

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