Skip to content
Snippets Groups Projects
Select Git revision
  • ade6bd5c450f0c9c817092b49a7fe1990b8aca74
  • master default
2 results

test_dump.py

Blame
  • Forked from finesse / pykat
    Source project has a limited visibility.
    checkin_notes_2006 402.38 KiB
    Rom    4 Jan 2006
        - Branding update for GridRepublic
        
        client/win/
            boinc_cli.rc
            boinc_cmd.rc
            boinc_ss.rc
        clientgui/
            AccountInfoPage.cpp, .h
            BOINCGUIApp.cpp, .h
            WizardAccountManager.cpp
            WizardAttachProject.cpp
            resource.h
        clientgui/res/
            gridrepublic.ico
            gridrepublic.xpm
            gridrepublicamwizard.xpm (Added)
        clientgui/res/
            gridrepublic.ico
            gridrepublicamwizard.bmp (Added)
        win_build/installerv2/
            GridRepublic.ism
        win_build/installerv2/redist/GridRepublic/
            GridRepublic.ico
            GridRepublic.url
    
    Rom    4 Jan 2006 (HEAD)
        - Tag for 5.3.7 release, all platforms
          boinc_core_release_5_3_7
    
    David  4 Jan 2006
        - replace safe_strncpy() with strlcpy() everywhere.
            Same semantics, but the former is less efficient.
        - simplified Bruce's recent fix to escape_string()
        
        checkin_notes_2005 (new - Woo Hoo!)
        api/
            boinc_api.C
        client/win/
            hostinfo_win.cpp
        db/
            db_base.C
        lib/
            app_ipc.C
            diagnostics.C
            filesys.C
            language.C
            parse.C
            util.C,h
        sched/
            handle_request.C
        tools/
            backend_lib.C
    
    David  4 Jan 2006
        - scheduler: scan_work_array(): if add_result_to_reply() fails, do NOT
            reinsert the entry in the array by resetting the "present" flag.
            We previously cleared this flag,
            so the array entry may have been refilled by the feeder,
            and it might be in the CHECKED_OUT state.
            (from Paul Buck)
    
        sched/
            sched_array.C
    
    Bruce 5 Jan 2006
        - Fixed David's mistake in simplifying my fix to escape_string()!
        db/
            db_base.C
    
    David  4 Jan 2006
        - fixed inefficient unescape_string()
    
        db/
            db_base.C
    
    Bruce 5 Jan 2006
        - Fixed new unescape_string(): didn't null terminate string.
    
        db/
            db_base.C
    
    Bruce 6 Jan 2006
        - Nasty bug in API lib.  See checkin_nodes_2004 December 22. 
          Functions meant to be used from within C should never be
          declared bool!
    
          Fix: change boinc_is_standalone() to return int not bool.
    
          Note: some API functions still return bools, but since E@H
          doesn't use them and I am afraid of doing damage, I have
          left them alone.
    
        api/
            boinc_api.C
            boinc_api.h
            graphics_impl.h
            graphics_impl_lib.C
    
    Rom    6 Jan 2006
        - Branding update for GridRepublic
        
        clientgui/
            AccountInfoPage.cpp
            AccountManagerProcessingPage.cpp
            AccountManagerPropertiesPage.cpp
            BOINCGUIApp.cpp, .h
            BOINCGUIApp.rc
            CompletionPage.cpp, .h
            MainFrame.cpp
            resource.h
        clientgui/res/
            gridrepublic2.ico (Added)
        win_build/installerv2/
            GridRepublic.ism
        win_build/installerv2/redist/GridRepublic/
            acct_mgr_url.xml
            GR_splash.bmp
    
    Rom    6 Jan 2006 (HEAD)
        - Tag for 5.3.8 release, all platforms
          boinc_core_release_5_3_8
    
    David  6 Jan 2006
        - fix unitialized var
    
        client/
            net_stats.C
    
    David  6 Jan 2006
        - feeder: exit on database errors.
            This is a workaround for a problem where the
            feeder loses its DB connection after 10-20 hours of idleness.
            With this change, the feeder will exit, and will be restarted by cron.
    
        sched/
            feeder.C
    
    David  6 Jan 2006
        - Tweak the account manager system to support "farm managers"
            that use GUI RPC to control clients.
            The farm manager needs the GUI RPC port and password of each client.
            Add an optional <send_gui_rpc_info/> element to the
            acct_mgr_url.xml file,
            which causes the GUI RPC port and password to be included
            in account manager RPC requests.
            (From James Drews)
    
        client/
            acct_mgr.C,h
    
    David  6 Jan 2006
        - Change "bool" to "int" in the BOINC API.
            C and C++ compilers differ in their allocation for bool,
            making it difficult for C applications
            (which must be compiled with particular compilers)
            to use the BOINC API.
            No such problem for int.
            (from Bruce Allen)
    
        api/
            boinc_api.C,h
    
    David  8 Jan 2006
        - Account manager additions (from Willy de Zutter)
            - Include <previous_host_cpid> in AM request.
                This is the host CPID sent in the previous AM request.
                It lets the AM track hosts even when their CPIDs change.
            - Include <domain_name> in AM request
            - AM replies can include <message> elements.
                The contents are printed in the Messages tab.
            - Print message that AM request has succeeded (or failed)
    
        client/
            acct_mgr.C,h
        lib/
            hostinfo.C
    
    David  9 Jan 2006
        - user web: show bbcode correctly for UOTD
    
        html/user/
            sample_index.php
    
    Bruce 9 Jan 2006
        - fix bug on page that shows profile for a given user.  The total
          number of posts made by a given user is not shown correctly.
    
          The PHP code assumes that this number is given by user.posts.  However
          in html/inc/db_forum.inc, the value of user.posts is NOT
          incremented each time a user makes a new post (either starting
          a new thread or replying to an existing one).  For the moment, my
          the fix is to simply scan the database and count the number of posts by the
          user, to give the right value on the profile page.
    
          An alternative fix (which would be less DB intensive, overall)
          is to (1) fix db_forum.inc so that it properly increments user.posts and
          then (2) add an update_db.php script entry that correctly sets user.posts
          by counting the number of posts for each user.
    
        html/
            inc/
                user.inc
    
    Rom    9 Jan 2006 (HEAD)
        - Initial CPDN/BBC branded client
        
        client/win/
            boinc_cli.rc
            boinc_cmd.rc
            boinc_dll.rc
            boinc_ss.rc
        clientgui/
            AccountInfoPage.cpp
            BOINCBaseView.cpp, .h
            BOINCGUIApp.cpp
            BOINCGUIApp.rc
            DlgAbout.cpp, .h
            MainFrame.cpp
            ViewMessages.cpp
            ViewProjects.cpp
            ViewResources.cpp
            ViewStatistics.cpp
            ViewTransfers.cpp
            ViewWork.cpp, .h
        win_build/
            cpdnbbc.sln (added)
            cpdnbbc_boinc_cli_curl.vcproj (added)
            cpdnbbc_boinc_dll.vcproj (added)
            cpdnbbc_boinc_ss.vcproj (added)
            cpdnbbc_boinccmd.vcproj (added)
            cpdnbbc_boincmgr_curl.vcproj (added)
        win_build/installerv2/
            CPDNBBC.ism (added)
        win_build/installerv2/redist/CPDNBBC/
            Climate Change Experiment.url (added)
            project_init.xml
    
    Rom    9 Jan 2006 (HEAD)
        - Tag for 5.3.9 release, all platforms
          boinc_core_release_5_3_9
    
    Bruce  9 Jan 2006
        - Fixes to BOINC zip library from Carl Christensen. Carl says:
          "I found a problem with boinc_zip; it seems some Linux STL's
          aren't very nice about classes that are inherited from their
          objects on multiple use; or huge file lists that we use on CPDN.
          So I rewrite it to just use "straight" std::string's in a vector.
          It's fully backwardly compatible and seems to work fine."
    
        zip/
            boinc_zip.h
            boinc_zip.cpp
    
    David  9 Jan 2006
        - changed upper_case so that the -cpu_time option
            takes an arg: the # of CPU seconds to use.
    
        apps/
            upper_case.C
    
    Charlie 10 Jan 2006
        -Mac: Fix minor bugs in internal scripts in XCode 2.2 project.  Changes to 
        BOINC Manager to accomodate Rom's changes for branding.
          
        clientgui/
            BOINCGUIApp.cpp
            mac/
                MacSysMenu.cpp, .h
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  10 Jan 2006
        - core client: fix vector erase code in GUI RPC.
            Thanks to Darrel Holz for finding this.
    
        client/
            gui_rpc_server.C
    
    David  10 Jan 2006
        - Add XML option for team lookup web interface
    
        html/
            inc/
                xml.inc
            user/
                team_lookup.php
    
    Bruce 11 Jan 2006
    
        - Skip test for excessive CPU time, IF hostid has changed
          because host has been cloned.  If result is resent to
          the 'new' host then this can make it appear that the
          result was completed shortly after it was sent.
    
        sched/
            handle_request.C
     
    Charlie 10 Jan 2006
        -Mac: Get BrandID from file put inside application bundle by installer.
          
        clientgui/
            BOINCGUIApp.cpp
    
    Bruce 11 Jan 2006
        - Documentation: describe boinc_is_standalone() in documentation.
        doc/
            api.php
    
    David  11 Jan 2006
        - file upload handler: allow upload if offset if < size
            (this can now happen, since the client skips size check
            for files < 1 MB)
    
        sched/
            file_upload_handler.C
    
    David  11 Jan 2006
        - Core client: add a flow control mechanism for the case where
            output files are generated faster than they can be uploaded
            (otherwise we'll fill up the disk).
            The mechanism: don't start new results for a project
            that has > 2 uploads in progress.
            Note: this actually happens with Cunning Plan
            (5 MB output files, 60 sec CPU) over a DSL line
    
        client/
            client_types.h
            cs_apps.C
    
    David  11 Jan 2006
        - core client: on file upload, always get file size (even if small file).
            Before the file upload handler checkin earlier today,
            this was actually a bug:
            if a client had uploaded part of a small file and then failed,
            it would never be able to upload the rest.
            But it was probably a bad idea in the first place,
            since 1 MB is a large file from the viewpoint of a modem user.
    
        client/
            file_xfer.C
    
    Charlie 10 Jan 2006
        -Mac: Mac System Menu uses menubar icon selected by 
         CBrandingScheme::OnInit() .
          
        clientgui/
            BOINCGUIApp.cpp
            mac/
                MacSysMenu.cpp
            res/
                gridrepublic_mac.xpm (new)
    
    David  11 Jan 2006
        - Core client: remove "unknown project" from message
            where general prefs don't come from a known project.
            They might come from an account manager.
            (from Willy de Zutter)
    
        client/
            cs_prefs.C
    
    Bruce 12 Jan 2006
        - file_upload_handler: log a message when the client is starting an upload
          from the wrong offset.  This problem should gradually go away as users
          update to more current clients.
    
        sched/
            file_upload_handler.C
    
    David  12 Jan 2006
        - Web RPC: fixed bug in am_set_info.php that caused password_hash
            to not update.
            (from Willy de Zutter)
    
        html/user/
            am_set_info.php
    
    David  12 Jan 2006
        - Initialize user/team/host.expavg_time with current time.
            This avoids inaccurate initial values for RAC.
            From Bruce Allen.
    
        html/user
            create_account.php
            create_account_action.php
            team_create_action.php
        sched/
            handle_request.C
    
    Rom    13 Jan 2006 (HEAD)
        - Tag for 5.3.10 release, all platforms
          boinc_core_release_5_3_10
    
    David  13 Jan 2006
        - core client: handle HTTP "continue" status.
            I don't understand what this is, but hopefully this fixes
            some network problems.
            (from Ian Hay).
    
        client/
            http_curl.h
            net_xfer_curl.C
    
    David  14 Jan 2006
        - user web: forum fix (from Rob Ogilvie)
    
        html/inc/
            forum.inc
    
    Janus 15 Jan 2006
        - web: Fixed a special situation where the caching mechanism used on
          (amongst others) the frontpage would always refresh from the serverside
          cache regardless of whether the client had a fresh copy. (from Rob)
    
        html/inc/
            cache.inc
    
    David  14 Jan 2006
        - core client: If there's only one potentially runnable project,
            ask it for work no matter how negative its debt
            (from Glenn Dill)
    
        client/
            cs_scheduler.C
    
    Rom    15 Jan 2006
        - CPDB BBC update
        
        clientgui/
            AccountInfoPage.cpp, .h
            BOINCBaseWizard.h
            BOINCGUIApp.cpp, .h
            CompletionPage.cpp
            ProjectProcessingPage.cpp
            ProjectPropertiesPage.cpp
            WizardAttachProject.cpp, .h
    
    Rom    15 Jan 2006 (HEAD)
        - Tag for 5.3.11 release, all platforms
          boinc_core_release_5_3_11
    
    David  15 Jan 2006
        - core client: add "-daemon" option (uses daemon() system call
            to detach from controlling terminal)
            From Jan Gall
    
        client/
            cs_cmdline.C
            main.C
    
    David  15 Jan 2006
        - GUI RPC: added optional <scheduler_rpc_in_progress/> element
            to <project> elements in GUI RPC replies
    
        client/
            client_state.h
            client_types.C
            scheduler_op.h
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    David  15 Jan 2006
        - user web: moved eah_server_status.php and sample_server_status.php
            from user/ to ops/.
            These pages have queries that are too slow for
            big projects like SETI@home.
    
        html/
            ops/
                eah_server_status.php (new)
                sample_server_status.php (new)
            user/
                eah_server_status.php (removed)
                sample_server_status.php (removed)
                server_status.php (removed)
    
    David  15 Jan 2006
        - user web: add optional team_id argument to team_lookup.php
            (returns XML description of a particular team)
    
        html/
            user/
                team_lookup.php
    
    David  15 Jan 2006
        - compile fixes for gcc4.0
    
        client/
            gui_rpc_server.C
        lib/
            network.C
    
    Bruce 16 Jan 2006
        - ops page: add external IP to data shown for host
        - user host info page: when giving IP data, show both private
          AND external IP (only for owner of host machine).
        - user web pages: if can't delete host because there are still
          results, give clearer error message and link to list of results.
        - user web pages: in list of hosts, add link to show results
          if project is configured to show results.
        html/
            inc/
                db_ops.inc
                host.inc
            user/
                host_delete.php
    
    David  16 Jan 2006
        - compile fix for Win
    
        client/
            gui_rpc_server.C
    
    David  16 Jan 2006
        - Call get_host_info() (not just get_filesystem_info())
            before each scheduler RPC (from Bruce Allen)
        client/
            cs_scheduler.C
    
    David  16 Jan 2006
        - add <hostid> element to account manager RPC request.
    
        client/
            acct_mgr.C
    
    David  16 Jan 2006
        - core client: enhancements to duration correction factor (DCF):
            - on project reset, set DCF to one.
            - when do CPU benchmarks, scale all DCFs by new/old benchmark
    
            (from Josef Segur)
    
        client/
            client_state.C,h
            cs_benchmark.C
            cs_scheduler.C
    
    Rom    17 Jan 2006 (HEAD)
        - Tag for 5.3.12 release, all platforms
          boinc_core_release_5_3_12
    
    David  17 Jan 2006
        - user web: add Mauritius to country list
    
        html/inc/
            countries.inc
    
    David  17 Jan 2006
        - Core client error messages:
            - "task" instead of "result"
            - Don't include function names in messages
            - Don't end with \n
        - Removed files superceded by curl
            
        client/
            *.C
            http.C,h (removed)
            net_xfer.C,h (removed)
            ssl_http.C,h (removed)
            ssl_net_xfer.C,h (removed)
    
    David  18 Jan 2006
        - GUI RPC client lib: add PROJECT::copy() function
            (copies data, doesn't change vectors)
    
        client/
            file_xfer.C,h
            pers_file_xfer.h
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
        sched/
            handle_request.C
    
    David  18 Jan 2006
        - If a download isn't complete and gained less than 5 KB,
            truncate back to the original starting size.
            This addresses a bug where some proxies append
            error messages on download failures
            (reported by Rattledagger)
    
        client/
            file_xfer.C
        lib/
            error_numbers.h
            filesys.C,h
            util.C
    
    David  18 Jan 2006
        - implement boinc_truncate() for Windows
    
        lib/
            filesys.C
    
    David  18 Jan 2006
        - remove #define bool char stuff,
            and change a couple of functions to return int instead of bool.
            Rule: if any function is potentially callable
            from an ANSI C application, don't use bool in its interface,
            since there's inconsistency in the size of bool
            between C and C++ compilers
    
        api/
            graphics_api.h
        lib/
            filesys.C,h
    
    David  18 Jan 2006
        - added HTTP error codes to boincerror(),
            since these are sometimes used as return values.
    
        client/
            http_curl.h
            pers_file_xfer.C
        lib/
            util.C
    
    Rom    19 Jan 2006
        - CPDNBBC Update
        
        clientgui/
            BOINCGUIApp.cpp, .h
            CompletionPage.cpp
            MainFrame.cpp
        win_build/installerv2/redist/CPDNBBC
            CPDNBBC_splash.bmp
    
    David  19 Jan 2006
        - feeder/scheduler: try to fix bug where shmem array slots
            get stuck in "CHECKED_OUT" state.
            Get rid of this state.
            Instead, use the PID of the scheduler process that
            has it checked out (as we're already doing for "reserved" slots)
            and let the feeder clean up slots checked out by dead processes.
        - several of the DB enumerate() function were returning
            1 or -1 (rather than ERR_DB_NOT_FOUND) when no results.
            Bad!!!  Some programs, including the feeder,
            treat values other than 0 and ERR_DB_NOT FOUND as fatal DB errors.
    
        db/
            boinc_db.C
        sched/
            feeder.C
            sched_array.C
            sched_shmem.C,h
            show_shmem.C
    
    David  19 Jan 2006
        - RSS items should refer to a page that has all news items,
            not just old ones
        - Make news item indices permanent
    
        html/
            inc/
                news.inc
            user/
                all_news.php (new)
                sample_rss_main.php
    
    David  20 Jan 2006
        - tweak to partial download fix:
            only truncate file if got >0 new bytes
    
        client/
            file_xfer.C
    
    David  20 Jan 2006
        - suppress "Expect: 100 continue" in HTTP header.
            Apparently this causes problems with some proxies
            (from Ian Hay)
    
        client/
            http_curl.C
    
    Charlie 20 Jan 2006
        -Mac: Changes for Grid Republic: remove BOINCManager from Dock; 
        different plist file for GR; new application icon for GR; 
        screensaver changes for GR. 
        Remove obsolete files from XCode project (net_xfer.C,h, http.C,h, 
        proxy.C,h)
        Update release script to allow development test builds.
        Update installer for Grid Republic.
    
        client/
            mac/
                GridRepublic.icns (new)
                SetVersion.C
        clientgui/
            mac/
                mac_saver_module.cpp
        mac_build/
            Info.plist
            GR_Info.plist (new)
            boinc.xcodeproj/
                project.pbxproj
        mac_installer/
            release_boinc.sh
            Postinstall.cpp
    
    David  20 Jan 2006
        - core client: if we change host CPID and we're using an account manager,
            do scheduler RPCs to all projects,
            so that the account manager gets a consistent view when
            it gets host data from the project servers
    
        client/
            client_state.h
            cs_scheduler.C
    
    David  20 Jan 2006
        - Manager: improvements to Statistics tab
           (from mifistor_x)
    
        clientgui/
            Events.h
            ViewStatistics.C,h
    
    Charlie 21 Jan 2006
        -Mac: Changes for Grid Republic: manager determines branding before 
          launching client; create new release script for GR; GR screen saver 
          displays GR icon in system preferences dialog; data directory is 
          "GridRepublic Data" if a GR install; installing BOINC over an 
          existing GR installation or GR over existing BOINC installation 
          renames data directory and performs other necessary tasks to ensure 
          continued processing of existing work.  (But user's screensaver 
          selection is not changed automatically.)
          
       clientgui/
            BOINCGUIApp.cpp - Set up branding before launching boinc client.
            mac/
                mac_saver_module.cpp
                gridrepublic.tiff
                SetVersion.C
    
        mac_installer/
            release_boinc.sh
            PostInstall.cpp
            postinstall
            postupgrade
            preinstall (new)
            preupgrade (new)
            release_GridRepublic.sh (new)
            GR-preinstall (new)
            GR-preupgrade (new)
            GR-Description.plist (new)
            GR-Branding (new)
            GR-ReadMe.rtf (new)
    
        mac_build/
            GR-InfoPlist.strings (new)
            GR-ScreenSaver-Info.plist (new)
            boinc.xcodeproj/
                project.pbxproj
          
    Bruce  22 Jan 2006
        - update_stats program.  Fix 'bug of omission' where member counts
          of teams are calculated but were not written back into the database.
          Also, change algorithm so that for hosts/teams/users, when the RAC
          (Recent Average Credit) values have decayed to exactly 0.0 (double
          precision) then neither expavg_credit nor expavg_time are updated.
          In this way, by looking at the value of expavg_time, you can see
          exactly WHEN the RAC decayed to zero.  This effectively indicates
          the 'drop-out-date' for the host/team/user.
    
        sched/
            update_stats.C
    
    Rom    23 Jan 2006
        - On Windows use the System Event Notification Service to determine
            network connectivity instead of using InternetGetConnectedState
            since it was proving to be unreliable.
            
          NOTE: This is a big change on Windows.  SENS uses COM as it's
            communication infrastructure and so therefore boinc.dll now has
            to be regsvr32'ed before network notification messages will be
            sent to the client.  If, for whatever reason SENS isn't working
            we'll fall back to InternetGetConnectedState.
            
        client/
            main.C
        client/win/
            hostinfo_win.cpp
        clientgui/
            AccountManagerPropertiesPage.cpp
            BOINCGUIApp.cpp, .h
            MainFrame.cpp
            ProjectPropertiesPage.cpp
        clientlib/win/
            boinc_dll.cpp, .h (Added)
            BOINCSENSSink.cpp, .h (Added)
            Identification.cpp, .h (Added)
            IdleTracker.cpp, .h (Added)
            NetworkTracker.cpp, .h (Added)
            resource.h (Added)
            SENSLogonSubscriptions.h (Added)
            SENSNetworkSubscriptions.h (Added)
            SENSOnNowSubscriptions.h (Added)
            SENSSubscriptions.h (Added)
            stdafx.cpp, .h (Added)
        lib/
            network.C, .h
        win_build/
            boinc_dll.vcproj
    
    Rom    23 Jan 2006
        - Add an File/Exit warning for CPDNBBC so that the users know they will
            be stopping any executing tasks.
        - Update the Project and Work views changing 'work' to 'tasks'
        
        clientgui/
            BOINCGUI.pjd
            BOINCGUIApp.cpp, .h
            DlgGenericMessage.cpp, .h (Added)
            MainFrame.cpp, .h
            Makefile.am
            ViewProjects.cpp
            ViewWork.cpp
    
    Charlie 23 Jan 2006
        -Mac: Improve GridRepublic release script so it uses sed commands 
          to convert standard BOINC plist, preinstall and preupgrade files 
          for Grid Republic; standard BOINC release script creates preupgrade 
          script by copying preinstall script;  these changes eliminate the 
          need for seven files I checked in earlier.
          Also generalize Grid Republic release script so it can easily be 
          modified for other brands by changing a few variable definitions.
          Changed name of GR Manager to "GridRepublic Manager" from just 
          "GridRepublic."
          Restore my change of 1/21/06 which was lost: manager determines 
          branding before launching client.  
          Remove mac_build/Installer-info.plist and replace with 
          mac_build/Installer-info.plist (CVS is case-sensitive).
    
       clientgui/
            BOINCGUIApp.cpp
        mac/
            SetVersion.C
        mac_build/
            GR_Info.plist (Remove)
            GR-InfoPlist.strings (Remove)
            GR-ScreenSaver-Info.plist (Remove)
            Installer-info.plist (Remove)
            Installer-info.plist (Add)
            boinc.xcodeproj/
                project.pbxproj
        mac_installer/
            GR-ReadMe.rtf
            PostInstall.cpp
            preinstall
            release_boinc.sh
            release_GridRepublic.sh
            preupgrade (Remove)
            GR-Description.plist (Remove)
            GR-preinstall (Remove)
            GR-preupgrade (Remove)
    
    David  23 Jan 2006
        - Core client: D'oh!  When change host CPID,
            need to notify ALL projects, even the one we just contacted.
    
        client/
            client_state.h
            cs_scheduler.C
            
    Charlie 23 Jan 2006
        -Mac: Add new files DlgGenericMessage.cpp, .h to XCode project .
    
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    Rom    24 Jan 2006
        - String and graphics changes for CPDNBBC.
        - Add email address validation to the wizards.
        
        clientgui/
            AccountInfoPage.cpp
            BOINCGUIApp.cpp
            BOINCGUIApp.rc
            ValidateEmailAddress.cpp, .h (Added)
    
    Rom    24 Jan 2006 (HEAD)
        - Tag for 5.3.14 release, all platforms
          boinc_core_release_5_3_14
    
    Rom    24 Jan 2006
        - Bug Fix: Remove the last line of the function that handles the 
            launching of the wizards on first execution which was causing
            the manager to switch over to the messages tab no matter if the
            wizard completed successfully or not.
            
        clientgui/
            MainFrame.cpp
    
    David  24 Jan 2006
        - core client: move code that deals with generating new host CPID
            to the end of handle_scheduler_reply(),
            after the part that clears sched_rpc_pending and sets min_rpc_time,
            since if we generate a new host CPID
            we're going to modify these (to request another RPC).
            Also: in this case request an immediate scheduler RPC to all projects
            whether or not we're using an account manager.
        - core client: if detach from account manager,
            clear "attached_via_acct_mgr" flag on all projects
        - database: change type of xml field in msg_to_host and msg_from_host
            from text (64KB limit)
            to medium_text (16MB limit, but use at most 256KB)
        - scheduler: don't print trickle message contents (swamps logfile)
            (the latter two from Carl Christensen)
    
        client/
            acct_mgr.C
            cs_scheduler.C
        clientgui/
            Events.h
        db/
            boinc_db.h
            schema.sql
        sched/
            handle_request.C
    
    David  24 Jan 2006
        - core client: statefile read fails if don't find </client_state>
    
        client/
            cs_statefile.C
    
    Charlie 24 Jan 2006
        -Mac: Add new files ValidateEmailAddress.cpp, .h to XCode project.
          Change conditional compile #ifdef __ppc__ in mac_backtrace.C 
          so library links properly for Intel Macs (but backtrace is disabled).
          Fix compile error by excluding CPDNBBC client code from Mac builds.
          Remove obsolete XCode project; update build script to use new project.
          Set plaform correctly for powerpc-apple-darwin and i686-apple-darwin.
    
        clientgui/
            BOINCGUIApp.cpp
            mac/
                config.h
        lib/
            mac_backtrace.C
        mac_build/
            BuildMacBOINC.sh
            boinc.xcodeproj/
                project.pbxproj
            boinc.pbproj/
                project.pbxproj (Remove)
                config.h
    
    Rom    24 Jan 2006
        - Bug Fix: Fix a blocking compilation issue on the Mac with the new
            email validation class.
            
        clientgui/
            ValidateEmailAddress.cpp
            
    David  24 Jan 2006
        - new FORTRAN-callable function boinc_zip_()
            (from Juan Perez)
    
        api/
            boinc_api_fortran.C
    
    Rom    25 Jan 2006
        - Bug Fix: Fix the wizard so that it can display customized graphics
            on the welcome page.
        - Bug Fix: Display the minimum password length in the wizard.
        - Bug Fix: Add two new pages for dealing with account manager updates
            and removal from account managers.  Text needs some work though.
    
        clientgui/
            AccountInfoPage.cpp, .h
            AccountManagerProcessingPage.cpp
            AccountManagerStatusPage.cpp
            BOINCBaseWizard.cpp, .h
            BOINCGUIApp.cpp
            BOINCWizards.h
            CompletionErrorPage.cpp
            CompletionPage.cpp
            CompletionRemovePage.cpp, .h (Added)
            CompletionUpdatePage.cpp, .h (Added)
            NotDetectedPage.cpp
            ProxyPage.cpp
            UnavailablePage.cpp
            WelcomePage.cpp
            WizardAccountManager.cpp, .h
            WizardAttachProject.cpp
            wizardex.cpp
    
    David  25 Jan 2006
        - core client: add declarations of free_mem() functions
            (but still comment them out)
    
        client/
            app.h
            client_state.h
        html/user/
            am_seti_info.php
        lib/
            util.C
    
    David  25 Jan 2006
        - add "added_via_acct_mgr" flag to GUI RPC PROJECT structure
    
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    David  25 Jan 2006
        - core client: added "Deferring scheduler requests for X" messages
    
        client/
            cs_scheduler.C
    
    David  25 Jan 2006
        - account manager RPC request now lists all projects;
            <attached_via_acct_mgr/> is included for those attached via AMS
    
        client/
            acct_mgr.C
    
    David  25 Jan 2006
        - Initialize result.batch to workunit.batch
            This required adding a batch field to TRANSITIONER_ITEM.
            (for Rosetta@home)
    
        Note: if you're using the batch field for anything,
        you should add indices on it to workunit and/or result
    
    
        db/
            boinc_db.C,h
        tools/
            backend_lib.C
    
    David  26 Jan 2006
        - core client: always use HTTP 1.1
            (from Carl Christensen)
    
        client/
            http_curl.C
    
    Rom    26 Jan 2006
        - Bug Fix: Overhaul the wizard control creation process.  The RAD tool
            we used broke the process into two parts and arranged things where
            the bulk of the control creation and text assignment happened
            during dialog contruction.  This causes problems since not all of
            the relevant data is available at dialog construction, such as
            account manager name or project name.
            
            The new scheme creates all the controls during dialog creation and
            sets the associated text to null.  When the OnPageChanged event is
            fired we'll go and make all the necessary changes to the control text
            as well as hide and show the correct controls.
            
        clientgui/
            <All wizard related files>
    
    Rom    27 Jan 2006
        - Bug Fix: The screensaver should properly detect the shortcut for all
            branded clients.
            
        client/win/
            boinc_ss.h
            boinc_ss.rc
            win_screensaver.cpp, .h
    
    Rom    27 Jan 2006 (HEAD)
        - Tag for 5.3.15 release, all platforms
          boinc_core_release_5_3_15
    
    David  27 Jan 2006
        - server build fix for Mac OS X 10.3
            (from Derek Wright)
    
        m4/
            kc_mysql.m4
    
    David  27 Jan 2006
        - Manager:
            "Website" is still not a word.
            Don't use exclamation points.
    
        clientgui/
            AccountInfoPage.cpp
            AccountManagerPropertiesPage.cpp
            CompletionRemovePage.cpp
            CompletionUpdatePage.cpp
    
    David  27 Jan 2006
        - core client: fix calculation of STD/LTD
    
        client/
            cs_apps.C
    
    David  27 Jan 2006
        - core client: various scheduler fixes
            (from John McLeod)
    
        client/
            client_state.C,h
            client_types.C,h
            cs_prefs.C
            cs_scheduler.C
            cs_statefile.C
    
    David  27 Jan 2006
        - core client: initial checkin of new CPU scheduling code
            (in a very incomplete state).
            To enable it, define NEW_CPU_SCHED in a couple of .h files
    
        api/
            boinc_api_fortran.C
        client/
            client_state.C,h
            client_types.C,h
            cs_apps.C
            cs_scheduler.C
    
    Reinhard 30 Jan 2006
         - improved _autosetup: 
        * make version-checks more robust if '--version' is not supported
        * removed libtool-check: libtool is shipped with boinc, this check therefore pointless
         ./autosetup
    
    Charlie 30 Jan 2006
        -Mac: XCode project fixes: path to Mac_GUI.cpp; remove GR_Info.plist, add 
            source files CompletionRemovePage.cpp,.h, CompletionUpdatePage.cpp,.h.
    
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    Reinhard 30 Jan 2006
         - updated boincmgr build for MacOSX:
        * added Mac_GUI.cpp, MacGUI.pch and Security.Framework
    
         clientgui/
             Makefile.am
             MainFrame.cpp
    
    Reinhard 30 Jan 2006
         - applied Derek Wright's patch to get --enable-release-client working on MacOS10.4
        (this simply adds a check for '-lSystemStubs') [can't test this myself on 10.4 right now]
         ./configure.ac
    
    
    David  30 Jan 2006
        - updates to new scheduler code (commented out)
    
        client
            client_state.h
            client_types.h
            cs_apps.C
    
    David  30 Jan 2006
        - back out scheduler changes of 27 Jan.
            They caused write of statefile in infinite loop in some cases
    
        client/
            client_state.C,h
            client_types.C,h
            cs_apps.C
            cs_prefs.C
            cs_scheduler.C
            cs_statefile.C
    
    Rom    30 Jan 2006
        - Change the scheme used to select the default item when no other
            items are selected within a single selection list control.
            
        clientgui/
            BOINCBaseView.cpp
            BOINCListCtrl.cpp
    
    David  30 Jan 2006
        - fixes for LTD calculation (from James Drews)
    
        client/
            client_types.C,h
            cs_apps.C
    
    Rom    30 Jan 2006 (HEAD)
        - Tag for 5.3.16 release, all platforms
          boinc_core_release_5_3_16
    
    Charlie 30 Jan 2006
        -Mac: Undo change of 1/20/06 to Info.plist: restore manager to Dock because 
            use of NSUIElement also eliminated menu bar.
            (Tagged new Info.plist for boinc_core_release_5_3_16.)
    
        mac_build/
            Info.plist
            
    Charlie 31 Jan 2006
        -Mac: Remove redundant second link with libwx_mac.a.
           Fix buildWxMac.sh script to fix wxRegEx problems. 
           Fix bug so a new default item is selected when the old selected item 
           is deleted within a single selection list control.
           Update release scripts for separate ppc_Deployment build directory.
           (Tagged changed files for boinc_core_release_5_3_16.)
           
        clientgui/
            BOINCBaseView.cpp
        mac_build/
            buildWxMac.sh
            boinc.xcodeproj/
                project.pbxproj
        mac_installer/
            release_boinc.sh
            release_GridRepublic.sh
    
    Rom    31 Jan 2006
         - Bug Fix: If the wizard is configured for usernames, do not use the email
             address validator on the account info page.
             
         clientgui/
             AccountInfoPage.cpp
    
    David  31 Jan 2006
        - Back out changes to LTD calculation
    
        client/
            client_types.C,h
            cs_apps.C
    
    David  31 Jan 2006
        - add "table stats" web page
            (from Carl Christensen)
    
        html/
            inc/
                util.inc
            ops/
                sample_table_stats.php
    
    David  31 Jan 2006
        - user web: remove "pending credit" link from user page
    
        html/inc/
            user.inc
    
    Bruce 31 Jan 2006
        - user web: modify David's change just above.  Make 'pending
          credit link display only if 'show_results' enabled in
          project config.xml file.
    
        html/
            inc/
                user.inc
    
    David  31 Jan 2005
        - core client: finish logic for recovering from state file write failures.
            For some reason I'd done the write part but not the read part.
            write:
                1) write "next"
                2) rename "current" to "prev"
                3) rename "next" to "current"
            read:
                if "next" is valid, use it
                    (in case failure between 1 and 2)
                    In principle we should rename "next" to "current" here,
                    but I didn't bother doing this.
                else if "current" is valid use it
                    (normal case)
                else if "prev" is valid use it
                    (in case 3) failed and file got deleted)
    
            "is valid" means that the file has a <state_file> tag,
            followed later by a </state_file> tag
    
        client/
            cs_statefile.C
    
    Charlie 1 Feb 2006
        -Mac: Changes for Intel Macs.
           
        clientgui/
            MainFrame.cpp
            mac/
                MacGUI.pch
            res/
                mess.xpm
                proj.xpm
                result.xpm
                usage.xpm
                xfer.xpm
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    Rom    1 Feb 2006
        - Bug Fix: The account manager wizard wasn't actually calling the
            get_project_config routine and so various account manager
            specific settings were not being picked up.
        - Bug Fix: Include the account manager name in the wizard
            communication dialogs if we have it.
        - Bug Fix: Account manager errors were no longer being bubbled
            up to the manager.  The manager was declaring everything a
            success and displaying the success page.
        - Bug Fix: Add 'Account not Found' to the account manager wizard.
        - Bug Fix: Don't attempt an account manager rpc until after a
            proper username and password have been specified.  Various
            attributes in the acct_mgr_url.xml were being nulled out
            since the handle_reply function wasn't properly detecting the
            account not found condition, or any condition where only an
            error number was returned.
        - Bug Fix: Keep the tab graphics consistant across all the
            platforms.
            
        client/
            acct_mgr.C
            cs_scheduler.C
        clientgui/
            AccountInfoPage.cpp, .h
            AccountManagerProcessingPage.cpp, .h
            AccountManagerPropertiesPage.cpp, .h
            BOINCGUIApp.cpp, .h
            MainFrame.cpp
            ProjectProcessingPage.cpp
            WizardAccountManager.cpp, .h
        clientgui/res/
            mess.xpm
            proj.xpm
            result.xpm
            usage.xpm
            xfer.xpm
        lib/
            util.C
    
    David  1 Feb 2006
        - added web RPC for creating teams
        - on team creation (whether via RPC or web interface)
            make sure the country name and team type or legitimate
    
        html/
            inc/
                countries.inc
                team.inc
                team_types.inc (new)
            user/
                create_team.php (new)
                team_create_action.php
    
    David  1 Feb 2006
        - Core client: there's a feature where certain GUI RPCs
            enable network communication (if it would otherwise be disabled)
            for 5 minutes or so.
            This set of RPCs was too large.
            Restrict it to things like attach/update project etc.,
            for which network communication is clearly required.
        - core client: parse <want_network> elements in status messages from apps.
            I had forgotten to do this.
            This should finally allow F@h to work with modem users.
    
        client/
            app.h
            app_control.C
            gui_rpc_server_ops.C
    
    Rom    2 Feb 2006
        - Bug Fix: Always use the ai.email_addr field for the user identifier for
            both the create_account and lookup_account RPCs.  ai.user_name is only
            used to prepopulate the post account creation setup form.
            
        client/
            acct_setup.h
        clientgui/
            ProjectProcessingPage.cpp
        lib/
            gui_rpc_client.h
    
    Rom    2 Feb 2006
        - Setup new menu layout
        
        clientgui/
            BOINCGUIApp.cpp
            Events.h
            MainFrame.cpp, .h
            WizardAccountManager.cpp, .h
    
    Charlie 2 Feb 2006
        -Mac: Changes for Universal Binaries.
    
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
            buildcurl.sh
            buildjpeg.sh
            BuildMacBOINC.sh
        mac_installer/
            release_boinc.sh
            release_GridRepublic.sh
    
    Rom    2 Feb 2006
        - Update GridRepublic Icons
        - Add aditional menu item for the task tray when managed via an account
            manager.
        
        clientgui/
            BOINCGUIApp.cpp
            BOINCGUIApp.rc
            BOINCTaskBar.cpp, .h
            Events.h
        clientgui/res/
            gridrepublic16.xpm (Added)
            gridrepublic32.xpm (Added)
            gridrepublic.ico
    
    
    Rom    2 Feb 2006 (HEAD)
        - Tag for 5.3.17 release, all platforms
          boinc_core_release_5_3_17
    
    David  2 Feb 2006
        - web RPC: bug fix
    
        html/user
            am_set_info.php
    
    David  2 Feb 2006
        - core client: small logic error in statefile read
            (for "prev", use is_valid_statefile() instead
            of boinc_file_exists())
    
        client/
            cs_statefile.C
    
    David  2 Feb 2005
        - core client: correctly update long-term debt when a project
            finishes its last result and becomes no longer "potentially runnable".
            From James Drews.
    
        client/
            cs_apps.C
    
    David  2 Feb 2005
        - core client: long-term debt is modified only over
            potentially runnable projects,
            but it's averaged and normalized over all projects.
    
        client/
            cs_apps.C
    
    David  3 Feb 2005
        - Allow apps to do cleanup when they're aborted.
            - Add abort_request to BOINC_STATUS structure
            - API library: handle <abort/> message
            - Change boinc_get_status() arg from reference
                to pointer (for easier FORTRAN interface).
                This is an API change, but I think only CPDN uses this.
            - ACTIVE_TASK_SET::poll():
                Check for processes that are ABORT_PENDING
                for more than 5 seconds, and kill them
    
            From Carl Christensen, somewhat modified.
            I changed the way tasks are aborted.
            The core client can't sleep; that locks up the UI.
            So we can't sleep 5 seconds waiting for an app to exit
            after sending it an <abort/> message
            (existing apps don't recognize this message).
            Instead, send it the <abort/> message,
            set its state to PROCESS_ABORT_PENDING,
            and check it from the polling loop 5 seconds later.
    
        api/
            boinc_api.C,h
        client/
            app.C,h
            app_control.C
    
    David  6 Feb 2005
        - compile warning fixes
    
        client/
            cs_statefile.C
            gui_rpc_server_ops.C
    
    Rom    6 Feb 2006
        - Bug Fix: when running as a Windows Service we should use
            suspend_task/resume_task and suspend_network/resume_network
            instead of setting the activity states.
            
        client/
            client_state.h
            main.C
    
    David  6 Feb 2005
        - Core client: when we switched to Curl, we lost the code
            that sets gstate.want_network_flag when name resolution fails.
            I restored this to the Curl code.
    
        - The above is a kludge for detecting lack of physical connection.
            But name resolution can fail for reasons other than lack of
            physical connection; e.g. hostname might be bad.
            So if get name resolution failure,
            try to contact a reference web site,
            and only if that also fails set want_network_flag.
    
        client/
            acct_setup.C
            client_state.C,h
            net_xfer_curl.C
    
    Charlie 6 Feb 2006
        -Mac: Changes for Universal Binaries: when running on an Intel Mac, 
           read mach header of project application to determine if it has 
           Intel native executable or only PowerPC executable.  If emulating 
           PowerPC on an Intel Mac, treat the application as not supporting 
           graphics.  This works around a crash bug when displaying graphics 
           under PPC emulation.
        Fix multiple compiler warnings and one error.
        
        api/
            gutil.C
            mac_icon.C
        client/
            app.h
            app_graphics.C
            app_start.C
        clientgui/
            BOINCBaseView.cpp
            BOINCGUIApp.cpp
            ViewStatistics.cpp
        lib/
            mac_backtrace.C
            shmem.C
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
        mac_installer/
            LoginItemAPI.c
    
    David  6 Feb 2006
        - Slight refinement to next-earlier checkin.
            Set want_network_flag only if the request to the reference network site
            results in a CURLE_COULDNT_RESOLVE_HOST Curl error code.
    
        client/
            acct_setup.C,h
            gui_http.C,h
    
    David  6 Feb 2006
        - try to get rid of gcc4 warnings about virtual destructors
        - project creation bug fix (from Andre Kerstens)
    
        api/
            graphics_data.h
        client/
            client_msgs.h
        lib/
            msg_log.h
        py/Boinc
            setup_projects.py
    
    Charlie 7 Feb 2006
        -Mac: Adjust XCode project for David's warnings fix.  We now build on Mac 
           with no warnings!
    
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  7 Feb 2006
        - Core client: check for a file "global_prefs_override.xml"
            that overrides the global prefs obtained from server.
            This lets people manually tweak prefs on a given host,
            or develop add-on programs that do so.
        - Remove programs that tested old HTTP code
    
        client/
            client_state.C,h
            test_file_xfer.C (removed)
            test_http.C (removed)
            test_net_xfer.C (removed)
        lib/
            prefs.C,h
    
    David  7 Feb 2006
        - Add GUI RPC for rereading global prefs override file
    
        client/
            client_state.C,h
            gui_rpc_server_ops.C
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    David  7 Feb 2006
        - remove the "new CPU scheduler" code I added a couple weeks ago (sigh)
    
        client/
            client_state.h
            client_types.h
            cs_apps.C
            cs_scheduler.C
    
    David  7 Feb 2006
        - Unravel the CPU scheduler code a little:
            - split set_scheduler_modes() into two functions,
                set_scheduler_mode() and set_work_fetch_mode().
            - make a separate function, enforce_schedule(),
                that does the actual starting and stopping of processes
    
        client/
            client_state.h
            cs_apps.C
            cs_scheduler.C
    
    Bruce 7 Feb 2006
        - Added a script (originally provided by DA, I think) to
          send mass email to project participants.  The script allows
          one to select the TYPE of user, including 'all', 'active',
          'lapsed', 'unsuccessful' and so on.  Also appends a 'how to opt
          out' message at the end. Do NOT use this script without testing it.
    
        html/
            ops/
                mass_email.php
                index.php
    
    David  7 Feb 2006
        - Manager: change "Tasks" to "Commands".
            We're using "Tasks" to mean work now.
    
        clientgui/
            View*.cpp
    
    Charlie 8 Feb 2006
        -Mac: Enhance BOINC command-line build script with new options 
          to build only the 3 BOINC libraries (libboinc, gfxlibboinc and 
          api_libboinc), only 2 targets (boinc client and boinc_cmd), or 
          a combination of these two (5 targets).  The default is still 
          Build_all, which also builds the BOINC Manager.
          
        mac_build/
            BuildMacBOINC.sh
    
    David  8 Feb 2006
        - Move CPU scheduling code to a new file, cpu_sched.C
        - PHP: use $_POST, not $HTTP_POST_VARS
    
        client/
            Makefile.am
            client_state.h
            cpu_sched.C
            cs_apps.C
            cs_scheduler.C
        html/user/
            create_account_action.php
        win_build/
            boinc_cli_curl.vcproj
    
    Rom    8 Feb 2006 (HEAD)
        - Tag for 5.3.18 release, all platforms
          boinc_core_release_5_3_18
    
    David  8 Feb 2006
        - Change the way the manager learns about the core client's network status.
            Replace the <network_query> GUI RPC with a new one, <network_status>
            It returns:
            0 if currently have network connections
            1 if need a physical connection
            2 if don't have connections, and don't need any
    
        client/
            acct_setup.C
            client_state.C,h
            gui_rpc_server_ops.C
            net_xfer_curl.C
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    Bruce 9 Feb 2006
        - Ops page bug fix from Carl Christensen for manage special users page.
    
        html/
            ops/
                manage_special_users.php
    
    
    Rom    9 Feb 2006
        - Integrate BOINC Manager into David's last API change.
        - Breakout the dial up functionality into its own class.
        - Increase the refresh rate of the list view to 1 second.
        - Terminology change in the project tab.  credit = work done.
        
        clientgui/
            BOINCDialupManager.cpp, .h (Added)
            MainFrame.cpp, .h
            ViewProjects.cpp
    
    Charlie 8 Feb 2006
        - Mac: Add backtrace capability for Intel-based Macs. Add new 
            sources BOINCDialupManager.cpp, .h, cpu_sched.C to project.
            Fix a link error with SETI@home.
        
        api/
            graphics_data.h
        lib/
            MoreAddrToSym.c,h (Added)
            mac_backtrace.C,h
            MoreBacktrace.c,h (Added)
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  10 Feb 2005
        - cosmetic
    
        client/
            client_msgs.h
            client_types.h
            cpu_sched.C
            cs_scheduler.C
    
    Charlie 10 Feb 2006
        - Mac: Free memory allocated for strings when longer needed.
        
        lib/
            mac_backtrace.C
    
    David  11 Feb 2006
        - user web: add links to combined stats sites from user page;
            reorganize user page.
        - user web: enable pending credit page as long as
            config file has <show_result/>
    
        html/
            inc/
                stats_sites.inc (new)
                user.inc
            user/
                pending.php
    
    David  11 Feb 2006
        - web tweaks
    
        html/inc/
            user.inc
    
    Rom    13 Feb 2006
        - Fix dialup functionality
        - Numerious fixes for CPDN
        - Enable dialup on platforms other than Windows.
        
        clientgui/
            BOINCDialupManager.cpp, .h
            DlgDialupCredentials.h
            DlgOptions.cpp, .h
            DlgSelectComputer.h
            MainFrame.cpp, .h
    
    Rom    13 Feb 2006 (HEAD)
        - Tag for 5.3.19 release, all platforms
          boinc_core_release_5_3_19
    
    Rom    13 Feb 2006
        - Bug Fix: Fix a possible invalid pointer issue with the taskbar
            notifications.
            
        clientgui/
            BOINCTaskBar.cpp
    
    David  13 Feb 2006
        - core client: changes to the way we check
            for presence of network connection.
            Don't check for DNS failures,
            since these won't show up for ~24 hours in some cases.
            Instead, if we get any HTTP failure,
            try an HTTP op to a high-availability URL,
            and if that fails assume it's because of lack of network.
    
            NOTE: this checkin prints lots of messages for debugging
    
        client/
            acct_setup.C,h
            client_state.C
            net_xfer_curl.C
    
    David  13 Feb 2006
        - make test_uc.py work again
    
        test/
            testbase.py
    
    Rom    13 Feb 2006
        - Bug Fix: Fix a few issues that were introduced with the new dial up
            manager functionality.  Variables that were once seperate are now
            mutually exclusive and so two conditions would never have fired
            when traversing the state machine.
            
        clientgui/
            BOINCDialupManager.cpp
    
    David  14 Feb 2006
        - fix bug that broke account manager attach
        - removed 2nd arg (CurlError) from handle_reply functions.
            We were using this to check for DNS failure,
            but we're not doing this anymore.
    
        client/
            acct_setup.C,h
            gui_http.C,h
    
    David  14 Feb 2006
        - core client: on Windows, use commit mode ("wc") for state file
            (from Walt Gribben)
    
        client
            cs_statefile.C
    
    Rom    14 Feb 2006
        - Bug Fix: After any of the wizards have been executed, recreate the
            menus.
        - Bug Fix: Call Fit() before setting focus to any of the controls.
            Fit() messes up the input focus even though the control still
            seems like it is selected and has focus.
        - Bug Fix: Disable the detach button when the project is managed
            via an account manager.  This only affects the project tab.
        - Feature Change: Trim down the number of menu items in the taskbar
            context menu by making the suspend activities and suspend
            network acivities menu checkbox items.  When the items are checked
            they are suspended, and when they are unchecked they are set to be
            based on preferences.
            
        clientgui/
            AccountInfoPage.cpp
            AccountKeyPage.cpp
            BOINCTaskBar.cpp
            MainFrame.cpp
            ProjectInfoPage.cpp
            ProxyPage.cpp
            ViewProjects.cpp
    
    David  14 Feb 2006
        - user web: on "Statistics" page, remove the XML mumbo-jumbo.
            Show a list of all current stats sites,
            and sites that provide signature images.
            The central repository for these lists is html/inc/stats_sites.inc
    
        html/
            doc/
                stats_sites.dat (removed)
            inc/
                stats_sites.inc
                user.inc
            user/
                stats.php
    
    David  14 Feb 2006
        - Manager: rename menu item from "Update now"
            to "Synchronize with [name of account manager]".
            Fixed some spelling/grammar.
    
        clientgui/
            MainFrame.cpp
    
    Rom    14 Feb 2006
        - Spec Change: Transfers should be 0% until data is actually transfered.
        - Spec Change: Warn a user that aborting a file transfer will invalidate
            a task and report an error.
        - Add some comments around the Update Now menu item so the localizers
            know what information is expected and make the string contruction
            the same as with the other menu items.
    
        clientgui/
            ViewTransfers.cpp
    
    Rom    15 Feb 2005
        - Spec Change: Adjust the refresh rate for list view items to 1 second.
            This was previously done in the constructor for CMainFrame but was
            later changed in SetFrameListPanelRenderTimerRate() for deal with
            CPU utilization on Mac's.
            
        clientgui/
            MainFrame.cpp
    
    David  15 Feb 2006
        - core client: if socket/bind/listen on the GUI RPC socket fails,
            sleep for a second and retry; repeat 30 times.
            This will hopefully deal with situations on Windows
            where we're running at boot time
            and network comm doesn't work for a few seconds
            (resulting in the core client exiting,
            and the Manager being disconnected).
    
        client/
            client_state.C
    
    David  15 Feb 2006
        - Manager: fix menu strings and remove erroneous comments
    
        clientgui/
            MainFrame.cpp
    
    Rom    15 Feb 2006
        - Bug Fix: Force a project state update even when we are looking at
            the tasks tab.  Copy the updated project state to the existing global
            state structure.
            
        clientgui/
            MainDocument.cpp, .h
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    David  15 Feb 2006
        - make crypt_prog work on Windows
            (from James Drews)
    
        lib/
            crypt_prog.C
    
    Charlie 16 Feb 2006
        - Mac: Fix menubar draw bug by calling MacInstallMenuBar().  
        - Since Quit (Exit) is not in File menu on Mac OSX, don't show File 
            menu unless it contains other items in addition to Exit.
        - Dialup manager doesn't work on Mac or Linux, so compile it and 
            Options dialog Connections tab only for Windows.
        - Fix a small bug in release scripts.
        
        clientgui/
            MainDocument.cpp
            DlgOptions.cpp
        mac_installer/
            release_boinc.sh
            release_GridRepublic.sh
    
    Rom    16 Feb 2006
        - Modify the disk usage and statistics tab icons
        - Add a worning before the account manager wizard will actually
            defect from an account manager
        - Remove CompletionUpdatePage.cpp and CompletionRemovePage.cpp
        - Remove AccountManagerStatusPage.cpp
        - Remove trace messages from boinc dll.
        - Followup Eric's last change that delt with prematurly showing
            100% progress for tasks due to rounding with a change to
            file transfer progress using the same scheme.
        
        clientgui/
            AccountManagerProcessingPage.cpp
            BOINCWizards.h
            CompletionPage.cpp
            ViewStatistics.cpp, .h
            ViewTransfers.cpp
            WelcomePage.cpp
            WizardAccountManager.cpp, .h
            CompletionUpdatePage.cpp, .h (Removed)
            CompletionRemovePage.cpp, .h (Removed)
            AccountManagerStatusPage.cpp, .h (Removed)
        clientgui/res/
            stats.xpm (Added)
            usage.xpm
        clientlib/win/
            BOINCSENSSink.cpp
            NetworkTracker.cpp
    
    David  16 Feb 2006
        - core client: bug fix (hopefully) for situation where
            a server or proxy doesn't understand Range: in HTTP header,
            and sends us the entire file when we just want the tail.
            Solution: if we asked for a partial transfer,
            and we got a 200 HTTP return,
            and the file is bigger than it's supposed to be,
            trim off the part that was there initially.
        - remove NET_XFER::strCurlResult, file_read_buf* fields
    
        client/
            file_xfer.C,h
            net_xfer_curl.C,h
    
    Rom    16 Feb 2006
        - Followup Eric's last change that delt with prematurly showing
            100% progress for tasks due to rounding with a change to
            file transfer progress using the same scheme.
        
        clientgui/
            ViewTransfers.cpp
    
    David  16 Feb 2006
        - clientgui compile on unix
    
        clientgui/
            Makefile.am
    
    Charlie 17 Feb 2006
        - Mac: Remove obsolete files from XCode project (CompletionUpdatePage.cpp, 
            .h, CompletionRemovePage.cpp, .h, AccountManagerStatusPage.cpp, .h)
        - Remove unused variable pWAP to fix compiler warning.
    
        clientgui/
            WelcomePage.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    Rom    17 Feb 2006
        - Bug Fix: Remove the defect account manager functionality
            from the wizard and put it into it's own routine
            per David's request.
        - Bug Fix: Fix the context menu item indentation problem on the task bar.
        
        clientgui/
            BOINCDialupManager.cpp
            BOINCTaskBar.cpp
            MainFrame.cpp
    
    David  17 Feb 2006
        - Add Visual Studio project file for crypt_prog
            (from James Drews)
    
        win_build/
            crypt_prog.vcproj
    
    Rom    17 Feb 2006
        - Bug Fix: Adjust the dialog title code for both the attach to project wizard
            and the attach to account manager wizard per David's request.
            
        clientgui/
            WizardAccountManager.cpp
            WizardAttachProject.cpp
    
    Rom    17 Feb 2006
        - Bug Fix: Reset the reminder timers when the user updates something.
        
        clientgui/
            BOINCDialupManager.cpp, .h
            MainFrame.cpp, .h
            ViewProjects.cpp
            ViewTransfers.cpp
    
    David  17 Feb 2006
        - user web: restore posts link on public user page
            (not sure how it got deleted)
        - minor code cleanup
    
        html/
            inc/
                profile.inc
                user.inc
            user/
                delete_profile.php
    
    David  17 Feb 2006
        - core client: remove network_status messages
    
        client/
            client_state.C
    
    Walt   17 Feb 2006
        - bug fix: Fix core client crash on startup when an unknown tag is part of
          <pers_file_xfer> XML structure.
        - core client, GUI RPC: changed persistent file transfers to save the count
          of bytes transferred.  Previously the count was only available when the
          file transfer was active.
           -Adds member last_bytes_xferred to PERS_FILE_XFER class.
           -Adds <last_bytes_xferred> tag to the XML structure and GUI RPC ops.
           -GUI RPC op FILE_TRANSFER::parse is changed to get the count of bytes
            transferred (bytes_xferred) from <last_bytes_xferred>. 
    
        client/
            pers_file_xfer.C, .h
        lib/
            gui_rpc_client_ops.C
    
    Charlie 17 Feb 2006
        - Mac: - Fix unused variable compiler warnings.
        - added MoreAddrToSym.c, h, MoreBacktrace.c, h to Makefile
        - fixes to Mac build scripts
        - check in XCode project used by buildWxMac.sh script to build wxMac 
            libraries for BOINC.
    
         lib/
             Makefile.am
        clientgui/
            BOINCTaskBar.cpp
        mac_build/
            buildcurl.sh
            buildjpeg.sh
            BuildMacBOINC.sh
            buildWxMac.sh
            setupForBOINC.sh
            wxMac-BOINC.xcodeproj/  (added)
                project.pbxproj     (added)
    
    David  17 Feb 2006
        - If statefile doesn't have right platform name, reset all projects.
            This is intended to deal with the case where someone
            copies all their files from a Mac/PPC to a Mac/Intel
            and expects everything to work.
            (suggested by Charlie Fenton).
        - minor code cleanup
    
        client/
            check_state.C
            client_state.C,h
            cs_statefile.C
            http_curl.C
    
    Bruce 18 Feb 2006
        - User RSS page: make it pass the validation check
          http://feedvalidator.org/                                                                                                                                                 
    
        html/
            user/
                sample_rss_main.php
    
    Charlie 18 Feb 2006
        - Mac: - Fix compiler setting which caused bug when building on PowerPC.
        - Fix compiler errors and crash bug.
        
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
        client/
            client_state.C
        clientgui/
            BOINCTaskBar.cpp
            MainFrame.cpp
    
    David  19 Feb 2006
        - user web: show error results with pink background
            (from Rytis Slatkevicius)
    
        html/
            inc/
                result.inc
            user/
                white.css
    
    Bruce 20 Feb 2006
         - user web: allow sorting of columns of host data for a given user. I
           have done this in a general way, which should permit any page to
           be easily modified to permit sorting by any column.
    
        html/
            inc/
                util.inc
                host.inc
            user/
                hosts_user.php
    
    Charlie 21 Feb 2006
        - Mac: Add safety timer to kill application if screensaver hangs.
        - Improve screensaver display when no graphics: don't display 0.00% 
            when client has not yet returned fraction_done; better message.
        - Add time/date stamp to backtrace output.
        - Update ReadMe files for universal binaries and version 5.3.19.
    
        client/
            app_graphics.C
            ss_logic.C
            app.C
            app.h
        clientgui/
            mac/
                mac_saver_module.cpp
        lib/
            mac_backtrace.C
        mac_installer/
            GR-ReadMe.rtf
            ReadMe.rtf
            
    
    Rom    21 Feb 2006
        - Check in new suspend menu code.
        - Bug Fix: Fix memory leak condition in gui rpc.
        - Bug Fix: Copy gui_urls from new project class to the old class when
            updating project stats.
        - Bug Fix: Make sure the default connection is properly displayed
            in the connection tab.
            
        clientgui/
            BOINCTaskBar.cpp, .h
            Events.h
            MainFrame.cpp
        lib/
            gui_rpc_client_ops.C
    
    Rom    21 Feb 2006
        - Spec Change: Add the ability for the ACCOUNT_OUT rpc structure to contain
            custom project error messages
            
        clientgui/
            ProjectProcessingPage.cpp
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    Bruce 22 Feb 2006
        - User web pages.  Make RSS feed type application/xml rather than text/xml.
          Make RSS feed link permanent guid rather than temporary.
        - Better caching mechanism for hosts_user.php to prevent malicious user
          from passing _GET[] strings that would lead to unbounded cache usage.
    
        html/
            user/
                hosts_user.php
                sample_rss_main.php
    
    Charlie 22 Feb 2006
        - Mac: Update build instructions and scripts for Intel Macs and Universal 
            Binaries.
        
        doc/
            mac_build.html
        mac_build/
            HowToBuildBOINC_XCode.rtf
            setupForBOINC.sh
    
    Rom    22 Feb 2006
        - Bug Fix: ACCOUNT_OUT::parse should not return after encountering the
            error_num element.
        - Bug Fix: Make sure we are looking at the ACCOUNT_OUT messages array
            instead of the attach to project response.
            
        clientgui/
            ProjectProcessingPage.cpp
        lib/
            gui_rpc_client_ops.C
    
    Rom    22 Feb 2006
        - Bug Fix: We seem to be having trouble with sub menus on the Mac.  So
            we will make the Snooze menu item a checkbox menu item and default
            it to an hour. 
    
        clientgui/
            BOINCTaskBar.cpp, .h
            Events.h
            MainFrame.cpp
    
    David  22 Feb 2006
        - core client: configure Curl to not accept self-signed SSL certificates.
            Projects that use SSL will have to get SSL certificates
            from Thawte, Verisign etc.
            This prevents certain man-in-the-middle attacks.
        - core client: configure Curl to accept any encoding (including gzip)
    
        (both from Kevin Reed, WCG)
    
        client/
            http_curl.C
    
    David  22 Feb 2006
        - temporarily back out the above SSL change,
            since it appears that Curl doesn't have a CA bundle by default,
            so all SSL connections fail.
    
        client/
            http_curl.C
    
    Rom    22 Feb 2006
        - Bug Fix: Close down the OpenGL handles as well as the window handles
            when boinc_finish() is called.
        - Bug Fix: Add better power management handling to science applications
            if they have a lingering graphics window open.
            
        api/
            boinc_api.C, .h
            windows_opengl.C
    
    Rom    22 Feb 2006
        - Code Cleanup
        - Make S@H enhanced compile again on Windows.
        
        clientgui/
            AccountManagerProcessingPage.cpp
            MainFrame.h
            ProjectProcessingPage.cpp
        lib/
            proxy_info.C
    
    Rom    23 Feb 2006 (HEAD)
        - Tag for 5.3.20 release, all platforms
          boinc_core_release_5_3_20
    
    Walt   23 Feb 2006
        - Bug Fix: last_bytes_xferred was only counting the current bytes transferrred
            on uploads.
        
        client/
            pers_file_xfer.C
    
    Rom    23 Feb 2006
        - Bug Fix: When changing how return values are handled, make sure the callers
            know about the API change.
            
        clientgui/
            ProjectProcessingPage.cpp
    
    Walt   23 Feb 2006
        - Bug Fix: PROJECT::attach_via_acct_mgr flag wasn't being initialized or copied, 
            causing the manager to incorrectly disabled the detach button.   Also added
            the flag to PROJECT::print().
        
        lib/
            gui_rpc_client_ops.C
            gui_rpc_client_print.C
    
    Charlie 23 Feb 2006
        - Mac: Fix compiler warning.
         
        clientgui/
            BOINCTaskBar.cpp
    
    Rom    23 Feb 2006
        - Bug Fix: The new project copy operation instead of replace had the drawback
            of not deleting a project from the listview after a project detach operaton.
            
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    Rom    24 Feb 2006 (HEAD)
        - Tag for 5.3.21 release, all platforms
          boinc_core_release_5_3_21
    
    David  24 Feb 2006
        - remove "gzip" from list of encodings accepted by Curl;
            having it in the list breaks existing projects
            that use .gz files and decompress them in the app
            (e.g. Einstein and CPDN).
            We can fix this by adding a <gzip/> element in <file_info>; 
            I'll do this later.
        - Remove old HTTP code and data that's deprecated by Curl
            (e.g. timeout, blocksize stuff; stuff related
            to parsing URL into host/port/file/)
            remove commented-out code.
        - GUI RPC: a <file_xfer> elements now includes
            a <url> rather than a <hostname>.
            This change doesn't affect the BOINC Manager,
            which I believe is the only client of this RPC
    
        client/
            http_curl.C,h
            net_xfer_curl.C,h
            pers_file_xfer.C
    
    David  24 Feb 2006
        - Scheduler: increment the infeasible count for a result
            in a slot that cannot be sent to a host because
            the workunit has already be assigned to a different platform.
            This helps projects that use homogenous redundancy
            because once the result is marked infeasible
            it will be checked for compatibility for a given host first,
            thus leaving results for workunits that have not yet
            been assigned free for other hosts.
            (from Kevin Reed, WCG)
    
        sched/
            sched_array.C
    
    Rom    24 Feb 2006 (HEAD)
        - Tag for 5.3.22 release, all platforms
          boinc_core_release_5_3_22
    
    David  24 Feb 2006
        - Add new config file options, which are typically used together:
            <max_claimed_credit> (double)
                If a result claims more credit than this, mark it as invalid
            <grant_claimed_credit> (bool)
                Grant the claimed credit,
                regardless of what other results for this workunit claimed.
            These are used by Rosetta@home, which has the unusual
            property that different instances of the same job
            can do much different amounts of work,
            depending on the user's project settings.
    
            (from David Kim)
    
        sched/
            sched_config.C
            sched_config.h
            validate_util.C
            sched/validator.C
            
    Charlie 25 Feb 2006
        - Mac: Fix a small bug in release scripts which made the zip 
            files larger than necessary.
        mac_installer/
            release_boinc.sh
            release_GridRepublic.sh
    
    Charlie 27 Feb 2006
        - Mac: Fix tilde expansion bug in setupForBOINC build script.
        - Fix bug in buildWxMac build script.
        - Update build instructions to restore info on adding an icon 
            to a science application.
        - Fix minor bug in diagnostic error message in setMacRsrcForFile().
        
        doc/
            mac_build.html
        mac_build/
            HowToBuildBOINC_XCode.rtf
            setupForBOINC.sh
            buildWxMac.sh
        api/
            mac_icon.C
    
    Bruce 27 Feb 2006
        - User web page to show hosts: check all GET[] values to 
          be sure they are legal/allowed.
    
        html/
            user/
                hosts_user.php
    
    Rom    27 Feb 2006
        - Bug Fix: Restore the encoding behavior back to 5.2 defaults until
            we have a better solution in place.
            
        client/
            http_curl.C
    
    Rom    27 Feb 2006
        - Expose Windows detection code in the DLL to BOINC proper.
        
        clientlib/win/
            Identification.cpp
            Identification.h
    
    Walt   27 Feb 2006
        - Bug Fix: On Win2k and later, use global mutex so only one
            instance of the core client runs at a time.
        
        client/
            main.C
        cliend/win
            win_util.h
    
    Charlie 28 Feb 2006
        - Mac: Get path for setMacPList in a more reilable way.
        
        api/
            boinc_api.h
            mac_icon.C
            x_openGL.C
    
    David  28 Feb 2006
        - Continuing saga of Curl encodings.
            It seems like if you call set CURLOPT_ENCODING
            with any value, even "identity",
            it will accept any encoding.
            This breaks projects that do application-level gzip.
            Solution: if the filename ends with ".gz",
            don't set CURLOPT_ENCODING.
            Otherwise set it to "" (accept all).
            NOTE: I think this supports current requirements
            (for "deflate" to work, and for app-level gzip to work).
            At some point I'll implement BOINC-level gzip.
        - Fix the format of <error_msg> elements within <file_info>.
            Need a CR between the last line and the </error_msg> tag.
        - In the course of testing I found that a <file_info>
            with no <url>s will crash the core client.
            Fixed this.
        client/
            client_types.C
            file_xfer.C
            http_curl.C
    
    Rom    1 Mar 2006
        - Bug Fix: Make detach from account managers work again.
        - Bug Fix: url encode the lookup account and create account
            rpcs.  Canonicalize the urls before use.
            
        client/
            acct_setup.C
        clientgui/
            MainFrame.cpp
        lib/
            util.C, .h
    
    Rom    1 Mar 2006 (HEAD)
        - Tag for 5.3.23 release, all platforms
          boinc_core_release_5_3_23
    
    David  1 Mar 2006
        - Core client: don't lose <send_gui_rpc_info/> tag from acct mgr URL file
            when make acct mgr RPC
        - Core client: make RAM size measurement work on HPUX > 4GB
    
        client/
            acct_mgr.C
            hostinfo_unix.C
    
    Rom    2 Mar 2006
        - Bug Fix: When Windows resumes from hibernation return the application to
            it's previously desired state instead of blindly resuming it.
        - Bug Fix: Copy all the project data except the master_url for each project
            status update.
            
        api/
            boinc_api.C, .h
            windows_opengl.C
        lib/
            gui_rpc_client_ops.C
    
    Rom    2 Mar 2006
        - Further refinements to the core client launch code when the core client
            has been configured as a service.
            
          NOTE: boincmgr.exe now explictly depends on boinc.dll
            
        clientgui/
            BOINCGUIApp.cpp
        clientlib/win/
            Service.cpp
        win_build/
            boinc.sln
            boinc_dll.vcproj
            boincmgr_curl.vcproj
    
    David  2 Mar 2006
        - core client: is a scheduler RPC is pending to a project,
            do it even if project is suspended via GUI.
            This is needed to propagate host CPIDs for GridRepublic.
            It also seems like the right semantics for update requests via GUI
            (i.e. Update should override Suspended)
    
        client/
            cs_scheduler.C
    
    David  2 Mar 2006
        - core client: tighten up XML parsing.
            When we use copy_element_contents() or dup_element_contents()
            and don't find the end tag, that's an error,
            and probably means we skipped over a bunch of critical elements.
            Fix places where we ignored this error.
        - don't do fprintf(stderr) from util functions
        - have strcatdup() return an error
            (rather than write to stderr and exit()) if realloc() fails
    
        client/
            schedule_op.C
        lib/
            gui_rpc_client.C
            parse.C,h
        sched/
            file_upload_handler.C
    
    David  2 Mar 2006
        - core client: when host CPID changes,
            delay the resulting scheduler RPCs by 15 seconds
    
        client/
            cs_scheduler.C
    
    David  3 Mar 2006
        - core client: on scheduler RPC, if our host ID is zero,
            set RPC seqno to zero also.
            This avoids a bug where the scheduler creates a new host record
            with rpc_seqno zero, and then on the next RPC creates
            ANOTHER host record because the client's rpc_seqno is > 0
        - core client: propagate host CPID change only
            if we're using an account manager.
    
        client/
            cs_scheduler.C
    
    David  3 Mar 2006
        - scheduler: server-side fix for above bug.
            If we create a new host record,
            pretend that the client sent rpc_seqno 0
    
        sched/
            handle_request.C
    
    David  3 Mar 2006
        - On project attach: if PROJECT/app_info.xml exists,
            don't clear out the project directory.
            This makes life easier for people who use anonymous platform;
            they don't have to re-download apps.
            (suggested by Lars Bausch)
        - Eliminate the PATH_SEPARATOR symbol.  Just use /
    
        client/
            app.C
            app_control.C
            app_start.C
            cs_account.C
            cs_statefile.C
            cs_trickle.C
            file_names.C
        lib/
            filesys.C,h
    
    Walt   3 Mar 2006
        - GUI RPC: change to <file_transfers> to include files to be
            transferred that don't have a pers_file_xfer object yet. 
        - Manager: Don't show 'uploading' or 'downloading' unless file
            transfer is active.
    
        client/
            cs_statefile.C
        clientgui/
            ViewTransfers.cpp
    
    David  5 Mar 2006
        - Maybe fix bug where work fetch stopped
    
        client/
            cs_scheduler.C
            file_names.h
    
    Rom    6 Mar 2006
        - Bug Fix: Fix a couple text issues when using an existing account
            in the wizard
            
        clientgui/
            AccountInfoPage.cpp
            CompletionPage.cpp
    
    Rom    6 Mar 2006 (HEAD)
        - Tag for 5.3.24 release, all platforms
          boinc_core_release_5_3_24
    
    Rom    6 Mar 2006
        - Update localization Template
        
        locale/client/en_US
            BOINC Manager.mo
            BOINC Manager.po
    
    David  6 Mar 2006
        - add db_dump_spec.xml to source tree (in sched/)
            and copy it when create new project
        - Core client: after read_global_prefs_override GUI RPC,
            request CPU reschedule (in case #CPUs changed)
    
        client/
            file_names.h
            gui_rpc_server_ops.C
        py/Boinc/
            setup_project.py
        sched/
            db_dump_spec.xml (new)
    
    David  6 Mar 2006
        - boinc_cmd: add --read_global_prefs_override command
    
        lib/
            boinc_cmd.C
    
    Rom    7 Mar 2006
        - Start the account manager wizard anytime their is an acct_mgr_url.xml
            file and no credentials.
            
        clientgui/
            MainFrame.cpp
    
    David  7 Mar 2006
        - scheduler: add <master_url> element to reply
            (Lets clients check that they have the right project URL)
        - core client: if a project is suspended, and a scheduler RPC fails,
            clear the sched_rpc_pending flag so we don't keep retrying
    
        client/
            scheduler_op.C
        sched/
            sched_config.C,h
            server_types.C
    
    David  7 Mar 2006
        - core client: print project URL in startup message
        - core client: is <master_url> is present in a scheduler reply,
            and it doesn't match project's master URL,
            print error messages advising detach/reattach.
            If there's another project with that URL,
            tell user to detach them both, since (in the BOINC Manager)
            there's no way to distinguish them.
    
        client/
            client_state.C
            scheduler_op.C,h
    
    David  7 Mar 2006
        - don't allow attaching a project with same name as existing project
    
        client/
            cs_scheduler.C
            scheduler_op.C
        lib/
            error_numbers.C
    
    Rom    7 Mar 2006
        - Bug Fix: Somewhere along the line, the code to store the account
            manager login name and password hash was removed from the source
            tree.  Put it back in.
            
        client/
            acct_mgr.C
    
    Rom    7 Mar 2006
        - Bug Fix: Choose a password nit for account managers.
        
        clientgui/
            AccountInfoPage.cpp
    
    Rom    6 Mar 2006 (HEAD)
        - Tag for 5.3.25 release, all platforms
          boinc_core_release_5_3_25
    
    Rom    9 Mar 2006
        - Bug Fix: Don't display the minimum password length when a project
            has account creation disabled in the attach to project wizard.
        - Bug Fix: Hide the messages from server static box if there are
            no messages from the server to report.  Instead tell the user
            to check the messages tab.
        - Bug Fix: Make the next and back button go back to the account
            info page when an invalid username or password are used.
        - Bug Fix: Don't use Next and Back buttons in the Statistics view.
            Localizers need different text because of the changes in context.
        - Bug Fix: Don't allow an error message to be localized.
        - Bug Fix: Where possible use a safer string copy function. 
            Defence in depth and all that.
        
        client/
            acct_mgr.C
        clientgui/
            AccountInfoPage.cpp
            CompletionErrorPage.cpp
            hyperlink.cpp
            NotFoundPage.cpp
            ViewStatistics.cpp
    
    David  9 Mar 2006
        - core client: generate a new host CPID only if we sent a nonzero host ID
            to the scheduler and it returned a (different) host ID
    
        client/
            cs_scheduler.C
    
    David  9 Mar 2006
        - user web: minor fixes
    
        html/user/
            debug.php (removed)
            profile_search_action.php
            user_search_action.php
    
    David  9 Mar 2006
        - Scheduler: avoid creating redundant host records.
            If a scheduler request has zero host ID but non-blank host CPID,
            see if there's a host record in the DB with that CPID;
            if so, pick the most recent (i.e. largest ID)
            and use it (rather than creating a new host record).
    
            This change means that when you detach/reattach to a project,
            you won't get a new host record.  Woo hoo!
    
        sched/
            handle_request.C
    
    David  9 Mar 2006
        - core client: if change host CPID, do immediate notification
            only of projects managed via account manager
    
        client/
            cs_scheduler.C
    
    Rom    11 Mar 2006
        Problem:  On Windows it seems like random crashes occur with
          the science application is trying to shutdown.
    
        Cause:  When a science application that supports graphics is
          running on Windows it is generally running with three threads.
    
            Worker: normally contains the science package and normally
              does the bulk of the memory allocations and de-allocations.
    
            Graphics: normally just reads what the worker thread has
              produced and displays it in a graphics window.  Memory
              allocations are normally handled on the stack or as
              global variables which are only used via the graphics
              thread.
    
            Timer: normally handles the IPC to and from the core client.
    
        When the quit request is received from the core client the timer
          thread would call exit which in turn would cause the C Runtime
          Library to clean up after itself before calling the ExitProcess
          Windows API which would actually stop the threads and exit the
          process.  The thread that calls ExitProcess causes the heaps to
          be freed before the other threads have been stopped.  The
          greater the number of allocations the longer the graphics and
          worker threads are left running and the greater the chance of 
          touching an address of memory that has been freed.
    
        Solution: Instead of calling exit call TerminateProcess. 
          TerminateProcess causes the OS to halt all executing threads at
          the same time and then starts the shutdown process for the
          process.
    
        api/
            boinc_api.C, .h
            windows_opengl.C
    
    David  11 Mar 2006
        - Scheduler (see checkin of 9 Mar): When we use a host record
            based on host CPID (presumably because user detached/reattached)
            mark all in-progress results as over, client error.
            This prevents them from being resent.
            Avoid a situation where a result causes problems on a host,
            user detaches/reattaches to clear things up,
            and then the host gets sent the same result again.
            (from Bruce Allen)
    
        sched/
            handle_request.C
            transitioner.C
    
    David  13 Mar 2006
        - change arg of boinc_init_options() from BOINC_OPTIONS&
            to BOINC_OPTIONS* (so you can call it from C)
    
        api/
            boinc_api.C,h
            graphics_lib.C
    
    Walt   13 Mar 2006
        - Bug Fix: in boinc_exit(), all platforms, call fflush(NULL) so
          output buffers get flushed.  Moves the call outside the #ifdef.
        - Bug Fix: Account manager shouldn't be contacted if the network
            is suspended.  This affects the automatic (every hour)
            connections only.
    
        api/
            boinc_api.C
        client/
            client_state.C
    
    Rom    14 Mar 2006 (HEAD)
        - Tag for 5.3.26 release, all platforms
          boinc_core_release_5_3_26
    
    Charlie  14 Mar 2006
        - Fix compiler bug due to BOINC_OPTIONS* when using objective-C.
    
        api/
            boinc_api.h
    
    Rom    14 Mar 2006
        - Bug Fix: Copy over the account manager url from the rpc to
            the global account manager structure so that the
            acct_mgr_url.xml file can be created.
            
        client/
            acct_mgr.C
    
    David  15 Mar 2006
        - API: add boinc_get_fraction_done(): call this from graphics thread
            to get latest fraction done reported by worker thread.
    
        api/
            boinc_api.C,h
    
    David  15 Mar 2006
        - core client: if an account manager RPC succeeds,
            do a scheduler RPC to a project that was attached via the AMS,
            in case the user updated preferences.
        - web RPC to set user info: make sure global and project
            preferences are valid XML
            (well, at least make sure they have start/end tags)
    
        client/
            acct_mgr.C
        html/user/
            am_set_info.php
    
    Charlie  16 Mar 2006
        - Add typedef to BOINC_OPTIONS and BOINC_STATUS so boinc_get_status() 
            and boinc_init_options() declarations compile without errors 
            when using straight C and objective-C with GCC-4.0.
    
        api/
            boinc_api.h
    
    Rom    16 Mar 2006
        - Bug Fix: If we detect a condition in which we really can't display
            graphics, then we should notify the GUI's that graphics are
            not enabled via the ACTIVE_TASK::write function.
            
        client/
            app.C
            client_state.C, .h
    
    Bruce 16 March 2006
        - Make 'last-modified' and '<lastBuildDate>' entries in RSS feed
          correctly correspond to the last time the project_news.inc file
          was modified.
    
        html/
            user/
                sample_rss_main.php
    
    Rom    16 Mar 2006
        - Bug Fix: Only allow the SENS Event Notification registration to
            happen on Windows 2000 machines or better.  This appears to
            resolve explorer crashing on Win9x machines during shutdown.
            
        clientlib/win/
            boinc_dll.cpp
            NetworkTracker.cpp
    
    David  16 Mar 2006
        - scheduler: when mark a result as sent, make sure its
            server_state is what we expected (e.g. UNSENT).
            This guards against two scheduler instances trying to
            send the same result at about the same time.
            (from Bruce Allen)
    
        db/
            boinc_db.C,h
            db_base.C,h
        sched/
            sched_resend.C
            sched_send.C
    
    Bruce 16 Mar 2006
        - missing return value in David's check-in
    
        db/
            boinc_db.C
    
    David  17 Mar 2006
        - fix mysql_affected_rows() problem: needed to include mysql.h
    
        db/
            boinc_db.C
            db_base.C
    
    Rom    17 Mar 2006
        - Bug Fix: Stackwalker was using printf's to describe errors during
            initialization, so I'm changing them to fprintf(stderr, "") style
            messages so we can at least get more information about the
            initialization error.
        - Bug Fix: In fixing the bug above I noticed that the code to
            load the dbghelp.dll library wasn't attempting to look
            in the BOINC installation folder for it when executing as part
            of the science applications.  Check in the BOINC installation
            directory first then fall back to the search path.
        - Bug Fix: Treat the about box bitmap the same as the wizard bitmaps
            which gets rid of the transparent whole where the BOINC splat
            logo should be.  The BBC and GridRepublic logos show up correctly
            but the BOINC splat logo doesn't want to be seen.  I'll take care
            of that in a following release.
            
        clientgui/
            DlgAbout.cpp
        lib/
            stackwalker_win.cpp
    
    Rom    17 Mar 2006 (HEAD)
        - Tag for 5.3.27 release, all platforms
          boinc_core_release_5_3_27
    
    Bruce 17 Mar 2006
        - Adding some logging for scheduler fixes from yesterday: log specific
          message saying when a result is unavilable because aonther scheduler
          instance grabbed it from under our hands.
    
        sched/
            sched_send.C
            sched_resend.C
            sched_locality.C
    
    David  17 Mar 2006
        - compile fix (from James Drews)
    
        lib/
            gui_rpc_client_print.C
    
    Rom    17 Mar 2006
        - Bug Fix: Allow generic read/write/execute for users in the user group
            for the shared installation type.
            
        win_build/installerv2
            BOINC.ism
    
    David  17 Mar 2006
        - Add <prefs_mod_time> and <prefs_source_project> elements
            to account manager requests;
            tells the AMS what version of global prefs we have
        - Add optional <update/> tag in <account> elements
            of account manager replies.
            This tells the core client to do a scheduler RPC to the project.
            The account manager should set this when it has updated prefs
            and wants the core client to get them;
            put <update/> in the <account> element for one of
            the projects to which prefs were successfully sent.
        - Core client: remove code (from 15 Mar) that contacts a project
            after every successful AMS operation.
    
        client/
            acct_mgr.C,h
        doc/
            acct_mgt.php
    
    Rom    17 Mar 2006
        - Bug Fix: If graphics have been disabled because the client configuration
            cannot handle them, then report back to the screensaver that graphics
            are not available instead of cycling through them.
            
            This also reduces the bug surface area for applications who are having
            problems with application graphics since it avoids spinning up the
            graphics window even though it cannot be seen.
            
        client/
            ss_logic.C
    
    Bruce 20 Mar 2006
        - User web pages: outcome validate error was being reported as unknown.
    
        html/
            inc/
                result.inc
    
    Charlie  20 Mar 2006
        - Add /Library/Receipts/BOINC.pkg to list of files to remove for uninstall.
    
        doc/
            mac_advanced.php
        mac_installer/
            GR-ReadMe.rtf
            ReadMe.rtf
    
    David  20 Mar 2005
        - If a project's web site is turned off
            (i.e. if the stop_web file is present)
            the get_project_config.php script returns a ERR_PROJECT_DOWN error,
            so that the BOINC Manager's Attach Project Wizard
            will show a "project not available" message
            before asking for email/password
    
        html/user/
            get_project_config.php
    
    Walt   20 Mar 2005
        - Bug fix: Fix issues with proxy authorization:
           -libcurl resends 'post' requests when negotiating authorization
            type with the proxy server, needed curl callback function to
            rewind the data.
           -add variables to NET_XFER to save proxy server authorization type.
            NET_XFER::auth_flag is BOOL, TRUE = proxy server uses authorization
            NET_XFER::auth_type: 0 = libcurl negotiates auth type
                                ~0 = authorization type libcurl used with proxy
    
        client/
            http_curl.C,h
            net_xfer_curl.C,h
    
    Rom    21 Mar 2005
        - BOINC API: When an application is being aborted, dump the backtraces for
            the timer, worker, and graphics threads. (Windows Only)
            
            This helps with applications that are stuck in an endless loop for
              some reason.  We should no longer need to solicit users with debugging
              experience to track down these kinds of issues anymore.  When the
              user aborts the workunit the needed data should show up in stderr.
              From there the user can post a message in the forum and go on about
              their business.
            
        api/
            boinc_api.C
            graphics_impl.C
            windows_opengl.C
        lib/
            diagnostics.C, .h
            stackwalker_win.cpp, .h
    
    Rom    21 Mar 2005
        - Move the structure out of the header into the .C file
        
        lib/
            diagnostics.C, .h
    
    Walt  21 Mar 2005
        - Bug Fix: Don't use Range: header when resuming file uploads
        
        client/
            http_curl.C
    
    Rom    21 Mar 2006 (HEAD)
        - Tag for 5.3.28 release, all platforms
          boinc_core_release_5_3_28
    
    Rom    21 Mar 2006
        - Compile fix for Linux
        
        client/
            http_curl.C
            net_xfer_curl.C
    
    Charlie  21 Mar 2006
        - Mac: fix compiler "unused variable" warning.
          Please remember to remove unused variables from source files 
          before checking them in.
    
        lib/
            diagnostics.C
    
    David  22 Mar 2006
        - API: Added some code for drawing characters
            in a variety of fonts, sizes, textures etc.
            Also added font files;
            you'll need to bundle them with your application.
            See http://www.opengl.org//resources/code/samples/mjktips/TexFont/TexFont.html
            From Tolu Aina.
            
        api/
            texfont.c,h
            txf_util.C
            txf/
                *.txf
    
    Rom    22 Mar 2006
        - Make moincmgr compile cleanly on Linux distro's where the
            wxWidget libraries only come in the Unicode flavor.
            From: Frank S. Thomas
            
        clientgui/
            AccountManagerProcessingPage.cpp
            AccountManagerPropertiesPage.cpp
            BOINCBaseView.cpp
            BOINCGUIApp.cpp, .h
            BOINCTaskBar.cpp
            DlgAbout.cpp
            MainDocument.cpp
            MainFrame.cpp
            ProjectProcessingPage.cpp
            ProjectPropertiesPage.cpp
            ProxyPage.cpp
            ValidateURL.cpp
            ViewMessages.cpp
            ViewProjects.cpp
            ViewResources.cpp
            ViewStatistics.cpp, .h
            ViewTransfers.cpp
            ViewWork.cpp
            WizardAccountManager.cpp
    
    Rom    22 Mar 2006
        - Remove the TerminateProcess kludge and make it part of the default
            behavior.
            
        api/
            boinc_api.C, .h
    
    Charlie  23 Mar 2006
        - Mac: Backtrace now always dumps all threads.  User abort calls 
        
        api/
            boinc_api.C
        lib/
            mac_backtrace.C
    
    Rom    23 Mar 2006
        - Fix the boinc_exit(0) call when an abort happens to 
            boinc_exit(ERR_ABORTED_VIA_GUI).
        - Remove a duplicated class identifier so that the manager will
            with g++ 4.1
        - Bug Fix: Treat 301 and 302 http status codes as a
            get_project_config.php error so that the invalid project page
            comes up, instead of the unavailable page.
            
        api/
            boinc_api.C
        clientgui/
            BOINCTaskBar.h
            AccountManagerPropertiesPage.cpp
            ProjectPropertiesPage.cpp
    
    David  23 Mar 2006
        - Core client: ignore <fraction_done>0</fraction_done> from apps.
            If an app is being restarted,
            and hasn't called boinc_fraction_done() yet,
            the fraction done will be reported as zero even
            though the actual fraction done is nonzero.
    
        client/
            app_control.C
    
    David  23 Mar 2006
        - make_project:
            - allow use of .htaccess in cgi-bin
            - if --project_root is specified, put the key_dir there too
        (from Eric Myers)
    
        tools/
            make_project
    
    Rom    23 Mar 2006
        - Bug Fix: Fix a COM initialization error within BOINC DLL.
        
        clientlib/lib/
            boinc_dll.cpp
    
    Rom    23 Mar 2006
        - make_project:
            - Copy missing images
        (from Eric Myers)
    
        tools/
            make_project
    
    Walt   23 Mar 2006
        - Bug Fix: Multiple load/unloads of boinc.dll messed up the
            idle detection routine.  Removed redundant load/free module
            code so dll is loaded once in beginning, unloaded at program
            end.
        
        client
            main.C
        client/win
            hostinfo_win.C
    
    David  24 Mar 2006
        - Let team founders get lists of team members
            (including their email addresses) via XML RPC.
            The URL is PROJECT/team_email_list.php?teamid=X&account_key=Y&xml=1
    
            This feature lets cross-project teams more easily get their
            combined email-address list.
            It doesn't change BOINC's privacy policy;
            team founders could always get member email addresses.
    
        html/
            inc/
                xml.inc
            user/
                team_email_list.php
    
    Walt   25 Mar 2006
        - Cleanup unused code left over from testing, adjust temporary
            buffer size so error messages don't overflow
        - BugFix: Fix couple of problems with boinc_cmd:
            --project command options 'suspend' and 'resume' shown as valid
              but they weren't being parsed.
            --file_transfer help text shows options in wrong order
        
        client
            main.C
        lib
            boinc_cmd.C
    
    Rom    26 Mar 2006
        - BOINC API: OpenThread() doesn't exist on Win98 or Win95, so get the
            thread handle by way of DuplicateHandle() since GetCurrentThread()
            just returns a -2.
            
        api/
            boinc_api.C
            windows_opengl.C
    
    Rom    26 Mar 2006
        - Bug Fix: Finish the implementation of the "Hide Graphics" button.
        - Bug Fix: Don't enable the "Copy selected message" button until at least
            one message is highlighted.
            
        client/
            gui_rpc_server_ops.C
        clientgui/
            MainDocument.cpp, .h
            ViewMessages.cpp
            ViewWork.cpp
        lib/
            boinc_cmd.C
            gui_rpc_client.h
            gui_rpc_client_ops.C
        locale/client/en_US/
            BOINC Manager.mo, .po
    
    Rom    26 Mar 2006
        - Bug Fix: Provide that little extra tid bit of information that might keep
            somebody from aborting a CPDN task when it is 70% complete and not over
            due.
            
        clientgui/
            ViewWork.cpp
        locale/client/en_US/
            BOINC Manager.mo, .po
    
    Rom    26 Mar 2006
        - Bug Fix: Since we changed over to async connections the manager has been
            shutting down which ever client is was currently connected to.  So
            wait until we have successfully reconnected to the local BOINC client
            and verify we are connected to the local BOINC client before sending
            the quit command.
            
        clientgui/
            BOINCGUIApp.cpp
            MainDocument.cpp, .h
    
    Rom    27 Mar 2006
        - Bug Fix: When choosing a default value for something, use a value that
            connot be confused with valid data otherwise you might overwrite valid
            default values setup during object creation.
            
        clientgui/
            BOINCListCtrl.cpp
    
    Rom    27 Mar 2006
        - Bug Fix: Make sure that the thread that has caused an exception dumps
            it's callstack even if it didn't register itself to the diagnostics
            functions.
            
        lib/
            diagnostics.C
    
    Walt   27 Mar 2006
        - Enable some CBOINCDialupManager functions for non MS-Windows platforms.
            As the auto-dialer doesn't work on these systems, just display a 
            notification box telling the user an Internet connection is needed.
            
        clientgui/
            MainFrame.cpp
            BOINCDialupManager.cpp
    
    Walt   27 Mar 2006
        - Second half of CBOINCDialupManager changes
    
        clientgui/
            BOINCDialupManager.cpp, h
            Makefile.am
    
    Rom    27 Mar 2006 (HEAD)
        - Tag for 5.3.29 release, all platforms
          boinc_core_release_5_3_29
    
    Walt   28 Mar 2006
        - Bug Fix: 'Need Internet connection' message wasn't being displayed
            on non MS-Windows systems.  
           
        clientgui/
            MainFrame.cpp
    
    Rom    28 Mar 2006
        - Bug Fix: On non-windows systems be sure to call the wxApp::Yield()
            function to process outstanding window messages when shutting
            down.  This should resolve the issue of CDocument::Poll() not being
            called on shutdown when a connection to the local BOINC client
            needs to be reestablished.
        - Bug Fix: Disable the 'Hide graphics' button for now.
            
        clientgui/
            BOINCGUIApp.cpp
            ViewWork.cpp
    
    Walt   28 Mar 2006
        - Bug Fix: Use alert box for 'need Internet connection' message when
            manager window is hidden.
           
        clientgui/
            BOINCDialupManager.cpp
    
    Rom    28 Mar 2006
        - Bug Fix: Try a different method to notify the local BOINC CC that it
            needs to shutdown on all platforms.
        - Bug Fix: Discard notification only events for platforms other than
            Windows until we can figure out a better way to display them.
            
        clientgui/
            BOINCGUIApp.cpp
            MainFrame.cpp
    
    Charlie 28 Mar 2006
        - Mac: Fix compiler warnings.
        
        clientgui/
            BOINCDialupManager.cpp
            ViewWork.cpp
    
    Walt   28 Mar 2006
        - Bug Fix: Show 'needs Internet connection' dialog only when the 
            manager is the foreground window.  Comment out the alert messages
            until they're implement in non-MS-Windows platforms
           
        clientgui/
            BOINCDialupManager.cpp
    
    Rom    28 Mar 2006 (HEAD)
        - Tag for 5.3.30 release, all platforms
          boinc_core_release_5_3_30
    
    Walt   28 Mar 2006
        - Bug Fix: Manager window always shows 'active' on MAC, so check
            whether application has the focus instead.
           
        clientgui/
            BOINCDialupManager.cpp
    
    David  29 Mar 2006
        - boinc_cmd: fix
            boinc_cmd --project X resume
            and
            boinc_cmd --project X suspend
        - user web: RPC to get team membership:
            if account_key missing, show members but omit email addresses
    
        html/
            inc/
                xml.inc
            ops/
                mass_email.php
            user/
                team_email_list.php
        lib/
            boinc_cmd.C
    
    David  30 Mar 2006
        - API: move code that uses GLUT character-drawing functions
            to a separate file (gutil_text.C).
            This makes it easier for apps to not include GLUT.
        - API: if you compile gutil.C with -DSANS_JPEGLIB,
            you won't get any calls to jpeglib functions.
    
        api/
            gutil.C
            gutil_text.C
    
    Rom    30 Mar 2006
        - Make the SENS initialization code non fatal when an error
            occurs.
        - Change the Windows installer so that the DLLs that BOINC
            is dependant on are are contained in a seperate component
            that is always installed and removed duplicate references
            from the install type specific components.  This shrinks
            the install package by 2MB.
            
        clientlib/win/
            boinc_dll.cpp
        win_build/installerv2/
            BOINC.ism
    
    David  30 Mar 2006
        - Core client: fix nasty crash bug.
            If a result had a lot of output files, its failure message
            (originating from X)
            could exceed 1024 chars.
            It gets passed up to show_message(),
            and is copied (by strcpy()) into a 1024-char buffer.  Crash!
            Fixed this by using strlcpy() instead.
        - Core client: return file errors in a std::string instead of char*
        - Core client: in generating XML descriptions of file failures,
            insert <error_message>X</error_message> elements
            only if there's a message.
    
        At some point we should replace char[N] with std::string
        everywhere in the code.
        Fix-size buffers are crashes waiting to happen.
        I wish you could sprintf() to a string.
    
        client/
            client_state.C
            client_types.C,h
            main.C
    
    Rom    30 Mar 2006
        - Bug Fix: Initializing some of the dependant DLLs on Windows was
            causing us to bump up against the 30 second marker and making
            the service control manager think something was wrong and kill
            the BOINC service on boot.  I moved the bulk of the 
            initialization code to boinc_main_loop which is called by the
            service control manager when running as a service.  This change
            will keep this from happening in the future if we take on any more
            dependencies.
            
        client/
            main.C
        clientlib/win/
            BOINCSENSSink.cpp
    
    Rom    30 Mar 2006 (HEAD)
        - Tag for 5.3.31 release, all platforms
          boinc_core_release_5_3_31
    
    Charlie 30 Mar 2006
        - Mac: Fix "unused variable" compiler warning.
        - Mac: "Fix" bug 460: Mac OS X automatically puts a "Preferences" item 
          in the BOINC menu, but we don't use it so it was disabled.  This was 
          confusing some users, so hide (delete) this menu item.
        - Mac: add gutil_text.C to project.
          
        client/
            main.C
        clientgui/
            MainFrame.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  30 Mar 2006
        - API: move GLUT-related includes to a separate file,
            which is included only from files that need it.
    
        api/
            boinc_gl.h
            boinc_glut.h (new)
            gutil_text.C
            x_opengl.C
    
    Eric    2 Apr 2006
        - Added stream memory bandwidth benchmark.  Still needs modifications 
          to timing logic and possibly changes to allow multiple threads or 
          processes.  This is not yet added to Makefiles or called from the code.
    
        client/
            stream.C (new)
    
    David  3 Apr 2006
        - Add script to find results with no corresponding workunit
    
        html/ops/
            db_cleanse.php
    
    Rom    3 Apr 2006
        - Bug Fix: When switching from any state to SS_STATUS_ENABLED make sure
            we set the ss_status back to SS_STATUS_ENABLED.
        - Bug Fix: Increase the screensaver polling frequency when the
            screensaver is set to anything other than SS_STATUS_ENABLED.  This
            makes the status messages disappear faster when the graphics app
            is started again.
        - Bug Fix: Right justify Work:Progress and Disk:Diskspace list view
            columns.
            
        client/
            ss_logic.C
        client/win/
            win_screensaver.cpp
        clientgui/
            ViewResources.cpp
            ViewWork.cpp
    
    David  4 Apr 2006
        - back end: have the "dir_hier_path" script create the fanout directory
            if it's not there.
    
        tools/
            dir_hier_path.C
    
    David  4 Apr 2006
        - Finish script to delete orphan results
    
        html/ops/
            db_cleanse.php
    
    David  4 Apr 2006
        - core client: define a result's "computation deadline":
            it's report deadline minus network connect period
            and minus cpu scheduling period.
            Use this, rather than report deadline, in CPU scheduling.
        - take network connect period into account in deciding
            when results have to be reported
    
        (from John McLeod)
    
        client/
            client_types.C,h
            cpu_sched.C
            cs_scheduler.C
    
    Rom    5 Apr 2006
        - Bug Fix: Set the AccountInfo.cpp control states before
            attempting to set the text for the controls.  Otherwise
            we'll see text that says 'choose a password' instead
            of 'password'.
            
        clientgui/
            AccountInfoPage.cpp
    
    Charlie 5 Apr 2006
        - Mac: New shell script to sets up Mac to run BOINC Client as 
            a daemon / service.  Note: when running as a daemon, the 
            graphics (screensaver and "Show Graphics" button) work only 
            if BOINC's owner is the logged in user.
        - Added boinc_glut.h to XCode project.
            
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
            Make_BOINC_Service.sh (new)
    
    Rom    5 Apr 2006
        - Bug Fix: Change the progress field to display xx.xxx% since
            some projects use that to debug looping issues.
        - Bug Fix: In the screensaver make sure that the foreground window
            is either a screensaver window or a BOINC application window.
            If another window is the foreground window, shutdown the
            screensaver.
            
        client/win
            win_screensaver.cpp
        clientgui/
            ViewWork.cpp
    
    Rom    6 Apr 2006
        - Bug Fix: Add some text about connectivity problems to the proxy
            into page.
        - Bug Fix: Remove the code that was keeping the 'Not Found' page from
            going to the 'Account Info' page.
            
        clientgui/
            ProxyInfoPage.cpp
            WizardAccountManager.cpp
            WizardAttachProject.cpp
    
    Rom    6 Apr 2006 (From Frank S. Thomas)
        - Bug Fix: Allow a connection request to reset a connection attempt
            to the local computer or another computer.
            
        clientgui/
            MainDocument.cpp
    
    Rom    6 Apr 2006 (From Darrel Holz)
        - Bug Fix: Fix the Logo display for BOINC when not running as a branded
            client.
            
        clientgui/
            DlgAbout.cpp
    
    Charlie 7 Apr 2006
        - Mac: Fix bug in shell script to sets up Mac to run BOINC Client as 
            a daemon / service.
            
        mac_build/
            Make_BOINC_Service.sh
    
    David  7 Apr 2006
        - add graphics to sample app
    
        api/
            gutil.C
            txt_util.C
        apps/
            upper_case.C
    
    Charlie 7 Apr 2006
        - Mac: If launching client as a daemon / service at system startup, retry 
           gethostbyname() for up to 10 seconds if needed, to allow system  
           support to become available.
    
        client/
            hostinfo_network.C
    
    Rom    8 Apr 2006
        - Bug Fix: Make stackwalker more useful on Windows by dumping the function
            pointers and registers for each thread.  Cut away all the extra code.
            
        lib/
            diagnostics.C
            stackwalker_win.cpp, .h
    
    Rom    9 Apr 2006
        - Bug Fix: Add a check to stackwalker so that if it detects it is running on
            Win9x it'll switch over to the Win9x compatible dbghelp.dll.  After
            checking it out, it doesn't require any changes to the stack walker code
            as it has the 64 bit function exports.  So all that was required was
            just changing which DLL was used to get the function pointers.
        - Bug Fix: Upgrade to the latest stable debugging tools from Microsoft.
        
        lib/
            stackwalker_win.cpp
        win_build/installerv2/redist/Windows/x86/
            dbghelp.dll
            dbghelp95.dll (Added)
            srcsrv.dll (Added)
            symsrv.dll (Added)
    
    Rom    9 Apr 2006
        - Put the infrastructure in place to be able to use Symbol Servers.  This
            is just the basics.  Many details need to be worked out.
            
        lib/
            diagnostics.C, .h
            stackwalker_win.cpp, .h
    
    Rom    10 Apr 2006
        - Bug Fix: Fix a crash condition where a result maybe in the list view but
            may have already been cycled out of the system.  There is a brief
            period of time where the result is being sent back to the scheduler and
            the user may switch back to the work tab where this crash would occur.
            
        clientgui/
            ViewWork.cpp
    
    Rom    10 Apr 2006 (boinc_core_release_5_4)
        - Tag for 5.4.0 release, all platforms
          boinc_core_release_5_4
    
    Charlie 10 Apr 2006
        - Extend Mac screensaver safety timer of 21 Feb 2006 to all platforms.
          (checked this in to both HEAD and boinc_core_release_5_4 branches.)
        
        client/
            app_graphics.C
            ss_logic.C
            app.C
            app.h
    
    Charlie 11 Apr 2006
        - Changes to allow building upper_case application on Mac.
        
        api/
            texfont.c,h
            txf_util.C,h
    
    David  11 Apr 2006
        - rename sample en.po so update won't overwrite project's file
            (from Eric Myers)
        - use "request" instead of "RPC" in user-visible messages
    
        html/languages/project_specific_translations/
            en.po (removed)
            sample_en.po (new)
        sched/
            handle_request.C
    
    Rom    11 Apr 2006
        - Bug Fix: Account creation controls should be disabled for all
            account manager code paths, not just update.
        - Bug Fix: Extend the timeout for the graphics mode ack to 30
            seconds in the screensaver poll function to give LHC and
            CPDN more time to create and display their graphics window
            when going into screensaver mode.
        - Bug Fix: Add some extra logic to the screensaver to handle
            detection of idle user input without needing to be the
            active window.  If the science application window hasn't
            processed a window message for 5 seconds do an additional
            check to determine if any mouse or keyboard activity has
            been detected.  If activity has been detected, shutdown the
            screensaver system.
        - Bug Fix: Add a please wait message to the screensaver for
            applications that take a long time before they display
            their own graphics.
            
        client/
            ss_logic.C
        client/win/
            boinc_ss.h
            boinc_ss.rc
            win_screensaver.cpp, .h
        clientgui/
            AccountInfoPage.cpp
    
    Eric K 12 Apr 2006
        - Changed some function defines to inlines (i.e. formerly "#define read
          _read" becomes "static inline read(...) {return read(...);})  These 
          defines were breaking some classes that had methods named read().
        - Altered boinc_fopen() to call _fsopen under _WIN32 with the sharing
          flags set to the most permissive value.  This may solve some of the
          virus scanner locking problems.
        - Fixed some problems with non-MSC compilers with diagnostics.[Ch]
        - Added checks for stdint.h and inttypes.h to configure.ac
        
        lib/
            boinc_win.h
            filesys.C
            diagnostics.[Ch]
            configure.ac
    
    Rom    12 Apr 2006
        - Bug Fix: Fix a crash on Win9x when leaving the screensaver and
            password protection is enabled.
        - Bug Fix: Do not allow the Win9x password dialog to get stuck behind
            the main screensaver windows, otherwise the only thing you can do
            is reboot the machine.
        - Include the thread id with trace statements.
            
        client/win/
            win_screensaver.cpp, .h
        lib/
            diagnostics.C
    
    David  13 Apr 2006
        - Add texfont stuff to API makefile
        - Unix graphics API: when looking for .so graphics file,
            if it's not a symlink file, prepend "./" to the name
            so that ldopen() will find it.
        - diagnostics: don't buffer stderr
    
        api/
            Makefile.am
            graphics_lib.C
            gutil.h
            texfont.h
        client/
            acct_setup.C
        html/user/
            edit_forum_preferences_action.php
        lib/
            diagnostics.C
    
    David  13 Apr 2006
        - graphics API: in txf_load_fonts(),
            use boinc_resolve_filename() so that font files
            can be in the project dir
    
        api/
            txf_util.C
    
    Rom    13 Apr 2006
        - Bug Fix: Adjust the startup sequence on Windows a bit so that the
            window doesn't flicker.  Another perk is that on startup the
            window won't display itself until it can fully deal with user
            input.
        - Define some basic data types for MINGW and CYGWIN
            
        clientgui/
            BOINCGUIApp.cpp
            MainFrame.cpp, .h
        lib/
            boinc_win.h
    
    Rom    13 Apr 2006
        - Bug Fix: Fix a shutdown bug that was causing the manager to wait
            the full 10 seconds before closing itself.
            
        clientgui/
            BOINCGUIApp.cpp
    
    Charlie 14 Apr 2006
        - Mac: OnShow() is not implemented in wxMac-2.6.2, so move code from 
          CMainFrame::OnShow() into new method CMainFrame::SetWindowDimensions(). 
          Call SetWindowDimensions() from CMainFrame::OnShow() and also from 
          Mac-only method CMainFrame::Show().
        - Mac: Fix compile errors due to xpm files.
        - Save main window dimensions on Hide so SaveState can write them even 
          if the window is hidden before application exit.
          
        clientgui/
            BOINCGUIApp.cpp
            MainFrame.cpp, .h
    
    David  14 Apr 2006
        - Core client: change the way that application priority is set on Unix
            Old: fork/exec app, then setpriority(pid)
                PROBLEM: race condition.  When the app starts,
                it's initially at regular priority.
                If it immediately creates another process,
                the child process has regular priority
                (and continues to even after the app's priority is lowered).
            New: fork, lower priority, exec.
            (From Mike Fleetwood)
    
        apps/
            upper_case.C
        client/
            app_start.C
    
    David  14 Apr 2006
        - User web: add Web RPC for setting forum preferences
            (repurpose existing script)
    
        html/user
            edit_forum_preferences_action.php
    
    Rom    14 Apr 2006
        - Bug Fix: Apparently Windows and Mac message boxes by default have an OK
            button and Linux does not.  So add wxOK to all the alerts sent.
            
        clientgui/
            BOINCDialupManager.cpp
            MainFrame.cpp
    
    Rom    15 Apr 2006
        - Enable proxy support to retrieve symbols from a web based symbol store.
        - Enable trace debugging for various components that the Windows debugging
            environment uses.  This only works with tools that can trap
            OutputDebugString based messages.  It is something we may support in
            a future release.  If dbghelp.dll or symsrv.dll ever use their
            callbacks, that output will be logged to stderr.txt
            
        lib/
            diagnostics.C
            stackwalker_win.cpp, .h
    
    David  16 Apr 2006
        - core client: get rid of min_report_rpc_time
    
        client/
            client_types.C,h
            cs_scheduler.C
    
    Rom    16 Apr 2006
        - Bug Fix: Add cache timestamps for project, task, transfers, statistics,
            and resources.
            
        clientgui/
            MainDocument.cpp, .h
    
    Rom    16 Apr 2006
        - Bug Fix: Include file version informaton in the debugger module list
        
        lib/
            stackwalker_win.cpp
    
    Charlie 17 Apr 2006
        - Mac bug fix: If window was never opened, window dimensions were never 
            read from preferences, so SaveState wrote bad values in preferences.
        - Mac: Don't customize name of BOINC Data directory for branding; change 
            "GridRepublic Manager" to "GridRepublic Desktop; make branding script 
            more robust if there is a space in any file or directory name or path.
        - Mac: Release scripts automatically update ReadMe version numbers.
        - Mac: clarify that upgrade warning from older versions applies only to 
            Intel Macs.
          
        clientgui/
            BOINCGUIApp.cpp
            MainFrame.cpp
        mac_installer/
            GR-ReadMe.rtf
            PostInstall.cpp
            preinstall
            ReadMe.rtf
            release_boinc.sh
            release_GridRepublic.sh
        doc/
            versions.inc
    
    Rom    17 Apr 2006
        - Clean up the caching scheme used in the manager
        - Remove the message cache update for all tabs except
            the messages tab.
        - Remove the project update from the work tab.  Use a new flag being
            introduced to show if the project has been suspended via GUI.
    
        clientgui/
            MainDocument.cpp
            MainFrame.cpp
            ViewMessages.cpp
            ViewProjects.cpp
            ViewResources.cpp
            ViewStatistics.cpp
            ViewTransfers.cpp
            ViewWork.cpp
    
    David  17 Apr 2006
        - get rid of the versions of xml_escape() and xml_unescape()
            that take std::string args.
            These are too inefficient.
        - boolean constant is "true", not "TRUE"
    
        client/
            client_types.C
        lib/
            app_ipc.C
            diagnostics.C
            parse.C,h
            proxy_info.C
        sched/
            db_dump.C
            db_purge.C
            server_types.C
    
    David  17 Apr 2006
        - GUI RPC: add an optional <project_suspended_via_gui/>
            tag to <result> elements.
            This tells the Manager that the project is suspended
            without having to do a separate get_projects GUI RPC
    
        client/
            client_types.C
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    Rom    17 Apr 2006
        - Use the boolean flag now defined in the result instead of
            looking it up in the project structure.
            
        clientgui/
            ViewWork.cpp
    
    Walt   17 Apr 2006
        - Bug Fix: Fix a problem where it was passing the xml tag line
            instead of the string to xml_unescape.
            
        lib/
            proxy_info.C
    
    Rom    18 Apr 2006
        - Bug Fix: Move the project_suspended_via_gui flag from the
            client state file write routine to the gui write routine.
            
        client/
            client_types.C
    
    David  18 Apr 2006
        - make match_tag(), parse_int(), parse_double() into inlines
        - remove setlocale() calls from parse_int(), parse_double().
            Numbers in XML (including GUI RPCs) are always in standard format.
            Whoever writes XML (e.g. the Manager) must ensure this.
    
        lib/
            parse.C,h
    
    David  18 Apr 2006
        - core client: better messages on network check
        - unix compile fix
    
        client/
            acct_setup.C
        lib/
            parse.h
    
    Charlie 18 Apr 2006
        - Mac: Add texfont.C,h and txf_util.C,h to XCode project for building 
            graphics library; fix compiler warning.
    
        api/
            texfont.c,h
        clientgui/
            MainFrame.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  18 Apr 2006
        - if no physical network connection (gstate.need_physical_connection is set)
            then don't increment failure count for file transfers
            and scheduler RPCs.
            (avoid ending up with 2-week backoff when network is down for a while.)
    
        client/
            pers_file_xfer.C
            scheduler_op.C
    
    David  18 Apr 2006
        - improve network-related messages
            Add error_msg field to NET_XFER.
            Put Curl error messages here; print them at a higher level,
            where we can give the context
    
        client/
            acct_setup.C
            net_xfer_curl.C,h
            scheduler_op.C
    
    Rom    18 Apr 2006
        - Bug Fix: setlocale is needed in environments where the C runtime library
            will attempt to use the current locales' numerical formating rules to
            extract integer or floating point numbers.  The core client doesn't
            observe local formating rules and defaults to the "C" locale.  When
            parsing data from the CC be sure to flip the locale to "C" and return
            it when your done.
            
        lib/
            gui_rpc_client_ops.C
    
    David  19 Apr 2006
        - scheduler: put \n after global and project prefs in reply message;
            otherwise, if those fields don't have \n,
            we end up with 2 elements on 1 line and it doesn't parse right.
    
        sched/
            server_types.C
    
    Walt   19 Apr 2006
        - Code cleanup: remove duplicate calls to xml_unescape.
        - Bug Fix: Change HTTP redirect limit to 50
        - Bug Fix: Fix problems with socks5 proxys:
            - Auth negotiation is handled by libcurl, remove that from BOINC
            - Set connection timeouts to 20 seconds
              *NOTE* Using socks5 proxies will cause BOINC to block until a
              connection is made to the end server.  BOINC will 'lock up'
              until the connection attempt completes or times out.
    
        client/
            http_curl.C
        lib/
            proxy_info.C
    
    Rom    19 Apr 2006
        - If an application hasn't initialized the diagnostics system, provide
            reasonable defaults and initialize it for them.  This only handles
            the boinc_init() and boinc_init_graphics() cases.
            
        api/
            boinc_api.C
            graphics_api.C
        lib/
            diagnostics.C, .h
    
    Rom    19 Apr 2006
        - Update dependancies.
        
        curl/
            <various files>
        openssl/
            <various files>
        zlib/
            <various files>
    
    Walt   20 Apr 2006
        - Enable network tracing when <net_xfer_debug> log_flag is set.
            Dumps libcurl info messages and http header information.
        
        client/
            http_curl.C,h
    
    Rom    21 Apr 2006
        - Bug Fix: Fix the account lookup and get project config rpcs which
            I broke fixing the setlocale stuff.
            
        lib/
            gui_rpc_client_ops.C
    
    David  21 Apr 2006
        - Slight philosophy change in deciding whether network
            communication is working
            (e.g. by checking a reference web site when an HTTP operation fails):
            the core client, not the Manager, is in charge of this.
        - Eliminate the lookup_website() and lookup_website_poll() GUI RPCs
        - Add a new possible return value to the "network_status" GUI RPC:
            3 means the client is currently trying to access a reference web site.
            Check back in a few seconds to see the outcome.
    
        client/
            acct_setup.C,h
            client_state.C
            gui_rpc_server_ops.C
            net_xfer_curl.C
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    David  21 Apr 2006
        - use an object constructor/destructor to do setlocale() stuff.
            Use char* instead of string (??)
    
            Coding style: never have the same lines of code appear over and over
    
        lib
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    Walt   21 Apr 2006
        - Bug fix: When tracing network activity, increment trace_id when request
            is created.  All the trace records for that network operation will have
            the same request number.
    
        client/
            http_curl.C
    
    David  21 Apr 2006
        - Kludge to make things work even when a project left out
            a </gui_url> tag in its GUI URL list.
        - comment out google/yahoo code in the BOINC Manager.
            Rom: please finish this job
    
        clientgui/
            AccountManagerPropertiesPage.cpp
            BOINCDialupManager.cpp
            ProjectPropertiesPage.cpp
        lib/
            gui_rpc_client_ops.C
    
    Walt   22 Apr 2006
        - Bug fix: Don't use NTLM authorization for proxys.
    
        client/
            http_curl.C
    
    David  23 Apr 2006
        - core client: add missing \n to error string for failed results
    
        client/
            client_state.C
    
    Rom    24 Apr 2006
        - Bug Fix: Fix a connection to a remote machine bug.
        
        clientgui/
            MainDocument.h
    
    Rom    25 Apr 2006
        - Bug Fix: Fix for missing includes.
        
        client/
            cpu_sched.C
    
    Rom    25 Apr 2006
        - Bug Fix: PPM files need to be closed when we are finished using them
            or we'll experience a handle leak
        - Bug Fix: After drawing the PPM bitmap on an OpenGL surface, free the
            memory.
    
        api/
            gutil.C
    
    Rom    25 Apr 2006
        - Bug Fix: Hide everything about a thread if it has been closed to
            prevent identity information being disclosed as part of the
            subject line.
    
        html/user/
            forum_thread.php
    
    Walt   26 Apr 2006
        - Bug Fix: Save local copy of locale so it gets restored properly later.
    
        lib/
            gui_rpc_client.h
    
    Charlie 27 Apr 2006
        -Mac: Change XCode project. build instructions and build scripts to use 
          curl-7.15.3 and to apply Walt's patch to curl-7.15.3/lib/url.c file.
          
        doc/
            mac_build.html
        mac_build/
            buildcurl.sh
            buildjpeg.sh
            setupForBOINC.sh
            HowToBuildBOINC_XCode.rtf
            boinc.xcodeproj/
                project.pbxproj
    
    Rom    27 Apr 2006
        - Bug Fix: Create a BOINC Service shutdown custom action for the installer
            since the installer technology wants to wait until after it has found
            out which files are in use to shutdown the service.
            
        win_build/installerv2/redist/Windows/src/boinccas/
            CAShutdownBOINC.cpp, .h (Added)
        win_build/installerv2/redist/Windows/x86/
            boinccas95.dll
            boinccas.dll
    
    Charlie 28 Apr 2006
        - Mac: Fix bug of 17 April creating BOINC Data directory.
        - Change shell script which sets up Mac to run BOINC Client as a
            daemon / service to launch BOINC only if BOINC Data directory
            exists.
        - Flush output of SetVersion and add Run Script phases to XCode project to 
            insure that updated info.plist file with correct version number is put 
            into the BOINC Manager, ScreenSaver, SystemMenu and PostInstall bundles.
            
        clientgui/
            BOINCGUIApp.cpp
            Mac/
                SetVersion.C
        mac_build/
            Make_BOINC_Service.sh
            boinc.xcodeproj/
                project.pbxproj
    
    David  28 Apr 2006
        - create_work (both program and function):
            handle <command_line> element in WU template file
        - remove assert()
    
        client/
            cpu_sched.C
        html/inc/
            stats_sites.inc
        tools/
            backend_lib.C
    
    David  28 Apr 2006
        - core client: if an input file has <generated_locally/> set,
            don't try to download it.
            This allows apps to use "initialization" files
            that are large and/or computationally expensive to generate.
            The app generates the file once,
            and it will be available (assuming <sticky/> is set)
            for subsequent workunits.
    
        client/
            app_start.C
            cs_apps.C
            cs_files.C
    
    David  28 Apr 2006
        - back end: handle <generated_locally/> in WU file infos.
            There are for input files that are generated by the app.
            We don't need to generate MD5, list URLs, etc.
        - user web: enclose scheduler list in comments (from Roberto Virga)
    
        html/user/
            sample_index.php
        tools/
            backend_lib.C
    
    Rom    28 Apr 2006 (by Frank S. Thomas)
        - Bug Fix: The shutdown procedure should be passing ANSI strings to
            the GUI RPC's instead of Unicode strings.
        - Bug Fix: Remove the --no-unicode flags from configure.ac when trying
            to determine which wxWidget libraries to use.
        
        /
            configure.ac
        clientgui/
            BOINCGUIApp.cpp
    
    David  30 Apr 2006
        - API: add all_threads_cpu_time flag to BOINC_OPTIONS
            for applications that have more than one CPU-intensive thread.
            Measure the CPU time of whole process, not just worker thread.
        - Less insistent messages when client has worng URL for project
    
        api/
            boinc_api.C,h
        client/
            cs_scheduler.C
        lib/
            util.C,h
    
    David  1 May 2006
        - Web RPC: return flag if user is founder of their team
    
        html/user/
            am_get_info.php
    
    David  1 May 2006
        - API: win compile fix
    
        api/
            boinc_api.C
    
    Rom    1 May 2006
        - Windows Runtime Debugger Update:
        
          New Features:
              1. Enumerates and dumps the backtraces for all threads within
                 the process space.
              2. Monitors and records data sent to the debugger viewport via
                 OutputDebugStringA and OutputDebugStringW
              3. Displays the thread id and process id within the output.
              4. Display the topmost window titles, class, processid, and
                 thread id.
                 
        api/
            boinc_api.C
            graphics_api.C
            windows_opengl.C
        clientgui/
            stdwx.h
        lib/
            boinc_win.h
            diagnostics.C, .h
            diagnostics_win.C (Added)
            stackwalker_imports.h (Added)
            stackwalker_win.cpp
        win_build/
            boinc_ss.vcproj
            boincmgr_curl.vcproj
            libboinc.vcproj
    
    Charlie 1 May 2006
        - Mac: Fix bugs when linking with wxMac-2.6.3.
        
        clientgui/
            mac/
                MacSysMenu.cpp
    
    Rom    1 May 2006
        - Add a commandline option to the screensaver to do a simple RPC
            so that we can trick the firewall packages into displaying
            a dialog asking for user approval before the real screensaver
            ever launches.
        - Fix the remaining issues with the Windows Runtime Debugger so
            that it can now trap DBGHELP.DLL and SYMSRV.DLL messages and
            log them as part of the crash.
        - Remove some extra verbose messages from stdout and stderr in
            the client library.
            
        client/win/
            win_screensaver.cpp
        clientlib/win/
            NetworkTracker.cpp
        lib/
            diagnostics.h
            diagnostics_win.C
    
    Rom    2 May 2006
        - Have the BOINC Manager perform the screensaver test everytime
            is successfully makes a connection to the localhost core
            client.  It executes so fast it doesn't even show up in the
            process list and if the user ever switches firewall packages
            it'll at least prevent the machine from going into limbo
            when the screensaver is spposed to shutdown.
            
        clientgui/
            BOINCGUIApp.cpp, .h
            MainFrame.cpp
    
    Rom    2 May 2006
        - Bug Fix: Calculate the page size after the OnChangedEvent is fired
            and then set the dialog size.  Should keep the wizard pages from
            clipping the text.
        - Bug Fix: Change the process execution code to use wxExecute since
            it is async.  If for some reason the old screensaver doesn't
            get replaced by setup, we don't want to block the main UI thread.
            
        clientgui/
            BOINCGUIApp.cpp
            wizardex.cpp
    
    David  2 May 2006
        - feeder: change the way -allapps work, so that results
            from different apps alternate in shared memory.
            This ensures that when an RPC returns >1 result,
            they'll be for different apps.
            TODO: make the ratio configurable.
        - feeder: add -priority_order_create_time:
            enumerate results by increasing workunit create time
        - feeder: add -purge_stale X option: removes items that have been
            in shared memory more than X minutes.
        - scheduler: parse user project preference for elements
            of the form <app_id>N</app_id>.
            If any are found, only send the user work for those applications.
    
        TODO: document the above
    
        All the above from Kevin Reed of World Community Grid
    
        sched/
            feeder.C
            sched_send.C,h
            sched_shmem.h
            server_types.h
            show_shmem.C
    
    David  2 May 2006
        - got the above checkin compiling on linux
        - server: removed all_apps arg to DB_WORK_ITEM::enumerate()
        - removed some unused code in client
    
        client/
            client_state.C
            client_types.h
        db/
            boinc_db.C,h
        sched/
            feeder.C
            handle_request.C
            sched_send.C
    
    Walt   2 May 2006
        - Display HTTP status message or code when its not 1xx or 2xx.
        - Add a few more HTTP status messges to boincerror().
    
        client/
            net_xfer_curl.C
        lib/
            util.C
    
    Rom    3 May 2006
        - Bug Fix: To keep the Mac from clipping text in the wizard
            increase the default width of a wizard page.  The width
            of each character is wider with the Mac fonts.
            
        clientgui/
            wizardex.cpp
    
    David  3 May 2006
        - user web: add "previous 20" link to result list page
            (from Rytis Slatkevicius)
        - code formatting, comments
    
        api/
            x_opengl.C
        html/
            user/
                results.php
            inc/
                result.inc
        sched/
            feeder.C
    
    Rom    4 May 2006
        - Bug Fix: Increase the WaitHint from 10 seconds to 30 seconds so
            the service mode install isn't so jumpy when it takes awhile
            to shutdown.
            
        client/win/
            win_service.cpp
    
    Charlie 5 May 2006
        - Mac: Clean up build scripts for jpeg and curl.
        
        mac_build/
            buildcurl.sh
            buildjpeg.sh
    
    David  5 May 2006
        - web user: fix typo
            (from David Braun)
    
        html/user/
            get_project_config.php
    
    David  5 May 2006
        - GUI RPC sockets need to be close-on-exec
            (otherwise applications inherit them)
        - compile fix: change longs to ints
    
        client/
            gui_rpc_server.C
            net_xfer_curl.h
    
    Rom    8 May 2006
        - Windows Runtime Debugger Update:
        
            1. ERR_NESTED_UNHANDLED_EXCEPTIONS no longer exist.
            2. Stack overflow conditions no longer cause the exception
                 handling code to blow up.
                 
            When a thread has an unhandled exception it stores the
              exception pointer record in the thread list, signals the
              unhandled exception monitor and then goes to sleep waiting
              on a mutex that it will never be and to aquire.
              
            If any other threads throw an unhandled exception they'll
              store their exception records and go to sleep.
              
            The unhandled exception monitor wakes up when signaled and
              suspends all the non-excempt threads and proceeds to dump
              all the information it has aquired on them to stderr.
              
        api/
            boinc_api.C
            windows_opengl.C
        lib/
            diagnostics.C, .h
            diagnostics_win.C, .h
            error_numbers.h
            stackwalker_win.cpp
            util.C
    
    Charlie 8 May 2006
        - Mac: Add callback glutPassiveMotionFunc(mouse_move) to dismiss 
            screensaver on mouse move when no mouse button is pressed.
            
        api/
            x_opengl.C
    
    Walt  8 May 2006
        - Bug fix:  DNS lookup when network was unavailable consumed all
             available CPU.  Fix limits times thru loop and adds a short
             sleep before breaking out of it.
            
        client/
            client_state.C
    
    David  9 May 2006
        - Remove the constant MASTER_URL from html/project/project.inc.
            Instead, use the <master_url> element from config.xml.
        - PHP translation code: check for existence of last_compile_timer
            before getting its mod time (avoid error msg)
        - small fixes so the web site created by make_project
            doesn't have broken links and images
        - updates to sample front page
        - make_project: copy a few additional files (e.g. graphics, en.po)
    
        html/
            inc/
                email.inc
                translation.inc
                util.inc
            languages/translations/
                en.po
            project.sample/
                project.inc
            user/
                intro.php (removed)
                sample_index.php
        py/Boinc/
            setup_project.py
        tools/
            make_project
    
    David  9 May 2006
        - core client: remove account mgr "already attached" message
    
        client/
            acct_mgr.C
    
    Rom    10 May 2006
        - IsDebuggerPresent first appeared in the Win98 timeframe, dynamically
            link to it if it is there, otherwise assume that the debugger is not
            present.
            
        lib/
            diagnostics_win.C
    
    Rom    10 May 2006
        - Make the capturing of debugger messages configurable via the registry.
            Some software that plays music and DVDs is a little to chatty and
            when we are capturing debugger output it causes the playback software
            to freak out and become unplayable.
            
        lib/
            diagnostics_win.C
    
    Eric K    11 May 2006
        - (pthreads) Put a mutex around the cpu time calculation in
          boinc_worker_thread_cpu_time().  If called from multiple
          threads, this would occasionally report the wrong CPU time,
          which could cause applications to abort.
        - (unix) Added check of return value from getrusage() and retry on
          failure.
        - (WIN32) Added check of return value from timeSetEvent() and retry
          on failure.
        - (WIN32) Added timeKillEvent() calls to the boinc_exit() function
          ensure that timers are freed properly.
        - Added function boinc_timer_thread_active() function that apps can
          call to see if the timer thread was properly created.
        - Added function boinc_worker_timer() that application worker threads
          can call in their main loop.  This function will communicate with the
          core client if the timer thread was not created.
        - Added a dummy call to alloca() in LoadJPG to prevent failure of 
          setjmp/longjmp in the case that the frame pointer is optimized away.
          This should be done on all functions where setjmp is called because
          on some platforms longjmp will segfault if the frame pointer doesn't
          exist.  Some compilers aren't smart enough to know this.
        - (WIN32) Added code to the windows exception handler to allow it pass 
          exceptions to the standard C signal handlers in the case where the 
          signal handlers have been overridden.
    
        api/
            boinc_api.C
            boinc_api.h
            gutil.C
        lib/
            diagnostics_win.C
    
    Rom    10 May 2006
        - Make the BOINC sample uppercase build again.
        
        api/
            gutil.C
        lib/
            boinc_win.h
            diagnostics_win.C
    
    David  15 May 2006
        - make_project: copy example templates to templates/
        - removed lib/language* (not used)
    
        client/
            client_state.C,h
            file_names.h
        html/inc/
            news.inc
            stats_sites.inc
        lib/
            language.C,h (removed)
            Makefile.am
        py/Boinc/
            setup_project.py
        test/
            uc_result
        tools/
            create_work_example
    
    Eric K    15 May 2006
        - Added check check for alloca.h and memory.h to configure.ac
        - Added check for alloca and _alloca to configure.ac
        - Structural change to boinc_worker_timer() to get rid of essentially
          empty if clause.
        - (WIN32) set_worker_timer() now checks that interrupt_count is incrementing
          before assuming success.
        - Added MINGW32 fix for missing alloca() define to gutil.C
        - Added MINGW32/Dev-C++ fix for missing fpreset() prototypes to boinc_win.h
    
        configure.ac
        api/
            boinc_api.C
            gutil.C
        lib/
            boinc_win.h
           
    Rom    15 May 2006
        - Switch the setTimerEvent to using a thread.  setTimerEvent has to many
            restrictions on it which may cause deadlocks if violated.
            
        api/
            boinc_api.C
    
    Charlie 16 May 2006
        - Mac: Fix a bug if name of default browser contains spaces.
            Remove obsolete files language.C,h from XCode project
        
        clientgui/
            hyperlink.cpp
        mac_build/
            Make_BOINC_Service.sh
            boinc.xcodeproj/
                project.pbxproj
    
    Rom    15 May 2006
        - Bug Fix: Change the account not found window title to login failed.
        - Bug Fix: If a login call fails for an account manager turn off using
            cached credentials for the next login request.
        - Add a field to the host info structure called accelerators.  Right now
            it just contains the name of the video card(s) in the computer on
            Windows.  In the future it could also contain information such as
            if CrealSpeed, PCI-X math accelerator, is installed on the system.
        - Remove what is now dead code in the manager.
        
        client/win/
            hostinfo_win.cpp
        clientgui/
            AccountManagerProcessingPage.cpp
            AccountManagerPropertiesPage.cpp, .h
            NotFoundPage.cpp
            ProjectPropertiesPage.cpp, .h
        lib/
            hostinfo.C, .h
    
    Rom    15 May 2006
        - Remove the old BOINC GUI app from the source tree.
        - Remove the old BOINC client lib from the source tree.
        
        client/
            file_names.C
            main.C
        cient/win/
            StdAfx.cpp, .h (Removed)
            boinc_dll.h (Removed)
            boinc_dll.rc (Removed)
            boinc_gui.h (Removed)
            boinc_gui.rc (Removed)
            win_idle_tracker.cpp, .h (Removed)
            win_idle_tracker.def (Removed)
            win_screensaver.cpp
            win_util.cpp, .h (Removed)
            wingui.cpp, .h (Removed)
            wingui_dialog.cpp, .h (Removed)
            wingui_listctrl.cpp, .h (Removed)
            wingui_mainwindow.cpp, .h (Removed)
            wingui_piectrl.cpp, .h (Removed)
            wingui_proxydlg.cpp, .h (Removed)
            wingui_sswindow.cpp, .h (Removed)
        lib/
            util.h
        win_build/
            boinc_gui.vcproj (Removed)
    
    Rom    15 May 2006
        - Another two files that can be deleted.
        
        lib/
            exception.C, .h (Removed)
    
    Rom    15 May 2006
        - Remove some more code that isn't currently used, if we need it
            it is still in the 5.2 and 5.4 branches.
            
        client/win/
            cpuid_tbl.cpp, .h (Removed)
            optBench.hpp (Removed)
            opt_x86.h (Removed)
            opt_x86cpu.cpp (Removed)
            optimize.hpp (Removed)
    
    David  16 May 2006
        - remove references to exception.C,h
        - save stat data for 30 days, not 30 records
    
        client/
            app_graphics.C
            scheduler_op.C
            win/
                win_screensaver.cpp
        win_build/
            boinc_ss.vcproj
            libboinc.vcproj
    
    Rom    16 May 2006
        - Manually perform memory leak detection since we now terminate the
            process before the memory leak detection stuff kicks in.
        - Cleanup used diagnostic resources when boinc_exit() is called.
    
        api/
            boinc_api.C
        lib/
            boinc_win.h
            diagnostics.C, .h
            diagnostics_win.C
    
    Charlie 16 May 2006
        - Mac: Update XCode project, build instructions and build scripts 
            to use wxMac-2.6.3 instead of 2.6.2.
            Remove obsolete files exception.C,.h from XCode project.
        - Compile fix: don't #include <malloc.h> in stdwx.h if Mac.
        
        clientgui/
            stdwx.h
        mac_build/
            HowToBuildBOINC_XCode.rtf
            buildWxMac.sh
            setupForBOINC.sh
            boinc.xcodeproj/
                project.pbxproj
    
    Rom    16 May 2006
        - Add a field to host info which contains CPU feature information.
        
        client/win/
            hostinfo_win.cpp
        lib/
            diagnostics_win.C
            hostinfo.C, .h
    
    Rom    16 May 2006
        - Core client needs to still support Win95, so make the processor
            feature detection code work on Win95.
            
        client/win/
            hostinfo_win.cpp
    
    Rom    16 May 2006
        - Bug Fix: When an application is running in standalone mode the missing
            init file should not cause the diagnostics_init() routine to return
            an error.
        - Bug Fix: Prevent the exception handling thread from stalling when the
            foreground window happens to be from its own process space.  If you
            were single stepping inside of a debugger then the process acted as
            though it was deadlocked since the debugger had suspended the other
            threads.
        - Bug Fix: Initialize the diagnostics library even thuogh an alternate
            entrypoint might have been used.
            
        api/
            graphics_api.C
        lib/
            diagnostics.C
            diagnostics_win.C
    
    Rom    19 May 2006
        - Add a check for the FPU and add it to the capabilities list for a
            host.
        - Bug Fix: Change CreateThread calls to _beginthreadex calls in
            diagnostics_win.C to avoid having the CRT terminating a thread
            when it attempt to use fprintf or any other CRT function when
            memory is running really tight.
            
        client/win/
            hostinfo_win.cpp
        lib/
            diagnostics.h
            diagnostics_win.C
    
    Rom    19 May 2006
        - Add the CPU flags for various flavors of *nix
        
        client/
            hostinfo_unix.C
    
    David  21 May 2006
        - core client: change name of configuration file
            old name: log_flags.xml
            new name: cc_config.xml
                format:
                    <cc_config>
                        <log_flags>
                            ...
                        </log_flags>
                        [ <save_stats_days>N</save_stats_days> ]
                    </cc_config>
        - core client: limit on how many days of statistics to save
            is now configurable (see above)
        - user web: add "CPU usage limit" preference
            (soon to be implemented in client)
        - add wrapper program for existing binaries (not finished)
    
        apps/
            wrapper.C
            Makefile.am
        client/
            file_names.h
            log_flags.C,h
            main.C
            scheduler_op.C
        html/inc/
            prefs.inc
            stats_sites.inc
    
    David 21 May 2006
        - core client: implement "CPU usage limit" preference
        - core client: print CPU scheduling messages only if
            "tasks" log flag is set
        - core client: mechanisms for suspending activities
            (idle, time-of-day, explicit control)
            affect only CPU, not network usage
        - Manager: fix garbled message about needing network connection
    
        client/
            app_control.C
            app_start.C
            client_state.C,h
            cs_apps.C
            cs_prefs.C
            log_flags.C
            main.C
        clientgui/
            BOINCDialupManager.cpp
        lib/
            prefs.C,h
    
    Rom    21 May 2006
        - Translate the process and thread priorities into text.
        
        lib/
            diagnostics_win.C
    
    David  21 May 2006
        - core client: move "dont_check_file_sizes" tag out of log flags
            section of config file
    
        client/
            cs_files.C
            log_flags.C,h
    
    David  22 May 2006
        Support for Microsoft "symstore" mechanism,
        for getting symbols from a remote server:
    
        - core client: add "symstore" element to PROJECT.
            Parse this from scheduler reply file;
            store in client state file.
            Add to app info file that's passed to applications.
        - API: parse symstore from app init file
        - server: parse symstore URL from config file;
            include in scheduler reply
    
        client/
            app_start.C
            client_types.C,h
            scheduler_op.C
        lib/
            app_ipc.C,h
            hostinfo.h
        sched/
            sched_config.C,h
            server_types.C
    
    Rom    22 May 2006
        - Add some additional logging to the unhandled exception filter
            initialization routine.
        - If the unhandled exception filter monitor hasn't been created
            for some reason don't even attempt to signal the thread to
            do anything just terminate the process with the exception
            code.  If more than one thread crashes at a time let the OS
            decide who wins the critical section.
            
        lib/
            diagnostics_win.C
    
    David  22 May 2006
        - core client: fix logic error involving the
            "5 minutes of network after GUI RPC" thing.
    
        client/
            client_state.C
    
    Bruce 23 May 2006
        - Make backend more robust, to prevent 'stuck' workunits. Now
          transitioner will not sent the transition_time to INT_MAX
          UNLESS a canonical result has been found.  Otherwise it is
          set to MAX(ten days, 1.5*delay_bound) in the future.  This
          ensures that the transition will 'see' the workunit again
          if no canonical result has been found.
    
        sched/
            transitioner.C
    
    David  22 May 2006
        - Client: handle "<next_rpc_delay>" element in scheduler reply.
            This tells the client to do another scheduler RPC after X seconds.
    
        apps/
            wrapper.C
        client/
            client_types.C,h
            cs_scheduler.C
            scheduler_op.C,h
    
    Rom    22 May 2006 (From Sebastian Masch)
        - Bug Fix: Keep the CPU capabilities string from growing without
            bound by initializing the string each time
            get_processor_capabilities() is called.
            
        client/win/
            hostinfo_win.cpp
    
    Rom    23 May 2006
        - Dump process statistics and the time of a crash.
        - Add some more error logging to the diagnostics startup routines.
        
        lib/
            diagnostics_win.C
    
    Bruce 24 May 2006
        - Adding a bit of logging to the scheduler to try and track down a
          bug that might have been introduced ~ March 11, which is marking
          some 'in progress' results as 'client error' and triggering
          the transitioner.
        - Have scheduler ignore some additional unrecognized tags in sched
          requests: cache_l[123] and cpu_caps.  These appear not to be
          anywhere in the source code tree or documented anywhere!!
    
        sched/
            handle_request.C
            server_types.C
    
    Rom    24 May 2006
        - Provide a way for an application to specify its symstore even when
            the core client doesn't yet support symstores.
            
        lib/
            diagnostics.C, .h
    
    David  24 May 2006
        - Implement a new XML parsing mechanism, consisting of functions
            get_tag(), get_int(), get_double(), and get_bool().
            These will correctly (and efficiently) parse
                <foo>X</foo>
            and
                <foo>
                    X
                </foo>
            and
                <foo>
    
                X
    
                </foo>
            etc.
            It will parse
                <foo/>
            and
                <foo></foo>
            and
                <foo>
    
                </foo>
            identically.
            The python-generated XML (e.g. config.xml) is of the form
                <foo>
                X
                </foo>
            Currently the new code is used to parse config.xml.
            Eventually all XML parsing should be done this way.
        - User web: initialize cpu_usage_limit in prefs
    
        html/inc/
            prefs.inc
        lib/
            parse.C,h
        sched/
            sched_config.C,h
    
    Rom    24 May 2006
        - Remove references to the MM Timer stuff.  A real thread is now used
            in its place.
        
        api/
            boinc_api.C
    
    Rom    25 May 2006
        - Trap delay load exceptions and dump meaningful messages when a delay
            load dll fails to load.
            
          NOTE: At a minimum projects should flag GDI32.DLL, OPENGL32.DLL, and
            GLU32.DLL as delay load dlls.  If all goes well we'll see more
            meaningful messages when one of the system graphics dll's fail to
            load for whatever reason.  For those who are building their
            applications with Visual Studio you can detect the DLL load
            failure and just disable graphics for that instance of the
            application.
            
            0xC0000135 = STATUS_DLL_NOT_FOUND
            0xC0000139 = STATUS_ENTRYPOINT_NOT_FOUND
            0xC0000142 = STATUS_DLL_INIT_FAILED
            0xC0000143 = STATUS_MISSING_SYSTEMFILE
            
        lib/
            diagnostics_win.C, .h
    
    David  25 May 2006
        - scheduler: add "next_rpc_delay" item to config file.
            This lets a project tell clients to reconnect after some interval.
            It's intended to support projects with tight delay bounds
            (e.g. a few minutes) and therefore need to control the rate
            of client requests.
            Currently the delay interval is specified in the config file.
            This is for testing.
            Ultimately we'll need a dynamic mechanism.
        - default cpu_usage_limit is 100, not 1
    
        lib/
            prefs.C
        sched/
            sched_config.C,h
            server_types.C
    
    David  25 May 2006
        - core client: add optional <result_abort> and <result_abort_if_unstarted>
            elements to scheduler reply.
            Each is a list of result names.
            In the first case the results are aborted.
            In the second case the results are aborted if they
            haven't started computing yet.
            NOTE: the scheduler doesn't currently use these.
            But they're there in case we want them.
        - added RESULT_ABORTED status code and ERR_ABORTED_BY_PROJECT error number.
            This eliminates the kludge in which aborted results
            were classified as RESULT_COMPUTE_ERROR
        - core client: remove aborted_via_gui field from RESULT.
            Aborts are now always handled immediately,
            and recorded in the "state" and "exit_status" fields of RESULT.
        - Manager: changes to reflect the above
    
        client/
            app_start.C
            client_types.C,h
            cpu_sched.C
            cs_scheduler.C
            gui_rpc_server_ops.C
            scheduler_op.C,h
        clientgui/
            ViewWork.cpp
        html/inc/
            result.inc
        lib/
            error_numbers.h
            gui_rpc_client.h
            gui_rpc_client_ops.C
            result_state.h
            util.C
    
    David  25 May 2006
        - compile fixes
    
        lib/
            gui_rpc_client.h
            gui_rpc_client_print.C
    
    David  25 May 2006
        - fixes for result abort logic
    
        client/
            cs_apps.C
        clientgui/
            ViewWork.cpp
    
    David  25 May 2006
        - scheduler: if client reports a result, and it currently has
            state = OVER and outcome != NO_REPLY,
            then don't change its state or process it further.
            (from Bruce Allen)
    
        sched/
            handle_request.C
    
    David  26 May 2006
        - bug fix in new XML parser - wasn't stripping whitespace
            from single-line elements
        - scheduler: parse all elements, even unused ones
    
        lib/
            parse.C
        sched/
            sched_config.C
    
    David  27 May 2006
        - Add "invitation code" mechanism for restricting account creation.
            See http://boinc.berkeley.edu/account_control.php
            From Eric Myers.
        - Remove "client_account_creation_disabled" config flag
            (it was temporary during transition to version 5 software)
    
        html/
            languages/translations/
                en.po
            user/
                create_account.php
                create_account_action.php
                create_account_form.php
                get_project_config.php
    
    David  28 May 2006
        - Add account manager URL to APP_INIT_DATA structure
            (so that apps can see what acct mgr is being used, if they want)
    
        client/
            app_start.C
        lib/
            app_ipc.C,h
    
    David  29 May 2006
        - Windows version of wrapper
    
        apps/
            wrapper.C
    
    Rom    29 May 2006
        - Bug Fix: MinGW doesn't define RVA so define it.
        - Bug Fix: When building under something other than a Microsoft compiler
            comment out some of the thread naming code so that other compilers
            can be happy.  At some point we should revisit this as a project
            who builds with MinGW may need somebody to debug their application
            with the Debugging Tools for Windows which does understand the
            thread naming convention.
            
        lib/
            diagnostics_win.C, .h
    
    Rom    29 May 2006
        - Bug Fix: Implemented the thread naming code for compilers that do not
            understand SEH exceptions.
            
        lib/
            diagnostics_win.C    
    
    David  30 May 2006
        - Transitioner: check return value of process_result_template()
            (e.g. if upload certificate generation fails)
        - move wrapper.C to boinc_samples
    
        apps/
            Makefile.am
            wrapper.C (removed)
        tools/
            backend_lib.C
    
    Rom    29 May 2006
        - Bug Fix: Wait until the exception monitor has finished initializing
            before finishing boinc_diagnostics_init() in case the very next thing
            the program does is throw an exception.
            
        lib/
            diagnostics_win.C    
    
    David  31 May 2006
        - database code: the following functions
            DB_VALIDATOR_ITEM_SET::enumerate()
            DB_WORK_ITEM::enumerate()
            were using a left join on (workunit, result) or (result, workunit),
            then parsing the result in a way that would crash
            if only one item was present
            (e.g. if there's a WU without corresponding result, or vice-versa).
    
            Solution: replaced "left join" with a "natural join", i.e.
            select ... from workunit, result where ...
    
        db/
            boinc_db.C
        sched/
            sched_config.C
    
    Bruce 31 May 2006
    
        - scheduler: do a better job of accepting results from host machines
          which may modify an EXISTING & OVER result in the database.
    
        - file_upload_handler: check for 'stop_upload' trigger file in the
          project root directory.  If so, return ERR_TRANSIENT to hosts which
          attempt uploads.  This is the equivalent of 'stop_sched' for the
          scheduler.  (Eric, you may want to check that this is FCGI compatible).
    
        db/
            boinc_db.C
    
        sched/
            handle_request.C
            file_upload_handler.C
            sched_config.C
     
    David  31 May 2006
        - Server: new scheme for directory permissions.
            The scheme assumes that the 'apache' user belongs
            to the primary group of the project creator (say, 'boinc').
            The components are:
            1) make_project sets the permissions of various directories
                (upload, profiles, etc.)  to 02770 (set GID).
                This means that when apache creates a file or directory
                within that directory,
                it will be owned by group 'boinc'.
            2) The code that creates files and directories uses 0770 permissions,
                so by default nothing is world-accessible.
    
            This fixes a bug where directories and files created by apache
            (i.e. by the scheduler or file upload handler)
            are inaccessible to the project creator.
            (So that, e.g., the file deleter can't delete files)
    
            There are other schemes for handling this problem; see
            http://boinc.berkeley.edu/groups.php
            but this one is the best, IMHO.
        - scheduler: if store req/reply messages in files,
            put them in /tmp, not in cgi-bin/
        - document 'stop_upload'
    
        doc/
            groups.php (new)
            tool_start.php
        lib/
            filesys.C
        py/Boinc/
            setup_project.py
        sched/
            main.C
            sched_util.C
            
    
    David  31 May 2006
        - Add new GUI RPC <get_cc_status>: returns
            1) network status (same as <network_status> RPC)
            2) flag saying whether a timer-driven account managaer RPC
                has returned a bad-password error
                (so Manager can notify user)
            ... any future status items will be added here
        - got rid of commented-out <lookup_website> RPC
    
        client/
            acct_mgr.C,h
            gui_rpc_server_ops.C
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    Rom    1 June 2006
        - Bug Fix: boinc_finish() can be called from any thread, so do not
            close the handle to one of the potiential calling threads from it.
            
          NOTE: I haven't found any documentation that states what the expected
            behavior is for closing the handle to the actively running thread
            but I don't expect it to be good.
            
        api/
            boinc_api.C
    
    Bruce 1 June 2006
        - scheduler: clearer messages to use if refusing to accept a result.
        - DB purger: make sleep interval a command line option (current 600
                     secs is still the default value).
    
        sched/
            db_purge.C
            handle_request.C
    
    David  1 June 2006
        - Changes to account manager protocol,
            to allow account managers to directly manipulate global preferences:
            1) request message now includes <global_preferences> element,
                with current global preferences,
                and their source and mod time
            2) request message no longer includes <prefs_mod_time>
                and <prefs_source_project>;
                these items are in the new <global_preferences> element.
            3) reply message now includes optional <global_preferences> element.
                This should be sent only if prefs are newer
                than those in the request message.
            4) reply message now includes optional <host_venue> element.
                This determines what preferences set is used.
    
        client/
            acct_mgr.C,h
            client_state.h
            cs_prefs.C
            cs_scheduler.C
    
    David  1 June 2006
        - wherever xml_escape() is used, make sure the output buffer
            is at least 6X the size of the input,
            since the largest expansion is X -> &#NNN;
    
            This is a kludge.
            We should switch to #defined buffer-size params,
            instead of having 256 and 2048 everywhere.
            Or we should use std::string everywhere.
            (but I don't think we can do this, because I've seen
            repeated performance problems and outright bugs with std::string).
    
    
        client/
            client_types.C
        db/
            boinc_db.C
        lib/
            app_ipc.C
            parse.C
            proxy_info.C
        sched/
            db_dump.C
            db_purge.C
    
    David  1 June 2006
        - don't ignore global prefs override file when handling
            new prefs from a project (from Ian Hay)
    
        client/
            acct_mgr.C
            client_state.C,h
            cs_prefs.C
    
    Charlie 1 June 2006
        - Mac: Fix "About BOINC" menu item in Dock when linking with wxMac-2.6.3.
    
        clientgui/
            BOINCTaskBar.cpp
    
    David  2 June 2006
        - Code cleanup and logic fixes in general prefs code
    
        client/
            acct_mgr.C
            client_state.h
            cs_apps.C
            cs_prefs.C
            cs_scheduler.C
    
    Bruce 3 June 2006
        - Transitioner: nasty bug in logging, wrong result id/name
        - Scheduler: clearer logging for debugging purposes
        - Scheduler: refuse to upload results if DB item is
          (1) over and (2) validate state init and (3) NOT file_delete==INIT.
        - Unix package: since BOINC manager now starts client, change message
          to user after install.
    
          (David, please bless addition of file_delete_state to SCHED_RESULT_ITEM.)
    
        db/
            boinc_db.C
            boinc_db.h
        sched/
            handle_request.C
            transitioner.C
    
    Bruce 4 June 2006
        - HTML ops page: properly display queries containing '<' and '>'.
        - HTML ops page: close <head> tag in page head.
    
        html/
            ops/
                db_action.php
            inc/
                util_ops.php
    
    David  4 June 2006
        - add "switcher" program (part of new sandbox scheme)
    
        client/
            Makefile.am
            app.C
            switcher.C (new)
    
    
    Charlie 6 June 2006
        - Mac: New helper command-line application SetUpSecurity creates boinc_master 
            and boinc_project users and groups if needed.  When complete, this 
            application will also set users, groups and permissions of Manager, Client, 
            etc. to aid debugging during build / debug cycles.
    
        clientgui/
            mac/
                SetupSecurity.cpp (new)
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  6 June 2006
        - scheduler: if we think a host has detached
            (because of zero host ID but existing CPID)
            marks its in-progress results as NO_REPLY, not CLIENT_ERROR
        - scheduler: remove special handling for reported results
            that are OVER/CLIENT_ERROR
            (with above change, this shouldn't happen)
        - scheduler: if we can't attach to shared memory,
            return "Project encountered internal error" to client,
            not misleading "Project is temporarily shut down for maintenance"
        - shmem-related functions: call perror() on error
        - make_project: <show_results>, not <show_result>
        - my email address was hardwired in watchdog.php - ouch!
    
        db/
            boinc_db.h
        html/ops/
            watchdog.php
        lib/
            shmem.C
        py/Boinc/
            setup_project.py
        sched/
            handle_request.C
            main.C
    
    David  6 June 2006
        - boinc_mkdir(): temporarily zero umask so that
            directories will always be group RW
            (from Dr. M.F. Somers)
        - Back end: add optional <dont_delete_batches> flag to config.xml.
            If set, the file deleter won't delete files for workunits
            or results with positive batch.
            Use this to preserve files until you're done looking at them
            (then do a SQL query that zeros or negates the batch
            numbers for that particular batch).
            See http://boinc.berkeley.edu/configuration.php
    
        client/
            client_state.C,h
            client_types.C
        lib/
            filesys.C
        sched/
            file_deleter.C
            sched_config.C,h
    
    David  6 June 2006
        - Scheduler/file upload handler: added optional config.xml items
            <sched_debug_level> and <fuh_debug_level>
            for specifying log verbosity level for
            scheduler and file upload handler respectively
            (from Dr. M.F. Somers)
    
        sched/
            file_upload_handler.C
            main.C
            sched_config.C,h
    
    Charlie 6 June 2006
        - Mac: Separate out main() from SetUpSecurity so it can be called either 
            standalone from XCode as well as from Installer, Manager or Core Client.
            CreateBOINCUsersAndGroups() sets default shell of users boinc_master 
            and boinc_project to /sbin/nologin to prevent a security hole by not 
            allowing these users to log in.  Make CreateBOINCUsersAndGroups() more 
            robust by retrying each step up to 5 times.
            Add code to call CreateBOINCUsersAndGroups() from installer.
    
        clientgui/
            mac/
                SecurityUtility.cpp (new)
                SetupSecurity.h (new)
                SetupSecurity.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
        mac_installer/
            postinstall.cpp
    
    Rom    7 June 2006
        - Finish implementing the BOINCINFO macro which will display trace type
            statements even in release builds when BOINC_INFOMSGS is defined as
            a preprocessor define.
        - Tag each of the control messages and graphics messages with the
            BOINCINFO macro so we can see what was going on when an application
            executes.
            
        api/
            boinc_api.C
            windows_opengl.C
        client/
            app_graphics.C
        lib/
            boinc_win.h
            diagnostics.C
            diagnostics_win.C
    
    Charlie 7 June 2006
        - Mac: SetUpSecurity sets owner=boinc_master, group=boinc_master and 
            permissions of BOINC Manager bundle and its contents.  
            When run standalone (from XCode), it assists the development / debug 
            cycle by making everything group writable and adds logged in user 
            to group boinc_master.  When run from Installer, Manager or Client, 
            makes everything non-writable by owner, group and other for security.
    
        clientgui/
            mac/
                SecurityUtility.cpp
                SetupSecurity.h
                SetupSecurity.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  7 June 2006
        - make_work: allow multiple -wu_name arguments.
            Make_work will create copies of these WUs, cyclically
    
        sched/
            feeder.C
            make_work.C
    
    Charlie 8 June 2006
        - Mac: SetUpSecurity sets owner, group and permissions of BOINC Data 
            directory.  Put short delays after each step to make it more robust.
        clientgui/
            mac/
                SecurityUtility.cpp
                SetupSecurity.h
                SetupSecurity.cpp
    
    Rom    8 June 2006
        - Bug Fix: When the debugger fails to initialize do not attempt to use
            the other debugger functions.
        - Bug Fix: Display which functions are not found in dbghelp.dll when one
            or more are missing.
            
        lib/
            diagnostics_win.C
            stackwalker_win.cpp
    
    David  8 June 2006
        - Add WU items (rsc_fpops_est, rsc_fpops_bound, rsc_memory_bound,
            rsc_disk_bound) to APP_INIT_DATA structure,
            so app can knows its own limitations
        - Added boinc_get_init_data_p(APP_INIT_DATA*),
            so that plain C apps can get this info
    
        api/
            boinc_api.C,h
        client/
            app_start.C
        html/inc/
            stats_sites.inc
        lib/
            app_ipc.C,h
            gui_rpc_client.h
        sched/
            sample_bitwise_validator.C
    
    Rom    8 June 2006
        - Reduce the amount of duplicate error information when dbghelp.dll
            fails to be able to find references to symbolic information.
        - Bug Fix: Fix a sympath parsing issue that will freak out dbghelp.dll
            
        lib/
            stackwalker_win.cpp
    
    Charlie 9 June 2006
        - Mac: Reorganize SetUpSecurity for better efficiency.  When run 
            standalone (from XCode), SetUpSecurity adds logged in user to 
            group boinc_project in addition to group boinc_master. Change 
            default shell of users boinc_master and boinc_project to 
            /usr/bin/false and set their home directory to /vars/empty; 
            these changes prevent these users from appearing in the Mac's 
            GUI login window.
        - Fix opening URLs in default browser with wxMac-2.6.3.
        - Fix compile error in macglutfix.m due to boinc_api.h declaration of 
            boinc_get_init_data_p().
        clientgui/
            mac/
                SetupSecurity.cpp
        api/
            boinc_api.h
        clientgui/
            hyperlink.cpp
    
    Rom    9 June 2006
        - Bug Fix: After many many many weeks of hunting the 0xc000000d bug I
            finally hit it.  It appears that the timer thread was attempting
            to shutdown graphics while the graphics thread was still trying to
            render a frame.  The next call to an OpenGL function throws an
            exception.
            
            I had to use WinDBG because Visual Studio wouldn't attach to the
            process.
            
            Another interesting note, for some reason the Unhandled Exception
            Filter was triggered.  Maybe OpenGL installs its own filter?
            
            In anycase the solution is remove the graphics thread shutdown
            code.  It was only being used on Windows, and now that we are
            using TerminateProcess() all the threads will be halted and
            resources cleaned up which should include OpenGL.
            
        api/
            boinc_api.C, .h
            windows_opengl.C
    
    David  9 June 2006
        - Core client: Linux bug fix.  New code to get CPU capabilities
            was appending rather than replacing.
            No check for buffer length.
            Eventually overflowed and crashed client.
    
            Notes:
                - Never use strncpy().
                - Never have the same block of code repeated several times
                    (the \n stuff).
                - Remember these notes
        - Create all shared mem segs with 0660 protection
            (affects both server and client)
    
        client/
            hostinfo_unix.C
        lib/
            shmem.C
    
    Bruce 9 June 2006
        - Sched code: move function into sched_util; useful for project
          validation.
        - Minor E@H specific change
    
        sched/
            handle_request.C
            sched_util.[hC]
            sched_locality.C
    
    David  9 June 2006
        - Extended checkin-before-last to work for MIPS and Alpha also.
            Eliminated separate versions of parse_cpuinfo() (see 2nd Note above).
            MIPS/Alpha people: please verify that it still works
    
        client/
            hostinfo_unix.C
    
    David  9 June 2006
        - First pass on reforming the validator framework.
            OLD: the documents made the task of creating a custom validator
                seem impossibly daunting.
            NEW: Defined two frameworks.
                - A "simple framework" lets you create a custom validator
                by supplying three simple functions:
                    1) parse a result
                    2) compare two parsed results
                    3) free a parsed results
                This is based on the "generic_check_set()" code that
                Karl Chen wrote for the sample bitwise validator;
                I simplified this, got rid of the function pointers,
                and moved it to a separate file (validate_util2.C,h)
                - An "advanced framework" requires you to supply
                    check_set() and check_pair() functions.
                    This sounds simple, but actually is not; see
                    http://boinc.berkeley.edu/validate_logic.txt
                Note: the check_set() function defined by the simple framework
                doesn't do everything the above spec says it should;
                I'll get back to that later.
        - added lookup_group() and associated error codes (for sandbox)
    
        lib/
            error_numbers.h
            util.C,h
        sched/
            Makefile.am
            handle_request.C
            sample_bitwise_validator.C
            sample_trivial_validator.C
            validate_util.C,h
            validate_util2.C,h (new)
            validator_placeholder.C
    
    Charlie 9 June 2006
        - Changes for sandbox:
            Renamed global variable boinc_project_gid to g_boinc_project_gid.
            Change shared memory segment group to g_boinc_project_gid.
            Set umask to 002 in both client and manager so files are writable 
                by both user and group.
            Allow access to gui_rpc_auth.cfg by group boinc_master so authorized 
                administrator can create or modify it.
            
        client/
            app_start.C
            client_state.C,h
            client_types.C
            gui_rpc_server.C
            main.C
        clientgui/
            BOINCGUIApp.cpp
        lib/
            shmem.C,h
    
    David  9 June 2006
        - Make boinc_project_id a field of CLIENT_STATE
        - Fix compile failuer when SANDBOX is not defined
        - Fix logic error in create_shmem()
    
        client/
            app_start.C
            client_state.C,h
        lib/
            shmem.C
    
    Bruce 10 June 2006
        - When calling project-provided validator functions, populate the
          WU.rsc_fpops_est field. This can be useful in
          determining how much credit to assign, and preventing cheating.
    
        - file_deleter: if deleting antique files, follow links when
          finding the files.  This allows NFS mounting of the upload
          directory, pointed to by a symbolic link.
    
          DAVID: I was going to be a good guy and document this, but you
          forgot to check validate_simple.php and validate_advanced.php
          into CVS (:-).
    
          DAVID: your change to create_shmem() broke the sched build.
          Check my 'fix' to feeder.C to see if this is what you had
          intended.
    
          DAVID: config was not defined in validate_util.C ; I made
          it extern. Likewise for validate_util2.C.  Also messed up
          includes in latter file.
    
        sched/
            boinc_db.C
            feeder.C
            validate_util.C
            validate_util2.C
            file_deleter.C
    
    David
        - tweaks
    
        sched/
            make_work.C
            validate_util.C,h
            validate_util2.C
    
    Charlie 11 June 2006
        - Change g_boinc_project_gid to gstate.boinc_project_gid in 
          FILE_INFO::set_permissions().
    
        client/
           client_state.C
    
    David  11 June 2006
        - more sandbox stuff, with #ifdef SANDBOX:
            - make projects/ and slots/ owned by boinc_projects
            - make link files owned by boinc_projects
        - add boinc_chown() function
    
        client/
            app_start.C
            file_names.C
        lib/
            app_ipc.C
            error_numberse.h
            filesys.C,h
            util.C
    
    David  12 June 2006
        - Graphics API: change params of boinc_app_mouse_button()
            and boinc_app_mouse_move() from bool to int (for ANSI C compatibility)
    
        api/
            graphics_api.h
            static_graphics.C
            x_opengl.C
    
    David  12 June 2006
        - User web: expand the list of message-board rules a bit
            (no ads, no trolling etc.)
            Link to a page that describes the moderation policy in more detail.
        - Add a page (not linked to anywhere) containing instructions for moderators.
    
        NOTE: the latter 2 pages are included as samples;
        you'll want to rename sample_X to X unless you need to customize it.
    
        html/
            inc/
                forum.inc
            user/
                sample_moderation.inc (new)
                sample_moderator_instructions.inc (new)
    
    David  12 June 2006
        - API: get rid of boinc_timer_thread_active(), boinc_worker_timer():
            either we can create a timer thread, or the app doesn't run.
    
        api/
            boinc_api.C,h
    
    David  12 June 2006
        - shuffle #ifdefs for ANSI C compile
    
        lib/
            filesys.h
    
    Charlie 13 June 2006
        - more sandbox stuff, with #ifdef SANDBOX.
        - Mac: Add switcher to XCode project.
           Update SetUpSecurity to match latest protections spec.
    
        client/
            app_start.C
            client_types.C
            file_names.C
            gui_rpc_server.C
            main.C
        clientgui/
            BOINCGUIApp.cpp
            mac/
                SecurityUtility.cpp
                SetupSecurity.cpp,h
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  13 June 2006
        - core client: don't check app disk usage more often than
            every 5 min (used to be 5*disk interval)
        - scheduler XML parsing code: handle XML comments
            (you can now have comments in config.xml)
    
        client/
            app_control.C
        lib/
            parse.C
        sched/
            sched_config.C
    
    David  13 June 2006
        - Web RPC: fix bug where am_set_info.php wasn't correctly
            removing user from team when teamid=0
    
        html/
            inc/
                team.inc
            user/
                am_set_info.php
                team_quit_action.php
    
    Rom    14 June 2006
        - Bug Fix: Fix crashing condition with Unicode BOINC Manager.
            (From Frank S. Thomas)
        - Reduce duplicate code in diagnostics.C.
        - Change screensaver logging mechinisms.
    
        client/win/
            win_screensaver.cpp
        clientgui/
            MainFrame.cpp
        lib/
            diagnostics.C, .h
    
    Rom    14 June 2006
        - Reduce duplicate code in diagnostics.C.
        - Display the detected CPU capabilities for those who want to
            manually use an optimized application via app_info.xml
    
        client/
            client_state.C
        lib/
            diagnostics.C, .h
    
    Charlie 14 June 2006
        - more sandbox stuff, with #ifdef SANDBOX:
            Change projects, slots directories to boinc_master:boinc_master 0775.
            Mac: I Manager creates BOINC Data directory set its permissions to 0575.
            Manager checks ownership and permissions; if incorrect it alerts user 
              and quits.
        
        client/
            check_security.C (new)
            file_names.C
        clientgui/
            BOINCGUIApp.cpp
            mac/
                SetupSecurity.cpp,h
        lib/
            util.h
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    Rom    14 June 2006
        - Fix build break in diagnostics.C.
    
        lib/
            diagnostics.C
    
    David  14 June 2006
        - core client: implement <copy_file/> property for output files
            (previously it was implemented for input files only).
            If present, move the file from slot directory
            to project directory when the result is done.
    
        client/
            app.h
            app_control.C
            app_start.C
    
    Rom    14 June 2006
        - Bug Fix: Fix crashing condition with Unicode BOINC Manager.
            (From Frank S. Thomas)
    
        clientgui/
            ViewTransfers.cpp
    
    David  14 June 2006
        - tools: dir_hier_path didn't work when the directory already existed.
            It would create a new directory with a garbage name.
        - tools: process_wu_template(): this wasn't passing through <copy_file/>.
            Changed it so that it copies any elements it doesn't recognize.
    
        sched/
            sched_util.C
        tools/
            backend_lib.C
            dir_hier_path.C
    
    David  14 June 2006
        - core client: mark aborted results as ready to report
            (from John McLeod)
    
        client/
            client_state.C
            client_types.C
            hostinfo_unix.C
    
    David  14 June 2006
        - Windows graphics API: if in screensaver mode,
            close on any input, even if control key is down
    
        api/
            windows_opengl.C
    
    David  14 June 2006
        - core client: sanity check on read statefile:
            make sure two active tasks don't have the same slot
    
        client/
            app.C,h
    
    Rom    15 June 2006
        - Remove the code block that mixes the forum rating restrictions with
            reporting abuse.
        - Add the moderators name to all outgoing moderation email
        - Add the email address that should be used for disputes with
            moderation.
            
        html/inc/
            email.inc
        html/user/
            forum_moderate_post_action.php
            forum_moderate_thread_action.php
            forum_report_post.php
    
    Charlie 15 June 2006
        - Mac sandbox:
            - GDB can't attach to applications which are running as a diferent user 
                or group so it ignores the S_ISUID and S_ISGID permisison bits when 
                launching an application.  To work around this, the _DEBUG version 
                of both the Manager and Client use the current user and group, and 
                temporarily change the ownership of the BOINC Data hierarchy if 
                necessary.
            - Manager and Client call check_security(); deployment versions notify 
                the user and quit if they find a problem with ownership or permissions 
                of either the application or the BOINC Data.
            - Better setting of _DEBUG and __WXDEBUG__ in Manager and Client builds.
                
        client/
            check_security.C
            main.C
        clientgui/
            BOINCGUIApp.cpp
            mac/
                MacGUI.pch
                SecurityUtility.cpp
                SetupSecurity.cpp,h
        lib/
            util.h
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    Eric K 15 June 2006
        - The getrusage calls in util.C and boinc_api.C are now protected with the
          same pthread mutex.
        - Changed CPU time monitor to prevent CPU time from incrementing faster than
          real time.
    
        lib/
            util.[Ch]
        api/
            boinc_api.C
    
    
    David  15 June 2006
        - New CPU scheduler: the highlights are:
            1) The implementation is better organized,
                and more or less conforms to the design document
                (http:/boinc.berkeley.edu/sched.php)
                In particular, the CPU scheduling policy (what should run)
                is separated from the enforcement policy (when to preempt).
            2) The enforcement policy delays preemption of tasks that haven't
                checkpointed recently, thus reducing wasted CPU time
                when apps are removed from memory on preemption.
            2) Instead of being either round-robin or EDF,
                the scheduling policy is now a hybrid:
                EDF for the projects that currently need it,
                weighted round-robin among the others if
                there additional CPUs available.
            (designed by John McLeod and me; implemented by John)
        - new log flag "cpu_sched_detail" for details on CPU scheduling
    
        client/
            app.C,h
            app_control.C
            app_start.C
            client_state.C,h
            client_types.C,h
            cpu_sched.C
            cs_apps.C
            cs_scheduler.C
            cs_statefile.C
            log_flags.C,h
    
    Rom    16 June 2006 (HEAD)
        - Tag for 5.5.1 release, all platforms
          boinc_core_release_5_5_1
    
    Charlie 16 June 2006
        - Mac sandbox: bug fixes
    
        client/
            check_security.C
            client_state.C
            file_names.C
            main.C
        clientgui/
            BOINCGUIApp.cpp
            mac/
                SetupSecurity.cpp
        lib/
            filesys.C
            
    David  16 June 2006
        Core client code cleanup:
        - separate "decide whether to scheduler CPUs" from "schedule CPUs"
        - rr_misses_deadline() -> rr_simulation()
        - removed set_X arguments from rr_simulation()
        - removed RESULT::deadlines_missed, deadline_problem
        - running_task_sort_pred() not member function
        - fixed calculation of CPU shortfall
    
        client/
            client_state.C,h
            client_types.h
            cpu_sched.C
            cs_scheduler.C
            http_curl.C
    
    David  16 June 2006
        - API: boinc_report_app_status(): don't access shmem if
            we're in standalone mode
        - Web RPC: lookup_account.php can be used to see if an account
            with given email exists (don't supply passwd_hash)
    
        api/
            boinc_api.C
    
    David  16 June 2006
        - initial code for parsing /proc (linux)
    
        client/
            procinfo_unix.C
    
    
    David  16 June 2006
        - Major revision to forum code
            (from Janus Kristensen)
    
            NOTE: this requires running the DB update in ops/db_update.php
    
        html/
            inc/
                cache.inc
                email.inc
                forum.inc
                forum_category.inc (new)
                forum_dbh.inc (new)
                forum_forum.inc (new)
                forum_mainfactory.inc (new)
                forum_moderators.inc
                forum_mysql_dbh.inc
                forum_post.inc (new)
                forum_std.inc (new)
                forum_thread.inc (new)
                forum_user.inc (new)
                text_transform.inc
            languages/translations/
                en.po
            ops/
                db_update.php
            user/
                edit_forum_preferences_action.php
                forum_edit.php
                forum_forum.php
                forum_index.php (new)
                forum_moderate_post.php
                forum_moderate_post_action.php
                forum_moderate_thread.php
                forum_moderate_thread_action.php
                forum_post.php
                forum_rate.php
                forum_reply.php
                forum_report_post.php
                forum_search.php (new)
                forum_search_action.php (new)
                forum_subscribe.php
                forum_thread.php
                forum_thread_status.php (new)
                forum_thread_vote.php (new)
                white.css
    
    Charlie 16 June 2006
        - Mac sandbox: 
            - more debugging aids
            - add SWITCHER_DIR, SWITCHER_FILE_NAME
    
        client/
            check_security.C
            file_names.h
        clientgui/
            mac/
                SetupSecurity.cpp,h
    
    Charlie 17 June 2006
        - Mac sandbox:
            - Fix bugs
            - ACTIVE_TASK::start launches project app via new switcher app
            - Client runs projects under different user and group boinc_project.
              
        client/
            app_start.C
            check_security.C
            switcher.C
        clientgui/
            BOINCGUIApp.cpp
            mac/
                SetupSecurity.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    Bruce 17 June 2006
        - Scheduler: improve message to user if user running anonymous platform
          and project+app does not support it.
    
        sched/
            sched_locality.C
    
    David  17 June 2006
        - core client: code cleanup (from John McLeod)
    
        client/
            client_state.h
            cpu_sched.C
    
    Bruce 17 June 2006
        - Scheduler: populate sreq.host.credit_per_cpu_sec in case project wants
          to send different work to slow and fast hosts.  I'm experimenting with
          the use of this in the locality scheduler.
    
          (David: please check that the one-line change in handle_request.C is
          globally harmless.)
    
        sched/
            handle_request.C
            sched_locality.C (experimental code)
    
    Matt 17 June 2006
        - User web:
            - If the flag <no_forum_rating/> is in config.xml,
                the rating +/- links don't show up under posts.
            - check in forum_rate.php to do the same check
                (and make sure people are trying to sneakily downrate posts
                without using the +/- links).
            - fixed a bug in email.inc where the moderator e-mail address
                wasn't showing up in "deleted post" e-mails.
    
        html/user
           forum_rate.php
        html/inc
           forum.inc
           email.inc
    
    David  18 June 2006
        - Don't parse ACTIVE_TASK::scheduler_state from the state file.
            This isn't carried across runs of BOINC.
        - Remove ACTIVE_TASK_SET::restart_tasks() and CLIENT_STATE::restart_tasks():
            just let the CPU scheduler take care of starting tasks.
        - If file upload fails because file is missing, don't retry,
            and show appropriate error message
    
        client/
            app.C,h
            app_start.C
            client_state.C,h
            cs_apps.C
    
    David  19 June 2006
        - core client: make cpu_sched_last_check into a static variable
            of possibly_schedule_cpus();
            restart CPU scheduling period on any reschedule
            (from JM7)
        - remove unused args, etc.
    
        client/
            client_state.C,h
            cpu_sched.C
    
    David  19 June 2006
        - core client: remove CLIENT_STATE::handle_file_xfer_apps().
            Instead, handle this in CLIENT_STATE::update_results().
        - core client: rename RESULT::reset_files() to clear_uploaded_flags()
    
        client/
            client_state.C,h
            client_types.C,h
            cpu_sched.C
            cs_apps.C
        sched/
            update_stats.C
    
    David  19 June 2006
        - core client: cleanup in CPU scheduling
            - move make_running_task_heap() into a function.
            - no NULLs in running_task_heap
            - renamed long vars to "deadlines_missed"
            - renamed running_task_sort_pred() to more_preemptable()
                Renamed args, to avoid calling left argument "rhs"
            - rewrote unreadably long if() clauses
            - changed deadlines_missed++ to --
    
            There's still considerable deviation between code and spec.
            This needs to be eliminated.
    
        client/
            client_state.h
    
    Charlie 19 June 2006
        - Mac sandbox:
            - Better support for development
            - XCode sets BOINC Manager bundle to current user & group, sets 
              S_ISUID | S_ISGID bits for Client, S_ISGID bit for Manager.
            - ACTIVE_TASK::start launches project app via new switcher app
            - Client runs projects under different user and group boinc_project.
              
        client/
            check_security.C
        clientgui/
            mac/
                SetupSecurity.cpp,h
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    Rom    19 June 2006 (HEAD)
        - Tag for 5.5.2 release, all platforms
          boinc_core_release_5_5_2
    
    Charlie 20 June 2006
        - Mac: Fix build scripts to not set execute permissions bits inappropriately
        - Mac sandbox:
            - Add switcher directory and file to build scripts
            - Postinstall application changes for SANDBOX
            - Postinstall application adds BOINC Manager to login startup items for 
                all visible users, not just user currently logged in at install time.
            - Postinstall application deletes installer's package receipt to permit 
                running installer again.
            - DoPrivilegedExec uses pipe to determine when command completes.
    
        client/
            check_security.C
       clientgui/
            mac/
                SetupSecurity.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
        mac_installer/
            release_boinc.sh
        release_GridRepublic.sh
            Postinstall.cpp
    
    David  20 June 2006
        - Add "verify files on app start" option for projects that
            want to check MD5 and digital signatures of all relevant files
            each time an app is started
            (whether this provides any additional security is open to debate)
            1) on scheduler, config.xml file has optional
                <verify_files_on_app_start/> element
            2) this element is passed in scheduler reply messages
                and stored in client's client_state.xml file
            3) if flag is set, MD5s and/or digital signatures are checked
                on app startup (both initial and on resumption)
        - Core client: don't accept self-signed SSL certificates
        - Validator: changes to "simple framework" to handle
            transient errors correctly
    
        client/
            app_start.C
            client_state.C,h
            client_types.C,h
            cpu_sched.C
            cs_apps.C
            cs_files.C
            http_curl.C
            scheduler_op.C
        sched/
            sched_config.C,h
            server_types.h
            validate_util2.C
    
    David  20 June 2006
        - Debug "verify files on app start" feature
            - ACTIVE_TASK::start(): call report_result_error()
                on any error condition; this puts the result in
                the correct state so that it won't get started again.
            - CLIENT_STATE::verify_input_files() returns int, not bool
    
        client/
            app_control.C
            app_start.C
            client_state.C,h
            cs_apps.C
    
    David  20 June 2006
        - Manager: change menu item to "Attach to account manager"
            I think it's OK to use "attach" in connection
            with account managers as well as projects
    
        client/
            client_state.C
        clientgui/
            MainFrame.cpp
    
    David  20 June 2006
        - core client: rename RESULT::runnable_soon() to nearly_runnable()
        - core client: small bug fix in CPU shortfall calculation
    
        client/
            client_types.C,h
            cpu_sched.C
    
    David  20 June 2006
        - core client: it FILE_INFO for output file file has
            <gzip_when_done/> property, gzip it and append .gz to name
    
        client/
            client_types.C,h
            cs_apps.C
    
    David  20 June 2006
        - debugged upload compression feature.
            I had to change semantics:
            the filename stays the same after it's compressed.
            Also: the MD5 and file size are those of the compressed file.
    
        client/
            client_types.C
            cs_apps.C
        win_build/
            boinc_cli_curl.vcproj
    
    Charlie 20 June 2006
        - Fix a crash bug in the client (f.printf had fewer arguments than 
            called for in the format, so attempted access through a bad pointer.)
        - Fix another permissions typo
            
        client/
            cs_statefile.C
            file_names.C
    
    Rom    20 June 2006 (HEAD)
        - Tag for 5.5.3 release, all platforms
          boinc_core_release_5_5_3
    
    Charlie 21 June 2006
        - Mac sandbox:
            - Installer calls check_security() after creating users and groups  
                and setting owners and permissions for Manager, Client and data; 
                retries up to 5 times if error.
            - Installer script calls postinstall application twice with different 
                arguments, waits for first call to complete.
            - Manager and Client report unique error codes from check_security().
    
        client/
            check_security.C
            main.C
        clientgui/
            BOINCGUIApp.cpp
            mac/
                SetupSecurity.cpp,h
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
        mac_installer/
            postinstall
            postupgrade
            Postinstall.cpp
    
    David  21 June 2006
        - core client: fix case where CPU scheduler preempts
            tasks it doesn't need to.
        - core client: code cleanup
            - move deadline messages to a separate function
            - reduce side-effects of make_running_task_heap()
            - improve names
        - file upload handler: don't complain about <gzip_when_done/> tag
    
        client/
            client_state.h
            cpu_sched.C
        sched/
            file_upload_handler.C
    
    Milos  21 June 2006
        - Initial checkin on the simple GUI
        
        clientgui/
            sg_BoincSimpleGUI.cpp, .h (Added)
            sg_DlgPreferences.cpp, .h (Added)
            sg_ImageLoader.cpp, .h (Added)
            sg_SkinClass.cpp, .h (Added)
            sg_StatImageLoader.cpp, .h (Added)
        clientgui/common/
            wxFlatNotebook.cpp, .h (Added)
            wxFNBDropTarget.h (Added)
            wxAnimate.cpp (Added)
    
    Rom    21 June 2006
        - Bug Fix: Two setup failure logs that were sent to me indicate that 
            the uninstall process didn't clean up the BOINC entry in the 
            service control manager.  Check, before attempting to shutdown, 
            BOINC to make sure it is executing or is capable of responding 
            to a ControlService event.    
    
        win_build/installerv2/redist/Windows/src/boinccas
            CAShutdownBOINC.cpp
            boinccas.rc
    
    David  21 June 2006
        - update_stats: enumerate only users/hosts/teams for which
            expavg_credit > 0.1.
            This speeds up the DB query
    
        sched/
            update_stats.C
    
    David  21 June 2006
        - core client: added "cpu_sched_debug" log flag;
            got rid of "cpu_sched_detail" and "sched_cpu_debug"
        - core client: added "ncpus" config option;
            if present, the core client will act as if there were N cpus
            (handy for debugging scheduler stuff)
        - core client: parse cc_config.xml with the new-style
            XML parsing functions (reduce restrictions on XML format)
    
        client/
            client_msgs.C,h
            cpu_sched.C
            cs_apps.C
            cs_scheduler.C
            log_flags.C,h
            time_stats.C
    
    David  21 June 2006
        - core client: add some logging messages to rr_simulation()
    
        client/
            cpu_sched.C
            cs_scheduler.C
    
    Rom    21 June 2006 (HEAD)
        - Tag for 5.5.4 release, all platforms
          boinc_core_release_5_5_4
    
    Rom    21 June 2006
        - Bug Fix: Go one step further by ignoring the return value from
            ControlService.
    
        win_build/installerv2/redist/Windows/src/boinccas
            CAShutdownBOINC.cpp
            CAShutdownBOINCManager.cpp
            boinccas.rc
        win_build/installerv2/redist/Windows/x86
            boinccas95.dll
            boinccas.dll
    
    Charlie 21 June 2006
        - Mac sandbox:
            - Fix installer problems creating user and groups on older Mac OS.
            - The following functions require an administrator password unless 
                the user is a member of group boinc_master: Attach to Project, 
                 Detach from Project, Reset Project, Attach to Account Manager, 
                 Detach from Account Manager, Update Account Manager, Abort 
                 Task, Abort Transfer.
            - Fix compiler warning in client_types.C.
            - Define SANDBOX in XCode projects: Client, Manager, Installer.
            
        client/
            client_types.C
        clientgui/
            MainDocument.cpp,h
            MainFrame.cpp
            ViewProjects.cpp
            ViewTransfers.cpp
            ViewWork.cpp
            mac/
                Mac_GUI.cpp
                SetupSecurity.cpp
        mac_installer/
            PostInstall.cpp
        mac_build/
            boinc.xcodeproj/
                sproject.pbxproj
                
    Walt   22 June 2006
        - Change additional includes for xlib.h directory from absolute
            to relative.
    
        win_build/
            boinc_cli_curl.vcproj
    
    David  22 June 2006
        - core client: get rid of the SCOPE_MSG_LOG thing.  Too fancy.
            All messages are now generated using
    
            if (log_flags.X) {
                msg_printf(...);
            }
    
            All messages now appear in the BOINC Manager (if used) and in stdout.
            Changed things so messages are written only to stdout
            (not to both stderr and stdout)
        - core client: broke out scheduling-related messages into new flags:
            task
            cpu_sched
            cpu_sched_debug
            rr_simulation
            debt_debug
            work_fetch_debug
    
            also added new "unparsed_xml" flag
        - scheduler: 
            parse (but ignore) p_capabilities and accelerators in <host_info>
    
        client/
            *.C
            log_flags.h
        sched/
            server_types.C
    
    David  22 June 2006
        - Fix Win bug where accelerators kept concatenating
    
        client/
            client_msgs.h
            win/
                hostinfo_win.cpp
    
    Rom    22 June 2006
        - Check in the default certificate CA's so curl can use them.
        
        curl/
            ca-bundle.crt
        win_build/
            boinc_post_bld_rules.cmd
        win_build/installerv2/
            BOINC.ism
    
    David  22 June 2006
        - added curl_easy_setopt(curlEasy, CURLOPT_CAINFO, "ca-bundle.crt"),
            which tells Curl where to find CA bundle.
            SSL to WCG now works.
    
        client/
            http_curl.C
    
    David  22 June 2006
        - core client: parse all log flags (I forgot);
            print rr_simulation messages only if shortfall is nonzero
            (from John McLeod)
            
        client/
            cpu_sched.C
            log_flags.C
    
    Charlie 22 June 2006
        - Mac sandbox:
            - Because memberd is available only on OS 10.4, do not call it 
                under OS 10.3.x and require logout after installation to 
                resynchronize group membership tables.
        
        clientgui/
            mac/
                SetupSecurity.cpp
                SetVersion.C
        mac_installer/
            PostInstall.cpp
    
    Rom    23 June 2006
        - Hooked up the simple GUI into the overall manager infrastructure.
        
            NOTE: The manager now has dependancies on libpng and zlib to handle
              skin graphics.
            
            NOTE: This hasn't been tested on any platform other than Windows.
          
        clientgui/
            BOINCBaseFrame.cpp, .h (Added)
            BOINCDialupManager.cpp
            BOINCGUIApp.cpp, .h
            BOINCTaskBar.cpp
            Events.h
            MainDocument.cpp
            MainFrame.cpp, .h
            sg_BoincSimpleGUI.cpp, .h
            sg_DlgPreferences.cpp, .h
            sg_ImageLoader.cpp
            sg_SkinClass.cpp, .h
            sg_StatImageLoader.cpp, .h
            stdwx.h
        win_build/
            boincmgr_curl.vcproj
    
    David  23 June 2006
        - core client: write messages on app checkpoint
            if task_debug log flag is set
    
        client/
            app-control.C
            log_flags.h
    
    David  23 June 2006
        - core client:
            - fix bug in printing argv on task startup (Unix)
            - changed message: "misses deadline" -> "projected to miss deadline"
            - parse version in scheduler reply, and show it if log_flags.sched_ops
            - cpu_usage_limit must be in (0..1]
    
        client/
            app_start.C
            cpu_sched.C
            cs_apps.C
            cs_prefs.C
            cs_scheduler.C
            scheduler_op.C,h
        lib/
            prefs.C
            util.C
    
    David  23 June 2006
        - core client: 
            - removed Apple-specific retry logic in get_local_network_info()
            - made get_local_network_info() a member of HOST_INFO
            - in 1-sec poll loop, if don't have a domain name,
                call get_local_network_info() again
                (on some systems, gethostbyname() takes a few minutes to work)
    
        client/
            client_state.C
            hostinfo_network.C
            hostinfo_unix.C
            win/
                hostinfo_win.cpp
        lib/
            hostinfo.h
    
    Rom    23 June 2006
        - Move document initialization code to the base class so both GUI's can
            initialize the CC connection at startup.
        - Enable the inter-component alert system for the simple GUI.  Displays 
            dialogs if the GUI is open, otherwise display a ballon in the taskbar.
            
        clientgui/
            BOINCBaseFrame.cpp, .h
            MainFrame.cpp, .h
            sg_BoincSimpleGUI.cpp, .h
    
    David  23 June 2006
        - core client: fiddle with messages
    
        client/
            client_state.C
            cpu_sched.C
            cs_scheduler.C
            gui_rpc_server.C
    
    Rom    23 June 2006
        - Enable the dialup and idle tracking systems for the simple GUI.
            
        clientgui/
            BOINCBaseFrame.cpp, .h
            MainFrame.cpp, .h
    
    Rom    23 June 2006
        - Enable the wizards for initial startups.
            
        clientgui/
            sg_BoincSimpleGUI.cpp.cpp, .h
    
    Rom    23 June 2006
        - Rename MainFrame.cpp, .h to AdvancedFRrame.cpp, .h
        - Rename CMainFrame to CAdvancedFrame
        
        clientgui/
            AdvancedFrame.cpp, .h (Added)
            BOINCGUIApp.cpp
            MainFrame.cpp, .h (Removed)
            ViewMessages.cpp
            ViewProjects.cpp
            ViewStatistics.cpp
            ViewTransfers.cpp
            ViewWork.cpp
        win_build/
            boincmgr_curl.vcproj
    
    Rom    23 June 2006
        - Remove deprecated files
        
        clientgui/
            DlgDialupCredentials.cpp, .h (Removed)
    
    David  26 June 2006
        - API: removed boinc_using_cpu() and boinc_not_using_cpu().
            The client's CPU scheduler doesn't support apps
            switching back and forth, and is unlikely to in the near future.
            So it's misleading to have it in the API.
        - API/core client: added APP_INIT_DATA::resource_share_fraction.
            This tells an application its resource share relative
            to runnable projects (0..1).
        - core client: removed ACTIVE_TASK::non_cpu_intensive.
    
        api/
            boinc_api.C,h
        client/
            app.C,h
            app_control.C
            app_start.C
            cpu_sched.C
        lib/
            app_ipc.C,h
    
    Walt   26 June 2006
        - Remove references to deprecated files DlgDialupCredentials.cpp, h.
        
        clientgui/
            BOINCDialupManager.cpp
            Makefile.am
        win_build
            boincmgr_curl.vcproj
    
    David  26 June 2006
        - Propagate application "user friendly name"
            through scheduler RPC,
            into client state,
            and through GUI RPC to Manager
    
        client/
            client_types.C,h
            cs_files.C
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
        sched/
            server_types.C
    
    David  26 June 2006
        - Add support for "project files".
            These are files that are downloaded to all clients
            attached to that project,
            but are not associated with an app version, WU or result.
            Example: graphics files for use by the BOINC Manager.
        - Scheduling server: look for "project_files.xml" in project dir.
            If found, include it verbatim in scheduler replies.
            Intended to describe "project files"
        - core client: parse list of project files in scheduler reply
            or client state file.
            Create corresponding FILE_INFO and FILE_REF.
            Write list to client state file.
            When a project file finishes downloading,
            create link file(s) for it.
    
        client/
            client_types.C,h
            cs_account.C
            cs_statefile.C
            scheduler_op.C
        sched/
            main.C,h
            server_types.C,h
    
    Charlie 27 June 2006
        - Mac sandbox:
            - Create wrapper "BOINC Installer" application, with installer 
              package inside its bundle.  Wrapper determines whether a logout 
              will be needed, sets installer package Info.plist file accordingly,
              and opens the package to launch the standard Mac installer.
              
        clientgui/
            mac/
                SetVersion.C
        mac_installer/
            Installer.cpp (new)
            PostInstall.cpp
            release_boinc.sh
            release_GridRepublic.sh
        mac_build/
            Installer-Info.plist
            PostInstall-Info.plist (new)
            boinc.xcodeproj/
                project.pbxproj
    
    
    David  27 June 2006
        - core client: debug 'project files" feature
        - core client: bad message on HTTP file-not-found
    
        client/
            client_state.C
            client_types.C
            cs_statefile.C
            file_xfer.C
    
    David  27 June 2006
        - core client: put stderr output in a CDATA block,
            so it doesn't break XML parsers if it has <
    
        client/
            client_state.C
            client_types.C
            proxy.C,h (removed)
    
    David  27 June 2006
        - Add new GUI RPC get_simple_gui_info(): returns list
            of projects and active results.
    
        client/
            client_state.h
            cs_statefile.C
            gui_rpc_server_ops.C
        lib/
            boinc_cmd.C
            gui_rpc_client.h
            gui_rpc_client_ops.C
            gui_rpc_client_print.C
    
    Charlie 27 June 2006
        - Mac: update XCode project for changed files.
        
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
                    
    Rom    27 June 2006
        - Enable the Simple GUI only if the define SIMPLEGUI exists.
        
        clientgui/
            AdvancedFrame.cpp
            BOINCGUIApp.cpp, .h
            
    Charlie 27 June 2006
        - Mac: Changes to compile Simple GUI.  (Mac and Linux 
            do not support colored backgrounds in menu items.)
        
        clientgui/
            BOINCGUIApp.cpp
            sg_StatImageLoader.cpp
            mac/
                MacSysMenu.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  27 June 2006
        - CPU sched fix (minutes*60)
            From John McLeod
    
        client/
            cpu_sched.C
    
    David  27 June 2006
        - don't print errors for gethostbyname() failure
    
        client/
            hostinfo_network.C
    
    Charlie 27 June 2006
        - Create branch boinc_core_release_5_6
    
    Charlie 28 June 2006
        - Mac: Documentation changes for Mac sandbox.
            - Fix bug in GR release script.
        
        doc/
            mac_build.html
        mac_build/
            HowToBuildBOINC_XCode.rtf
        mac_installer/
            GR-ReadMe.rtf
            ReadMe.rtf
            release_GridRepublic.sh
    
    Rom    28 June 2006
        - Hook up the simple gui info rpc to the document and populate
            existing data structures.
        - Create build configurations for building the simple GUI since
            it is now turned off by default.
        - When clearing out a gui rpc result structure, make sure the
            pointers are nulled out.
            
        clientgui/
            MainDocument.cpp, .h
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
        win_build/
            boinc.sln
            boinc_cli_curl.vcproj
            boinc_dll.vcproj
            boinc_ss.vcproj
            boinccmd.vcproj
            boincmgr_curl.vcproj
            libboinc.vcproj
    
    David  28 June 2006
        - core client: remove the NET_XFER class.
            This represented a layer (asynch transfers to/from sockets)
            that doesn't exist anymore; Curl subsumes it.
            Anything still used in NET_XFER was moved to HTTP_OP.
            (from Carl Christensen)
    
        client/
            client_state.C,h
            cs_prefs.C
            http_curl.C,h
            net_stats.C,h
            net_xfer_curl.C,h (removed)
        win_build/
            boinc_cli_curl.vcproj
    
    David  28 June 2006
        - core client: fix Unix build, and mild code cleanup:
            - removed HTTP_OP::do_file_io, io_done, and io_ready
                (not used anymore)
            - removed unused values of HTTP_STATE_*
            - removed extern decls from main.C (include .h file instead!)
    
        client/
            Makefile.am
            http_curl.C,h
            main.C
    
    Rom    28 June 2006
        - Bug Fix: make sure the same frame is not initialized twice.
        
        clientgui/
            BOINCGUIApp.cpp
    
    Charlie 28 June 2006
        - Mac: Documentation changes for Mac sandbox.
            - Fix bug in GR release script.
        
        doc/
            mac_build.html
        mac_build/
            HowToBuildBOINC_XCode.rtf
        mac_installer/
            GR-ReadMe.rtf
            ReadMe.rtf
            release_GridRepublic.sh
    
    Charlie 29 June 2006
        - Mac: Mac sandbox fixes to run as non-admin user.
            - Set S_IXOTH permission for switcher application, 
                slot subdirectories, project subdirectories.
            - Add setprojectgrp helper application; use it instead 
                of chown to set files and directories to group 
                boinc_project.
        client/
            app_start.C
            check_security.C
            client_types.C
            file_names.C,h
            setprojectgrp.C (added)
            switcher.C
        mac_installer/
            release_boinc.sh
            release_GridRepublic.sh
        clientgui/
            mac/
                SetupSecurity.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  30 June 2006
        - fixes for Windows/cygwin compile
            (from Carlos Orellana)
    
        lib/
            crypt_prog.C
            filesys.C
    
    David  30 June 2006
        - core client: ACTIVE_TASK::supports_graphics():
            return false if process isn't executing.
            (prevent GUI from showing "show graphics" button
            for results with no process, or suspended process)
        - core client: on Windows command-line, when you close the window,
            quit_client() gets called,
            but control never returns to boinc_main_loop(),
            so gstate.quit_activities() (and other cleanup stuff) isn't called,
            so apps don't exit.
            If you then start the core client again in the next 30 sec,
            and exit quickly, another copy of apps gets started,
            which waits to acquire slot lock, then decides it's in
            standalone mode and opens a graphics window!  Very confusing.
    
            I fixed this by moving all the cleanup code to a separate functions
            (finalize()) and calling this directly from quit_client().
    
            By the way, why is main.C such a toxic waste dump?
    
        client/
            app_graphics.C
            main.C
    
    David  30 June 2006
        - message tweaks
    
        client/
            app.h
            client_state.C
            scheduler_op.C
    
    Charlie 30 June 2006
        - Mac: Mac sandbox fixes:
            - Set, check nested slot and project directory permissions 
                recursively.
            - Make Switcher directory non-writable.
            - Update security documentation.
            - better handling of locale directories.
            - boinc_mkdir makes directories world-executable.
        - Bump version to 5.5.5 for release to alpha test.
        
        version.h
        client/
            check_security.C
            client_types.C
            file_names.C
         clientgui/
            mac/
                SetupSecurity.cpp
        doc/
            sandbox.php
        lib/
            filesys.C
    
    Charlie 1 July 2006 (branch boinc_core_release_5_6)
        - Tag for 5.5.5 release, Macinitosh with sandbox only
          boinc_core_release_5_5_5
    
    David  1 July 2006
        - user web: moved forum-related email functions to a new file;
            small bug fixes in forum moderation code
        - changed db/schema.sql to match new forum code
        - user web: html/project/project.inc must now have
            define("FORUM_MODERATION_EMAIL_USER_ID", "N")
            to specify who reports get sent to
            (the ID of an existing account)
    
        db/
            schema.sql
        html/
            inc/
                email.inc
                forum_email.inc (new)
            user/
                edit_forum_preferences_form.php
                forum_moderate_post_action.php
                forum_moderate_thread_action.php
                forum_post.php
                forum_reply.php
                forum_report_post.php
    
    David  2 July 2006
        - AMS RPC: fix bug that incorrectly removed people from their team
            (found by Willy de Zutter)
    
        html/user/
            am_set_info.php
    
    Charlie 3 July 2006
        - Mac: Mac sandbox: don't set S_ISUID bit for setprojectgrp helper 
            application.
            
        client/
            check_security.C
         clientgui/
            mac/
                SetupSecurity.cpp
        doc/
            sandbox.php
    
    Charlie 3 July 2006
        - Mac: Fix compile error (add #include <sys/socket.h>" to http_curl.C).
        - Fix compiler warning
        - Merge XCode project changes for suimple gui and for sandbox.
        
        client/
            http_curl.C
        clientgui/
            AdvancedFrame.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    Charlie 4 July 2006
        - Mac sandbox: Manager doesn't create BOINC Data directory if 
            it doesn't exist when using SANDBOX security.
            
        clientgui/
            BOINCGUIApp.cpp
            mac/
                SetupSecurity.cpp
    
    Rom    5 July 2006
        - Add Suspend a Disconnect icons to the taskbar for when the client is
            snoozing and disconnected.
        - Refreshed Simple GUI
            
        clientgui/
            AdvancedFrame.cpp
            BOINCBaseFrame.cpp
            BOINCGUIApp.cpp, .h
            BOINCTaskBar.cpp, .h
            sg_BoincSimpleGUI.cpp, .h
            sg_StatImageLoader.cpp, .h
        clientgui/res/
            boincdisconnect.xpm (Added)
            boincsnooze.xpm (Added)
        clientgui/res/templates/
            icondisconnect.ico (Added)
            iconsnooze.ico (Added)
    
    David  5 July 2006
        - server: added a PHP script for doing customized mass emails
            See http://boinc.berkeley.edu/mass_email.php
        - user web: project preferences: show privacy and venue items
            before project-specific preferences
    
        db/
            boinc_db.h
        html/
            inc/
                email.inc
                prefs.inc
            ops/
                mass_email_script.php (new)
            user/
                opt_out.php (new)
                prefs.php
                prefs_edit_form.php
                
    Rom    5 July 2006
        - Bug fixes to previous check-in and code cleanup.
    
        clientgui/
            AdvancedFrame.cpp
            BOINCTaskBar.cpp, .h
    
    David  5 July 2006
        - core client: fix bug where we write past the end of
            benchmark_desc array if ncpus increases
            (from Don Mullis)
    
        client/
            cs_benchmark.C
    
    Charlie 6 July 2006
        - Mac sandbox: boinc_delete_file(), clean_out_dir(),  boinc_rmdir () 
            all call remove_project_owned_file_or_dir() which uses switcher
            helper application to remove subdirectories created & owned by 
            projects.
        - Add License (GPL) to source files where missing.
    
        client/
            check_security.C
            file_names.C,h
            setprojectgrp.C
            switcher.C
        lib/
            filesys.C,h
        mac_installer/
            release_boinc.sh
            release_GridRepublic.sh
    
    Charlie 6 July 2006
        Mac: integrate task tray icon changes, fix compile errors.
        
        clientgui/
            BOINCGUIApp.cpp
            BOINCTaskBar.cpp,h
            mac/
                MacSysMenu.cpp,h
    
    David  6 July 2006
        - server: added new result outcome CLIENT_DETACHED.
            When we get an RPC suggesting that the client
            has detached and reattached,
            we set its results to OVER and CLIENT_DETACHED.
            Results in this state are generally treated the same as NO_REPLY.
        - updated PHP functions to include the above;
            got rid of redundant functions
    
        db/
            boinc_db.h
        html/inc/
            db_ops.inc
            result.inc
        sched/
            handle_request.C
            transitioner.C
    
    David  6 July 2006
        - core client: use fcntl() instead of lockf() or flock() to lock files.
            It's POSIX, hence more portable.
            (from Bruce Allen)
    
        configure.ac
        lib/
            filesys.C
    
    David  6 July 2006
        - user web: in "allow email" form, show source address of emails
            so users can let them through spam filter
    
        html/inc/
            prefs.inc
    
    Rom    7 July 2006
        - Only display the suspended icon in the taskbar if the activity runmode
            is set to never.
            
        clientgui/
            BOINCTaskBar.cpp
    
    David  7 July 2006
        - tweaks and typos
    
        client/
            http_curl.C,h
            scheduler_op.C
        lib/
            gui_rpc_client.C
        py/Boinc/
            setup_project.py
        sched/
            sched_array.C
        sea/
            make-sea.sh
    
    David  9 July 2006
        - core client: improved log message for debts
    
        client/
            cpu_sched.C
    
    David  9 July 2006
        - core client: improve "RPC succeeded" message
    
        client/
            cs_scheduler.C
            scheduler_op.C
    
    David  9 July 2006
        - core client: instead of calling compute_work_requests()
            every 5 seconds (in scheduler_rpc_poll()),
            call it at startup, and thereafter every 10 minutes or
            whenever something happens that could change work requests.
            (from John McLeod)
    
        client/
            client_state.C,h
            cpu_sched.C
            cs_apps.C
            cs_scheduler.C
            gui_rpc_server_ops.C
            scheduler_op.C
    
    David  9 July 2006
        - core client: keep track of the "outages"
            (periods when BOINC hasn't run) in the last 60 days.
            This will be used in the work fetch policy.
            (from John McLeod)
    
        client
            time_stats.C,h
    
    Matt 10 July 2006
    
        I did this already once, but for some reason the code got lost, so..
        - User web:
            - If the flag <no_forum_rating/> is in config.xml,
                the rating +/- links don't show up under posts.
            - check in forum_rate.php to do the same check
                (and make sure people are trying to sneakily downrate posts
                without using the +/- links).
    
        html/user
           forum_rate.php
        html/inc
           forum.inc
    
    David  11 July 2006
        - Feeder: an option so that apps have a "weight" (floating-pt)
            that determines the proportions of work items inserted by the feeder.
            I.e. if app 1 has weight .5 and app 2 has weight 1.5,
            then we'll send 3 times as many results for app 2 as app 1
        - Feeder/scheduler: add an option "-reliable N":
            This tags work items whose workunits are older than N days
            as "need_reliable",
            so that the scheduler can try to send them to "reliable" hosts
            (those with expavg_credit > 70)
            In no case send a "need_reliable" result to a host
            with zero total credit.
        - Feeder, with homogeneous redundancy:
            when add a result with a sibling that's already sent
            (or on a collision, if we learn that this is the case)
            increment its infeasible_count.
            This causes it to be sent quicker.
            It's better to have the array full of results
            that are not already committed to a platform.
        - validator: add -sleep_interval cmdline arg
        - Add TRANSITIONER_ITEM::res_received_time
            (Nothing currently uses this - should we remove??)
    
        NOTE: this update requires a database change: see html/ops/db_update.php
    
        (from Kevin Reed)
    
        db/
            boinc_db.C,h
            schema.sql
        html/ops/
            db_update.php
        sched/
            feeder.C
            sched_array.C
            sched_send.C
            sched_shmem.C,h
            server_types.h
            show_shmem.C
            validator.C
    
    David  11 July 2006
        - core client: fix bug where the first log flag in the
            list was getting skipped over.
            This was due to a design flaw in the new XML parsing code.
            To work around this, I changed the format of
            the cc_config.xml file so that options are
            enclosed in <options> ... </options>
    
        client/
            app.C
            cs_statefile.C
            log_flags.C,h
        lib/
            parse.C
    
    Milos  11 July 2006
        - Simple GUI Refresh
        
        clientgui/
            sg_BoincSimpleGUI.cpp, .h
            sg_DlgPreferences.cpp, .h
            sg_ImageLoader.cpp, .h
            sg_SkinClass.cpp, .h
            sg_StatImageLoader.cpp, .h
            sg_ViewTabPage.cpp, .h (Added)
    
    David  11 July 2006
        - core client, Windows: don't call finalize() in quit_client();
            quit_client() is run in a different thread, apparently,
            and we can't safely do anything in that thread.
            Instead, have it set a flag telling the main thread to exit,
            then do a sleep loop until the main thread has exited.
            (Windows... you gotta love it).
    
        client/
            main.C
    
    Rom    12 July 2006
        - Bug Fix: Remove extra waiting loop for Win9x based platforms
            when shutting down a console window now that quit_client()
            does the waiting.
            
        client/
            main.C
    
    David  12 July 2006
        - core client: fix bug where sym links for project files
            weren't getting written (missing fclose())
        - core client: fix crash on project detach
            (PROJECT object was being referenced after it was deleted)
    
        client/
            client_types.C
            gui_rpc_server_ops.C
    
    David  12 July 2006
        - added a linux makefile for core client
    
        client/
            Makefile.linux (new)
    
    David  12 July 2006
        - core client: fix bug that disabled work fetch
            (from John McLeod)
    
        client/
            cs_scheduler.C
    
    David  12 July 2006
        - core client: work-fetch bug fixes
            (from John McLeod)
    
        client/
            Makefile.linux
            client_state.C,h
            cpu_sched.C
            cs_apps.C
            cs_scheduler.C
    
    David  13 July 2006
        - core client: adjust_debts() returns if elapsed time < 1
    
        client/
            cpu_sched.C
    
    David  13 July 2006
        - Change mass email script so that files are in html/ops/mass_email/,
            and HTML files are optional
        - compile fix
    
        html/ops/
            mass_email_script.php
        lib/
            filesys.h
    
    David  13 July 2006
        - server: add script for doing "email reminders"
            to failed and lapsed user.
        - core client: fix bug where, if cc_config.xml is present
            but doesn't specify save_stats_days,
            it's zero (rather than the correct default of 30).
        - user web: remove SETI@home-specific text from translate.php
    
        client/
            log_flags.C
        html/
            ops/
                remind.php
            user/
                translate.php
    
    David  14 July 2006
        - core client: clean up related to host venue and project preferences.
            Old: store host venue in account file,
                and use it when parsing account file
                to get the right venue-specific prefs.
                This is bad because the account file is not
                supposed to containt host-specific info,
                and the venue is host-specific.
            New: venue is stored in client state file, as part of project.
                On initial parse of account file, <venue> elements are skipped.
                Later, after client state file has been read,
                account files projects with non-empty host_venue
                are read again, this time looking for the selected
                <venue> element and ignoring the rest.
            Has this fixed any bugs?  Maybe yes, maybe no.
            But the logic is simpler now.
    
        client/
            client_state.C,h
            client_types.C,h
            cs_account.C
            cs_scheduler.C
    
    David  17 July 2006
        - core client: close GUI RPC listening socket on exit
    
        client/
            client_state.C
            cs_apps.C
            gui_rpc_server.C,h
        sched/
            trickle_handler.C
    
    David  17 July 2006
        - moved stuff related to network status out of CLIENT_STATE
            and into a new class, NET_STATUS.
            
        client/
            acct_setup.C
            client_state.C,h
            cs_account.C
            cs_scheduler.C
            gui_rpc_server_ops.C
            http_curl.C
            net_stats.C,h
            pers_file_xfer.C
            scheduler_ops.C
        lib/
            app_ipc.C
    
    Charlie 17 July 2006
        - Fix lost changes from July 3 merge of simple gui and sandbox XCode projects.
        
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  17 July 2006
        - added function url_to_project_dir() in lib/ (for manager)
        - moved escape_project_url() from client/ to lib/
    
        client/
            file_names.C,h
        lib/
            app_ipc.h
            util.C,h
    
    Charlie 17 July 2006
        - Mac: Disable "Show Graphics" button and screensaver graphics when 
            client running as a daemon (bug 119); show warning dialog if user 
            presses "Show Graphics" button during remote RPC (bug 517).
        - Mac: client sets gstate.executing_as_daemon if real user ID == 0 
            (i.e., if launched by root).  (Effective uid is boinc_master.)
        - Added SS_STATUS_DAEMONALLOWSNOGRAPHICS for daemon case; Mac 
            screensaver shows different message for daemon case.
        
        client/
            client_state.C
            main.C
            ss_logic.C,h
        clientgui/
            ViewWork.cpp
            /mac/
                mac_saver_module.cpp
        lib/
            gui_rpc_client.h
    
    Charlie 18 July 2006
        - Mac: If /Library/StartupItems/boinc/boinc is present to run Client 
            as a daemon, Manager waits up to 10 seconds for daemon to launch.
            - Improve shell script for setting up Mac to run BOINC Client as 
                a daemon: add support for stop function.
        
        clientgui/
            BOINCGUIApp.cpp
        mac_build/
            Make_BOINC_Service.sh
    
    David  18 July 2006
        - admin web: removed links to update_*.php scripts.
            These should be run as periodic tasks.
            Also, they are intended to run as the admin user, not as Apache.
    
        html/
            inc/
                stats_sites.inc
            ops/
                index.php
    
    David  18 July 2006
        - added scripts to convert to and from the ownership/protection
            used by the new sandboxing system (Unix)
    
        sea/
            insecure.sh
            secure.sh
    
    Charlie 18 July 2006
        - If bind fails, display errno on non_Win32 systems instead of -1.
        
        client/
            gui_rpc_server.C
    
    Charlie 19 July 2006
        -Mac: PostInstall.app repeatedly attempts to bind to BOINC RPC socket 
            address as user boinc_master until the address becomes available, 
            so BOINC Client will run properly when launched after installation.
            - Fix XCode project script phases which were copying wrong info.plist 
                files into PostInstall.app.
            - If creating users and/or groups on OS < 10.3.9, installer requires 
                a system restart.
    
        mac_installer/
            Installer.cpp
            PostInstall.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  19 July 2006
        - make test_uc.py work again:
            - request work fetch when master URL fetch completed
            - set CGI and file upload handler debugging mode in test
            - use cc_config.xml instead of log_flags.xml
            - use min_sendwork_interval = 0 if test
        - added some work fetch messages
        - core client: only do "platform change" logic
            if there was an original platform
    
        client/
            client_state.C
            cs_scheduler.C
            scheduler_op.C
        py/Boinc/
            setup_project.py
        test/
            cc_config.xml (new)
            log_flags.xml (removed)
            testbase.py
    
    Charlie 20 July 2006
        - Mac: Reverse change of 8 May 2006: remove mouse_move() routine and callback 
            glutPassiveMotionFunc(mouse_move).  This did not help screensaver on OS 
            10.3.x Macs respond to mouse moves, but did cause a confilct with Wacom 
            tablet drivers (screensaver graphics quit immediately on starting.)
            
        api/
            x_opengl.C
    
    Bruce 20 July 2006
        - On-line scheduler logs (readable by project participants): increase the
          efficiency of the script that produces these log files by eliminating
          un-necessary grepping of cgi.log.0
    
        tools/
            makelog.sh
    
    David  20 July 2006
        - Added sample files for mass emails and reminder emails
    
        html/ops/
            mass_email_script.php
            remind.php
            mass_email/
                sample_current_html
                sample_current_subject
                sample_current_text
                sample_failed_html
                sample_failed_subject
                sample_failed_text
                sample_lapsed_html
                sample_lapsed_subject
                sample_lapsed_text
            remind_email/
                sample_failed_html
                sample_failed_subject
                sample_failed_text
                sample_lapsed_html
                sample_lapsed_subject
                sample_lapsed_text
    
    David  20 July 2006
        - core client: added "app_msg_debug" log flag.
            Shows you shared-memory messages from apps
    
        client/
            app_control.C
            log_flags.C,h
    
    David  20 July 2006
        - core client: fix crash if client state file has
            <project_files> for a project with no account file.
            Also shuffled logic of state file parsing to reduce indentation
    
        client/
            cs_statefile.C
    
    David  20 July 2006
        - core client: fix crash if use <guirpc_debug/> flag,
            and some GUI RPC reply is long (> 8K chars)
    
        client/
            gui_rpc_server_ops.C
    
    Rom    20 July 2006
        - Fix build break in the simple GUI when building for the Mac.  Using itoa
            is overkill anyway.
            
        clientgui/
            sg_ViewTabPage.cpp
    
    Rom    20 July 2006
        - Enabled all warnings for the Visual Studio compiler.  It currently displayes
            200 warning across the BOINC client package.
            
        win_build/
            boinc_cli_curl.vcproj
            boinc_dll.vcproj
            boinc_ss.vcproj
            boinccmd.vcproj
            boincmgr_curl.vcproj
            libboinc.vcproj
    
    Charlie 21 July 2006
        -Mac: Update HEAD branch XCode Project to include seven new files for Simple 
            GUI.
    
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    Rom    21 July 2006
        - Change document work function prototypes to be view agnostic.
        - Fix numerious warnings in the manager. Down to 50 from 120.
        
        clientgui/
            AccountInfoPage.cpp
            AccountKeyPage.cpp
            AccountManagerInfoPage.cpp
            AccountManagerProcessingPage.cpp
            AccountManagerPropertiesPage.cpp
            AdvancedFrame.cpp
            AlreadyAttachedPage.cpp
            AlreadyExistsPage.cpp
            BOINCBaseFrame.cpp
            BOINCBaseWizard.cpp
            BOINCGUIApp.cpp
            BOINCTaskBar.cpp
            CompletionErrorPage.cpp
            CompletionPage.cpp
            DlgSelectComputer.cpp
            MainDocument.cpp, .h
            NoInternetConnectionPage.cpp
            NotDetectedPage.cpp
            NotFoundPage.cpp
            ProjectInfoPage.cpp
            ProjectProcessingPage.cpp
            ProjectPropertiesPage.cpp
            ProxyInfoPage.cpp
            ProxyPage.cpp
            sg_BoincSimpleGUI.cpp
            sg_DlgPreferences.cpp
            sg_ImageLoader.cpp
            sg_StatImageLoader.cpp
            sg_ViewTabPage.cpp, .h
            UnavailablePage.cpp
            ValidateURL.cpp
            ViewProjects.cpp
            ViewResources.cpp
            ViewTransfers.cpp
            ViewWork.cpp, .h
            WelcomePage.cpp
            WizardAccountManager.cpp
            WizardAttachProject.cpp
        lib/
            gui_rpc_client.C
    
    
    Rom    21 July 2006
        - Bug Fix for Linux: On some linux distro's a mime type database is detected and
            has an entry to a browser that isn't even installed on the system.  When a
            participant clicks on a link or button that would normally open a browser
            nothing happens.  Our message box isn't even displayed since an entry existed
            in the mime types database.
            
          Try to actually execute the browser commandline to determine if the mime type
            database is correct.  If that throws an error check to see if BROWSER is
            defined as an envitronment variable, since that is the next closest thing
            to a standard Linux has, and if that fails try firefox, mozilla, konqueror.
            
        clientgui/
            hyperlink.cpp
    
    Charlie 21 July 2006
        - Mac: Fix minor screensaver bugs from 17 July change.  If no graphics are 
            available, screensaver updates progress display egery 5 seconds instead 
            of every 15 seconds.
            - MacGLUTFix calls [myWindow setDocumentEdited: NO] to clear "unsaved" 
                indicator in graphics window close button (from Tim Wilson_Brown.)
            - Replace "exit" with "return" in shell scripts (from Tim Wilson_Brown.)
            
        api/
            macglutfix.m
        clientgui/
            /mac/
                mac_saver_module.cpp
        mac_build/
            buildWxMac.sh
            buildcurl.sh
            buildjpeg.sh
            setupForBOINC.sh
    
    Charlie 22 July 2006
        -Mac: Installer checks for a file nologinitems.txt in BOINC Data directory.  If 
            present, delete LoginItems for users listed in this file (one user name per 
            line), so that BOINC Manager won't launch automatically when these users 
            log in.  This is a tool for system administrators.
            
        mac_installer/
            Postinstall.cpp
    
    David  22 July 2006
        - core client (Win): remove quitRequestEvent (not used)
        - core client: ACTIVE_TASK::kill_task(): call cleanup_task()
            (to free shared mem) after killing process
    
        client/
            app.C
            app_control.C
            app_start.C
    
    David  22 July 2006
        - made the BOINC user survey (and potentially any
            page on the BOINC site) translatable
    
        doc/
            docutil.php
            poll.inc
            poll.php
            poll_data.inc
        html/inc
            translations.inc
        languages/translations/en.po (new)
    
    David  24 July 2006
        - poll translation fixes
    
        doc/
            poll_my_result.php (new)
        languages/translations/
            en.po
    
    Charlie 24 July 2006
        - Mac sandbox: don't set or require user boinc_master to be a member of group 
            boinc_project (i.e., do not add group boinc_project to user boinc_master's 
            supplementary groups list.)
    
        client/
            check_security.C
        clientgui/
            mac/
                SetupSecurity.cpp
        doc/
            sandbox.php
        mac_installer/
            Installer.cpp
    
    Charlie 24 July 2006
        - Mac: Overlay the Dock icon with Suspend and Disconnected icon badges to match 
            the system menu icon.  This method avoids the need to create separate 128X128 
            Suspend and Disconnected icons for each brand.
    
        clientgui/
            BOINCTaskBar.cpp
            res/
                macsnoozebadge.xpm (Added)
                macdisconnectbadge.xpm (Added)
    
    Rom    25 July 2006
        - Bug Fix: Mac compiler handles std::string a little differently than Windows.
        
        clientgui/
            sg_ViewTabPage.cpp
            ViewWork.cpp
    
    Rom    25 July 2006
        - Bug Fix: Reduce screensaver flicker by only updating the display every ten
            seconds.  I tried to use a double buffer, but for whatever reason it didn't
            actually help.  It might have had something to do with having three displays
            though.  In any case, once every ten seconds is fine.
            
        client/win/
            win_screensaver.cpp, .h
    
    Charlie 25 July 2006
        - Mac Sandbox: make most (but not all) files world-readable (needed for simple 
            gui, third-party add-ons, etc.)
        - Revise security diagram to clarify use of executable permission bits.
        - Minor code cleanup in PostInstal.cpp.
        
        clientgui/
            mac/
                SetupSecurity.cpp
        doc/
            sandbox.php
        mac_installer/
            Postinstall.cpp
    
    David  25 July 2006
        core client fixes:
        - fix bug where interrupted downloads failed with checksum error.
            This was because we were comparing the HTTP status with 200.
            But partial transfer success is 206.
            (bug was introduced in June 28 checkin)
        - on startup, make sure that all files that are
            supposed to be present actually are.
            Otherwise set status to NOT_PRESENT,
            so that they'll be downloaded again.
        - on reset, clear project_files and user_files vectors
        - project files: parse and save md5 checksum.
            Note: this is a placeholder;
            I'll change it to full FILE_INFO later.
    
        client/
            client_state.C,h
            client_types.C
            cs_files.C
            file_xfer.C
            http_curl.C
    
    David  25 July 2006
        - fixes to Linux sandbox scripts (from Charlie)
        - new translation files
        - user web: restore alphabetic order in country list
    
        html/inc/
            countries.inc
        languages/translations/
            *.po
        sea/
            insecure.sh
            secure.sh
    
    David  25 July 2006
        - core client and scheduler RPC:
            change the XML notation for project files.
            Instead of using a new and poorly-designed notation,
            just use the existing <file_info> and <file_ref> structures,
            and their associated parsing/writing code.
            See http://boinc.berkeley.edu/gui_urls.php
    
        client/
            client_types.C,h
            cs_account.C
            cs_files.C
            cs_scheduler.C
            cs_statefile.C
            scheduler_op.C
    
    David  25 July 2006
        - core client: when md5'ing a file, put the size in local var
            rather than into the FILE_INFO
    
        client/
            cs_files.C
    
    Charlie 25 July 2006 (HEAD)
        - Mac: Create separate targets for simple-gui and non-simple-gui Managers 
            so that we can build release versions from the Head branch.
    
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    Rom    25 July 2006 (HEAD)
        - Tag for 5.5.9 release, all platforms.
          boinc_core_release_5_5_9
    
    Charlie 26 July 2006 (HEAD - all changes tagged for boinc_core_release_5_5_9)
        - Don't add "Switch to Simple GUI" to File menu if SIMPLEGUI not defined.
        - In security shell scripts, added quotation marks and braces around variables 
            holding file names or paths for safety in case names contain spaces.  
        - Added GPL to security shell scripts.
        - Added recursive function to set executable permissions for nested directories.
        - In security shell scripts, display the directory when requesting confirmation.
            If BOINC Client is not found, assume it is the wrong directory and exit.  
            These safety features are needed because the script will do serious damage 
            to the system if the user forgot to cd to the correct directory.
        - Mac: Created shell scripts for setting up security in ssytems with 
            stand-alone BOINC Client (i.e., no Manager.)
            - Removed redundant line of code in SetupSecurity.cpp.
            
        clientgui/
            AdvancedFrame.cpp
            mac/
                SetupSecurity.cpp
            mac_build/
                Mac_SA_Insecure.sh (new)
                Mac_SA_Secure.sh (new)
        sea/
            insecure.sh
            secure.sh
    
    Charlie 26 July 2006
        - Mac: add options to daemon script for stand-alone client.
    
        mac_build/
            Make_BOINC_Service.sh
    
    Walt   26 July 2006
        - Fix clientgui compile on Linux
    
        clientgui/
            Makefile.am
            Makefile.linux.fedora
            Makefile.linux.suse
            Makefile.linux.ubuntu
    
    Charlie 27 July 2006
        - Mac: Mac_SA_Secure.sh script adds logged in user to groups boinc_master and 
            boinc_project.
        - New web page describing Macintosh system administrator tools; update  
            references from existing pages.
        
        clientgui/
            mac_build/
                Mac_SA_Insecure.sh
                Mac_SA_Secure.sh
        doc/
            mac_admin_tools.php (new)
            mac_advanced.php
            bare_core.php
            auto_start.php
    
    Charlie 28 July 2006
        - Sandbox: change #ifdefs so Manager and Client call check_security() for 
            all platforms if SANDBOX is enabled.  Check_security() should be 
            compatible with Linux and all UNIX, but Win32 may need different code.
        - Mac: Grid Republic release script uses clientgui/res/gridrepublic.icns 
            for application icon instead of client/mac/gridrepublic.icns (which 
            was a duplicate), in preparation for deleting the long-obsolete 
            client/mac/ directory from CVS.
    
        client/
            main.C
        clientgui/
            BOINCGUIApp.cpp
        mac_installer/
            release_GridRepublic.sh
    
    David  28 July 2006
        - core client: don't show scheduler version number if it wasn't returned.
        - user web: add support for 'friend-to-friend' emails
    
        client/
            cs_scheduler.C
            scheduler_op.C
        html/
            ops/ffmail/
                sample_html
                sample_subject
                sample_text
            user/
                ffmail_action.php
                ffmail_form.php
    
    David  28 July 2006
        - user web: tweak f2f email
        - forums: help desk is separate
    
        html/user/
            ffmail_action.php
            ffmail_form.php
            forum_index.php
    
    David  28 July 2006
        - core client: bug fixes for project file mechanism
            - clear project_file list before parsing it
            - set fip->is_project_file (otherwise link won't get created)
    
        client/
            client_types.C
            cs_trickle.C
    
    David  28 July 2006
        - f2f email: don't show form if project hasn't created a mail template
        - email tools: create email directories on project creation
    
        html/user/
            ffmail_form.php
        py/Boinc/
            setup_project.py
    
    David  29 July 2006
        - core client: limit backoff to 24 hours
    
        client/
            scheduler_op.h
    
    David  30 July 2006
        - core client: parse <no_delete/> in <file_info> elements
            (not relevant to client, but don't want error message)
    
        client/
            client_types.C
    
    Charlie 31 July 2006
        - Mac: use separate 8-bit mask for Dock badge anti-aliasing.
        
        clientgui/
            BOINCTaskBar.cpp
            res/
                macbadgemask.xpm (Added)
                macsnoozebadge.xpm
                macdisconnectbadge.xpm
    
    Bruce 31 July 2006
        - Documentation on <resend_lost_results>
    
        doc/
            project_options.php
    
    Charlie 1 Aug 2006
        - Sandbox: extend security to all UNIX and Linux platforms.  To 
            enable this feature, add the compiler flag -DSANDBOX and add 
            check_security.C to the source file list for both Manager and 
            Client.
        - Manager and Client both accept command-line argument -insecure 
            which runs without special boinc users and groups.  Both 
            Manager and Client check owners and permissions and refuse 
            to run unless they are set correctly for the selected secure 
            or insecure mode.  If Manager is called with -insecure, it 
            runs the Client with -insecure.
        - Added code to Mac_SA_Secure.sh and Mac_SA_Insecure.sh scripts.
        
        client/
            app_start.C
            check_security.C
            client_state.C
            client_types.C
            cs_cmdline.C
            file_names.C
            gui_rpc_server.C
            main.C
        clientgui/
            BOINCGUIApp.cpp,h
            MainDocument.cpp
            mac/
                Mac_GUI.cpp
                mac_saver_module.cpp
        lib/
            boinc_cmd.C
            filesys.C
            util.h
        mac_build/
            Mac_SA_Insecure.sh
            Mac_SA_Secure.sh
        mac_installer/
            PostInstall.cpp
    
    Rom    1 Aug 2006
        - Fix build breaks on Windows
        
        client/
            file_names.C
            main.C
        clientgui/
            BOINCGUIApp.C
        lib/
            boinc_cmd.C
            util.C
    
    Rom    1 Aug 2006
        - Bug Fix: Fix the code that recreates the taskbar icon if explorer dies.
        
        clientgui/msw/
            taskbarex.cpp
    
    David  1 Aug 2006
        - API: don't repeatedly call getrusage() in worker_signal_handler().
    
        api/
            boinc_api.C
    
    David  1 Aug 2006
        - forum fixes (from Eric Myers, Willy de Zutter)
    
        html/
            inc/
                forum.inc
                text_transform.inc
            languages/
                cs.po
                de.po
                ja.po
                lt.po
                ru.po
            user/
                white.css
    
    David  1 Aug 2006
        - forum fix: moderator can only edit their own posts
    
        html/
            inc/
                forum.inc
    
    Walt   1 Aug 2006
        - API: add support for freeGLUT
    
        api/
            x_opengl.C
    
    Charlie 1 Aug 2006
        - Mac sandbox: added Dev_noSandbox and Deploy_noSandbox build styles 
            to XCode project for testing ability to build without -DSANDBOX.
        - Mac sandbox: check_security() uses PersistentFGets() for better 
            reliability, deletes newline from path if present.
        - Fix compile errors in non-SANDBOX builds.
        - Remove unused variables (compiler warning) in x_opengl.C.
    
        api/
            x_opengl.C
        client/
            check_security.C
            client_state.C
        clientgui/
            mac/
                mac_saver_module.cpp
        lib/
            util.C
        mac_installer/
            PostInstall.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  2 Aug 2006
        - core client: fix CPU throttling mechanism.
            - Range is 0..100, not 0..1
            - ACTIVE_TASK::prempt(): don't set scheduler_state
                (that's not the job of this layer)
        - core client: fiddle with messages
            "task" should show you when results start and end
                (always 2 messages per result)
            "task_debug" shows every suspend/resume/checkpoint
            "cpu_sched_debug" shows the results selected by scheduler
            (more fiddling still needed)
    
        client/
            app_control.C
            app_start.C
            cpu_sched.C
            cs_prefs.C
        lib/
            prefs.C
    
    David  2 Aug 2006
        - Reminder email: checked in SETI@home examples,
            just to make things more concrete.
            Other projects had better change these before use,
            or they'll look fairly clueless.
        - core client: clarified meaning of "episode" in comments
    
        client/
            app.h
        html/ops/
            remind_email/*
    
    Rom    2 Aug 2006
        - Bug Fix: McAfee Internet Suite 8 now interjects McProxy.exe into the
            boincmgr.exe <-> boinc.exe communication stream.  Normally it wouldn't
            be a problem except that McProxy.exe automatically returns success for
            a connect request even if the target isn't available.  This lead the
            manager to believe that the CC had already been started.  We now do a
            simple get screensaver mode request which is not password protected to
            verify that boinc.exe is listening on the other end.
            
        clientgui/
            BOINCGUIApp.cpp
    
    David  2 Aug 2006
        - core client: attempted fix for benchmarks running right away
            and preventing contact to account manager for new users
    
        client/
            client_state.C
    
    David  2 Aug 2006
        - API: removed 3.1 second sleep on startup.
        - core client: fixed significant bug in CPU scheduler:
            was preempting apps too soon in some cases
            (from N. Hoffmann and J. McLeod)
    
        api/
            boinc_api.C
        client/
            client_state.h
            cpu_sched.C
            cs_apps.C
    
    Rom    2 Aug 2006
        - After successfully attaching to an account manager, display a balloon
            to reassure the participant that everything is fine.
    
        clientgui/
            AdvancedFrame.cpp
    
    David  3 Aug 2006
        - Don't run benchmarks at startup when user has <max_cpus>
            in global prefs override
    
        client/
            client_state.C,h
            cs_apps.C
    
    David  3 Aug 2006
        - make download page translatable (from Komori)
    
        doc/
            download.php
        languages/translation/
            en.po
    
    Rom    3 Aug 2006 (HEAD)
        - Tag for 5.5.10 release, all platforms
          boinc_core_release_5_5_10
    
    Rom    3 Aug 2006
        - Roll back which version of libCurl we use on Windows to 7.15.3.
        
          NOTE: We believe this will resolve some of the newly discovered
            crashing issues, we'll revisit using the newer libCurl after
            the new simple GUI is released.
            
        curl/mswin/x86/bin/
            libcurl.dll-7.15.4 (added)
            libcurl.pdb-7.15.4 (added)
            libcurl.dll
            libcurl.pdb
    
    David  4 Aug 2006
        - User web: direct forum links to the right BOINC Wiki address
    
        html/inc/
            text_transform.inc
    
    David  4 Aug 2006
        - core client: more log messages, and possible fix to
            CPU scheduling problem
    
        client/
            cpu_sched.C
    
    David  6 Aug 2006
        - core client: probable fix to CPU sched problems
            (from John McLeod)
    
        client/
            cpu_sched.C
    
    David  6 Aug 2006
        - renamed schedule_result() to get_task()
    
        client/
            client_state.h
            cpu_sched.C
            cs_apps.C
    
    David  6 Aug 2006
        - core client: enable graphics for an app if it's
            scheduler state is "scheduled"
            (rather than if it's actually running)
        - change project files to Visual Studio 2005 format
            (Rom: please check in 2003-format files with _2003.vcproj names)
    
        client/
            app_graphics.C
        win_build/
            boinc.sln
            boinc_cli_curl.vcproj
            boinc_dll.vcproj
            boinc_ss.vcproj
            boinccmd.vcproj
            boincmgr_curl.vcproj
            libboinc.vcproj
    
    David  6 Aug 2006
        - GUI RPC: get_activity_state() returns the reasons for suspension,
            not just flags (so that can show "throttle" messages)
    
        client/
            client_state.C,h
            gui_rpc_server_ops.C
        clientgui/
            MainDocument.cpp,h
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    David  6 Aug 2006
        - 2nd part of the above
    
        clientgui/
            BOINCTaskBar.cpp
            MainDocument.cpp
            ViewTransfers.cpp
            ViewWork.cpp
        lib/
            gui_rpc_client.h
    
    David  7 Aug 2006
        - Add GUI RPCs for reading and writing the general prefs override file.
            Note: these pass the raw XML, not a parsed structure;
            that's because only some of the prefs may be overridden.
            It's up to the GUI to decide what semantics to provide,
            i.e. how to mix local and web-based preferences.
            Probably the easiest approach is to make it "either/or",
            i.e. write all prefs to the override file,
            and provide a "user network prefs" checkbox in the GUI,
            which clears the override file.
    
        client/
            gui_rpc_server_ops.C
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    Rom    7 Aug 2006 (HEAD)
        - Tag for 5.5.11 release, all platforms
          boinc_core_release_5_5_11
    
    Walt   8 Aug 2006
        - Adjust messages so the text wraps inside the window
            instead of running off the edge.
    
        clientgui/
            AccountManagerInfoPage.cpp
            ProjectInfoPage.cpp
            WelcomePage.cpp
    
    David  8 Aug 2006
        - User web: add "banish" feature for message boards.
            Moderators can banish users for 2 weeks,
            during which time they can't post or rate.
    
        NOTE: this requires a database update.  See html/ops/db_update.php
    
        html/
            inc/
                forum.inc
                forum_email.inc
                forum_moderators.inc
                forum_user.inc
            ops/
                db_update.inc
            user/
                forum_moderate_post.php
                forum_moderate_post_action.php
                forum_post.php
                forum_reply.php
                forum_report_post.php
                moderation.php
                white.css
    
    David  8 Aug 2006
        - send email to user, not moderator
    
        html/
            inc/
                forum_email.inc
    
    David  8 Aug 2006
        - don't send <outage> elements in scheduler request.
            Too much text, and I don't think schedulers will ever
            need this level of detail (longest outage probably sufficient)
    
        client/
            time_stats.C
    
    David  8 Aug 2006
        - bug fix
    
        html/user/
            forum_moderate_post_action.php
    
    David  8 Aug 2006
        - core client: fix CPU scheduling but that would cause idle CPU
            after suspending a task
        - compile fix for VS2005
    
        api/
            gutil_text.C
        client/
            cpu_sched.C
    
    Walt   8 Aug 2006
        - Bugfix: On unicode builds on Linux,wasn't displaying project name
            when detaching from project.
    
        clientgui/
            ViewProjects.cpp
    
    David  9 Aug 2006
        - bug fixes in forum code
    
        html/
            inc/
                db_forum.inc
                forum_email.inc
                forum_forum.inc
                translation.inc
            user/
                forum_forum.php
                white.css
    
    David  9 Aug 2006
        - user web: "Change password" -> "Forgot password?" in login form
    
        html/inc/
            util.inc
    
    David  10 Aug 2006
        - add certificate authority bundle file to linux release
    
        client/
            cpu_sched.C
        sea/
            Makefile.am
    
    David  10 Aug 2006
        - core client: choose_version_num(): fix bug that could happen
            if two projects have app with same name
            (from Josef Segur)
    
        client/
            client_state.h
            cs_apps.C
            cs_scheduler.C
    
    Milos  10 Aug 2006
        - Updated Simple GUI code to reflect new design
        - Skins folder contains new images as well and also
          new skin.xml files
          
        clientgui/
            sg_*
    
    Walt   10 Aug 2006
        - Remove taskbar icon on Linux so the manager exits properly
          
        clientgui/
            BOINCGUIApp.cpp
    
    Walt   10 Aug 2006
        - Tag for 5.5.12 release, all platforms
          boinc_core_release_5_5_12
    
    David  10 Aug 2006
        - major revision of work-fetch policy;
            may fix bugs where client starves.
            Also an improved version of my 10/8 scheduler fix.
            (from John McLeod)
    
        client/
            app_control.C
            client_state.C
            client_types.C
            cpu_sched.C
            cs_apps.C
            cs_scheduler.C
            gui_rpc_server_ops.C
    
    David  11 Aug 2006
        - GUI RPC: add task and network suspend reasons to the
            structure returned by get_cc_status().
            Future items should be put in this structure
            rather than adding a new RPC.
    
            Old RPCs (network_status() and get_activity_state())
            have been left in to avoid breaking current add-ons.
            They have been marked as deprecated and will be removed 12/06.
        - Manager: if task is suspended, say why
    
        client/
            gui_rpc_server_ops.C
            net_stats.C
        clientgui/
            BOINCTaskBar.cpp
            MainDocument.cpp,h
            ViewTransfers.cpp
            ViewWork.cpp
        lib/
            error_numbers.h
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    Milos  11 Aug 2006    
        - Added suport for importing images from skin for Flat Notebook
          Added additional routine to check for Skin validity. Skin validity
          is also checked now when different skin choosen. If skin is not valid
          no skin will be changed.
        clientgui/
            sg_BoincSimpleGUI.cpp
            sg_ProjectsComponent.cpp
            sg_SkinClass.h    
        clientgui/common
            wxFlatNotebook.cpp
        clientgui/skins/default && WorldCommunityGrid
            skin.xml
    
    David 11 Aug 2006
        - GUI RPC: change things so most of the read-only RPCs
            don't require authorization for local access
    
        client/
            gui_rpc_server_ops.C
        lib/
            error_numbers.h
    
    Walt  11 Aug 2006
        - Bug fix: remove references to TaskBarIcon for Linux
            compiles. Should fix the SIGSEGVs that were reported.
    
        clientgui/
            AdvancedFrame.cpp
            BOINCGUIApp.h
    
    David  11 Aug 2006
        - DB: the type of forum_preferences.special_user
            was changed from integer to char(8) in db_update.php,
            but we forgot to make the same change in schema.sql.
            Fixed this (actually made it char(12) to allow expansion)
    
            Any projects created since Jan 2005: check the type of this field.
            If it's integer, change it to char(12) not null default ''.
            Otherwise your message-board moderation features won't work.
    
        - Show quotes correctly in profile text
        - fixes to admin web interface
        (from Christian Beer)
    
        db/
            schema.sql
        html/inc/
            db_ops.inc
            profile.inc
    
    Rom    13 Aug 2006
        - Fix thread creation failures on Win9x machines when applications
            are built with DevC++/MinGW. (From Josef W. Segur)
            
        api/
            boinc_api.C
        lib/
            diagnostics_win.C
    
    David  13 Aug 2006
        - User web: multi-column option for displaying venue-specific prefs
        - User web: value-checking on prefs
        (from Christian Beer)
    
        NOTE TO PROJECTS: if you deploy this code and use project-specific prefs,
        you'll have to modify your project_specific_prefs.inc
        to support the error-checking and multi-column features
    
        html/
            inc/
                prefs.inc
                prefs_col.inc (removed)
                translation.inc
                util.inc
            project.sample/
                project_specific_prefs.inc
            user/
                add_venue.php (new)
                add_venue_action.php (removed)
                add_venue_form.php (removed)
                prefs.php
                prefs_edit.php (new)
                prefs_edit_action.php (removed)
                prefs_edit_form.php (removed)
                prefs_remove.php
                white.css
    
    David  14 Aug 2006
        - GUI RPC: added new RPCs
            get_global_prefs_override_struct(GLOBAL_PREFS&) and
            set_global_prefs_override_struct(GLOBAL_PREFS&)
    
            Note: these are useful only when ALL prefs are being
            specified in the override file,
            as there's no provision for "undefined" values in the structs.
    
        html/inc/
            util.inc
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    Walt  14 Aug 2006
        - Fix compile errors on Linux
    
        clientgui/
            AdvancedFrame.cpp
    
    Rom    14 Aug 2006
        - Bug Fix: The application class should determine whether to show or hide a frame
            based on the parameters passed to the application.  Frames should not show
            or hide themselves without user interaction.
            
        clientgui/
            BOINCGUIApp.cpp
    
    Walt  14 Aug 2006
        - Bug fix: fix boincmgr so it exits when X on window is clicked
    
        clientgui/
            BOINCBaseFrame.cpp
    
    David  14 Aug 2006
        - user web: change build_uotd_page() to match the SETI@home convention
            (that verification=1 means it's a UOTD candidate)
            but let project define its own criteria.
        - user web: fix bug that caused errors in profile_screen_form.php
        - core client: removed unused functions set_work_fetch_mode()
            and should_get_work();
            renamed retval (???) to non_cpu_intensive_needs_work;
            show urgency as string instead of number;
            changed type of compute_work_requests() to bool
    
        client/
            client_state.h
            cs_scheduler.C
        html/
            inc/
                profile.inc
                uotd.inc
            ops/
                profile_screen_form.php
    
    David  14 Aug 2006
        - user web: on second thought:
            if <profile_screening>1</profile_screening> is in the config file,
            use the right queries for both screening and UOTD selection.
            Leave in the option for custom queries in both places.
    
        html/
            inc/
                uotd.inc
            ops/
                profile_screen_form.php
    
    Rom    14 Aug 2006
        - Tag for 5.5.13 release, all platforms
          boinc_core_release_5_5_13
    
    Charlie 15 Aug 2006
        - Fix compiler warnings.
        
        client/
            cpu_sched.C
            cs_scheduler.C
    
    David  15 Aug 2006
        - core client: removed <work_fetch_debug/> message
        - Manager: changed one wxDateTime to double (should change all)
    
        client/
            cs_scheduler.C
        clientgui/
            MainDocument.cpp,h
    
    Rom    15 Aug 2006
        - lib: Fix missing case for MIOFILE where MIOFILE.printf didn't know how
            to handle memory buffers.  It was calling vfprintf with a null file
            handle and crashed.
            
        lib/
            miofile.C
    
    Bruce  15 Aug 2006
        - scheduler: improved message to client for clarity
    
        sched/
            sched_locality.C
    
    Walt   15 Aug 2006
        - Bug fix: in Linux activity menu radio buttons worked as one group
            instead of the two groups defined.  Use wxMenu::Append for the
            separator instead of AppendSeparator.
    
        clientgui/
            AdvancedFrame.cpp
    
    David  15 Aug 2006
        - GUI RPC: tested and fixed bugs in the set_global_prefs_override()
            get_global_prefs_override(),
            set_global_prefs_override_struct() and
            get_global_prefs_override_struct() GUI RPCs.
            Sorry about that, Milos and Kevin!
        - Scheduler: added code that makes homogeneous redundancy
            work with Mac/Intel
            (which reports its p_vendor as 'i386' rather than 'Intel').
            Without this, Mac/Intels get "platform not supported'
            messages even if project has added platform and app_versions.
    
        client/
            gui_rpc_server_ops.C
        lib/
            boinc_cmd.C
            gui_rpc_client_ops.C
        sched/
            sched_hr.C
    
    David  16 Aug 2006
        - GUI RPC: set_global_prefs_override(): if arg is empty string,
            delete prefs override file
        - improved comments in CPU sched code
    
        client/
            cs_scheduler.C
            gui_rpc_server_ops.C
    
    Charlie 17 Aug 2006
        - Mac: Add support for hostinfo p_capabilities.  For PowerPC Macs. 
            this just sets the string to "AltiVec" if AltiVec available. 
            For Intel Macs, this is a string of multiple 3-character 
            values, including MMX, SSE, SSE2, SSE3 when supported.
        - Initialize glut_is_freeglut=false for Mac, to avoid warning 
                message to stderr from calling glutGet(GLUT_VERSION).
                
        api/
            x_opengl.C
        client/
            hostinfo_unix.C
            
    Milos 17 Aug 2006
        - changed the way wxFlatNotebook is initialized when there is no work present. 
          Added routing to intialize notebook to default values.Introduced Freeze()
          and Thaw() to avoid flicker and drawing in corner when noptebook initlaized 
        - Changed bg for preferences dialog for text to be more readable
          It also detect if we are using local or global preferences.
          
        clientgui/
            sg_BoincSimpleGUI.cpp,h
            sg_DlgPreferences.cpp,h
            sg_ProjectsComponent.cpp
    
    Rom    17 Aug 2006
        - Bug Fix: Keep both the global state and the updated tasks records in sync within
            the simple GUI.
            
        clientgui/
            MainDocument.cpp, .h
            sg_BoincSimpleGUI.cpp
    
    Charlie 17 Aug 2006
        -Mac: Fixed a bug in check_security() when ID of group boinc_master != ID of 
            user boinc_master.
        - Mac: XCode project sets S_ISUID and S_ISGID permission bits for stand-alone 
            client to aid in debugging.
        - Update obsolete screensaver test code in ss_logic.C.
        
        client/
            check_security.C
            ss_logic.C
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    Rom    18 Aug 2006
        - boincmgr - Add support for detecting an authenticator via a "Setup" cookie
            from the projects master URL.  With this, and the project_init.xml file
            specified for a customized installer will allow for a handsfree install
            scenario.
            
            project_init.xml just needs to contain the project name and master url, the
            website sets a cookie named "Setup" with the desired authenticator and
            a reasonable timeout, like 30 minutes, and the attach to project wizard will
            automatically attach to the project and get work.
            
            NOTE: This only works if the participant is using Internet Explorer.
            
        clientgui/
            ProjectProcessingPage.cpp
            WizardAttachProject.cpp, .h
        clientlib/win/
            AuthenticatorDetection.cpp, .h
            stdafx.h
        win_build/
            boinc_dll.vcproj
            boinc_dll_2003.vcproj
    
    Rom    18 Aug 2006
        - Initialize scratch scheduler/work fetch variables when PROJECT structs are
            created.
            
        client/
            client_types.C
            cs_scheduler.C
    
    Milos    18 Aug 2006
        - Added additional images to both skins. Main background has been changed 
          as well.(logos) Reading and writing to override global preferences
          enabled from Preferences dialog. Created new component ClientStateIndicator
          for showing state in gui. Split initiation in main class to workunit view
          and project view. Also added logic for showing state
        
        clientgui/
            sg_ViewTabPage.cpp,h
            sg_SkinClass.h
            sg_ProjectsComponent.cpp
            sg_DlgPreferences.cpp,h
            sg_ClientStateIndicator.cpp,h
            sg_BoincSimpleGUI.cpp,h
            
        client/skins/.../
            skin.xml
            
        client/skins/.../graphic
            conn_ind.png
            error_image.png
            state_ind_bg.png
            simplegui_bg.png
    
    Charlie 19 Aug 2006
        -Mac: Fixed a bug in setMacIcon() associated with sandbox security; 
            FSpSetFInfo() was getting a permission error trying to set the 
            kHasCustomIcon bit in the Finder flags, preventing the custom icon 
            from appearing.  Use FSSetCatalogInfo() instead of FSpSetFInfo() 
            as recommended by Apple (FSpSetFInfo is deprecated.)
            
        api/
            mac_icon.C
    
    David  20 Aug 2006
        - _autosetup: the check_version function doesn't
            correctly handle version strings that begins with 0,
            such as the pkg-config version 0.15.
            This is due to that checking if a value is a number
            it is assumed that the number is more than 0.
            check_version also assumes that 1.10 is lower than 1.9 since it does a
            string comparison.
            (from Egon Larsson)
    
        _autosetup
        html/inc/
            translation.inc
    
    Charlie 21 Aug 2006
        -Mac: Work around screensaver SETI@home crash bug seen on Intel Macs which 
            apparently occurs in GLUT destructors; use glutHideWindow() and 
            glutShowWindow() instead of glutDestroyWindow() and glutCreateWindow() 
            to close and open existing window.  This is similar to implementation 
            for FreeGLUT on Linux.
        - Mac: When closing graphics window, remember its size and position; restore 
            window's size and position after exiting screensaver, or if user closes 
            and reopens the window.  Presently implemented only for Mac, and retains 
            information only while application remains in memory.
        - Mac: Show window only after a successful call to throttled_app_render(); 
            this eliminates ugly flashes, especially when switching to MODE_WINDOW 
            from MODE_FULLSCREEN; also avoids momentary display of old image when 
            screensaver restarts which made image appear to "jump."  Presently 
            implemented only for Mac
            
        api/
            macglutfix.m
            x_opengl.C
    
    David  21 Aug 2006
        - Manager: make axis labels uniform in Statistics tab
            (from Mifistor)
    
        clientgui/
            ViewStatistics.cpp
    
    Rom    21 Aug 2006
        - Remove the suppression of the "Expect: 100 continue" in HTTP header.
            This bug fix from Ian Hay was originally to fix some proxy issues.
            We do not know which proxy issues it actually fixes, we are waiting
            on some follow-up from Ian.  In the mean time this should allow
            NTLM auth on an HTTP post operation.
            
        client/
            http_curl.C
    
    David  21 Aug 2006
        - server: check for benchmark weightings in 0..1
        - User and admin web: small fixes
    
        html/
            inc/
                db_ops.inc
            user/
                head_20.png (removed)
                img/
                    head_20.png (added)
        py/Boinc/
            setup_project.py
        sched/
            sched_config.C
    
    David  21 Aug 2006
        - new XML parser (class XML_PARSER).
            This replaces the one checked in May 24 2006, which had a design flaw.
    
            The new one parses XML of any structure and format;
            i.e. it works even if software other than BOINC generated the XML.
    
            Currently this is used only for parsing sched config file
            and client config file.
            TODO: use it everywhere.
            
        client/
            log_flags.C,h
        lib/
            parse.C,h
        sched/
            sched_config.C
    
    Janus  22 Aug 2006
        - Avatars now stay when users edit their forum preferences
        - Changed the Q&A pages to use the new search facility instead of Google 
            (unless ours doesn't find anything)
        - Added CVS auto tracking to some files
        - Improved visual layout of forum prefs page
        - If a user forgets to make a title for a post the post content is no longer
            simply deleted. Instead a warning is shown.
        - page_head and page_tail are now overridable
            (for easier integration with a non-BOINC environment)
        - Small set of HTML4.01 transitional fixes
        
        html/inc/
            util.inc
        html/user/
            edit_forum_preferences_form.php
            forum_post.php
            forum_help_desk.php
        
    
    David  22 Aug 2006
        - Manager: small simplification (from Mifistor)
    
        clientgui/
            ViewStatistics.cpp
    
    Rom    22 Aug 2006
        - Tag for 5.5.14 release, all platforms
          boinc_core_release_5_5_14
    
    David  22 Aug 2006
        - Core client: change variable names to conform to new terminology
            (see comment at top of cpu_sched.C):
    
            adjust_debts_last_time => debt_interval_start
            PROJECT::wall_cpu_time_this_period => wall_cpu_time_this_debt_interval
            total_wall_cpu_time_this_period
                => total_wall_cpu_time_this_debt_interval
            ACTIVE_TASK::cpu_time_at_last_sched => debt_interval_start_cpu_time
            ACTIVE_TASK::episode_start_wall_time => run_interval_start_wall_time
    
        client/
            app.C,h
            app_start.C
            client_state.C,h
            client_types.C,h
            cpu_sched.C
            cs_apps.C
    
    David  22 Aug 2006
        - change XML_PARSER to take a MIOFILE* instead of a FILE*.
            This allows it to be used anywhere in BOINC.
    
        client/
            log_flags.C
        lib/
            miofile.C,h
            parse.C,h
        sched/
            sched_config.C
        sea/
            insecure.sh
    
    Walt   22 Aug 2006
        - Manager: Add text to tooltips for buttons on statictics
                panel.  Linux version was showing a small empty box.
    
        clientgui/
            ViewStatistics.cpp
    
    Rom    22 Aug 2006
        - Bug Fix: Use InetnetGetCookie instead of InternetGetCookieEx so that we are
            backwards compatible with all Windows versions that are spported.
            
        clientlib/win/
            AuthenticatorDetection.cpp
            stdafx.h
    
    David  22 Aug 2006
        - Change new XML parser to prevent buffer overrun on string parsing
        - User web: fix bug in moving post from one thread to another
            (from David Kim)
    
        client/
            log_flags.C
        html/inc/
            forum_post.inc
        lib/
            parse.C,h
            prefs.C
        sched/
            sched_config.C
    
    Rom    22 Aug 2006
        - Tag for 5.5.15 release, all platforms
          boinc_core_release_5_5_15
    
    David  23 Aug 2006
        - removed "max_memory_nbytes, "proc_priority", "cpu_affinity",
            "run_minimized" and "run_on_startup" from global prefs;
            not used anywhere.
    
        client/
            cs_cmdline.C
        lib/
            boinc_cmd.C
            prefs.C,h
    
    David  23 Aug 2006
        - core client: various changes to the CPU scheduler, mostly to fix:
            1) on cold start (no projects), when attaching to 1st project,
                the client would do an RPC not asking for work,
                then would back off for 10 minutes
                (for SETI@home; this is a project param)
                until the next RPC, which would actually get work.
            2) On the 2nd RPC, the work fetch calculation would generate
                some INF#00s (due to divide by zero)
                and would end up requesting 1 second.
            Also, some code cleanup.
    
            - rr_simulation(): get rid of arguments.
                Always treat nearly runnable results as if they were runnable.
                The code was sort of doing this anyway
            - rr_simulation(): get rid of divide by zero.
                 If total resource share is zero,
                use 1 instead of p->resource_share/total resource share.
            - rr_simulation(): remove *ncpus from calculation
                of pbest->work_request
            - remove per_cpu_proc_rate arg from set_rrsim_proc_rate()
            - use project->get_project_name() instead of project->name
                 (works for brand-new projects also)
             
            - define function work_buf_min() so you don't have to type
                global_prefs.work_buf_min_days * SECONDS_PER_DAY all the time
            - define overall_cpu_frac() so you don't have to type
                time_stats.on_frac * blah blah
            GENERAL PRINCIPAL: if there's anything complex that appears
                repeatedly, make it a function!!
        - Win project file: remove base64.C, crypt.C
            (these are in libboinc)
    
        client/
            client_state.h
            client_types.h
            cpu_sched.C
            cs_scheduler.C
            log_flags.C
        win_build/
            boinc_cli_curl.vcproj
            
    Kevin  23 Aug 2006
        - Fixed various errors and reorganized code in the Simple GUI
        clientgui/
            sg_BoincSimpleGUI.cpp
            sg_BoincSimpleGUI.h
            sg_ClientStateIndicator.cpp
            sg_ClientStateIndicator.h
            sg_ProgressBar.cpp
            sg_ProjectsComponent.cpp
            sg_SkinClass.cpp
            sg_SkinClass.h
            sg_ViewTabPage.cpp
    
    Rom    23 Aug 2006
        - Remove the restriction where the simple gui RPC only returned active
            tasks.
    
        client/
            client_state.h
            cs_statefile.C
            gui_rpc_server_ops.C
    
    David  23 Aug 2006
        - user web: prefs fix
    
        html/inc/
            prefs.inc
            
    Kevin  24 Aug 2006
        - Enhancements to the simple gui
            -- Messages button will now alternate between black and red when alert messages have been recieved
            -- Additional client states are now shown when no work tabs are available such as 'downloading work'
        clientgui/
            MainDocument.cpp
            sg_BoincSimpleGUI.cpp
            sg_BoincSimpleGUI.h
            sg_ClientStateIndicator.cpp
            sg_ClientStateIndicator.h
            sg_ProjectsComponent.cpp
            sg_ProjectsComponent.h
            sg_SkinClass.cpp
            
    
    David  24 Aug 2006
        - Core client: change the sequence of events for first-time use,
            with the goal of not running CPU benchmarks until user
            has attached to project and started to run first result.
            Sequence is:
            1) manager requests get_project_config, polls until done
            2) manager calls lookup_account or create_account, polls until done
            3) manager calls project_attach.
                core client sets CPU specs to default values (1 GFLOPS),
                sets project work_request to 1 second,
                does scheduler RPC
            4) Manager poll finishes
            5) core client starts CPU benchmarks
    
            The above is enforced by:
            - only run benchmarks if there's a nontentative project
            - if RPC reason is INIT, set work_request to 1
            - after successful RPC, set work_request to zero
    
        - Core client: PROJECT::sched_rpc_pending is now an int
            that encodes the reason we need to do a sched RPC.
            The actual reason is now shown, not always "Requested by user".
    
        client/
            acct_mgr.C
            client_state.C,h
            client_types.C,h
            cs_account.C
            cs_benchmark.C
            cs_cmdline.C
            cs_scheduler.C
            gui_rpc_server_ops.C
            scheduler_op.C,h
    
    David  24 Aug 2006
        - core client: is cpu_sched_debug log flag is set,
            show messages when duration correction factor is changed
        - more detailed rr_simulation messages
        - on CPU benchmark completion, scale DCFs only if
            original benchmark is real (not 1 GFLOPS estimate)
    
        client/
            client_types.C
            cpu_sched.C
            cs_benchmark.C
            cs_scheduler.C
    
    Rom    24 Aug 2006
        - Tag for 5.5.16 release, all platforms
          boinc_core_release_5_5_16
    
    Charlie 25 Aug 2006 (HEAD - all changes tagged for boinc_core_release_5_5_16)
        - Mac: install ca-bundle.crt file in BOINC Data folder, and include it 
            with comman line distribution. 
            
        mac_installer/
            release_boinc.sh
            release_GridRepublic.sh
    
    Charlie 25 Aug 2006
        - Fix compiler warning.
        
        clientgui/
            MainDocument.cpp
            
    Kevin  25 Aug 2006
        - Enhancements to the simple gui
            -- Project icons that are downloaded after the BSG is started will be displayed when they become available
            -- Make sure that the first tab is the selected tab when the BSG is opened
            -- The 'currently running' indicator is now properly added and removed as different results are started and stopped
            -- The percent displayed now includes one decimal place
        clientgui/
            sg_BoincSimpleGUI.cpp
            sg_BoincSimpleGUI.h
            sg_ProjectsComponent.cpp
            sg_ProjectsComponent.h
            sg_StatImageLoader.cpp
            sg_StatImageLoader.h
            sg_ViewTabPage.cpp
            sg_ViewTabPage.h
    
    Charlie 26 Aug 2006
        -Mac: Add a comment; remove bogus Mac-only code from restart() 
            in x_opengl.C.
            
        api/
            x_opengl.C
    
    Janus  27 Aug 2006
        - show_user.php is now translation capable and uses the object 
        cache (when accessed throught the web frontend). This should fix 
        the issues where the page appears in another language than the 
        selected one.
        - Simplification: Now only allow people to do userid lookups using 
        the id of a user instead of the authenticator (when in XML mode 
        people can still use the authenticator)
        
        html/user/
        show_user.php
        
    Charlie 28 Aug 2006
        -Mac: Implement standard Mac shortcut command-W for closing main 
            Manager window (requires adding "Close Window" to File menu.)
        
        clientgui/
            AdvancedFrame.cpp,h
            Events.h
    
    David  28 Aug 2006
        - Detection of memory usage now works on Windows.
            You can find the amount of RAM (working set)
            and page file spaced used by each running BOINC app,
            and by all non-BOINC apps.
            Currently this isn't used for anything.
            If you set the <mem_usage_debug/> flag in cc_config.xml,
            it will print memory stats every 10 seconds.
    
            TODO: get this working for Linux/Mac
    
        client/
            app.C
            log_flags.C,h
        lib/
            procinfo.h
            procinfo_win.h
        win_build/
            boinc_cli_curl.vcproj
    
    Rom    28 Aug 2006
        - Bug Fix: Fix missing screensaver condition.
        - Bug Fix: Lookup project structure directly instead of looking up the
            project by way of the result.
            
        client/win/
            boinc_ss.h
            boinc_ss.rc
            win_screensaver.cpp, .h
        clientgui/
            ViewWork.cpp
    
    Rom    28 Aug 2006 (Forked from HEAD)
        - Branch boinc_core_release_5_6 created for the BOINC 5.6 client release.
    
    Charlie 28 Aug 2006 (HEAD and boinc_core_release_5_6_0 tag)
        - Mac: Clear S_ISUID and S_ISGID permission bits from standalone Client 
            when releasing, to eliminate warning when users try to copy it.  
            End users of standalone Client need to run Mac_SA_Secure.sh script, 
            which will set these bits.
        - Fix compile error for non_windows systems (calls to proc_info*)
            
        mac_installer/
            release_boinc.sh
            release_GridRepublic.sh
        client/
            app.C
    
    David  29 Aug 2006
        (all changes to core client)
        - fixed bug where, if a GUI_HTTP op failed
            (e.g. initial lookup of project)
            the HTTP op to the reference site would immediately fail
            because GUI_HTTP.state is not IDLE at this point.
            Instead, set a need_to_contact_reference_site flag,
            and start the op later when GUI_HTTP.state is IDLE.
        - more messages for http_debug log flag
        - changed net_xfer_debug to http_xfer_debug
        - added network_status_debug log flag
    
        client/
            http_curl.C
            log_flags.C,h
            net_stats.C,h
        lib/
            util.C,h
    
    David  29 Aug 2006
        core client:
        - replace have_tentative_project variable with a function
        - log message for project shortfall in no-result case
    
        client/
            client_state.C,h
            client_types.C
            cpu_sched.C
            cs_account.C
            cs_scheduler.C
            scheduler_op.C
    
    David  29 Aug 2006
        - lots more debug messages in RR simulator
        - fixed small bug in RR sim
            (last_active_size => last_project_active_size)
        - change meaning of time_debug log flag;
            it prints messages related to on_frac etc.
    
        client/
            cpu_sched.C
            log_flags.h
            time_stats.C
    
    Rom    29 Aug 2006
        - Bug Fix: Remove google and yahoo detection code from the wizard in the
            manager
        - Bug Fix: Remove network detection code the wizard in the manager by replacing
            it with the get_cc_status RPC.
        - Bug Fix: Clean up the parsing logic for the get_cc_status rpc.
        
        clientgui/
            ProjectPropertiesPage.cpp, .h
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    David  29 Aug
        - core client: CPU sched bug fix from JM7
    
        client/
            cpu_sched.C
    
    David  30 Aug 2006
        - core client: work fetch bug fix from JM7
    
        client/
            cs_scheduler.C
    
    Bruce 30 Aug 2006
        - ops pages, missing client state value
    
        html/
            inc/
                db_ops.inc
    
    Rom    31 Aug 2006
        - Bug Fix: Be sure to clear the PROJECT_CONFIG structure before reuse.  Not
            all elements in the project config xml are required.
        - Bug Fix: Re-enable needed controls when account creation goes from disabled
            to enabled because of a project URL change.
            
        clientgui/
            AccountInfoPage.cpp
            AccountManagerPropertiesPage.cpp
            ProjectPropertiesPage.cpp, .h
    
    David  31 Aug 2006
        - Manager: if project doesn't allow account creation, say so,
            and don't show yes/no radio buttons
            NOTE: it still doesn't work right if you try alpha first,
            and then cplan.
    
        clientgui/
            AccountInfoPage.cpp
    
    David  31 Aug 2006
        - GUI RPC: add a new exchange_versions() RPC to get core client version.
            Other RPCs no longer exchange version info.
            Client library still parses version info from get_state()
            so you can find version of clients that predate this change.
        - Core client: the http_op_retval is now always a BOINC (ERR_*) code
            (not, e.g. an HTTP status code)
            Specific errors are returned for DNS lookup failure,
            connection failure, and file not found.
            This is documented in http_curl.h
        - GUI RPCs that poll HTTP operation completion now return the above 
            error codes also.
    
        client/
            gui_rpc_server_ops.C
            httl_curl.C,h
        lib/
            error_numbers.h
            gui_rpc_client.C,h
            gui_rpc_client_ops.C
            util.C
    
    
    Walt   31 Aug 2006
        - Add process memory info for Linux.
    
        lib/
            procinfo_unix.C (new)
            Makefile.am
    
    Rom    31 Aug 2006
        - Bug Fix: You have to show controls that you previously hidden the last
            time the wizard page was viewed when one of the state variables change.
        - Deprecate <get_run_mode/> and <get_network_mode/> GUI RPC's as that 
            functionality has been rolled into <cc_status/>.  Update BOINC Manager
            in the dozen or so places that check the activity and network modes.
        
        client/
            gui_rpc_server_ops.C
        clientgui/
            AccountInfoPage.cpp
            AdvancedFrame.cpp
            BOINCTaskBar.cpp
            MainDocument.cpp, .h
            sg_ProjectsComponent.cpp
            ViewTransfers.cpp
            ViewWork.cpp
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    David  31 Aug 2006
        - Fix Makefiles so that "install" installs needed files
            (from Frank Thomas)
    
        Makefile/am
        client/
            gui_rpc_server.C
        lib/
            Makefile.am
    
    Rom    31 Aug 2006
        - Bug Fix: Only show password confirmation controls when the create account
            radio button is selected.
        - Hook up new return codes to the project and account manager wizards.
        
        clientgui/
            AccountInfoPage.cpp
            AccountManagerPropertiesPage.cpp, .h
            ProjectPropertiesPage.cpp
    
    David  31 Aug 2006
        - manager: say "choose password" only if user is picking new password.
            otherwise say "enter password".
        - manager: if user leaves email address blank,
            ask for email address, not account key
    
        clientgui/
            AccountInfoPage.cpp
    
    Walt   31 Aug 2006
        - Bug Fix: Need to close directory after reading it.
        - Enable <mem_usage_debug/> flag in Linux
    
        client
            app.C
        lib/
            procinfo_unix.C 
    
    Rom    31 Aug 2006
        - Bug Fix: Forcing a global state refresh now causes the client to update the
            state right then and there. This should fix the app version friendly name
            flicker problem.
            
        clientgui/
            MainDocument.cpp, .h
            sg_BoincSimpleGUI.cpp
            ViewWork.cpp
    
    Charlie 1 Sep 2006 (HEAD and boinc_core_release_5_6_1 tag)
        - Removed wxLogTrace call which crashes BOINC Manager on Mac. (The compiler 
            gave a warning about this statement.)
        - Mac: Minor fix to XCode build script: extract symbol table file only if 
            product has not already been stripped.
    
        clientgui/
            MainDocument.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  1 Sep 2006
        - Aargh!  A recent Manager bug (run-mode selection acting weird)
            was because the core client and the Manager had different
            #defines for always/auto/never:
            one used 0/1/2 and the other used 1/2/3.
    
            There were a number of accidents of this sort waiting to happen,
            i.e. the same #defines cut-and-pasted into 2 different files.
    
            To keep this from ever happening again,
            I added a new file (lib/common_defs.h) that includes
            all #defines and enums shared among different BOINC
            components (client/Manager, screensaver/client, client/server etc.).
            This replaces result_state.h.
    
            In principle error_numbers.h should be merged into this file
            but this would required too much editing so I didn't do it.
    
        - Linux compile fix
    
        client/
            app.h
            client_msgs.h
            client_state.C,h
            client_types.h
            cs_cmdline.C
            cs_prefs.C
            gui_rpc_server.h
            gui_rpc_server_ops.C
            http_curl.h
            log_flags.C
            main.C
            ss_logic.h
        clientgui/
            MainDocument.h
        lib/
            app_ipc.h
            boinc_cmd.C
            common_defs.h (new)
            error_numbers.h
            gui_rpc_client.C,h
            gui_rpc_client_ops.C
            procinfo_unix.C
            results_state.h (removed)
            util.C
        sched/
            server_types.h
    
    David  1 Sep 2006
        - Get things to compile on Win.
            The above fix seems to work.
    
        client/win/
            win_screensaver.cpp
        clientgui/
            ViewMessages.cpp
            sg_DlgMessages.cpp
            sg_ProjectsComponents.cpp
    
    David  1 Sep 2006
        - make scripts work with sh
    
        sea/
            insecure.sh
            secure.sh
    
    David  1 Sep 2006
        - Manager: in projects tab, show when an RPC is pending
            (and - added bonus - say why)
            Thanks to Paul (A.K.A. The Gas Giant)
            for not letting this slip through the cracks
    
            The problem: a while back I changed sched_rpc_request from bool to int
            in the client; neglected to change it in GUI RPC and Manager also
    
        client/
            acct_mgr.C
            cs_account.C
            cs_cmdline.C
            cs_scheduler.C
            gui_rpc_server_ops.C
            scheduler_ops.C,h
        clientgui/
            ViewProjects.cpp
        lib/
            common_defs.h
            gui_rpc_client.h
            gui_rpc_client_ops.C
            util.C,h
    
    Bruce 4 Sept 2006
        - Ops pages: modify to include new client state outcome (aborted)
    
        html/
            inc/
                db_ops.inc
    
    David  4 Sept 2006
        - core client: added a couple of rr_simulation messages
        - user web: removed SETI@home text from sample project.inc
    
        client/
            cpu_sched.C
            cs_scheduler.C
        html/project.sample/
            project.inc
        lib/
            app_ipc.C
            
    
    Charlie 5 Sep 2006
        - Mac changes for new common_defs.h, removed results_state.h.
    
        clientgui/
            mac/
                mac_saver_module.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  5 Sept 2006
        - change run-mode #defines to match old ones
    
        lib/
            common_defs.h
    
    David  5 Sept 2006
        - first pass at enforcing RAM limits:
            - if computer is in use (kbd/mouse input)
                BOINC will use at most half of RAM
                (i.e. it won't run a set of apps whose working set size
                exceeds RAM/2)
            _ if computer is not in use, BOINC will use at most all of RAM
                (it won't run a set of apps whose WSS exceeds RAM)
    
            This is pretty lame.  For example, in case 2 BOINC will
            run any set of programs, since by definitions their WSs
            all fit in RAM (they may be thrashing).
            So we need to do some thinking/experimenting.
        - Fix HTTP bug that affects 64-bit compiles
            (from Pav Lucistnik)
    
        api/
            boinc_api.C
        client/
            app.C,h
            app_control.C
            client_state.h
            cpu_sched.C
            cs_prefs.C
            http_curl.h
        html/user/
            show_user.php
    
    David  5 Sept 2006
        - don't print too-much-memory messages
        - compile fix
    
        client/
            app_control.C
        clientgui/
            ViewProjects.cpp
    
    Walt   5 Sept 2006
        - compile fix for Linux unicode build
    
        clientgui/
            ViewProjects.cpp
    
    David  6 Sept 2006
        - compile warning fix
    
        client/
            time_stats.C
    
    David  6 Sept 2006
        - Manager: if project allows account creation only on web site,
            show appropriate text in attach-project wizard
    
        clientgui/
            AccountInfoPage.cpp
    
    David  6 Sept 2006
        - Renamed html/user/get_project_config.php to sample_get_project_config.php
            this avoids overwriting a project-modified version.
        - Fixed the "parse_config" script.
    
        html/user/
            get_project_config.php
            sample_get_project_config.php
        py/Boinc/
            setup_project.py
        tools/
            parse_config
    
    David  6 Sept 2006
        - Web RPCs: clean up error returns.  All web RPCs now return
               <error>
                   <error_num>N</error_num>
                   <error_msg>xxx</error_msg>
               </error>
            in the case of an error.
            Both fields are always supplied,
            and in most cases they're both meaningful.
        - Web RPCs: make sure that return message is always XML.
            For example: if db_init() failed,
            we used to return an (HTML) error page.
            Instead: use db_init_xml() instead.
    
            Also, change get_str(), get_int() etc. so that
            if we're generating XML (i.e. if xml_header() has been called)
            an XML error is generated.
        - user web: check for the existence of ../project/donations.inc
            before trying to read it
    
        html/
            inc/
                forum_user.inc
                user.inc
                util.inc
                xml.inc
            user/
                am_get_info.php
                am_set_host_info.php
                am_set_info.php
                create_account.php
                create_team.php
                lookup_account.php
                show_user.php
                team_email_list.php
                team_lookup.php
            lib/
                error_numbers.h
    
    David  6 Sept 2006
        - core client: scheduling bug fix:
            the definitions of "nearly runnable" were slightly
            different for project and result.
            This could lead to a rare situation where rr_simulation()
            would generate huge cpu shortfalls.
            (from John McLeod)
    
        client/
            client_types.C,h
    
    David  7 Sept 2006
        - added program to test rr_simulation()
    
        client/
            rrsim_test.C
    
    David  7 Sept 2006
        - core client: print log flags at start of log
    
        client/
            client_state.C
            log_flags.C,h
    
    David  7 Sept 2006
        - core client: change log message writes to conform to docs.
            "task": write when app starts or finishes a result
                (i.e. two messages per result, period)
            "cpu_sched": write when core client starts,
                resumes, suspends, or quits an app
                (i.e. show the CPU scheduler's actions)
            "cpu_sched_debug": show the internal logic of the CPU scheduler
            "task_debug": show details of process birth and death
                (e.g. exit status, signals)
    
        client/
            app_control.C
            app_start.C
            cpu_sched.C
    
    David  7 Sept 2006
        - remove some (but not all) compile warnings on Win/VS
            (no functional changes)
    
        client/
            app.C
            app_control.C
            client_state.C
            client_types.C
            cpu_sched.C
            gui_rpc_server_ops.C
            http_curl.C
            log_flags.C
            main.C
        lib/
            filesys.C
            parse.C
    
    David  7 Sept 2006
        - core client: for debugging messages, include the name of
            the flag that enables the message.
            This makes the messages longer but should make then more usable
            when several flags are set.
    
        client/
            *.C
    
    David  8 Sept 2006
        - core client: frustrating attempt to get page fault rate on Windows.
            It turns out that the "page fault count" reported by Windows
            includes "soft" page faults that don't read from disk.
            A typical process gets hundreds or thousands of these per second.
            There doesn't seem to be a way to get a count
            of real page faults.
    
            In any case: I added PROCINFO to the ACTIVE_TASK structure,
            eliminating the need for the vm_nbytes and rss_bytes fields.
    
        Note: the reason I'm worrying about this is:
        suppose an OS defines a process's "working set"
        as the amount of RAM it currently has.
        Then all running apps will appear to fit in RAM,
        and our goal of avoiding thrashing will fail.
        I was looking at page fault rate as a way to get around this.
    
        However: I ran across a note that says that Windows
        defines "working set" as "the amount of memory needed
        for the process to run efficiently".
        If that's the case, we don't need to worry about page fault rate.
    
        client/
            app.C,h
            app_control.C
            cpu_sched.C
        lib/
            procinfo.h
            procinfo_win.C
        win_build/
            boinc_cli_curl.vcproj
    
    David  8 Sept 2006
        - Web RPCs: return correct error codes
    
        html/
            inc/
                xml.inc
            user/
                am_set_info.php
                create_account.php
                create_team.php
    
    David  8 Sept 2006
        - manager: if client_account_creation_disabled is set,
            don't go to the account key page.
            Everything related to account keys can now be
            removed from the manager.
        - manager: removed redundant text on User Information page
        - manager: don't refer to "Messages Tab" (or any other tab)
            in the wizard; don't exist in simple GUI
    
        clientgui/
            AccountInfoPage.cpp
            CompletionErrorPage.cpp
            ProjectPropertiesPage.cpp
            
    Kevin  8 Sept 2006
        - BSG: 
            - Resolved some remaining bugs that prevented display of project information for newly attached projects
            - The show graphics button will only be displayed when graphics can actually be displayed
            - Added additional states to explain why no work is running (ex: benchmarks running).
            - The drop down for project gui urls will now be updated when the list of GUI urls for the project become available
            - Detaching from a project no longer causes the app to minimize to the system tray
            
        clientgui/
            sg_BoincSimpleGUI.cpp
            sg_ClientStateIndicator.cpp
            sg_ClientStateIndicator.h
            sg_ImageButton.cpp
            sg_ImageButton.h
            sg_ProjectsComponent.cpp
            sg_ProjectsComponent.h
            sg_StatImageLoader.cpp
            sg_StatImageLoader.h
            sg_ViewTabPage.cpp
    
    David  8 Sept 2006
        - core client:
            fix the mechanism that allows network access for 5 minutes
            if it's needed to carry out a user-initiated GUI RPC
            (e.g. attaching to a project).
            This situation allows network access even if the
            user has set network mode to "never".
    
            Otherwise, if you try to attach to a project,
            the manager sits there for 60 seconds,
            then responds with "network failure" or something like that.
    
            I suppose another solution would be for the manager to
            notice that network is suspended,
            and not let you try to attach to a project.
            But this way is more user-friendly, I think.
    
            Renamed gui_rpcs.got_recent_rpc() to recent_rpc_needs_network();
            Renamed last_rpc_time to time_of_last_rpc_needing_network.
            Shuffled order of RPCs in gui_rpc_server_ops.C;
            this is critical to things working.
    
        - manager: check for ERR_DB_NOT_FOUND in return codes from web RPCs
        - manager: parse error message in ACCOUNT_OUT correctly
    
        client/
            client_state.C
            gui_rpc_server.C,h
            gui_rpc_server_ops.C
        clientgui/
            AccountManagerProcessingPage.cpp
            ProjectProcessingPage.cpp
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    David  8 Sept 2006
        - core client, Unix:
            change syslog() call so message is INFO rather than EMERGENCY
            (from Evandro Menezes)
    
        client/
            main.C
    
    David  8 Sept 2006
        - Manager: handle client_account_creation_disabled flag correctly
    
        clientgui/
            AccountInfoPage.cpp
    
    David  9 Sept 2006
        - Manager: make Statistics tab text translatable
    
        clientgui/
            ViewStatistics.cpp
    
    David  9 Sept 2006
        - XML parser: add function for parsing std::string
    
        lib/
            parse.C,h
    
    Bruce 10 Sept 2006
        - For computing and tracking a host's average credit/cpu_time I
          have inserted a new averaging function
          update_credit_per_cpu_sec() into lib/util.C.  This function
          should be called from validator.C, and then the value of
          credit_per_cpu_sec should be exported by db_dump.C in the
          host_id.gz stats file.
    
          David, Eric, if you could check the code and logic here I would
          be grateful. This is currently disabled in validator.C with
          a #ifdef macro.  I won't enable it until we've agreed on this.
    
        lib/
            util.C
            util.h
        sched/
            db_dump.C
            validator.C
    
    David  11 Sept 2006
        - core client: code to get mem usage should now work on all versions
            of Windows (it's a no-op on 9X, ME)
    
        lib/
            procinfo_win.C
    
    David  11 Sept 2006
        - API: fix bug in parsing global prefs.
            GLOBAL_PREFS::parse_override() was calling xp.parse_start(),
            which is wrong because in some cases
            (e.g. parsing app init data file)
            the start tag has already been parsed.
            Principle: only call xp.parse_start() if you're
            the function that actually opens the file.
        - convert parsing of global preferences to use new XML parser
        - core client: print error message if can't parse cc_config.xml
    
        client/
            cs_prefs.C
            log_flags.C
        lib/
            app_ipc.C
            gui_rpc_client_ops.C
            prefs.C,h
    
    David  11 Sept 2006
        - API bug fix
    
        lib/
            app_ipc.C
    
    David  11 Sept 2006
        - XML parser bug fix (from Urs Echternacht)
    
        lib/
            parse.C
    
    Rom    11 Sept 2006
        - Bug Fix: Keep one second disk writes from happening on the OnRender()
            function of the advanced frame.  GTK2 appears to emulate user activity
            when setting a control's state programtically which in turn causes
            the set_*_mode rpc functions which in turn causes the state file to
            be flagged as dirty.
            
        clientgui/
            AdvancedFrame.cpp, .h
            
    Kevin    12 Sept 2006
        - BSG
            - Modify skin.xml format to be more readable
            - Add additional check to a skin.xml file to ensure that it is valid before attempting to display
            
        clientgui/
            sg_SkinClass.cpp
     
    David  12 Sept 2006
        - Core client and account manager protocol:
            account manager replies can include a
            <opaque>
               ...
            </opaque>
            element.  It is stored in the acct_mgr_login.xml file,
            and returned verbatim in subsequent account manager RPCs.
            This is intended to allow account managers to send a
            string analogous to BOINC's account key,
            identifying the user and/or host on subsequent RPCs.
            This overrides the name/password, and allows RPCs to
            continue working even if the user changes name/password
            on the AMS site.
    
            NOTE: the contents of <opaque> are arbitrary XML.
            Can contain other elements, and can have newlines.
            Doing this required switching all AMS-related XML parsing
            to use the new XML parser.
            So now AMS replies don't have any XML formatting restrictions.
            Woo-hoo!
        - XML_PARSER: added element_contents() method to parse
            stuff that may contain tags (like <opaque>)
    
        client/
            acct_mgr.C,h
        lib/
            parse.C,h
    
    David  12 Sept 2006
        - user web: $n -> ITEMS_PER_PAGE
    
        html/user
            top_teams.php
            top_users.php
    
    David  12 Sept 2006
        bugs that affect newly-created projects:
    
        - remove outdated forum_sample_index.php (just use forum_index.php)
        - include util.inc in project.inc
        - create_forums.php is a script, not a web page
    
        html/
            ops/
                create_forums.php
            project.sample/
                project.inc
            user/
                forum_sample_index.php (removed)
        py/Boinc/
            setup_project.py
    
    Kevin    14 Sept 2006
        - BSG
            - Modify the way the the skin.xml is read and stored
            - Added a bit of trace logging
            - Modified the preferences dialogue so that changing the skin is a seperate action 
              from changing local settings
            - Fixed some bugs that were causing the BSG to crash
             
        clientgui/
            sg_BoincSimpleGUI.cpp
            sg_DlgPreferences.cpp/h
            sg_ProgressBar.cpp
            sg_ProjectsComponent.cpp
            sg_SkinClass.cpp/h
            sg_StaticLine.cpp/h
            
    Kevin    14 Sept 2006
        - BSG
            - Fixed issue with connection failure dialogue being repeatedly displayed
            - BSG now calls CBOINCBaseFrame::RestoreState() and CBOINCBaseFrame::SaveState()
             
        clientgui/
            sg_BoincSimpleGUI.cpp/h
    
    Walt   14 Sept 2006
        -Get page_fault_count for process in Linux
    
        lib/
            procinfo_unix.C
    
    Kevin    15 Sept 2006
        - BSG
            - Changed skin file so that most images are obtained from the skin class
             
        clientgui/
            sg_BoincSimpleGUI.cpp/h
            sg_ClientStateIndicator.cpp/h
            sg_DlgMessages.cpp/h
            sg_DlgPreferences.cpp/h
            sg_ImageButton.cpp/h
            sg_ImageLoader.cpp/h
            sg_ProgressBar.cpp/h
            sg_ProjectsComponent.cpp/h
            sg_SkinClass.cpp/h
            sg_StatImageLoader.cpp/h
            sg_ViewTabPage.cpp/h
         clientgui/common
             wxFlatNotebook.cpp/h
            
    Kevin    15 Sept 2006
        - BSG
            - Changed references to bitmaps to refer to the skin object
            - Fixed a bug that caused the BSG to crash when switching from Work Display -> No Work -> Work Display
             
        clientgui/
            sg_BoincSimpleGUI.cpp/h
            sg_ClientStateIndicator.cpp/h
            sg_DlgMessages.cpp/h
            sg_DlgPreferences.cpp/h
            sg_ProgressBar.cpp/h
            sg_ProjectsComponent.cpp/h
            sg_SkinClass.cpp/h
            sg_ViewTabPage.cpp/h
    
    Rom    17 Sept 2006
        - Clean up some of the dialup logic.
        - Make sure that only one dialog can be displayed at a time.
        
        clientgui/
            BOINCBaseFrame.cpp
            BOINCDialupManager.cpp, .h
    
    Walt   18 Sept 2006
        - Compile fixes for Linux
    
        clientgui/
            BOINCDialupManager.cpp
    
    David  18 Sept 2006
        - core client: bug in config file error message printfs
    
        client/
            log_flags.C
    
    Eric K    18 Sept 2006
        - Fixed stack corruption that occurs if stderr contains a c format 
          code.  Bug reported by Nicolas Alvarez.
    
        client/
            client_types.C
    
    Charlie 19 Sept 2006
        - Mac: Add process memory info for Mac, using a pipe to ps command.  
            Does not set the page_fault_count, user_time or kernel_time fields 
            in PROCINFO struct.  See comments in procinfo_mac.C for other 
            values of possible interest that are avaiable from ps command.
        - Fix compiler warning in http_curl.C.
    
        client/
            http_curl.C
        lib/
            procinfo_mac.C (new)
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  19 Sept 2006
        - update account-created email
        - user web: use $_POST instead of $_HTTP_POST_VARS.
            The latter doesn't work in PHP 5
            (from Christian Beer)
    
        html/
            inc/
                email.inc
            ops/
                make_fake_tables.php (removed)
                migrate_tables.php (removed)
                mungetest.php (removed)
            user/
                edit_forum_preferences_action.php
    
    David  19 Sept 2006
        - removed references to Janus' 'download network',
            which he's phasing out.
            Instead, just keep a list of addons in doc/addons.php
    
        html/
            inc/
                download.inc (removed)
                download_network.inc (removed)
            user/
                download_network.php (removed)
                sample_index.php
    
    Walt   20 Sept 2006
        - Bug fix: fix task status text when the manager connects to an
            older client that doesn't support <get_cc_status>.
    
        clientgui/
            ViewWork.cpp
    
    Charlie 21 Sept 2006
        - Mac: fix compiler warning.
        - Mac: Set PROCINFO user_time to cpu time from ps command; use rsz 
            instead of rss for working_set_size; set page_fault_count to 
            pagein value from ps command.  Unfortunately, none of these 
            selectors work correctly in OS X version of ps command: pagein, 
            majflt and minflt. 
        - Mac: modify release script to include these files in distribution: 
            switcher/switcher, switcher/setprojectgrp, Mac_SA_Secure.sh and 
            Mac_SA_Insecure.sh.
        - Mac: improvements to Mac_SA_Secure.sh, Mac_SA_Insecure.sh scripts.
    
        clientgui/
            BOINCDialupManager.cpp
        lib/
            procinfo_mac.C
        mac_installer/
            release_boinc.sh
        mac_build/
            Mac_SA_Insecure.sh
            Mac_SA_Secure.sh
    
    Charlie 25 Sept 2006
        - Mac: Use pipe to new helper application AppStats instead of 'ps' 
            command to get process info for project applications and their 
            descendants.  On OS X, most of this info is available only to 
            the super-user, so AppStats runs setuid root (as do 'ps' and 
            'top'.)  This allows us to completely fill in PROCINFO struct.
        - Mac: Also set host_info.m_swap in procinfo_setup(), because 
            sysctl(vm.vmmeter) doesn't work on OS X, so hostinfo_unix.C 
            function HOST_INFO::get_host_info() can't get total swap space. 
    
        client/
            app_stats_mac.C (new)
            check_security.C
            file_names.h
            hostinfo_unix.C
        clientgui/
            mac/
                SetupSecurity.cpp
        lib/
            procinfo_mac.C
        mac_installer/
            release_boinc.sh
            release_GridRepublic.sh
        mac_build/
            Mac_SA_Insecure.sh
            Mac_SA_Secure.sh
            boinc.xcodeproj/
                project.pbxproj
    
    David  25 Sept 2006
        - core client, Mac: if file ownership not secure, describe
            -insecure option in error message
    
        client/
            main.C
    
    David  25 Sept 2006
        - revise forum post rules to include 'kid friendly'
    
        html/inc/
            forum.inc
    
    Eric K 26 Sept 2006
        - new functions in util.[Ch]  remove_duplicate_words(char * or string &).
          removes duplicate words from a space or comma delimited string.
        
        lib/
            util.[Ch]
    
    David  26 Sept 2006
        - user web: if user has a compound language (like en-us) in their list,
            and there's a translation file for the base language (en), use it.
    
        html/inc/
            translation.inc
    
    Eric K 26 Sept 2006
        - Changes to configure.ac
          Added check for header sys/auxv.h (Solaris)
          Added check for function getisax() (Solaris 10)
          Added check for libcups (MacOS command line build)
          Added check for libSystemStubs (MacOS command line build)
    
        configure.ac
    
    David  26 Sept 2006
        - fix FCGI compile error
    
        lib/
            miofile.h
    
    Kevin  25 Sept 2006
        - BSG
            - Fixed an bug that prevented the message dialogue from closing when the X button was clicked.
            - Add a link to the home page for all projects in the drop down
            - Change label in menu in the advanced view read 'Switch to Simple View'
            - Fix bug that occurs when the notebook is rendered while a dialogue box is open         
            
        clientgui/
            AdvancedFrame.cpp
            sg_BoincSimpleGUI.cpp/h
            sg_DlgMessages.cpp
            sg_ProjectsComponent.cpp
            sg_StatImageLoader.cpp
            sg_ViewTabPage.cpp/h
    
    Charlie 26 Sept 2006
        - Mac: AppStats helper application gets info only for descendants of 
            BOINC, which substantially improves speed & efficiency. (PROCINFO 
            totals for other processes are not currently used anywhere.)
        - Mac: Set host_info.m_swap to total free disk space, because OS X 
            uses all of the available space on the machines boot partition
            for swap space if needed.
    
        client/
            app_stats_mac.C
            hostinfo_unix.C
    
    David  27 Sept 2006
        - fix compile of FCGI scheduler and file upload handler
            NOTE: I did this by manually putting in a #ifdef _USING_FCGI_
            in miofile.C
            I don't understand why this was necessary.
    
        lib/
            miofile.C,h
            parse.C
        sched/
            Makefile.am
    
    Kevin  27 Sept 2006
        - BSG
            - Fix bug that caused an occasional error in the BSG when switching skins
            
        clientgui/
            sg_BoincSimpleGUI.cpp
            sg_ProgressBar.cpp/h
    
    Charlie 27 Sept 2006
        - Mac: Use full-duplex pipes so AppStats helper application can stay open 
            for better efficiency.  Note: the code in app_stats_mac.C and 
            procinfo_mac.C uses standard BSD calls and so should work for any 
            BSD Unix system (BSD 4.3 or above).
        - Mac: Update host_info.m_swap on each PROCINFO update.
        - Comment out bogus memory usage exceeded message if mem_usage_debug log 
            flag is set.
        
        client/
            app_control.C
            app_stats_mac.C
        lib/
            procinfo_mac.C
            
    Kevin  27 Sept 2006
        - BSG
            - Add support for additional file types for the skin
              (GIF and ICO - in addition to the BMP, XPM and PNG 
              that were already available)
               - Remember where the BSG was positioned last time it was open
               - Position the messages dialogue so that the most recent message is displayed
               - Add text to the preferences dialogue
               - Reduce size of some of the skin images
            
        clientgui/
            BOINCGUIApp.cpp
            sg_BoincSimpleGUI.cpp
            sg_DlgMessages.cpp
            sg_DlgPreferences.cpp
    
    Charlie 28 Sept 2006
        - Mac: Add safety features and fix bugs in procinfo_setup().
    
        lib/
            procinfo_mac.C
    
    David  28 Sept 2006
        - user web: add page for "Certificate of Computation"
            (mostly borrowed from SETI@home; needs to be
            customized by the project)
    
        html/
            inc/
                cert.inc (new)
            user/
                cert1.php (new)
                sample_index.php
    
    David  28 Sept 2006
        - Change first line of various scripts from
            #!/usr/local/bin/php (which seems to be Solaris-specific)
            to
            #!/usr/bin/php (which seems to be more standard)
    
            It would be nice to have this not hardwired.
            One solution would be to omit the first line
            (make these files into PHP files rather than scripts)
            and require the <command> tags in config.xml to specify the PHP path.
            But this would disrupt some projects, so I'll defer this.
    
        html/ops/
            db_update.php
            update_forum_activities.php
            update_profile_pages.php
            update_uotd.php
            watchdogs.php
            wd_nresults_changing.php
    
    David  28 Sept 2006
        - Redo the above, using
            #!/usr/bin/env php
            (suggested by Eric Myers)
    
        html/ops/
            db_update.php
            update_forum_activities.php
            update_profile_pages.php
            update_uotd.php
            watchdogs.php
            wd_nresults_changing.php
    
    Kevin  29 Sept 2006
        - BSG
            - Changed workunit area to use a static image rather then an animiated gif
            - Center the image within the space and resize it dyanmically if necessary to fit
              within the allocated space
               - Fix bug that makes sure that the BSG will be displayed on the screen if the 
                 values of the previous location are corrupted for some reason
        
        clientgui/
            BOINCGUIApp.cpp
            sg_BoincSimpleGUI.cpp
            sg_DlgMessages.cpp
            sg_DlgPreferences.cpp
    
    David  29 Sept 2006
        - include cpu_usage_limit in prefs XML
            (in get_state GUI RPC reply, and in app init file)
    
        lib/
            prefs.C
    
    Rom    1 Oct 2006
        - Update libcurl for Windows to version 7.15.5 so that curl
            can handle bandwidth throttling.
            
        curl/
            <Various Files>
    
    David  2 Oct 2006
        - Add code that sets upload/download bandwidth limits
            using new Curl functions.
            Curl's limits are per connection.
            So whenever we make a new connection or close an old one,
            and the prefs have a limit defined,
            divide it uniformly among connections in that direction
            and call libCurl to set the limit.
    
        client/
            file_xfer.C,h
            gui_http.C
            http_curl.C,h
    
    David  2 Oct 2006
        - core client: bug fix in bandwidth-limiting code
        - core client bug fix: when reset or detach a project,
            sometimes would get a crash when deleting FILE_INFOs.
            This is because instead of
                iter = foo.erase(iter);
            we just had
                foo.erase(iter);
            Clean up all code to always use the former.
        client/
            app.C
            client_state.C
            cpu_sched.C
            file_xfer.C
            http_curl.C,h
            pers_file_xfer.C
    
    David  2 Oct 2006
        - core client: implement memory management system, as described in
            http://boinc.berkeley.edu/memory.h
        - core client: fix erroneous speed calculation
            when a file xfer is resumed
    
        TODO:
            - export memory usage into to apps
            - change scheduler to use memory prefs
    
        client/
            app.h
            app_control.C
            client_state.h
            cpu_sched.C
            cs_prefs.C
            http_curl.C,h
        lib/
            prefs.C,h
            procinfo.h
            procinfo_win.C
    
    Charlie 2 Oct 2006
        - Mac: Changes for libcurl 7.15.5.
    
        mac_build/
            buildcurl.sh
            HowToBuildBOINC_XCode.rtf
            boinc.xcodeproj/
                project.pbxproj
    
    David  3 Oct 2006
        - API: pass working set size and max WSS from core client to app.
            This lets "memory-aware" applications change their memory usage
            (e.g. by disabling/enabling graphics) in response to
            changing requirements.
        - User web: add preferences for max RAM usage while busy and idle
        - Do WSS averaging at higher level
    
        api/
            boinc_api.C,h
        client/
            app.C
        html/inc/
            prefs.inc
        lib/
            procinfo_unix.C
            procinfo_win.C
    
    David  3 Oct 2006
        - core client: memory management bug fixes and debug messages
        - core client: include memory-related info (wss, max_wss)
            in heartbeat messages to apps
        - core client: change memory-related messages to use MB notation
        - core client: remove old bandwidth-limiting code
    
        Intermediate checkin.  Still to do:
        - save/restore smoothed WSS
        - change RR simulator to reflect memory management
    
        client/
            app.C
            app_control.C
            cpu_sched.C
            cs_prefs.C
            http_curl.C,h
        lib/
            prefs.C
            util.h
        win_build/
            boinc_cli_curl.vcproj
    
    David  3 Oct 2006
        - core client: save/restore smoothed WSS
    
        api/
            boinc_api.C
        client/
            app.C
        html/inc/
            prefs.inc
    
    David  3 Oct 2006
        - In a situation where project A as a result that uses too
            much RAM to run right now, and is in deadline trouble,
            the work-fetch policy wouldn't get more work,
            even if project B has small-RAM jobs.  This is bad.
    
            Fix (kludge): rr_simulator() doesn't count a result
            as being a deadline miss if it uses too much RAM
            to run right now.
        - Changes to compute_work_requests():
            - if a contactable non-CPU-intensive project needs work,
                return immediately
            - use p->rr_sim_deadlines_missed, NOT p->deadlines_missed
                (the latter is a temp variable,
                with no defined value at this point)
    
        client/
            client_state.h
            cpu_sched.C
            cs_scheduler.C
    
    David  3 Oct 2006
        - core client: fixed bug that could cause Curl to be
            passed a null pointer (bandwidth limiting)
    
        client/
            file_xfer.C
            http_curl.C,h
    
    David  3 Oct 2006
        - core client and manager: set things up so that if
             a result isn't running because it requires too much RAM,
             an appropriate message ("Waiting for memory")
             is shown in the Manager
    
        client/
            app.C,h
            cpu_sched.C
        clientgui/
            ViewWork.cpp
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
            gui_rpc_client_print.C
    
    Charlie 4 Oct 2006
        - Mac: Update XCode project for simple gui (new files, etc.)
    
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  4 Oct 2006
        - scheduler: if request has RAM usage limits preferences,
            take them into account in deciding whether to send work.
            Return appropriate message depending on whether
            1) machine doesn't have enough RAM period, or
            2) machine has enough RAM, but limits are too low
        - XML parser: fix bug where empty string (<foo></foo>)
            wasn't being parsed correctly
    
        lib/
            parse.C
        sched/
            sched_send.C
            server_types.C,h
    
    David  4 Oct 2006
        - core client: initialize ACTIVE_TASK::too_large
            (eliminate spurious "waiting for memory" message)
    
        client/
            app.C
    
    David  4 Oct 2006
        - db_dump: fix crashing bug
        - XML parser: fix yet another bug
    
        lib/
            parse.C
        sched/
            db_dump.C
    
    Charlie 4 Oct 2006
        - Mac: Update XCode project for simple gui.
    
        mac_build/
            sg_Info.plist (new)
            boinc.xcodeproj/
                project.pbxproj
    
    Charlie & Rom 4 Oct 2006
        Rom fixed a Mac compiler error in SimpleGUI code.
    
        clientgui/
            sg_ViewTabPage.cpp
            
    Kevin  5 Oct 2006
        - BSG
            - Changed workunit area to use a static image rather then an animiated gif
            - Center the image within the space and resize it dyanmically if necessary to fit
              within the allocated space
            - These changes should have been checked in with my changes on Sept 29
     
        clientgui/
            sg_ImageButton.cpp
            sg_ViewTabPage.cpp/h
    
    David  6 Oct 2006
        There's a problem with the current global prefs design:
        A client has two different forms of global prefs:
        - the "master prefs", which are stored on disk (in global_prefs.xml),
            which have a mod time, and which can include <venue> elements.
        - the "working prefs", which are formed by taking the
            master prefs (using the venue variant for this host)
            and then modifying it by the contents of the prefs override file.
            The working prefs determine what the core client actually does,
            i.e. how much memory/disk it uses.
        When the client makes a scheduler RPC, the request message includes
        global prefs, which are used for two purposes:
            1) so that the scheduler can take the prefs into account in making
            scheduling decisions;
            2) to propagate preferences between projects, so that users
            see consistent prefs, and can edit them on any project site.
        The problem is: for 1), the scheduler needs the working prefs.
        For 2), it needs the master prefs.
        Currently the client sends the master prefs.
        So in some cases, scheduling decisions are now based
        on the wrong information.
    
        Fix: include both master prefs and working prefs in request msg.
        New server logic:
    
        if request message includes <working_global_preferences>
            P = <working_global_prefs>
        else
            if req msg includes <global_preferences>
                if newer than DB
                    P = <global_prefs>
                else
                    P = DB prefs
    
        use P for sched decisions
    
        If request message includes <global_preferences>,
            and mod time is later than DB version,
            and email hash is the same,
            update DB
    
        Reply: if DB prefs have later mod time than P
            send DB prefs in reply
    
        -----------------------
        - prefs: bandwidth limits default to zero (unenforced) rather than 1e12
    
        lib/
            prefs.C,h
        sched/
            handle_request.C
            sched_send.C
            server_types.C,h
    
    David  6 Oct 2006
        Client-side part of above fix,
            and support for "host-specific" global preferences
        - include <working_global_preferences> in scheduler requests.
            In combination with the above server changes,
            this will fix the design problem described above.
        - include <global_preferences> in scheduler requests
            only if master prefs are not host-specific.
            When a host with host-specific prefs talks to an old scheduler,
            the scheduler won't know its current prefs.
            This problem will go away as projects upgrade their software.
        - if we get <global_preferences> in a scheduler RPC reply,
            ignore it if it's from an old server (pre-5.7)
            and we have host-specific prefs
    
        client/
            app_control.C
            cs_scheduler.C
    
    David  6 Oct 2006
        - core client: add the ability to hardwire the host venue.
            Put <host_venue>X</host_venue> in your
            global_prefs_override.xml file
            (outside the <global_preferences> element)
    
        client/
            cs_prefs.C
    
    David  9 Oct 2006
        - core client: when parsing list of project files in sched reply,
            delete the old sym link files first
    
        client/
            client_types.C
    
    David  9 Oct 2006
        - Manager: add code that shows disk usage
            (total and project) as pie chart rather than text.
            From Frank Weiler
    
        clientgui/
            Events.h
            ViewResources.cpp,h
            common/
                wxPieCtrl.cpp,h (new)
        win_build/
            boincmgr_curl.vcproj
    
    Rom    9 Oct 2006
        - Prepare for the default skin to be embedded within the BOINC manager.
        
        clientgui/res/skins/default
            <Added Files>
        clientgui/res/templates/skins
            <Added Files>
        clientgui/skins/default
            <Remove Files>
    
    David  9 Oct 2006
        - core client: when parsing project files, delete old symlink files
            only on scheduler RPC (not when read state file)
    
        client/
            client_types.C,h
            cs_statefile.C
            scheduler_op.C
    
    David  9 Oct 2006
        - debug the above
        client/
            client_types.C,h
            cs_scheduler.C
            cs_statefile.C
    
    Kevin  9 Oct 2006
        - BSG
             - Make sure project section renders even if the manager cannot connect to the core client
            - Eliminate dual timer issue if you change skins and have a slide show running
            - Extend the wxFlatNotebook and moved all code related to the notebook and workunits into the new class (WorkunitNotebook)
            - Change the height of the BSG to 570 pixels (from 600)
            - Change the display area for the slide show to eliminate black border except where required by text for show graphics.  New dimensions are width = 290, height = 126 
            - Check for updated slideshows after a project RPC and any files finish downloading  
    
        clientgui/
            sg_BoincSimpleGUI.cpp/h
            sg_ClientStateIndicator.cpp
            sg_ProjectsComponent.cpp
            sg_StatImageLoader.cpp/h
            sg_ViewTabPage.cpp/h
    
    Charlie 10 Oct 2006
        - Mac: Update XCode project for wxPieCtrl.  NOTE: new ViewResources.cpp 
            causes very serious crash on Mac (totally crashes system, requires 
            restarting computer.)  wxPieCtrl web site says it has been tested 
            only for wxMSW and wxGTK.  So as a temporary workaround I have 
            added "#ifndef __WXMAC__" in 2 places in ViewResources.cpp
        - Mac: Update release scripts to include COPYRIGHT and COPYING LGPL 
            files in distributions.
    
        clientgui/
            ViewResources.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
        mac_installer/
            release_boinc.sh
            Postinstall.cpp
    
    David  11 Oct 2006
        - core client: add project dir to LD_LIBRARY_PATH env var
            when running apps on Linux.
            This is a first step towards letting apps dynamically
            link to .so files without having to use <copy_file/>
            to put them in the slot dir.
            NOTE: not quite there yet; need to avoid creating
            symlink file in slot dir.
        - core client: bug fix so that output file references
            with <copy_file/> set are handled correctly.
        - core client: #ifdef Curl bandwidth-limit calls
            (workaround until I can get libcurl 7.15.5 installed on isaac)
        client/
            app_start.C
            http_curl.C
        sched/
            trickle_handler.C
    
            
    Kevin  11 Oct 2006
        - BSG
             - Pause slide show for workunits that are not running
            - Add message to space below slide show images to explain status of the workunit (running, paused)
            - Fixed bug that sometimes caused slide shows to not load properly when first downloaded
              or after they have been updated by the project
            - Prevent workunit name from overflowing the side of BSG
            - Play with tabs to make the selected tab stand out
            - Fixed bug which caused a crash when switching between simple and advanced views
            - Fixed a significant memory leak 
            - Eliminate some compiler warnings 
    
        clientgui/
            sg_BoincSimpleGUI.cpp/h
            sg_ClientStateIndicator.cpp
            sg_ImageButton.cpp/h
            sg_ProjectsComponent.cpp
            sg_SGUIListControl.cpp/h
            sg_StatImageLoader.cpp
            sg_ViewTabPage.cpp/h
    
    Charlie 11 Oct 2006
        - Fix compiler warnings and errors.
        - Changes to wxPieCtrl to fix crashes, compiler warnings on Mac.
    
        client/
            app_start.C
            http_curl.C
        clientgui/
            ViewResources.cpp
            common/
                wxPieCtrl.cpp,h
    
    David  12 Oct 2006
        - scheduler: fix bug that prevented prefs propagation
    
        sched/
            handle_request.C
    
    David  12 Oct 2006
        - core client: keep track of (per project):
            - the last time a scheduler RPC finished
            - the last time the final project file download finished
            These are not maintained in the state file;
            i.e. when the core client starts up,
            they'll be zero until the respective event occurs.
        - Include these in the GUI RPCs that return projects
            (i.e. get_simple_gui_info(), get_state(), get_project_status())
    
        client/
            client_types.C,h
            cs_files.C
            cs_scheduler.C
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
            gui_rpc_client_print.C
    
    Charlie 12 Oct 2006
        - More fixes to wxPieCtrl for Mac.
    
        clientgui/
            ViewResources.cpp
            common/
                wxPieCtrl.cpp,h
    
    Rom    12 Oct 2006
        - Bug Fix: CURLOPT_MAX_SEND_SPEED_LARGE and CURLOPT_MAX_RECV_SPEED_LARGE
            are apart of an enum and not a preprocessor define. Check for 
            compatibility by using LIBCURL_VERSION_NUM instead.
        - Bug Fix: When switching from the simple GUI to the advanced GUI be sure
            to restore the window size correctly.
            
        client/
            http_curl.C
        clientgui/
            AdvancedFrame.cpp
    
    Rom    13 Oct 2006
        - If we have received the authenticator via a setup cookie then run the
            wizard in a completely automated fashion. Only stop if there was an
            error.
            
        clientgui/
            BOINCBaseWizard.cpp, .h
            CompletionPage.cpp
            WizardAttachProject.cpp
    
    Kevin   16 Oct 2006
        - BSG
             - Update Project GUI urls when a rpc has completed with a project
            - Update User Stats when a rpc has completed with a project
            - Update project slide show when new downloads have been received from the project
    
        clientgui/
            sg_BoincSimpleGUI.cpp
            sg_ProjectsComponent.cpp/h
            sg_StatImageLoader.cpp/h
            sg_ViewTabPage.cpp/h
    
    David  16 Oct 2006
        - removed db/mysql.h.  Not sure why it was there,
            but apparently it caused big problems for projects using MySQL 5
            (reported by Carl C)
    
        db/
            mysql.h (removed)
    
    Charlie 16 Oct 2006
        - New colors for wxPieCtrl from Frank Weiler.
    
        clientgui/
            ViewResources.cpp,h
    
    Rom    16 Oct 2006
        - Bug Fix: Benchmarks should be run using an idle thread priority instead of the
            normal thread priority.
            
        client/
            cs_benchmark.C
    
    Charlie 17 Oct 2006
        - Additional fixes for wxPieCtrl from Frank Weiler.
    
        clientgui/
            ViewResources.cpp
            common/
                wxPieCtrl.cpp
    
    Matt 17 Oct 2006
        - Updated forum code so that only project administrators can banish users, not
          moderators
    
        html/
          user/
            forum_moderate_post_action.php
          inc/
            forum.inc
            forum_moderators.inc
            
    Kevin 18 Oct 2006
        - BSG
             - Added a state to inform the user when the client is communicating with a project
            - Added a 'change' button to the preferences to change just the skin
            - Fixed bug that caused the skin to crash when a invalid skin was selected
            - Do not flash the 'messages' between red and black for messages that arrive while
              the messages dialogue is open
            - Set the selected tab when the BSG is first opened to be a workunit that is currently running
    
        clientgui/
            sg_ClientStateIndicator.cpp/h
            sg_DlgPreferences.cpp
            sg_ProjectsComponent.cpp/h
            sg_SkinClass.cpp/h
            sg_ViewTabPage.cpp
    
    David  18 Oct 2006
        - let project show addons page with their own header/footer
    
        html/user/
            download_network.php
    
    Rom    18 Oct 2006
        - Bug Fix: Fix license snafus
        
        api/
            reduce_main.C
    
    David  18 Oct 2006
        - fix line endings
    
        clientgui/
            ViewResources.cpp,h
    
    Rom    18 Oct 2006
        - Bug Fix: Change the regex that validates email addresses in the manager to a 5 star rated
            expression. See http://regexlib.com/REDetails.aspx?regexp_id=328
            
        clientgui/
            ValidateEmailAddress.cpp
    
    Kevin 18 Oct 2006
        - BSG
             - Modify the pause/resume button to correctly set both execution and network settings
    
        clientgui/
            sg_ProjectsComponent.cpp
    
    David  19 Oct 2006
        - core client: if can't rename state file, show "check permissions" message
        - user web: certificate numeric units off by 1000 (from Carl C)
    
        client/
            cs_statefile.C
        html/inc/
            cert.inc
    
    Rytis  19 Oct 2006
        - user web: allow account creation via an RPC when invitation code is
            required.
            
        html/
            user/
                create_account.php
            inc/
                xml.inc
    
    David  19 Oct 2006
        - project back end: add mechanism so that PHP scripts can be
            run from the 'start' script in a way that works
            with both PHP4 and PHP5.
            To run html/ops/update_profile_pages.php, for example, put
                <cmd>run_in_ops update_profile_pages.php</cmd>
            in your config.xml file <task> entry.
    
            (run_in_ops is a script that lives in bin/,
            cds into ../html/ops, and executes its args)
    
        py/Boinc/
            setup_project.py
        tools/
            run_in_ops (new)
    
    Rom    19 Oct 2006
        - Bug Fix: Last regex didn't work right. Reverting back to the regex before yesterday's
            bug fix and just adding in the other valid characters. What a pain in the butt.
            
        clientgui/
            ValidateEmailAddress.cpp
    
    Rom    19 Oct 2006
        - Bug Fix: When a BOINC rename operation failed we were returning -1 no matter what the
            real error code was. rename only returns a -1 and then you are supposed to lookup
            the real error code by using errno.
        - Add some additional information to the message log in case a state file rename 
            operation fails.
        - Tweak boinc_rename, boinc_mkdir, boinc_rmdir, boinc_delete, and boinc_copy so that
            they return Win32 error codes instead of just -1. We can now use the
            windows_error_string and windows_format_error_string functions when those fail
            to give us and the community more useful information about what has gone wrong.
        - Log additional information in case a rename operation fails for account_*.xml files
            and stat files.
    
        client/
            cs_account.C
            cs_statefile.C
        lib/
            filesys.C
    
    Rom    20 Oct 2006
        - MGR: CBrandingScheme is now dead.
            All references in the advanced GUI have been changed
            to CSkinManager. Simple GUI to follow.
            
        clientgui/
            <*.cpp>
    
    David  20 Oct 2006
        - core client: if remote_hosts.cfg is present,
            reread it (and resolve host names) on each GUI RPC connection,
            in case IP addresses have changed
    
        client/
            client_state.h
            gui_rpc_server.C
        lib/
            filesys.C
    
    David  20 Oct 2006
        - Output files can be tagged as "optional".
            If the application doesn't generate an optional output file,
            the client treats it as normal
            (i.e. doesn't flag it as an error)
            NOTES:
            1) to make an output file optional,
                put <optional/> in its <file_ref>
                element in the result template file
            2) clients earlier than 5.8 don't recognize this attribute;
                they will mark results as "compute error" if
                any of their output files are missing
    
        client/
            client_types.C,h
            cs_apps.C
    
    David  20 Oct 2006
        - user web: use regexp-based check for email validity
            (from Frank Thomas)
        - user web: on CPU throttle preference, say that
            it works only with 5.6+
    
        html/inc/
            email.inc
            prefs.inc
    
    David  20 Oct 2006
        - fix potential buffer overrun in db_dump.C (from Carl)
    
        sched/
            db_dump.C
    
    Charlie 21 Oct 2006
        - Mac: FIx new compile error by including "BOINCBaseFrame.h".
        - Added SkinManager.cpp to XCode project.
    
        clientgui/
            mac/
                MacSysMenu.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  21 Oct 2006
        - Server: apps can be labeled as "beta",
            and jobs for them will be sent only to users with
            "<allow_beta_work>1</allow_beta_work>" in their project preferences.
            This lets you do application testing without
            creating a separate project,
            which has advantages both for you (1 projects instead of 2)
            and for testers (their testing gives them points
            in your main project)
        - Scheduler: refined the criteria for "reliable" hosts
            to which old results are sent,
            and added a param for reducing delay bound
            when sending results to reliable hosts
        - add -sleep_interval option to assimilator
        - move -reliable flag from feeder
        - add to sched config:
            reliable_min_avg_credit
            reliable_min_avg_turnaround
            reliable_time
            reliable_reduced_delay_bound
    
        (from Kevin Reed)
    
        NOTES: updating your server software to this version or later requires
            a small database change (see html/ops/db_update.php)
    
        db/
            boinc_db.C,h
        lib/
            parse.C
        sched/
            assimilator.C
            feeder.C
            sched_array.C
            sched_config.C,h
            sched_locality.C
            sched_send.C,h
            server_types.h
    
    David  21 Oct 2006
        - small cleanups to the above
    
        db/
            boinc_db.C,h
            schema.sql
        html/ops/
            db_update.php
        py/Boinc/
            database.py
        sched/
            sched_send.C
            server_types.h
    
    Rom    22 Oct 2006
        - MGR: CSkinClass is now dead.
            All references in the simple GUI have been changed to CSkinManager.
        - Cleaned up a bunch of warnings.
            
        clientgui/
            <*.cpp>
    
    Charlie 21 Oct 2006
        - Mac: Removed sg_SkinClass.cpp/h from XCode project.
        - Fixed incorrect assignments of m_iconApplicationDisconnectedIcon and 
            m_iconApplicationSnoozeIcon.
    
        clientgui/
            SkinManager.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  22 Oct 2006
        - scheduler: rename "reliable_min_avg_turnaround"
            to "reliable_max_avg_turnaround"
        - add some doc for new reliable-host scheme
    
        sched/
            sched_config.C,h
            sched_send.C
    
    David  23 Oct 2006
        - core client: AMS replies can include <resource_share>
            elements in <account> elements.
            These override the resource shares reported by projects.
            Account managers can thus provide host-level control of resource share.
    
        client/
            acct_mgr.C,h
            client_state.C
            client_types.C,h
    
    David  23 Oct 2006
        - core client: limit # of simultaneous net xfers to 8
        - core client: if there was an HTTP error on download,
            we were truncating the file back to its original size
            because of fear that
            "error-reporting HTML may have been appended"
            (I'm not sure if this actually every happens).
            In any case, I changed to logic so that, on HTTP error,
            we remove at most 5KB from the end of the file.
        - removed SkinManager.cpp from VS2005 project file
    
        client/
            cs_files.C
            file_xfer.C
            http_curl.C
        win_build/
            boincmgr_curl.vcproj
    
    David  24 Oct 2006
        - core client: use CPU shortfall instead of time_until_work_done()
            in a couple of places; should slightly improve work fetch
    
        client/
            cs_scheduler.C
        html/inc/
            prefs.inc
    
    David  24 Oct 2006
        - core client: when get new global prefs, enforce
            network bandwidth limits (in case they changed)
    
        client/
            cs_prefs.C
    
    Rom    25 Oct 2006
        - MGR: Both the simple GUI and advanced GUI respond to skin changes
        - MGR: Skins can now include different languages. Searches for the
            canonical locale id first (pt_BR) and then will fall back to the
            root language (pt). If both fail it'll try english before loading
            the default resources.
        - MGR: Wizards can now use skinned resources
                
        clientgui/
            BOINCBaseFrame.cpp, .h
            BOINCGUIApp.cpp, .h
            DlgOptions.cpp
            Events.h
            sg_BoincSimpleGUI.cpp, .h
            sg_DlgMessages.cpp
            sg_DlgPreferences.cpp, .h
            sg_ProjectsComponent.cpp, .h
            sg_SGUIListControl.cpp
            SkinManager.cpp, .h
            stdwx.h
    
    David  25 Oct 2006
        - core client: added config options for
            max # file transfers, global and per_project
    
        client/
            cs_files.C
            file_xfer.h
            log_flags.C,h
    
    Rom    25 Oct 2006
        - MGR: Fix crashing bug where the simple GUI is the initial state and
            the skin just finished loading. After a new skin is loaded the
            ReloadSkin event is fired so each frame needs to make sure it
            doesn't try to deref it's own null pointers.
            
        clientgui/
            sg_BoincSimpleGUI.cpp, .h
    
    David  25 Oct 2006
        - User web: added support for "run beta applications" preference.
            This is enabled if project has
                $project_has_beta = true;
            in its html/project/project_specific_prefs.inc file.
    
        html/
            inc/
                prefs.inc
            user/
                add_venue.php
                prefs_edit.php
                project_specific_prefs.inc.sample
        sched/
            sched_send.C
    
    Rom    25 Oct 2006
        - MGR: Check to see if the clientindictor timer pointer is valid before 
            stopping and deleting it.
            
        clientgui/
            BOINCGUIApp.cpp
            sg_BoincSimpleGUI.cpp, .h
            sg_ClientStateIndicator.cpp
    
    Kevin    25 Oct 2006
         - MSG: Fixed issues with BSG (pointer issues)
         
         clientgui/
            sg_BoincSimpleGUI.cpp/h
            sg_ClientStateIndicator.cpp
            
    Rom    25 Oct 2006
        - MGR: Make sure that after we clear out all the old skin resources we at
            least reset the skin name back to the one the user wants, otherwise
            we'll end up with a blank combo box item.
            
        clientgui/
            sg_BoincSimpleGUI.cpp
            SkinManager.cpp, .h
    
    David  26 Oct 2006
        - core client: fix a couple of bugs that could cause
            the host to use the wrong venue when reading prefs
            Also, print log message showing host location
    
        client/
            cs_prefs.C
            cs_scheduler.C
    
    Kevin    26 Oct 2006
        - MGR:
            * Fire ReloadSkin after changing to the default skin (this properly redraws the 
            * Move all logic for reloading a project/stat icon into the StatImageLoader class
            * Fix bug that prevented the default stat icons from being updated with reskining
            
        clientgui/
            sg_ProjectsComponent.cpp/h
            sg_StatImageLoader.cpp/h
            SkinManager.cpp, .h
    
    Rom    27 Oct 2006
        - MGR: Use the new (2.6) ::wxLaunchDefaultBrowser API to launch the users default web
            browser, we should get better results with it.
        - MGR: Add 'CPU throttle' to the preferences dialog.
        - MGR: Add 'run on battery' to the preferences dialog.
        - MGR: Fix reading and storing all preference values
        - MGR: Add web customized values to the list of selections for any of the user 
            configurable settings.
        - MGR: Partial Fix for Large Font/High DPI issues. Now we just have to figure out
            if we want the dialog to grow or the text to shrink.
            
        clientgui/
            hyperlink.cpp
            sg_DlgPreferences.cpp, .h
            sg_ProjectsComponent.cpp
            sg_StaticLine.cpp, .h
            sg_StaticText.cpp, .h (Added)
            sg_ViewTabPage.cpp
            SkinManager.cpp
            stdwx.h
        win_build/
            boincmgr_curl_2003.vcproj
    
    Rytis  27 Oct 2006
        - user web: allow team founder position to be transfered to another team member
            in case the original founder is missing. Also updating "your account" page
            to show multiple teams if the user is the founder of more than one.
            
            NOTE: requires DB update (html/ops/db_update.php).
            
        html/
            user/
                team_change_founder_action.php
                team_change_founder_form.php
                team_founder_transfer_action.php (new)
                team_founder_transfer_form.php (new)
            inc/
                inc/email.inc
                inc/team.inc
                inc/user.inc
            ops/
                db_update.php
        db/
            schema.sql
            constraints.sql
            
            
    Kevin    27 Oct 2006
        - MGR:
            * Fix bug that caused the workunit icon to flash when the cpu throttle is utilized 
            
        clientgui/
            sg_ViewTabPage.cpp
    
    Charlie 27 Oct 2006
        - Mac: Fix bug that prevented screensaver from launching BOINC client 
            properly under sandbox security if manager is not running.
        - Mac: added sg_StaticText.cpp,.h to XCode project.
        
        clientgui/
            mac/
                mac_saver_module.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    Rom    27 Oct 2006
        - MGR: Adjust the preferences dialog so that the change and clear buttons can
            be removed. People are just pre-programmed to look for buttons on the right-hand
            side or bottom of the dialog to save changes. With the new scheme there will
            just be a save and cancel button.
            
            NOTE: The dialog looks a little funky right now, but that should be cleared up
              soon.
        - MGR: Make sure we don't try and load the skin we have already loaded.
    
        clientgui/
            sg_DlgPreferences.cpp, .h
            sg_StaticLine.cpp
            SkinManager.cpp
    
    Rom    27 Oct 2006
        - Tag for 5.7.0 release, all platforms
          boinc_core_release_5_7_0
    
    Rom    27 Oct 2006
        - MGR: 
            Okay, last fixup to the preferences dialog. 
            
            Had to change the static group box into just a regular static text control 
            with a larger font since I couldn't figure out a way to make the text area
            transparent.
            
            The "Use custom preferences" check box is kind of a fake check box, the
            check box itself is real, but the text off to the right is a static text
            control. Trying to make the check box transparent was like beating your
            head against the wall, I got as far as initial display being transparent
            and a complete redraw cased it to be transparent, but moving the mouse over
            the label caused a 1 pixel shift in the display of text which caused it
            to blur.
            
        clientgui/
            BOINCGUI.pjd
            sg_CustomControls.cpp, .h (Added)
            sg_DlgPreferences.cpp, .h
            sg_ProjectsComponent.cpp, .h
            sg_ViewTabPage.cpp, .h
            sg_StaticLine.cpp, .h (Removed)
            sg_StaticText.cpp, .h (Removed)
    
    Charlie 28 Oct 2006
        - Mac: Fix bugs in screensaver when launching BOINC Client with branding:
            - BOINC Data directory name does not change with branding.
            - If screensaver can't locate BOINC Manager bundle using creator and 
                bundle ID, get branding file from BOINC Data directory.
            - Branded (Grid Republic) installer places a copy of Branding file in 
                BOINC Data directory for use by screensaver.
            - PostInstall app removes Branding file from BOINC Data directory if 
                performing an unbranded intall.
            - Update XCode project for added and removed source files.
    
        clientgui/
            mac/
                mac_saver_module.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
        mac_installer/
            PostInstall.cpp
            release_GridRepublic.sh
    
    David  28 Oct 2006
        - back end: add function get_output_file_paths()
            for getting the paths of multiple output files.
    
        lib/
            common_defs.h
        sched/
            validate_util.C,h
    
    Rom    28 Oct 2006
        - MGR: Enlarge the combo boxes on the preferences on the preferences dialog
            so that they'll be able to contain the right text even on David's notebook.
        - MGR: Fix the static text box associcated with the "Use custom preferences"
            checkbox so that clicking on it checks/unchecks the the checkbox.
        - MGR: Only change the background color to Magenta in debug builds so that
            we don't flicker during control repaints on release builds.
            
        clientgui/
            sg_CustomControls.cpp, .h
            sg_DlgPreferences.cpp, .h
            sg_ProjectsComponent.cpp
    
    Rom    28 Oct 2006
        - MGR: Implement lazy loads for Simple GUI resources to try and speed things up.
        
        clientgui/
            SkinManager.cpp, .h
    
    Rom    29 Oct 2006
        - MGR: If the background image is smaller than the perferences dialog it'll
            center the background image on the dialog. If the background image is larger
            than the dialog it'll take a chunk out of the center of the bitmap and
            paint that on the dialog.
            
        clientgui/
            sg_DlgPreferences.cpp
    
    Charlie 29 Oct 2006
        - Added link to Mac Installer page under "Installing BOINC" on 
            "Participating" page.
    
        doc/
            participate.php
    
    Rom    29 Oct 2006
        - MGR: Remove the change and clear buttons from the SkinManager.
        - MGR: Fix the transparency problem for the Cancel, Close, and Save buttons.
        - MGR: Fix the transparency problem for the active task icon.
        - MGR: Fix a problem with a full repaint of the preferences dialog, it would paint
            part of the dialog with the default grey color.
            
        clientgui/
            sg_BoincSimpleGUI.cpp
            sg_CustomControls.cpp, .h
            sg_ViewTabPage.cpp, .h
            SkinManager.cpp, .h
    
    Rom    29 Oct 2006
        - MGR: When the skin changes, have the taskbar update its icon set.
        - MGR: Code cleanup for various Simple GUI classes.
        
        clientgui/
            BOINCGUIApp.cpp, .h
            BOINCTaskBar.cpp, .h
            sg_BoincSimpleGUI.cpp
            sg_ProjectsComponent.cpp, .h
            sg_StatImageLoader.cpp, .h
            SkinManager.cpp
    
    Charlie 29 Oct 2006
        - Mac: fix some Mac-specific Simple GUI bugs. 
        - NOTE: wxNO_BORDER is not a valid style argument for wxBitmapButton 
            constructors; use wxBU_NOAUTODRAW instead.
        - Mac: Don't run confirmation dialog on QUIT AppleEvent so dialog 
            doesn't prevent logout / shutdown.
        - Mac: fix crash on Mac when creating SG preferences dialog: create 
            window before setting background color. 
    
        clientgui/
            AdvancedFrame.cpp, h
            BOINCBaseFrame.cpp, .h
            BOINCGUIApp.cpp, .h
            BOINCTaskBar.cpp
            sg_BoincSimpleGUI.cpp
            sg_DlgMessages.cpp
            sg_DlgPreferences.cpp
            sg_ProjectsComponent.cpp
            mac/
                MacSysMenu.cpp, h
                SystemMenu.m
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    Rom    30 Oct 2006
        - MGR: Fix another round of window height, width, top, left, maximize, minimize
            issues on Windows.
        - MGR: Consolidate all window save and restore state to two functions instead
            of four, for all platforms.
            
            NOTE: Charlie, could you look over the changes for the Mac? I think I got them
              right.
    
        clientgui/
            AdvancedFrame.cpp, .h
    
    David  30 Oct 2006
        - API: moved the __HrLoadAllImportsForDll() calls out of
            boinc_samples/uppercase/uppercase.C
            (what were they doing there??)
            and put them into a function boinc_graphics_possible().
            Applications that can potentially do graphics should call this,
            and if it returns false don't try to do graphics
            (this means the needed DLLs are not there (Win)
            or the DISPLAY env var is not set (Unix))
        - API: make the graphics callbacks (e.g. mouse movement)
            C++ rather than C functions.
            This was breaking the example applications (upper_case).
            Bruce et al: if this causes problems, let me know.
        - API, X graphics: use fprintf(stderr) instead of app_debug_msg(0
    
        api/
            boinc_api.C
            graphics_api.h
            x_opengl.C
        html/inc/
            team.inc
    
    Rom    30 Oct 2006
        - MGR: Wizard "Account Info" page, fix the control sizing problems when changing
            between new account vs. existing account.
            
            In the future use Layout() instead of Fit().
            
        clientgui/
            AccountInfoPage.cpp
    
    Rom    20 Oct 2006
        - MGR: Use a buffered device context to draw the background on the preferences
            dialog which reduces the amount of flicker even further.
        - MGR: Make sure the workunit text does not exceed the tab area when using
            large fonts.
            
        clientgui/
            sg_DlgPreferences.cpp
            sg_ViewTabPage.cpp, .h
    
    Charlie 29 Oct 2006
        - Mac: Work around Simple GUI problem drawing background bitmaps on 
            Erase events; use a wxStaticBitmap instead. 
        - Mac: more changes to XCode project to better build Simple GUI.
        
        clientgui/
            BOINCGUIApp.cpp
            sg_BoincSimpleGUI.cpp, h
            sg_DlgPreferences.cpp, h
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    Kevin    31 Oct 2006 (Boo!)
        - MGR: Modify how the project icons are displayed. Fix multiple bugs and only 
               allocate space for the arrows if they are needed.
            
        clientgui/
            sg_ProjectsComponent.cpp/h
            sg_StatImageLoader.cpp/h
            
    Kevin    31 Oct 2006 (Spooky!)
        - MGR: Change button behavior so that it uses the wxBU_AUTODRAW setting.
               This causes buttons to look more 'button' like when clicked.
            
        clientgui/
            sg_ProjectsComponent.cpp/h
            sg_StatImageLoader.cpp/h
            
    David  31 Oct 2006
        - Win compile fixes
    
        client/
            cs_files.C
        win_build/
            boincmgr_curl.vcproj
    
    David  31 Oct 2006
        - scheduler: parse mod_time correctly from global prefs
        - user web: max CPUs defaults to 16
    
        html/inc/
            prefs.inc
            util.inc
        sched/
            server_types.C
    
    Rom    31 Oct 2006
        - MGR: Remove CB_SORT style bit for first combo box.
        
        clientgui/
            sg_DlgPreferences.cpp
            
    Kevin    31 Oct 2006
        - MGR: Changed the wu tab back to using wxPaintDC from wxBufferedPaintDC.  The
               buffered version caused a noticable delay in rendering the display.
            
        clientgui/
            sg_ViewTabPage.cpp
            
    Kevin    31 Oct 2006
        - MGR: Fixed bug that prevented recently downloaded stat icons from being displayed
            
        clientgui/
            sg_StatImageLoader.cpp/h
            
    Rom    31 Oct 2006
        - MGR: When the background skinned image is too small in the preferences dialog,
            scale it up.
            
        clientgui/
            sg_DlgPreferences.cpp
    
    David  31 Oct 2006
        - user web: use existing DB init function for forums too
    
        html/inc/
            forum_mysql_dbh.inc
    
    David  31 Oct 2006
        - compile fix: include mysql.h, not mysql/mysql.h
    
        db/
            db_base.C
    
    Kevin    31 Oct 2006
        - MGR: Changed the way that active_task_state
            
        clientgui/
            sg_ViewTabPage.cpp
    
    Rom    31 Oct 2006
        - Update the curl distro for windows to include the SOCKS 5 Auth path Walt put together.
        
        curl/
            <Numerious files>
    
    Rom    31 Oct 2006
        - Tag for 5.7.1 release, all platforms
          boinc_core_release_5_7_1
    
    Charlie 1 Nov 2006
        - Mac: Work around Simple GUI hang due to bug in Mac version of 
            wxBufferedDC.GetTextExtent().
        - Mac: Fix transparent text.
        - Mac: Fix Message dialog background.
        - Mac: more changes to XCode project to better build Simple GUI.
        
        clientgui/
            sg_CustomControls.cpp, .h
            sg_DlgMessages.cpp
            sg_ViewTabPage.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    Kevin    1 Nov 2006
        - MGR: Finally fixed the problems with the active task icon displaying properly when the
               cpu throttle is being utilized
            
        clientgui/
            sg_ViewTabPage.cpp
    
    Rom    1 Nov 2006
        - MGR: The preferences override struct feature should observe locale conventions.
        
        lib/
            gui_rpc_client_ops.C
    
    David  1 Nov 2006
        - core client: check error returns in Win code to
            find app memory usage.
    
        client/
            app.C
        lib/
            procinfo_win.C
    
    David  1 Nov 2006
        - core client: attempt to fix bug where core client locks up
            when aborting jobs.
            If a job is aborted, and its 5-second grace period elapses,
            mark it as PROCESS_ABORTED so that we'll remove its ACTIVE_TASK record.
            Also, if a GetExitCodeProcess() call fails, mark it as PROCESS_ABORTED.
    
        client/
            app.C
            app_control.C
    
    David  1 Nov 2006
        - core client: account manager reply parsing was broken
    
        client/
            acct_mgr.C
    
    Rom    1 Nov 2006
        - CC: Somebody kernel side is fooling around with return values from
            NtQuerySystemInformation, this caused us to get stuck in a loop.
            
            Cache the buffer size and restore it if the API zeros it out. That
            way we'll be able to double it correctly before the next call.
        - CC: Set the initial buffer size for NtQuerySystemInformation to
            128k from the original 32k.
            
        lib/
            procinfo_win.C
    
    Rom    1 Nov 2006
        - MGR: Fix the MB -> GB translation bug for disk usage.
        
        clientgui/
            sg_DlgPreferences.cpp
    
    Rom    31 Oct 2006
        - Tag for 5.7.2 release, all platforms
          boinc_core_release_5_7_2
    
    Charlie 2 Nov 2006
        - Mac: Fix more bugs on Main SimpleGUI window.  
        
        clientgui/
            sg_ImageButton.cpp
            sg_ProjectsComponent.cpp
            sg_ViewTabPage.cpp, h
    
    David  2 Nov 2006
        - manager: tone down colors in disk display
    
        clientgui/
            ViewResources.cpp
    
    David  2 Nov 2006
        - Added a function GLOBAL_PREFS::write_subset()
            that writes XML for a selected subset of prefs
            (for simple GUI prefs dialog)
    
        lib/
            prefs.C,h
    
    David  2 Nov 2006
        - core client: get rid of attempts to keep track of
            network connected fraction,
            since we don't have a reliable way of seeing
            if there's a physical connection
    
        client/
            time_stats.C
        lib/
            network.C
    
    Charlie 2 Nov 2006
        - Mac SimpleGUI: Move project icon popup menus down 40 pixels 
            so they are not obscured by tooltip (Mac only.)
        - Mac SimpleGUI: Don't select each tab as it is added.  This caused 
            problems at launch if there were more tabs than fit at once and 
            BOINC was suspended, because tab was not visible for currently 
            displayed page.  The result was that tabs did not respond to 
            mouse clicks until after arrow key was pressed to refresh the  
            tabs.
        - Fix Mac compiler warnings.
        
        client/
            http_curl.C
            prefs.C
        clientgui/
            sg_StatImageLoader.cpp
            sg_ProgressBar.cpp
            sg_ProjectsComponent.cpp
            sg_ViewTabPage.cpp
    
    David  2 Nov 2006
        - core client: don't print errors in prefs venues
    
        html/
            inc/
                team.inc
            user/
                top_teams.php
        lib/
            prefs.C
    
    Rom   3 Nov 2006
        - MGR: The preferences dialog should only allow somebody to override
           settings that they have changed.
        - MGR: Adjust the advanced view resources tab so that it'll use the
           free and total space on a remote pc instead of calling the wxWidget
           GetFreeDiskSpace API.
           
        clientgui/
            sg_DlgPreferences.cpp, .h
            ViewResources.cpp
        lib/
            boinc_cmd.C
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    Charlie 3 Nov 2006
        - Mac: Rework Exit Confirmation logic so dialog is presented when 
            user exits Manager from system tray icon or any other means.
            Rewrote dialog text to be more clear, and changed it back to a 
            fixed string because strings read in from skins.xml file are 
            not easily localized.  The project and application names are 
            still read from skins.xml and inserted in dialog text.
    
            Note to Rom: I guarded al references to m_strExitMessage with "
            #if 0" rather than removing them so you can easily restore them 
            if you feel it is important to have it customizable for branding 
            at the expense of easier localization.
    
        clientgui/
            AdvancedFrame.cpp, h
            BOINCBaseFrame.cpp, h
            BOINCGUIApp.cpp, h
            BOINCTaskBar.cpp
            sg_BoincSimpleGUI.cpp
            SkinManager.cpp, .h
    
    David  3 Nov 2006
        - GUI RPC: change <get_disk_usage> RPC so it returns
            the total and free disk space, as well as per-project usage.
            This allows GUIs to display total/free disk for remote systems
        - Manager: get total/free disk from RPC info, not WxWidgets calls
        - Manager: change function names to make more sense
    
        client/
            gui_rpc_server_ops.C
        clientgui/
            MainDocument.cpp,h
            ViewResources.cpp
        lib/
            boinc_cmd.C
            gui_rpc_client.h
            gui_rpc_client_ops.C
            gui_rpc_client_print.C
    
    David  3 Nov 2006
        - debug the above
    
        clientgui/
            MainDocument.cpp,h
            ViewResources.cpp,h
    
    David  3 Nov 2006
        - build fix for Gentoo
    
        Makefile.incl
    
    David  3 Nov 2006
        - fix gcc compile warnings
    
        client/
            acct_mgr.C,h
        lib/
            boinc_cmd.C
            parse.C,h
    
    David  3 Nov 2006
        - Manager: improvements to Statistics tab
            1) wxPaintDC changed on wxBufferedPaintDC - no flicker when redraw 
            2) CPaintStatistics::OnLeftMouseDown() -
               select project (now it work only in "One project" mode)
            3) save/read "last" settings (Mode View, Type Statistic ,Project).
                I used CViewStatistics::OnSaveState(wxConfigBase* pConfig)
                and CViewStatistics::OnRestoreState(wxConfigBase* pConfig)
            (from Mifistor)
    
        clientgui/
            ViewStatistics.cpp,h
    
    David  3 Nov 2006
        - server tools: change a few programs to support the convention
            that any programs intended to be run manually
            (e.g., start, get_file, create_work, dir_hier_path)
            are to be run in the project root directory
            (i.e., they look for config.xml in the current directory)
        - update_versions: create the reread_db trigger file
            in current dir, not parent
    
        sched/
            delete_file.C
            get_file.C
            request_file_list.C
            send_file.C
            show_shmem.C
        tools/
            update_versions
    
    Rom    3 Nov 2006
        - MGR: Fixup the exit message and get rid of the call to sprintf, our
            xml parsing technologies keep track of their buffers and don't
            overflow. If somebody does try to overflow the buffer a null
            string is the result.
        - MGR: The new skin manager does know how to deal with localization.
        - MGR: Bring the email validator inline with the php email validation
            regular expression. (From Frank S. Thomas)
        
        clientgui/
            BOINCGUIApp.cpp
            SkinManager.cpp, .h
            ValidateEmailAddress.cpp
            
    David  3 Nov 2006
        - User web: remove "team account create" mechanism;
            Since accounts are created via GUI,
            this is no longer relevant.
    
        html/
            inc/
                team.inc
            user/
                clone.php (removed)
                team.php
                
    Rytis  4 Nov 2006
        - User web: allow emails to be sent to multiple moderators when a post is
            reported in the forums.
            
            NOTE: requires project.inc update with a new moderator email list value.
    
        html/
            inc/
                forum_email.inc
            project.sample/
                project.inc
    
    David  4 Nov 2006
        - Fix systemic bug where clean-install client requests work
            before doing benchmarks, and uses default benchmarks,
            which are extremely low (1e7 flops).
            The scheduler says "you're not fast enough" and
            tells it to back off for an extremely long time
            (20% of its estimated_delay, as calculated based on the low benchmarks).
            Fixed this by:
            1) client: change default benchmarks to 1e9 (1 GFLOPS)
            2) server: don't request backoff in this case
        - This led to an examination of server-requested backoff.
            In some cases the server was requesting ridiculous backoff.
            E.g. if a client didn't have enough available RAM
            (a function of both actual RAM and RAM-related prefs)
            it would always request a 48-hour backoff.
            The naive user changes their prefs, and then waits for 47.9 hours.
            I think it's better to err on the side of not requesting backoff,
            and relying on the client's exponential backoff
            in situations where it asks for work and doesn't get any.
    
            Also, the backoff values were hardwired throughout the
            scheduler source code - bad programming practice.
            So, I collected all the backoff values as #defines in main.h.
            Mostly these are the same, but for the case where
            we didn't send work because of CPU/disk/mem inadequacy,
            the server now doesn't request additional backoff
            (i.e., rely on the client's backoff mechanism)
    
        client/
            cs_benchmark.C
        sched/
            handle_request.C
            main.h
            sched_locality.C
            sched_send.C
    
    Charlie 5 Nov 2006
        - MGR: Fix new Exit Confirmation Dialog bugs:
            - Use Fit() not Layout(), which did not work on Windows or Mac.
            - Use printf project & application name substitution only for default 
                exit message; custom exit messages neither want nor need it.
            - Remove bogus test Exit Confirmation Message from WCG skin.xml file.
            - Modal dialogs should not be resizable on Mac.
        - MGR: Use a wxPanel for background of SG Dialogs because using EraseBackground 
            events to paint background directly to a window doesn't work on the Mac.  
            The extra panel allows the same centering logic to work on both Windows and 
            Mac.  Adjusted font sizes in Preferences dialog for Mac.
    
        clientgui/
            BOINCGUIApp.cpp
            DlgGenericMessage.h
            sg_BoincSimpleGUI.cpp, h
            sg_ClientStateIndicator.cpp, h
            sg_DlgMessages.cpp, h
            sg_DlgPreferences.cpp, h
            sg_ProjectsComponent.cpp, h
            sg_SGUIListControl.cpp, h
            SkinManager.cpp
            skins/
                World Community Grid/
                    skin.xml
    
    David  6 Nov 2006
        - BOINC web site: change the way the add-ons page works
    
        doc/
            addons.php
            addon_data.php
        html/inc/
            team.inc
    
    Rom    6 Nov 2006
        - MGR: Fix build breaks on Windows.
        
        clientgui/
            sg_BoincSimpleGUI.cpp
            sg_ProjectsComponent.cpp
    
    David  6 Nov 2006
        - core client: if sched_op_debug flag is set,
            show delay requests from server
        - core client: set too_large flag whenever job is too big to run now
            (so "Waiting for memory" will be shown in manager)
    
        client/
            cpu_sched.C
            cs_scheduler.C
    
    Rom    6 Nov 2006
        - Initialize the default values for GLOBAL_PREFS_MASK to false.
            Object's without constructors are initialized to the default values
            defined/redefined in the environment. wxWidgets redefines bools' default
            to value to true when running under a debug build.
            
        lib/
            prefs.C, .h
    
    David  6 Nov 2006
        - MIOFILE buffer variant wasn't doing output correctly;
            would overwrite instead of appending.
            Caused simple GUI prefs dialog to not work.
    
        client/
            gui_rpc_server_ops.C
        lib/
            gui_rpc_client.C
            gui_rpc_client_ops.C
            miofile.C,h
    
    Rom    6 Nov 2006
        - MGR: When deciding if two combo box's values are the same convert them to
            there native data type and compare those as well. Sometimes comparing
            just the strings isn't enough.
            
        clientgi/
            sg_DlgPreferences.cpp
    
    Rom    6 Nov 2006
        - MGR: When caching data, make sure it is cached to the right location.
        
        clientgui/
            sg_DlgPreferences.cpp, .h
    
    David  6 Nov 2006
        - compile fix
    
        sched/
            validate_util.C
    
    Rom    6 Nov 2006
        - MGR: After implementing preference masking we ended up in a situation where
            we were comparing what values to override against the values specified in
            a previous override. If only one value was changed on the second interation
            all other values were forgotten.
            
            The new logic is to compare the current selected dialog values against the 
            current global preferences to decide what is stored in the preferences
            override file.
            
        clientgui/
            sg_DlgPreferences.cpp
    
    David  7 Nov 2006
        - validate_util.C: fix tag ("file_info", not "file")
        - MIOFILE: when we're reading from a buffer,
            make it a const char* instead of char*.
            Doing this requires limiting ungetc() to push only
            the character that was previously read (which is OK).
        - scheduler: removed SCHED_SHMEM& arg from wu_is_infeasible()
        - fix compile warnings
    
        lib/
            gui_rpc_client_ops.C
            miofile.C,h
            parse.C,h
        sched/
            handle_request.C
            sched_array.C
            sched_locality.C
            sched_send.C,h
            server_types.C,h
            validate_util.C
    
    Rom    7 Nov 2006
        - MGR: David and I got our wires cross,
            the global prefs mask is now set for all
            values in the preferences dialog when the selection
            has been made to override anything.
            
        clientgui/
            sg_DlgPreferences.cpp, .h
    
    David  7 Nov 2006
        - core client: call request_work_fetch() whenever a
            process becomes contactable
            (i.e. when its min_rpc_time times out).
            This can avoid 10-minute periods of waiting
            for the work fetch function to get called
    
            Implementation: add bool PROJECT::possibly_backed_off;
            set to true in set_min_rpc_time();
            check for timeout in check_project_timeout()
    
        client/
            client_state.C,h
            client_types.C,h
            cpu_sched.C
            cs_scheduler.C
        lib/
            miofile.C
    
    David  8 Nov 2006
        - core client: change XML parser to handle tags of the form <foo />,
            treating it as <foo/> (i.e. skip the space)
    
       lib/
        parse.C
        
    Kevin  8 Nov 2006
        - BSG:  Add tool tip to slide show when graphics are available
        - BSG:  Remove workunit name
        - BSG:  Formatting changes to text on main screen
        - BSG:  Re-arrange the layout on the main screen
        
    David  8 Nov 2006
        - API: move is_graphics_possible() from boinc_api.C to graphics_lib.C
    
        api/
            boinc_api.C
            graphics_lib.C
    
    David  8 Nov 2006
        - make_work: when duplicating a WU, don't bother creating hard links
            to 'duplicate' its input files on the server.
            Send different file names to the client (so they'll download again)
            but use the same URL.
            This fixes a bug where, on some filesystems,
            there's a limit of 32K hard links to a file.
    
            Only use make_work to duplicate a WU with "nodelete"
            in its name; this ensures that neither the WU nor its
            input files will get deleted out from under you.
    
        sched/
            file_deleter.C
            make_work.C
    
    David  8 Nov 2006
        - core client: work fetch fixes for non-CPU-intensive projects
            (from John McLeod)
    
        client/
            cs_scheduler.C
    
    David  9 Nov 2006
        - core client: ignore zero benchmark results
    
        client/
            client_state.h
            cs_benchmark.C
    
    David  9 Nov 2006
        - manager: fix URL for help
    
        clientgui/
            AdvancedFrame.cpp
            ViewResources.cpp
    
    David  9 Nov 2006
        - manager: fix regexp for email address check
            (remove / at start and end).
    
        clientgui/
            ValidateEmailAddress.cpp
    
    Kevin  9 Nov 2006
        - BSG:  Fix bug that didn't allow the messages window
                to close when the red X was clicked
        - BSG:  Added better text to status messages and tooltips
        - BSG:  Increased slide show timer to 10 seconds
    
        clientgui/
            sg_DlgMessages.cpp
            sg_ImageButton.cpp
            sg_ProjectsComponent.cpp
            sg_ViewTabPage.cpp
    
    
    David  9 Nov 2006
        Core client:
        - request CPU reschedule and work fetch when global prefs change,
            since RAM limits may have changed,
            work_buf_min_days might have changed, etc.
            This fixes (I hope) a bug reported by Heinrich Feldmueller
        - do enforce_schedule() and compute_work_requests() every 60 seconds,
            as a safety net in case we forgot to trigger it in some case.
            Doesn't hurt - should be a fraction of a millisecond.
        - do a CPU reschedule on transitions from host busy
            to host idle, since RAM usage limits might have changed
        - a few more log messages for cpu_sched_debug
    
        client/
            cpu_sched.C
            cs_prefs.C
            cs_scheduler.C
                
    Rytis  10 Nov 2006
        - User web: forum thread locking.
            
            NOTE: requires DB update.
    
        html/
            inc/
                forum.inc
                forum_thread.inc
            user/
                forum_forum.php
                forum_reply.php
                forum_moderate_thread_action.php
                forum_thread.php
            ops/
                db_update.php
    
    David  10 Nov 2006
        - GUI RPC: extended set_run_mode() and set_network_mode()
            to take an additional "duration" argument.
            If duration is zero, the mode becomes permanent.
            Otherwise, the mode takes effect but after "duration" seconds
            the client reverts to the last permanent mode.
    
            By moving the timeout into the core client,
            the Manager (or other GUIs) can provide a "snooze"
            feature without the danger of perma-snooze
            if the Manager crashes or exits.
        - core client: added MODE class which encapsulates the above logic.
            Also fixed names, e.g. "MODE run_mode" replaces "int user_run_request".
        - GUI RPC: added task_mode_perm and network_mode_perm fields to CC_STATUS.
            This lets the GUI see if core client is snoozing
            (i.e. if task_mode != task_mode_perm)
        - GUI RPC: removed deprecated get_run_mode(), get_network_mode(),
            network_status(), and get_activity_state() RPCs
    
        client/
            acct_mgr.C
            app_start.C
            client_state.C,h
            client_types.C,h
            cs_cmdline/C
            cs_prefs.C
            cs_statefile.C
            gui_rpc_server_ops.C
            main.C
        html/inc/
            translation.inc
        lib/
            boinc_cmd.C
            common_defs.h
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    David  10 Nov 2006
        - Get the above to work on Win; fix compile warnings
    
        client/
            app_control.C
            main.C
            win/
                hostinfo_win.cpp
        clientgui/
            MainDocument.cpp
            ViewStatistics.cpp
    
    David  10 Nov 2006
        - core client: condition Curl speed-limit error message on http_debug
    
        client/
            http_curl.C
    
    Rom    14 Nov 2006
        - MGR: Get rid of the transparent 5px gap around the background image.
        - MGR: Store the preferences override and mask for later use.
        - MGR: Fix message dialog title.
        - MGR: Incorporate new default background image and adjust the WCG skin
                 file to match.
                 
        clientgui/
            sg_DlgMessages.cpp, .h
            sg_DlgPreferences.cpp, .h
            SkinManager.cpp, .h
        lib/
            app_ipc.C
            boinc_cmd.C
            gui_rpc_client.h
            gui_rpc_client_ops.C
            prefs.C, .h
    
    Rom    14 Nov 2006
        - Tag for 5.7.3 release, all platforms
          boinc_core_release_5_7_3
    
    David  14 Nov 2006
        - scheduler: fix bug that caused global prefs not to get sent
        - changed user friendly platform names in default project.xml
    
        sched/
            handle_request.C
        tools/
            projects.xml
    
    David  14 Nov 2006
        - core client: put if() around "compute_work_request(): start" msg
    
        client/
            cs_scheduler.C
    
    Rom    15 Nov 2006
        - MGR: Add "Anytime" to the list of start times for the simple preferences
            dialog.
        - MGR: Fix instructions when a connection failure happens.
        - MGR: Let the core client manage the snooze timer. Changes for both the
            advanced gui and simple gui.
        
        clientgui/
            AdvancedFrame.cpp
            BOINCBaseFrame.cpp
            BOINCTaskBar.cpp, .h
            MainDocument.cpp, .h
            sg_DlgPreferences.cpp, .h
            sg_ProjectsComponent.cpp, .h
    
    Rom    16 Nov 2006
        - MGR: Handle the clear preferences case better by setting the mask flags to
            false instead of just calling set preferences override with an empty
            string.
        - MGR: Make sure we grab the correct localized dialog name during construction.
        
        clientgui/
            sg_DlgPreferences.cpp, .h
    
    Rom    16 Nov 2006
        - MGR: Revamp the messages dialog so that it is resizable.
        - MGR: Remember the size of the various message columns.
        - MGR: Remember the size of the dialog.
        - MGR: Add clipboard functionality.
        - MGR: Cleanup code in various other places.
        
        clientgui/
            AdvancedFrame.cpp
            sg_DlgMessages.cpp, .h
            sg_DlgPreferences.cpp, .h
            sg_ProjectsComponent.cpp
            sg_SGUIListControl.cpp, .h
    
    Rom    16 Nov 2006
        - MGR: Change points to credits.
        
        clientgui/
            sg_StatImageLoader.cpp
    
    Rom    16 Nov 2006
        - Tag for 5.7.4 release, all platforms
          boinc_core_release_5_7_4
    
    Charlie 17 Nov 2006
        - MGR: Fix restore of SG Message Dialog size and position on Mac: call 
            RestoreState() _after_ calling GetSizer()->Fit(), GetSizer()->SetSizeHints() 
            and Center().
        - Mac MGR: Adjust position of SG Message Dialog buttons on Mac so Close button 
            doesn't overlap window's grow icon
        - MGR: Save state if close box on SG Message Dialog window frame clicked.
        - MGR: Fix crashing bug if Exit selected from System Tray icon (Quit on Mac)
            while SG Message Dialog is open.
        - Mac MGR: Fix ToolTip / Help Message for Mac: substitute "command key" for 
            "control key".
    
        clientgui/
            sg_DlgMessages.cpp, h
            sg_ProjectsComponent.cpp
            ViewMessages.cpp
    
    Bruce 19 Nov 2006
        - server: file_deleter would turn off -delete_antiques if it encountered a
          stale .nfs* lockfile which was more than 60 days older than the oldest WU.
          This should not happen! After these modifications, antique deletion
          will not be turned off, but a CRITICAL error message will be logged.
    
        sched/
            file_deleter.C
    
    Charlie 19 Nov 2006
        - MGR: Fix windows compile errors.
        - Mac: Ignore Quit AppleEvents if a modal dialog is open (to prevent 
            crashes if the user selects Quit from the Manager's Dock menu.)
    
        clientgui/
            BOINCGUIApp.cpp
            sg_ProjectsComponent.cpp
            ViewMessages.cpp
    
    Rom    20 Nov 2006
        - Update the Windows SKU detection code so that it can identify Win2k3 R2,
            tell the difference between Vista and Longhorn Server, IA32/IA64, and 
            AMD64
        - MGR: Remove the last code path which might still call
            InternetGetConnectedState.
        - Reenable the network detection stuff if the newer IsNetworkAlive API
            can be found.
            
        client/win/
            hostinfo_win.cpp
        clientlib/win/
            NetworkTracker.cpp
        lib/
            network.C
    
    David  20 Nov 2006
        - GUI RPC: return task and network mode delays in get_cc_status().
            This tells the GUI how long the current snooze is going to last.
    
        client/
            client_types.C,h
            gui_rpc_server_ops.C
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    David  20 Nov 2006
        - core client: fix win compile warnings
    
        client/
            app_start.C
            cs_cmdline.C
            win/
                win_service.cpp
    
    Rom    20 Nov 2006
        - MGR: Move the switch to simple GUI menu item to the View menu.
        
        clientgui/
            AdvancedFrame.cpp
    
    Rom    20 Nov 2006
        - MGR: Display the hand cursor when the mouse hovers over the BSG link
            bitmaps.
        - MGR: When the suspend reason is becuase of CPU throttling do not
            display a balloon showing that we are suspended.
            
        clientgui/
            BOINCTaskBar.cpp
            sg_CustomControls.cpp, .h
            sg_ProjectsComponent.cpp
    
    David  20 Nov 2006
        - core client: fix a bug in the shared-memory message passing code.
            Each message channel has a one-message buffer in shared mem.
            The send_msg() function checks if this is full.
            If not it puts the message there.
            If so it stores the message in a queue.
            Once a second, a poll function moves a message
            from the queue to the buffer (if it's empty).
    
            What's wrong with this? (let's not always see the same hands).
            Well, the send_msg() needs to handle the situation
            where there's a message in the queue but none in the buffer.
    
            This results in a bug in the CPU throttling mechanism
            that can cause a task to sleep forever.
        - core client: a SECOND significant bug in the shmem msg passing code.
            In general, the API library consumes at most one message per second
            from a given channel.
            That means that if you write more than one message/sec
            (even for a short period) it creates a queue that never goes away.
            If you write more than one message/sec indefinitely,
            it creates an unbounded queue.
    
            At this point, the only channel that uses queuing and can
            have more than one msg/sec is process control
            (because of CPU throttling).
            I put in kludge that handles this case:
            if we want to send a <resume/> and there's already
            a <suspend/> in the queue,
            remove the <suspend/> and don't send anything.
            And conversely.
        - core client: to debug all the above, added <app_msg_send>
            and <app_msg_receive> log flags.
            Also added some commented-out printfs in the API library.
    
        NOTE: in the course of debugging this I realized that, in the Windows
            version of the API, <suspend/> and <resume/> message result
            in calls to SuspendThread() and ResumeThread(),
            which inc and dec a "suspend counter".
            ResumeThread() decrements the counter, and resumes the thread
            only if the counter is then zero.
            This makes the process-control message-passing scheme fragile.
            If for some reason you send two <suspend/>s and a <resume/>,
            the result is that the job is suspended.
            At some point we should change to API to do the right thing.
    
        api/
            boinc_api.C
        client/
            app.C
            app_control.C
            log_flags.C,h
        lib/
            app_ipc.h
    
    Charlie 21 Nov 2006
        - Mac: Fix compiler warning.
        - MGR: Don't put an empty View menu in menu bar if not SimpleGUI.
        
        clientgui/
            AdvancedFrame.cpp
        client/
            app.C
    
    David  21 Nov 2006
        - core client: if we're preempting a job because total RAM
            usage is too high, preempt by quitting.
            
            This has a downside: it wastes CPU time for apps that
            don't checkpoint often.
            However, if we don't do it, the core client might
            try running dozens of queued apps, looking for one that fits in RAM.
            That might use too much swap space.
    
        client/
            client_state.h
            client_types.C
            cpu_sched.C
            cs_files.C
        lib/
            gui_rpc_client.h
    
    David  21 Nov 2006
        - core client: don't get work from a project with a backed-off download
            (from John McLeod)
    
        client/
            client_types.C,h
            cs_scheduler.h
    
    David  21 Nov 2006
        - GUI RPC: add a run mode, RUN_MODE_RESTORE,
            whose function is to set the mode back to its permanent value
            (i.e. to end a "snooze").
            The GUI now doesn't have to remember the original value.
    
        client/
            client_types.C
            gui_rpc_server_ops.C
        lib/
            common_defs.h
            gui_rpc_client_ops.C
            util.C
    
    Rom    22 Nov 2006
        - MGR: It turns out that wxWidgets exposes searching for a window by ID and
            by default dialogs all have an id of 10000, so if we can find a window
            with an ID of 10000 and it is of wxDialog type then disable the "Exit" 
            menu item.
        - MGR: Clean out a bunch of the #ifdef's that were littered across the
            taskbar implementation, the compiler can take care of removing the dead 
            code during the optimization phase. It is just to cluttered otherwise.
        - MGR: Change the BSG static project icon tooltip to read 
            "%s. Work done by %s: %0.2f" and make it localizable.
        - MGR: Change CDlgMessages to be a regular wxDialog derived class.
        - MGR: Change all dialogs so that they are declared as stack based items
            instead of heap based items.
        - MGR: Use the snooze restore feature that was just introduced into the
            core client.
        - MGR: Commit Frank's changes to properly support Unicode in the SkinManager
            for Debian based distros.
    
        client/
            client_types.C
        clientgui/
            AdvancedFrame.cpp
            BOINCGUIApp.cpp, .h
            BOINCTaskBar.cpp, .h
            Events.h
            MainDocument.cpp, .h
            sg_DlgMessages.cpp, .h
            sg_ProjectsComponent.cpp, .h
            sg_StatImageLoader.cpp
            SkinManager.cpp
    
    Charlie 22 Nov 2006
        - MGR: Fix bugs in adjusting taskbar menu items when modal dialog open:
            - Disable wxID_ABOUT item to prevent opening multiple copies of 
                About dialog (a problem on the Mac, not on Windows.)
            - Re-enable items when modal dialog is closed.
        - MGR: Fix broken messages, Pause, Resume buttons on Simple GUI.
        - Mac: Fix compiler errors and warnings.
        - Mac: Use new modal dialog detection logic to block Quit from Dock.
    
        clientgui/
            BOINCGUIApp.cpp
            BOINCTaskBar.cpp
            Events.h
            sg_ProjectsComponent.cpp
    
    Rom    22 Nov 2006
        - MGR: A little bit more cleanup work.
        - MGR: Use the shorthand "%d hr %d min %d sec" on the BSG for people
            who use large fonts.
            
        clientgui/
            BOINCTaskBar.cpp
            sg_ProjectsComponent.cpp, .h
            sg_ViewTabPage.cpp
    
    Charlie 22 Nov 2006
        - MGR: Change extra event ID ID_TB_EXIT back to wxID_EXIT.
        - MGR: Disable all items in taskbar menu when modal dialog open.
        - Mac MGR: Clear Help Menu when switching from Advanced GUI to  
            Simple GUI.
        - Mac MGR: Enable keyboard shortcut to close main SG window.        
    
        clientgui/
            BOINCTaskBar.cpp
            Events.h
            sg_BoincSimpleGUI.cpp, h
    
    Rom    22 Nov 2006
        - Tag for 5.7.5 release, all platforms
          boinc_core_release_5_7_5
    
    David  23 Nov 2006
        - don't allow work_buf_min_days less than 0.1
    
        lib/
            prefs.C
    
    Rom    23 Nov 2006
        - MGR: Snooze timeout is in seconds, not minutes, what was I thinking?
        
        clientgui/
            BOINCTaskBar.cpp
            sg_ProjectsComponent.cpp
    
    Rom    24 Nov 2006
        - MGR: Fix another preference bug. get_global_prefs_override_struct should
            not return success unless one of the preference values in the preference
            mask are true.
            
        lib/
            gui_rpc_client_ops.C
            prefs.C, .h
    
    David  25 Nov 2006
        - core client: if the user has suspended a result for a project,
            don't fetch more work from it.
        - core client: in work fetch and CPU sched policies,
            if a result has a stalled download,
            don't treat it as nearly runnable
        - core client: don't allow work_buf_min_days less than 0.01.
            The scheduler and work fetch policies demand that it be > 0
    
        client/
            client_types.C,h
            cpu_sched.C
            cs_scheduler.C
        lib/
            prefs.C
    
    David  25 Nov 2006
        - simple validator framework: bug fix, prevent crash
            if output file missing
            (from Hendrik Verhoek)
    
        sched/
            validate_util2.C
    
    Charlie 26 Nov 2006
        - Mac MGR: Modify XCode Project so default Manager build is 
            SimpleGUI(i.e., targets Build_All and mgr_boinc now build 
            Manager with Simple GUI).
    
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    David  26 Nov 2006
        - validator: clean up check_pair() (from validate_util2.C) a little:
            The function now returns void.
            Either it returns with retry == true (in case of a transient error)
            or it sets r1.validate_state to either VALID or INVALID.
        - validator.C: handle_wu() now returns zero if the WU
            was actually handled (i.e. there wasn't a transient error)
            Sleep if nothing was actually handled
            (i.e. either there were none, or they all had transient errors)
        (from M.F. Somers, much belated)
    
        sched/
            validate_util.C
            validate_util2.C
            validator.C
    
    Charlie 26 Nov 2006
        - MGR: Fix 2 preferences dialog bugs:
            - Set checkbox only if mask is set for one or more items on the 
                dialog (i.e., ignore masks for items not on dialog).
            - Add the value 3 to the idle time choices.  This makes the dialog's 
                default value the same as the web-based preferences default.
            - Fix logic to properly delete empty override file.
                
        clientgui/
            sg_DlgPreferences.cpp, h
        lib/
            prefs.C
    
    David  27 Nov 2006
        - manager: improve appearance of disk tab
    
        clientgui/
            ViewResources.cpp
    
    David  27 Nov 2006
        - validator: removed <max_claimed_credit> and <grant_claimed_credit>
            from config file, and add command-line args to validator:
            -max_claimed_credit X (invalidate any result that claims more than this)
            -max_granted_credit X (grant at most this)
            -grant_claimed_credit (always grant claimed credit)
    
            By making these params of the validator,
            they can vary from between applications
    
            (from Hendrick Verhoek)
    
        sched/
            sched_config.C,h
            validate_util2.C
            validator.C,h
    
    David  28 Nov 2006
        - Manager: ask for disk usage at most every 60 sec
    
        clientgui/
            ViewResources.cpp
    
    Charlie 30 Nov 2006
        - Mac: Add WCG skin to Mac installer.
        
        mac_installer/
            release_boinc.sh
            preinstall
    
    David  1 Dec 2006
        - New features for Statistics tab:
            1) Zoom (LeftMouseDown + Move Mouse) 
               "AutoZoom" - Rigth Mouse Click or change "Project", "ModeView"...
               + Marker (LeftMouseClick)
            2) "Legend" scroll  (button "< Next project" "Prev project >").
                When very many projects and 15" monitor
            (from Mifistor)
    
            COMMENT: the zoom features are not obvious.
            Can we document them in the interface somehow?
    
        clientgui/
            ViewStatistics.cpp,h
    
    David  1 Dec 2006
        - a bunch of changes to BOINC Help
    
        doc/
            help_*
    
    Rom    2 Dec 2006
        - Check in WCG project files.
        
        client/win/
            *.rc
        clientgui/
            *.rc
        win_build/
            wcg_*.sln
            wcg_*.vcproj
    
    Bruce 4 Dec 2006
        - If browser contacts scheduler CGI, redirect to project home page
    
        sched/
            server_types.C
    
    David  4 Dec 2006
        - if browser contacts scheduler, link to homepage but don't redirect
    
        sched/
            main.C
            server_types.C
    
    David  4 Dec 2006
        - scheduler: don't send anything special to browsers.
            Send reply as XML.
        - simple GUI: work is done by a user, not for a user
    
        sched/
            server_types.C
        clientgui/
            sg_StatImageLoader.cpp
    
    Reinhard 6 Dec 2006
        configure.ac
        increased transparancy for glut-test: added extra tests for libXmu and
        libXi which are prerequisites to the glut-test 
        ==> if glut-test fails because of one of these libs missing, give a warning.
    
    Rom    5 Dec 2006
        - BSG: Change the copy and copy all buttons to bitmaps.
        
        clientgui/
            sg_DlgMessages.cpp
            SkinManager.cpp, .h
    
    David  6 Dec 2006
        - maybe fixed crash bug in core client:
            If an app was doing screensaver graphics
            and didn't respond for 4 seconds to message to hide graphics,
            we were calling kill_task() but not setting
            ACTIVE_TASK::task_state = PROCESS_ABORTED.
            As a result, the ACTIVE_TASK wasn't getting removed.
            Further attempts to reference its shared-mem segment
            or its handle would produce errors;
            eventually the core client crashes.
            Solution: set task_state to ABORTED in kill_task();
            Note: actually we don't want to kill the task in this case.
            I'll do this later.
        - core client: print separate message when killing non-responding
            screensaver app
        - core client: prepend [file_xfer] to messages where needed
        - server DB code: add ping_user, ping_time fields to TEAM
            (not used in C++ code, but should be here for good form)
    
        client/
            app.C,h
            app_control.C
            app_graphics.C
            pers_file_xfer.C
            ss_logic.C
        db/
            boinc_db.C,h
    
    Rom    7 Dec 2006
        - Add clicked bitmaps for the copy/copy all buttons.
        - Remove old installer version check from the newer MSI installer
            package.
            
        clientgui/
            SkinManager.cpp
    
    David  7 Dec 2006
        - core client: add "bool restart" arg to kill_task.
            If true, the process is killed but we arrange to
            restart it again, instead of erroring out the result.
            (used when the app is killed because it doesn't respond
            to stop-screensaver-graphics message)
            This completes the fix from yesterday.
        - core client: changed screensaver-mode ack timeout
            from 2 sec to 3 sec;
            added some debug messages
        - API: add bool g_sleep: if you set this to true,
            timer activities stop (simulate application freezing up).
    
        api/
            boinc_api.C,h
            windows_opengl.C
        client/
            app.C,h
            app_control.C
            app_graphics.C
            gui_rpc_server_ops.C
    
    Rom    7 Dec 2006
        - MGR: Add support for the help button to the skin manager.
        
        clientgui/
            SkinManager.cpp, .h
    
    David  7 Dec 2006
        - change sample_get_project_config.php so that it can be used
            to get project status.  Its reply will have
            <sched_stopped>1</sched_stopped>
                if the scheduler is disabled
                (note: the project may have no work; no API tells you that)
            <web_stopped>1</web_stopped>
                if web access to the DB is disabled
            (renamed project_is_stopped() to web_stopped() in util.inc;
            some projects may need to update their home pages accordingly)
        - core client: use vsnprintf() instead of vsprintf()
            to protect against buffer overrun
    
        COPYRIGHT
        client/
            cs_scheduler.C
        html/
            inc/
                util.inc
                xml.inc
            user/
                sample_get_project_config.phhp
                sample_index.php
        lib/
            mfile.C
    
    Rom    7 Dec 2006
        - MGR: Merge the run_if_user_active and idle_time_to_run prefernces.
        
        clientgui/
            sg_DlgPreferences.cpp, .h
    
    David  8 Dec 2006
        - API: fixed nasty bug that can result in application
            being both suspended (worker thread not running)
            and in a critical section (timer thread
            ignores messages to wake up worker thread).
            This is a deadlock; the app will never progress.
            The problem: bool in_critical_section
            needs to be declared volatile because it's used by both threads.
            Why didn't I listen to Bruce Allen when
            he told me to do this a long time ago?
        - Core client: deal with apps that stop accepting
            process control messages (due to the above bug).
            Several parts to this:
            - Add a timeout to process control message queue.
                If 180 seconds elapse with an unread process control
                message in the send buffer, kill and restart the app.
                Note: when a process is checkpointing it doesn't
                handle process control messages,
                so this timeout needs to be large enough to handle
                the longest possible checkpoint.
                I think 180 should be large enough.
            - Initialize message queues on app (re)start.
            - MSG_QUEUE::msg_queue_purge() was conceptually messed up.
                We don't want to purge ALL the messages of the opposite type,
                just the one at the tail of the queue.
        Whew!  This one was exhausting.
    
        api/
            boinc_api.C
        client/
            app.C
            app_control.C
            app_start.C
        lib/
            app_ipc.h
    
    Charlie  8 Dec 2006
        MGR: Make width of preferences dialog combo boxes size automatically 
            to fit menu items on different platforms.
            
        clientgui/
            sg_DlgPreferences.cpp
    
    Charlie  9 Dec 2006
        MGR: Fix a (probably rare) crash bug.
    
        clientgui/
            SkinManager.cpp
    
    David 11 Dec 2006
        - core client: preliminary checkin for auto-update functionality.
            (Note: this feature will not be enabled by default)
    
        client/
    		Makefile.am
            auto_update.C,h (new)
            client_state.C,h
            client_types.C
            cs_scheduler.C
            cs_statefile.C
            file_names.C,h
            scheduler_op.C,h
        html/user/
            language_select.php
            sample_get_project_config.php
        lib/
            common_defs.h
            gui_rpc_client.h
    	win_build/
    		boinc_cli_curl.vcproj
    
    Rom    11 Dec 2006
        - MGR: Setup 'Help' so that it'll go to a 'manager_links.php' page which
            can redirect the browser to the correct page based on which view is
            requested.
        - MGR: Use wxDefaultSize instead of wxSize(-1, -1) to future proof the
            code against future versions of wxWidgets.
        - MGR: Enable the accelerator table in the Simple GUI for all platforms.
        
        clientgui/
            AdvancedFrame.cpp, .h
            BOINCBaseFrame.cpp, .h
            sg_BoincSimpleGUI.cpp, .h
            sg_DlgPreferences.cpp
    
    Charlie 11 Dec 2006
        - Mac: update XCode project for new auto_update source files.
        - MGR: fix anomaly in wxMac handling of accelerator table.
    
        clientgui/
            sg_BoincSimpleGUI.cpp
        mac_build/
            boinc.xcodeproj/
                project.pbxproj
    
    Rom    12 Dec 2006 (Forked from HEAD)
        - Branch boinc_core_release_5_8 created for the BOINC 5.8 client release.
    
    David  12 Dec 2006
        - add updater program
    
        configure.ac
        lib/
            Makefile.am
            updater.C (new)
    
    David  12 Dec 2006
    	- bug fixes to auto-update
    	- don't print spurious error message in mfile.C
    
    	client/
    		auto_update.C
    		client_types.C,h
    		file_names.C,h
    		scheduler_op.C
    	lib/
    		mfile.C
    	win_build/
    		updater.vcproj (new)
    		boinc.sln
    
    David  12 Dec 2006
        auto-update stuff:
        - core client: add -launched_by_manager option
            (so that it knows what to do after auto-update)
        - GUI RPC: add bool CC_STATUS::manager_must_quit
            so core client can tell manager to quit
        - Manager: quit if get the above
            Note: quit by exit(0); should probably show the user something
    
        client/
            client_state.C,h
            cs_cmdline.C
        clientgui/
            BOINCGUIApp.cpp
            MainDocument.cpp
        lib/
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    Charlie 13 Dec 2006
        - MGR: Fix Compiler warnings.
        - Mac: Add user preferences file to list of BOINC files in 
            documentation.
    
        client/
            auto_update.C
        clientgui/
            ViewStatistics.cpp
        doc/
            mac_advanced.php
            release_notes.php
        mac_installer/
            GR-ReadMe.rtf
            ReadMe.rtf
    
    David  13 Dec 2006
        - moved updater from lib/ to tools/
    
        configure.ac
        lib/
            Makefile.am
        tools/
            Makefile.am
            updater.C (moved from lib/)
    
    David  13 Dec 2006
        - more debugging of auto-update
            WOO HOO!  It works in a basic way on Linux.
        - moved check_unique_instance() (client/main.C)
            to wait_client_mutex() (lib/util.C)
            and gave it a timeout argument.
            Updater needs mutex to wait for client to exit and vice-versa.
        - added run_program() to util.C.
        - core client: changed version number vars to VERSION_INFO
            
        client/
            acct_mgr.C
            acct_setup.C
            auto_update.C
            client_state.C,h
            client_types.C
            cs_scheduler.C
            cs_statefile.C
            main.C
        lib/
            Makefile.am
            common_defs.h
            util.C,h
        tools/
            updater.C
    	win_build/
    		updater.vcproj
        tools/
            updater.C
    
    Charlie 13 Dec 2006
        - Mac: remove WCG skin from Mac installer (undo change of 30 Nov.)
    
        mac_installer/
            release_boinc.sh
    
    David  14 Dec 2006
        - moved clientlib/win/Identification.cpp to lib/win_util.C
    
    David  14 Dec 2006
    	- got stuff to compile on Windows again
    
    	client/
    		main.C
    	clientlib/win/
    		AuthenticatorDetection.cpp
    		IdleTracker.cpp
    		boinc_dll.cpp
    	lib/
    		util.C
    		win_util.C
    	win_build/
    		boinc_dll.vcproj
    		boinc_ss.vcproj
    		boincmgr_curl.vcproj
    		libboinc.vcproj
    
    David  14 Dec 2006
        Further work on auto-update:
        - add synchronization so that the core client,
            when it's ready to do an auto-update,
            arranges for any local Manager and screensaver to exit first.
            This is done in a slighly kludgy way:
            any GUI RPC connection that has done a get_screensaver_mode()
            is assumed to be a screensaver,
            and we send it a SS_STATUS_QUIT on its next request.
            Any connection that has done a get_cc_status() is assumed to
            be a Manager, and we set <manager_must_quit> on the next request.
            The core client waits until these have been sent,
            and waits an additional 10 seconds to let the other program exit.
        - updater: add a mandatory --install_dir argument (don't assume ../../..)
        - wait_client_mutex(): add a directory argument;
            the updater needs to acquire the mutex while it's
            running in a different directory
        - FILE_LOCK: don't use lots of file descriptors if called repeatedly
        - util.C: add boinc_getcwd()
    
        client/
            auto_update.C
            gui_rpc_server.C,h
            gui_rpc_server_ops.C
            main.C
        lib/
            filesys.C,h
            util.C
        tools/
            updater.C
    
    Charlie  14 Dec 2006
        - Fix compiler warning.
    
        lib/
            util.C
    
    Charlie 15 Dec 2006
        - Mac BSG: We can't completely eliminate the Mac menu bar or 
            the Help menu, so we might as well make them useful.
        - Mac MGR: implement the Mac's Help keyboard shortcut.
        
        clientgui/
            AdvancedFrame.cpp, .h
            sg_BoincSimpleGUI.cpp, .h
    
    David  15 Dec 2006
        - core client: add GUI RPCs to get/set/read cc_config.xml
        - boinc_cmd: add command to read cc_config.xml
        (from Sebastian Masch)
    
        client/
            gui_rpc_server_ops.C
            log_flags.C,h
        lib/
            boinc_cmd.C
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    David  15 Dec 2006
    	- Manager: add "read prefs file", "read config file"
    		entries to Advanced menu
    
    	clientgui/
    		AdvancedFrame.cpp,h
    		Events.h
    
    David  15 Dec 2006
    	- core client: disable auto update with compile flag
    
    	client/
    		cs_scheduler.C
    
    Rom    18 Dec 2006
        - MGR: Make the advanced gui build in Unicode again.
          (From: Ron Parker)
        
        clientgui/
            AdvancedFrame.cpp
            
    
    Charlie 19 Dec 2006
        - Mac: Fix bug in setupForBOINC build script handling of -clean 
            option.
        mac_build/
            setupForBOINC.sh
    
    David  19 Dec 2006
    	- core client: add "<http_1_0/>" config flag for
    		people with proxies that require HTTP 1.0.
    		Curl's default is 1.1
    
    	client/
    		http_curl.C
    		log_flags.C,h
    		scheduler_op.C
    
    David  19 Dec 2006
        - boinc_cmd: fix help()
        - get rid of some unused error codes
    
        lib/
            boinc_cmd.C
            crypt.C
            error_numbers.h
            util.C
    
    David  19 Dec 2006
        - boinc_cmd: make "duration" argument optional in
            --set_run_mode and --set_network_mode
    
        lib/
            boinc_cmd.C
    
    David  19 Dec 2006
        - API: change boinc_write_init_data_file()
            to take a APP_INIT_DATA& argument.
            This makes it usable to compound applications.
        - API: change defaults to zero and empty strings
            when parsing app init data.
    
        api/
            boinc_api.C,h
        lib/
            app_ipc.h
    
    Walt   19 Dec 2006
        - MGR: Fix compile errors with Unicode builds
    
        clientgui/
            AdvancedFrame.cpp
            sg_BoincSimpleGUI.cpp
            sg_ClientStateIndicator.cpp, h
            sg_ImageButton.cpp
            sg_StatImageLoader.cpp
            sg_ViewTabPage.cpp
    
    
    Walt   19 Dec 2006
        - MGR: Add simple GUI files to makefile
    
        clientgui/
            Makefile.am
    
    Charlie 20 Dec 2006
        - MGR: Fix compile warning due to a coding error.
        
        clientgui/
            sg_BoincSimpleGUI.cpp
    
    David  21 Dec 2006
        - core client: improve error messages on RPC deferral
    
        client/
            client_types.h
            cs_scheduler.C
            scheduler_op.C
        html/inc/
            stats_sites.inc
        lib/
            util.C
    
    Rom    21 Dec 2006
        - MGR: Simplify snooze so that it only applies to CPU usage.
        - MGR: Remember message dialog size and list view column widths
            for all platforms.
        - MGR: Fix an annoying bug when the advanced gui suspended all
            tasks and then you tried to resume from the simple gui.
            
            Restore didn't work when the task_mode_perm was equal to
            never and their was no timeout.
            
            We should probably move this logic down into the CC.
        - LIB: Don't display foreground window information unless the
            user has agreed to allow it to happen via the registry.
            
            Their was concern about privacy issues with window titles.
            
        clientgui/
            BOINCTaskBar.cpp
            MainDocument.cpp, .h
            sg_DlgMessages.cpp
        lib/
            diagnostics_win.C
    
    Rom    21 Dec 2006
        - MGR: Add context help to the BSG.
        
        clientgui/
            sg_DlgMessages.cpp, .h
            sg_DlgPreferences.cpp
            sg_ProjectsComponent.cpp, .h
            stdwx.h
    
    Charlie 22 Dec 2006
        -MGR: Fix crash bugs: don't call SetBackgroundColour() or 
            SetForegroundColour() before wxDialog::Create().
            
        clientgui/
            sg_DlgMessages.cpp
            sg_DlgPreferences.cpp
            
    David  23 Dec 2006
        - core client: add missing error message case on attach failure
        - DB: user "tinyint not null default 0" for bools;
            no need to single-quote table and column names in queries
    
        client/
            cs_account.C
        db/
            schema.sql
        html/ops/
            db_update.php
    
    Rytis  23 Dec 2006
        - User web: fix loophole where users could put
            arbitrary HTML in forum messages
            
        html/
            inc/
                forum.inc
                text_transform.inc
            user/
                edit_forum_preferences_action.php
                forum_edit.php
                forum_forum.php
                forum_moderate_thread.php
                forum_reply.php
    
    David  25 Dec 2006
        - Various changes to deal with the situation where someone
            attaches to a project while its scheduler is down.
            Currently the attach fails.
            This is a relic of the attach-using-account-key era.
            Change it so that:
            1) the project_attach GUI RPC has a project_name argument
                (so that we can show the project name even before
                we've done a scheduler RPC)
            2) the attach succeeds even if the initial RPC fails
            Note: we can probably get rid of the PROJECT::tentative flag.
        Note: the logic for attaching to a project with an init file
        (or with "cached credentials", as confusingly described in the Manager
        code) is messed up, or at least poorly documented.
    
        client/
            acct_mgr.C
            client_state.h
            cs_account.C
            cs_cmdline.C
    		cs_scheduler.C
    		scheduler_op.C
        clientgui/
            MainDocument.cpp
            ProjectProcessingPage.cpp
    		ProjectPropertiesPage.cpp
        lib/
            boinc_cmd.C
            gui_rpc_client.h
            gui_rpc_client_ops.C
    
    David  27 Dec 2006
        - deprecate the email_validated field of user table.
            This isn't used for anything, and confuses users.
    
        db/
            boinc_db.h
        html/
            inc/
                db_ops.inc
                email.inc
            user/
                am_set_info.php
                edit_email_action.php
                validate_email.php (removed)
    
    David  27 Dec 2006
    	- Manager: new version of Work tab with progress bar.
    		This is a work in progress; for now, include both old and new tabs.
    		(from Frank Weiler)
    
    	clientgui/
    		AdvancedFrame.cpp
    		BOINCGridCtrl.cpp,h (new)
    		Events.h
    		ViewWorkGrid.cpp,h (new)
    		stdwx.h
    	win_build/
    		boincmgr_curl.vcproj
    
    David  27 Dec 2006
        - db_dump: add <archive_dir> option in config file;
            check for existence of output_dir, final_output_dir in config file
    
        sched/
            db_dump.C
    
    David  27 Dec 2006
        - comment out Windows logic in graphics_possible.C
            (as implemented, requires MS linker)
    
        api/
            graphics_api.C
    
    David  27 Dec 2006
        - core client: remove handle leak in extremely rare case
    
        client/
            file_name.C
    
    David  28 Dec 2006
    	- core client: fix bugs in calculation of network status
    	- Manager: add ellipses to menu items that bring up dialogs,
    		tweak wizard text
    
    	client/
    		acct_setup.C,h
    		net_stats.C,h
    	clientgui/
    		AdvancedFrame.cpp
    		ProxyInfoPage.cpp
    
    Rom    28 Dec 2006
        - SCRSAV: Use RegisterSystemMessage instead of using WM_USER for the
            WM_INTERRUPTSAVER and WM_SETTIMER events.
        - SCRSAV: Clarify which window is receiving the WM_INTERRUPTSAVER
            event from the DataProc Thread.
            
        client/win/
            win_screensaver.cpp, .h
    
    David  28 Dec 2006
        - User web: on user page, show list of their other projects.
            This uses the XML RPC being exported by James Drews.
    
        html/
            user/
                show_user.php
                white.css
            inc/
                cache.inc
                util.inc
    
    Rom    29 Dec 2006
        - SCRSAV: Fix build break.
        - MGR: Refactor the timer management code whithin the advanced frame.
    
        client/win/
            win_screensaver.cpp
        clientgui/
            AdvancedFrame.cpp, .h
            BOINCBaseFrame.cpp, .h
            BOINCBaseView.cpp, .h
            BOINCDialupManager.cpp, .h
            ViewStatistics.cpp, .h
    
    David  29 Dec 2006
        - user web: add project list to private use page also;
            sort projects by descending avg credit;
            don't link to user page on WCG (they don't have them)
        - start script: say "not running", not "not found"
    
        html/
            inc/
                user.inc
            user/
                home.php
                show_user.php
        sched/
            start
    
    Rytis  29 Dec 2006
        User web:
        - Fix forum thread locking notification issues.
        - Disallow post editing if the thread is locked.
        - Fix post_str to remove PHP notices.
        - Fix post ratings (who put exit(0) in the code?)
            
        html/
            inc/
                forum.inc
                forum_forum.inc
                forum_post.inc
                util.inc
            user/
                forum_edit.php
                forum_rate.php
                forum_thread.php
    
    David  29 Dec 2006
        - web site: made the help page and the "Volunteer" part
            of the front page translatable.
    
        languages/
            translations/en.po
    
    David  29 Dec 2006
    	- Manager: grid-based variant of Transfers tab
    		(from Frank Weiler)
    		Note: for this to work correctly,
    		you need to modify grid.h in the wxWidgets source,
    		and recompile it.
    		We'll try to figure out how to get around this.
    
    	clientgui/
    		AdvancedFrame.cpp
    		BOINCGridCtrl.cpp,h
    		Events.h
    		ViewTransfersGrid.cpp,h (new)
    		ViewWorkGrid.cpp
    	win_build/
    		boincmgr_curl.vcproj
    
    David   29 Dec 2006
        - validator: fixed bug that caused max_granted_credit
            to not be enforced in some cases
            (from Hendrik Vorhoek)
    
        sched/
            validator.C
    
    David   29 Dec 2006
        - user web: when showing team email list,
            add option (&plain=1) to show it as plain text
            that you can copy and paste into an email client
    
        html/
            inc/
                user.inc
            user/
                team_email_list.php
    
    David   29 Dec 2006
        - fix compile warnings in sched code
    
        db/
            db_base.h
    
    Rom    29 Dec 2006
        - MGR: Make the simple preferences and messages dialogs have their
            own help handler, apparently when the event bubbles up to the
            frame the control ID's were being remapped to the frame window
            ID.
            
        clientgui/
            sg_DlgMessages.cpp, .h
            sg_DlgPreferences.cpp, .h
    
    David   30 Dec 2006
        - Manager: forgot to add new files to Makefile.am
    
        clientgui/
            Makefile.am
    
    David   30 Dec 2006
        - start script: use lockf() instead of flock()
            see http://www.python.org/doc/2.3/lib/module-fcntl.html
            (from Eric Myers)
    
        sched/
            start
    
    Rytis   30 Dec 2006
        - Forum: do not show hidden threads when the user is logged out.
        
        html/user/
            forum_thread.php