1eavid  1 Jan 2005
2    - Deprecated the bad hash function used for the
3        upload/download directory hierarchies.
4        It wasn't uniform.
5        Use MD5 instead.
6
7        Kept the old one around for a the time being.
8        dir_hier_path() and dir_hier_url() take a new arg
9        saying whether to use new or old hash.
10        The file_deleter and validator try the new hash, then the old.
11
12    doc/
13        busy_work.php (new)
14        tools_work.php
15    lib/
16        util.C,h
17    sched/
18        file_deleter.C
19        file_upload_handler.C
20        make_work.C
21        validate_util.C
22        wu_check.C
23    tools/
24        backend_lib.C
25        dir_hier_move.C
26        dir_hier_path.C
27
28David  3 Jan 2005
29    - split the implementation of REDUCE into 2 parts,
30        one for the app's main program and one for the shared library
31
32    api/
33        Makefile.am
34        reduce.C (removed)
35        reduce_lib.C (new)
36        reduce_main.C (new)
37
38Bruce 5 Jan 2005
39Bruce 6 Jan 2005
40    - added new directory which builds a self-extracting tar
41      archive (executable shell script) for installation on
42      unix platforms.  This will only be made when building
43      the client GUI and installs both the boinc client and
44      client GUI.  Written and tested by Bernd Machenschalk.
45
46    - next day revision, name shell script with appropriate
47      version/release number from configure.ac
48
49     Makefile.am
50     sea/  [New Directory]
51         make-sea.sh
52         Makefile.in
53         BOINC/  [THIS DIRECTORY IS SPURIOUS: NO LONGER NEEDED]
54
55Janus 6 Jan 2005
56    - Added support for an "Ignore" function in the forums
57      Users can now ignore a list of other users. The ignored
58      posts will appear as filtered.
59
60      To use this the forum_preferences table needs a new
61      column:
62
63      ALTER TABLE `forum_preferences` ADD `ignorelist` VARCHAR( 254 ) NOT NULL ;
64
65    - Added thread name to page title in forums (from Athlonrob)
66    - Round scores and ratings in forum to avoid a rating of
67      for instance 2.999999999
68
69    /html/user
70        edit_forum_preferences_form.php
71        edit_forum_preferences_action.php
72        forum_thread.php
73    /html/inc
74        forum.inc
75
76Rom    6 Jan 2005
77    - Bug Fix: fix crashing bug when running the old gui and new gui
78        side by side
79    - Bug Fix: Fix sync bug in new gui related to how the number of
80        rows were being calculated
81    - Bug Fix: Remove the explict call to freeze/thaw which was causing
82        the messages tab to flicker even when the data has not changed.
83    - Bug Fix: On Windows systems that support tooltip bubbles, don't
84        populate the regular tooltip field as it will appear before
85        the bubble request and makes the taskbar applet appear
86        ugly
87    - Bug Fix: The new gui should enforce closing down the core client
88        when it launches the core client, we were using the wxWidget
89        framework to do this, but the call to wxProcess::Exists causes
90        an assert on Windows if the process doesn't exist.  And sometimes
91        crashes in a release build.
92    - Bug Fix: When syncing the views cache make sure there is at least
93        one item to syncronize, otherwise we'll reference a NULL pointer
94        and blow up.  This fixes the crashing bug when you startup and
95        shutdown the core client in the background.
96
97    client/win/
98        wingui_mainwindow.cpp
99    clientgui/
100        BOINCGUIApp.cpp, .h
101        BOINCBaseView.cpp
102        ViewMessages.cpp
103        ViewProjects.cpp
104        ViewResources.cpp
105        ViewTransfers.cpp
106        ViewWork.cpp
107    clientgui/msw/
108        taskbarex.cpp
109
110Rom    6 Jan 2005
111    - Bug Fix: On Windows 2000 machines or better use the GetLastInputInfo
112        API to determine if the system is idle or not instead of hooking
113        into each process space.  This will fix the possible warnings
114        that key logging detection tools throw with BOINC is started up.
115        For older platforms we'll hook into the process space.
116    - Bug Fix: Detect system idle properties across the terminal services
117        boundry.  Thanks to Eric Youngdale for the patch.
118    - Bug Fix: Detect the condition where the system tick count may have
119        looped back to zero.
120
121    client/
122        main.C
123    client/win/
124        hostinfo_win.cpp
125        win_idle_tracker.cpp, .h, .def
126    clientgui/
127        BOINCGUIApp.cpp, .h
128        BOINCTaskBar.cpp, .h
129        MainFrame.cpp, .h
130
131Rom    7 Jan 2005
132    - Bug Fix: Provide better visuals during the connect and disconnected
133        states for the BOINC Manager
134    - Bug Fix: Provide written text describing the BOINC Manager state
135    - Bug Fix: Add new strings to language files
136
137    clientgui/
138        MainFrame.cpp, .h
139        stdwx.h
140    clientgui/res/
141        connect.xpm
142        disconnect.xpm
143    clientgui/locale/
144        < All PO files >
145
146Janus   7 Jan 2005
147    - Bug fix: Don't show icon column in helpdesk - icons are not used here
148    - Bug fix: Filtering can now be turned off in helpdesk
149    - Ignored userlist is now unique and sorted by userid
150      (patches from Christian Beer - thanks!)
151    - More score rounding to avoid float inaccuracy
152
153      /html/user
154        edit_forum_preferences_action.php
155      /html/inc
156        forum_show.inc
157        forum.inc
158
159David  7 Jan 2005
160    - drop the indices on mod_time.
161        (result: app_mod_time, workunit: wu_filedel)
162        For SETI@home they were too much of a performance hit.
163        They're needed only for db_purge and result_summary.php,
164        which will have to do a sequential scan instead
165    - db_dump: try several times to remove old stats directory
166
167    db/
168        constraints.sql
169    html/ops/
170        db_update.php
171    sched/
172        db_dump.C
173        sched_locality.C
174
175David  7 Jan 2005
176    - User web: show "external" version of cross-project ID
177        (i.e. hashed with email_addr) in the My Account page.
178        It will now match what's in the XML dump files
179
180    html/inc
181        user.inc
182
183Rom    7 Jan 2005
184    - Bug Fix: Fix compile error on Unix platforms for the BOINC Manager
185    - Bug Fix: Don't blow out of the core client when running as a service/daemon
186        and adding a project fails.  Thanks to Sebastian Masch for tracking
187        down the bug.
188
189    client/
190        client_state.C, .h
191        cs_cmdline.C
192        main.C
193    clientgui/
194        BOINCGUIApp.cpp
195
196David  7 Jan 2005
197    - fixes from Christian Beer to avoid undefined PHP vars
198
199    html/
200        inc/
201            db_ops.inc
202        ops/
203            db_action.php
204            db_form.ph
205
206Bruce 7 Jan 2005
207
208    - Reinhard has done a substantial amount of work in the past
209      couple of weeks to fix a number of bugs and problems in the
210      X-windows and/or Mac graphics event loop, and with lockfile
211      handling problems seen on a number of Unix file systems. A
212      brief summary of the changes is:
213
214      lockfile: replace calls to exit() by boinc_finish() + make
215      boinc_finish() remove the lockfile
216
217      graphics-eventloop: some re-structuring and simplification to
218      make handling of glut-exits/abort-signals more robust.  Eric,
219      if you could test this under Solaris we'd be very grateful.
220
221    api/
222        boinc_api.C
223        graphics_impl.C
224        x_opengl.C
225        diagnostics.C
226        filesys.C
227
228Rom    7 Jan 2005
229    - Bug Fix: The screensaver doesn't really need to update every second. change
230        it to update once a minute.
231    - Bug Fix: The screensaver only needs to detect if BOINC is running once,
232        if it doesn't detect it display the not detected message.
233
234    client/win/
235        win_screensaver.cpp
236
237David  7 Jan 2005
238    - off-by-1 error caused trivial validator to not work
239
240    sched/
241        validate_util.C
242
243David  7 Jan 2005
244    - moved dir hierarchy code from lib/util.C to sched/sched_util.C
245    - buffer was too small by 1 byte in md5_file.C
246
247    lib/
248        md5_file.C
249        util.C,h
250    sched/
251        file_deleter.C
252        sched_util.C,h
253
254David  7 Jan 2005
255    - Changed Makefile.am's to use libraries (libboinc.a, libsched.a)
256        instead of listing separate .o files
257
258    Makefile.incl
259    sched/
260        Makefile.am
261        wu_check.C
262    tools/
263        Makefile.am
264        backend_lib.C
265        dir_hier_move.C
266        dir_hier_path.C
267
268David  7 Jan 2005
269    - Win compile fix
270
271    api/
272        boinc_api.C
273
274David  7 Jan 2005
275    - add "ignorelist" field to forum_preferences
276    - add script for correcting team.nusers
277        (can drift away from correct value for some reason)
278    - User web mods:
279        - improve result field explanations
280        - user date_str() instead of time_str() when showing signup date
281
282    db/
283        schema.sql
284    html/
285        inc/
286            result.inc
287            team.inc
288            user.inc
289            util.inc
290        ops/
291            db_update.php
292            team_repair.php (new)
293        user/
294            explain_state.php
295
296Bruce 8 Jan 2005
297
298    In order to coordinate better with David, I am doing a slightly
299    premature checkin of modifications to scheduling locality.  The
300    basic idea is to provide a simple notification mechanism to the
301    project, so that if no work is currently available for a given
302    data file, there is an opportunity to make such work.  This is
303    controlled by an additional tag in config.xml, of the form:
304
305    <locality_scheduling_wait_period> N </locality_scheduling_wait_period>
306
307    where N is some number of seconds.  If this new tag is absent,
308    then the locality scheduler behaves as before.
309
310    The modification to behavior happens in send_results_for_file().
311    This is the function that queries the database to see if there are
312    unsent results available for a given (large) data file on the
313    host.  Previously, if such results are not found the scheduler
314    gives up and tries sending other results.  With this modification,
315    if N is nonzero, then if no results are found the scheduler
316    touches a file with the same name as the host's data file, in a
317    directory
318       PROJECT_ROOT/locality_scheduling/need_work/
319    The scheduler then sleeps for N seconds, and makes one additional
320    attempt to find suitable unsent results. The idea is that in this
321    interval, the project has an opportunity to make additional WU for
322    this file, which the transitioner can convert to unsent
323    results. [Note, the transaction for the first query is completed
324    before the sleep(N), and a new transaction is initiated
325    afterwards. So there is no 'sleep within a transaction'.] This
326    delay allows the project to make additional workunits suitable for
327    the host's existing data files.
328
329    In addition, if the project determines that NO further workunits
330    can be made for a given data file, then the project can touch a
331    file with the same name as the input data file, in a directory
332          PROJECT_ROOT/locality_scheduling/no_work_available/
333    If the scheduler finds this warning then it assumes that the
334    project can not manufacture additional WU for this data file and
335    skips the 'notify, sleep, query again' sequence above.  Of course
336    it still does the initial query, so if the transitioner has made
337    some new results for an existing (old) WU, they will get picked
338    up.
339
340    This mechanism is robust in the sense that if the signals fail for
341    any reason, or (say) the WU are not converted into unsent results
342    quickly enough by the transitioner, or if they are snapped up by
343    some other host, then the scheduler simply proceeds as with its
344    current unmodified behavior and nothing goes wrong.  In other
345    words, the signals can be ignored at any time and for any time
346    without adverse consequences.
347
348    TODO: further testing.
349
350    sched/
351        sched_locality.C
352
353David  8 Jan 2005
354    Some changes related to locality scheduling:
355
356    - Factored Bruce's new code into a separate function,
357        make_more_work_for_file()
358    - Remove the 'id>X' stuff from queries.
359        Assuming that work is fairly homogeneous
360        (i.e. no results are rejected because of resource requirements)
361        this is not needed.
362        If a result has already been sent,
363        it won't qualify for the select anyway.
364    - Add a 'workunitid<>X' clause to the queries.
365        This is to make the process of enforcing the
366        one_result_per_wu_per_user rule more efficient.
367        If the rule is not in effect, X is zero (so always true)
368    - If two consecutive select queries return the same result,
369        break out of the loop (avoid undesired looping)
370    - Use a for i=1,100 loop instead of a while(1) loop
371        around the work-sending logic,
372        to avoid infinite loops just in case
373
374    sched/
375        sched_locality.C
376
377David  8 Jan 2005
378    - Implement the <locality_scheduling_wait_period> element in config.xml
379        If present, this tells the scheduler how long to sleep
380        between requesting more work for a file
381        and looking for it (and giving up if it's not there)
382        If absent, the scheduler doesn't request more work unit generation.
383
384    sched/
385        sched_config.C,h
386        sched_locality.C
387
388David  9 Jan 2005
389    - fix memory leak in get_insert_id()
390
391    db/
392        db_base.C
393
394David  9 Jan 2005
395    - user profile fixes
396    - disallow thread titles consisting only of HTML tags
397
398    html/inc/
399        forum.inc
400        profile.inc
401
402David  9 Jan 2005
403    - message board fixes - show thread titles using htmlspecialchars()
404        prevent invisible titles
405
406    html/
407        inc/
408            forum.inc
409            forum_show.inc
410        user/
411            forum_thread.php
412
413Rom    9 Jan 2005 (boinc)
414    - Tag for 4.58 release, all platforms
415      boinc_core_release_4_58
416
417David  9 Jan 2005
418    - fix a buffer overrun problem by using std::string
419        in DB_BASE::insert_batch()
420
421    db/
422        db_base.C,h
423    sched/
424        transitioner.C
425
426David  10 Jan 2005
427    - client: fix bug where "requesting more work" messages
428        are generate every second when all projects are suspended
429
430    client/
431        client_types.h
432        cs_scheduler.C
433
434David  10 Jan 2005
435    - locality scheduling changes:
436        Changed the algorithms a bit to avoid lots of DB queries
437        Invariant: for a given file/user pair,
438            results are sent in order of increasing ID
439            (i.e. the result sent is that with the smallest ID
440            among all those that CAN be sent).
441            This ensures that:
442            - the result for given WU will be sent around the same time
443        send_results_for_file():
444            1) of results for this file sent to this user,
445                find the one R with largest ID
446            2) find unsent result R2 for this file with next ID greater than R,
447                and (if one result per user per WU) different workunitid than
448                ALL previous results sent to this user.
449            3) if need more results, set R = R2 and go to 2)
450        send_new_file_work():
451            min_id = 0
452            while need more work
453                find unsent result R with id>min_id of least ID
454                min_id = R.id
455            (Note: this is necessary to preserve the invariant)
456        Changed make_more_work_for_file() to return zero for success
457            (BOINC convention)
458
459    db/
460        db_base.C,h
461    sched/
462        sched_locality.C
463
464David  11 Jan 2005
465    more locality sched changes (with Bruce Allen)
466
467    - Added a notion of "working set" of files.
468        If a host doesn't have a file, the scheduler picks a
469        random entry from the working set and tries to send it
470        work from that file.
471        The project must supply a daemon program that maintains the working set
472        (could be the same as the work generator)
473    - Added config.locality_scheduling_send_timeout.
474        If any unsent result is older than this,
475        send it to the first eligible host
476    - If a host already has files, randomize their order
477    - Integrate work-generator invocation in send_results_for_file()
478    - If can't send a result because of no app_version, give up
479
480    lib/
481        error_numbers.h
482    sched/
483        sched_locality.C
484
485Janus 12 Jan 2005
486    - Removed check for $user->disabled_filtering which no longer exists.
487    - Added output of CVS version information if available.
488      Someone with time on their hands should add the following line to all
489      the PHP and include files (right after the inital &lt;php
490      (remove the star! - inserted to avoid having CVS generate the info...):
491
492      $cvs_version_tracker[]="\$I*d$";  //Generated automatically - do not edit
493
494      (bug and idea found by Bruce Allen)
495
496    html/inc
497        util.inc
498        forum_show.inc
499
500Bruce 12 Jan 2005
501    more locality sched changes.
502    - bug fix 1, trivial, n % 0  generates FPE if no files.
503    - bug fix 2, subtle.  In the deterministic hunt to find
504      the next unsent result, the comparison of the result name must be
505      done with the lexically maximum result name constructed from the
506      given filename.  Eg, if one needs name>FILE_ZZZZ...Z where
507      Z=0xff (is this charset independent??) and the total name length
508      is 255 (or is it 254??).
509
510    - David, I'll clean out some of the debugging scaffolding in a few
511      more days, when I get some confidence that there are not other
512      problems to fix!  Please read embedded comments/questions in code.
513
514    - Some more comemnts added later.  We do sometimes get non-zero
515      return values from possibly_send_result().  I think that this is
516      because you've failed to match up the start_transaction and
517      commit_transaction pairs.  Be careful: sleeps AND modifies the
518      DB.  Right now I am too tired to fix this without making it worse.
519      Your turn.
520
521    - A few other comments.  Currently, I am 'advertising' filenames
522      returned by get_working_set_filename() for TWO types of files:
523      (1) those for which I can make more work
524      (2) those for which I can NOT make more work, but where you have
525          not flagged with flag_for_possible_removal().
526      I am not sure that I understand the intent of
527      flag_for_possible_removal().  You surely are not guaranteeing
528      that no results will ever appear in the future for these files
529      (outstanding results might fail).  So what is my WU generator
530      supposed to do with flag_for_possible_removal?  Is (2) above
531      correct?
532
533     - Finally, I have not yet seen a SINGLE instance of a
534       flag_for_possible_removal.  Is the logic right?
535
536    sched/
537        sched_locality.C
538
539David  12 Jan 2005
540    - xml_escape() and xml_unescape(): handle non-ASCII characters
541
542    lib/
543        parse.C
544
545Rom    12 Jan 2005
546    - Bug Fix: Fix the bug where the screensaver wasn't saving the
547        configuration settings to the registry without the prep
548        work done by the previous installer.
549
550    client/win/
551        win_screensaver.cpp, .h
552
553Bruce  13 Jan 2005
554    - Various efforts to fix CVS 'loginfo' file so that we get auto
555      mailings of changes to the top level directory.  The main problem
556      is that one can't use "^boinc[ ]" or "^boinc\ " or
557      "^boinc\#20" as a regex to try and match the name of the top
558      level directory with no trailing slash. What a mess!
559
560    - More work on sched_locality.C.  Note that the 'wacky' warning is
561      actually not impossible.  Consider the following scenario: WU A
562      has result 1 and WU B has result 2.  These are both sent to a
563      host.  Some time later, result 1 fails and the transitioner
564      creates a new result, result 3 for WU A.  Then the host requests
565      a new result.  The maximum result already sent to the host is 2.
566      The next unsent result (sorted by ID) is #3.  But since it is
567      for WU A, and since the host has already gotten a result for WU
568      A, it's infeasible.  So I think this is only wacky if
569      !one_wu_per_result_per_host.
570
571    - David, I simplified the inner part of send_results_for_file()
572      somewhat.  I can't see the need/use for the bool bool
573      in_working_set argument.  If I have really screwed the pooch
574      please revert.
575
576    sched/
577        sched_locality.C
578
579David  13 Jan 2005
580    - Core client: when get a workunit from scheduler,
581        clear errors (e.g. download failures)
582        for all files associated with this WU
583        (this is down in a new function WORKUNIT::clear_errors())
584        Without this, if a file common to multiple WUs had a download
585        failure, all WUs would fail until user resets project!!
586    - Giant bug in HTTP file transfer:
587        If a network connection failed in the middle,
588        it wasn't being distinguished from a completed download;
589        the file size would be checked at the PERS_FILE_XFER level,
590        and it would get a "bad file size" fatal error.
591        Fix: when get EOF from a network connection reading HTTP reply,
592        compare the bytes transferred with the content-length
593        from HTTP header.
594        If not equal, classify it as an error.
595        This will cause higher levels to view it as a transient error,
596        and restart the download later.
597    - PERS_FILE_XFER::poll():
598        the check for actual file size == desired file size
599        was inexplicably being done even for file uploads,
600        and even in cases where another error had occurred.
601        Do it only for download success cases.
602
603
604    client/
605        client_types.C,h
606        cs_scheduler.C
607        http.C
608        pers_file_xfer.C
609
610Rom    13 Jan 2005 (boinc)
611    - Tag for 4.59 release, all platforms
612      boinc_core_release_4_59
613
614David  13 Jan 2005
615    - user web: in thread page, show numbered lists of pages correctly
616        Also get rid of goofy big/bold stuff
617    - page_tail(): use the current year (not necessarily 2004) for copyright
618    - add warning about CPU overheating to Rules/Policies page
619    - use tables for result state explanations
620
621    html/
622        inc/
623            forum_show.inc
624            util.inc
625        user/
626            explain_state.php
627            info.php
628
629David  13 Jan 2005
630    - add "hidden" fields to thread and post tables,
631        in preparation for message board moderation features
632
633    NOTE TO PROJECTS: apply this update if you're using current PHP.
634    It doesn't hurt to apply it anyway.
635
636    db/
637        schema.sql
638    html/ops/
639        db_update.php
640
641Rom    13 Jan 2005
642    - Checkin the changes necessary to hide threads in the forum code.
643      By: Rob Ogilvie
644    - Hidden threads should not be visible through a direct call
645
646    html/inc/
647        forum.inc
648    html/user/
649        forum_thread.php
650
651David  13 Jan 2005
652    - modified DB_BASE::enumerate() so that it returns:
653        - zero if returning a row
654        - ERR_DB_NOT_FOUND if reached end of result set
655        - other values indicated DB errors (e.g. lost connection to server)
656
657        Strange as it may seem, until now we didn't have a way of
658        knowing that enumerate() had errored out.
659        As a result, e.g., db_dump would happily generate
660        a zero-entry user or host file
661        if the DB happened to disconnect during the select.
662    - changed db_dump.C to check error returns from enumerate(),
663        and exit() on DB failure
664    - changed xml_escape() to completely remove
665        control characters except for 9, 10, 13
666
667    db/
668        db_base.C
669    lib/
670        error_numbers.h
671        parse.C
672    sched/
673        db_dump.C
674
675David  14 Jan 2005
676    - Fix problems with backslashes in forum titles;
677        also kludge display so old titles with extraneous backslashes
678        are shown without them
679
680    html/inc/
681        forum.inc
682
683David  14 Jan 2005
684    - fix to fix in msg board code
685
686    html/inc/
687        forum_show.inc
688
689Rom    14 Jan 2005
690    - Bug Fix: The screensaver was passing the raw blank time (number of
691        minutes) instead of when in unix time format the screen should go
692        blank (number of seconds).
693
694    client/win/
695        win_screensaver.cpp
696
697Karl 2005-01-16
698    - Added support for specifying db_{user,passwd} when creating projects
699
700    tools/
701        make_project
702    py/Boinc/
703        setup_project.py
704
705Bruce 17 Jan 2005
706    - Additional work on locality scheduling.
707        (a) make DB queries more efficient using name>'FILE__' and
708            name<'FILE__~' rather than name like 'FILE__%'
709      (b) Set 'no remaining work for this file' flag correctly
710          by making a DB scan if needed.
711          One can show that this is the 'cheapest'
712          reliable place to put this scan.
713      (c) Modify deterministic algorithm for finding unsent results
714          so that instead of starting with FILE="" and scanning forward
715          over all files, it starts at a random place in file space,
716          scans cyclicly to the end, and then from "" to the start point.
717      (d) Satisfy work request if possible.
718          Don't terminate sending work until none left that is feasible,
719          or request satisfed.
720      (e) If a new file is needed, first pick file associated with unsent
721          results which are more than 2 hours old.
722          Note: need to make this a user-configurable option,
723          and add some random +- slack.
724
725       For the record, here is the current locality scheduler logic.
726       I will update the docs once this is a bit better tested and
727       stable.
728
729      (1) If there is an (one) unsent result which is older than
730      (1) config.locality_scheduling_send_timeout (7 days) and is
731      (1) feasible for the host, sent it.
732
733      (2) If we did send a result in the previous step, then send any
734      (2) additional results that are feasible for the same input file.
735
736      (3) If additional results are needed, step through input files on
737      (3) the host.  For each, if there are results that are feasible for
738      (3) the host, send them.  If there are no results that are feasible
739      (3) for the host, delete the input file from the host.
740
741      (4) If additional results are needed, and there is (one) unsent
742      (4) result which is older than 2 hours and is feasible for the
743      (4) host, send it.
744
745      (5) If we did send a result in the previous step, then send any
746      (5) additional results that are feasible for the same input file.
747
748      (6) If additional results are needed, select an input file name at
749      (6) random from the current input file working set advertised by
750      (6) the WU generator.  If there are results for this input file
751      (6) that are feasible for this host, send them.
752
753      (7) If additional results are needed, carry out an expensive,
754      (7) deterministic search for ANY results that are feasible for the
755      (7) host.  This search starts from a random filename advertised by
756      (7) the WU generator, but continues cyclicly to cover ALL results
757      (7) for ALL files. If a feasible result is found, send it.  Then
758      (7) send any additional results that use the same input file.  If
759      (7) there are no feasible results for the host, we are finished:
760      (7) exit.
761
762      (8) If addtional results are needed, return to step 4 above.
763
764    sched/
765        sched_locality.C
766
767
768David  17 Jan 2005
769    - don't start apps until after benchmark
770        (may work around CPDN bug)
771
772    client/
773        client_state.C
774
775Rom    17 Jan 2005
776    - Bug Fix: Remove the ability for the CC to exit when a project fails to
777        attach.  This now keeps the CC from exiting for te Single and Shared
778        install types as well.
779    - Bug Fix: Remove the readme options from setup.
780    - Bug Fix: Enable the checkboxes in setup by default.
781
782    client/
783        main.C
784    win_build/installerv2/
785        BOINC.ism
786    win_build/installerv2/redist/0409
787        readme.txt
788    win_build/installerv2/redist/windows
789        BOINC.vbs
790
791Janus 18 Jan 2005
792    - Initial test-version of the moderation system
793      Please test the current features (deleting posts, moving posts) and see
794      if this is how it should be done.
795      The rest is mostly copy-paste work as the same design can be used for
796      threads as well.
797
798      This update includes:
799           - Deleting posts
800           - Moving posts
801           - Sending email notice to post author
802           - Users cannot edit their posts more than 1 hour after creating them
803           - Deleted posts are only shown to moderators
804           - Inversion of $filter_on in getThreads and getPosts (!)
805             Now the bit means "show deleted posts/threads" and defaults to off
806           - New special user bitfield
807
808      Due to the new special user bitfield you must redefine who is who in your
809      project. Currently this is done manually (idea for the ops page, anyone?)
810
811      This is how the bitfield is used:
812           1st bit = Moderator
813           2nd bit = Project Admin
814           3rd bit = Project dev
815           4th bit = Project tester
816           5th bit = Volunteer dev
817           6th bit = Volunteer tester
818           7th bit = Project Scientist
819
820           So if I'm a project admin and want to be moderator as well, I would
821           do the following SQL query:
822
823           Update forum_preferences set special_user = '1100000' where userid=42
824      html/
825        user/
826                forum_edit.php
827                +forum_moderate_post.php (new)
828                +forum_moderate_post_action.php (new)
829        inc/
830                forum.inc
831                email.inc
832                +forum_moderators.inc (new)
833        ops/
834                update_db.php
835
836David  18 Jan 2005
837    - user web: general code cleanup,
838        and increased use of stylesheets for formatting
839        rather than hard-wired HTML
840    - use tables for profiles
841    - change way profiles are rated
842
843    html/
844        inc/
845            forum.inc
846            prefs.inc
847            profile.inc
848            util.inc
849        user/
850            forum_edit.php
851            forum_help_desk.php
852            forum_sample_index.php
853            forum_thread.php
854            profile_rate.php (new)
855            profile_search_action.php
856            view_profile.php
857            white.css
858    sched/
859        db_dump.C
860
861David  18 Jan 2005
862    - fix "added clauses" feature of admin web DB interface
863
864    html/inc/
865        db_ops.inc
866
867David  18 Jan 2005
868    - added --cron-tasks option to start
869        (does periodic tasks but doesn't start daemons)
870        From David Hammer.
871        This should arguably be used instead of --cron
872        because if daemons are crashing you'll find out about it sooner.
873
874    sched/
875        start
876
877David  18 Jan 2005
878    - added <min_core_client_version> element to SCHED_CONFIG.
879        Lets the scheduler turn away clients below a certain version
880        without doing a lot of work
881        (especially important for locality scheduling)
882
883    doc/
884        configuration.php
885    sched/
886        sched_config.C,h
887        handle_request.C
888
889David  18 Jan 2005
890    - initial checkin of RPCs for account management systems: see
891        http://boinc.berkeley.edu/acct_mgt.php
892
893    NOTE: to use this feature, you'll need to update your DB
894        using update_1_19_2005()
895
896    html/
897        ops/
898            db_update.php
899        user/
900            am_confirm.php
901            am_create.php
902            am_query.php
903
904Bruce 19 Jan 2005
905    - Patches from Reinhard Prix to fix several problems.
906      (1) apps being suspended would call boinc_finish(nonzero) and
907          core client would treat this as app failure.  Introduce
908          a new function boinc_exit() and call that instead.
909      (2) improvements to GUI build with wxWidgets
910      (3) improved X event handling loop now ensures that X window
911          is taken away when window killed.
912    configure.ac
913    clientgui/
914        Makefile.am
915    api/
916        boinc_api.h
917        boinc_api.C
918        x_opengl.C
919    lib/
920        filesys.C
921
922David  19 Jan 2005
923    - don't show rating buttons when user looks at their own profile
924
925    html/inc/
926        profile.inc
927        uotd.inc
928
929David  19 Jan 2005
930    - Change the logic in CLIENT_STATE::do_something to
931        avoid unsuspending activities before starting them
932    - change CLIENT_STATE::check_suspend_activities() from int to void
933
934    Checked these changes into boinc_public also
935
936    client/
937        client_state.C,h
938        cs_prefs.C
939
940David  19 Jan 2005
941    - db_dump: deleting the old stats dir with /bin/rm -rf
942        fails sometimes ("dir is not empty").
943        If this happens, try renaming it.
944
945    sched/
946        db_dump.C
947
948Bruce 20 Jan 2005
949    - From Reinhard Prix.  At Rom's request, this builds the
950      Linux client and clientgui using static rather than
951      dynamic linking to the gcc C++ lib.  Note that modifying
952      this to do the same whenever gcc is used (not just under
953      Linux) might be desirable.
954
955    configure.ac
956    client/
957        Makefile.am
958    clientgui/
959        Makefile.am
960
961David  20 Jan 2005
962    - Added cross-project IDs for hosts.
963        This lets statistics sites show work per host, summed over projects.
964
965        Implementation:
966        Hosts generate their own "internal" CPIDs,
967        using an MD5 of time/domain/IP/disk_free.
968        This should be unique across that user's hosts.
969        It's stored in the HOST_INFO structure and sent to server.
970        The server hashes the internal CPID with the user's email address
971        and stores the resulting "external" CPID in the host table.
972        It is included by db_dump in <host> elements.
973
974    PROJECT NOTE: if you use this server code you will need
975    to apply update_1_20_2005() from html/ops/db_update.php to existing DBs
976
977    client/
978        client_stats.h
979        hostinfo_unix.C
980        win/
981            hostinfo_win.cpp
982    db/
983        boinc_db.C,h
984        schema.sql
985    html/ops/
986        db_update.php
987    lib/
988        hostinfo.C,h
989    sched/
990        db_dump.C
991        handle_request.C
992        server_types.C
993        start
994
995David  20 Jan 2005
996    - scheduler compile fix for Solaris
997
998    sched/
999        sched_locality.C
1000
1001David  20 Jan 2005
1002    - client: strip whitespace from command lines
1003        (prevents buildup of CRLFs in state file)
1004    - in filesys.C, replaced #ifndef NDEBUG with #if 0
1005        to fix Windows compile
1006
1007    client/
1008        client_types.C
1009    lib/
1010        filesys.C
1011
1012David  20 Jan 2005
1013    - converted code to LGPL license
1014
1015    (essentially all files)
1016
1017Rom    20 Jan 2005
1018    - Bug Fix: Remove some code that was keeping half of the
1019        check_suspend_activities conditions to be skipped.
1020
1021      NOTE: basically this was causing BOINC to alternate
1022        between suspended mode and non-suspended mode twice
1023        a second because the check for user idle activity
1024        happened after we returned from the function which
1025        means that reason was returning 0, meaning we shouldn't
1026        be suspended.
1027
1028    - Bug Fix: Setting activities_suspended should happen outside
1029        the check for tasks_restarted, since it is used later in
1030        the function, and activities_suspended may not be what
1031        we expect it to be.
1032    - Cleanup: In the idle detection routine save the needed values
1033        to a variable so we can see them as we are steping though
1034        the code, let the optimizer deal with it on release builds.
1035    - Bug Fix: Remove the Modify option in setup, our setup is an
1036        all or nothing deal.
1037    - Bug Fix: Configure setup for automatic upgrades, this requires
1038        the previous MSI databases from the builds we release to
1039        public.
1040
1041      NOTE: I need to talk to David about this a little bit, but
1042        I think it is doable.
1043    - Bug Fix: Fix the screensaver load up problem where it was
1044        taking 60 seconds before the first text was displayed.
1045
1046      NOTE: This reintroduces a bug where the screensaver slows to
1047        a crawl when boinc isn't running in the background.  I
1048        think I've figured out a solution to it, but I didn't get
1049        the code written for this release.
1050
1051    client/
1052         client_state.C
1053         cs_prefs.C
1054    client/win
1055         hostinfo_win.cpp
1056         win_screensaver.cpp, .h
1057    win_build/installerv2/
1058         BOINC.ism
1059
1060Rom    20 Jan 2005 (boinc)
1061    - Tag for 4.60 release, all platforms
1062      boinc_core_release_4_60
1063
1064David  20 Jan 2005
1065    - Add external_ip_addr field to host table.
1066        This is the REMOTE_ADDR reported by Apache
1067        when the host contacts the scheduler.
1068        May be different from the IP address reported by the host
1069        (e.g. if the host is behind a NAT)
1070
1071    NOTE: project must update their databases
1072        (html/ops/db_update.php, update_1_20a_2005())
1073        to use this code.
1074
1075    db/
1076        boinc_db.C,h
1077    html/ops/
1078        db_update.php
1079    sched/
1080        handle_request.C
1081
1082David  21 Jan 2005
1083    - Make it possible to abort/suspend/resume
1084        results even when they're not active (i.e. not ACTIVE_TASK exists)
1085        - move suspended_via_gui flag from ACTIVE_TASK to RESULT
1086        - add aborted_via_gui flag to RESULT
1087        - if start a task whose result is aborted_via_gui, abort immediately
1088        - suspended results aren't eligible to start
1089    - GUI RPCs that modify state set dirty flag
1090
1091    client/
1092        app.C,h
1093        client_state.C
1094        client_types.C,h
1095        cs_account.C
1096        cs_apps.C
1097        gui_rpc_server.C
1098
1099David  21 Jan 2005
1100    - rename ACTIVE_TASK::state to task_state
1101        (to avoid confusion with RESULT::state)
1102    - remove ACTIVE_TASK::exit_status
1103        (just use RESULT::exit_status)
1104    - when start result aborted via GUI, set its exit status accordingly
1105    - CLIENT_STATE::app_finished():
1106        don't deal with output files if task was aborted via GUI
1107
1108    client/
1109        app.C,h
1110        app_control.C
1111        app_start.C
1112        cs_apps.C
1113
1114David  21 Jan 2005
1115    - finalize result correctly when aborted via GUI
1116    - add aborted_via_gui flag to GUI RPC's version of RESULT
1117        (the BOINC manager needs to look at this flag)
1118
1119    client/
1120        app_control.C
1121        app_start.C
1122    lib/
1123        gui_rpc_client.C,h
1124
1125Rom    22 Jan 2005
1126    - Bug Fix: Upgrades of BOINC should now work correctly, any new
1127        version of BOINC should automatically uninstall the previous
1128        version before installing the new version.
1129
1130      NOTE: The ProductCode has to be changed between each version or
1131        the installer will believe it is a minor version change and
1132        not prompt the UI, it'll just overwrite the files.
1133
1134    win_build/installerv2/
1135        BOINC.ism
1136
1137Janus 23 Jan 2005
1138    - When listing a user's posts, only display deleted posts to the
1139      author or moderators. When displaying them, display additional
1140      info as to why the post was deleted.
1141      (by Jens Seidler)
1142
1143    html/user
1144        forum_user_posts.php
1145    html/inc
1146        forum.inc
1147
1148Bruce 24 Jan 2005
1149    - Fixes from Christian Beer for ops pages to approve profiles and
1150      to errors in the previous 20/next 20 links when 'additional
1151      clauses' is non-empty. Restore missing project_footer() function.
1152    - From Bernd Machenschalk, build self-extracting installer under
1153      Solaris, now works with normal Sun/Solaris make (don't need gnu make).
1154
1155    html/
1156        inc/
1157            db_ops.inc
1158            profile.inc
1159        project.sample/
1160            project.inc
1161
1162David  24 Jan 2005
1163    - Save proxy user names and passwords to disk in XML-escaped form
1164        (so passwords of the form X<Y will get parsed correctly)
1165
1166    lib/
1167        proxy_info.C
1168
1169Rom    24 Jan 2005
1170    - When the server requests a delay, make sure we do not overwrite
1171        the min_rpc_time, which has already been set to the proper
1172        delay time.
1173
1174    client/
1175        cs_scheduler.C
1176        scheduler_op.C
1177    lib/
1178        error_numbers.h
1179
1180David  24 Jan 2005
1181    - Amend the above checkin so that a scheduler reply
1182        is handled completely even if there's a delay request
1183
1184    client/
1185        cs_scheduler.C
1186        scheduler_op.C
1187    lib/
1188        error_numbers.h
1189
1190Rom    24 Jan 2005 (boinc)
1191    - Tag for 4.62 release, all platforms
1192      boinc_core_release_4_62
1193
1194      NOTE: 4.61 was eaten up in setup testing.
1195
1196Rom    24 Jan 2005
1197    - Modify configure.ac so that I can try and build the client and
1198        clientgui with the static stdc++ library.
1199
1200    /
1201    configure.ac
1202
1203David  25 Jan 2005
1204    Policy change: apps of non-CPU-intensive projects are never suspended
1205    - Change ACTIVE_TASK_SET::suspend_all() and unsuspend_all()
1206        to skip non-CPU-intensive projects.
1207    - Ignore GUI RPC requests to suspend non-CPU-intensive projects or results
1208    - Add the non_cpu_intensive flag to GUI RPC's PROJECT structure.
1209        GUIs should not show suspend/resume buttons
1210        for non-CPU-intensive projects or results
1211
1212    client/
1213        app_control.C
1214        gui_rpc_server.C
1215    lib/
1216        gui_rpc_client.C,h
1217    html/project.sample/
1218        project.inc
1219
1220Rom    25 Jan 2005
1221    - Allow BOINC Manager to search for it's localization catalog files in
1222      a sub directory called 'locale' like it does in Windows.
1223    - The options dialog should grow in size with the different languages,
1224      add a notebook sizer to the mix.
1225
1226    clientgui/
1227        BOINCGUI.pjd
1228        BOINCGUIApp.cpp
1229        DlgOptions.cpp
1230
1231David  26 Jan 2005
1232    - commented out code in scheduler that notifies user
1233        if a newer core client exists in this project's DB.
1234        Projects don't generally keep track of CC versions any more
1235
1236    sched/
1237        handle_request.C
1238
1239David  26 Jan 2005
1240    - Reinhard's patch to configure.ac
1241
1242    configure.ac
1243
1244Rom    26 Jan 2005
1245    - The worker thread priority for a science application should be lowered
1246      for both the graphics capable application and non-graphics capable.
1247    - The graphics thread priority should now be set to a normal thread
1248      priority level instead of high.
1249
1250    NOTE: The above changes were only implemented for Windows right now,
1251          the pthread version of this stuff needs to be done.
1252
1253    api/
1254        boinc_api.C, .h
1255        graphics_impl.C
1256
1257David  27 Jan 2005
1258    - feeder: improved error message when table overflows shared-mem structure
1259        Also, exit(1) in this case
1260
1261    sched/
1262        sched_shmem.C
1263
1264David 27 Jan 2005
1265    - build fixes from Reinhard
1266
1267    configure.ac
1268
1269Rom    27 Jan 2005
1270    - Include some of the battery status flags in the decision when trying to
1271      determine if a notebook is on battery power.
1272
1273    client/win
1274        hostinfo_win.cpp
1275
1276David  27 Jan 2005
1277    - Enhancements to update_versions
1278        - allow a multi-file app version to include multiple executable files
1279            All files with the u+x bit set are treated as executable
1280        - set min_core_version and max_core_version to zero.
1281            Shouldn't be setting these to anything nonzero here.
1282            Projects are no longer expected to maintain core versions.
1283
1284    py/Boinc/
1285        tools.py
1286    tools/
1287        update_versions
1288
1289David  27 Jan 2005
1290    - scheduler reply includes scheduler's version info
1291
1292    sched/
1293        server_types.C
1294
1295David  27 Jan 2005
1296    - db_dump: instead of deleting old stats, move them to a directory
1297        whose name includes the current date
1298
1299    sched/
1300        db_dump.C
1301
1302David  27 Jan 2005
1303    - added utility programs to tools/ (from Christian S�ttrup)
1304
1305    tools/
1306        kill_wu.C
1307        poll_wu.C
1308
1309David  27 Jan 2005
1310    - API: move code to get worker thread handle,
1311        and set its priority, to set_worker_timer().
1312        This function is guaranteed to be always called
1313        by the worker thread, and only by the worker thread.
1314        Got rid of boinc_adjust_worker_thread_priority().
1315    - removed LHC@home-specific function from boinc_api_fortran.C
1316
1317    api/
1318        boinc_api.C
1319        boinc_api_fortran.C
1320        graphics_impl.C
1321
1322David  27 Jan 2005
1323    - core client: initialize PROJECT structure more thoroughly
1324
1325    client/
1326        client_types.C
1327
1328David  28 Jan 2005
1329    - typo in server_types.C
1330
1331    sched/
1332        server_types.C
1333
1334David  28 Jan 2005
1335    - core client: in MESSAGE_DESC
1336        (used to save messages, so they can be sent to core client)
1337        store project name, instead of pointer to project.
1338        By the time we send msg to GUI, the project object might be deleted!
1339    - improve time_stats
1340
1341    client/
1342        client_msgs.C,h
1343        client_state.C
1344        gui_rpc_server.C
1345        time_stats.C,h
1346
1347David  28 Jan 2005
1348    - when including FILE_INFOs for sticky files in scheduler request,
1349        include the file size and status
1350        (0=not present, 1=present, else error code)
1351    - change TIME_STATS::last_update from int to double
1352
1353    client/
1354        cs_scheduler.C
1355        time_stats.C,h
1356
1357David  28 Jan 2005
1358    - core client: add notion of CONNECTED_STATE;
1359        can be CONNECTED, NOT_CONNECTED, or UNKNOWN.
1360        Implemented get_connected_state() on Windows
1361    - if connected state is UNKNOWN,
1362        TIME_STATS::connected_frac is set to -1
1363    - rewrote TIME_STATS::update().
1364        Seems to work in testing.
1365
1366    client/
1367        client_state.C
1368        hostinfo_network.h
1369        hostinfo_unix.C
1370        time_stats.C,h
1371        win
1372            win_net.cpp,h
1373
1374Rom    28 Jan 2005
1375    - Check to see if we are already connected to the core client before
1376      attempting to get the activity state and network state.
1377    - Change the dynamic object array for the view caches to a vector for
1378      a perf increase, and to cleanup a possible crashing error.
1379    - Add aditional asserts in the base view to check for a possible cache
1380      inconsistency.
1381    - Remove an out of date file from the build list.
1382
1383    clientgui/
1384        BOINCBaseView.cpp, .h
1385        MainDocument.cpp
1386        ViewMessages.cpp, .h
1387        ViewProjects.cpp, .h
1388        ViewResources.cpp, .h
1389        ViewTransfers.cpp, .h
1390        ViewWork.cpp, .h
1391    win_build/
1392        BOINCGUI.vcproj
1393    winbuild/installerv2/
1394        BOINC.ism
1395
1396Rom    29 Jan 2005
1397    - Cleanup memory leaks due to the conversion to vectors.
1398
1399    clientgui/
1400        ViewMessages.cpp
1401        ViewResources.cpp
1402        ViewTransfers.cpp
1403        ViewWork.cpp
1404
1405Rom    29 Jan 2005
1406    - We had an interesting crash condition where the GUI would crash while
1407      requesting for a run mode update, aparently the core client has some
1408      junk appended to the end of the RPC, so this allows the cliet-side
1409      code to deal with this condition.
1410
1411    lib/
1412        gui_rpc_client.C
1413
1414David  29 Jan 2005
1415    - make_work: fixed a basic design problem.
1416        Its main loop creates workunits until the number of
1417        sendable results reaches the "cushion" level.
1418        This worked OK in the old days when creating a workunit
1419        created its results; but these days the transitioner does that.
1420        So make_work would end up creating way more workunits
1421        than it's supposed to.
1422
1423        The fix: estimate how many WUs to create
1424        (based on wu.target_nresults).
1425        Make that many, then sleep for 10 seconds
1426        (give the transitioner a chance to create the results).
1427
1428    - Another problem: the "master WU" used by make_work could
1429        get deleted by file_deleter and db_purge.
1430        Kludgy but effective solution:
1431        change file_deleter and db_purge to ignore WUs whose
1432        name includes "nodelete".
1433        Call your master WU "wu_nodelete".
1434
1435    - change dir_hier_path so that it just prints the pathname of the file,
1436        so you can use it in scripts
1437
1438    sched/
1439        db_purge.C
1440        file_deleter.C
1441        make_work.C
1442    tools/
1443        dir_hier_path.C
1444
1445David  30 Jan 2005
1446    - fixed bug in xml_unescape().  Didn't parse special chars correctly
1447
1448    lib/
1449        parse.C
1450
1451David  30 Jan 2005
1452    - user web: slight cleanup
1453        - reduced verbosity in profile page
1454        - moved "you may use HTML tags" to function
1455
1456    html/
1457        inc/
1458            profile.inc
1459            util.inc
1460        user/
1461            edit_forum_preferences_form.php
1462            edit_user_info_form.php
1463            forum_post.php
1464
1465Bruce 31 Jan 2005
1466    - scheduler changes: if host is not getting any work because available
1467      disk space is < 0, delete files which have <sticky> and <report_on_rpc>
1468      set.  Note that (1) this deletion simply removes the <sticky> tag, so
1469      file won't be deleted until after all WU that depend upon it are
1470      completed and (2) the mechanism to determine which file to delete
1471      could be improved. TODO: improve messages to hosts which have no file
1472      space and ALSO have no files to delete.
1473    - scheduler changes: locality scheduling.  Clean up code which makes a
1474      deterministic search of results to delete.  Data files names can not
1475      contain the "~" character!
1476    - modified the send_new_file_work() function to look for unsent work
1477      starting with a random time 6 to 12 hours ago.
1478    - scheduler changes: added a simple debugging mechanism for scheduler
1479      requests/replies.  If you touch a file named 'debug_sched' in the project
1480      root, then files called sched_reply_HOSTID_RPCNO and
1481      sched_request_HOSTID_RPCNO will be created
1482      under cgi-bin/ which contain the scheduler replies.  You can turn on
1483      this mechanism for some time to study the scheduler replies.
1484    - David, the write() function that I added to SCHEDULER_REQUEST can
1485      probably be done better.  It would be nice if all the classes that
1486      this includes an instance of had their own write() functions: it
1487      would make debugging very easy.
1488
1489    sched/
1490        handle_request.C
1491        sched_locality.C
1492        server_types.h
1493        server_types.C
1494
1495Eric K.    31 Jan 05
1496    Fixed typo in lib/parse.C
1497
1498    lib/parse.C
1499
1500Janus 31 Jan 05
1501    - Added functions to read and parse .po translations for the webinterface.
1502    - Changed apps.php to use these new functions as an example.
1503    - Added a tiny example language interface file
1504    - Added language files (that are valid with regards to the interface) for
1505      English and Danish as an example
1506
1507      The script (Apache or whatever webserver is used) must have write-
1508      access to the /languages/compiled directory as well as /languages/. It
1509      will create compiled versions of the interface file and language files the
1510      first time a page is accessed after a new language file or interface file
1511      has been installed.
1512
1513      To output something that can be translated, a page can use:
1514      echo tr(MY_TOKEN);
1515      where MY_TOKEN is the token-name used to identify the text that will be
1516      output. To actually be allowed to write and use MY_TOKEN, the token must
1517      be added to the language interface. The language interface file is simply
1518      a file containing all the valid tokens listed one per line. Adding
1519      MY_TOKEN
1520      to the bottom of the file will make "MY_TOKEN" a valid token.
1521
1522      Whenever you add a new token to the interface you _should_ at least add
1523      the text to the english language file located in
1524      /languages/translations/en.po
1525      This file is used as default language and will be used as fallback in case
1526      a translator for another language does not provide a translation for your
1527      particular token (which especially will be the case when you add a new
1528      token).
1529
1530      You should be able to add comments using a # as the first char in a line -
1531      at least in the .po-files.
1532
1533      Future plans: 1) An expansion for project specific translations which can
1534      be independently maintained by the project.
1535      2) Language selection in user prefs (to override browser defaults)
1536      3) Even better automatic language detection
1537
1538    html/
1539        inc/
1540            translation.inc (new)
1541        languages/ (new)
1542            language_interface (new)
1543            translations/ (new)
1544                da.po (new)
1545                en.po (new)
1546        user/
1547            apps.php
1548
1549David  31 Jan 2005
1550    - Make it possible for a scheduler RPC reply to include several "messages",
1551        each with its own message body and priority.
1552        This involved changes to both scheduler and core client.
1553        If the current core client gets several messages,
1554        it will display only the last one.
1555
1556    client/
1557        cs_scheduler.C
1558        scheduler_op.C,h
1559    sched/
1560        handle_request.C
1561        sched_send.C
1562        server_types.C,h
1563
1564David  31 Jan 2005
1565    - Made WORK_REQ into a member of SCHEDULER_REPLY.
1566        This makes it available in handle_request()
1567        in case you want to send user messages based on it.
1568        Also reduces the number of structs that have to be
1569        passed around everywhere.
1570    - Fixed formatting in sched_locality.C.
1571        Bruce: please use 4-space indentation, no tab chars
1572
1573    sched/
1574        sched_locality.C,h
1575        sched_send.C,h
1576        server_types.C,y
1577
1578David  31 Jan 2005
1579    - Changed the way the core client handles <delete_file_info> elements
1580        in scheduler RPC replies.
1581        Old: clear the FILE_INFO's sticky bit
1582        New: set a FILE_INFO::marked_for_delete flag.
1583            An unreferenced file will be deleted if this flag is set,
1584            regardless of whether the sticky flag is set.
1585            If the marked_for_delete flag is set,
1586            it won't be reported in scheduler RPCs,
1587            even if the report_on_rpc flag is set.
1588        This avoids situations where a server asks the client to delete a file,
1589        but later sends work to that file
1590        because it's reported in an RPC file list
1591
1592    client/
1593        client_state.C
1594        client_types.C,h
1595        cs_scheduler.C
1596
1597David  31 Jan 2005
1598    - Core client: moved initialization stuff to new boinc_init();
1599        change main() so that it calls boinc_init(),
1600        then does platform-specific stuff,
1601        then calls boinc_main_loop()
1602        This ensures, e.g. that check_unique_instance() is called
1603        before most other stuff
1604
1605    client/
1606        main.C,h
1607        win/
1608            win_service.cpp
1609
1610Rom    31 Jan 2005
1611    - Implement log files for the BOINC Manager
1612    - Implement call stacks, and memory leak detection for the BOINC Manager
1613      on Windows
1614    - Implement log rotation for both the core client and manager
1615    - Implement stderr and stdout redirects with the core client
1616    - Make the manager start the core client with IO redirection enabled
1617    - Cleanup some more memory leaks in the BOINC Manager
1618    - Enabled the STL use of the debug heap on Windows
1619
1620    client/
1621        client_state.C, .h
1622        cs_cmdline.C
1623        cs_files.C
1624        file_names.h
1625        main.C
1626    client/win/
1627        wingui_mainwindow.cpp
1628    clientgui/
1629        BOINCGUI.cpp, .h
1630        LogBOINC.cpp, .h (Added)
1631        Makefile.am
1632        ViewProjects.cpp
1633        ViewMessages.cpp
1634        ViewResources.cpp
1635        ViewTransfers.cpp
1636        ViewWork.cpp
1637        stdwx.h
1638    lib/
1639        diagnostics.C, .h
1640    win_build/
1641        BOINCGUI.vcproj
1642
1643Rom    31 Jan 2005
1644    - Move the SetCurrentDirectory call to boinc_init() from service_main()
1645        which was causing the log files to be put into the system32 directory.
1646        Fixes start as service setup case.
1647    - Flush stderr as well as stdout in boinc_init()
1648    - Remove needless calls to PostMessage from check_unique_instance()
1649    - Adjust BOINC Manager so that it can properly detect if it can open
1650        a connection to the core client so that it can determine
1651        if it needs to start it.  Fixes single user setup case.
1652        Should I make a complete API call in case another application
1653        has port 1043 open?
1654    - Cleanup exception.C out of the core client project.
1655
1656    client/
1657        file_names.C
1658        main.C
1659    clientgui/win/
1660        win_service.cpp
1661    clientgui/
1662        BOINCGUIApp.cpp
1663        MainDocument.cpp, .h
1664    win_build/
1665        boinc_cli.vcproj
1666
1667David  1 Feb 2005
1668    - scheduling server: if host is 4.62 or earlier, concatenate messages
1669
1670    sched/
1671        server_types.C
1672
1673David  1 Feb 2005
1674    - MFILE's buffer was not being maintained as NULL-terminated.
1675        This caused problems with GUI RPC, where the buffer was
1676        transferred to code that expected it to be NULL-terminated
1677
1678    lib/
1679        mfile.C,h
1680
1681Rom    1 Feb 2005
1682    - Implement the UI for aborted results that have not been executed before.
1683    - Initialize aborted_via_gui since wxWidgets initializes bools to true.
1684
1685    clientgui/
1686        MainDocument.cpp, .h
1687        ViewWork.cpp
1688    lib/
1689        gui_rpc_client.C
1690
1691Rom    1 Feb 2005 (boinc)
1692    - Tag for 4.63 release, all platforms
1693      boinc_core_release_4_63
1694
1695Bruce  2 Feb 2005
1696    - Fixed trivial bug in scheduler which caused messages sent to clients
1697      < 4.62 to be interchanged with their priority.  So if the message was
1698      supposed to be 'No work available' with priority 'low', the actual
1699      message sent was 'low'.
1700
1701    sched/
1702        server_types.C
1703
1704Bruce 2 Feb 2005
1705    - Improvements to the file deletion mechanism.  Now try removing files if
1706      no work was sent to hosts, and available space<0 OR if available space>0
1707      but work was unfeasible because the disk bound requirements of the work
1708      exceeded the available space.
1709   -  Added a new config.xml boolean element called 'choose_download_url_by_timezone'
1710      This requires that projects provide a 2-column file in the project root named
1711      'download_servers'.  An example is:
1712           3600   http://einstein.aei.mpg.de
1713         -21600   http://einstein.phys.uwm.edu
1714      The first column is offset from UTC in seconds, and the second column is the URL
1715      of the download server.  When enabled, the scheduler will replace the download
1716      path for data and executables by a list of download URLs, ordered by proximity
1717      to the host's timezone.  The download path must start with the
1718      BOINC default download/ and the different download servers must have identical
1719      file paths under download/, in other words they must be mirrored.
1720    - Really exciting news, David: I have finally gotten emacs to obey your
1721      indentations and formatting conventions, apart from doing this:
1722      some_function(foo, bar
1723                    );
1724      instead of this:
1725      some_function(foo, bar
1726      );
1727      Emacs experts, advice appreciated!
1728
1729    doc/
1730        configuration.php
1731        server_debug.php
1732
1733    sched/
1734        sched_config.h
1735        sched_config.C
1736        sched_send.C
1737        handle_request.C
1738
1739Rom    2 Feb 2005
1740    - Moved localization resources to the root of the project per a discussion with
1741        Janus, basically we are going to try to have all the localization material
1742        for the web/Forum and clients all in one place.
1743
1744    clientgui/locale/
1745        <all directories and files deleted>
1746    locale/
1747        <all localization files for the client are now here>
1748
1749Bruce  2 Feb 2005
1750
1751    - Made the caching of md5 info for source files a configuration option in
1752      config.xml.  Use the boolean tag <cache_md5_info> to enable it.
1753      This prevents the work generation library from having to go back and
1754      continuously regenerate the md5 sums of your input data files.  Note
1755      that reading these from disk can be expensive if you have many such files
1756      that are large and that you re-use. See check-in notes from 30/31 Dec 2004
1757      for some details.
1758
1759    doc/
1760        configuration.php
1761    sched/
1762        sched_config.C
1763        sched_config.h
1764    tools/
1765        backend_lib.C
1766
1767Rom    2 Feb 2005
1768    - Bug Fix: Adjust the manager so that it'll set it's current directory
1769        to that of its installed location.
1770        This will fix the bug of the log files ending
1771        up where the installer is executed from.
1772    - Bug Fix: Remove the message cache from the message view in the manager.
1773        This should clear up a crashing problem that seems to
1774        strike the Win9x platform.
1775
1776    clientgui/
1777        BOINCGUIApp.cpp
1778        ViewMessages.cpp, .h
1779
1780David  2 Feb 2005
1781    - Scheduler: make things more uniform between locality
1782        and non-locality (work array) scheduling.
1783        Both cases use the following functions:
1784        1) call wu_is_feasible() to see if the host has enough
1785            disk, memory, and CPU speed to handle a result.
1786            (added this to locality scheduling)
1787        2) call add_result_to_reply() when you decide to send a result.
1788            This updates database and SCHED_REPLY.
1789    - If using locality scheduling, add_result_to_reply() doesn't
1790        decrement wreq.disk_available,
1791        since several results may involve the same file.
1792        BRUCE: we need to decrement disk_available in
1793        the locality scheduling code.
1794    - add disk space check to wu_is_feasible()
1795        (and removed it from scan_work_array())
1796    - simplified the args of wu_is_feasible()
1797    - work_needed(): if wreq.disk_available is <= zero,
1798        set the wreq.insufficient_disk flag and return false.
1799        NOTE: this and wu_is_feasible() are now the only places
1800        where we disk space is checked
1801
1802    lib/
1803        error_numbers.h
1804    sched/
1805        sched_locality.C
1806        sched_send.C,h
1807
1808David  2 Feb 2005
1809    - core client: add platform name and client version to HTTP request headers
1810
1811    client/
1812        http.C
1813
1814Rom    2 Feb 2005
1815    - Bug Fix: The screensaver really should call UpdateErrorBox frequently,
1816        otherwise the error box ends up being drawn outside the visible region
1817        of the window, which gives the impression that the screen has gone blank.
1818    - Bug Fix: Give the core client enough time to actually cycle through all
1819        the capable graphics applications before acting on the error codes.
1820
1821    client/win/
1822        win_screensaver.cpp, .h
1823
1824Rom    2 Feb 2005
1825    - Bug Fix: Ops, when deleting a bunch of code, make sure all of it really
1826        isn't needed.  When the manager looses the core client reset the message
1827        sequence back to zero so when we detect the core client again we can
1828        get all the messages.
1829
1830    clientgui/
1831        MainDocument.cpp
1832
1833Rom    2 Feb 2005
1834    - Tag for 4.64 release, all platforms
1835      boinc_core_release_4_64
1836
1837Rom    2 Feb 2005
1838    - Use the same technique to statically link nsl and socket for the client
1839        as the clientgui.
1840    - move the apps directory from the API_SUBDIRS variable to the
1841        SERVER_SUBDIRS variable since we really don't need to build the
1842        sample applications when all we really want is just the boinc client
1843        tools.
1844
1845    /
1846        configure.ac
1847        Makefile.am
1848
1849Rom    3 Feb 2005
1850    - Bug Fix: On machines older than Windows 2000 don't attempt to use memory
1851        mapped files as an IPC mechinism for trapping when the last keyboard
1852        or mouse input has happened.  It's just easier to use the DLL shared
1853        memory segment, and keeps us from crashing due to the fact that the
1854        init function isn't called before the hook functions in external
1855        processes.
1856
1857    client/win/
1858        win_idle_tracker.cpp
1859
1860Bruce  3 Feb 2005
1861    - core client: add platform name and client version to HTTP request headers
1862      when going via a proxy server.  See David's change just above from 2 Feb.
1863
1864    client/
1865        http.C
1866
1867David  3 Feb 2005
1868    - when get a FILE_INFO in a scheduler RPC reply,
1869        replace the current list of URLs
1870        with the list in the scheduler reply
1871
1872    client/
1873        client_types.C
1874
1875David  3 Feb 2005
1876    - include platform name and client version in all GET and HEAD
1877        HTTP request headers.
1878        (but not POST - not needed since included in request body)
1879        Note: would be nice to include host ID, but that info
1880        isn't available at the HTTP level
1881
1882    client/
1883        http.C
1884
1885Rom    3 Feb 2005
1886    - Bug Fix: Fix a localization problem where the application version
1887        number was being localized when it shouldn't be.
1888    - Bug Fix: The dwBlankTime variable is initialized at screensaver
1889        startup instead of when BOINC is notified to start the screensaver.
1890        This should fix the case where the blank time is longer than
1891        the project cycle time.
1892    - Bug Fix: Fix the version number display for a science application
1893        in the work tab.  It shouldn't use the localization rules.
1894    - Bug Fix: In the transfers tab, replace upload with transfer.
1895    - Bug Fix: In the work tab, replace "Quick Tips" with just "Tips"
1896        to be consistent with the rest of the tabs.
1897    - Bug Fix: Additional check to see if any new messages have been added
1898        before changing the visible messages in the message tab.
1899    - Bug Fix: Change the default blank time to 5 minutes.
1900    - Bug Fix: Remove the ability for us to affect the secure password
1901        option on NT based machines.
1902    - Bug Fix: Check to see if we are running setup on an NT 4.0 box
1903        acting as a Domain Controller, if we are warn the admin that
1904        they'll have to manually set the 'LogonAsService' right themselves
1905        with the User Manager for Domains, and then set the setup flag to
1906        false.
1907    - Bug Fix: Reorder the Service setup dialog so that there are entries
1908        after the password confirmation edit box which gives us the extra
1909        step needed to enable the next button.
1910    - Bug Fix: Enable the 'Property as Integer' bit of the various checkboxes
1911        we use in setup so that when somebody unchecks the damn checkbox it
1912        finally does what I expected it to do in the first place.
1913
1914    client/win/
1915        win_screensaver.cpp, .h
1916    clientgui/
1917        ViewWork.cpp
1918        ViewTransfers.cpp
1919        ViewMessages.cpp
1920    win_build/installerv2/
1921        BOINC.ism
1922
1923Rom    3 Feb 2005
1924    - Tag for 4.65 release, all platforms
1925      boinc_core_release_4_65
1926
1927Rom    3 Feb 2005
1928    - Bug Fix: Add a comment to the service install option that states that
1929        show graphics does not work in the service install scenario.
1930
1931    win_build/installerv2/
1932        BOINC.ism
1933
1934Rom    3 Feb 2005
1935    - Bug Fix: Add the 'Users' group to the list of users permissioned to read
1936        and execute from within the BOINC folder after a service install.
1937
1938    win_build/installerv2/
1939        BOINC.ism
1940
1941Janus 4 Feb 2005
1942    - Added strong to the list of allowed html tags in the forum.
1943
1944    html/inc/
1945        sanitize_html.php
1946
1947Rom    4 Feb 2005
1948    - Bug Fix: Surround the calls to atol and atof in parse_int and parse_double
1949        with setlocale calls so that we can parse numerical types from the core
1950        client even while the manager is configured for a different locale.
1951
1952    lib/
1953        boinc_win.h
1954        parse.C
1955
1956Rom    4 Feb 2005
1957    - Bug Fix: Don't record the blank time as Epoch time in the registry.
1958
1959    client/win/
1960        win_screensaver.cpp
1961
1962Eric K    4 Feb 2005
1963    - Added diagnostics.[Ch] to the gui build.  (Builds were failing because it
1964      was missing)
1965    - Added function xwin_glut_is_initialized() so applications can tell if glut
1966      is initialized.
1967
1968    clientgui/Makefile.am
1969    api/
1970        x_opengl.[Ch]
1971
1972Rom    4 Feb 2005
1973    - Bug Fix: Adjust the display of the app version in the work tab with a call
1974        to setlocale instead if parsing a string.  It looks better, and works
1975        under a larger set of conditions.
1976    - Bug Fix: Change the display of the progress indictator in the work tab to
1977        use printf instead of just setting the string.  This allows the progress
1978        to be displayed in a localized fashion.
1979    - Bug Fix: Change the transfer rate in the transfer tab to use printf instead
1980        instead of just setting the string.  This allows the progress to be
1981        displayed in a localized fashion.
1982    - Bug Fix: Add keyboard accelerators for all the setup configuration screens.
1983
1984    clientgui/
1985        ViewTransfers.cpp
1986        ViewWork.cpp
1987    win_build/installerv2/
1988        BOINC.ism
1989
1990Rom    5 Feb 2005
1991    - Bug fix: Rework the logic for NT 4.0 BDC detection and dealing with the
1992        condition.
1993
1994    win_build/installerv2/
1995        BOINC.ism
1996
1997Rom    5 Feb 2005
1998    - Tag for 4.66 release, all platforms
1999      boinc_core_release_4_66
2000
2001Rom    5 Feb 2005
2002    - Bug Fix: Remove the Users group from the service install type ACL list.
2003    - Bug Fix: Set ALLUSERS to null when either the Single or Service install
2004        type is selected
2005    - Bug Fix: Adjust the validate setup type script to account for the new
2006        rules
2007    - Bug Fix: When switching from an error state to the blank screensaver
2008        state, invalidate the window and redraw the background.  Basically
2009        that was causing us to display out of sync project data.
2010    - Bug Fix: Another screensaver transitional state fix
2011
2012    client/win/
2013        win_screensaver.cpp, .h
2014    win_build/installerv2/
2015        BOINC.ism
2016    win_build/installerv2/redist/windows
2017        BOINC.vbs
2018
2019Rom    6 Feb 2005
2020    - Bug Fix: Reduce the flicker of the error box by only painting on
2021        every third WM_PAINT message.
2022
2023    client/win/
2024        win_screensaver.cpp, .h
2025
2026David  6 Feb 2005
2027    - Initial client support for "account managers".
2028         Includes:
2029        - new core client class (ACCT_MGR) for doing RPCs
2030            to account managers
2031        - GUI RPC for initiating an account manager RPC
2032        TODO: add support in BOINC Manager
2033
2034    client/
2035        acct_mgr.C,h (new)
2036        file_names.h
2037        gui_rpc_server.C
2038    win_build/
2039        boinc_cli.vcproj
2040
2041David  6 Feb 2005
2042    - The critically important "work_req_seconds" field of a scheduler request
2043        was not documented anywhere.
2044        The units of this request are "normalized CPU seconds":
2045        the request specifies the number of wall-clock seconds
2046        the work should take to finish using 1 CPU on the host,
2047        taking into account resource share, on_frac, and active_frac.
2048        - client side:
2049            document;
2050            take on_frac into account
2051        - server side:
2052            document;
2053            use wall-clock instead of cpu estimate for "seconds filled";
2054            take on_frac into account in wallclock estimate.
2055        TODO: it would be simpler if the request just specified a number of FLOPs .
2056             That way the server wouldn't have to
2057            know about on_frac, resource share etc.
2058    - Code cleanup
2059
2060
2061    client/
2062        client_state.h
2063        client_types.h
2064        cs_scheduler.C
2065    doc/
2066        work_req.php (new)
2067    sched/
2068        handle_request.C
2069        sched_send.C
2070        server_types.C
2071
2072Rom    6 Feb 2005
2073    - Bug Fix: Enable the user to select which language the BOINC Manager
2074        should display on startup.  This is configured via the tools\options
2075        dialog.
2076    - Bug Fix: BOINC Manager should now remember whether it is maximized
2077        or minimized, it does not remember position because wxWidgets
2078        has a hard time with negitive coordinate values that multi-mon
2079        configurations may have.  If you plug in a negative value for
2080        x or y the client ends up off the visible part of the screen.
2081
2082    clientgui/
2083        BOINCGUI.pjd
2084        BOINCGUIApp.cpp, .h
2085        DlgOptions.cpp, .h
2086        MainFrame.cpp, .h
2087
2088Rom    6 Feb 2005
2089    - Remove Legacy installer
2090    - Add the BOINC Manager resource templates
2091
2092    clientgui/res/templates
2093        <added a bunch of files>
2094    win_build/installer
2095        <removed a bunch of files>
2096
2097David  6 Feb 2005
2098    - compile fixes
2099
2100    lib/
2101        parse.C
2102    sched/
2103        sched_locality.C
2104        sched_send.C,h
2105
2106David  7 Feb 2005
2107    - add "web service" for verifying a user CPID and an authenticator
2108
2109    html/user/
2110        verify_cpid.php
2111
2112David  7 Feb 2005
2113    - If a result is reported after the canonical result's output files
2114        have been deleted, handle this case specially:
2115        don't trigger the validator,
2116        and set the result's validate_state to TOO_LATE (new value)
2117    - Add acct_mgr to Unix makefile
2118
2119    client/
2120        Makefile.am
2121        acct_mgr.h
2122    db/
2123        boinc_db.h
2124    html/inc
2125        result.inc
2126    sched/
2127        sched_send.C
2128        transitioner.C
2129
2130David  7 Feb 2005
2131    - change limit in stderr_out reporting from 4KB to 63KB
2132
2133    client/
2134        app_control.C
2135
2136Bruce 7 Feb 2005
2137    - Add new validate_state==TOO_LATE to ops pages summaries and result table
2138      choice selection menus
2139    - Ops pages fixes from Christian Beers and David Hammer:
2140      * some rearrangement of index page
2141      * fix pass percentage by platform pages to show only non-deprecated apps
2142      * all platforms now appear in summary pages of failures
2143    html/
2144        ops/
2145            cancel_wu_action.php
2146            cancel_wu_form.php
2147            clear_host.php
2148            create_account_action.ph.
2149            create_account_form.php
2150            create_forums.php
2151            db_action.php
2152            db_form.php
2153            index.php
2154            failure_result_summary_by_platform.php
2155            forum_repair.php
2156            make_emails_lowercase.php
2157            pass_percentage_by_platform.php
2158            profile_screen_form.php
2159            repair_validator_problem.php
2160            result_summary.php
2161            show_log.php
2162            team_repair.php
2163        inc/
2164            db_ops.inc
2165            util_ops.inc
2166
2167Rom    7 Feb 2005
2168    - Bug Fix: Introduce a new state for the screensaver where it can display
2169        that it is starting up, instead of flickering between different states
2170        so fast at startup.
2171    - Bug Fix: Only update the status box every ten seconds instead of every
2172        second.
2173    - Bug Fix: Change the update timer to every 30 seconds.
2174
2175    client/win/
2176        boinc_ss.h
2177        boinc_ss.rc
2178        win_screensaver.cpp, .h
2179
2180Bruce 8 Feb 2005
2181    - Bug fix: method of determining which download site to point a host to
2182      computing timezone differences, not taking into account the fact that
2183      UTC+11 hours and UTC-11 hours are only 2 hours apart.  Duh.
2184
2185    sched/
2186        sched_send.C
2187
2188Janus 8 Feb 2005
2189    - Added another example of the use of the new multilanguage features for
2190      the website. This time it is the "Rules and policies" page.
2191    - Small correction to better allow comments and empty lines in language-
2192      files and language interface.
2193
2194    html/
2195        inc/
2196             translation.inc
2197        languages/
2198             language_interface
2199             translations/
2200                en.po
2201        user/
2202             info.php
2203
2204David  8 Feb 2005
2205    - return the last 63KB of stderr output, not first 63KB
2206
2207    client/
2208        app_control.C
2209
2210David  8 Feb 2005
2211    - locality scheduling: in send_results_for_file(),
2212        if can't send a result because of a transient reason
2213        (too little disk, estimated delay too large) break out of loop.
2214        This is an attempt to preserve the "next available result ID" invariant.
2215
2216    sched/
2217        sched_locality.C
2218        sched_send.C,h
2219
2220David  8 Feb 2005
2221    - Change the way user cross-project ID is maintained.
2222        OLD: when the client sends a scheduler RPC to project P,
2223            it sends the largest CPID among projects with same
2224            email hash as P.
2225            This is saved in P's database and sent in future RPC replies.
2226        Problem (pointed out by John McLeod):
2227            A user's CPID can change whenever he joins a new project.
2228            Statistics web sites don't have permanent IDs for a user.
2229        NEW: when the client sends a scheduler RPC to project P,
2230            it sends the CPID of the project for which user_create_time
2231            is least (i.e. the project with the oldest account).
2232            Project URL is used as a tie-breaker.
2233
2234    - Fixed a bug where user_create_time wasn't being
2235        parsed correctly from server reply.
2236
2237    client/
2238        client_types.C
2239        cs_scheduler.C
2240
2241David  8 Feb 2005
2242    Stuff related to web-site translations:
2243
2244    - removed blank lines from language_interface;
2245        these caused bad entries in language_interface.inc
2246    - make_project: create additional directories
2247        (html/languages, /compiled, /translations)
2248        and make them writeable to all
2249    - make_project and upgrade: copy language files too
2250
2251    html/languages/
2252        language_interface
2253    py/Boinc/
2254        setup_project.py
2255    tools/
2256        make_project
2257
2258Rom    8 Feb 2005
2259    - Bug Fix: Add the ability for setup to shutdown any running instances
2260        of the BOINC Manager during install and uninstall.
2261    - Bug Fix: Change "Launch the program" to "Launch the BOINC Manager"
2262    - Bug Fix: Fix a number of event bubble up issues with the base
2263        wxTaskBarEx class, the sample format provided with the wxWidget
2264        framework leads down the wrong path if you try to extend the class.
2265    - Bug Fix: Add another custom action dll to do the actual shutdown
2266        of the BOINC Manager
2267
2268    clientgui/
2269        BOINCGUIApp.cpp
2270        BOINCTaskBar.cpp, .h
2271    clientgui/msw/
2272        taskbarex.cpp, .h
2273    win_build/installerv2/
2274        BOINC.ism
2275    win_build/installerv2/Windows/src/ShutdownBOINCManager
2276        ShutdownBOINCManager.cpp ( added )
2277        ShutdownBOINCManager.def ( added )
2278        ShutdownBOINCManager.sln ( added )
2279        ShutdownBOINCManager.vcproj ( added )
2280        stdafx.cpp, .h ( added )
2281    win_build/installerv2/Windows/x86/
2282        shutdown.dll
2283
2284Bruce 8 Feb 2005
2285    Added new tag pair to config.xml:
2286    <min_core_client_version_announced> N </min_core_client_version_announced>
2287    <min_core_client_upgrade_deadline>  M </min_core_client_upgrade_deadline>
2288    This is used to warn users in advance if a new minimum core client is going
2289    to be required.  Users have until time 'M' (Unix epoch time(2) format)
2290    to upgrade. Not yet tested.
2291
2292    doc/
2293        configuration.php
2294    sched/
2295        handle_request.C
2296        sched_config.C
2297        sched_config.h
2298
2299
2300
2301Bruce 8 Feb 2005
2302    - Turn off ops pages that update the data base.  These now issue a message
2303      informing the project admin that they need to be explicitly edited to
2304      enable updating the database.  This will help prevent inadvertent use.
2305      Thanks to David Hammer.
2306
2307    html/
2308        ops/
2309            clear_host.php
2310            forum_repair.php
2311            make_emails_lowercase.php
2312            repair_validator_problem.php
2313            team_repair.php
2314
2315David  9 Feb 2005
2316    - small bug fix: set must_reschedule_cpus in
2317        ACTIVE_TASK_SET::exit_tasks().
2318        This fixes a (rare) situation where you detach from a project,
2319        other projects' tasks are not run, and the CPU is idle.
2320    - win graphics compile fix
2321
2322    api/
2323        reduce_lib.C
2324    client/
2325        app_control.C
2326        client_state.h
2327
2328Eric K. 9 Feb 2005
2329    -Unfortunately on some 32 bit systems there is a problem with wx-widgets
2330     configuring itself for largefile support.  On these systems largefile
2331     support breaks C++ compiles by defining away many of the C standard library
2332     routines that should reside in namespace std::.  In order to get around
2333     problem first we have to check the largefile support macros.  Later we will
2334     use the macro SAH_LARGEFILE_BREAKS_CXX to check for the breakage.  If
2335     if breakage is found LARGEFILE_BREAKS_CXX is defined in config.h.  This
2336     define is checked in std_fixes.h and the appropriate functions are defined
2337     in order to solve the problem. (These functions were already in place)
2338     Because these defines affect the behavior of standard library headers,
2339     std_fixes.h is being included from config.h
2340    -Added AM_CPPFLAGS, AM_CFLAGS, and AM_CXXFLAGS (for flags common to all
2341     compiles) so they will be defined in all Makefile.am files.
2342    -Put #ifdef _cplusplus around the C++ specific items in std_fixes.h so it
2343     may be included from C source files.
2344
2345    configure.ac
2346    Makefile.incl
2347    m4/
2348        sah_largefile_breaks_cxx.m4
2349    api/
2350        Makefile.am
2351    lib/
2352        std_fixes.h
2353
2354David  9 Feb 2005
2355    - locality scheduling: move check for transient infeasibility
2356        to SCHEDULER_REPLY::work_needed() for uniformity
2357    - scheduler: if request has different CPID, accept it
2358        whether or not it's greater than current one
2359    - file deleter: show full path in error messages
2360
2361    sched/
2362        handle_request.C
2363        sched_locality.C
2364        sched_send.C
2365        server_types.h
2366
2367Rom    9 Feb 2005
2368    - Bug Fix: Fix a stupid mistake where I wasn't even checking to see if a
2369        person selected to allow the screen to be blanked before setting the
2370        blank timer to work.
2371
2372    client/win/
2373        win_screensaver.cpp, .h
2374
2375Rom    9 Feb 2005
2376    - Bug Fix: If a result is flagged as 'Aborted', do not show the
2377        'Suspend'/'Resume' options in the task list.
2378    - Bug Fix: If a result is suspended without having already been
2379        executed, display it as suspended instead of 'Ready to Run'
2380
2381    clientgui/
2382        ViewWork.cpp
2383
2384David  9 Feb 2005
2385    - scheduler changes to get the FCGI version to compile.
2386        Problem: the FCGI library inexplicably doesn't provide
2387        a version of fscanf().
2388        Some of Bruce's recent additions
2389        (timezone-dependent URL, MD5 caching) use fscanf().
2390        I commented them out with the _USING_FCGI_ symbol.
2391        This shouldn't affect anyone since E@h doesn't use FCGI.
2392
2393    sched/
2394        sched_send.C
2395    tools/
2396        backend_lib.C
2397
2398David  9 Feb 2005
2399    - report GUI RPC connection rejected errors at most once every ten minutes
2400
2401    client/
2402        gui_rpc_server.C
2403
2404Bruce 10 Feb 2005
2405    More sched locality and other scheduler changes.
2406    - Address David's comment of Feb 2.
2407        Now properly reduce the disk size resource requirements
2408        of a WU being sent if the file is already on the host,
2409        or already included in a previous WU being sent.
2410        DAVID: please check that reply_copy.wus.pop_back() is right.
2411    - For this, define a function host_has_file().
2412        This can also be used in the future for more intelligent
2413        file deletion schemes.
2414    - Make warnings to upgrade old clients have low priority until
2415        3 days before deadline.  Then high priority.
2416    - Fix sign error in messages sent to users about insufficient disk space.
2417    - Move extract_filename() from sched_locality.C to sched_util.C
2418    - Pretty up the ordered list of URLs printed for a given host.
2419    - I've even tested these changes before committing them!
2420
2421    sched/
2422        handle_request.C
2423        sched_locality.C
2424        sched_send.C
2425        sched_util.[hC]
2426
2427Bruce 10 Feb 2005
2428      Added code to the scheduler so that it will dump core on SEGV.
2429      This is disabled by default.
2430      Having this is really useful if the scheduler is crashing
2431      some of the time.
2432      You can load the core dump file into a debugger to see where things are
2433      breaking.  To use this, edit sched/main.C by hand and set
2434      #define DUMP_CORE_ON_SEGV 1
2435
2436    sched/
2437        main.C
2438
2439Eric K 10 Feb 2005
2440    Fixes to get server components compiling under FCGI.
2441    - Added check for _USING_FCGI_ in std_fixes.h in order to prevent
2442      redefinition of stdlib functions with LARGEFILE_BREAKS_CXX is defined.
2443    - Because FCGI doesn't have fscanf() and fgetc() that work on FCGI_FILE*,
2444      the FILE pointers for these functions need to be wrapped in a call to
2445      FCGI_ToFILE().  In the case where FCGI isn't being used we define
2446      FCGI_ToFILE(x) to (x).
2447
2448    lib/
2449        std_fixes.h
2450    sched/
2451        sched_send.C
2452    tools/
2453        backend_lib.C
2454
2455David  10 Feb 2005
2456    code shuffling in scheduler:
2457    - moved locality-specific code from sched_send.C to sched_locality.C
2458    - moved timezone-related code to sched_timezone.C
2459
2460    sched/
2461        Makefile.am
2462        sched_locality.C,h
2463        sched_send.C
2464        sched_timezone.C,h (new)
2465
2466David  10 Feb 2005
2467    - expanded gui_test to a full-featured command-line interface
2468        to the core client, and renamed it to boinc_cmd.
2469        The commands have all changed; see code (I'll write a web page too)
2470
2471    lib/
2472        Makefile.am
2473        boinc_cmd.C (new)
2474        gui_rpc_client.C,h
2475        gui_test.C (removed)
2476
2477Rom    10 Feb 2005
2478    - Bug Fix: Inconsistant window state was causing the BOINC Manager to
2479        be blank on startup, basically either wxWidgets or Windows wasn't
2480        properly dealing with the Window state changes and the client
2481        would believe it was not being displayed when in fact it was on
2482        the screen.  When the window was hidden from view, it would
2483        skip updating any of the controls.
2484
2485    clientgui/
2486        BOINCGUIApp.cpp
2487        BOINCTaskBar.cpp
2488        MainFrame.cpp
2489
2490Eric K 10 Feb 2005
2491    - There was a problem using dynamic allocations (with new) in many of the
2492      graphics classes.  In many places the code was written assuming default
2493      values of 0, especially for pointers and booleans.  While that's true
2494      in the case of a static instance with the default constructors, it not
2495      generally true with dynamic allocation unless the default constructor
2496      is replaced.  Therefore I've added constructors in the following
2497      classes/structs:  MOVING_TEXT_PANEL, COLOR, PROGRESS, PROGRESS_2D,
2498      TEXTURE_DESC, REDUCED_ARRAY.
2499    - This will be a problem is any are used from C code unless the
2500      constructors declarations are enclosed in "#ifdef __cplusplus" blocks.
2501    - There was also a problem that showed up under Windows when dynamic
2502      allocations were used.  app_graphics_resize() gets called before
2503      app_graphics_init().  This usually results in a crash since classes
2504      haven't yet been constructed.  To work around this I've added a case
2505      for WM_CREATE in the WndProc() which calls app_graphics_init.  Under
2506      windows this will get passed before WM_SIZE does.
2507
2508    api/
2509        gutil.C
2510    gutil.h
2511    reduce_main.C
2512    windows_opengl.C
2513
2514Rom    10 Feb 2005
2515    - Bug Fix: Reorder the logic for NT 4.0 domain controllers one more
2516        time.  Damn variant variable types.
2517
2518    win_build/installerv2/redist/windows/
2519        BOINC.vbs
2520
2521Bruce  10 Feb 2005
2522    - Sched locality change: if the host does not have enough memory to satisfy
2523      a work request, do not search for or send further work.  This is the same
2524      way that disk space limits are handled.  This is necessary since otherwise
2525      a host with small memory will endlessly trigger the WU generator, churning
2526      out infeasible WUs.
2527    - Added boolean arg to host_has_file() following David A's advice. This
2528      eliminates the 'expensive' copy of a large data structure. The bool arg
2529      makes host_has_file() skip the final WU in the vector in hunting for a file.
2530    - Better log message for setting coredump size.
2531I   - Added RCSID tag to sched_timezone.C
2532    - Got rid of annoying 'no <host_venue>' tag messages from scheduler
2533    sched/
2534        sched_send.C
2535        sched_locality.C
2536        main.C
2537        sched_timezone.C
2538        server_types.C
2539
2540David  11 Feb 2005
2541    - Core client: require that an app version's main program be executable
2542        (and thus that it be digitally signed)
2543    - compile fix for Windows guirpctest (should rename boinc_cmd)
2544    client/
2545        app_control.C
2546        app_start.C
2547    win_build/
2548        boinc_guirpctest.vcproj
2549
2550Janus 11 Feb 2005
2551   - Added translation features to create_account_form.php
2552   - Inserted the text from the page in the language interface and the
2553     english language file
2554
2555   /html/
2556        users/
2557                create_account_form.php
2558        languages/translations/
2559                en.po
2560
2561Rom    11 Feb 2005
2562    - Bug Fix: Check to see if the hostname given to us is in dotted decimal
2563        notation, if so, convert it into an ip address, otherwise pass it to
2564        a name resolution service.
2565
2566    client/
2567        net_xfer.C
2568
2569David  11 Feb 2005
2570    - core client: added a function maybe_more_data()
2571        to see if there might be more data later
2572        on a socket for which recv() returned -1
2573
2574        Previously this was done in HTTP_REPLY_HEADER::read_reply()
2575        in a way that worked on Unix but not Windows,
2576        and it wasn't done at all in read_reply()
2577        (used to read file upload handler replies).
2578
2579    client/
2580        http.C
2581
2582David  11 Feb 2005
2583    - compile fix for Unix
2584
2585    client/
2586        net_xfer.C
2587
2588David  11 Feb 2005
2589    - compile fix for FreeBSD (from JR Oldroyd)
2590
2591    api/
2592        graphics_lib.C
2593
2594Janus 12 Feb 2005
2595    - Added "Delete forum thread" feature
2596    - Added "Double post" to the list of reasons why a post is deleted
2597
2598    /html/
2599        inc/
2600             email.inc
2601        user/
2602             forum_moderate_post.php
2603             forum_moderate_thread.php (new)
2604             forum_moderate_thread_action.php (new)
2605             forum_thread.php
2606
2607David  12 Feb 2005
2608    - fix to the 11/feb fix
2609
2610    client/
2611        http.C
2612
2613David  12 Feb 2005
2614    - added functions in PHP code to get data from GET and POST,
2615        and do various safety checking on it.
2616        These functions should be used exclusively;
2617        $_GET and $_POST should not be accessed directly
2618    - moved some stuff out of html/inc/util.inc
2619
2620    html/
2621        inc/
2622            db_ops.inc
2623            gallery.inc
2624            prefs.inc
2625            profile.inc
2626            util.inc
2627        user/
2628            various (didn't finish)
2629
2630David  13 Feb 2005
2631    - Get rid of the concept of explicitly "activating" an account.
2632        Instead: whenever the server receives an account key
2633        (whether via the web or in a scheduler RPC request)
2634        for an account that has an unverified email address
2635        (i.e. the email_addr field is in 'munged' form)
2636        it changes the email address to non-munged form.
2637
2638    html/
2639        inc/
2640            email.inc
2641        languages/
2642            language_interface
2643            translations/
2644                en.po
2645        user/
2646            account_created.php
2647            account_setup.php
2648            account_setup_first.php
2649            account_setup_nonfirst_done.php
2650            create_account_form.php
2651            login_action.php
2652    sched/
2653        handle_request.C
2654
2655David  13 Feb 2005
2656    - code cleanup in forum code.
2657        More validation of GET and POST data
2658
2659    html/
2660        forum*.php
2661
2662David  13 Feb 2005
2663    - scheduler: change config option from "enforce_delay_bound"
2664        to "ignore_delay_bound" (i.e. the default is to enforce the bound)
2665    - scheduler: in estimating result delay,
2666        take into account results being included in this reply
2667        (as well as work already on client)
2668
2669    sched/
2670        sched_config.C,h
2671        sched_send.C
2672        server_types.C,h
2673
2674David  13 Feb 2005
2675    - Core client: require that all app_version files be signed
2676    - update_versions: put signatures on all app_version files
2677
2678    client/
2679        client_state.C
2680        cs_files.C
2681    py/Boinc/
2682        tools.py
2683
2684David  14 Feb 2005
2685    - user web fixes
2686
2687    html/user/
2688        create_account_form.php
2689        account_created.php
2690
2691David  14 Feb 2005
2692    - scheduler: in estimating delay of a result,
2693        ignore time stats (on_frac, active_frac)
2694        if no results have been added to reply yet.
2695        Clients with low on_frac/active_frac
2696        will still get at least one result.
2697
2698    sched/
2699        sched_send.C
2700        server_types.C
2701
2702David  14 Feb 2005
2703    - Allow remote application graphics via X11.  This involves:
2704        - Adding an optional <display> element to graphics messages
2705            passed from core client to app
2706        - Changed the GUI RPC interface to include display
2707            (as well as window_station and desktop)
2708        - X version of API does putenv("DISPLAY=x") with the display X
2709            it gets from the core client
2710        - change BOINC manager so that (on Unix) it gets the DISPLAY
2711            and passes it in graphics RPCs
2712        - modify boinc_cmd so that it can pass display
2713    - fixed indentation in x_opengl.C
2714        Please follow the existing style!!
2715
2716    api/
2717        x_opengl.C
2718    clientgui/
2719        BOINCGUIApp.cpp,h
2720        MainDocument.cpp,h
2721        ViewWork.cpp
2722    lib/
2723        app_ipc.C,h
2724        boinc_cmd.C
2725        gui_rpc_client.C,h
2726
2727Rom    14 Feb 2005
2728    - Use the display information passed from the BOINC Manager and
2729        screensaver.
2730
2731    client/
2732        app_graphics.C
2733        gui_rpc_server.C
2734
2735David  15 Feb 2005
2736    - Fix the anonymous platform mechanism
2737
2738    client/
2739        app_start.C
2740
2741David  15 Feb 2005
2742    - BOINC manager: on Unix, don't ask whether to show remote graphics
2743
2744    clientgui/
2745        ViewWork.cpp
2746
2747David  15 Feb 2005
2748    - "upgrade" creates any project directories that don't already exist.
2749        (e.g. html/languages stuff)
2750
2751    py/Boinc/
2752        setup_project.py
2753
2754Bruce 15 Feb 2005
2755    - Scheduler changes (global):
2756    - Ignore CPU limitations and resource share entirely, IF
2757      a host:
2758        (1) has no work for this project
2759        (2) has no results in this sched reply
2760      This ensures that any host that wants to do work will at least
2761      get *something*. It liberalizes slightly David A's approach
2762      from 14 Feb 2005. Eliminate use_time_stats from wreq structure.
2763    - Scheduler changes (locality scheduling only):
2764    - Improve return value info for some functions.
2765    - Modify send_old_work() to accept a t_min < t < t_max time range
2766    - New sched locality algorithm to send work to hosts with no files.
2767      Send oldest result in the time range A < t < B where
2768      B = locality_scheduling_timeout/2
2769      A = B - rand*locality_scheduling_timeout/2
2770      Here rand is a uniformly distributed random number in [0,1].
2771    - When an unsent result is older than locality_scheduling_timeout, no
2772      longer send it to the FIRST host that requests work.  Instead send
2773      it to the first host which has a connection speed > 100kb/s.
2774    - Fix file deletion.  Previously we were deleting files from hosts
2775      when they got no work for that file.  But this might have been
2776      because the work was infeasible (cpu time).  Now delete files
2777      from host ONLY if there is no work remaining for that file.
2778
2779    sched/
2780        sched_locality.C
2781        sched_send.C
2782        server_types.h
2783
2784David  15 Feb 2005
2785    - User web: security-related PHP cleanup
2786        Replace $_GET["id"] with getint("id) here and there.
2787        Use lookup_x() instead of explicit SQL
2788
2789    html/
2790        inc/
2791            db.inc
2792            util.inc
2793        user/
2794            confirm_email_change.php
2795            edit_email_action.php
2796            host_edit_form.php
2797            host_venue_action.php
2798            hosts_user.php
2799            results.php
2800            show_user.php
2801            team_display.php
2802            team_quit_form.php
2803            userw.php
2804
2805David  15 Feb 2005
2806    - User web: add warning telling message-board posters
2807        not to be obscene or threatening
2808
2809    html/
2810        inc/
2811            forum.inc
2812        user/
2813            forum_post.php
2814            forum_reply.php
2815
2816Bruce 15 Feb 2004
2817    - More sensible use of request_delay.  If a host contacts the
2818      scheduler, and fails to get work because there are N secs
2819      of pending work, then send a delay request of min(3600, N/5) secs.
2820      Otherwise the same host was coming back every hour, without being able
2821      to get additional work.
2822    - Implemented by adding a method set_delay() to
2823      SCHEDULER_REQUEST. This sets the delay to the maximum of the
2824      previous requested delay or the current requested delay. The
2825      delay is NEVER set longer than two days.
2826
2827    sched/
2828        server_types.h
2829        server_types.C
2830        handle_request.C
2831        sched_send.C
2832
2833David  15 Feb 2005
2834    - user web
2835
2836    html/user/
2837        account_setup_first_done.php (new)
2838
2839David  16 Feb 2005
2840    - user web fixes
2841
2842    html/user/
2843        account_setup_first_done.php
2844        team_display.php
2845
2846David  16 Feb 2005
2847    - Giant checkin to remove warnings when compiled with
2848        all known warnings enabled.
2849        This consisted of:
2850        1) string literals ("foo") are type const char*,
2851            so any variables or args that you assign them to
2852            must be const char*
2853        2) shadowed variables
2854        3) unused params (removed or commented out)
2855        4) a couple of printf format/var mismatches
2856            (nothing that would cause a problem at this point)
2857
2858    api/
2859        x_opengl.C
2860    client/
2861        (most .C, .h)
2862    clientgui/
2863        (most .C, .h)
2864        res/
2865            *.xpm
2866    db/
2867        (most .C, .h)
2868    lib/
2869        (most .C, .h)
2870    sched/
2871        (most .C, .h)
2872    tools/
2873        (most .C, .h)
2874
2875Janus 17 Feb 2005
2876    - Added security checks to forum moderation features
2877    - Added project specific translation ability to the translator:
2878            To use this you simply add language files and tokens in the
2879            project specific language directory:
2880            /html/languages/project_specific_translations/
2881            There's a dummy en.po file there to show how it is done.
2882            You use the tr(TOKEN)-function to get your token translated.
2883            It is possible to override the BOINC-provided translation by
2884            redefining the TOKEN in the project specific translation files.
2885    - Changed the translator to use the project default language as interface
2886      instead of having to explicitly write everything in a seperate file.
2887      Therefore you do no longer  have to add tokens to the
2888      language_interface-file.
2889
2890    html/
2891        inc/
2892            translation.inc
2893        user/
2894            forum_moderate_thread.php
2895            forum_moderate_post.php
2896            forum_moderate_thread_action.php
2897            forum_moderate_post_action.php
2898        languages/
2899            language_interface (removed)
2900            project_specific_translations/ (new)
2901                en.po (new)
2902
2903Rom    17 Feb 2005
2904    - Bug Fix: Close down the local boinc daemon if we started the local boinc
2905        daemon.
2906    - Bug Fix: I forgot to change the comparision in the ENABLESCREENSAVER from
2907        string to integer when I changed the control type
2908
2909    clientgui/
2910        BOINCGUIApp.cpp, .h
2911    win_build/installerv2/
2912        BOINC.ism
2913
2914David  17 Feb 2005
2915    - make_project: added --db_host option.
2916        Lets you make a project with a remote DB server
2917    - make_project: got rid of --base option
2918    - add html/languages/project_specific_translations to set
2919        of directories created by make_project and upgrade
2920
2921    py/Boinc/
2922        database.py
2923        setup_project.py
2924    tools/
2925        make_project
2926
2927David  17 Feb 2005
2928    - Win core client: retry CreateProcess() 5 times with random delay,
2929        in case some other process has executable file open
2930        (from Bruce Allen)
2931
2932    client/
2933        app_start.C
2934
2935Bruce 17 Feb 2005
2936    - make daily_result_quota be PER CPU with a hardwired limit of
2937      4 CPUS.
2938    - Improved error messages if users are being denied work because of
2939      lack of CPU.  The message reports back their on fraction, active
2940      fraction, and resouce share fraction, as percentages.
2941
2942    sched/
2943        sched_send.C
2944    doc/
2945        configuration.php
2946
2947David  17 Feb 2005
2948    - partially fixed test_uc.py.
2949        It doesn't get Python errors any more, but it sometimes fails.
2950        This is because of file_deleter.
2951        It can delete input files that are needed by
2952        another WU, and it can delete output files before they're checked.
2953        Should fix this.
2954
2955    test/
2956        testbase.py
2957
2958Rom    17 Feb 2005
2959    - Add an additional HTTP trace statement to print out the reply size of
2960        an HTTP operation on a failure condition.
2961
2962    client/
2963        http.C
2964
2965David  18 Feb 2005
2966    - core client HTTP: in a POST operation (i.e. scheduler RPC)
2967        when start to read reply body,
2968        reset bytes_xferred and file_offset to zero
2969        (otherwise length calculation at the end will fail)
2970
2971    client/
2972        http.C,h
2973
2974David  18 Feb 2005
2975    - For some reason I removed a strdup() in my 17 Feb checkin to start.C,
2976        which caused memory corruption on all platforms.
2977        It's back now
2978    - handle </venue> in PROJECT::parse_account().
2979        Gets rid of a spurious warning
2980
2981    client/
2982        app_start.C
2983        cs_account.C
2984        scheduler_op.C
2985
2986David  18 Feb 2005
2987    - fix gcc warning
2988    - printf in http.C had wrong conversion character
2989
2990    client/
2991        app_start.C
2992        http.C
2993
2994David  18 Feb 2005
2995    - API: removed the check in boinc_init()
2996        that requires the API library to have the same major version
2997        as the core client.
2998
2999    api/
3000        boinc_api.C
3001
3002David  18 Feb 2005
3003    - core client: pass proxy info to apps correctly
3004
3005    client/
3006        app_start.C
3007
3008David  19 Feb 2005
3009    - user web cleanup (GET arg checking mostly)
3010
3011    html/user/
3012        (various files)
3013
3014Janus 20 Feb 2005
3015    - Made the image resize script GD2-aware. It will automatically use >=GD2
3016      if this is available on the webserver.
3017      This will make avatars (and whatever uses the script) look much better.
3018
3019    html/inc/
3020        image.inc
3021
3022Bruce 20 Feb 2005
3023    Fixed a bug in locality scheduling.  When old work was being sent,
3024    the daily_result_quota constraint was not being enforced.
3025    Normally this constraint is enforced in the work_needed()
3026    function.  However note that the critical send_work() function
3027    NEVER checks work_needed() [DAVID, perhaps it should?] before
3028    calling send_work_locality() or scan_work_array().  Then, when
3029    send_work_locality() was called, it would in turn call
3030    send_old_work() immediately, WITHOUT checking to see if
3031    work_needed() was TRUE.  This allowed the daily_result_quota
3032    constraint to be broken.
3033
3034    Possible fixes included:
3035      test work_needed() before calling send_old_work()
3036      test work_needed() WITHIN send_old_work()
3037      test work_needed() within possibly_send_result()
3038      test work_needed() within wu_is_infeasible()
3039
3040    Conclusion: work is ONLY sent by the function
3041    possibly_send_result() which is called in two places in
3042    sched_locality.C: once in send_results_for_file() and once in
3043    send_old_work().  The first of these DOES check the value of
3044    work_needed().  The second does NOT.  So I added a check of
3045    work_needed() within send_old_work().  A also added
3046    added another check of work_needed() at the top of
3047    send_results_for_file() BEFORE any DB access is done.  It might be
3048    better to put this test of work_needed() lower down (within
3049    possibly_send_result()) or higher up (where send_old_work())
3050    is called.  I am not sure. David, I'd appreciate your advice.
3051
3052    sched/
3053        sched_locality.C
3054
3055Rom    21 Feb 2005
3056    - Bug Fix: Fix a localization error where we were refering to
3057        "Abort Transfer" as "Abort Upload"
3058
3059    clientgui/
3060        ViewTransfers.cpp
3061
3062Rom    21 Feb 2005
3063    - Bug Fix: On platforms other than Windows, really close down the
3064        manager, when the user requests the app to close.
3065
3066    clientgui/
3067        MainFrame.cpp
3068
3069Rom    21 Feb 2005
3070    - Bug Fix: If a result or transfer is paused by some event other than
3071        actually changing it's CPU_SCHED state, such as user activity then
3072        report the result as suspended instead of running.
3073
3074    client/
3075        gui_rpc_server.C
3076    clientgui/
3077        MainDocument.cpp, .h
3078        ViewTransfers.cpp
3079        ViewWork.cpp
3080    lib/
3081        gui_rpc_client.C, .h
3082
3083Bruce 22 Feb 2005
3084    - Bug fixes to scheduler code
3085    - For locality scheduler, if anonymous platform lacks app,
3086        don't do deterministic search for work!
3087    - For locality scheduler, remove 'unsent' constraint from initial query
3088        so that existing index in result table can be used to perform
3089        a more efficient search.
3090    - Send multi-message replies to core clients > 4.19
3091    - Change 'no work available' message to 'no work sent'
3092        since this is often due to constraints at the client end,
3093        NOT lack of work at project end.
3094    - When daily result quota exceeded,
3095        tell users what its value is for that host.
3096
3097    sched/
3098        sched_locality.C
3099        sched_send.C
3100        server_types.C
3101        server_types.h
3102
3103David  22 Feb 2005
3104    - prevent users from including HTML tags in the
3105        name, url, postal_code fields of their DB records
3106    - add a script (clean_user_names.php) for fixing existing DBs
3107    - fix type in team edit
3108
3109    html/
3110        inc/
3111            db.inc
3112            translation.inc
3113        ops/
3114            clean_user_names.php (new)
3115        user/
3116            create_account_action.php
3117            edit_user_info_action.php
3118            team_edit_form.php
3119
3120David  22 Feb 2005
3121    - Validator: added a "-mod n i" cmdline option.
3122        Processes only WUs with ID mod n == i.
3123        Lets you run multiple copies of validators for greater throughput.
3124
3125    db/
3126        boinc_db.C,h
3127    sched/
3128        validator.C
3129
3130Rom    22 Feb 2005
3131    - Bug Fix: Include the core client version number in the connected to
3132        field of the status bar to ease deployment issues for large farms
3133
3134    client/
3135        gui_rpc_server.C
3136    clientgui/
3137        MainDocument.cpp, .h
3138        MainFrame.cpp
3139    lib/
3140        gui_rpc_client.C, .h
3141
3142David  22 Feb 2005
3143    - backend processes: centralize avg_turnaround updating,
3144        and write log messages
3145    - backend programs: define CRITICAL/NORMAL/DEBUG as 1/2/3
3146        so that message logging works as advertised
3147
3148    sched/
3149        sched_msgs.h
3150        sched_util.C,h
3151        transitioner.C
3152        validator.C
3153
3154David  22 Feb 2005
3155    - admin web:
3156        fixed boinc_real_escape_string();
3157        fixed clean_user_names.php (rerun this if you already ran)
3158    - user web:
3159        change "questions and problems" to "questions and answers"
3160
3161    html/
3162        inc/
3163            db.inc
3164        ops/
3165            clean_user_names.php
3166            create_forums.php
3167        user/
3168            forum_help_desk.php
3169            forum_post.php
3170            forum_reply.php
3171            sample_index.php
3172
3173David  22 Feb 2005
3174    - core client: scheduling: cap project debt at 1 day
3175
3176    client/
3177        cs_apps.C
3178        http.C
3179        scheduler_op.C
3180    sched/
3181        sched_send.C
3182
3183David  23 Feb 2005
3184    - got test_uc.py to work again - woohoo!
3185        - changed WU name to uc_wu_nodelete.
3186            Otherwise the input file would get deleted
3187            and subsequent WUs (created by make_work) would bomb out
3188        - change make_work to strictly obey its max_wus argument.
3189        - remove check that original input file is deleted, 'cuz it's not.
3190
3191    py/Boinc/
3192        setup_project.py
3193    sched/
3194        make_work.C
3195    test/
3196        make_project_ap.php (removed)
3197        test_backend.py (removed)
3198        test_uc.py
3199        testbase.py
3200        uc_wu (removed)
3201        uc_wu_nodelete (new)
3202
3203Rom    23 Feb 2005
3204    - Bug Fix: On localized machines the administrators and users groups
3205        can be named something other than administrators and users.  This
3206        is also the case if the administrators and users groups have been
3207        renamed on english machines.  So thanks to some sample code from
3208        MSDN we can now detect what names we should be using in both cases
3209        during setup to set permissions on the BOINC folder.
3210
3211    win_build/installerv2/
3212        BOINC.ism
3213    win_build/installerv2/redist/Windows/src/GetGroupName
3214        GetGroupName.cpp
3215        GetGroupName.def
3216        GetGroupName.sln, .vcproj
3217        stdafx.cpp, .h
3218    win_build/installerv2/redist/Windows/x86/
3219        getgrpname.dll
3220
3221Rom    23 Feb 2005
3222    - Bug Fix: Installshield isn't very consistent with how it deals with
3223        copied controls from one dialog to another.  It seems on my last
3224        round of updates to make the checkbox controls act as integers
3225        the UI didn't update properly and left me with the impression
3226        that all the controls had been properly flagged as integer values.
3227        It turns out they were not, so i've changed them so that they are.
3228
3229    win_build/installerv2/
3230        BOINC.ism
3231
3232Rom    24 Feb 2005
3233    - Bug Fix: Reset the client_version integer with every get_state request.
3234
3235    lib/
3236        gui_rpc_client.C
3237
3238Janus 24 Feb 2005
3239    - Web translator no longer outputs warnings to the screen - instead it logs
3240      it to a file on the server. (defined in translation.inc)
3241    - Added multilanguage features to the rest of the account_creation pages
3242
3243    /html/
3244        inc/
3245            translation.inc
3246        user/
3247            account_*_done.php
3248
3249David  24 Feb 2005
3250    - Finish server-side support for account management.
3251        Changed all inputs to GET, all outputs to XML
3252        Added get_info and set_info functions
3253
3254    html/
3255        inc/
3256            db.inc
3257        user/
3258            am_create.php
3259            am_get_info.php (new)
3260            am_query.php
3261            am_set_info.php (new)
3262
3263David  25 Feb 2005
3264    - Core client: in Unix version, make sure that
3265        shared-mem segments get deleted when ^C the core client.
3266        If they don't, some systems (Solaris) eventually run out of something.
3267
3268    client/
3269        app.C,h
3270        app_control.C
3271        cs_apps.C
3272
3273David  25 Feb 2005
3274    - Scheduler: added a mechanism to dynamically adjust the
3275        max # of results sent per day on a per-host basis,
3276        so that "bad hosts" (those that always return either errors or nothing)
3277        are eventually cut back to 1 result per day.
3278
3279        Added "max_results_day" field to host table.
3280        Initialized to config.daily_result_quota.
3281        When host returns an error result, or a result times out,
3282        decrement max_results_day (but not below 1).
3283        When the host return a success result,
3284        double max_results_day (but not above config.daily_result_quota)
3285
3286        Idea is from Bruce Allen
3287
3288        NOTE TO PROJECTS: you must update your database
3289        (see html/ops/db_update.php) prior to using this on your server.
3290
3291    db/
3292        boinc_db.C,h
3293        schema.sql
3294    html/ops/
3295        db_update.php
3296    sched/
3297        handle_request.C
3298        sched_send.C
3299        server_types.h
3300        transitioner.C
3301
3302David  25 Feb 2005
3303    - core client: possible fix for heap corruption problem -
3304        check for strlen(file_signature), not file_signature
3305
3306    client/
3307        cs_files.C
3308
3309David  25 Feb 2005
3310    - allow only one account per email address,
3311        including munged email addresses (from Bruce Allen)
3312
3313    html/user/
3314        create_account_action.php
3315
3316Rom    27 Feb 2005
3317    - Add another flag to the diagnostics library that will allow
3318        a check of the heap with every allocation/deallocation.
3319    - Enable a check of the heap for every allocation in the
3320        core client.
3321
3322    client/
3323        main.C
3324    lib/
3325        diagnostics.C, .h
3326
3327David  27 Feb 2005
3328    If you attached to a project and give a URL like "a.b.c//",
3329    two bad things happen:
3330    1) canonicalize_master_url() strips off everything before the //,
3331        leaving an empty URL
3332    2) it will write an account file account_.xml
3333        and make an entry in the client state file
3334    3) next time the core client starts up, it errors out
3335        trying to create the project directory.
3336    Fixes:
3337    - canonicalize_master_url(): check before "://", not "//"
3338    - is_account_file(): tighten up.
3339        Old: anything starting with account_ is considered an account file.
3340        New: must match account_A.B.xml where A and B are nonempty
3341    - invalid_url():
3342        Old: must match http://X, X nonempty
3343        New: must match http://X.Y/, X and Y nonempty
3344        rename to valid_master_url() and invert sense
3345
3346    client/
3347        cs_account.C
3348        file_names.C
3349    lib/
3350        util.C,h
3351
3352David  27 Feb 2005
3353    - when scanning account files, make sure a project has
3354        a unique master URL before adding to list of projects
3355
3356    client/
3357        cs_account.C
3358
3359Bruce 28 Feb 2005
3360      - messages containing newlines were being lost when sent to 4.19
3361        core clients. Fix strips newlines from messages sent to clients
3362        <= 4.19.  NOTE: stripping may ALSO be needed for more recent
3363        clients.  But it would be better to fix the clients so that
3364        embedded newlines in messages are respected.
3365
3366        sched/
3367            server_types.C
3368
3369David  1 Mar 2005
3370    - core client: in garbage collection, reference-count FILE_INFOs
3371        that are pointed to by FILE_XFER or PERS_FILE_XFER objects.
3372        Hopefully this will prevent crashes when dealing with
3373        app versions with unsigned files.
3374
3375    client/
3376        client_state.C
3377        cs_files.C
3378        pers_file_xfer.C,h
3379
3380David  1 Mar 2005
3381    - core client: FILE_INFO::merge_info(): merge signature also.
3382        If we get a new version of a FILE_INFO from server
3383        and it has a signature, us it.
3384
3385    client/
3386        client_types.C
3387
3388David  1 Mar 2005
3389    -  fix for update_versions in case of single-file app
3390        with signature included (from John Flynn III)
3391
3392    tools/
3393        update_versions
3394
3395David  1 Mar 2005
3396    - added host_venue to get_state GUI RPC reply
3397
3398    client/
3399        cs_statefile.C
3400
3401Janus 2 Mar 2005
3402    - Changed translation compiler to avoid concurrent compiles
3403
3404    html/inc/
3405        translation.inc
3406
3407David  2 Mar 2005
3408    - change db_update.php script to print messages on success/failure
3409        (from Eric Myers)
3410
3411    html/ops
3412        db_update.php
3413
3414Rom    3 Mar 2005
3415    - Bug Fix: Remove the prereq's for the Windows Scripting Host on
3416        Windows
3417    - Bug Fix: Convert all the VBS custom actions to C/C++ custom
3418        actions
3419
3420    NOTE: I'm having problems with code paths that involve displaying
3421      something to the user, so 7 out of the 10 custom actions have been
3422      debugged, and the others are waiting on me to figure out why
3423      MsiProcessMessage is returning 0 when it is supposed to be
3424      returning 6.
3425
3426    win_build/installerv2/
3427        < numerous files and folders >
3428
3429Bruce  3 March 2005
3430    - Added ops page for managing special users (from Christian Beer)
3431
3432    html/
3433        ops/
3434            index.php
3435            manage_special_users.php
3436            manage_special_users_action.php
3437
3438David  3 Mar 2005
3439    - typo in translation.inc (wrong date format in log file)
3440    - db_update.php must be run from command line,
3441        and gets user name/password interactively
3442        instead of from config file
3443        (from Eric Myers)
3444
3445    html/
3446        inc/
3447            ops.inc (new)
3448            translation.inc
3449        ops/
3450            db_update.php
3451
3452Rom    3 Mar 2005
3453    - Bug Fix: Fix the rest of the custom actions
3454    - Bug Fix: Hide password values from the log files
3455    - Bug Fix: Enable Next by default on the Service Config page
3456
3457    win_build/installerv2/
3458        < numerous files and folders >
3459
3460David  3 Mar 2005
3461    - include User-agent: BOINC field in all HTTP requests
3462        (POST as well as GET)
3463    - user web: missing wild-card char in email address lookup
3464
3465    client/
3466        cs_scheduler.C
3467        http.C
3468    html/user/
3469        mail_passwd.C
3470
3471Janus  4 Mar 2005
3472    - Added optional project-specific callback functions for:
3473      + Workunit info page
3474      + User info page
3475      + User account page
3476      + Additional credit (old seti and old climateprediction)
3477      These can be found in the project_callbacks.inc-file in the
3478      project directory.
3479      In the future you won't have to manually patch the CVS to edit
3480      these pages - simply add stuff to these callback functions.
3481    - Automatically detect image library to use with profiles
3482      (from Christian Beer)
3483
3484    /html/
3485        inc/
3486            user.inc
3487            profiles.inc
3488        user/
3489            show_user.php
3490            home.php
3491            workunit.php
3492        project-sample/
3493            project_callbacks.inc (new)
3494
3495Rom    3 Mar 2005
3496    - Bug Fix: Adjust the tail options for Linux with regards to
3497        the self extracting archive script
3498
3499    sea/
3500        make-sea.sh
3501
3502David  5 Mar 2005
3503    - code cleanup and reorganization.
3504        Remove API-specific stuff from lib/filesys.C
3505        Don't define HANDLE as int on Unix
3506
3507    api/
3508        boinc_api.C
3509    doc/
3510        various changed and new
3511    lib/
3512        filesys.C,h
3513
3514Rom    5 Mar 2005
3515    - Add some additional log spew to display the daemon configuration
3516      option and a note if the detected configuration doesn't support
3517      graphics.
3518
3519    client/
3520        client_state.C
3521
3522David  5 Mar 2005
3523    - initial support for GUI RPC authentication
3524        If the core client finds a file called "gui_rpc_auth.cfg",
3525        it reads a password from it, and all GUI RPC requests
3526        must authenticate using a challenge/response sequence,
3527        proving that they have the password without sending it.
3528    - Added --passwd option to boinc_cmd
3529    - Moved network-related code out of gui_rpc_server.C
3530        and http.C (identical stuff) into lib/network.C,h
3531
3532    client/
3533        file_names.h
3534        gui_rpc_server.C,h
3535        http.C
3536        net_xfer.C,h
3537    lib/
3538        boinc_cmd.C
3539        gui_rpc_client.C,h
3540        network.C,h (new)
3541    win_build/
3542        boinc_cli.vcproj
3543        boing_gui.vcproj
3544
3545Bruce 7 March 2005
3546      -  Fix problem with ops page.  If a clause had for example "name like '%Jim%'
3547         then pushing the 'Next 20' link would break the additional clause.
3548         Thanks for Christian Beer.
3549
3550    html/
3551        inc/
3552            db_ops.inc
3553
3554David  7 Mar 2005
3555    - Unix compile fixes and core client code cleanup:
3556        - add network.C to Makefile
3557        - Move check_unique_instance() from file_names.C to main.C
3558
3559    client/
3560        file_names.C,h
3561        main.C
3562    lib/
3563        Makefile.am
3564        network.C,h
3565
3566David  7 Mar 2005
3567    - Bug fixes in GUI RPC protection.
3568        It works now using boinc_cmd.
3569        (need to integrate in BOINC manager)
3570
3571    client/
3572        gui_rpc_server.C
3573    lib/
3574        boinc_cmd.C
3575        gui_rpc_client.C
3576
3577David  7 Mar 2005
3578    - validator: change credit-granting formula (median_mean_credit())
3579        to ignore claimed credits close to zero.
3580        This is a workaround for what seems to be a current bug
3581        in the API or core client,
3582        causing 0 or very low CPU time to get reported erroneously.
3583
3584    sched/
3585        db_dump.C
3586        validate_util.C
3587
3588Rom    7 Mar 2005
3589    - Bug Fix: Change the state refresh functionality from an OnIdle event
3590        to a specific timer event since on some platforms the on timer
3591        event is called really often.
3592
3593    clientgui/
3594        Events.h
3595        MainDocument.cpp, .h
3596        MainFrame.cpp, .h
3597
3598David  7 Mar 2005
3599    - Core client: if a project is anonymous-platform,
3600        don't require that main programs be marked as executable
3601
3602    client/
3603        app_start.C
3604
3605David  7 Mar 2005
3606    - core client: win compile fixes
3607
3608    client/
3609        main.C,h
3610        win/
3611            wingui_mainwindow.cpp
3612    lib/
3613        network.cpp
3614
3615Rom    7 Mar 2005
3616    - Bug Fix: Remove the check to see if we have any projects already defined
3617        or not, before promting the user for project information.  This
3618        keeps the client from getting stuck when being launched as a daemon
3619        on the *nix machines.
3620
3621    client/
3622        client_state.C, .h
3623        cs_cmdline.C
3624        main.C, .h
3625
3626David  8 Mar 2005
3627    - fixed bug where, if a trickle-up file arrives from app
3628        while a scheduler RPC is in progress,
3629        it gets deleted when the RPC concludes
3630        (and therefore is never sent).
3631
3632        Solution: when put a trickle-up message in RPC request,
3633        append ".sent" to its filename if not there already.
3634        When get trickle-up ack, delete files of form trickle_up*.sent
3635    client/
3636        cs_trickle.C
3637    lib/
3638        util.C,h
3639
3640David  8 Mar 2005
3641    - user web: got rid of the "project_callbacks.inc" file.
3642        "project.inc" is already being used for this purposes.
3643        The project-specific functions must be defined there,
3644        perhaps empty.
3645        Also removed _callback from function names - they're
3646        not callbacks in the conventional sense.
3647        Also, these functions are expected to print, not return a string
3648        (so they can call row2() and stuff like that)
3649    - if a WU is pending validation, show that
3650    - change CHARSET of english translation to UTF-8
3651
3652    html/
3653        inc/
3654            user.inc
3655        languages/translations/
3656            en.po
3657        project.sample/
3658            project.inc
3659            project_callbacks.inc (removed)
3660        user/
3661            home.php
3662            show_user.php
3663            workunit.php
3664
3665Rom    9 Mar 2005
3666    - Bug Fix: Instead of relying on the wxWidget framework for UI
3667        updates for various menu items, move the update code to the
3668        OnFrameRender function so we don't eat CPU in what seems
3669        to be a busy loop.  It seems for platforms other than Windows
3670        the Idle event is fired for each iteration of a message pump
3671        check where no other events were processed.  On Windows their
3672        is an actual message sent by the OS called WM_IDLE which is
3673        used by wxWidgets.
3674
3675    clientgui/
3676        MainFrame.cpp, .h
3677
3678David  9 Mar 2005
3679    - db_dump: add UNIX time to directory names for old stats
3680        (so that you can run db_dump more than once pre day)
3681
3682    sched/
3683        db_dump.C
3684
3685David  9 Mar 2005
3686    - compile fix
3687
3688    client/
3689        http.C
3690    sched/
3691        validate_util.h
3692
3693Rom    9 Mar 2005
3694    - Cleanup a few asserts that were happening under Linux and not
3695        Windows
3696
3697    clientgui/
3698        MainFrame.cpp
3699        MainDocument.cpp
3700
3701David  9 Mar 2005
3702    - core client: allow show_graphics RPCs even for results
3703        that are not currently scheduled
3704
3705    client/
3706        gui_rpc_server.C
3707
3708David  9 Mar 2005
3709    - get rid of the STRING256 type, and change things to std::string
3710    - subscript error in SCHEDULER_OP::update_urls().
3711        Not sure if this could cause the project-clobber bug
3712
3713    client/
3714        client_types.C,h
3715        cs_prefs.C
3716        cs_scheduler.C
3717        scheduler_op.C,h
3718
3719David  9 Mar 2005
3720    - When fetch a master URL, put it in a file of the form
3721        master_PROJECTURL.html (not just master.html).
3722        This will hopefully fix a bug where sometimes
3723        one project's scheduler URL show up in another project.
3724    - replace tabs with spaces
3725
3726    client/
3727        acct_mgr.C
3728        app_graphics.C
3729        check_state.C
3730        client_state.C
3731        client_types.C
3732        cs_benchmark.C
3733        cs_files.C
3734        cs_scheduler.C
3735        cs_statefile.C
3736        file_names.C,h
3737        file_xfer.C
3738        gui_rpc_server.C
3739        http.C
3740        main.C
3741        net_xfer.C
3742        scheduler_op.C,h
3743
3744Rom    9 Mar 2005
3745    - Bug Fix: refactor the status bar code so that it is a derived
3746        class of wxStatusBar and then set it to be the status bar, which
3747        in turn fixes the status bar creation bug on platforms other
3748        than Windows in which the status bar text and bitmaps were
3749        having their top and left values be set to 0,0.
3750
3751    clientgui/
3752        MainFrame.cpp, .h
3753
3754Rom    10 Mar 2005 ( On behalf of Komori H. )
3755    - Bug Fix: Allow the proper translation of the status bar for languages
3756        that change the ordering of works depending on context.
3757    - Bug Fix: Include a meta tag in the task pane that specifies that the
3758        task pane is UTF8.
3759
3760    clientgui/
3761        MainFrame.cpp
3762        BOINCTaskCtrl.cpp
3763
3764David  10 Mar 2005
3765    - core client: replace fopen() with boinc_fopen() in several places.
3766        This could solve problems where some
3767        other program (backup, virus check) is scanning files
3768    - fix compile warnings
3769
3770    api/
3771        gutil.C
3772    apps/
3773        concat.C
3774    client/
3775        cs_account.C
3776        http.C
3777        log_flags.C
3778        next_xfer.C
3779        scheduler_op.C
3780    clientgui/
3781        ViewMessages.cpp
3782        ViewResources.cpp
3783        ViewTransfers.cpp
3784    doc/
3785        manager.php (new)
3786        menubar.php (new)
3787    lib/
3788        gui_rpc_client.C,h
3789        util.C,h
3790    sched/
3791        db_dump.C
3792        server_types.C
3793        validate_util.C
3794
3795David  10 Mar 2005
3796    - tested and fixed bugs in the core client's support for
3797        account management RPC.
3798        It now can make the RPC, parse the reply,
3799        and attach to the projects listed in the reply.
3800
3801    client/
3802        acct_mgr.C,h
3803        client_state.C
3804    lib/
3805        boinc_cmd.C
3806        gui_rpc_client.C
3807
3808Charlie    11 Mar 2005
3809    - Add support for building Mac GUI BOINC Manager, Core Client
3810    and SETI@home application using XCODE IDE on Macintosh.
3811    Removed Eric Heien's old boinc.pbroj which is confusing
3812    on CVS because it is a bundle, which looks like a directory
3813    to CVS.  New boinc.pbproj bundle is checked in zipped.
3814
3815    - Changes for Mac GUI BOINC manager and core client.
3816    Major rework of XCode project file.
3817    BOINC Manager has standard Mac application bundle with icon.
3818    Client doesn't ask for User ID or Project URL on command line.
3819    Added code for Mac to determine idle time (user inactivity).
3820    Core Client is embedded in BOINC Manager application bundle.
3821    BOINC Manager sets working directory to
3822        ~/Application Support/Boinc_Data/
3823    and then launches embedded Core Client.
3824
3825    client/
3826        hostinfo_unix.C
3827        main.C
3828    clientgui/
3829        BOINCGUIApp.cpp
3830    lib/
3831        hostinfo.h
3832    mac_build/
3833        boinc.pbproj/project.pbxproj (directory & file both removed)
3834        boinc.pbproj.zip (new)
3835        info.plist (new)
3836        HowToBuildBOINC_XCode.rtf
3837
3838Rom    11 Mar 2005
3839    - Add Account Management support into the BOINC Manager.
3840
3841      NOTE: Some problems remain with the current design, such as
3842        pointing out when a username and password combination is
3843        invalid.  Currently the only way for somebody to know
3844        something is up is by looking into the messages tab, but
3845        by then the username and password have been recorded in
3846        the acct_mgr_login.xml file because there is no way for
3847        the manager to know something is wrong.
3848
3849    clientgui/
3850        BOINCGUI.pjd
3851        DlgAccountManager.cpp, .h (added)
3852        Events.h
3853        MainDocument.cpp, .h
3854        MainFrame.cpp, .h
3855    lib/
3856        acct_mgr_client.C, .h (added)
3857        gui_rpc_client.C, .h
3858
3859David  11 Mar 2005
3860    - fix make_project
3861
3862    tools/
3863        make_project
3864
3865David  11 Mar 2005
3866    - BOINC manager: avoid asserts by commenting out some code
3867    - fix account manager functions
3868    - print messages on acct mgr RPC start/end
3869
3870    client/
3871        acct_mgr.C
3872    clientgui/
3873        MainFrame.cpp
3874    lib/
3875        acct_mgr_client.C
3876        gui_rpc_client.C
3877
3878David  12 Mar 2005
3879    - Change the appearance of the Task area of the BOINC manager.
3880        Use white background instead of blue.
3881        Surround tasks with bordered boxes.
3882    - commented out some unused code.  Delete?
3883
3884    clientgui/
3885        BOINCTaskCtrl.cpp,h
3886        VewProjects.cpp
3887
3888David  13 Mar 2005
3889    - scheduler: add nowork_skip configuration flag.
3890        If set, and there's no work, return from RPC
3891        without looking up user/host records.
3892        (this was previously the default.  It no longer is)
3893    - scheduler: if using locality scheduling, never set "have_no_work"
3894    - scheduler: replace "Einstein" by "this project" in message
3895
3896    sched/
3897        handle_request.C
3898        sched_config.C,h
3899        sched_send.C
3900
3901David  13 Mar 2005
3902    - db_dump: name archive dirs X_YYYY_mm_dd_hh_mm_ss
3903
3904David  14 Mar 2005
3905    - API: implement keyboard handling in X11 (from Eric Myers)
3906
3907    api/
3908        x_opengl.C
3909
3910Rom    15 Mar 2005
3911    - Backout the meta tag change that was made to support Japanese,
3912        aparently the string encodings are not automatically converted
3913        in Linux, or something to that effect.
3914
3915    clientgui/
3916        BOINCTaskCtrl.cpp
3917
3918David  15 Mar 2005
3919    - API: change timer_period from variable to constant
3920    - fix compile warnings
3921
3922    api/
3923        boinc_api.C
3924    lib/
3925        boinc_cmd.C
3926        parse.C
3927
3928David  15 Mar 2005
3929    - BOINC manager: if project doesn't have a name yet, use its URL
3930
3931    clientgui/
3932        MainDocument.cpp
3933
3934Rom    15 Mar 2005
3935    - Make the couldn't find messages visible only on debug builds, it
3936        freaks people out when they see them in the BOINC Manager log
3937        file even though it is normal for it to happen when the daemon
3938        shuts down.
3939
3940    lib/
3941        gui_rpc_client.C
3942
3943Rom    15 Mar 2005
3944    - Remove the accessors from the cache container classes for each
3945        of the views.
3946    - Add the default system encoding to the help/about dialog for
3947        the internationalization team.
3948
3949    clientgui/
3950        DlgAbout.cpp
3951        ViewProjects.cpp, .h
3952        ViewResources.cpp, .h
3953        ViewTransfers.cpp, .h
3954        ViewWork.cpp, .h
3955
3956Rom    16 Mar 2005
3957    - Implement the diagnostics functions for platforms other than Windows.
3958
3959    NOTE: I was working in this area a bit since I'm trying to track down
3960      why E@H isn't always able to display graphics during a start screen saver
3961      request.  The changes here and some build environment changes should
3962      now allow us to build a debug E@H application with debug BOINC API
3963      libraries and now see additional information reported to stderr_txt as
3964      the application tries to identify/transition into the calling desktop.
3965
3966    lib/
3967        diagnostics.C, .h
3968
3969David  17 Mar 2005
3970    - on Unix, create download files with user/group/other access
3971        (RW or RWX, as needed)
3972        All other files have permissions based on umask.
3973
3974    client/
3975        client_types.C
3976        cs_account.C
3977
3978David  18 Mar 2005
3979    - Web: make download network stuff work for new projects
3980
3981    html/inc/
3982        download_network.inc
3983    py/Boinc/
3984        setup_project.py
3985
3986David  19 Mar 2005
3987    - rewrite installer text for LGPL
3988    - remove old license file
3989
3990    doc/
3991        license_1.0.txt (removed)
3992    win_build/installerv2/redist/0409/
3993        eula.rtf
3994
3995Bruce  19 Mar 2005
3996    - Overdue checkins on a bunch of minor scheduler code.  Some that is
3997      E@H specific is now included (but protected by
3998      #ifdef EINSTEIN_AT_HOME
3999      to make it simpler for me to maintain consistency with BOINC cvs.
4000    - Added project-specific unacceptable_os() function for rejecting hosts.
4001    - Transitioner and scheduler now initalize host.max_results_day correctly
4002      in database under all circumstances.
4003    - Browser requests are now correctly identifed (REQUEST_METHO=="GET") and
4004      properly redirected.  This was broken. David, please see comment near
4005      one of the probable_user_browser=true in handle_request.C.  I think
4006      something is wrong here (or I am missing the point!).
4007    - More info about requests is logged
4008    - If the scheduler hangs (incoming request incomplete) it will normally be
4009      killed by Apache after a timeout.  But this happens silently.  So I now
4010      install a signal handler and catch this SIGTERM.  In this case an
4011      error message is logged and all open files are flushed before exit(1)ing.
4012    - If IO is passed through files, check that request length and content length
4013      agree and log a message if they do NOT.
4014    - active_frac not correctly reported by 4.19 and earlier core clients.
4015      Adjust for this in estimating wallclock execution times.
4016    - All messages sent to user ALSO get logged to cgi.log
4017    - Added a small block into validator code to attach a debugger.
4018
4019    sched/
4020        handle_request.C
4021        sched_send.C
4022        main.C
4023        transitioner.C
4024        validator.C
4025
4026David  19 Mar 2005
4027    - API: changed all vars modified by signal handler to "volatile"
4028    - API: fixed typo in key handling for Unix
4029
4030    api/
4031        boinc_api.C
4032
4033David  21 Mar 2005
4034    - API: changed time variables in worker signal handler from double to int.
4035        Apparently some platforms had atomicity problems
4036        where accessing doubles uses multiple instructions
4037        and a signal was happening in the middle.
4038        Don't need fractional time because worker timer period is 1 sec.
4039        From Takafumi Kawana and Bruce Allen.
4040    - boinc_checkpoint_completed(): clear ready_to_checkpoint
4041        AFTER resetting time_until_checkpoint
4042        From Takafumi Kawana.
4043
4044    api/
4045        boinc_api.C
4046    sched/
4047        handle_request.C
4048
4049David  21 Mar 2005
4050    - BOINC web site: reorganized front page, download page
4051    - scheduler: fixed a heinous bug in validate_util.C
4052        introduced on 7 Mar 2005
4053
4054    doc/
4055        various
4056    sched/
4057        handle_request.C
4058        validate_util.C
4059
4060Rom    22 Mar 2005
4061    - Bug Fix: Capture the WM_CLOSE message that Intellitype and Intellipoint
4062        sends us and ignore them, that'll keep the screensaver up and running
4063        even when Intellipoint/Intellitype is trying to shut us down.
4064
4065    client/win/
4066        win_screensaver.cpp, .h
4067
4068David  22 Mar 2005
4069    - user web: mail_passwd.php was broken.  Aargh.
4070
4071    html/user/
4072        forum_thread.php
4073        mail_passwd.php
4074
4075David  22 Mar 2005
4076    - core client:  the -attach_project option now must be followed
4077        by the URL and account key.
4078        It no longer prompts for these.
4079
4080    client/
4081        client_state.C,h
4082        cs_cmdline.C
4083        main.C
4084
4085David  23 Mar 2005
4086    - user web: added "prefs" anchor to home.php so you can
4087        link to Preferences from front page.
4088    - add teamid to account management RPCs
4089
4090    html/
4091        inc/
4092            user.inc
4093        user/
4094            am_get_info.php
4095            am_set_info.php
4096
4097David  23 Mar 2005
4098    - user web: don't delete teams even when they become empty
4099
4100    html/
4101        inc/
4102            team.inc
4103        ops/
4104            db_update.php
4105        user/
4106            white.css
4107
4108David  24 Mar 2005
4109    - User web: in create_account_action() there was SQL of the form
4110        select * from user where email_addr like '@$email_addr\\_%'.
4111        THIS IS NOT CORRECT.
4112        The email address itself can contain underscores,
4113        which are wildcards for "like".
4114        If the user table is big (like S@h) and the email address
4115        is like a_a@b.c, a very slow query will result.
4116    - added functions lookup_user_munged_email() and validated()
4117        to inc/email.inc.
4118        Use these for logic related to munged email addresses -
4119        don't put SQL into top-level PHP files.
4120
4121    html/
4122        inc/
4123            email.inc
4124        user/
4125            create_account_action.php
4126
4127Charlie    25 Mar 2005
4128    - BOINC Manager: create BOINC Data directory in
4129        "/Library/Application Support/" directory,
4130        not in user's "~/Library/Application Support/"
4131    - Set working directory to "BOINC Data" before redirecting stdout and stderr
4132    - Fixed BOINCTRACE compile warning when non-debug build on Mac
4133    - Fixed bug in CTaskBarIcon::OnNetworkSelection
4134    - Implemented Dock popup menu using CTaskBarIcon class
4135    - Implemented System Menubar Icon menu using CMacSystemMenu class
4136        derived from CTaskBarIcon class
4137    - Changed "Hide" menu item to "Close" (Mac only)
4138
4139    client/
4140        main.c
4141
4142    clientGUI/
4143        BOINCGUIApp.cpp
4144        BOINCTaskBar.cpp/h
4145        MainFrame.cpp
4146    clientGUI/mac/
4147        MacSysMenu.cpp/h (add)
4148        SystemMenu_Prefix.pch (add)
4149        SystemMenu.m (add)
4150    lib/
4151        diagnostics.h
4152    mac_build/
4153        Info.plist (add)
4154        SystemMenu-Info.plist (add)
4155        boinc.pbproj/project.pbxproj (add)
4156
4157Charlie    26 Mar 2005
4158    - BOINC Manager: Workaround apparent bug in Mac version of WxWidgets which
4159        prevented the main window's size and position from being restored on
4160        application launch.
4161    - Precompile stdwx.h in XCode project BOINC Manager builds.
4162
4163    clientGUI/
4164        MainFrame.cpp
4165    mac_build/
4166        boinc.pbproj/
4167            project.pbxproj
4168
4169Rom    28 Mar 2005
4170    - Well now that I've fully tested and deployed BOINC via Active Directory,
4171        I found something wrong.  When deploying BOINC to the computer via
4172        Active Directory the installation runs as the computer account when
4173        copying files so files can be read off a network share, but when we get
4174        to the CopyAccountFiles custom action setup would fail since LOCALSYSTEM
4175        only has access to the local machine.
4176
4177      The solution is to include the account files and any other configuration
4178        file as part of the BOINC MSI transform which needs to be created in
4179        order to populate the global properties for deployment.  The setup
4180        documentation will be updated to reflect this change.
4181
4182    - Bug Fix: Attempting to install BOINC in a managed environment would fail
4183        since ALLUSERS is automatically set to 1 for any installation type.  So
4184        if we detect that we are being installed in a managed environment
4185        ignore the ALLUSERS value.
4186
4187      Menu items are still installed for all users though, that'll be fixed
4188        a little later.
4189
4190    win_build/installerv2/
4191        BOINC.ism
4192    win_build/installerv2/redist/Windows/src/boinccas/
4193        boinccas95.def
4194        boinccas95.vcproj
4195        CACopyAccountFiles.cpp, .h (removed)
4196        CAValidateSetupType.cpp
4197    win_build/installerv2/redist/Windows/x86/
4198        boinccas.dll
4199        boinccas95.dll
4200
4201David  28 Mar 2005
4202    - user web: put charset in header if it's defined (from Jens)
4203    - user web: call db_init() before mysql_real_escape_string()
4204
4205    html/
4206        inc/
4207            util.inc
4208        user/
4209            account_created.php
4210            am_get_info.php
4211            am_query.php
4212            am_set_info.php
4213            confirm_email_change.php
4214            login_action.php
4215
4216Rom    28 Mar 2005
4217    - Keep people from rating posts if their RAC falls below 5.0
4218
4219    html/inc/
4220        forum.inc
4221
4222David  29 Mar 2005
4223    - user SHM_R|SHM_W instead of 0777 in shmget() call
4224
4225    lib/
4226        shmem.C
4227
4228David  29 Mar 2005
4229    - API: in boinc_finish(),
4230        call boinc_worker_thread_cpu_time() instead of
4231        boinc_calling_thread_cpu_time()
4232        (since the graphics thread can call boinc_finish()).
4233        Also, offset CPU time by initial_wu_cpu_time
4234        instead of aid.wu_cpu_time
4235
4236    This may help "zero CPU time" problems, but I doubt it
4237
4238    api/
4239        boinc_api.C
4240    lib/
4241        util.C
4242
4243Rom    29 Mar 2005
4244    - Bug Fix: Populate the tooltip field for the system tray icon
4245        so that people can flag the manager as hidden and keep it hidden,
4246        instead of having it show back up after every reboot.
4247    - Bug Fix: Fix the Disable network access menu items after Charlie's
4248        fix for the Mac, apparently the event class is populated at different
4249        points between the two platforms, which causes code confusion, and
4250        the docs don't help.  Instead query the state from the core client
4251        and then figure out what to do, this keeps the code the same on all
4252        platforms and avoids the quirk.
4253    - Add additional information to the attach to projects dialog describing
4254        the project url and account key are sent via email from the project.
4255    - Changed the baloon timeout value from 10 seconds to 5 seconds which is
4256        about where the majority believes it should be.
4257
4258    clientgui/
4259        BOINCGUI.pjd
4260        BOINCTaskBar.cpp
4261        DlgAttachProject.cpp
4262        MainFrame.cpp
4263    clientgui/msw/
4264        taskbarex.h
4265
4266David  29 Mar 2005
4267    - moved NetOpen(), NetClose(), NetCheck() from win_net.cpp (removed)
4268        to lib/network.C
4269
4270    client/
4271        client_state.C
4272        hostinfo_network.h
4273        hostinfo_unix.C
4274        time_stats.C
4275        win/
4276            win_net.cpp,h (removed)
4277            wingui_mainwindow.cpp
4278    lib/
4279        network.C,h
4280    win_build/
4281        boinc_cli.vcproj
4282        boinc_gui.vcproj
4283
4284David  29 Mar 2005
4285    - Transitioner: when updating a workunit
4286        (DB_TRANSITIONER_ITEM_SET::update_workunit()),
4287        only update those fields that have changed since we read it.
4288        This is an attempt to deal with the following scenario:
4289
4290        1) validator finds canonical result, triggers assimilation,
4291            sets assimilate_state = READY
4292        2) transitioner reads WU
4293        3) assimilator reads WU and updates assimilate_state = DONE
4294        4) transitioner writes WU (with assimilate_state still READY)
4295        5) assimilator processes WU again (ERROR)
4296
4297    db/
4298        boinc_db.C,h
4299    sched/
4300        assimilator.C
4301        transitioner.C
4302
4303
4304Rom    29 Mar 2005
4305    - Implement GUI RPC authentication in the manager
4306    - Implement a Select Computer MRU list so you only have to type
4307        the remote computer name once.
4308
4309    clientgui/
4310        DlgSelectComputer.cpp
4311        MainDocument.cpp, .h
4312        MainFrame.cpp, .h
4313    lib/
4314        gui_rpc_client.C, .h
4315
4316Charlie    29 Mar 2005
4317    BOINC Manager: Work around apparent bug in Mac version of WxWidgets
4318    which prevented the main window's size and position from being
4319    restored on application launch.
4320    Main widow close box doesn't quit application.
4321    Postponed implementing the umask change due to security concerns:
4322    removed umask(0) from Core Client & BOINC Manager; changed BOINC
4323    Data directory back to user's "~/Library/Application Support/"
4324    Automate generating Mac version numbers from version.h file. (Added
4325    shell script build phase and tiny SetVersion shell application to
4326    XCode project to create / update InfoPlist.strings file.)
4327    CViewProjects::OnTaskLinkClicked(): added casts to change compiler
4328    errors to compiler warnings; this allows it to compile.
4329
4330    client/
4331        main.C
4332    clientGUI/
4333        BOINCGUIApp.cpp
4334        MainFrame.cpp
4335            ViewProjects.cpp
4336    clientGUI/mac/
4337            SetVersion.C (add)
4338    mac_build/
4339        boinc.pbproj/
4340            project.pbxproj
4341
4342David  30 Mar 2005
4343    - Fixed bug where clients report a result CPU time as zero,
4344        even though the result used a lot of CPU.
4345        The basic problem was in the API: the final call to
4346        update_app_progress() (from boinc_finish())
4347        was trying to send a status message.
4348        But some fraction of the time the message slot was full
4349        (core client hadn't read previous message)
4350        so this message wouldn't get delivered.
4351        Core client was using checkpoint_cpu_time as final CPU,
4352        so (for applications that never checkpoint)
4353        the core client would never get a nonzero checkpoint_cpu_time.
4354
4355        I fixed this at both ends, i.e. if you either use a new core client
4356        with old apps, or use new apps with existing core clients,
4357        the problem will go away.
4358        Fixes:
4359
4360        1) API: retry sending final status message a few times w/ sleep
4361        2) core client: use current_cpu_time rather than checkpoint_cpu_time
4362            as the result's final_cpu_time.
4363    - core client: show current directory on startup
4364    - win compile fixes
4365
4366    api/
4367        boinc_api.C
4368    client/
4369        app_control.C
4370        client_state.C
4371        net_xfer.C
4372        win/
4373            wingui.h
4374    clientgui/
4375        BOINCTaskCtrl.cpp
4376    lib/
4377        network.h
4378
4379David  30 Mar 2005
4380    - Apparently, even though the port number 1043 is assigned to BOINC
4381        (see http://www.iana.org/assignments/port-numbers)
4382        Microsoft IIS binds to it on some systems.
4383        So...
4384        core client: if can't bind to 1043, bind to 31416
4385        BOINC mgr: if can't connect to 31416, connect to 1043
4386
4387        If something is bound to 31416 we're screwed.
4388        Thanks a lot, Microsoft!
4389
4390    client/
4391        gui_rpc_server.C,h
4392    lib/
4393        gui_rpc_client.C,h
4394    sched/
4395        sched_util.C
4396
4397David  31 Mar 2005
4398    - BOINC Manager compile fixes for Unix
4399
4400    clientgui/
4401        MainDocument.cpp,h
4402        Makefile.am
4403        ViewProjects.cpp
4404
4405Rom    31 Mar 2005
4406    - Bug#59  Fixed: SystemTray Icon Does Not Remain Hidden
4407    - Bug#79  Fixed: When manager window is in background selecting open
4408        boinc manager does not bring it to front
4409    - Bug#80  Fixed: Double clicking on system tray icon should open
4410        manager/bring it into focus
4411    - Bug#118 Fixed: BOINC Manager needs to prompt for project information
4412        when no projects are detected
4413    - Bug#143 Fixed: Position and size not saved consistantly
4414
4415    clientgui/
4416        BOINCTaskBar.cpp
4417        MainFrame.cpp, .h
4418
4419Rom    1 Apr 2005
4420    - Make the dialog manager files and implementation match so others
4421        can make changes to the dialogs
4422
4423    clientgui/
4424        BOINCGUI.pjd
4425        DlgAbout.cpp, .h
4426        DlgAccountManager.cpp, .h
4427        DlgAttachProject.cpp, .h
4428        DlgConnection.cpp, .h
4429        DlgOptions.cpp, .h
4430        DlgSelectComputer.cpp, .h
4431
4432David  1 April 2005
4433    - create_shmem(): use mode 0666 when creating shared mem
4434    - attach_shmem(): fix error check on shmat() return
4435    - sched_util.C: get_log_path() was creating directory in wrong place
4436
4437    api/
4438        boinc_api.C
4439    lib/
4440        shmem.C
4441    sched/
4442        handle_request.C
4443        sched_util.C
4444
4445David  1 April 2005
4446    - Parse environment vars AFTER parsing the client state file.
4447        Otherwise env vars are ignored
4448
4449    client/
4450        main.C
4451
4452David  1 April 2005
4453    - core client: if an app hasn't checkpointed yet,
4454        leave it in memory when preempting.
4455
4456    client/
4457        cs_apps.C
4458
4459Janus  2 April 2005
4460    - Lots of updates for the website translation system:
4461      -    Now creates missing dirs when first installed
4462      -    Supports "dual ID" language files (ie those files that have
4463           names like xx_YY (for instance zh_TW for the Chinese)
4464           Please note the use of lower- and uppercase letters.
4465      -    You can now override the automatic selection by the use of
4466           a cookie named "lang". A page for setting this cookie has also
4467           been made (language_select.php).
4468      -    The automatic selection now searches for all the languages that
4469           the user's browser specifies before using the project default
4470           (ie. it no longer uses only the first language that the browser
4471           gives it in the string).
4472      -    Made some small additions to en.po so that the language select page
4473           can display the correct names of the languages instead of their
4474           ISO names: "Danish (Dansk)" instead of "da".
4475      -    Added some more logging so that missing tokens will be printed to
4476           the logfile as well as on screen.
4477    - Added the title on the sample forum index page to en.po
4478
4479    /html/
4480        inc/
4481            translation.inc
4482        languages/
4483            translations/
4484                en.po
4485        user/
4486            language_select.php (new)
4487            img/ (new)
4488                 da.png (new)
4489
4490David  2 April 2005
4491    html/
4492        inc/
4493            translation.inc
4494        ops/
4495            repair_validator_problem.php
4496
4497David  3 April 2005
4498    - Maintain the "main host venue" in a more robust way.
4499        (Reminder: the "main host venue" is the host venue of the
4500        project that supplied the most recent global prefs.
4501        Host venues for each project are stored in account files.
4502        The global prefs file identifies the source project.)
4503
4504        Old: main host venue is stored in the client state file,
4505            and updated only when a scheduler RPC returns
4506            global prefs with a new host venue.
4507        Problem: if it's missing from the client state file
4508        it may never get set to the correct value.
4509
4510        New: on startup, the global prefs file is parsed once
4511        to obtain the source project.
4512        Then main host venue is computed, based on the source
4513        project and the host venue specified in its account file.
4514        Then the global prefs file is parsed again, using this venue.
4515    - user web: add option for columnar prefs display.
4516        Append "&cols=1" to prefs.php URL
4517    - boinc_cmd (command-line tool): fix bugs and improve argument checking.
4518        Change syntax of some operations (see web page)
4519
4520    client/
4521        client_state.C
4522        client_types.h
4523    html/
4524        inc/
4525            prefs_col.inc
4526        user/
4527            prefs.php
4528    lib/
4529        boinc_cmd.C
4530
4531Rom    3 Apr 2005
4532    - Add an additional error code to the screensaver framework to
4533      report back the difference between BOINC being idle and BOINC
4534      being idle and not being attached to any projects.
4535
4536    client/
4537        ss_logic.C, .h
4538        boinc_ss.h
4539        boinc_ss.rc
4540        win_screensaver.cpp, .h
4541    lib/
4542        gui_rpc_client.h
4543
4544David  3 April 2005
4545    - BOINC manager: new "statistics" tab (from Jens Breitbart)
4546        Here's Jens' summary of changes:
4547        - Client
4548          * Statistics are stored on a daily basis
4549            ~ Statistics := {User & host total credit, user & host avg. credit}
4550            ~ max. 30 days are stored
4551          * Statistics are gathered after the client has contacted the scheduler
4552            ~ No extra call to the scheduler is made, just information already
4553              provided are stored
4554          * Added support for the RPC call "<get_statistics/>"
4555            ~ Answer include all saved statistics from all projects
4556            ~ Syntax of the answer:
4557              <statistics>
4558                  <project_statistics>
4559                     <master_url>%s</master_url>
4560                     <daily_statistics>
4561                        <day>%f</day>
4562                        <user_total_credit>%f</user_total_credit>
4563                        <user_expavg_credit>%f</user_expavg_credit>
4564                        <host_total_credit>%f</host_total_credit>
4565                        <host_expavg_credit>%f</host_expavg_credit>
4566                     </daily_statistics> <- repeated for each day
4567                  </project_statistics> <- repeated for each project
4568              </statistics>
4569          * Statistics are saved in files called "statistics_master_url.xml"
4570            ~ Syntax is similar to the one shown above except every project is
4571              saved in its own file
4572            ~ Files are saved after every scheduler reply
4573            ~ Files are read at client start
4574            ~ Files are deleted on project detach
4575        - Manager
4576          * Added a statistic tab
4577            ~ Drawing the graph on a wxPanel using the paint event.
4578            ~ wxPlottWindow not working very reliable...
4579            ~ Design is looking quite simple
4580          * Using the RPC "<get_statistics/>" to get the Information from the client
4581
4582    client/
4583        client_state.C,h
4584        client_types.C,h
4585        cs_account.C
4586        file_names.C,h
4587        gui_rpc_server.C
4588        scheduler_op.C
4589        ss_logic.C
4590    clientgui/
4591        BOINCBaseView.cpp.h
4592        MainDocument.cpp,h
4593        MainFrame.cpp
4594        ViewStatistics.cpp,h (new)
4595    lib/
4596        gui_rpc_client.C,h
4597        util.C,h
4598    win_build/
4599        BOINCGUI.vcproj
4600
4601David  4 April 2005
4602    - compile fixes for Unix
4603
4604    cliengui/
4605        MainFrame.cpp
4606        Makefile.am
4607
4608David  4 April 2005
4609    - Call get_connected_state() every 10 seconds, not 10X per second
4610        (it does a registry lookup on Win)
4611    - fix names of SS constants
4612
4613    client/
4614        client_state.C
4615        client_types.C
4616        ss_logic.C,h
4617        time_stats.C,h
4618        win/
4619            win_screensaver.cpp
4620    lib/
4621        boinc_cmd.C
4622
4623David  4 April 2005
4624    - Core client: don't print "no final message" (not relevant in most cases)
4625    - Core client: don't do SS poll more than once per second
4626    - Core client: don't do SS reset on each CPU resched
4627        (no reason to start/stop SS if same app running)
4628    - Get rid of SS_STATUS_RESTARTREQUEST,
4629        which as far as I can tell involved the core client asking
4630        the screensaver to ask it to do graphics again.
4631        Instead, the core client just tells another app to start doing SSG.
4632        It hangs on to the last GRAPHICS_MSG
4633        (workstation/desktop will be the same)
4634    - Got rid of SS_STATUS_NOTGRAPHICSCAPABLE
4635        ???
4636    - Allow really small CPU scheduling periods (for debugging)
4637
4638    client/
4639        app_control.C
4640        app_graphics.C
4641        client_state.C
4642        cs_apps.C
4643        ss_logic.C,h
4644        win/
4645            win_screensaver.cpp,h
4646    lib/
4647        gui_rpc_client.h
4648        prefs.C
4649
4650Rom    5 April 2005
4651    - Moved the daemon communication to a seperate thread so that the screensaver
4652        can be more responsive to the system since it cannot now be blocked on
4653        network IO.
4654
4655    client/win/
4656        win_screensaver.cpp,h
4657
4658Charlie    5 April 2005
4659    Mac: Enabled close box on science application graphics, handle Quit properly
4660        using Bernd's suggestions.  Hide GLUT menu bar.  Bring application to
4661        front when "Show Graphics" is selected in BOINC Manager.
4662
4663    api/
4664        x_opengl.C
4665
4666Rom    5 April 2005
4667    - Bug Fix: We stoped ack'ing the MODE_UNSUPPORTED from a science application
4668        after a screensaver start request.  Check for any graphics messages that
4669        need to be processed from get_next_graphics_capable_app().
4670    - Bug Fix: Adjust the logic of get_next_graphics_capable_app() so that even
4671        if the graphics mode was MODE_WINDOW or MODE_HIDE_GRAPHICS before the
4672        start of the screensaver, we still factor in what it's current
4673        graphics_mode_acked in case it has been changed to MODE_UNSUPPORTED
4674
4675    client/
4676        app_graphics.C
4677    client/win/
4678        win_screensaver.cpp
4679
4680David  6 April 2005
4681    Changes to support users whose Internet providers
4682    modify image files in transit.
4683    Cell-phone-based providers using UMTS (e.g. Vodaphone)
4684    apparently do this.
4685
4686    - Add a preference "dont_verify_images" that tells BOINC
4687        not to verify (via signature or checksum) image files.
4688        "Image files" for those whose names end with .jpg, .jpeg or .png.
4689
4690    - Change the Windows path separator from \ to /
4691
4692    client/
4693        app_start.C
4694        cs_files.C
4695        file_names.C,h
4696        gui_rpc_server.C
4697        pers_file_xfer.C
4698    html/
4699        inc/
4700            prefs.inc
4701    lib/
4702        filesys.h
4703        prefs.C,h
4704
4705Rom    6 April 2005
4706    - Implement a connection manager thread for the Manager, it is really rough.
4707
4708      NOTE: Currently crashes on exit, due to an access violation, and changing
4709        computers does not work.  It also prompts for a project every time it
4710        starts
4711    - Read/Write font information to the registry so we can attempt to
4712        identify some of the localization issues as possible font set issues with
4713        wxwidgets.
4714
4715    clientgui/
4716        BOINCBaseView.h
4717        BOINCTaskCtrl.cpp
4718        MainDocument.cpp, .h
4719        stdwx.h
4720
4721David  6 April 2005
4722    - screensaver tweaks
4723    - code cleanup in screensaver.cpp
4724
4725    client/win/
4726        boinc_ss.rc
4727        win_screensaver.cpp
4728        res/
4729            boinc.cmp
4730
4731Rom    6 April 2005
4732    - Added the connecting state to the status bar since the UI was displaying
4733        it as disconnected when we would switch between machines.
4734    - Bug Fix: Explicitly declare the network connection thread as a joinable
4735        thread, by default wxWidgets defines the default behavior as detached
4736        which handles its own destruction.
4737
4738      NOTE: The documentation also states that on Windows all threads are
4739        joinable, so in the end, the crashes were related to me attempting to
4740        cleanup the thread when it had already deleted itself, which caused a
4741        double free situation.
4742
4743    clientgui/
4744        MainDocument.cpp, .h
4745        MainFrame.cpp, .h
4746
4747David  6 April 2005
4748    - code cleanup in BOINC manager
4749
4750    clientgui/
4751        *.cpp
4752
4753David  7 April 2005
4754    - Attempt to fix the situation where:
4755        1) user merges hosts; hosts with lower IDs are folded
4756            into host with maximal ID, then deleted
4757        2) If host's client_state.xml file still has one of the
4758            lower IDs, then the next time it contacts the scheduler,
4759            the host lookup fails and a new host record is created,
4760            which defeats the purpose of the merge.
4761
4762        Solution:
4763            - When merge hosts, don't delete lower-ID records.
4764                Instead, change them to "zombie" state, in which:
4765                - userid is zero
4766                - rpc_seqno is ID of new host record
4767            - scheduler: if host is zombie, follow link to new host,
4768                send back its ID to client
4769
4770    db/
4771        boinc_db.h
4772    html/
4773        inc/
4774            util.inc
4775        user/
4776            host_edit_action.php
4777            host_edit_form.php
4778    sched/
4779        handle_request.C
4780
4781David  7 April 2005
4782    - Core client: deal correctly with HTTP servers that don't support
4783        the Range: option.
4784        Namely: if we issue an HTTP GET request with a Range option,
4785        and the reply header is 200 OK (rather than 206 Partial Content)
4786        then assume the server is sending us the whole file;
4787        reset bytes_xfered and offset to zero,
4788        and open the file in "wb" rather than "ab" mode.
4789
4790    client/
4791        http.C,h
4792
4793David  7 April 2005
4794    - Python: in install_boinc_files(): don't copy "sample" php files,
4795        since this is called from "upgrade" and it would overwrite
4796        existing files.
4797        Move the copies to install_project(),
4798        which is used only at project creation.
4799
4800    py/Boinc/
4801        setup_project.py
4802
4803David  7 April 2005
4804    - Show complete account info in profile page
4805    - fix name conflict in PHP
4806
4807    html/
4808        inc/
4809            profile.inc
4810            user.inc
4811            util.inc
4812        user/
4813            host_edit_form.php
4814            show_user.php
4815
4816Rom    7 April 2005
4817    - Switch the connection errors and connection initialization routines
4818        from a polling style routines to an event style, this fixes the
4819        issues of the attach to project dialog being displayed at odd
4820        times.
4821    - Warn the user of connection failures to a new host.
4822    - Deal with various odd issues that cropped up due to the connection
4823        thread being introduced to the system.
4824
4825    clientgui/
4826        BOINCGUIApp.cpp
4827        MainDocument.cpp, .h
4828        MainFrame.cpp, .h
4829    lib/
4830        gui_rpc_client.C
4831
4832Rom    7 April 2005
4833    - Enable the F1 key so that it'll open up a browser to
4834        http://boinc.berkeley.edu/manager.php
4835    - Add status bar text for each task that is defined and don't remove it
4836        until the list has been updated.
4837    - Define and fire an update view window message which is used to quickly
4838        update the listview out of cycle with the timer event, but since the
4839        timer event in turn fires the same event, we won't be caught in a
4840        recursive update loop.  We can only process one of these messages at
4841        a time.
4842
4843    clientgui/
4844        BOINCBaseView.cpp, .h
4845        BOINCTaskCtrl.cpp, .h
4846        Events.h
4847        MainFrame.cpp, .h
4848        ViewMessages.cpp, .h
4849        ViewProjects.cpp, .h
4850        ViewResources.cpp, .h
4851        ViewStatistics.cpp, .h
4852        ViewTransfers.cpp, .h
4853        ViewWork.cpp, .h
4854
4855David  8 April 2005
4856    - compile fixes, code cleanup
4857
4858    clientgui/
4859        BOINCBaseView.cpp
4860        BOINCGUIApp.cpp
4861        BOINCListCtrl.cpp
4862        BOINCTaskBar.cpp
4863        DlgOptions.cpp
4864        MainDocument.cpp
4865        MainFrame.cpp
4866        ViewMessages.cpp
4867
4868David  8 April 2005
4869    - user web: weaken the test for hosts to be considered compatible
4870        for the "merge" function.
4871        This is needed because different versions of the core client
4872        reported CPU vendor/model differently.
4873
4874        If two hosts have the words "Intel" and "Pentium" anywhere
4875        in their vendor/model,
4876        and they don't have conflicting xxxGHz strings,
4877        consider them compatible
4878
4879    client/
4880        app_graphics.C
4881    html/inc/
4882        host.inc
4883
4884David  8 April 2005
4885    - Manager: removed extraneous stuff from About box
4886    - Manager: don't show version number in status bar
4887
4888    clientgui/
4889        DlgAbout.cpp
4890        DlgSelectComputer.cpp
4891        MainFrame.cpp
4892    lib/
4893        gui_rpc_client.C
4894
4895David  8 April 2005
4896    - Made library functions for creating a socket,
4897        and for changing a socket to/from asynch mode
4898    - GUI RPC client: allow for asynchronous connection.
4899        First you call RPC_CLIENT::init(host, true),
4900        then you call RPC_CLIENT::init_poll()
4901            until it returns either zero (connected)
4902            or a value other than ERR_RETRY (error)
4903
4904    client/
4905        net_xfer.C
4906    lib/
4907        error_numbers.h
4908        gui_rpc_client.C,h
4909        network.C,h
4910
4911David  8 April 2005
4912    - debugged asynchronous connect for GUI RPC
4913
4914    lib/
4915        boinc_cmd.C
4916        gui_rpc_client.C,h
4917
4918David  9 April 2005
4919    - GUI RPC: allow RPCs used by screensaver
4920        (get/set screensaver state, get state, get results)
4921        from local host without password authentication.
4922        This eliminates need for screensaver to read password file
4923
4924    client/
4925        gui_rpc_server.C,h
4926
4927David  9 April 2005
4928    - move NET_XFER::get_ip_addr() to lib/network.C,
4929        and rename it resolve_hostname()
4930
4931    client/
4932        gui_rpc_server.C
4933        net_xfer.C
4934        proxy.C
4935    lib/
4936        network.C,h
4937
4938Rom    9 April 2005
4939    - Initial checkin for async sockets wok for the manager.
4940
4941      NOTE: It currently reports back a -103 ERR_WRITE from the
4942      rpc.authorize function.
4943
4944    clientgui/
4945        Events.h
4946        MainDocument.cpp, .h
4947        MainFrame.cpp, .h
4948
4949David  10 April 2005
4950    - debug BOINC manager connection code
4951
4952    clientgui/
4953        MainDocument.cpp
4954        MainFrame.cpp
4955    lib/
4956        gui_rpc_client.C
4957
4958David  10 April 2005
4959    - add is_file() to lib interface
4960    - compile fix in zip code
4961
4962    lib/
4963        filesys.C,h
4964    zip/
4965        boinc_zip.cpp
4966
4967David  10 April 2005
4968    - Unix compile fixes
4969
4970    client/
4971        Makefile.am
4972    clientgui/
4973        Makefile.am
4974    lib/
4975        filesys.C
4976
4977Bruce 11 April 2005
4978    - Added signal handler to file_upload_handler along with a bit
4979      of logging.  This is intended to help debug file uploading
4980      problems, where apache kills the file upload handler because
4981      something is going wrong.
4982
4983    sched/
4984        file_upload_handler.C
4985
4986
4987David  11 April 2005
4988    - GUI RPC: if core client is < 4.30, don't do password authentication
4989
4990    lib/
4991        gui_rpc_client.C
4992
4993Rom    11 April 2005 (boinc)
4994    - Tag for 4.30 release, all platforms
4995      boinc_core_release_4_30
4996
4997David  11 April 2005
4998    - Core client: if we're configured to not accept remote GUI RPC connections
4999        (i.e., remote_hosts.cfg if absent or empty,
5000        and the -allow_remote_gui_rpc cmdline is absent)
5001        then bind our listening socket to 127.0.0.1 rather than INADDR_ANY.
5002        This will in theory disallow remote connections.
5003
5004    client/
5005        gui_rpc_server.C
5006
5007Bruce 11 April 2005
5008    - Scheduler: with locality scheduling, if we touch a trigger file then
5009      sleep, and then try again, but DON'T find more work available, give up
5010      trying to make work for that file.
5011
5012    - File upload handler: to prevent multiple instances of file_upload_handler
5013      from trying to upload the SAME file,
5014      use lockf() to place an advisory lock on the file.
5015      David, I probably should have discussed this with you first,
5016      but it's too early in the morning.
5017      Please revert if this is a mistake!
5018
5019    sched/
5020        sched_locality.C
5021        file_upload_handler.C
5022
5023David  12 April 2005
5024    - The test script test_uc.py didn't work.  There were 2 problems:
5025        1) the core client's logic for checking an account filename
5026            was too strict.  It required a dot in the hostname,
5027            which wasn't present here ("localhost")
5028        2) the Python code for signing executables needed to look
5029            both in bin/ (for "upgrade") and ../tools/ (for test)
5030            for the sign_executable program
5031
5032    client/
5033        file_names.C
5034    py/Boinc/
5035        setup_project.py
5036        tools.py
5037
5038David  12 April 2005
5039    - core client: in result-finished message, show result name, not WU name
5040    - core client: fix handling of dont_verify_images preference
5041        FILE_INFO::verify_downloaded_file():
5042            if image file and dont_verify_images is set,
5043            and file is present and nonempty, count it as verified.
5044            Also move file size checking logic here.
5045        PERS_FILE_XFER::start_xfer(): use FILE_INFO::verify_downloaded_file()
5046            to decide whether to use existing file,
5047            rather than doing a bunch of checks manually
5048        PERS_FILE_XFER::poll(): don't check size on completion of xfer.
5049            Leave it to verify_downloaded_file().
5050    - is_dir() and is_file() return bool, not int
5051        (hope this doesn't break C compile)
5052    - scheduler: the parent of a zombie host might be a zombie
5053
5054    client/
5055        cs_apps.C
5056        cs_files.C
5057        pers_file_xfer.C
5058    lib/
5059        error_numbers.h
5060        filesys.C,h
5061    sched/
5062        handle_request.C
5063
5064David  12 April 2005
5065    - core client: merge verify_existing_file() and verify_downloaded_file()
5066        into a single function verify_file(bool strict),
5067        where "strict" says whether to check checksum/signature
5068        (this is skipped when seeing if a result's input files are available)
5069        This fixes a bug in the dont_verify_images logic
5070
5071    client/
5072        client_types.C,h
5073        cs_apps.C
5074        cs_files.C
5075        pers_file_xfer.C
5076    sched/
5077        sched_send.C
5078
5079Rom    12 April 2005
5080    - Bug Fix: The manager shuold look for the daemon on the loop back adapter
5081        since that is where the daemon is listening.
5082    - Bug Fix: THREAD_PRIORITY_IDLE is even lower than THREAD_PRIORITY_LOWEST
5083    - Bug Fix: Once again back out a change to support Japanese until we
5084        understand the font problems futher, basically trying to support
5085        Japanese right now causes problems for English based systems.
5086
5087    api/
5088        boinc_api.C
5089    clientgui/
5090        BOINCTaskCtrl.cpp
5091    lib/
5092        gui_rpc_client.C
5093
5094David  13 April 2005
5095    client/
5096        app_control.C
5097        client_state.C,h
5098        client_types.C,h
5099        cs_apps.C
5100        cs_scheduler.C
5101        scheduler_op.C,h
5102    lib/
5103        boinc_win.h
5104        prefs.C,h
5105
5106Rom    13 April 2005
5107    - Bug Fix: Re-enable INADDR_ANY for the *nix platforms since they cannot
5108        seem to connect through the loopback adapter.
5109
5110    client/
5111        gui_rpc_server.C
5112    clientgui/
5113        gui_rpc_client.C
5114
5115David  13 April 2005
5116    - schedule_cpus(): if using deadlines,
5117        DON'T call assign_result_to_projects().
5118        That sets the already_selected fields of running results,
5119        and schedule_earliest_deadline_result() skips over them,
5120        even though they may have the earliest deadline
5121    - name changes
5122        cpu_crunch_nearest_first -> cpu_earliest_deadline_first
5123        schedule_nearest_deadline_project()
5124            -> schedule_earliest_deadline_result()
5125    - core client: make function request_schedule_cpus() so you can
5126        see why CPU is being rescheduled
5127    - don't use "crunch" or "panic mode", especially in user interface
5128
5129    client/
5130        app_control.C
5131        client_state.C,h
5132        cs_apps.C
5133        cs_scheduler.C
5134        gui_rpc_server.C
5135
5136Bruce 14 April 2005
5137    - file_upload_handler: when responding to a request for the
5138      file length, check first that the file is not already
5139      in open (locked) by another file_upload_handler.  If the
5140      file IS open (locked), then do NOT hand back the file length.
5141      Instead return a transient error. This will prevent
5142      transmission of upload data starting at the wrong offset.
5143    - file_upload_handler: ignore <data_server_request>tag
5144    - To help understand when/why multiple file_upload_handlers
5145      are trying to write to the same file, set default log level
5146      to DEBUG.  Also log messages at level CRITICAL if there is
5147      an attempt to write to a locked file. We may want to change
5148      this level to DEBUG in the future, if this turns out to be
5149      'normal' TCP buffering of data between host and server.
5150
5151    sched/
5152        file_upload_handler.C
5153
5154Charlie    15 April 2005
5155    Mac: Fix compile errors for BOINC Manager.
5156
5157    client/
5158        net_xfer.C
5159    clientgui/
5160        BOINCGUIApp.cpp
5161        MainDocument.cpp
5162    mac_build/
5163        boinc.pbproj/
5164            project.pbxproj
5165        English.lproj/
5166            InfoPlist.strings
5167
5168David  15 April 2005
5169    - file upload handler: Solaris compile fix
5170    - mail_passwd.php: if an account exists with non-munged address,
5171        return that account key (old code could return account key
5172        for a munged address, even though a non-munged one exists)
5173
5174    html/user/
5175        get_passwd.php
5176        mail_passwd.php
5177    sched/
5178        file_upload_handler.C
5179
5180David  15 April 2005
5181    - core client, GUI RPC: if no remote connections allowed,
5182        use lookback address (127.0.0.1) for listening socket
5183
5184    client/
5185        gui_rpc_server.C
5186    lib/
5187        boinc_cmd.C
5188        gui_rpc_client.C
5189
5190David  15 April 2005
5191    - Manager: added "no more work" toggle for projects
5192        (from James Drews)
5193        and fix compile warnings
5194
5195    clientgui/
5196        DlgAttachProject.cpp
5197        DlgConnection.cpp
5198        DlgSelectComputer.cpp
5199        MainDocument.cpp,h
5200        MainFrame.cpp
5201        ViewMessages.cpp
5202        ViewProjects.cpp,h
5203        ViewStatistics.cpp
5204
5205Bruce 15 April 2005
5206    - file_upload_handler: fixed another bug.  If you fopen(path, "a") in
5207      append mode then fseek() then write to the file, the fseek() HAS
5208      NO EFFECT.  This is documented ANSI C.  So I have eliminated the
5209      fseek.  We now check that the file size corresponds exactly to the
5210      claimed offset of the data.  If they do not agree then return a
5211      transient error to force the host to ask again for the file length
5212      and re-transmit data.
5213
5214    sched/
5215        file_upload_handler.C
5216
5217David  15 April 2005
5218    - removed close() call in RPC_CLIENT constructor (???)
5219        Manager works on Linux now
5220
5221    lib/
5222        boinc_cmd.C
5223        gui_rpc_client.C
5224
5225David  15 April 2005
5226    - core client: added "-dir path" cmdline option
5227        (chdir to the given directory at startup)
5228
5229    client/
5230        cs_cmdline.C
5231
5232David  15 April 2005
5233    - Fortran API: trim whitespace from filenames passed from FORTRAN,
5234        and blank-pad filenames passed to FORTRAN (from Don Bashford)
5235
5236    api/
5237        boinc_api_fortran.C
5238
5239David  15 April 2005
5240    - Ops web: create account script broken
5241        (fixes from Andy Read)
5242
5243    html/ops
5244        create_account_action.php
5245
5246David  15 April 2005
5247    - On Mac OS X apparently binding a socket to address 127.0.0.1 fails.
5248        Use INADDR_ANY instead.
5249
5250    client/
5251        gui_rpc_server.C
5252
5253Charlie    16 April 2005
5254    Mac: Fix paths in XCode project to make them fully portable / relative.
5255    Clear menu bar in science apps using Bernd's suggested code.
5256
5257    api/
5258        x_opengl.C
5259    mac_build/
5260        boinc.pbproj/
5261            project.pbxproj
5262
5263David  16 April 2005
5264    - fixed GUI RPC connection problem on Mac
5265        (if a connect on a socket fails, you need to close it
5266        and make a new one before trying another connect)
5267
5268    lib/
5269        gui_rpc_client.C
5270
5271Bruce 17 April 2005
5272    - Made default choice 'ACCEPT' for screening user profiles for UOTD.
5273    html/
5274        ops/
5275            profile_screen_form.php
5276
5277David  17 April 2005
5278    - (from Reinhard Prix) add IOKit framework to Mac compile of core client
5279
5280    configure.ac
5281
5282David  17 April 2005
5283    - add PID to log messages of scheduler and file upload handler
5284
5285    lib/
5286        msg_log.C,h
5287    sched/
5288        main.C
5289        file_upload_handler.C
5290
5291David  18 April 2005
5292    - code cleanup in scheduler
5293
5294    sched/
5295        handle_request.C
5296        sched_send.C,h
5297        server_types.C,h
5298        validate_util.C
5299
5300Bruce 18 April 2005
5301    - Added ops page script to email owners of 'problem' hosts.  Thanks to
5302      Christian Beer for writing this.
5303
5304    html/
5305        inc/
5306            email.inc
5307        ops/
5308            problem_host.php
5309
5310David  18 April 2005
5311    - scheduler: don't send a result to a host
5312        if its network connection period (work_buf_min_days)
5313        is greater than WU's delay bound
5314
5315    sched/
5316        sched_send.C,h
5317        server_types.C,h
5318
5319Charlie    18 April 2005
5320    Mac: Move some Mac-specific code out of x_opengl.C into new
5321    Cocoa source file macglutfix.m.  Replace Carbon API calls
5322    with equivalent Cocoa calls soScience apps don't need to link
5323    with Carbon framework.  They will need to link with AppKit
5324    framework (Macintosh only)
5325
5326    api/
5327        x_opengl.C/h
5328        macglutfix.m (new)
5329    mac_build/
5330        boinc.pbproj/
5331            project.pbxproj
5332
5333Bruce 19 April 2005
5334    - rework of file_upload_handler.  I learned that is it not
5335      reliable to use flock/lockf/fnctl file locking with buffered
5336      IO.  This is because the stream libraries might unexpectedly
5337      open/close/dup file descriptors on you.  So I have modified
5338      the file write/append functions to use raw IO rather than
5339      buffered IO.  In doing this I also found and fixed some small
5340      bugs. There is no guarantee that one can mix flock/lockf/fnctl
5341      file locking so I have settled on fnctl since it is POSIX and
5342      gives the most control.
5343
5344    sched/
5345        file_upload_handler.C
5346
5347David  19 April 2005
5348    - bug fixes for remote GUI RPC
5349
5350    client/
5351        gui_rpc_client.C
5352    lib/
5353        gui_rpc_client.C
5354
5355Bruce 19 April 2005
5356    - Better error reporting from problem_host.php reporting page, if
5357      host does not exist.  Thanks to Christian Beer.
5358
5359    html/
5360        ops/
5361            index.php
5362            problem_host.php
5363
5364David  19 April 2005
5365    - BOINC manager: remote connection wasn't working because
5366        it was using the wrong password variable.
5367
5368    clientgui/
5369        MainDocument.cpp
5370
5371David  19 April 2005
5372    - error checking in boinc_cmd
5373
5374    lib/
5375        boinc_cmd.C
5376        gui_rpc_client.C
5377
5378David  19 April 2005
5379    - fix bug in -attach_project command line option (from Tony Murray)
5380    - GUI RPC: include <rss_bytes> for active tasks,
5381        (even though it's always zero)
5382
5383    client/
5384        app.C
5385        cs_cmdline.C
5386        gui_rpc_server.C
5387
5388David  19 April 2005
5389    - core client: warn user if results are overdue
5390
5391    client/
5392        app.C,h
5393        client_state.C
5394        cs_apps.C
5395
5396Janus  20 April 2005
5397    - Added "sticky forum thread" code from BURP (lightning)
5398    - Added support for per sub-forum posting rules for threads and replies:
5399      - You must have at least X total credit
5400      - You must have at least Y recent credit
5401      - You must wait Z secs between each post
5402    - Moved temporary rules for rating to the forum_rate.php file.
5403      (this file needs a bit of work)
5404    - Added some DB fields to make the above features work
5405
5406    html/
5407        inc/
5408            forum.inc
5409            forum_show.inc
5410        user/
5411            forum_thread.php
5412            forum_moderate_thread_action.php
5413            forum_reply.php
5414            forum_post.php
5415            forum_rate.php
5416            img/
5417                unread_post.png (moved)
5418                filtered_post.png (moved)
5419                emphasized_post (moved)
5420                unread_sticky.png (new)
5421                stick_post.png (new)
5422        ops/
5423            db_update.php
5424
5425Rom    20 April 2005
5426    - The new UI scheme for the project tab, the rest of the tabs will
5427        follow.
5428
5429    clientgui/
5430        BOINCBaseView.cpp, .h
5431        BOINCTaskCtrl.cpp, .h
5432        Events.h
5433        MainFrame.cpp, .h
5434        ViewProjects.cpp, .h
5435
5436David  20 April 2005
5437    - added Janus' DB changes to schema.sql
5438    - use get_int() etc. in forum_rate.php
5439    - no time limit in update_forum_activitie.php
5440
5441    db/
5442        schema.sql
5443    html/
5444        ops/
5445            update_forum_activities.php
5446        user/
5447            forum_rate.php
5448
5449David  20 April 2005
5450    - removed residual CORE_VERSION stuff
5451
5452    db/
5453        boinc_db.C,h
5454    sched/
5455        db_dump.C
5456        handle_request.C
5457        sched_shmem.C,h
5458
5459Rom    20 April 2005
5460    - Here are the rest of the tabs converted over to the new UI scheme.
5461
5462    clientgui/
5463        BOINCBaseView.cpp, .h
5464        BOINCTaskCtrl.cpp
5465        Events.h
5466        MainFrame.cpp
5467        ViewMessages.cpp, .h
5468        ViewProjects.cpp, .h
5469        ViewResources.cpp, .h
5470        ViewStatistics.cpp, .h
5471        ViewTransfers.cpp, .h
5472        ViewWork.cpp, .h
5473
5474Rom    20 April 2005
5475    - Fix an Assert where somebody attempts to close the manager and then
5476        selects exit again before the daemon has a chance to close itself
5477        down
5478
5479    clientgui/
5480        BOINCGUIApp.cpp
5481
5482David  21 April 2005
5483    - change buttons in task tab based on selection
5484
5485    clientgui/
5486        BOINCBaseView.h
5487        MainDocument.cpp,h
5488        ViewProjects.cpp
5489
5490Rom    21 April 2005
5491    - Code Cleanup
5492
5493    clientgui/
5494        BOINCBaseView.cpp, .h
5495        BOINCListCtrl.cpp, .h
5496        BOINCTaskCtrl.cpp, .h
5497        ViewMessages.cpp, .h
5498        ViewProjects.cpp, .h
5499        ViewResources.cpp, .h
5500        ViewStatistics.cpp, .h
5501        ViewTransfers.cpp, .h
5502        ViewWork.cpp, .h
5503
5504David  21 April 2005
5505    - CPU scheduler: don't run projects or results suspended via GUI,
5506        even in earliest-deadline-first mode
5507    - fix button logic for projects
5508    - set buttons in work tab based on selection
5509    - include graphics_mode_acked in GUI RPC description RESULT.
5510        Could indicate whether app has window open (but doesn't yet).
5511
5512    client/
5513        app.C
5514        cs_apps.C
5515    clientgui/
5516        MainDocument.cpp,h
5517        ViewProjects.cpp,h
5518        ViewWork.cpp, h
5519    lib/
5520        gui_rpc_client.h
5521
5522Rom    21 April 2005
5523    - More code cleanup
5524    - Enable the various project defined website under new GUI scheme
5525
5526    clientgui/
5527        BOINCBaseView.cpp, .h
5528        Events.h
5529        ViewMessages.cpp
5530        ViewProjects.cpp, .h
5531        ViewResources.cpp
5532        ViewStatistics.cpp
5533        ViewTransfers.cpp
5534
5535David  21 April 2005
5536    - improve client startup messages
5537
5538    client/
5539        client_state.C
5540        client_types.h
5541        cs_account.C
5542        cs_scheduler.C
5543
5544Rom    22 April 2005
5545    - Post an update request instead of forcing one right as the user is changing
5546        tabs, this increases preceived performance since the tab switches over
5547        and the update happens around the same time as ones eyeballs move to the
5548        part of the screen where they are expecting to see a change.
5549
5550    clientgui/
5551        MainFrame.cpp
5552
5553Charlie    23 April 2005
5554    Mac: Rename "BOINC.app" to "BoincManager.app", rename "boinc_client"
5555    to "boinc".
5556    Create screen saver, add it to BOINC XCode project.
5557
5558    clientgui/
5559        BOINCGUIApp.cpp
5560        mac/
5561            mac_saver_module.cpp (new)
5562            boinc.tiff (new)
5563            Mac_Saver_ModuleView.h (new)
5564            Mac_Saver_ModuleView.m (new)
5565            BOINCSaver.nib.sit (new)
5566    mac_build/
5567        Info.plist
5568        ScreenSaver-Info.plist (new)
5569        boinc.pbproj/
5570            project.pbxproj
5571
5572Rom    23 April 2005
5573    - More code cleanup work in the manager
5574
5575    clientgui/
5576        MainDocument.cpp, .h
5577
5578Charlie    24 April 2005
5579    Mac: Fix screensaver to work properly with password option.
5580    MacGLUTFix() gets GLUT graphics window pointer correctly,
5581    sets screensaver window level to 2020 instead of 1000.
5582    Don't change screensaver blanking window's level.  Add blocking
5583    to main screensaver thread to yield more time to BOINC apps.
5584
5585    api/
5586        macglutfix.m
5587    clientgui/
5588        mac/
5589            mac_saver_module.cpp
5590            Mac_Saver_ModuleView.m
5591
5592Charlie    25 April 2005
5593    Mac: screensaver tweaks: banners scroll faster & smoother,
5594    reduce annoying flashes when screensaver graphics are starting.
5595    gutil.C - fix compiler warning.
5596
5597    api/
5598        macglutfix.m
5599        x_opengl.C
5600        gutil.C
5601    clientgui/
5602        mac/
5603            mac_saver_module.cpp
5604
5605Eric    25 Apr 2005
5606    GUI fix for platforms without tooltips.
5607    Typo fix in Makefile.am
5608
5609    clientgui/
5610        Makefile.am
5611    BOINCTaskCtrl.cpp
5612    ViewProjects.cpp
5613    ViewWork.cpp
5614
5615Rom    25 April 2005
5616    - Don't allow people to continue posting or reading from a thread that has
5617        already been closed for administrative purposes.
5618
5619    html/user
5620        forum_reply.php
5621
5622Rom    25 April 2005
5623    - Update the manager so that it'll build against wxWidgets 2.6.0
5624
5625      NOTE: You'll need to upgrade to wxWidgets 2.6.0 and make sure that you
5626        are building the ANSI version of the libraries.
5627
5628    clientgui/
5629        MainDocument.cpp
5630        MainFrame.cpp
5631    clientgui/msw/
5632        taskbarex.cpp, .h
5633    win_build/
5634        BOINCGUI.vcproj
5635
5636Charlie    26 April 2005
5637    Mac: Changes for compatibility with wxMac-2.6.0
5638    Don't open BOINCManager window if launched automatically at login.
5639
5640    clientgui/
5641        BOINCGUIApp.cpp
5642        mac/
5643            MacSysMenu.cpp
5644            MacSysMenu.m
5645            mac_saver_module.cpp
5646    mac_build/
5647        HowToBuildBOINC_XCode.rtf
5648
5649Rom    26 April 2005
5650    - More code cleanup in the manager.
5651    - Take care of a couple crashing conditions that occurred after the
5652        migration to wxWidgets 2.6.0
5653    - Make the website buttons work again
5654    - Layout() seems to work better than the call to Fit() to adjust the
5655        various window locations.  So switch all the calls from Fit() to
5656        Layout() and see if this fixes the Mac scrollbar issue.
5657
5658    clientgui/
5659        BOINCBaseView.cpp, .h
5660        BOINCTaskCtrl.cpp, .h
5661        Events.h
5662        MainFrame.cpp
5663        ViewProjects.cpp
5664        ViewStatistics.cpp
5665        ViewTransfers.cpp
5666        ViewWork.cpp
5667
5668David  26 April 2005
5669    - Preliminary checkin for "intermediate upload" feature for CPDN.
5670        This allows an app to upload a file in the middle of a result.
5671    - code cleanup in Manager code:
5672        - Started to get rid of member functions of CMainDocument
5673            that access elements of PROJECT (????).
5674            e.g.:
5675                GetProjectProjectName()
5676                GetProjectTeamName()
5677            Rom: please complete this.
5678        - Started to get rid of functions like
5679            CViewProjects::FormatProjectName()
5680            Rom: please complete this
5681        - ASSERT(NULL != X) -> ASSERT(X)
5682            (do not undo these - please replace everywhere)
5683        - Destructors don't need to reset fields.
5684        TODO: replace the OnDocGetItemText() functions
5685            with functions that get all items at once
5686
5687    api/
5688        boinc_api.C
5689    client/
5690        app.h
5691        app_control.C
5692        cs_files.C
5693    clientgui/
5694        BOINCBaseView.cpp
5695        BOINCGUIApp.cpp
5696        BOINCListCtrl.cpp
5697        BOINCTaskBar.cpp
5698        BOINCTaskCtrl.cpp
5699        MainDocument.cpp,h
5700        MainFrame.cpp
5701        ViewMessages.cpp
5702        ViewProjects.cpp,h
5703        ViewResources.cpp
5704        ViewStatistics.cpp
5705        ViewTransfers.cpp,h
5706        ViewWork.cpp
5707    lib/
5708        gui_rpc_client.C,h
5709        shmem.C,h
5710    win_build/
5711        boinc_cli.vcproj
5712
5713Charlie    27 April 2005
5714    Mac: created installer.  Changed working directory from
5715    user-specific "~/Library/Application Support/BOINC Data"
5716    to global "/Library/Application Support/BOINC Data".
5717    Fixed CViewProjects::OnProjectWebsiteClicked for Mac.
5718    Added progress display to screensaver when no application
5719    graphics.
5720
5721    mac-installer/
5722        LoginItemAPI.c (new)
5723        LoginItemAPI.h (new)
5724        PostInstall.cpp (new)
5725        postinstall (new)
5726        postupgrade (new)
5727        ReadMe.rtf (new)
5728        License.rtf (new)
5729        BOINC.pmsp (new)
5730    clientgui/
5731        BOINCGUIApp.cpp
5732        MainFrame.cpp
5733        mac/
5734            mac_saver_module.cpp
5735
5736Rom    27 April 2005
5737    - Make the taskbar work again after the wxWidget conversion to 2.6.0
5738    - Fix the Windows projects so that they look for the setup.h file in
5739        correct location.
5740
5741    clientgui/msw/
5742        taskbarex.cpp
5743    win_build/
5744        BOINCGUI.vcproj
5745
5746Janus  28 April 2005
5747     - Updates from Rob Ogilvie:
5748       - Forum rules apply to rating as well
5749       - Quoting is now done with blockquotes instead of >
5750       - Added blockquote to stylesheet and valid html in sanitizer
5751       - Loads of get_int/get_str corrections
5752       - Moderators can view hidden threads if going direct by ID
5753     - Made the special user feature aware of "holes" in the bitfield
5754       (corrects a potential bug when part of the bitfield isn't specified)
5755     - Added a 5 sec delay to userw.php in the case where the user does not
5756       exist. This will in particular force people to not lookup the
5757       non-existant user 0 hundreds of times per min - which is waste of
5758       resources (DB and bandwidth).
5759
5760     html/
5761        inc/
5762            sanitize_html.inc
5763            forum.inc
5764        user/
5765            forum_rate.php
5766            forum_reply.php
5767            forum_thread.php
5768            style-black.css
5769            style.css
5770            userw.php
5771
5772Charlie    28 April 2005
5773    Mac: Clean up XCode project by removing unused libraries
5774    and frameworks.
5775    Update build instructions to include screensaver & installer.
5776
5777    mac_build/
5778        HowToBuildBOINC_XCode.rtf
5779        boinc.pbproj/
5780            project.pbxproj
5781
5782Rom    28 April 2005
5783    - Add a timeout to any gui rpc connection attempt, this should get
5784        around the manager hanging when a firewall is blocking 31416.
5785
5786    lib/
5787        gui_roc_client.C, .h
5788
5789David  28 April 2005
5790    - debugged intermediate upload feature
5791    - Got rid of some -1 returns.
5792         A BOINC function should never return -1
5793         (or the return value of a system call)
5794         since this discards info about where the error came from
5795     - parse_double(): don't accept NaN or +- infinity
5796
5797    api/
5798        boinc_api.C,h
5799    apps/
5800        upper_case.C
5801    client/
5802        app.C,h
5803        app_control.C
5804        client_state.C
5805        client_types.C,h
5806        cs_apps.C
5807        cs_files.C
5808        gui_rpc_server.C
5809    lib/
5810        app_ipc.h
5811        error_numbers.h
5812        filesys.C
5813        mfile.C
5814        network.C
5815        parse.C
5816
5817Rom    28 April 2005
5818    - Adjust the installer so that it will not include the pdb files in future
5819        releases.
5820    - Keep previous manager look and feel around.
5821
5822    clientgui/archive/
5823        <Add previous look and feel for reference in case we need them>
5824    win_build/installerv2/
5825        BOINC.ism
5826
5827Charlie    28 April 2005
5828    Mac: Add Bernd's HOST_INFO::host_is_running_on_batteries
5829    code for Macintosh.
5830
5831    client/
5832        hostinfo_unix.C
5833
5834David  28 April 2005
5835    - Get rid of a user.update() in the scheduler.
5836        This updates all fields of the user record,
5837        possibly overwriting fields updated by the validator
5838        around the same time.
5839        Replace it with user.update_field()
5840        (From Bruce Allen)
5841
5842        TODO: there's also a host.update() that needs to be dealt with.
5843
5844    sched/
5845        handle_request.C
5846        server_types.C,h
5847
5848Charlie    29 April 2005
5849Mac: Add precompiled header to XCode project for mgr_boinc
5850target to greatly speed up compilation.
5851
5852    clientgui/
5853        mac/
5854            MacGUI.pch (new)
5855
5856Bruce 29 April 2005
5857    - Fixed update_average() function to do the right thing when the time
5858      between successive calls is small (zero seconds):
5859
5860      Consider the limit
5861      as diff->0, using the first-order Taylor expansion of
5862      exp(x)=1+x+O(x^2).
5863      So to the lowest order in diff:
5864      weight = 1 - diff ln(2) / half_life
5865      so one has
5866      avg += (1-weight)*(work/diff_days)
5867      avg += [diff*ln(2)/half_life] * (work*SECONDS_PER_DAY/diff)
5868      notice that diff cancels out, leaving
5869      avg += [ln(2)/half_life] * work*SECONDS_PER_DAY
5870
5871    lib/
5872        util.C
5873    html/
5874        inc/
5875            credit.inc
5876
5877Charlie    29 April 2005
5878    Mac: made path to Installer-info.plist in XCode project relative
5879    rather than absolute.
5880    Checked in Installer-info.plist.
5881
5882    mac_build/
5883        Installer-info.plist (new)
5884
5885Rom    29 April 2005
5886    - Bug Fix: UpdateSelection should be called everytime the listview has
5887        been refreshed in case a project/result/transfer has changed its
5888        status which might cause a button change.
5889    - Bug Fix: Double clicking on the taskbar icon will restore the window
5890        as well as show it.
5891
5892    clientgui/
5893        BOINCBaseView.cpp
5894        BOINCTaskBar.cpp
5895
5896Charlie    29 April 2005
5897    Mac: Update version to 4.35.  Update build instructions.
5898
5899    clientgui/
5900    mac-installer/
5901        BOINC.pmsp
5902    mac_build/
5903        HowToBuildBOINC_XCode.rtf
5904        Info.plist
5905
5906Janus  30 April 2005
5907    - Changed rating +/- links to be images instead (more visible)
5908      Suggested by Eric Myers.
5909    - Added example images
5910    - Made "sticky sorting" optional. Users can now ignore sticky posts and
5911      have posts sorted by time as usual if they like.
5912
5913    html/
5914        inc/
5915            forum.inc
5916            forum_show.inc
5917        user/
5918            edit_forum_preferences_form.php
5919            edit_forum_preferences_action.php
5920            img/
5921                rate_positive.png (new)
5922                rate_negative.png (new)
5923
5924Bruce 30 April 2005
5925    - Compile fix for upper_case (was broken under gcc/Linux)
5926
5927    apps/
5928        upper_case.C
5929
5930David  30 April 2005
5931    - bug fix in scheduler (buffer overrun on user prefs update)
5932
5933    sched/
5934        handle_request.C
5935        sched_shmem.C
5936
5937David  30 April 2005
5938    - (from Eric Myers)
5939        Windows: if user holds down control key while in screensaver mode,
5940        input is handled by the app (and screensaver mode is not exited)
5941
5942    api/
5943        windows_opengl.C
5944
5945David  30 April 2005
5946    - changed library order in clientgui Makefile
5947        (from JR Oldroyd; needed for link on FreeBSD)
5948
5949    clientgui/
5950        Makefile.am
5951
5952Bruce 1 May 2005
5953    - Added a utility function to 'print' a text description of errors
5954      in error_numbers.h.  In the future, when adding a new error number
5955      to this file, please update boincerror() in util.C to contain a
5956      short text description of the error.
5957
5958    lib/
5959        error_numbers.h
5960        util.C
5961        util.h
5962
5963David  2 May 2005
5964    - bug fix for intermediate upload feature
5965
5966    client/
5967        app.C
5968
5969Bruce 2 May 2005
5970    - locality scheduling: if host resources are inadequate for ANY WU,
5971      assume that they are inadequate for ALL WU.  Without this we will
5972      execute an expensive deterministic search over all WU, looking
5973      for one that is appropriate.  This could be a config option if
5974      desired, or one might add in an extra search step to find WU with
5975      appropriate resources.  But for now this is the cleanest.
5976
5977    sched/
5978        sched_locality.C
5979
5980Rom    3 May 2005
5981    - Bug Fix: Global Loc issue with the statistics tab on creation.
5982
5983    clientgui/
5984        ViewStatistics.cpp
5985
5986David  3 May 2005
5987    - scheduler: fixed a bug where host::update()
5988        could potentially overwrite a credit update
5989        happening around the same time.
5990        Did this by adding a function HOST::update_diff(HOST& initial)
5991        which does an update only of those fields that have
5992        changed relative to the given initial values.
5993        (from Bruce Allen)
5994    - scheduler: fixed a bug where host_cpid wasn't being maintained properly.
5995        Caused it to change on each RPC.
5996    - removed unused "p_calculated" from HOST
5997    - removed code to parse non-existent fields p_fpop_err etc. in HOST
5998
5999    db/
6000        boinc_db.C,h
6001    sched/
6002        handle_request.C
6003        server_types.C
6004
6005Bruce 3 May 2005
6006    - ignore fields p_fpop_err in scheduler requests (still there from
6007      4.19 core clients) else these generate lots of logfile noise.
6008      David, please revert if you don't like it.
6009    - in host page visible to ordinary users, include daily result
6010      quota info.
6011
6012    sched/
6013        server_types.C
6014    html/
6015        inc/
6016            host.inc
6017
6018Janus   4 May 2005
6019    - Split forum.inc into two files. One DB related (db_forum.inc) and one
6020      that has to do with usual forum functions (like showing posts etc).
6021
6022    html/inc/
6023    forum.inc
6024    db_forum.inc (new)
6025
6026Bruce 4 May 2005
6027    - log execution times for two cgi scripts (scheduler and
6028      file_upload_handler)
6029    - better print format for timezone
6030    - bug fix: with locality scheduling, permit multiple requests
6031      to make work for same file. Bug introduced April 11, 2005.
6032
6033    sched/
6034        sched_util.h
6035        sched_util.C
6036        sched_timezone.C
6037        main.C
6038        sched_send.C
6039        file_upload_handler.C
6040        sched_locality.C
6041
6042Jeff 4 May 2005
6043    - Accounted for the fact that function finite() is prototyped in ieeefp.h
6044      under solaris and math.h under linux.
6045
6046    configure.ac
6047    lib/
6048    parse.C
6049
6050David  4 May 2005
6051    - bug fix in boinc_upload_file() (from Tolu Aina)
6052    - added forum_preferences.ignore_sticky_posts to schema
6053
6054    api/
6055        boinc_api.C
6056    db/
6057        schema.sql
6058
6059Bruce 4 May 2005
6060    - bug fix so that Unix hosts report their timezones correctly
6061      taking into account the effect of DST on their localtime.
6062
6063      NOTE: hosts that lacked a gmt offset in the tm structure (System V
6064      with no BSD extensions) had the WRONG SIGN for the timezone.
6065      This is now fixed. These host types (AIX, Cygwin?) will now have a
6066      change in sign in their timezone, making it consistent with other
6067      Unix hosts and with Win32 hosts.
6068
6069    - Note that with these changes we adopt the convention that the database
6070      timezone value is the (Local Standard Time) - (UTC time).  This
6071      quantity only depends upon spatial location on the earth's surface and
6072      is NOT a function of time.
6073
6074    - Change php functions to correctly describe timezone field.
6075
6076    client/
6077        hostinfo_unix.C
6078    html/
6079        inc/
6080            email.inc
6081            host.inc
6082            db_ops.inc
6083
6084Rom    4 May 2005
6085    - Bug Fix: Fix the screensaver on Win9x class of machines.
6086    - Bug Fix: The help menu needed to include items for the BOINC website
6087        and manager page.
6088    - Some code cleanup
6089
6090    client/win/
6091        win_screensaver.cpp
6092    clientgui/
6093        Events.h
6094        MainFrame.cpp, .h
6095        ViewMessages.cpp
6096        ViewProjects.cpp
6097        ViewStatistics.cpp
6098        ViewTransfers.cpp
6099        ViewWork.cpp
6100
6101David  4 May 2005
6102    - core client: fix bug where sometimes we don't fetch work
6103        even though a CPU is idle (from John McLeod)
6104
6105    client/
6106        cs_scheduler.C
6107
6108David  4 May 2005
6109    - limit size of author field in forums (from Rob Ogilvie)
6110
6111    html/
6112        inc/
6113            forum.inc
6114        user/
6115            black.css
6116            style.css
6117            style-black.css
6118
6119Rom    4 May 2005
6120    - Update the minimum wxWidgets version we support to 2.6.0.
6121
6122    /
6123        configure.ac
6124
6125Charlie    5 May 2005
6126Mac: Modify projects and rebuild with OS 10.3.0 compatibility SDK.
6127Rebuild WxMac-2.6.0 library with OS 10.3.0 compatibility SDK.
6128Update build instructions.  Update version number in various
6129*info.plist files.  Update ReadMe file.  Better logic for avoiding
6130annoying flashes in screensaver.  Avoid screensaver hang if graphics
6131application is non-responsive.  Installer: don't require reboot;
6132launch BOINC at end of install; refuse to install if OS < 10.3;
6133set up BOINC Data directory properly if installed by non-admin user.
6134
6135    api/
6136        macglutfix.m
6137    clientgui/
6138        mac/
6139            mac_saver_module.cpp
6140    mac_build/
6141        HowToBuildBOINC_XCode.rtf
6142        Info.plist
6143        SystemMenu-Info.plist
6144        ScrenSaver-Info.plist
6145        Installer-Info.plist
6146        boinc.pbproj/
6147            project.pbxproj
6148    mac_installer/
6149        BOINC.pmsp
6150        PostInstall.cpp
6151        ReadMe.rtf
6152
6153David  5 May 2005
6154    - core client: exit if can't write state file
6155
6156    client/
6157        client_state.C
6158        scheduler_op.C
6159
6160David  5 May 2005
6161    - fixes for FreeBSD from J.R. Oldroyd
6162    - BOINC Manager:
6163        Don't use BOINC_DIAG_REDIRECTSTDERR and BOINC_DIAG_REDIRECTSTDOUT
6164            on non-Windows
6165        IsBOINCCoreRunning(): close RPC connection
6166
6167    clientgui/
6168        BOINCGUIApp.cpp
6169    lib/
6170        network.C
6171
6172David  5 May 2005
6173    - scheduler: HOST::fix_nans(): use !finite() instead of isnan()
6174        (to detect infinity as well as NaN)
6175    - DB_HOST::update_diff(): escape/unescape strings
6176    - scheduler: escape/unescape strings in a could of update_field()s
6177
6178    db/
6179        boinc_db.C
6180        db_base.C
6181    sched/
6182        handle_request.C
6183
6184David  5 May 2005
6185    - core client: parse multiple <schedule> tags per line from a master file
6186        This should fix a minor bug for UMTS users.
6187        UMTS apparently strips CRLFs from HTML files.
6188        So UMTS users would see only 1 scheduler from a project,
6189        even if it has multiple schedulers.
6190
6191    client/
6192        scheduler_op.C
6193
6194David  5 May 2005
6195    - sort team pages
6196
6197    html/
6198        inc/
6199            team.inc
6200        user/
6201            team_display.php
6202
6203Rom    5 May 2005
6204    - When running benchmarks, close down and remove science applications
6205        from memory.  If a science application isn't listening to the quit request
6206        it may not be responding to suspend/resume either which would cause problems
6207        during the benchmark process.
6208    - If a science application doesn't shutdown within 10 seconds, kill it.
6209    - Fix the bug I introduced last night with the view statistics tab.
6210    - Make suspend_all call atp->preempt() instead of doing the same thing itself.
6211    - Move the starting benchmark message to a place right before the benchmarks
6212        start.  We were receiving a few process control messages and people might
6213        interpret that to mean other stuff was going on during the benchmarks.
6214
6215    client/
6216        app.C, .h
6217        app_control.C
6218        cs_benchmark.C
6219        cs_prefs.C
6220    clientgui/
6221        ViewStatistics.cpp
6222
6223Eric    05/05/05  Woo Hoo!
6224    - Modified the BOINC_GETSOCKOPT_TYPE macro so it determines the proper type
6225        of parameter 5 to getsockopt() by using the compiler.
6226        The macro was in danger of becoming an ever expanding list of
6227        case statements, since some platforms
6228      use socklen_t, others use size_t, and still others use int.  Some aren't
6229      even consistent from OS rev to OS rev.
6230    - A macro BOINC_SOCKLEN_T is set in config.h to indicate the proper type.
6231      This is typedef to be boinc_socklen_t in lib/network.h.  The special cases
6232      for __APPLE__ and WIN32 can probably be removed at a later time.  Places
6233      where socklen_t was used have been changed to boinc_socklen_t.
6234    - Added double inclusion protection to network.h
6235    - Added libtool.m4 so porters don't need to install libtool.
6236    - Fixed header order problem in SAH_HEADER_STDCXX which caused problems
6237      on solaris
6238    - Added caching of results to SAH_CHECK_NAMESPACES and
6239      SAH_FUNCS_IN_NAMESPACE
6240    - Small changes to configure.ac to improve compatibility with earlier
6241      versions of automake.
6242    - Added include of <sys/socket.h> to time_stats.C
6243    - Fixed problem with std_fixes.h when included from C.
6244    m4/
6245        libtool.m4
6246        boinc_getsockopt.m4
6247    sah_header_stdcxx.m4
6248    sah_namespace.m4
6249    client/
6250        time_stats.C
6251        gui_rpc_server.C
6252    ssl_net_xfer.C
6253    lib/
6254        network.C
6255    network.h
6256        std_fixes.h
6257
6258Charlie    5 May 2005
6259    Mac installer: Wait until installer quits before launching BOINC.
6260    mac_installer/
6261        PostInstall.cpp
6262
6263Charlie    6 May 2005
6264    Macintosh only: wxProcess::Exists() and wxKill() are unimplemented
6265    in WxMac-2.6.0 so create our own CBOINCGUIApp::ProcessExists(), use
6266    it and kill() in CBOINCGUIApp::ShutdownBOINCCore().
6267
6268    clientgui/
6269        BOINCGUIApp.cpp/h
6270
6271
6272David  6 May 2005
6273    - fixes to work fetch policy (from John McLeod)
6274    - changed names of work-fetch urgency constants to WORK_FETCH_*
6275        (use common prefix for related symbols)
6276
6277    client/
6278        client_state.h
6279        client_types.C,h
6280        cs_scheduler.C
6281        scheduler_op.C
6282
6283David  6 May 2005
6284    - prevent users from changing their name to empty string
6285        (from Rob Ogilvie)
6286
6287    html/user/
6288        edit_user_info_action.php
6289
6290Charlie    7 May 2005
6291Mac: Fix problems with window position & size caused by
6292calling Maximize(false).  If m_bFrameVisible-visible is
6293false at startup, don't show & hide window (to eliminate
6294annoying flash of window).
6295
6296    clientgui/
6297        BOINCGUIApp.cpp
6298        BOINCTaskBar.cpp
6299        MainFrame.cpp
6300
6301Bruce 7 May 2005
6302    - compile fix for HPUX and AIX
6303
6304    client/
6305        hostinfo_unix.C
6306
6307Janus  8 May 2005
6308    - Security patches and improvements from Rob Ogilvie making it harder
6309      to misuse the forums.
6310      - escape all strings before inserting into SQL and check everything else
6311      - use regex do search and remove images instead of old slow function
6312      - added a function cleanTextBox that prepares text to be dropped into
6313        a textarea (replacing < and >). Also added the use of it to the
6314        reply-page and edit-page.
6315      - <pre> changes in the stylesheet
6316      - Added max width on authorcols in forum to css
6317      - Added nicer style to blockquotes
6318    - Removed some old code from forum show_post that wasn't used anymore but
6319      still accessed the database and threw away the result.
6320    - Added a tiny part of the PayPal donation system from BURP, more parts
6321      will show up later when they have been rewritten to work with php4
6322      Please check if the license of the original PayPal script
6323      (http://opensource.org/licenses/cpl.php) fits with the BOINC license. The
6324      way I read it there should be no problems (since BOINC is opensource as
6325      well).
6326
6327    html/
6328        inc/
6329            db_forum.inc
6330            forum.inc
6331            paypal_global_config.php (new)
6332        user/
6333            black.css
6334            forum_edit.php
6335            forum_reply.php
6336            style.css
6337            style-black.css
6338        white.css
6339            payment_success.php (new)
6340            payment_process.php (new)
6341
6342David  8 May 2005
6343    - work fetch and CPU scheduling fixes (from John McLeod)
6344
6345    client/
6346        client_state.C,h
6347        client_types.C,h
6348        cs_scheduler.C
6349        scheduler_op.C,h
6350
6351David  9 May 2005
6352    - scheduler: return error (and don't send result)
6353        if result DB update, WU DB update, or XML mods fail
6354        (from Ian Hay)
6355
6356    sched/
6357        sched_send.C
6358
6359Rom    9 May 2005
6360    - Remove last Friday's benchmark checkin and introduce a benchmark startup
6361        timeout.  If an application cannot be shutdown because an application
6362        fails to shutdown, it'll just skip the benchmarks.
6363    - Add a new log flag for the cpu scheduler called '<sched_cpu_debug>' so
6364        that people can debug client-side issues with the scheduler
6365    - Convert the #ifdef scheduler debug code to log flag calls
6366    - Fix a CPU scheduling bug where the client thought all the CPU's were idle.
6367
6368    client/
6369        app.C, .h
6370        app_control.C
6371        client_msgs.C, .h
6372        client_state.C
6373        cs_benchmark.C
6374        cs_scheduler.C
6375        log_flags.C, .h
6376
6377Bruce 10 May 2005
6378    - Forums: added an html/bookmark style link to the header for each message.
6379      This makes it a bit more convenient to reference a particular message
6380      (rather than the entire thread) in an email or another thread.
6381      Janus, Rob, I hope this is OK with you.
6382      Feel free to revert if you don't like it.
6383    - Forums: added credit and recent average credit to the brief description
6384      of users.
6385
6386    html/
6387        inc/
6388            forum.inc
6389
6390Janus  10 May 2005
6391    - Reply box on reply page in the forums is now at the top of the page
6392        to avoid scrolling (From Rob Oglivie)
6393
6394    html/user/
6395        forum_reply.php
6396
6397Rom    10 May 2005
6398    - work fetch and CPU scheduling fixes (from John McLeod)
6399    - Convert screen saver debug messages to scoped messages so that everyone
6400        can see them by adding a flag to log_flags.xml
6401
6402    client/
6403        app_graphics.C
6404        client_msgs.C, .h
6405        client_state.C
6406        cs_scheduler.C
6407        log_flags.C, .h
6408        scheduler_op.C
6409        ss_logic.C
6410
6411Bruce 11 May 2005
6412    - Eliminate some annoying 'undefined index' errors in PHP log. Note
6413      that in general the right way to use _GET[] is like this:
6414          $x=default_value;
6415          if (isset($_GET["x"])) $x=$_GET["x"];
6416      This prevents PHP notice-type error messages.
6417    - Eliminate some annoying undefined variables
6418    - Typo in download_network.php
6419
6420    html/
6421        inc/
6422            forum.inc
6423            util.inc
6424            prefs.inc
6425            forum_show.inc
6426            db_forum.inc
6427            host.inc
6428            db_ops.php
6429        user/
6430            prefs.php
6431            sample_rss_main.php
6432            download_network.php
6433            top_teams.php
6434            show_host_detail.php
6435            team_display.php
6436            top_hosts.php
6437            top_users.php
6438            create_account_form.php
6439            logout.php
6440            view_profile.php
6441
6442Rom    11 May 2005
6443    - When adjusting the graphics mode to the application from within
6444        the application use the acked_graphics_mode instead of the
6445        current_graphics_mode since the current
6446        graphics mode is what we would like to be,
6447        not necessarily what we are.
6448
6449    api/
6450        windows_opengl.C
6451
6452David  11 May 2005
6453    - scheduler: fixed bug where rpc_seqno wasn't getting updated
6454
6455    db/
6456        boinc_db.h
6457    sched/
6458        handle_request.C
6459        server_types.C
6460
6461Bruce 12 May 2005
6462    - forums: allow project admin, project developers and forum moderators
6463        to edit their own posts at any time (not just within one hour).
6464    - scheduler: if host reaches daily result quota and contacts the scheduler,
6465        tell it to delay until a random time falling within the first hour
6466        of the following day.
6467        Previously the host would be told to delay one hour,
6468        which could lead to as many as 24 retries in a one-day period.
6469
6470    html/
6471        user/
6472            forum_edit.php
6473    sched/
6474        sched_send.C
6475
6476David  12 May 2005
6477    - db_dump: don't exit if user lookup fails
6478    - user web: improve processing of team names (from Rob Ogilvie)
6479
6480    html/
6481        inc/
6482            team.inc
6483            util.inc
6484        user/
6485            team_create_action.php
6486            team_display.php
6487            team_edit_action.php
6488    sched/
6489        db_dump.C
6490
6491David  12 May 2005
6492    - core client: dir_scan() shouldn't skip over all entries
6493        starting with ".".  It should only skip over "." and "..".
6494
6495    lib/
6496        filesys.C
6497
6498David  12 May 2005
6499    - parse unused ACTIVE_TASK entries to avoid error messages
6500
6501    client/
6502        app.C
6503
6504Rom    12 May 2005
6505    - Bug Fix: ShutdownSaver() can be called from the data management thread
6506        in the scrrensaver, so specifically look up the primary window and
6507        post a quit message there instead of the default window proc of the
6508        thread, which in our case doesn't exist.
6509    - Bug Fix: Remove MODE_QUIT from the CC logic and use MODE_HIDE_GRAPHICS
6510        with is_ss_app to stop the screensaver.  Some projects were not giving
6511        us the MODE_QUIT message and so the screensaver wouldn't shutdown in
6512        a timely manor.
6513
6514    api/
6515        windows_opengl.C
6516    client/
6517        app_graphics.C
6518    client/win/
6519        win_screensaver.cpp
6520
6521Charlie    13 may 2005
6522    Mac: Update build instructions.
6523        Fix compile error.
6524    client/
6525        main.C
6526    mac_build/
6527        HowToBuildBOINC_XCode.rtf
6528
6529Janus  13 May 2005
6530    - Really make optional fields (postal code and url) optional
6531         For those who rewrite stuff to using get_str etc please remember to
6532         consider if the variable is optional (add true to get_str) or not.
6533    - Added support for css class names in start_forum_table:
6534         Use array(array("Header 1", "style_name_1"), "Header 2", array("Header 3", "style_name_2"))
6535         It defaults to the old "heading" style.
6536    - Checking in patch from Rob Oglivie:
6537         - Figured out how to simply merge two objects together in
6538           db_forum.inc's forum preferences function
6539         - Moved forum-related text transforming functions in to
6540           text_transform.inc - these can certainly be used elsewhere
6541         - Defined a text transforming options class where default options
6542           are set
6543         - Created a new output_transform() function that takes text and options
6544           and outputs text transformed as such.
6545         - Implemented said function in show_post and show_post2, as well as in
6546           the signature preview on edit_forum_preferences_form.php
6547         - Various wrappers and modifiers to clean up forum-related table
6548           display when people use long nonbreaking words for thread subjects or
6549           their usernames.  These fixes all work in Firefox.  IE, Opera, and KTHML
6550           users will get most of the benefits, but not all of them.
6551         - Wrote a page explaining how to use bbcode tags and linked to it
6552           instead of the allowed HTML tags section
6553         - After editing forum preferences, people are now taken back to the
6554           forum preferences page again - so they can see how it looks
6555         - Quoting text on the forums now uses bbcode instead of HTML
6556         - Added a signature delimiter
6557    - Renamed get_settings_from_user to get_transform_settings_from_user
6558    - Made compile_languages optional in the translator (wow how did anything work
6559          without this in earlier versions?)
6560
6561    html/
6562        inc/
6563            db_forum.inc
6564            forum.inc
6565            forum_show.inc
6566            translation.inc
6567            util.inc
6568            text_transform.inc (new)
6569        user/
6570            edit_forum_preferences_form.php
6571            edit_forum_preferences_action.php
6572            edit_user_info_action.php
6573            forum_edit.php
6574            forum_reply.php
6575            forum_thread.php
6576            white.css
6577            bbcode.php (new)
6578
6579Rom    13 May 2005
6580    - When an application is in screensaver mode,
6581        do not respond to the WM_CLOSE event since Intellitype/Intellipoint
6582        will try to shutdown the screensavers.
6583    - When in screensaver mode respond to a power broadcast event
6584        by shutting ourselves down so the OS can go to sleep.
6585
6586    api/
6587        windows_opengl.C
6588
6589Rom    13 May 2005
6590    - Cause the screensaver process to exit when a power broadcast event
6591        is fired.  It was already shutting down the screensaver
6592        when the APMSUSPEND event was fired
6593        but now we shutdown during the system query phase which happens
6594        before the system actually decides to shutdown
6595
6596    client/win/
6597        win_screensaver.cpp
6598
6599David  14 May 2005
6600    - fix bug where multiple scheduler RPCs or master file fetches
6601        could be started simultaneously (this is a no-no).
6602    - NET_XFER_SET::do_select(): don't add a socket to fd_set
6603        if io_done is true.
6604        This causes the select() to fail and all I/O locks up.
6605    - break out English strings for socket errors
6606        into a separate function (socket_error_str())
6607        instead of having them embedded in resolve_hostname() (???)
6608
6609    client/
6610        cs_scheduler.C
6611        net_xfer.C
6612        scheduler_op.C
6613        win/
6614            wingui_mainwindow.cpp
6615    lib/
6616        network.C,h
6617
6618Charlie    15 may 2005
6619    Mac: Update XCode project and build instructions for
6620        OS 10.4 (Tiger) and XCode 2.0. Fix gcc-4.0 compiler warning.
6621
6622    clientgui/
6623        mac/
6624            mac_saver_module.cpp
6625    mac_build/
6626        HowToBuildBOINC_XCode.rtf
6627        boinc.pbproj/
6628            project.pbxproj
6629
6630David  15 May 2005
6631    - small web cleanup
6632
6633    html/
6634        inc/
6635            mail.inc
6636        user/
6637            mail_passwd.php
6638
6639David  15 May 2005
6640    - fix bug where sometimes master file fetch
6641        or user-requested scheduler RPC wouldn't happen
6642    - SCHEDULER_OP::init_get_work(): remove master_file_only argument
6643        NOTE: functions should do one thing only.
6644        Please do not overload them with extra arguments
6645        and orthogonal functionality
6646
6647    client/
6648        cs_scheduler.C
6649        scheduler_op.C,h
6650
6651Janus  16 May 2005
6652    - Don't send reply-notifications in the forum to the user who posted the
6653      reply, this just adds needless datatransfer for sending the mail and
6654      later because the user will check if there actually was a reply...
6655
6656    html/
6657        inc/
6658           subsribe.inc
6659        user/
6660           forum_reply.php
6661
6662Bruce 17 May 2005
6663    - scheduler: use locking to prevent more than one scheduler instance from
6664      running for a given host.  This works by creating a file called
6665      CGI_<HOSTID> in the cgi-bin/ directory, and using Posix advisory file
6666      locking.  I have been testing this code for three days and am seeing
6667      *some* invocations of this.  David, I'll send details to the dev mailing
6668      list or talk with you about it later this week.  Note: this code probably
6669      can be removed in the future, when the core client problems are fixed.
6670      Also note: I don't know if this is compatible with the fast cgi sched.
6671
6672    sched/
6673        handle_request.C
6674        server_types.h
6675
6676Charlie    17 May 2005
6677    Mac: SetVersion now automatically updates version number
6678        string in all 5 files where needed, but does not touch
6679        these files if the version number is current.  Update build
6680        instructions to reflect this new automation.
6681        Fix new warnings from gcc 4.0 compiler.  Installer makes
6682        old BOINC quit before starting newly installed BOINC Manager.
6683
6684    clientgui/
6685        mac/
6686            mac_saver_module.cpp
6687            SetVersion.C
6688    mac_build/
6689        HowToBuildBOINC_XCode.rtf
6690        boinc.pbproj/
6691            project.pbxproj
6692        mac_installer
6693            BOINC.pmproj (new, replaces BOINC.pmsp in Tiger)
6694            PostInstall.cpp
6695
6696Bruce 17 May 2005
6697    - forum style: use 'comma-separated' number format for credit/RAC
6698
6699    html/
6700        inc/
6701            forum.inc
6702
6703David  17 May 2005
6704    - (from Bruce Allen) fix bug in scheduler in case where
6705        host has been merged,
6706        and results are reported with old (zombie) host ID.
6707        Results in the DB have already been updated to new hostid;
6708        compare with that ID, not old ID
6709    - move mylockf() to sched_util.C
6710        (eliminate duplicate definition in scheduler/file upload handler)
6711    - move delete_file_from_host() to sched_locality.C
6712
6713    sched/
6714        file_upload_handler.C
6715        handle_request.C
6716        sched_locality.C,h
6717        sched_util.C,h
6718
6719Rom    17 May 2005
6720    - Bug Fix: The Mac screensaver sends us a MODE_HIDE_GRAPHICS even before
6721        it acknowledges the MODE_FULLSCREEN change which in turn tells the CC
6722        to shutdown the screensaver.  So lets improve the robustness of the
6723        shutdown logic to only shutdown the screensaver if the CC has received
6724        an ack for the MODE_FULLSCREEN message.
6725
6726    client/
6727        app_graphics.C
6728
6729Charlie    18 May 2005
6730    Mac: Fix some compiler warnings.  Add --build=powerpc-apple-darwin to
6731        configure args in build instructions to force generic platform name.
6732        Fix core client redirection when launched by screensaver.
6733
6734    mac_build/
6735        HowToBuildBOINC_XCode.rtf
6736        boinc.pbproj/
6737            project.pbxproj
6738    clientgui/
6739        mac/
6740            mac_saver_module.cpp
6741
6742Rom    18 May 2005
6743    - Bug Fix: After starting the CC wait for 5 seconds to give the CC time
6744        to establish the listening socket for the next rpc request.
6745    - Convert the remaining #ifdef'ed debug messages into scoped messages
6746        so they can be tracked in debug/release builds on all platforms.
6747    - We store most if not all time values internally as doubles, so make
6748        the calls to time(0) to dtime() to see if that fixes a deadline
6749        problem on the mac with the screensaver.
6750
6751    client/
6752        app_graphics.C
6753        ss_logic.C
6754    clientgui/
6755        BOINCGUIApp.cpp
6756
6757Charlie    18 May 2005
6758    Mac: Eliminate an absolute library search path in project.
6759        In build instructions, don't suggeest using jpeglib.h from
6760        seti_boinc project.
6761
6762    mac_build/
6763        HowToBuildBOINC_XCode.rtf
6764        boinc.pbproj/
6765            project.pbxproj
6766
6767David  19 May 2005
6768    - Core client: When proxy info is updated (via RPC) send a
6769        <reread_app_info/> message to the process_control channel,
6770        telling the app to reread the app_info file (for Folding@home)
6771
6772    api/
6773        boinc_api.C,h
6774    client/
6775        app.h
6776        app_control.C
6777        cs_scheduler.C
6778        gui_rpc_server.C
6779
6780Charlie    20 May 2005
6781    Mac: Change how wxWidgets libraries are linked so the static
6782        versions are used even if the dynamic libraries are present.
6783        Add information to Build instructions for passing arguments to
6784        the Core Client for debugging under XCode.
6785
6786    mac_build/
6787        HowToBuildBOINC_XCode.rtf
6788        boinc.pbproj/
6789            project.pbxproj
6790
6791David  20 May 2005
6792    - changed download page to make it small;
6793        details are on separate pages.
6794    - removed "high_priority" and "return_result_immediately" attributes
6795        from RESULT (no changes like this without discussion!)
6796
6797    client/
6798        client_types.C,h
6799        cs_scheduler.C
6800    doc/
6801        download.php
6802        versions.inc (new)
6803
6804David  20 May 2005
6805    - Added mechanism to report results sooner in some cases.
6806        - results have a new field "completed time":
6807            the time when ready_to_report was set.
6808        - a project's completed results are reported when either
6809            1) the time is within a day of a report deadline, or
6810            2) the time is more than work_buf_min_days after
6811                r.completed_time for some result r.
6812
6813    client/
6814        client_state.C
6815        client_types.C,h
6816        cs_scheduler.C
6817
6818Rom    20 May 2005
6819    - Reduce flicker in the screensaver by delaying the request to
6820        enter fullscreen mode until after the app has ack'ed the hide_graphics
6821        request.
6822    - Fix what appears to be a long standing bug in the Windows screensaver
6823        where after the first execution of the screensaver the core client
6824        continues to report the screensaver mode as SS_STATUS_QUIT even when
6825        the screensaver is starting up for the second time which causes the
6826        screensaver to exit.
6827
6828    client/
6829        app_graphics.C
6830        ss_logic.C
6831    client/win/
6832        win_screensaver.cpp
6833
6834David  20 May 2005
6835    - get rid of warnings in ACTIVE_TASK parse
6836
6837    client/
6838        app.C
6839
6840Rom    20 May 2005
6841    - Fix the one off bug that would allow the screensaver to continue operation
6842        when only one click of the mouse occurred or one click of the keyboard.
6843
6844    client/
6845        app_graphics.C
6846
6847Charlie    21 may 2005
6848    Mac: If core client exits screensaver mode but Mac screensaver engine
6849        doesn't (as in the case of a mouse button click with no mouse movement)
6850        then show message "BOINC is no longer in screensaver mode."
6851        Update installer to work around problems launching BOINC Manager.
6852
6853    clientgui/
6854        mac/
6855            mac_saver_module.cpp
6856    mac_installer/
6857        postinstall
6858        postupgrade
6859        PostInstall.cpp
6860
6861David  21 May 2005
6862    - API: there seem to be problems with the user of timer signals
6863        in the BOINC API (Unix version).
6864        On some platforms the signals are delivered to both
6865        the worker and graphics thread,
6866        and they can deadlock on something down in _vprintf().
6867
6868        Rather than try to sort this out,
6869        we'll switch to using a separate thread instead of signals.
6870        (from J.R. Oldroyd)
6871
6872    api/
6873        boinc_api.C
6874
6875Rom    21 May 2005
6876    - Bug Fix: The ATI graphics drivers do not like to be told to switch
6877        to the original desktop and window station that the application started
6878        with.  So now the application will detect which window station and
6879        desktop it is currently running under and only switch if it is different
6880        from the desired desktop and window station.  There was no API
6881        failure codes to look for, the application believed everything was
6882        running like it was supposed to be.
6883
6884    api/
6885        windows_opengl.C
6886
6887Charlie    22 may 2005
6888        Fix problems launching BOINC Manager from installer.  Build release
6889        using BOINC.pmsp with PackageMaker 1.2 (from XCode 1.5 / Panther)
6890        instead of BOINC.pmproj with PackageMaker 2.0 (XCode 2.0 / Tiger)
6891        to avoid "null volume" error when installing on Mac OS 10.3.x.  So
6892        updated version number strings in BOINC.pmsp.
6893
6894    mac_installer/
6895        BOINC.pmsp
6896        postinstall
6897        postupgrade
6898        PostInstall.cpp
6899
6900
6901David  22 May 2005
6902    - debugged yesterday's API change on Linux.
6903        It worked OK except CPU time wasn't getting reported.
6904        It turns out that getrusage(), on Linux at least,
6905        returns CPU time only for the calling thread
6906        (in this case the timer thread,
6907        whereas we wanted the worker thread).
6908
6909        So: put back a timer signal, but use it ONLY to get worker CPU time,
6910        and only do that if the worker thread is the one handling the signal.
6911        Store the worker CPU time in a variable (worker_thread_cpu_time)
6912        which is read by the timer thread.
6913
6914        Aargh!!
6915
6916        Still need to make sure this works on Mac OS X, Solaris etc.
6917
6918    api/
6919        boinc_api.C
6920        graphics_impl.C
6921
6922David  22 May 2005
6923    - screensaver logic: if > 1 apps are running (e.g. multiprocessor)
6924        switch between them every 10 minutes
6925    - compile fix for Win
6926
6927    api/
6928        boinc_api.C
6929    client/
6930        app_graphics.C
6931        ss_logic.C
6932
6933David  22 May 2005
6934    - Unix API: don't do any floating-point math in the timer signal handler
6935    - compile fixes
6936
6937    api/
6938        boinc_api.C
6939
6940Charlie    22 may 2005
6941    Mac: add build of boinc_cmd command-line application to XCode project.
6942    Remove wxRESIZE_BORDER from dialog styles so they are not resizeable.
6943
6944    clientgui/
6945        DlgAbout.h
6946        DlgAccountManager.h
6947        DlgAttachProject.h
6948        DlgConnection.h
6949        DlgOptions.h
6950        DlgSelectComputer.h
6951
6952    mac_build/
6953        boinc.pbproj/
6954            project.pbxproj
6955
6956David  22 May 2005
6957    - compile fix
6958
6959    api/
6960        boinc_api.C
6961
6962Rom    23 May 2005
6963    - Modify the configure.ac script to explicitly state which combination
6964        of wxWidget libraries we need to link against, otherwise it will
6965        fall back to a default which may cause more harm than good.
6966
6967    /
6968        configure.ac
6969
6970David  23 May 2005
6971    - scheduler fixes (from John McLeod and others)
6972        - estimate remaining CPU correctly if frac done = 0
6973        - avoid div by zero error
6974        - fix seconds-per-day scaling problem
6975
6976    client/
6977        app.C
6978        client_types.C
6979        cs_apps.C
6980        cs_scheduler.C
6981        scheduler_op.C
6982
6983Rom    23 May 2005
6984    - Introduce a change in the screensaver logic so that it checks user idle
6985        activity before informing the screensaver to shutdown, so that in the
6986        case of an application exiting due to it completing the result the CC
6987        can promote another application to screensaver status and continue on.
6988
6989    client/
6990        app_graphics.C
6991
6992David  23 May 2005
6993    - added <sched_lockfile_dir> entry to sched config file (optional).
6994        Specifies where scheduler PID lockfiles are kept
6995        (default is cgi-bin dir)
6996
6997    sched/
6998        handle_request.C
6999        sched_config.C,h
7000
7001David  23 May 2005
7002    - factored out CLIENT_STATE::adjust_debts()
7003        from CLIENT_STATE::schedule_cpus()
7004
7005    client/
7006        cs_apps.C
7007
7008Charlie    24 may 2005
7009    Tweaked Rom's fix to screensaver logic to also check if previous mode
7010    was MODE_FULLSCREEN.  This makes it work reliably when screensaver is
7011    activated by moving mouse into hot corner.
7012
7013    client/
7014        app_graphics.C
7015
7016David  24 May 2005
7017    - Removed "max_projects_on_client" from GLOBAL_PREFS structure.
7018    - added RESULT::computing_done() function.
7019        This replaces explicit references to RESULT::state
7020    - minor code cleanup in CPU scheduler
7021
7022    client/
7023        client_types.C,h
7024        cs_apps.C
7025        cs_scheduler.C
7026    lib/
7027        prefs.C,h
7028        result_state.h
7029
7030Rom    24 May 2005
7031    - Instead of going to sleep to give the CC enough time to open a
7032        listening socket we should attempt to connect after we have received
7033        our first OnFrameRender timer event which will happen after at
7034        least one window idle event.
7035
7036    clientgui/
7037         BOINCGUIApp.cpp
7038         MainFrame.cpp, .h
7039
7040Rom    24 May 2005
7041    - Throttle back how often the UI is aloud to update itself to two times
7042        a second, the Mac was consuming 12% of the CPU just processing events
7043        in the BOINC Manager
7044
7045    clientgui/
7046        MainFrame.cpp
7047
7048Charlie    25 may 2005
7049    Mac: If core client sends screensaver SS_STATUS_QUIT, kill the
7050        screensaver engine if it has not quit after 1 second.  Eliminate
7051        "BOINC is no longer in screensaver mode" message.
7052
7053    clientgui/
7054        mac/
7055            mac_saver_module.cpp
7056
7057David  25 May 2005
7058    - Changed the interface for creating a GUI RPC connection.
7059        RPC_CLIENT::init() synchronous
7060        RPC_CLIENT::init_asynch(double timeout, bool retry)
7061            If retry is true, keep trying (alternating between
7062            alternate and main ports) until succeed or time out.
7063            This is used by the BOINC manager when it starts up
7064            the core client, since it may take many seconds before
7065            the core client runs and creates the listening socket.
7066    NOTE: the BOINC Manager sees if the core client is running by
7067        connecting to it.  It then closes this connection and connects again.
7068        Would be better to connect just once.
7069
7070    clientgui/
7071        BOINCGUIApp.cpp
7072        MainDocument.cpp
7073    lib/
7074        boinc_cmd.C
7075        gui_rpc_client.C,h
7076
7077David  25 May 2005
7078    - don't initiate scheduler RPC is activity suspended
7079
7080    client/
7081        cs_scheduler.C
7082
7083David  25 May 2005
7084    - if an app hasn't checkpointed yet, never preempt it by killing it
7085        (even in CPU benchmark case)
7086
7087    client/
7088        app_control.C
7089        cs_apps.C
7090        cs_benchmark.C
7091
7092David  26 May 2005
7093    - feeder: added a "-mod n i" option.
7094        This lets you run schedulers on more than one host.
7095
7096    db/
7097        boinc_db.C,h
7098    sched/
7099        feeder.C
7100
7101David  26 May 2005
7102    - file_deleter: if a file is present but can't be deleted,
7103        don't mark the WU or result as file_delete_state = DONE;
7104        leave it in state READY.
7105        This addresses the case where files can't be deleted because
7106        of dir permissions.
7107
7108        If such an error occurs, sleep for 5 seconds before next scan
7109        (avoid rapid infinite loop)
7110
7111        (From Kevin Reed)
7112
7113    - Change log messages in file_deleter to same format as other daemons,
7114        e.g. [WU#12345]
7115
7116    sched/
7117        file_deleter.C
7118
7119Rom    26 May 2005
7120    - Include version information for boinc_cmd.exe so the Windows installer
7121        will know it can upgrade the file with future revisions.
7122
7123    client/win/
7124        boinc_cli.rc
7125        boinc_cmd.rc, .h (Added)
7126    win_build/
7127        boinc.sln
7128        boinc_guirpc_test.vcproj
7129
7130Rom    26 May 2005 (boinc_public)
7131    - Tag for 4.44 release, all platforms
7132      boinc_core_release_4_44
7133
7134David  27 May 2005
7135    - added help and version cmdline options to boinc_cmd.C
7136        (from Eric Myers)
7137
7138    lib/
7139        boinc_cmd.C
7140
7141David  28 May 2005
7142    - commented out RedHat stuff from config.guess
7143        (fix problem where Linux platform name contains "redhat")
7144
7145    config.guess
7146
7147David  28 May 2005
7148    - reschedule CPUs when resume activities for whatever reason
7149        (from Jim Harris)
7150
7151    client/
7152        cs_prefs.C
7153
7154David  28 May 2005
7155    - BOINC manager: changed message in work tab
7156        try to make it clear WHY a result is not running
7157        Not quite done - need to show if project is suspended
7158    - BOINC manager: changed message in projects tab
7159        "Project suspended" -> "Suspended by user"
7160        Also, don't show "won't get new work"
7161    - BOINC manager code cleanup
7162        - got rid of enums in CMainDocument for RESULTTYPE, CPU_SCHED_TYPE,
7163            and RUN_TYPE.
7164            ?? Why make new constants when we already have perfectly good ones?
7165        - got rid of (in CMainDocument):
7166            bool                        IsProjectSuspended(int iIndex);
7167            bool                        IsProjectRPCPending(int iIndex);
7168            bool                        IsProjectAllowedToGetWork(int iIndex);
7169            int                         GetWorkState(int iIndex);
7170            int                         GetWorkSchedulerState(int iIndex);
7171            bool                        IsWorkAborted(int iIndex);
7172            bool                        IsWorkAcknowledged(int iIndex);
7173            bool                        IsWorkActive(int iIndex);
7174            bool                        IsWorkReadyToReport(int iIndex);
7175            bool                        IsWorkSuspended(int iIndex);
7176
7177
7178    clientgui/
7179        BOINCTaskBar.cpp
7180        MainDocument.cpp,h
7181        ViewProjects.cpp
7182        ViewWork.cpp
7183
7184David  31 May 2005
7185    - Add 2 new items to scheduler RPC request:
7186        - <other_results>
7187            List of other results for this project
7188            (besides those being reported, if any)
7189            This can be used by the scheduler to resend
7190            previously sent results that were lost somehow.
7191            Includes only the name of the result.
7192        - <in_progress_results>
7193            List of all results for which computation is not done.
7194            Includes estimated remaining CPU time, report deadline.
7195            This can be used by the scheduler to decide whether
7196            to send short-deadline results.
7197
7198        Note 1: the scheduler doesn't use the above info yet.
7199            Need to get this code into clients first.
7200
7201        Note 2: I used tag names <other_result> and <ip_result>
7202            for the results within each element.
7203            This will prevent the current scheduler from
7204            mistaking them for elements being reported.
7205            This is a kludge, but is fixed in new scheduler code
7206            (see next item)
7207
7208    - add skip_unrecognized() function to lib/parse.C
7209        Call this when get an unrecognized line.
7210        If it's a single tag "<foo>",
7211        this will skip all lines up to and including "</foo>"
7212
7213    - Change Win name from "BOINC Daemon" to "BOINC client"
7214        (let's not introduce random new terms at this point)
7215
7216    - boinc_cmd: print error messages in some cases
7217        (should finish this to handle other cases)
7218
7219    - fix bug in boinc_cmd: wasn't connecting to alternate port
7220
7221    client/
7222        cs_scheduler.C
7223        win/
7224            boinc_cli.rc
7225    lib/
7226        boinc_cmd.C
7227        gui_rpc_client.C,h
7228        parse.C,h
7229        util.C
7230    sched/
7231        server_types.C
7232
7233David  31 May 2005
7234    - core client: remove extraneous scheduling-related messages.
7235        Just say when we're entering/leaving either
7236        no-work-fetch mode or deadline-scheduling mode
7237
7238    - got rid of work_request arg to
7239        CLIENT_STATE::make_scheduler_request() and
7240        SCHEDULER_OP::init_op_project()
7241
7242    - When making a scheduler RPC, always show
7243        the work request and the # of results being returned
7244
7245    client/
7246        client_state.h
7247        client_types.h
7248        cs_apps.C
7249        cs_scheduler.C
7250        scheduler_op.C,h
7251
7252David  31 May 2005
7253    - If a project has multiple scheduler URLs,
7254        contact them cyclically but starting at a random index.
7255    - Add error-checking on start_rpc() for schedulers beyond the first one.
7256        This might fix some of the problems seen recently with Pirate.
7257
7258    client/
7259        client_state.C
7260        client_types.C,h
7261        scheduler_op.C,h
7262
7263David  1 June 2005
7264    - Restrict the account management mechanism to reduce its security risk.
7265        1) am_create.php now returns an error if an account
7266            (validated or not) exists with the given email address.
7267        2) The account-confirmation email cautions the recipient
7268            to ignore it if they didn't make the request
7269        2) am_query.php returns an error if an account with same email exists.
7270    - Add an "acct_mgr_name" argument to am_create.php so we can
7271        tell the user where the request came from
7272
7273    The reason for this change is as follows.
7274    Suppose a hacker X knows or guesses the email address of a user Y.
7275    X sends an am_create RPC to the project.
7276    Y receives an email and, without thinking, clicks on the URL.
7277    X then does an am_query RPC and gets Y's authenticator.
7278    These changes prevent this attack.
7279
7280    There's still a small security risk.
7281    A hacker could spam a project with am_create RPCs
7282    with various known email addresses.
7283    A small fraction of recipients might click on validate link,
7284    which would create accounts with authenticators known to the hacker.
7285    However I don't see this as a significant problem.
7286
7287
7288    html/
7289        inc/
7290            email.inc
7291        user/
7292            am_create.php
7293            am_query.php
7294            login_action.php
7295
7296David  1 June 2005
7297    - Reorganization of schedule RPC and master file fetch code
7298        trying to get rid of bug where once project's scheduler URLS
7299        end up in another project.
7300
7301        The following conditions are either all true or all false:
7302            1) SCHEDULER_OP::project is nonzero
7303            2) SCHEDULER_OP::state is not IDLE
7304            3) SCHEDULER_OP::http_op is in HTTP_OP_SET.
7305
7306        These become true in:
7307            SCHEDULER_OP::start_rpc()
7308            SCHEDULER_OP::init_master_fetch()
7309
7310        These become false in:
7311            SCHEDULER_OP::poll() (when an operation finishes)
7312            SCHEDULER_OP::abort() (called when reset or abort project)
7313
7314    - Changed SCHEDULER_OP from struct to class and hid some of its data
7315
7316    client/
7317        client_state.C
7318        cs_scheduler.C
7319        schedule_op.C,h
7320
7321David  1 June 2005
7322    - a result is not "in progress" if it's ready to report
7323
7324    client/
7325        client_types.C
7326
7327David  1 June 2005
7328    - Scheduler: when send the client a delay request because
7329        it's contacted us before min_sendwork_interval,
7330        add an additional 1% to the delay request.
7331        This handles the case where the client's clock is
7332        slightly faster than the servers,
7333        and it repeatedly does an RPC slightly before it should
7334        (from John McLeod)
7335
7336    sched/
7337        handle_request.C
7338
7339David  1 June 2005
7340    - add <work_fetch_no_new_work> and <cpu_earlist_deadline_first>
7341        items to  GUI RPC "get_state" reply.
7342        These indicate the current work-fetch and CPU sched policies.
7343        They're integers - 1 means in effect, 0 means not.
7344    - don't write cpu_sched_work_done_this period to statefile,
7345        or in get_state GUI RPC
7346
7347    client/
7348        client_state.h
7349        cs_statefile.C
7350
7351David  2 June 2005
7352    - add a new value FILE_DELETE_ERROR for file delete state
7353        (for when the unlink failed, e.g. because of permissions).
7354    - add a new cmdline flag -retry_errors to file deleter
7355
7356    (from Kevin Reed)
7357
7358    db/
7359        boinc_db.h
7360    html/inc/
7361        db_ops.inc
7362    sched/
7363        file_deleter.C
7364
7365David  2 June 2005
7366    - Scheduler: don't write Content-type: text/plain twice
7367        (from Bruce Allen)
7368    - move set_core_dump_size_limit() code to separate function
7369
7370    sched/
7371        handle_request.C
7372        main.C,h
7373
7374David  2 June 2005
7375    - scheduler/work fetch changes
7376        (from John McLeod)
7377
7378    client/
7379        app.C
7380        client_types.C
7381        cs_apps.C
7382        cs_scheduler.C
7383
7384David  3 June 2005
7385    Stuff related to per-host lockfiles in scheduler:
7386
7387    - enable locking only if <sched_lockfile_dir> is present in config file
7388    - delete lockfiles from sched_lockfile_dir (NOT necessarily CGI dir)
7389    - if mylockf(fd) fails (can't lock file) close fd before returning
7390        Otherwise would overflow fd limit under FCGI
7391    - Fix error message if lock_sched() returns -1
7392        (-1 is not a PID)
7393    - move lock-release logic into separate function (unlock_sched())
7394
7395    sched/
7396        handle_request.C
7397        sched_util.C
7398
7399David  6 June 2005
7400    - remove char* versions of starts_with() and ends_with().
7401        (Attempt to fix app_start problem on HPUX)
7402
7403    client/
7404        cs_trickle.C
7405        file_names.C
7406    lib/
7407        util.C,h
7408
7409David  6 June 2005
7410    - (scheduler changes from John McLeod):
7411        I believe that I may have found the idle CPU problem for multiple CPUs.
7412        I have also changed one variable name that was apparently
7413        causing some confusion and chqanged a couple of debug messages
7414        to print a bit more information.
7415
7416    client/
7417        cs_scheduler.C
7418        net_xfer.C
7419
7420David  6 June 2005
7421    - Manager: show frac done correctly
7422        (from Glenn Dill)
7423
7424    clientgui/
7425        ViewWork.cpp
7426
7427David  7 June 2005
7428    code cleanup in CPU sched/work fetch area:
7429    - introduced concepts of
7430        "runnable result"
7431        "runnable project"
7432        "potentially runnable project"
7433        These encapsulate a lot of the checks
7434        (suspended via gui, blah blah) that we do everywhere.
7435        For each of these, added a bool function.
7436    - rename things in terms of these concepts, e.g.
7437        local_total_resource_share -> runnable_resource_share
7438            (i.e. sum of resource shares of runnable projects)
7439        local_total_lt_available_resource_share
7440            -> potentially_runnable_source_share
7441    - eliminate the use of PROJECT::next_runnable_result
7442        as an indicator of whether a project has a runnable result.
7443        Just call PROJECT::runnable().
7444        Eliminate the use of assign_results_to_project()
7445        to see if projects have a runnable result.
7446    - rename "debt" to "short_term_debt", including in client_state.xml
7447        (this will cause one-time parse error, shouldn't hurt anything)
7448
7449    client/
7450        client_types.C,h
7451        cs_apps.C
7452        cs_scheduler.C
7453
7454Rom    7 June 2005 (boinc_public)
7455    - Tag for 4.45 release, all platforms
7456      boinc_core_release_4_45
7457
7458David  7 June 2005
7459    - core client: eliminated the practice of passing "now" (time of day)
7460        as an argument, e.g. to poll functions.
7461        Instead, reference gstate.now.
7462        This is updated at the top of do_something().
7463        If you're doing something that requires high resolution
7464        (e.g. NET_XFER_SET_POLL()) then call dtime() yourself.
7465
7466    client/
7467        *.C, *.h
7468
7469Rom    7 June 2005 (from Walt Gribben)
7470    - Adjust the logging functions so they do not randomly write outside
7471        the scoped area defined for spacing which might cause random crashes
7472
7473    lib/
7474        msg_log.C
7475
7476David  7 June 2005
7477    - core client: store the overall work fetch urgency in
7478        CLIENT_STATE::overall_work_fetch_urgency,
7479        and don't pass it around as an argument
7480    - add PROJECT::downloading(): true if the project
7481        has a result in state RESULT_FILES_DOWNLOADING
7482    - got rid of "old" argument to CLIENT_STATE::next_project_need_work()
7483    - CLIENT_STATE::compute_work_requests():
7484        return value is an error code, not overall urgency.
7485
7486    client/
7487        client_state.h
7488        client_types.C,h
7489        cs_scheduler.C
7490        scheduler_op.C,h
7491
7492David  7 June 2005
7493    - code cleanup: use new functions (like RESULT::runnable() etc.)
7494        instead of inspecting member variables (like suspended_via_gui)
7495    - Added RESULT::runnable_soon(): true iff result is
7496        downloading or runnable, not suspended, project not suspended
7497    - fix bug in Rom's last checkin (Rom, please verify)
7498
7499    client/
7500        client_types.C,h
7501        cs_apps.C
7502        cs_scheduler.C
7503        scheduler_op.C
7504    lib/
7505        msg_log.C
7506        network.C,h
7507
7508David  7 June 2005
7509    - FILE_INFO::verify_file(): if a file fails verification,
7510        set its "status" field to the appropriate error code.
7511        This wasn't being done, so in most cases the
7512        core client would verify the file over and over.
7513
7514        This was exacerbated by a bug I introduced 7 months and 3 weeks ago
7515        (and fixed earlier today).
7516        In CLIENT_STATE::update_result() I had
7517
7518        if (now - last_time < 1.0) return false;
7519        last_time = 0;
7520
7521        It should be "now", not zero.  This caused pending input files to
7522        get checked 10 times a second, rather than once.
7523
7524    client/
7525        cs_files.C
7526
7527Rom    7 June 2005 (boinc_public)
7528    - Tag for 4.45a release, all platforms
7529      boinc_core_release_4_45a
7530
7531David  8 June 2005
7532    - core client: add constructor and destructor to NET_XFER,
7533        and have them close the file and/or socket if present.
7534        This should fix a bug where a file was left open
7535        in the case of a download failure,
7536        causing process creation failure later on.
7537
7538    client/
7539        app.C
7540        http.C
7541        net_xfer.C,h
7542        pers_file_xfer.C
7543
7544David  8 June 2005
7545    - API, Unix/Linux/Mac:
7546        Don't use a SIGALRM signal in the worker thread to get CPU time.
7547        It turns out that the signal handler is usually
7548        called in a different thread anyway,
7549        and getrusage() return CPU time for the entire process,
7550        so it doesn't matter what thread we call it from.
7551        Instead, just call getrusage() from the timer thread.
7552        (From J.R. Oldroyd and Bernd Machenschalk)
7553
7554    api/
7555        boinc_api.C
7556
7557David  8 June 2005
7558    - Added a new general preference: start/end hours for network communication
7559
7560    client/
7561        client_state.C,h
7562        cs_prefs.C
7563        prefs_file_xfer.C
7564    html/inc/
7565        prefs.inc
7566    lib/
7567        prefs.C,h
7568
7569David  8 June 2005
7570    - Check network start/end hours even if user_network_request is ALWAYS.
7571        Currently that's the default,
7572        and in fact there's no interface for changing it to AUTO.
7573    - CLIENT_STATE::scheduler_rpc_poll():
7574        check for master file fetch and user-requested scheduler RPCs
7575        before checking network_suspended flag.
7576        Otherwise the user might get into a state where their
7577        prefs don't allow network access (e.g. because of time-of-day),
7578        and they can't do an "update" to change the prefs
7579
7580    client/
7581        cs_prefs.C
7582        cs_scheduler.C
7583        win/
7584            wingui_mainwindow.cpp
7585
7586David  8 June 2005
7587    - bug fix in net stats calculation
7588        (from Glenn Dill)
7589    - refactor code so adjust_debts() is independent from schedule_cpus()
7590    - call adjust_debts() from quit_activities(), so that long-term debt
7591        updated and written to state file when exit core client
7592        (from Glenn Dill)
7593
7594    client/
7595        client_state.h
7596        cs_apps.C
7597        cs_benchmark.C
7598        net_stats.C
7599
7600David  9 June 2005
7601    - Changed variable names from "work_done" to "wall_cpu_time";
7602        it's important to emphasize that debt accounting
7603        is done on the basis of how long a process is running,
7604        NOT how much CPU time it actually or reportedly got.
7605    - don't count non-CPU-intensive apps in calculation of
7606        total_wall_cpu_time_this_period
7607    - fixed crash if you run core client with -attach_project X
7608
7609    client/
7610        client_state.C,h
7611        client_types.C,h
7612        cs_apps.C
7613        cs_cmdline.C
7614
7615David  10 June 2005
7616    - Fixed major goof in last checkin:
7617        caused all debt calculations to be no-op
7618    - Manager: in "status" column of Projects tab,
7619        show all relevant info, comma-separated
7620
7621    client/
7622        cs_apps.C
7623    clientgui/
7624        ViewProjects.cpp
7625
7626David  10 June 2005
7627    - BOINC Manager: change things so that if user tries to
7628        attach to a project and it fails,
7629        an alert dialog shows up within a few seconds,
7630        saying what went wrong and what to do about it.
7631
7632    This involves several pieces:
7633
7634    - add a new core client message priority: MSG_ALERT.
7635        The accompanying message should be shown in an alert dialog.
7636    - CLIENT_STATE::add_project: show alert msg if URL or key is bad
7637    - project_add_failed(): add a "reason" argument,
7638        and show alert messages accordingly
7639    - change SCHEDULER_OP::check_master_fetch_start(), SCHEDULER_OP::poll()
7640        to call project_add_failed() with appropriate reason
7641    - CMainDocument::CachedMessageUpdate():
7642        scan new messages; if any are MSG_ALERT priority, show alert.
7643        Else append to main message vector.
7644    - CMainFrame::OnListPanelRender(): call pDoc->CachedMessageUpdate().
7645        This is the easiest way I could find of checking new messages
7646        every 5 seconds, even when not in the Messages tab.
7647
7648    NOTE: there's one piece I didn't do.
7649    When the Manager connects to a core client with some ALERT messages
7650    already in its message log, it probably shouldn't show alerts for them.
7651    Rom, please figure out how to do this.
7652
7653    client/
7654        client_msgs.h
7655        cs_account.C
7656        gui_rpc_server.C
7657        main.C,h
7658        scheduler_op.C
7659        win/
7660            wingui_mainwindow.cpp
7661    clientgui/
7662        MainDocument.cpp,h
7663        MainFrame.cpp
7664        ViewMessages.cpp
7665    lib/
7666        gui_rpc_client.h
7667
7668David  11 June 2005
7669    - changed project_add_failed() to a member function of PROJECT
7670        (PROJECT::attach_failed).
7671        Move code out of main.C,h
7672    - Removed special project_add_failed() from Win GUI code.
7673
7674    client/
7675        client_types.h
7676        cs_account.C
7677        main.C,h
7678        scheduler_op.C
7679        win/
7680            wingui_mainwindow.cpp
7681
7682David  11 June 2005
7683    - CLIENT_STATE::find_project_with_overdue_result():
7684        need to convert work_buf_min_days to seconds
7685        (from Jim Harris)
7686
7687    client/
7688        cs_scheduler.C
7689
7690David  12 June 2005
7691    - In language names in .po files,
7692        use HTML special characters (e.g. &agrave;)
7693        instead of non-ASCII characters
7694    - user web: fix bug in language select page (from Jens)
7695    - db_dump: don't exit if user lookup fails
7696    - change wording of user-name lookup: "starts with", not "contains"
7697
7698    html/
7699        language/translations/
7700            ca.po
7701        user/
7702            language_select.php
7703            user_search_action.php
7704    sched/
7705        db_dump.C
7706
7707
7708Rom    13 June 2005
7709    - Code clean for the Manager
7710    - Added two new HTTP_STATUS constants, but haven't done anything with
7711      them yet.
7712    - The title of the account manager dialog is the name of the
7713      organization managing the accounts.
7714
7715    client/
7716        http.C
7717        scheduler_op.C
7718    clientgui/
7719        BOINCBaseView.cpp, .h
7720        BOINCTaskBar.cpp
7721        MainDocument.cpp, .h
7722        MainFrame.cpp
7723        ViewMessages.cpp
7724        ViewProjects.cpp, .h
7725        ViewResources.cpp
7726        ViewStatistics.cpp
7727        ViewTransfers.cpp
7728        ViewWork.cpp
7729
7730David  13 Jan 2005
7731    - Add code (in TIME_STATS) to compute a quantity "cpu_efficiency".
7732        This is the ratio between CPU time accumulated by BOINC apps
7733        and the wall time those apps are scheduled at the OS level.
7734        It may be less than one if
7735        1) apps page or do I/O
7736        2) other CPU-intensive apps run
7737
7738        This is computed with a 1-day exponential smoothing.
7739
7740        For now, we're just computing this.
7741        At some point we'll use it to estimate how long will take.
7742
7743        (from Glenn Dill)
7744
7745    client/
7746        client_state.h
7747        cs_apps.C
7748        time_stats.C,h
7749
7750David  13 June 2005
7751    - bug fix in Manager: can't pass a std::string to printf(%s)
7752
7753    clientgui/
7754        ViewWork.cpp
7755
7756David  13 June 2005
7757    - get Manager to compile on Windows:
7758        - can't do DynamicCast stuff for non-wx objects
7759        - don't bother doing both ASSERT(p) and if(p).
7760            Better yet, don't do either
7761
7762    clientgui/
7763        BOINCTaskBar.cpp
7764        ViewMessages.cpp
7765        ViewProjects.cpp
7766        ViewResources.cpp
7767        ViewStatistics.cpp
7768        ViewTransfers.cpp
7769        ViewWork.cpp
7770
7771David  13 June 2005
7772    - core client: estimate CPU time to completion of an active result
7773        as a weighted average of estimates based on
7774        1) the workunit's flops count
7775        2) the current reported CPU time and fraction done,
7776        weighted by the fraction done.
7777        This gives better estimates for apps that don't
7778        estimate their fraction done well (e.g. SETI@home).
7779        It should eliminate a behavior where the client gets 1 result,
7780        starts running it, and immediately requests more work.
7781    - core client: fix bug where we'd to a master file fetch
7782        after every scheduler RPC
7783    - core client: show messages when downloading master page,
7784        and when it succeeds or fails
7785
7786    NOTE: I was seeing a bug where each file transfer would fail
7787    immediately with a CONN_REFUSED error (10061 on Win),
7788    but would succeed on retry.
7789    This went away when I changed the settings on my
7790    Symantec Personal Firewall to not check outgoing connections.
7791    Seems like a bug in Symantec to me.
7792
7793    client/
7794        app.C
7795        cs_account.C
7796        net_xfer.C
7797        scheduler_op.C
7798
7799David  13 June 2005
7800    - core client: don't reset projects on major version change
7801
7802    client/
7803        client_state.C
7804
7805David  14 June 2005
7806    - core client: use "potentially runnable resource share"
7807        instead of "total resource share" in several places:
7808        - estimating how long a project's work will take
7809        - how many CPUs a project should occupy
7810        - the "resource share fraction" reported to schedulers
7811
7812        The idea: if a process is not potentially runnable
7813        (e.g. because it's suspended by user)
7814        it's not going to get CPU time,
7815        so it shouldn't be included in resource share calculations.
7816        (suggested by Jim Harris)
7817    - rename CLIENT_STATE::ettprc() to time_until_work_done();
7818        add a "subset resource share" parameter
7819    - get rid of the global variable "trs" (total resource share)
7820    - make proj_min_results() a member of CLIENT_STATE,
7821        remove the "ncpus" param, and add a "subset resource share" param
7822    - CLIENT_STATE::avg_proc_rate() now computes processing rate
7823        across all projects
7824    - Multiply by TIME_STATS::cpu_efficiency in avg_proc_rate()
7825    - add functions runnable_resource_share() and
7826        potentially_runnable_resource_share() to CLIENT_STATE
7827    - set_cpu_scheduler_modes(): remove "* ncpus" from
7828         if (frac_booked > MAX_CPU_LOAD_FACTOR * up_frac * ncpus)
7829         (John: is this right?)
7830
7831    Note: in some cases (e.g. if the work-fetch policy has
7832    decided to get work only for 1 or 2 project),
7833    the set of projects used in resource share calculations
7834    should be smaller than the potentially runnable ones.
7835    It's not clear how to do this.
7836
7837    client/
7838        client_state.C,h
7839        cs_apps.C
7840        cs_data.C
7841        cs_scheduler.C
7842
7843David  14 June 2005
7844    - code to get phys/virt memsize, NCPUs, OS name on HPUX
7845        (from Lars Bausch)
7846
7847    client/
7848        hostinfo_unix.C
7849
7850Jeff  14 June 2005
7851    - fixed a bug in the feeder code that handles the mod(result id)
7852      functionality.
7853
7854    sched/
7855        feeder.C
7856
7857David  14 June 2005
7858    - web: the XML variant of show_user.php now allows the
7859        user to be identified either by ID or authenticator.
7860        In the latter case, the output includes a list of the user's hosts.
7861
7862    html/
7863        inc/
7864            xml.inc
7865        user/
7866            show_user.php
7867
7868David  14 June 2005
7869    - avoid divide by zero in CPU efficiency calc
7870        (from John McLeod)
7871
7872    client/
7873        time_stats.C
7874
7875David  15 June 2005
7876    - Fixed pernicious API bug:
7877        boinc_get_init_data() was copying the APP_INIT_DATA structure,
7878        which contains a char*.
7879        This produced 2 pointers to the same string,
7880        and both pointers could eventually get free()d.
7881        Solution: overload = and define a copy constructor for APP_INIT_DATA
7882    - fixed minor bug in forum code:
7883        rounding of ratings was wrong in the negative case
7884
7885    html/inc/
7886        forum.inc
7887    lib/
7888        app_ipc.C,h
7889
7890David  15 June 2005
7891    Scheduler changes:
7892
7893    - renamed set_cpu_scheduler_modes() to set_scheduler_modes()
7894    - in set_scheduler_modes(), moved result checks that
7895        don't involve EDF simulation out of the loop that does EDF simulation.
7896    - in set_scheduler_modes(), change logic so that booked_to
7897        is in units of wall time, not CPU time.
7898        Makes things clearer.
7899    - removed the frac_booked logic from set_scheduler_modes().
7900        I don't think this is correct.
7901        e.g. result A has deadline 1, CPU 1; result B has deadline 2, CPU 1.
7902        Then frac_booked would be 1.5, but we can meet both deadlines
7903    - renamed MAX_CPU_LOAD_FACTOR to CPU_PESSIMISM_FACTOR
7904
7905    client/
7906        cs_scheduler.C
7907
7908David  15 June 2005
7909    - Add host id, host_cpid to XML output of show_user.php
7910
7911    html/inc/
7912        xml.inc
7913
7914Rom    15 June 2005
7915    - Due to the previous app_ipc.C change only the project preferences
7916        were being copied, so expand on the previous check-in and copy the rest
7917        of the APP_INIT_DATA data.
7918
7919    lib/
7920        app_ipc.C,h
7921
7922Charlie    16 June 2005
7923    - Replace Mac BOINCManager icons with new ones contributed by Juho Viitasalo
7924
7925    client/
7926        mac/
7927            BOINCMgr.icns
7928
7929David  16 June 2005
7930    - use memcpy() in APP_INIT_DATA::copy()
7931
7932    lib/
7933        app_ipc.C
7934
7935Rom    16 June 2005
7936    - Modify Account Manager interface two incorporate an additional dialog.
7937      There is now a dialog for when you have already signed up with an
7938      account manager, and one for when you need to provide account
7939      manager informaton.  Modifing the dialogs should happen from MainFrame.cpp
7940      since the Dlg* files are autogenerated by DialogBlocks.
7941    - Apparently, some languages do not like time to be dual purposed, so
7942      change time to elapsed time for transfers.
7943
7944    clientgui/
7945        BOINCGUI.pjd
7946        DlgAccountManager.cpp, .h (Removed)
7947        DlgAccountManagerSignup.cpp, .h (Added)
7948        DlgAccountManagerSStatus.cpp, .h (Added)
7949        Events.h
7950        MainFrame.cpp, .h
7951        ViewTransfers.cpp
7952
7953David  16 June 2005
7954    - validate account manager URL before trying to do RPC
7955    - generate MSG_ALERT messages for account manager RPCs
7956        (success or failure).
7957
7958    client/
7959        acct_mgr.C
7960
7961David  17 June 2005
7962    - scheduler: handle_msgs_from_host():
7963        if insert into msgs_from_host table fails,
7964        don't acknowledge messages
7965        (from Ian Hay)
7966
7967    sched/
7968        handle_request.C
7969
7970David  17 June 2005
7971    - BOINC manager: get rid of
7972        CMainDocument::IsAccountManagerFound() etc.
7973
7974    clientgui/
7975        MainDocument.cpp,h
7976        MainFrame.cpp
7977
7978David  17 June 2005
7979    - Run CPU on the same # of CPUs that BOINC will use,
7980        reflecting global preferences.
7981        (from Glenn Dill)
7982
7983    client/
7984        cs_benchmark.C
7985        cs_scheduler.C
7986
7987Rom    17 June 2005
7988    - Per community request, after verifing that the _CrtMemBlockHeader structure
7989      is the same in VS 2005 I've adjusted stackwalkers requirements so that
7990      BOINC can be built with VS 2005.
7991
7992    lib/
7993        stackwalker.h
7994
7995Charlie    18 June 2005
7996    - Fix XCode project to use gcc 3.3 compiler for bnackward compatibility
7997      with systems 10.3.0 through 10.3.8 as well as 10.3.9 and later.
7998    - Use pre-built special config.h for Macintosh (don't require running
7999      autoconf.)
8000    - Modify version.h so PACKAGE_STRING is defined for Mac as well as Windows.
8001      make this chaneg iin version.h.in so it will be retained when version.h
8002      is rebuilt by configure process.
8003
8004    clientgui/
8005        mac/
8006            config.h (added)
8007    version.h
8008    version.h.in
8009
8010David  18 June 2005
8011    - CLIENT_STATE::set_scheduler_modes():
8012        Remove EDF simulation.
8013        Instead, simulate weighted round-robin,
8014        and if a deadline is missed, use EDF
8015    - Remove PROJECT::exp_avg_cpu, PROJECT::exp_avg_mod_time.
8016        This was an attempt, introduced a while back but never used,
8017        to improve estimates of result CPU time.
8018        It's fatally flawed because it assumes all results
8019        from a project are the same #FLOPs.
8020        It will soon be replaced by a better mechanism.
8021
8022    client/
8023        client_types.C,h
8024        cs_apps.C
8025        cs_scheduler.C
8026
8027David  18 June 2005
8028    - Add a per-project "duration correction factor" used
8029        to scale the estimated CPU time of a result.
8030        This should improve the accuracy of predictions of how much
8031        CPU time results will take,
8032        which should improve the effectiveness of the CPU scheduling
8033        and work fetch policies,
8034        and will also cause schedulers to send more appropriate
8035        amounts of work (once we modify the scheduler)
8036        (from John McLeod)
8037
8038    client/
8039        client_types.C,h
8040        cs_apps.C
8041        cs_scheduler.C
8042
8043David  18 June 2005
8044    - don't let cpu_efficiency become negative.
8045        Somehow it was -1 on my machine and that hosed everything
8046
8047    client/
8048        cs_scheduler.C
8049        time_stats.C
8050
8051David  18 June 2005
8052    - Refine the round-robin simulation added earlier today
8053        to model multiple CPUs.
8054    - Fix bug in update of duration_correction_factor
8055
8056    (both from John McLeod)
8057
8058    client/
8059        client_types.C
8060        cs_scheduler.C
8061
8062David  19 June 2005
8063    - bug fix in scheduler
8064        (from Glenn Dill)
8065
8066    client/
8067        cs_scheduler.C
8068
8069David  19 June 2005
8070    - work-fetch policy:
8071        if fetching work would cause deadlines to be missed
8072        (based on round-robin simulation) then don't fetch work
8073    - factor simulations of EDF and round-robin
8074        into separate functions
8075
8076    client/
8077        client_state.h
8078        cs_scheduler.C
8079
8080David  19 June 2005
8081    - change normalization of short-term debt so average (not min) is zero
8082
8083    client/
8084        cs_apps.C
8085        cs_scheduler.C
8086
8087Rom    19 June 2005
8088    - Checkin the rest of the Account Manager updates to the UI.
8089
8090    clientgui/
8091        BOINCGUI.pjd
8092        DlgAccountManagerStatus.cpp, .h
8093        MainDocument.cpp, .h
8094        MainFrame.cpp
8095    lib/
8096        acct_mgr_client.C, .h
8097
8098David  20 June 2005
8099    - Wrote version 3 of the round-robin scheduling simulator
8100        (used to decide whether to enter EDF more,
8101        and whether to suspend work fetch).
8102        This version (CLIENT_STATE::rr_misses_deadline())
8103        models the fact that when all the work for a project is finished,
8104        the fractional resource share of other runnable projects increases.
8105        So, e.g., a few short results and one long one,
8106        which almost saturates the CPU, is feasible.
8107
8108    client/
8109        client_state.h
8110        client_types.h
8111        cs_apps.C
8112        cs_scheduler.C
8113
8114David  21 June 2005
8115    - Account management: move responsibility for the
8116        acct_mgr_url.xml and acct_mgr_login.xml files
8117        from the manager to the core client.
8118        Do this because only the core client knows when an
8119        account manager RPC has succeeded;
8120        unless this happens, these files should not be changed.
8121
8122        Add new type ACCT_MGR_INFO to core client
8123        (member of CLIENT_STATE).
8124        Read files on startup.
8125        When acct manager RPC succeeds, write files.
8126    - Add new GUI RPC for getting acct manager info
8127    - Manager: for "Manage Accounts", get account manager info via RPC,
8128        then decide what dialogs to put up.
8129    - Message types (replace MSG_ALERT):
8130        MSG_ALERT_ERROR shows an error alert
8131        MSG_ALERT_INFO shows an info alert
8132    - Show on info alert when acct mgr RPC succeeds
8133    - Manager: get rid of CMainDocument::UpdateAccountManagerAccounts()
8134        (???)
8135
8136    client/
8137        acct_mgr.C,h
8138        client_msgs.h
8139        client_state.C,h
8140        cs_account.C
8141        file_names.h
8142        gui_rpc_server.C
8143        main.C
8144    clientgui/
8145        MainDocument.cpp,h
8146        MainFrame.cpp
8147    lib/
8148        acct_mgr_client.C,h (removed)
8149        gui_rpc_client.C,h
8150    win_build/
8151        BOINCGUI.vcproj
8152
8153David  21 June 2005
8154    - GUI principle for manager:
8155        For any user action that can potentially fail
8156        (project attach, acct mgr update)
8157        ALWAYS show an alert when the action is finished.
8158        E.g. show "Attach succeeded" if an attach succeeds.
8159        Don't require users to look in Messages for outcome.
8160    - Add a "show_alerts" argument to add_project().
8161        Says whether to show alert when attach succeeds or fails.
8162        True for attaches via GUI,
8163        false for others (e.g. account manager attaches)
8164    - SCHEDULER_OP::backoff(): if account is tentative,
8165        call attach_failed().
8166
8167    client/
8168        acct_mgr.C
8169        client_state.h
8170        client_types.h
8171        cs_account.C
8172        cs_cmdline.C
8173        gui_rpc_server.C
8174        scheduler_op.C
8175    clientgui/
8176        MainDocument.cpp
8177
8178David  21 June 2005
8179    - Unix compile fixes
8180
8181    client/
8182        main.C
8183    clientgui/
8184        Makefile.am
8185    lib/
8186        Makefile.am
8187
8188David  21 June 2005
8189    - Manager: don't reenter message-display code
8190        (else can show same msg or alert twice)
8191
8192    clientgui/
8193        MainWindow.cpp
8194
8195David  21 June 2005
8196    - scheduler: when handling results, if any of them fails the
8197        sanity checks (e.g. it was already returned)
8198        then don't update the transition time of the corresponding WU
8199
8200    db/
8201        boinc_db.C
8202    sched/
8203        handle_request.C
8204
8205David  21 June 2005
8206    - core client: round-robin simulator wasn't excluding
8207        non-CPU-intensive projects
8208        (from John McLeod)
8209    - scheduler: comment out transaction stuff.
8210        It's not clear what this does, or if we want it.
8211
8212    client/
8213        cs_scheduler.C
8214
8215David  21 June 2005
8216    - scheduler: don't send acks for results for which DB update failed
8217        (from Ian Hay)
8218    - change result_acks vector from RESULT to std::string
8219    - scheduler: fix workunit update query empty case
8220        (from Bruce Allen)
8221
8222    db/
8223        boinc_db.C
8224    sched/
8225        handle_request.C
8226        server_types.C,h
8227
8228David  21 June 2005
8229    - add_project(): set sched_rpc_pending so we always do
8230        a scheduler RPC even if not fetching work
8231    - win compile fixes
8232
8233    client/
8234        cs_account.C
8235    client/win/
8236        wingui_mainwindow.cpp
8237
8238Rom    22 June 2005
8239    - Remove code that causes the CC to block on network requests, the
8240      dial-up functionality is being moved into the manager
8241    - Add global preferences to the get_state GUI RPC and remove the
8242      proxy_info from get_state since proxy_info has two RPC's of it's
8243      own.
8244    - Add a frequency reminder slider to the Tools/Option dialog so we
8245      don't repeatedly spam the user with connection requests.
8246    - Remove the DlgConnection dialog since we are going to use a
8247      message box instead
8248    - Add prefs.C to various project files for Windows.
8249    - Remove some unused headers from stdwx.h
8250
8251    client/
8252        cs_statefile.C
8253        net_xfer.C
8254    clientgui/
8255        BOINCGUI.pjd
8256        BOINCGUIApp.cpp
8257        DlgOptions.cpp, .h
8258        MainFrame.cpp
8259        stdwx.h
8260        DlgConnection.cpp, .h (Removed)
8261    lib/
8262        app_ipc.C
8263        gui_rpc_client.C, .h
8264        network.C, .h
8265        prefs.C, .h
8266    win_build/
8267        BOINCGUI.vcproj
8268        boinc_guirpc_test.vcproj
8269        boinc_ss.vcproj
8270
8271Charlie    22 June 2005
8272    Mac: Update build instructions for pre-built config.h file,
8273    using gcc 3.3 compiler, etc.
8274    Added lib/prefs.C to builds of BOINC Manager, screen saver.
8275
8276    mac_build/
8277        HowToBuildBOINC_XCode.rtf
8278        boinc.pbproj/
8279            project.pbxproj
8280
8281David  22 June 2005
8282    - API: Don't call app_init_graphics() until we've created GL context
8283        (Windows)
8284        (From Eric Myers)
8285
8286    api/
8287        graphics_api.h
8288        windows_opengl.C
8289    sched/
8290        sched_send.C
8291
8292David  22 June 2005
8293    - Add two new GUI RPCs that let the Manager be in charge of
8294        opening and closing modem connections.
8295
8296        network_query() returns true if the CC wants a network connection,
8297            or is currently using one.
8298            NOTE: wait to get false twice (with a few seconds delay)
8299            before closing a connection
8300
8301        network_available() tells the CC that a connection is available,
8302            and that it should do all the network activity it can.
8303
8304        These are relevant only on Windows.
8305
8306        Implementation:
8307        - CLIENT_STATE has a new member, bool want_network_flag.
8308            If the CC tries to create a network connection and
8309            there's no physical connection, it sets this.
8310        - network_query() return true is want_network_flag is set
8311            or there an HTTP_OP.
8312        - network_available() resets all backoff timers
8313            (of PERS_FILE_XFERs and PROJECTs) to zero,
8314            so everything will be retried immediately.
8315
8316    client/
8317        client_state.C,h
8318        gui_rpc_server.C
8319        http.C,h
8320        net_xfer.C
8321    lib/
8322        gui_rpc_client.C,h
8323        network.C
8324
8325David 23 June 2005
8326    - server: handle the new fields
8327        "cpu_efficiency": for each wall-clock second that
8328            a BOINC app runs, how much CPU time does it get?
8329        "duration_correction_factor": ratio between actual CPU time
8330            and FLOPs-based estimate.
8331        1) parse them in scheduler request
8332        2) store them in DB host record
8333        3) use them in estimating result duration
8334
8335    - show fields in web page for host
8336
8337    NOTE: this change requires a database update.
8338    See html/ops/db_update.php
8339
8340    db/
8341        boinc_db.C,h
8342    html/
8343        ops/
8344            db_update.php
8345        inc/
8346            host.inc
8347    sched/
8348        handle_request.C
8349        sched_send.C
8350        server_types.C
8351
8352Charlie    23 June 2005
8353    Mac: add a separate icon for Mac menu bar.
8354
8355    clientgui/
8356        mac/
8357            MacSysMenu.cpp
8358        res/
8359            boinc_mac.xpm (new)
8360
8361Janus    23 June 2005
8362   - Added translation functions for cached pages
8363     The data from SQL queries is saved in the cache directory on the server
8364     and is reused to display the information again and again - even in
8365     different languages.
8366   - Used the above feature to make the top_user page translatable
8367     (could someone please do the work to also make top_teams and top_hosts
8368     translatable like this?)
8369   - Added the new tokens to the english language file
8370
8371    html/
8372        inc/
8373            user.inc
8374            cache.inc
8375        languages/translations
8376            en.po
8377        user/
8378            top_users.php
8379
8380David  23 June 2005
8381    - Add new API calls so that optimized apps can claim credit more accurately:
8382
8383        boinc_fpops_per_cpu_sec()
8384            Report results of app-specific benchmarks
8385        boinc_fpops_cumulative()
8386            Report total FP operations so far in this result
8387
8388        These are stored by the API library and passed to the core client
8389        in status messages.
8390        The core client stores them in the RESULT and sends them to server
8391    - scheduling server: assign claimed credit based on
8392        fpops_per_cpu_sec or fpops_cumulative if present
8393    - remove compile warnings
8394
8395    api/
8396        boinc_api.C,h
8397    client/
8398        acct_mgr.C
8399        client_state.h
8400        client_types.C,h
8401        cs_apps.C
8402        gui_rpc_server.C
8403    db/
8404        boinc_db.h
8405    doc/
8406        api.php
8407    sched/
8408        handle_request.C
8409        sched_shmem.C
8410        server_types.C
8411
8412David  24 June 2005
8413    - attempt to fix bug on multiprocessors running Red Hat 9
8414        (and maybe others)
8415        where shared-memory segment names were all returning -1
8416        (and multiple tasks where using same seg!!).
8417        The problem: we were using the path of the init data file
8418        to generate the key (using ftok)
8419        but doing this before creating the file.
8420
8421    client/
8422        app_start.C
8423
8424Rom    24 June 2005
8425    - Initial checkin of Dial-up connection support for service and shared
8426        install states.  Prompting for connect/disconnect requests is now
8427        handled in the manager instead of the CC so the CC won't lock up
8428        when configured to confirm before connect.
8429
8430        When multiple ISP's are detected but none are defined as the default
8431        another dialog will appear giving you a choice as to which ISP to
8432        use.
8433
8434        If the manager is hidden then the taskbar will display a balloon
8435        stating that BOINC needs to connect and by opening the BOINC
8436        manager you'll be able to connect up and update all projects.
8437    - Added an 'Update All' button to the projects tab.
8438    - More manager code clean-up
8439    - Make alerts show up as a balloon if the manager is hidden.  Model
8440        dialogs can be annoying when your typing an email or document and
8441        it pops up right in front of the document.  What is even worse is
8442        if you are typing and dismiss the dialog before you have even had a
8443        chance to look at it.  The balloons show up in the lower right hand
8444        corner and automatically go away after 5 seconds or so.
8445    - If alerts already exist in the message queue when you connect up
8446        to a remote computer, ignore them.
8447
8448    client/
8449        net_xfer.C
8450    clientgui/
8451        BOINCBaseView.cpp
8452        BOINCGUIApp.h
8453        BOINCTaskBar.h
8454        Events.h
8455        MainDocument.cpp, .h
8456        MainFrame.cpp, .h
8457        ViewProjects.cpp, .h
8458        ViewTransfers.cpp
8459        ViewWork.cpp
8460
8461David  24 June 2005
8462    - Bug fix in round-robin simulator:
8463        If N is the # of CPUs, and a project has M < N runnable results,
8464        its per_cpu_proc_rate should be scaled by N/M.
8465        (Thanks to John McLeod for identifying this error)
8466
8467    client/
8468        cs_scheduler.C
8469
8470David  24 June 2005
8471    - Doh!  My checkin earlier today for the Red Hat 9 problem
8472        was wrong, and screwed things up on all platforms.
8473        Fixed now, and the Red Hat problem fixed a different way
8474
8475    client/
8476        app_start.C
8477        win/
8478            wingui_mainwindow.cpp
8479
8480David  24 June 2005
8481    - API library: potential bug:
8482        if the core client sends a "quit" message that is handled
8483        (by the timer handler) while the worker thread is
8484        in the middle of checkpointing,
8485        the result could be an incomplete checkpoint,
8486        which in general screws up the result.
8487        Same problem exists if the app exits due to no CC heartbeat
8488        while a checkpoint is in progress.
8489
8490        Solution: if boinc_time_to_checkpoint() returns true,
8491        it sets a flag (checkpointing) that suppresses
8492        the handling of process control messages
8493        and the checking of heartbeat timeout.
8494        boinc_checkpoint_completed() clears the flag.
8495
8496        One consequence of this design:
8497        if boinc_time_to_checkpoint() returns true,
8498        you HAVE to checkpoint immediately.
8499        So don't call boinc_time_to_checkpoint() unless
8500        you're prepared to checkpoint.
8501
8502    api/
8503        boinc_api.C
8504
8505David  25 June 2005
8506    - scheduler: skip over <other_results>, <in_progress_results> elements
8507        without log message
8508    - API: don't use perror() for pthread errors
8509
8510    api/
8511        boinc_api.C
8512    sched/
8513        server_types.C
8514
8515David  25 June 2005
8516    - Fix to PROJECT::set_rrsim_proc_rate()
8517        (problem identified by John McLeod)
8518
8519    client/
8520        cs_scheduler.C
8521
8522David  25 June 2005
8523    - add an exit_status parameter to ACTIVE_TASK::abort_task.
8524        This may be either ERR_ABORTED_VIA_GUI or ERR_RSC_LIMIT_EXCEEDED
8525        Without this, results aborted for either reason
8526        end up with exit_status = ERR_RESULT_START
8527        (bug reported by Bruce Allen)
8528
8529    client/
8530        app.h
8531        app_control.C
8532        client_state.C
8533        gui_rpc_server_C
8534
8535David  25 June 2005
8536    - add "pessimism factor" of 0.9 to the round-robin simulation
8537        used to determine CPU sched and work fetch policies
8538
8539    client/
8540        cs_scheduler.C
8541
8542David  26 June 2005
8543    - scheduler: when handling a reported result,
8544        cap CPU time at now - sent_time.
8545        (from Rattledagger)
8546
8547        Note: this assumes that applications never use >1 CPU
8548        for non-graphical computation.
8549        Currently this is the case,
8550        but if it changes we need to rethink this check.
8551
8552    db/
8553        boinc_db.C,h
8554    sched/
8555        handle_request.C
8556
8557
8558David  26 June 2005
8559    - bug fix for the above
8560
8561    sched/
8562        handle_request.C
8563
8564David  26 June 2005
8565    - trigger transitioner when cancel WU, to set file delete
8566
8567    client/
8568        file_names.C
8569    html/ops
8570        cancel_wu_action.php
8571
8572Bruce  27 June 2005
8573    - when using locality scheduler, have transitioner or backend
8574      lib advertise data file when new result is created.
8575    - code organization: create new lib function boinc_touch_file()
8576      from code that was in locality scheduler module.
8577
8578    lib/
8579        filesys.C
8580        filesys.h
8581    tools/
8582        backend_lib.C
8583    sched/
8584        transitioner.C
8585        sched_locality.C
8586
8587David  27 June 2005
8588    - fix bug in Manager message display
8589        (can end up showing alerts over and over)
8590    - acct mgr: remove HTTP_OP from set when op finishes
8591
8592    client/
8593        acct_mgr.C
8594    clientgui/
8595        MainDocument.cpp
8596
8597David  27 June 2005
8598    - added new function escape_mysql_like_pattern(const char* in, char* out);
8599        if you're going to use a "like X" clause,
8600        call this function to escape the non-wildcard part of X.
8601        If it contains wildcard chars (%, _) this will put
8602        two (2) backslashes before each one,
8603        so that they don't get treated as wildcards
8604    - use the above function in sched_locality.C
8605        so that filename chars and our own __ separators
8606        don't get treated as wildcards
8607    - core client: when looking for account files, skip directories
8608
8609    client/
8610        cs_account.C
8611    db/
8612        db_base.C,h
8613    sched/
8614        sched_locality.C
8615
8616Charlie 28 June 2005
8617    Mac: Adapt code from Bernd Machenschalk to allow science apps to display
8618        application icons in Dock (when displaying graphics) and in Finder.
8619        Created small command-line utility MakeAppIcon_h (built by boinc
8620        XCode project) which converts a xxx.icns file to app_icon.h header
8621        file for use with new setMacIcon() api.
8622        Update build instructions with directions for using this new api.
8623
8624    api/
8625        mac_icon.C (new)
8626        make_app_icon_h.C (new)
8627    doc/
8628        mac_build.html
8629    mac_build/
8630        HowToBuildBOINC_XCode.rtf
8631
8632Bruce 28 June 2005
8633    - Added a php script grant_credit.php.  Running this will grant credit
8634      to users/hosts/teams for workunits that have been cancelled or have
8635      otherwise failed with some problem (error_mask!=0).  The script
8636      can be run multiple times without doing any harm.  Documentation
8637      contained within as a comment.
8638
8639    html/
8640        ops/
8641            grant_credit.php
8642
8643Rom    28 June 2005
8644    - Make the Dial-up functionality Windows only.
8645
8646    clientgui/
8647        BOINCGUI.pjd
8648        BOINCGUIApp.cpp, .h
8649        DlgOptions.cpp, .h
8650        MainFrame.cpp, .h
8651
8652David  28 June 2005
8653    - manager: fixed messages bug
8654
8655    cliengui/
8656        MainDocument.cpp
8657
8658David  28 June 2005
8659    - core client: if no projects on startup,
8660        print messages about how to attach
8661    - default general prefs: increase max CPUs, max disk limits
8662    - remove spurious "fetching work" messages
8663
8664    client/
8665        cs_scheduler.C
8666        main.C
8667    lib/
8668        prefs.C
8669
8670Bruce  28 June 2005
8671    - locality scheduler: make searches over file names distinguish
8672      lower case and upper case
8673    - locality scheduler: when searching for new work using advertised
8674      files, retry ten times before starting a deterministic search.
8675      We should probably modify this to try ALL advertised files in
8676      a random order before moving onto a deterministic search.
8677
8678    sched/
8679        sched_locality.C
8680
8681Rom    28 June 2005
8682    - Additional Dial-up work
8683    - Add space for description and hyperlink access to the
8684        DlgAccountManagerSignup dialog.
8685
8686    clientgui/
8687        BOINCGUI.pjd
8688        DlgOptions.cpp, .h
8689        DlgAccountManagerSignup.cpp, .h
8690        hyperlink.cpp, .h (Added)
8691        MainFrame.cpp
8692
8693
8694David  28 June 2005
8695    - Make it so that entering an empty string for the account manager URL
8696        clears info about existing account manager (URL, login files)
8697
8698        NOTE: in the course of debugging this I encountered
8699        the following;
8700
8701        std::string foo;
8702        ...
8703        foo = "";
8704
8705        and after single-stepping throught this (in VC++)
8706        foo was nonempty (a lengthy GUI-related string of some sort)
8707
8708        I eventually threw up my hands and changed the vars in question
8709        (struct ACCT_MGR_INFO) to char[256], and it works.
8710        But why didn't std::string work???
8711    - show both name and URL in acct mgr status dialog
8712
8713    client/
8714        acct_mgr.C,h
8715        gui_rpc_server.C
8716    clientgui/
8717        DlgAccountManagerSignup.cpp
8718        DlgAccountManagerStatus.cpp,h
8719        MainFrame.cpp
8720
8721David  28 June 2005
8722    - self-extracting archive includes boinc_cmd,
8723        and run_boinc passes cmdline args to core client
8724        (from Bernd Machenschalk)
8725
8726    sea/
8727        Makefile.am
8728
8729David  28 June 2005
8730    - scheduler server: parse duration_correction_factor correctly
8731        (it's not in time_stats)
8732
8733    sched/
8734        server_types.C,h
8735
8736Rom    28 June 2005
8737    - Okay this should be the last round of functional changes for
8738        dial-up functionality, there are probably some more bug fixes
8739        but they should be minor.
8740
8741      There is now a connections tab in the options dialog where
8742      the preferred network type can be configured as well as several
8743      types of dial-up connection parameters.
8744
8745    clientgui/
8746        BOINCGUI.pjd
8747        DlgDialupCredentials.cpp, .h (Added)
8748        DlgOptions.cpp, .h
8749        MainFrame.cpp, .h
8750        Makefile.am
8751
8752Rom    28 June 2005
8753    - Add UI to the manager that allows the user to specify network activity
8754      states similiar to that of the activity run modes.
8755
8756      network activity always available
8757      network activity based on preferences
8758      network activity suspended.
8759
8760    clientgui/
8761        MainFrame.cpp
8762
8763
8764David  28 June 2005
8765    - add ERR_NO_NETWORK_CONNECTION error code.
8766        Return this if can't connect to server because no network connection.
8767    - show boincerror(retval) instead of retval in a couple of messages.
8768        Should do this everywhere.
8769
8770    client/
8771        net_xfer.C
8772        scheduler_op.C
8773    lib/
8774        error_numbers.h
8775        util.C
8776
8777Rom    29 June 2005
8778    - Bug Fix: Check for update all and hangup conditions every ten seconds instead of
8779      every second.
8780    - Bug Fix: Only perform the update all and update all notification once.
8781
8782    clientgui/
8783        MainFrame.cpp
8784
8785Rom    29 June 2005
8786    - Bug Fix: Reset the notification timers when the modem looses connection in some
8787        random event or we successfully connect to the target network.
8788    - Bug Fix: Post a notification if the network connection disappears out from under
8789        us.
8790
8791    clientgui/
8792        MainFrame.cpp, .h
8793
8794Charlie 30 June 2005
8795    Mac: Added hyperlink.cpp/h to XCode project BOINC Manager target.
8796    Added "#ifdef __WXMSW__" to Dialog manager related calls in DlgOptions.cpp
8797
8798    clientgui/
8799        DlgOptions.cpp
8800    mac_build/
8801        boinc.pbproj/project.pbxproj (directory & file both removed)
8802
8803Rom    30 June 2005
8804    - Bug Fix: Change the method for determining connection status from being event
8805        driven to polling for the information, for some reason I stopped receiving
8806        CONNECT and DISCONNECT events from wxWidgets.
8807    - Bug Fix: Fix up a few more dial-up connection issues.
8808    - Bug Fix: Change the default value of prefs.confirm_before_connect from false
8809        to true.  In the event that the manager cannot connect up to the core client
8810        we don't want it to get stuck dialing and hanging up every few minutes.
8811    - Revert back to the original Windows icons on Windows.
8812    - Update the dialog template with David's recent changes to the Account Manager
8813        functionality.
8814
8815    clientgui/
8816        BOINCGUI.pjd
8817        DlgAccountManagerSignup.cpp, .h
8818        DlgAccountManagerStatus.cpp, .h
8819        MainFrame.cpp, .h
8820    lib/
8821        prefs.C
8822
8823Rom    1 July 2005
8824    - Remove the major version check from the scheduler.
8825
8826    sched/
8827        handle_request.C
8828
8829Rom    4 July 2005
8830    - Add additional check for the min_core_version so that it also takes into
8831        account the major version as well.
8832    - Sync the schema.sql file with implementation.
8833
8834    db/
8835        schema.sql
8836    sched/
8837        handle_request.C
8838
8839Charlie 4 July 2005
8840    Mac: moved "#include <Carbon/Carbon.h>" before other includes as requested
8841    by Bernd Machenschalk to fix problem building from command-line using make.
8842    Updated installation instructions for Mac advanced GUI on web site.
8843
8844    clientgui/
8845        BOINCGUIApp.cpp
8846    doc/
8847        mac_advanced.php
8848
8849David  5 July 2005
8850    - Always show the reason for a scheduler RPC: either
8851        - requested by user
8852        - results due for reporting
8853        - fetching work
8854
8855        Implementation: add "reason" argument to init_op_project().
8856        Store in SCHEDULER_OP.
8857        This eliminates the need for must_get_work.
8858        Remove init_return_results().
8859    - handle RPC init errors (by backing off) in init_op_project(),
8860        NOT in the functions that call it (e.g. init_get_work()).
8861        We were backing off twice for the same error.
8862    - network_query GUI RPC: return false if network suspended by user
8863    - Manager: remove wxASSERT(fBuffer)
8864        from CViewReousrces::FormatDiskSpace().
8865        This causes crash if a project has zero disk usage.
8866        ?? Why is the amount of disk called "fBuffer"?
8867        ?? why is a PROJECT* called "resource"?
8868
8869    client/
8870        client_state.C
8871        cs_scheduler.C
8872        scheduler_op.C,h
8873    clientgui/
8874        ViewResources.cpp
8875
8876David  5 July 2005
8877    - prevent infinite loop in web (from Rob Ogilvie)
8878
8879    html/inc
8880        text_transform.inc
8881
8882David  5 July 2005
8883    - API: use signal instead of timer thread,
8884        so that suspend/resume logic will work.
8885        Also: block SIGALRM in graphics thread.
8886        We weren't doing this before,
8887        which could have caused CPU time reporting errors.
8888
8889        NOTE: this may break things on FreeBSD and OpenBSD.
8890        To remedy, uncomment the #define USE_TIMER_THREAD
8891
8892    api/
8893        boinc_api.C
8894        graphics_impl.C
8895
8896David  5 July 2005
8897    - scheduler: in estimating result duration,
8898        don't divide by resource share fraction.
8899        This assumes round-robin across all projects,
8900        which is no longer necessarily the case.
8901        (From John McLeod)
8902
8903    sched/
8904        sched_send.C
8905
8906Charlie 5 July 2005
8907    Mac: Integrated Hide of BOINCManager with close of main Manager window.
8908    Closing window hides Manager application, opening window (from menubar
8909    icon menu or from Dock menu) Shows application.  Hiding or showing
8910    application closes or opens window.  This eliminates having just the
8911    manager's menu bar pop up when a foreground application quits.
8912    Disable all application-specific menu items in Dock menu and menubar
8913    icon menu when a modal dialog is active.  This matches the disabling
8914    of items in the Manager's regular menus.
8915    Fixed bug where all items in menubar icon menu were disabled, which
8916    required clicking on the icon repeatedly.
8917
8918    clientgui/
8919        BOINCGUIApp.cpp
8920        BOINCTaskBar.cpp
8921        MainFrame.cpp, .h
8922        mac/
8923            MacSysMenu.cpp, .h
8924            SystemMenu.m
8925
8926Rom    5 July 2005
8927    - Make the projects compatible with Visual Studio 2005 Express
8928    - Bug Fix: Make sure that the manager successfully connected to an
8929        ISP before calling the network_available RPC to the CC.
8930
8931    client/
8932        client_state.C
8933        client_types.C
8934        main.C
8935        net_xfer.C
8936    client/win/
8937        boinc_cli.rc
8938        boinc_cmd.rc
8939        boinc_dll.rc
8940        boinc_ss.rc
8941        win_screensaver.cpp
8942    clientgui/
8943        DlgAbout.cpp
8944        DlgAccountManagerSignup.cpp
8945        DlgAccountManagerStatus.cpp
8946        DlgAttachProject.cpp
8947        DlgDialupCredentials.cpp
8948        DlgOptions.cpp
8949        DlgSelectComputer.cpp
8950        MainFrame.cpp
8951        stdwx.h
8952    lib/
8953        boinc_win.h
8954        msg_log.C
8955        parse.C
8956        stackwalker_win.cpp
8957
8958Rom    6 July 2005
8959    - Another fix that is needed to build BOINC with VS 2005 using the
8960        debug profile.
8961
8962    lib/
8963        diagnostics.h
8964
8965Rom    6 July 2005 (boinc_public)
8966    - Tag for 4.70 release, all platforms
8967      boinc_core_release_4_70
8968
8969Charlie 7 July 2005
8970    Mac installer: Installer used to set owner of all installed files
8971    and directories to 501 (BOINCManager, Core Client, Screen Saver
8972    and BOINC Data.)  Changed this to set ownership to current user if
8973    current user is member of group admin, otherwise use first member
8974    of group admin other than root.  Update installer version number
8975    to 4.70.
8976
8977    mac-installer/
8978        PostInstall.cpp
8979        BOINC.pmproj
8980
8981David  7 July 2005
8982    - Manager: fix for core client startup on Unix
8983        (From Bernd Machenschalk)
8984
8985    api/
8986        boinc_api.C
8987    clientgui/
8988        BOINCGUIApp.cpp
8989
8990Rom    7 July 2005
8991    - Fix numerious compile warnings when turning on /W4 for the Microsoft
8992        compilers.  This was done with VS 2003.  We are down to 100 or so
8993        warnings from 400 or so.
8994
8995    client/win/
8996        win_idle_tracker.cpp
8997        win_screensaver.cpp
8998    clientgui/
8999        BOINCTaskBar.cpp
9000        DlgAccountManagerSignup.cpp
9001        DlgAccountManagerStatus.cpp
9002        DlgDialupCredentials.cpp
9003        DlgOptions.cpp
9004        MainFrame.cpp, .h
9005        ViewMessages.cpp
9006        ViewProjects.cpp
9007        ViewResources.cpp
9008        ViewStatistics.cpp
9009        ViewTransfers.cpp
9010        ViewWork.cpp
9011    clientgui/msw/
9012        taskbarex.cpp
9013    lib/
9014        boinc_win.h
9015        diagnostics.C
9016        filesys.C
9017        gui_rpc_client.C
9018        msg_log.h
9019        stackwalker_win.cpp
9020
9021Rom    7 July 2005
9022    - Bug Fix: Reduce the amount of time the call to
9023        wxDialUpManager->IsAlwaysOnline takes by preloading the DLL in memory.
9024    - Bug Fix: Only check for an always on connection every 60 seconds.
9025    - Provide some more information about what various OS's report about the
9026        client machine as part of the message log. Some people are not aware of
9027        what hyperthreading does and how the various operating systems respond
9028        to detecting it.
9029
9030    client/
9031        client_state.C
9032    clientgui/
9033        MainFrame.cpp, .h
9034        stdwx.h
9035    lib/
9036        hostinfo.h
9037
9038Rom    8 July 2005
9039    - Cleanup the Account Manager Status dialog.
9040
9041    clientgui/
9042        BOINCGUI.pjd
9043        DlgAccountManagerStatus.cpp, .h
9044        MainFrame.cpp
9045
9046Rom    8 July 2005
9047    - Fix the issues with enabling precompiled headers on Windows and enable
9048        them.  Compile times on a 3Ghz machine goes from 4 mins and 5 seconds
9049        for all the components that are released to 1 min and 27 seconds.  On
9050        slower machines the performance increase should be more dramatic.
9051
9052      NOTE: You should choose 'rebuild solution' after sync'ing the source
9053        tree.
9054
9055      NOTE: If you are using Visual Studio to build your science applications
9056        you'll need to force include boinc_win.h when building libboincapi and
9057        libboinc.
9058
9059    client/win/
9060        stdafx.h
9061        win_service.cpp
9062    clientgui/
9063        stdwx.h
9064    lib/
9065        boinc_win.h
9066        diagnostics.C
9067        filesys.C
9068        gui_rpc_client.C
9069        network.C
9070        parse.C
9071        prefs.C
9072        stackwalker_win.cpp
9073        util.C
9074    win_build/
9075        BOINCGUI.vcproj
9076        RSAEuro.vcproj
9077        boinc_cli.vcproj
9078        boinc_dll.vcproj
9079        boinc_gui.vcproj
9080        boinc_guirpc_test.vcproj
9081        boinc_ss.vcproj
9082        upper_case.vcproj
9083
9084Bruce   10 July 2005
9085    - Add explicity leading path to URLs in a 'show user' function that is
9086      called from one of the ops pages.  Janus, I used URL_BASE rather
9087      than MASTER_URL (what's the distinction?).  Please confirm this.
9088
9089    html/
9090        inc/
9091            user.inc
9092
9093David  13 July 2005
9094    - use doubles for memory size calculation in HPUX,
9095        avoid 32-bit overflow (from Walt Gribben and Lars Bausch)
9096
9097    client/
9098        hostinfo_unix.C
9099
9100David  13 July 2005
9101    - BOINC icons for X11 (from Bernd Machenschalk)
9102
9103    sea/
9104        Makefile.am
9105        boincmanager.8x8.png
9106        boincmanager.16x16.png
9107        boincmanager.32x32.png
9108
9109David  14 July 2005
9110    - Scheduler: update the transition_time of the WU of a sent result
9111        (setting it to the report deadline)
9112        only if the report deadline is less than current transition_time
9113
9114        This fixes a bug that causes some WUs to go for several days
9115        without enough potentially successful results
9116        (from Bruce Allen)
9117
9118    sched/
9119        sched_send.C
9120
9121
9122David  14 July 2005
9123    - Improvement on the above.
9124        Set transition time (in SQL) to min of X and its current value.
9125        Avoid overwriting update that occurred
9126        between scheduler's read and update.
9127
9128    sched/
9129        sched_send.C
9130
9131Rom    14 July 2005
9132    - Make the requirements for precompiled headers on Windows optional.
9133
9134    api/
9135        boinc_api.C
9136        graphics_impl.C
9137        gutil.C
9138        reduce_lib.C
9139        reduce_main.C
9140        windows_opengl.C
9141    client/win/
9142        StdAfx.h
9143    lib/
9144        app_ipc.C
9145        boinc_cmd.C
9146        diagnostics.C
9147        exception.C
9148        filesys.C
9149        gui_rpc_client.C
9150        hostinfo.C
9151        md5_file.C
9152        mem_usage.C
9153        mfile.C
9154        miofile.C
9155        network.C
9156        parse.C
9157        prefs.C
9158        proxy_info.C
9159        shmem.C
9160        util.C
9161
9162Bruce  14 July 2005
9163    - Transitioner would not set a new WU transition time less
9164      than 24 hours away, to prevent thrashing.  But this delayed
9165      reissuing of new results.  For example if two results were
9166      issued a hours 17 and 18, and both timed out (no reply). At
9167      time 17+deadline the first would time out and a new result
9168      would be issued.  But then instead of setting the transition
9169      time to 18+deadline it would be set to 18+deadline+1 day.
9170
9171      To prevent thrashing I have fixed this so that if a transition
9172      time is in the past, I advance it by TWICE the amount it is late,
9173      but never less than 1 minute or more than 1 day.
9174
9175    - Ops pages: show unsent/in-progress results in purple.  For
9176      unsent results show create time rather than deadline.
9177
9178    sched/
9179        transitioner.C
9180    html/
9181        inc/
9182            db_ops.inc
9183
9184 if old results were both issued
9185
9186Rom    14 July 2005
9187    - Not all Windows machines support balloons, so if the manager is running on
9188        a machine that does not support balloons display a message box instead.
9189    - Display additional network control options on the taskbar menu.
9190
9191    clientgui/
9192        BOINCTaskBar.cpp
9193        MainFrame.cpp
9194
9195Rom    14 July 2005 (boinc_public)
9196    - Tag for 4.71 release, all platforms
9197      boinc_core_release_4_71
9198
9199David  17 July 2005
9200    - changed the semantics of "-one_pass" in the daemons
9201        Old: do one enumeration (typically 1000 items), then exit
9202        New: process items until an enumeration returns empty, then exit.
9203
9204        This is to support the performance-measurement stuff I'm doing,
9205        and is probably more useful anyway.
9206    - add -sleep_interval x option to feeder (x can be fractional)
9207        (needed for performance measurements)
9208    - add --batch option to scheduler
9209        Makes the scheduler handle an sequence of concatenated requests
9210        (needed for performance measurements)
9211    - compile fixes in client
9212
9213    client/
9214        app.C
9215        scheduler_op.C
9216    sched/
9217        assimilator.C
9218        db_purge.C
9219        feeder.C
9220        file_deleter.C
9221        main.C
9222        make_work.C
9223        transitioner.C
9224        validator.C
9225
9226David  17 July 2005
9227    - scheduler bug fixes for non-CPU-intensive
9228        (from John McLeod)
9229
9230    client/
9231        cs_scheduler.C
9232
9233Rom    17 July 2005
9234    - Windows project file cleanup
9235        Add a library for libboinc and libboinc_api and remove duplicate
9236        compilation from remain projects.
9237
9238    win_build/
9239        *.vcproj
9240        *.sln
9241
9242Rom    18 July 2005
9243    - Enable clipboard functionality on Linux by default.
9244
9245    /
9246        configure.ac
9247
9248Charlie 19 July 2005
9249    Mac: include Carbon.h in stdwx.h instead of MacGUI.pch as
9250    requested by Bern so command line build (using autoconf /
9251    make) works without using precompiled header.
9252    Add a "Run Script" Phase to builds of BOINCManager and Core
9253    Client in XCode project.  This creates a subdirectory named
9254    SymbolTables under the build directory, and copies the
9255    BOINCManager and Core Client executables there before they are
9256    stripped of symbols.  This is useful for analyzing crash reports
9257    from the field.  We can use the atos command line utility and
9258    these symbol files to convert addresses from the stack frames to
9259    symbols and line numbers in source files.
9260
9261    clientgui/
9262        stdwx.h
9263        mac/
9264            MacGUI.pch
9265    mac_build/
9266        boinc.pbproj/
9267            project.pbxproj
9268
9269David  19 July 2005
9270    - bug fix in zip code (from Carl C.)
9271
9272    zip/
9273        boinc_zip.cpp
9274
9275David  19 July 2005
9276    - API: support for RGB files (from Tolu)
9277
9278    api/
9279        Makefile.am
9280        gutil.C,h
9281        texture.C,h (new)
9282
9283David  20 July 2005
9284    - db_dump: write nusers, nhosts, nteams, total credit
9285        in tables.xml file
9286
9287    sched/
9288        db_dump.C
9289
9290David  20 July 2005
9291    - commented out some test code from upper_case.C
9292        This seemed to break test_uc.py
9293    - compile fix in zip
9294
9295    apps/
9296        upper_case.C
9297    lib/
9298        parse.C
9299    zip/
9300        boinc_zip.cpp
9301
9302David  20 July 2005
9303    - hosts_user.php: userid arg is present AND have cookie for user,
9304        treat as if logged in
9305
9306    html/user/
9307        hosts_user.php
9308
9309Bruce 21 July 2005
9310    - Sort users list of hosts by last rpc time received and add a
9311      corresponding table column.  David's going
9312      to clean this up to sort by any column.
9313    html/
9314        inc/
9315            host.inc
9316        user/
9317            hosts_user.php
9318
9319David  21 July 2005
9320    - Scheduler: if using locality scheduling,
9321        don't attach to shared memory
9322        (hence don't need to run feeder)
9323
9324    sched/
9325        main.C
9326
9327David  21 July 2005
9328    - Doh!! shared memory is needed anyway,
9329        e.g. for app and platform tables
9330
9331    sched/
9332        main.C
9333
9334Rom    21 July 2005
9335    - After a false start here is an update that should allow screen readers
9336        to read something useful.  The wxWidget documentation and sample are
9337        kinda stale and lead you believe that you have to define proxies for
9338        the various controls, but in fact you can enable the context help
9339        system in combination with the normal window name/title scheme and
9340        skip the proxy creation.  What started out being several hundred lines
9341        of code shrunk down to 20 or so lines of code.
9342
9343    clientgui/
9344        BOINCBaseView.cpp, .h
9345        BOINCGUIApp.cpp
9346        BOINCTaskCtrl.cpp, .h
9347        stdwx.h
9348        ViewMessages.cpp
9349        ViewProjects.cpp
9350        ViewResources.cpp
9351        ViewStatistics.cpp
9352        ViewTransfers.cpp
9353        ViewWork.cpp
9354
9355Charlie 21 July 2005
9356    - Remove wxRESIZE_BORDER and wxCLOSE_BOX from several dialog styles so
9357    modal dialogs are not resizeable and do not have a close box.
9358    NOTE: the Options Dialog is too narrow on the Mac, so I can not yet
9359    finalize this change for this dialog until Rom fixes it.
9360    - Mac: Fix problems with new "Run Script Phase" (see my 19 July changes.)
9361    Fix bug in menubar icon menu wich appeared only in deployment builds 4.70
9362    and 4.71; modify code so it is less dependent on exact implementation of
9363    wxTaskBarIcon's wxDockEventHandler().
9364
9365    clientgui/
9366        DlgAccountManagerStatus.h
9367        DlgAccountManagerSignup.h
9368        DlgOptions.h
9369        mac/
9370            MacSysMenu.cpp, .h
9371    mac_build/
9372        boinc.pbproj/
9373            project.pbxproj
9374
9375Rom    21 July 2005
9376    - Bug Fix: correct the control id's for the taskbar context menu which was
9377        using the control ids used by the main application instead of it's own.
9378
9379    clientgui/
9380        BOINCTaskBar.cpp
9381
9382David  21 July 2005
9383    - use SHM_R|SHM_W instead of 0666 in shmget().
9384        Apparently this is needed for HPUX.
9385        We did this before (Mar 31 2005) and immediately
9386        backed it out, so it's likely to break some other platform.
9387
9388    lib/
9389        shmem.C
9390
9391Rom    21 July 2005
9392    - Update the templates for the dialogs that DialogBlocks uses to maintain
9393        the various dialogs with by removing the resizing flag and close box
9394        flag.  Making changes directly on the source files without updating the
9395        templates just causes the loss of the change next time DialogBlocks
9396        is loaded.
9397    - Instead of specifically defining which flags are used, use
9398        wxDEFAULT_DIALOG_STYLE which is supposed to contain the defaults on a
9399        per platform basis.
9400
9401    clientgui/
9402        BOINCGUI.cst (Added)
9403        BOINCGUI.pjd
9404        DlgAbout.cpp, .h
9405        DlgAccountManagerSignup.cpp, .h
9406        DlgAccountManagerStatus.cpp, .h
9407        DlgAttachProject.cpp, .h
9408        DlgDialupCredentials.cpp, .h
9409        DlgOptions.cpp, .h
9410        DlgSelectComputer.cpp, .h
9411
9412Rom    21 July 2005
9413    - Start prototyping the new attach to project wizard.
9414      NOTE: It'll only be visible on debug builds for the time being.
9415
9416    clientgui/
9417        BOINCGUI.pjd
9418        DlgAbout.cpp, .h
9419        Events.h
9420        MainFrame.cpp, .h
9421        Makefile.am
9422        WizAttachProject.cpp, .h
9423    clientgui/res/
9424        attachprojectwizard.xpm
9425    clientgui/res/templates/
9426        wizard.png
9427    win_build/
9428        boincmgr.vcproj
9429
9430Charlie 22 July 2005
9431    - Fix reversed checking of Network Activity menu items in taskbar.
9432    - Mac: Update XCode project for use with Wxmac-2.6.1 (added IOKit
9433    Framework to BOINC Manager target.)
9434    - Update Build instructions for wxMac-2.6.1, more detailed info
9435    for building libraries and sceince projects.
9436
9437    clientgui/
9438        BOINCTaskBar.cpp
9439    doc/
9440        mac_build.html
9441    mac_build/
9442        HowToBuildBOINC_XCode.rtf
9443        boinc.pbproj/
9444            project.pbxproj
9445
9446Rom    22 July 2005
9447    - Enable scrollbars on the task pane
9448    - Only redraw the website buttons when a selection change event has
9449      occurred with the list pane.
9450
9451    clientgui/
9452        BOINCBaseView.cpp, .h
9453        BOINCTaskCtrl.cpp, .h
9454        ViewProjects.cpp
9455
9456Rom    22 July 2005
9457    - Fix the statistics buttons so that they show up again after the
9458        wxScrollWindow conversion.
9459    - Fix for wireless USB adapters so that connection request events
9460        happen even when InternetGetConnectedState returns a value
9461        indicating that the machine is not connected.
9462
9463    client/
9464        net_xfer.C
9465    clientgui/
9466        ViewStatistics.cpp
9467
9468Rom    22 July 2005 (boinc_public)
9469    - Tag for 4.72 release, all platforms
9470      boinc_core_release_4_72
9471
9472David  23 July 2005
9473    - fix compile warnings on Win
9474
9475    lib/
9476        hostinfo.C
9477        md5_file.C,h
9478        miofile.C
9479        network.C
9480
9481David  23 July 2005
9482    - API: change heartbeat mechanism so that instead of using time(0),
9483        it uses its own counter (incremented on interrupt).
9484        This avoid specious heartbeat timeout
9485        when user resets system clock.
9486        It should also fix problem where BOINC restarts
9487        after hibernation, app runs before core client,
9488        and it gets heartbeat timeout.
9489    - Core client: add "-no_gui_rpc" cmdline option.
9490        If present, don't create listening socket for GUI RPC.
9491        (Useful if bind() doesn't work).
9492    - shared memory: in shmget() mode, first try 0666;
9493        if that fails, try SHM_R|SHM_W
9494        This is just paranoia, in case 21/July checkin
9495        breaks some platform.
9496
9497    api/
9498        boinc_api.C
9499    client/
9500        client_state.C,h
9501        cs_cmdline.C
9502        gui_rpc_server.C,h
9503    lib/
9504        shmem.C
9505
9506Janus 23 July 2005
9507    - API: Compile error in the previous checkin due to undefined
9508        variable interrupt_time. I assume it should be interrupt_count.
9509    Please change if this isn't right...
9510
9511    /api/
9512       boinc_api.C
9513
9514Rom    24 July 2005
9515    - Fix the control positioning on platforms other than Windows.
9516
9517    clientgui/
9518        BOINCBaseView.cpp
9519        BOINCTaskCtrl.cpp
9520        ViewMessages.cpp
9521        ViewProjects.cpp
9522        ViewResources.cpp
9523        ViewStatistics.cpp
9524        ViewTransfers.cpp
9525
9526David  24 July 2005
9527    - If benchmarks fail (e.g. because an app doesn't exit)
9528        set a flag in state file and rerun on next startup
9529        (from John McLeod)
9530
9531    client/
9532        app_start.C
9533        client_state.h
9534        cs_benchmark.C
9535        cs_statefile.C
9536
9537David  25 July 2005
9538    - API: in start_worker_thread(), use pthread_sigmask()
9539        instead of sigprocmask() to block SIGALRM in the graphics thread.
9540        On Mac OS X, sigprocmask() blocks SIGALRM in all threads,
9541        which is not the intent.
9542        (From Bruce Allen)
9543
9544    api/
9545        graphics_impl.C
9546
9547
9548David  25 July 2005
9549    - core client: rewrite account file if GUI URLs change
9550
9551    client/
9552        cs_scheduler.C
9553
9554Charlie 25 July 2005
9555    - Mac installer: specifically quit core client if running in addition
9556    to quitting BOINC Manager, since cc may be running without manager.
9557
9558    mac_installer/
9559        PostInstall.cpp
9560
9561Rom    25 July 2005
9562    - Define the wizard page that'll actually handle the communication
9563        with the project server, or help diagnose a problem if it occurs.
9564
9565      NOTE: It is currently setup to simulate a proxy configuration error.
9566
9567    clientgui/
9568        BOINCGUI.pjd
9569        WizAttachProject.cpp
9570        WizAttachProject.h
9571    clientgui/res/
9572        wizfailure.xpm (Added)
9573        wizquestion.xpm (Added)
9574        wizsuccess.xpm (Added)
9575    clientgui/res/templates/
9576        wizfailure.gif (Added)
9577        wizquestion.bmp (Added)
9578        wizsuccess.gif (Added)
9579
9580David  26 July 2005
9581    - Core client: try DL/UL of replicated files
9582        in URL order listed by project, not random order.
9583        Einstein@home orders URLs by proximity to client.
9584        Left in randomization code but commented it out.
9585    - Shorten host info messages, and move to separate function
9586        (don't lengthen functions that are too large already)
9587    - fix small memory leak when using anon platform
9588
9589    client/
9590        client_state.C,h
9591        client_types.C
9592        cs_scheduler.C
9593        cs_statefile.C
9594
9595Jeff  26 July 2005
9596    - Allow multiple assimilators and file_deleters to run via
9597      modulus on WU id for the assimilator and WU and result
9598      id for the file_deleter.
9599
9600    sched/
9601        assimilator.C
9602        file_deleter.C
9603
9604Rom    26 July 2005
9605    - Provide a mechinism for the localization team to be able to
9606        localize the project defined buttons.
9607
9608    clientgui/
9609        ViewProjects.cpp
9610        Localization.cpp, .h (Added)
9611    locale/en_US/
9612        BOINC Manager.po, .mo
9613
9614David  27 July 2005
9615    - Add code to get swap space size on NetBSD
9616        (from Nikos Ntarmos)
9617
9618    client/
9619        hostinfo_unix.C
9620
9621David  27 July 2005
9622    - fix fairly minor scheduler bug,
9623        in the case where a reported result was not found in the DB,
9624        which caused scheduler reply messages to contain some garbage
9625
9626        In DB_SCHED_RESULT_ITEM_SET::add_result(),
9627        zero the id of the item added.
9628        That way, if it wasn't found in the database,
9629        it won't be updated or acknowledged
9630
9631    db/
9632        boinc_db.C
9633    sched/
9634        handle_request.C
9635
9636Rom    28 July 2005
9637    - Add a few of the wizard error pages
9638    - Enable the ability to direct error conditions from the welcome page.
9639      NOTE: For trsting only, it'll be removed before we release to alpha.
9640    - Determine which page to show after the project properties page has
9641      done it's thing based on error conditions.
9642
9643    clientgui/
9644        BOINCGUI.pjd
9645        WizAttachProject.cpp
9646        WizAttachProject.h
9647
9648David  28 July 2005
9649    - scheduler: if the <other_results> list is present in request,
9650        resend any in-progress results not on the list.
9651        Enabled by <send_lost_results>1</send_lost_results> in config.xml
9652        (with Bruce Allen)
9653
9654    sched/
9655        handle_request.C
9656        sched_locality.C
9657        sched_send.C,h
9658        server_types.C,h
9659
9660Rom    29 July 2005
9661    - Use a virtual stack to monitor page transitions.  Next and Back buttons
9662      should be fully operational.
9663
9664    clientgui/
9665        BOINCGUI.pjd
9666        MainFrame.cpp
9667        WizAttachProject.cpp, .h
9668        stdwx.h
9669
9670Bruce 29 July 2005
9671    - scheduler: fixed to checkins on 28 July
9672      (1) Put core client version number into wreq BEFORE searching for
9673          an app version. Problem is that reply.wreq.core_client_version was only being set in
9674          send_work(), which was too late for the resend_lost_work() part
9675          of the code.  You might want to move all the initialization of reply.wreq
9676          out of send_work().   The core client version is needed to see if the
9677          app is compatible with it when calling get_app_version().
9678      (2) In retransmitting lost work, do NOT set the deadline to new
9679          values.  Else the result will never time out!  But DO reset
9680          the sent_time, to indicate that result was resent.
9681    - transitioner:
9682          In the transitioner, make the next WU transition time be the min
9683          of deadlines of the in progress results, NOT the min of the
9684          sent_time+delay bound.  Unless a project wants to do dynamic
9685          adjustment of delay bounds for in progress results this should be OK.
9686          CPDN people: I don't think this does any harm for trickles but
9687          you might want to give it a quick look to be 100% sure.
9688
9689    sched/
9690        sched_send.C
9691        transitioner.C
9692
9693Bruce 29 July 2005
9694    - scheduler: don't resend a result to a host if any of the following is true:
9695      [1] WU error flag set
9696      [2] WU already has canonical result
9697      [3] (report_deadline - current_time) < 25% of WU delay bound
9698      If any of these conditions is true, set the report deadline to the
9699      current time and set the WU transition time to the current time.
9700      The transitioner will then 'do the right thing'.
9701
9702    sched/
9703        sched_send.C
9704
9705Charlie 29 July 2005
9706    Mac: #define __WXDEBUG__ only in our code (not in wxWidgets headers)
9707    in Development version only to allow testing of wizard.  See comments
9708    in MacGUI.pch for details.
9709
9710        mac/
9711            MacGUI.pch
9712
9713Rom    31 July 2005
9714    - Add two new wizard pages, the Account Key page which will be used to help out
9715        projects who have not yet upgraded to the new authentication scheme and the
9716        Account Creation Disabled error page.  If the server properties php page
9717        returns that account creation is disabled, then that page will be displayed.
9718
9719    clientgui/
9720        BOINCGUI.pjd
9721        WizAttachProject.cpp, .h
9722
9723David  31 July 2005
9724    - Split the GUI RPC code into 3 parts:
9725        1) the underlying stuff (sockets, buffers)
9726        2) the RPC themselves (XML write/parse, handlers)
9727        3) textual output (used only by boinc_cmd)
9728
9729    client/
9730        Makefile.am
9731        gui_rpc_server.C
9732        gui_rpc_server_ops.C
9733        scheduler_op.h
9734    clientgui/
9735        Makefile.am
9736    lib/
9737        Makefile.am
9738        gui_rpc_client.C,h
9739        gui_rpc_client_ops.C
9740        gui_rpc_client_print.C
9741    win_build/
9742        boinc_cli.vcproj
9743        boinc_ss.vcproj
9744        boinccmd.vcproj
9745        boincmgr.vcproj
9746
9747David  1 Aug 2005
9748    - support OpenSSL's crypto libary, preparatory to getting rid of RSAEuro.
9749        For now, there's a #define in lib/crypt.h
9750        that lets you select one or the other.
9751        OpenSSL seems to be working, i.e. you can read keys
9752        and verify file signatures produces with RSAEuro.
9753
9754    lib/
9755        Makefile.am
9756        boinc_cmd.C
9757        crypt.C,h
9758        crypt_prog.C
9759        gui_rpc_client.h
9760        gui_rpc_client_ops.C
9761        gui_rpc_client_print.C
9762        hostinfo.C,h
9763
9764Rom    1 Aug 2005
9765    - Some wizard work.
9766    - Fix build breaks.
9767    - Add support for OpenSSL in the Win32 environment.
9768
9769    clientgui/
9770        BOINCGUI.pjd
9771        MainDocument.cpp, .h
9772        WizAttachProject.cpp, .h
9773    lib/
9774        crypt.h
9775    openssl/
9776        <everything>
9777    win_build/
9778        boinc.sln
9779        boinc_cli.vcproj
9780        boincmgr.vcproj
9781        libboinc.vcproj
9782        librsaeuro.vcproj (Removed)
9783    win_build/installerv2/
9784        boinc.ism
9785
9786David  1 Aug 2005
9787    - avoid using sprintf() in signal handler
9788
9789    lib/
9790        boinc_api.C
9791
9792David  1 Aug 2005
9793    - add -lcrypto on Unix
9794
9795    configure.ac
9796David  1 Aug 2005
9797    - hasty bug fixes to the above. still not quite working
9798    lib/
9799        boinc_api.C
9800
9801Eric    2 Aug 2005
9802        - added a check for whether hard and soft links function as expected.
9803      (People were having problems where soft links were faked.)
9804    - added autoconf macro to check for openssl and set up the
9805      USE_RSAEURO or USE_OPENSSL macros in config.h.
9806    - modified configure.ac to run this check.
9807
9808    configure.ac
9809    m4/
9810        check_ssl.m4
9811
9812Eric    2 Aug 2005
9813    - Modified crypt.h to that it will only define USE_RSAEURO or
9814      USE_OPENSSL if they haven't already been defined.
9815
9816        lib/
9817        crypt.h
9818
9819Bruce   2 Aug 2005
9820    - scheduler: update of the resend-lost-work algorithm.  Now try and
9821      extend deadline somewhat, or cancel rather than resend work if
9822      it's not feasible.
9823
9824    sched/
9825        sched_send.C
9826
9827Rom    2 Aug 2005
9828    - Get rid of the NOCLIPBOARD and NOTASKBAR defines.  Taskbar icons seem
9829        to be available on all platforms now and the clipboard functionality
9830        is guarded by the wx version of the define wxUSE_CLIPBOARD.  If we use
9831        it, we don't have to maintain any configuration stuff about it in our
9832        build environment.
9833
9834    /
9835        configure.ac
9836    clientgui/
9837        BOINCGUIApp.cpp, .h
9838        stdwx.h
9839        ViewMessages.cpp, .h
9840
9841David  2 Aug 2005
9842    - Fix new API stuff that avoids using printf in signal handler.
9843        (my scaling of double to put them in the range [.1,1)
9844        failed to take into account zero... arrgh!)
9845
9846    api/
9847        boinc_api.C
9848    apps/
9849        upper_case.C
9850    win_build/
9851        boinc_gui.vcproj
9852        upper_case.vcproj
9853
9854David  2 Aug 2005
9855    - Don't force-include boinc_win.h in apps
9856
9857    win_build/
9858        upper_case.vcproj
9859
9860Rom    2 Aug 2005
9861    - Default stackwalker_win.cpp to include boinc_win.h if another of the
9862        precompiled headers hasn't already been included.
9863
9864    lib/
9865        stackwalker_win.cpp
9866
9867Charlie 2 Aug 2005
9868    Mac: update XCode project for new source files and to link Core
9869    Client with libcrypto.dylib.  (Note: libcrypto.dylib comes with
9870    OS 10.3 and OS 10.4, but libcrypto.a does not.) Remove RSAEuro
9871    sources from Core Client build.
9872
9873    mac_build/
9874        boinc.pbproj/
9875            project.pbxproj
9876
9877David  2 Aug 2005
9878    - process_result_template(): when inserting XML signature
9879        into a <file_info> element, don't include leading
9880        spaces before </file_info> in the signed text
9881        (from Marco Gazzoni)
9882
9883    tools/
9884        process_result_template.C
9885
9886Charlie 3 Aug 2005
9887    Mac: update XCode project to add api/texture.C to build of
9888    libboinc_graphics_api.a.  Add to Mac builds the functions
9889    TEXTURE_DESC::CreateTextureRGB () and TEXTURE_DESC::CreateTexturePPM().
9890
9891    api/
9892        gUtil.C
9893    mac_build/
9894        boinc.pbproj/
9895            project.pbxproj
9896
9897David  3 Aug 2005
9898    - replace wait3() and wait4() with waitpid().
9899        wait3 and wait4 are obsolete and might not be
9900        available on future systems.
9901    - changed these obsoleted macros in configure.ac:
9902        - AC_CANONICAL_SYSTEM   ->   AC_CANONICAL_TARGET
9903        - AC_HELP_STRING               ->   AS_HELP_STRING
9904        - AM_CONFIG_HEADER         ->   AC_CONFIG_HEADERS
9905    (from Egon Larsson)
9906
9907    configure.ac
9908    client/
9909        app_control.C
9910    sched/
9911        sched_send.C
9912
9913David  3 Aug 2005
9914    - split up scheduler code into separate files for:
9915        resending
9916        sending from array
9917        homogeneous redundancy (hr)
9918
9919    sched/
9920        Makefile.am
9921        handle_request.C
9922        sched_array.C,h (new)
9923        sched_hr.C,h (new)
9924        sched_resend.C,h (new)
9925        sched_send.C,h
9926
9927Rom    3 Aug 2005
9928    - Fix a condition where the manager isn't prompting for a username
9929        and password when a username and password were not already
9930        stored on the system
9931
9932    clientgui/
9933        MainFrame.cpp
9934
9935Bruce  4 August 2005
9936    - File deleter: only log message at level CRIT if we fail to
9937      find an output file for a SUCCESSFUL result.  Failure to
9938      find an output file for an UNSUCCESSFUL result is OK, and
9939      is now logged at level DEBUG not CRIT.
9940
9941    sched/
9942        file_deleter.C
9943
9944      an output file to delete for a result whose outcome was not
9945
9946David  4 Aug 2005
9947    - Change Unix build to use libcrypto instead of RSAEuro
9948    - compile fix
9949
9950    configure.ac
9951    Makefile.am
9952    Makefile.incl
9953    lib/
9954        hostinfo.h
9955
9956Rom    4 Aug 2005
9957    - Strip boinc_cmd as well.
9958
9959    /
9960        configure.ac
9961    lib/
9962        Makefile.am
9963
9964David  5 Aug 2005
9965    - Add a new class GUI_HTTP for HTTP operations done
9966        in response to GUI actions.
9967        Currently the only one is account manager RPC,
9968        but we'll be adding others for account setup.
9969        GUI_HTTP manages polling, HTTP header creation etc.
9970    - Modify ACCT_MGR to use GUI_HTTP
9971
9972    client/
9973        acct_mgr.C,h
9974        client_state.C,h
9975        gui_http.C,h (new)
9976    win_build/
9977        boinc_cli.vcproj
9978        boinc_gui.vcproj
9979
9980Rom    5 Aug 2005
9981    - Move the check for the socket type above the check for SSL support.
9982      You get compilations errors while attempting to determine socket types
9983      on Debian 3.0 with gcc 3.04 due to header changes.
9984
9985    /
9986        configure.ac
9987
9988David  5 Aug 2005
9989    - Initial checkin of client-side code for new setup scheme.
9990        Implements 3 new GUI RPCs:
9991            get_project_config()
9992            lookup_account()
9993            create_account()
9994        Note: code is sketchy and almost certainly doesn't work.
9995        It also lacks server-side support.
9996        I'm checking it in to allow Rom to work on Manager.
9997
9998    client/
9999        acct_mgr.C,h
10000        acct_setup.C,h (new)
10001        client_state.h
10002        file_names.h
10003        gui_rpc_server_ops.C
10004    lib/
10005        error_numbers.h
10006        gui_rpc_client.h
10007        gui_rpc_client_ops.C
10008        parse.C,h
10009    win_build/
10010        boinc_cli.vcproj
10011        boinc_gui.vcproj
10012
10013David  5 Aug 2005
10014    - temporary put the RSAEuro directory back into CVS,
10015        but with no files in it.
10016
10017David  5 Aug 2005
10018    - change account create/lookup erro rreturn from string to int
10019
10020    lib/
10021        gui_rpc_client.h
10022        gui_rpc_client_ops.C
10023
10024
10025David  5 Aug 2005
10026    - do password hashing in GUI RPC interface
10027
10028    lib/
10029        gui_rpc_client.h
10030        gui_rpc_client_ops.C
10031
10032David  6 Aug 2005
10033    - compile fixes for Unix
10034
10035    client/
10036        Makefile.am
10037        acct_setup.h
10038        gui_http.h
10039        gui_rpc_server_ops.C
10040
10041Rom    6 Aug 2005
10042    - Implement error handling with the new GUI RPCs.
10043    - Add lookup_google, lookup_google_poll, lookup_yahoo,
10044        and lookup_yahoo_poll GUI RPCs.
10045    - Add account creation disabled flag to project policies
10046        GUI RPC.
10047    - Make sure the poll functions are checked for before the
10048        actual rpc request when determining which GUI RPC was
10049        sent otherwise the system will always act as though
10050        a new request is being sent instead of a poll request.
10051    - Hook up the completed GUI RPCs for account creation to
10052        the wizard.
10053
10054    client/
10055        acct_setup.C, .h
10056        client_state.h
10057        file_names.h
10058        gui_rpc_server_ops.C
10059    clientgui/
10060        BOINCGUI.pjd
10061        WizAttachProject.cpp, .h
10062    lib/
10063        gui_rpc_client.h
10064        gui_rpc_client_ops.C
10065
10066David  6 Aug 2005
10067    - added passwd_hash, email_validated fields to user table
10068    - added web RPCs for get config, lookup account, create account
10069    - web changes:
10070        - can log in with email/password
10071        - added page for changing password
10072        - can change email address without validation
10073    - added options to boinc_cmd:
10074        --get_project_config
10075        --lookup_account
10076        --create_account
10077    - debugged new GUI RPCs
10078    - commented out google/yahoo stuff
10079
10080    NOTE: if you apply these changes, you will have to upgrade
10081        your database using db_update.php
10082
10083    client/
10084        acct_setup.C,h
10085        client_state.h
10086        gui_http.C
10087        gui_rpc_server_ops.C
10088    db/
10089        boinc_db.C,h
10090        schema.sql
10091    html/
10092        inc/
10093            user.inc
10094            util.inc
10095        ops/
10096            create_account_action.php
10097            create_account_form.php
10098            db_updatephp
10099        user/
10100            am_query.php
10101            create_account_action.php
10102            edit_email_action.php
10103            login_action.php
10104            create_account.php (new)
10105            edit_passwd_action.php (new)
10106            edit_passwd_form.php (new)
10107            get_project_config.php (new)
10108            lookup_account.php (new)
10109    lib/
10110        boinc_cmd.C
10111        error_numbers.h
10112        gui_rpc_client.h
10113        gui_rpc_client_ops.C
10114        gui_rpc_client_print.C
10115
10116Bruce  August 8, 2005
10117
10118    - file_deleter: added a new argument -delete_antiques.
10119      If this switch is enabled on the command line, then
10120      periodically (once per hour) removes any files in the
10121      upload/ directory that are older than the oldest WU in the
10122      database.  These files are created when BOINC clients
10123      return work really late after the deadline -- so late that
10124      the corresponding WU has been deleted from the database.
10125      About half the results in the E@H upload/ directory were
10126      of this form.  The 'find' command is used to locate such
10127      files.  This is potentially a dangerous operation since
10128      if we find then delete the wrong file(s) all hell could
10129      break lose on the server.  So a lot of 'paranoia and
10130      sanity checking' is done before unlink(path) is called,
10131      and we bail out at the first sign of something odd.
10132
10133    sched/
10134        file_deleter.C
10135
10136Rom    8 Aug 2005
10137    - Fix build breaks and reenable the lookup website code with
10138        a changed prototype.
10139    - Figured out how to automatically advance from one wizard page
10140        to the next.  Yes, I know it breaks convention.
10141    - Remove extra text on the project properties page.
10142    - Display the hourglass cursor while executing the project
10143        properties page.
10144
10145    client/
10146        acct_setup.C, .h
10147        client_state.h
10148        file_names.h
10149        gui_rpc_server_ops.C
10150    clientgui/
10151        BOINCGUI.pjd
10152        WizAttachProject.cpp, .h
10153    lib/
10154        gui_rpc_client.h
10155        gui_rpc_client_ops.C
10156
10157David  9 Aug 2005
10158    - compile fixes
10159
10160    lib/
10161        gui_rpc_client.h
10162        gui_rpc_client_ops.C
10163        gui_rpc_client_print.C
10164
10165Bruce 9 August 2005
10166    - Client fixes from Walt Gribben.  Do regular checks for drive free
10167      space.  And retrieve host info after call that reads client_state.xml
10168      has wiped it out.
10169
10170    client/
10171        app_control.C
10172        client_state.C
10173
10174Rom    9 Aug 2005
10175    - Checkin initial support for account creation or using an existing
10176        account.
10177
10178    clientgui/
10179        BOINCGUI.pjd
10180        WizAttachProject.cpp, .h
10181    lib/
10182        gui_rpc_client.h
10183        gui_rpc_client_ops.C
10184
10185David  9 August 2005
10186    - Initial checkin for Curl-based core client.
10187        This will allow the client to use HTTPS for any purpose
10188        (main page, scheduler URL, file upload/download),
10189        and it will eventually eliminate the funky/complex
10190        HTTP and proxy code in the core client.
10191
10192        For now, this should have no effect on standard compiles;
10193        everything is #ifdef'd to use the old HTTP code.
10194        (from Carl Christensen)
10195        If you want to build a Curl-based version:
10196        build the libcurl library
10197        Unix: in client/ rename Makefile_curl.am and build.
10198        Win: rename boinc*_curl.vcproj and build
10199
10200    client/
10201        client_state.C,h
10202        file_xfer.h
10203        gui_http.h
10204        main.C
10205        net_stats.h
10206        next_xfer_curl.C,h (new)
10207        Makefile_curl.am (new)
10208        scheduler_op.h
10209    curl-7.14.0/* (new)
10210    lib/
10211        util.C
10212    win_build/
10213        boinc_cli_curl.vcproj (new)
10214        boincmgr_curl.vcproj (new)
10215
10216David  9 Aug 2005
10217    - removed curl-7.14.0/ from CVS repository.
10218        No real need for it since libcurl.a is present on most Linux.
10219        We'll put a Windows compiled version in win_build.
10220
10221David  9 Aug 2005
10222    - get_filesystem_info() call not relevant in check_rsc_limits_exceeded()
10223    - recent change to startup logic caused benchmarks to always
10224        run at startup (because clear_host_info() zeros out p_calculated.
10225        Fix this by doing clear_host_info(),
10226        then parse state file,
10227        then get_host_info().
10228
10229    client/
10230        app_control.C
10231        client_state.C
10232    html/
10233        get_project_config.php
10234
10235David  9 Aug 2005
10236    - rename wizard_account_creation_supported to
10237        client_account_creation_disabled
10238
10239    lib/
10240        gui_rpc_client.h
10241        gui_rpc_client_ops.C
10242
10243Rom    10 Aug 2005
10244    - Add a new page that is used for when the wizard detects that the url
10245        provided is not a BOINC based project.
10246    - Add some checks for project policy validation.
10247    - Automatically change the label on certain controls when the uses_username
10248        flag is set as a project property.
10249    - Only populate the username, url, and password hash fields when
10250        uses_username is detected.
10251    - After the wizard completes, inform the core client that it should attach
10252        to the project.
10253    - Show the account key page when the client_account_creation_disabled flag
10254        is set.
10255    - Fix the create_account.php and lookup_account.php pages so that they only
10256        expose one root node which will keep XML validators from blowing up.
10257
10258    clientgui/
10259        BOINCGUI.pjd
10260        WizAttachProject.cpp, .h
10261    html/user/
10262        create_account.php
10263        lookup_account.php
10264
10265Rom    10 Aug 2005
10266    - Fix various parsing issues.
10267    - Fix a transition error when a project is not detected.
10268
10269    clientgui/
10270        WizAttachProject.cpp
10271    lib/
10272        gui_rpc_client_ops.C
10273    html/user/
10274        create_account.php
10275        lookup_account.php
10276
10277David  10 Aug 2005
10278    - Add "finish" page for new account creation
10279        (asks for name/country/zip)
10280    - put <archive> tags around db_purge XML
10281
10282    html/user/
10283        account_finish.php (new)
10284        account_finish_action.php (new)
10285        bbcode.php
10286    sched/
10287        db_purge.C
10288
10289David  10 Aug 2005
10290    - changed logic of some daily-stats-related code
10291        in attempt to fix crash on VC 8
10292    - rename STATISTIC to DAILY_STATS
10293
10294    client/
10295        client_types.C,h
10296        cs_account.C
10297        scheduler_op.C
10298    clientgui/
10299        ViewStatistics.cpp
10300    lib/
10301        gui_rpc_client.h
10302        gui_rpc_client_ops.C
10303
10304David  10 Aug 2005
10305    - add close_file(), close_socke() to NET_XFER_SET::remove().
10306        May fix socket leak.
10307        From Egon Larsson
10308
10309    client/
10310        net_xfer.C
10311
10312David  10 Aug 2005
10313    - canonicalize master URLs in GUI RPC client library
10314
10315    client/
10316        acct_setup.C
10317        gui_rpc_server_ops.C
10318    lib/
10319        gui_rpc_client.h
10320        gui_rpc_client_ops.C
10321        util.C,h
10322
10323Rom    11 Aug 2005
10324    - Replace the question mark bitmap with a rotating circular bitmap.
10325      NOTE: It could probably use a color change.
10326    - Cleanup some of the text.
10327
10328    clientgui/
10329        BOINCGUI.pjd
10330        WizAttachProject.cpp, .h
10331    clientgui/res/
10332        wizprogress1.xpm (Added)
10333        wizprogress2.xpm (Added)
10334        wizprogress3.xpm (Added)
10335        wizprogress4.xpm (Added)
10336        wizquestion.xpm (Removed)
10337    clientgui/res/templates/
10338        wizprogress1.ico (Added)
10339        wizprogress2.ico (Added)
10340        wizprogress3.ico (Added)
10341        wizprogress4.ico (Added)
10342        wizquestion.bmp (Removed)
10343
10344David  11 Aug 2005
10345    - remove Unix compile warnings
10346
10347    client/
10348        acct_setup.h
10349        gui_http.h
10350    lib/
10351        crypt.C,h
10352        crypt_prog.C
10353    sched/
10354        file_deleter.C
10355        make_work.C
10356
10357David  11 Aug 2005
10358    - The (hopefully) last chapter in the saga of the Unix BOINC API.
10359        We had previously waffled between using a signal handler
10360        and using a timer thread.
10361        Each has a fatal flaw: you can't do sprintf() (or pretty
10362        much anything else) from an asynch signal handler,
10363        and suspend and CPU time reporting don't work if you use a thread.
10364
10365        The new design uses both a signal handler and a thread!
10366        The signal handler does the bare minimum -
10367        calling getrusage() and sleep() -
10368        and the timer thread does the message sending and receiving
10369        (using sprintf() etc.)
10370
10371        (from Bruce Allen)
10372
10373    api/
10374        boinc_api.C
10375
10376Rom    11 Aug 2005
10377    - Fix the remaining cancel bugs.
10378      If cancel is selected from the welcome page make the wizard disappear.
10379      If cencel is selected on any other page, advance to the completion error
10380        page.
10381
10382    clientgui/
10383        WizAttachProject.cpp
10384
10385David  11 Aug 2005
10386    - API: don't comment out CreateTextureRGB, CreateTexturePPM on Unix
10387    - core client: PROJECT::update_duration_correction_factor():
10388        compute factor correctly
10389        (from John McLeod)
10390
10391    api/
10392        gutil.C
10393    client/
10394        client_types.C
10395
10396Rom    11 Aug 2005
10397    - Don't allow the wizard to get stuck in a validation loop during a cancel
10398        operation.
10399    - Hook up the URL and Account Key validators to the wizard.
10400
10401    clientgui/
10402        BOINCGUI.pjd
10403        ValidateAccountKey.cpp
10404        ValidateURL.cpp
10405        WizAttachProject.cpp, .h
10406
10407David  11 Aug 2005
10408    - API bug fix: block SIGALRM in timer thread
10409        (make new function block_sigalrm();
10410        call it from graphics, timer thread)
10411
10412    api/
10413        boinc_api.C,h
10414        graphics_impl.C
10415
10416Jeff  11 Aug 2005
10417   - the modulus applied to the transitioner enumeration is now done in the DB
10418     rather than in C code.
10419   - The file deleter now does N=4 passes through result deletion for every 1
10420     pass through workunit deletion.
10421   - the db_purge program now backs off for a period=5min if it's enumeration
10422     does not return more than half the query limit.  Short enums were resulting
10423     in rapid fire queries which robbed DB capacity from other functions.
10424
10425   db/
10426    boinc_db.C
10427    boinc_db.h
10428   sched/
10429    transitioner.C
10430    file_deleter.C
10431    db_purge.C
10432
10433David  11 Aug 2005
10434    - when parsing state file, make sure no two ACTIVE_TASKs
10435        have same value of slot.
10436
10437    client/
10438        app.C
10439
10440David  12 Aug 2005
10441    - compile fixes for Curl.  Also, print "libcurl enabled" on startup
10442        (from Carl C)
10443
10444    client/
10445        client_state.C
10446        http_curl.h
10447        net_xfer_curl.h
10448
10449Rom    12 Aug 2005
10450    - More string cleanup in the wizard.
10451
10452    clientgui/
10453        BOINCGUI.pjd
10454        WizAttachProject.cpp, .h
10455
10456David  12 Aug 2005
10457    - Change the way bools are parsed in log_flags.xml
10458        To turn a flag on:
10459            <foobar/> or <foobar>1</foobar>
10460        To turn a flag off:
10461            <foobar>0</foobar>
10462
10463        This lets you override the defaults
10464        (where task, file_xfer and sched_ops are true)
10465
10466        Note: this is already the way things work in sched_config.xml.
10467        I moved the relevant function (parse_bool()) into parse.C,
10468        and called it from LOG_FLAGS::parse().
10469        Should eventually use this for all bools
10470
10471    client/
10472        client_msgs.h
10473        log_flags.C
10474    lib/
10475        parse.C,h
10476    sched/
10477        sched_config.C
10478
10479Jeff  12 Aug 2005
10480    - Fix small bug in short enum sleep logic.
10481
10482    sched/
10483    db_purge.C
10484
10485David  12 Aug 2005
10486    - API: added boinc_begin_critical_section(),
10487        boinc_end_critical_section().
10488        Call these around anything you want to do atomically.
10489        You won't get suspended or killed (at least by the core client)
10490        while in a critical section.
10491
10492    api/
10493        boinc_api.C,h
10494
10495Rom    12 Aug 2005
10496    - More string cleanup in the wizard.
10497
10498    clientgui/
10499        BOINCGUI.pjd
10500        ValidateURL.cpp, .h
10501        WizAttachProject.cpp, .h
10502
10503David  12 Aug 2005
10504    - Added project_attach_poll() GUI RPC.
10505        - removed MSG_ALERT messages on attach succeed/fail
10506        - added class PROJECT_ATTACH in core client.
10507            Its error_num field stores result of last attach
10508        - attach failure reasons now have ERR_* values
10509
10510    client/
10511        acct_mgr.C
10512        acct_setup.h
10513        client_state.h
10514        client_types.h
10515        cs_account.C
10516        cs_cmdline.C
10517        gui_rpc_server_ops.C
10518        scheduler_op.C
10519    lib/
10520        error_numbers.h
10521        gui_rpc_client.h
10522        gui_rpc_client_ops.C
10523        util.C
10524
10525Rom    13 Aug 2005
10526    - Make building with libcurl the default on Windows.
10527    - Add the zlib library to the build environment since curl relies
10528        on it.
10529
10530    clientgui/
10531        BOINCGUI.pjd
10532        WizAttachProject.cpp, .h
10533    curl/win32/x86/bin/
10534        libcurl.dll
10535    curl/win32/x86/lib/
10536        libcurl.lib
10537    lib/
10538        boinc_win.h
10539    win_build/
10540        boinc.sln
10541        boinc_cli_curl.vcproj
10542        boinc_mgr_curl.vcproj
10543    win_build/installerv2/
10544        BOINC.ism
10545    zlib/
10546        <A Bunch of files>
10547
10548David  13 Aug 2005
10549    - manager: fix result status in certain case (from Bruce Allen)
10550
10551    clientgui
10552        ViewWork.cpp
10553
10554Bruce 13 Aug 2005
10555    - compile fixes for Mac OSX.  The autoconf/automake framework
10556      now works again to build client and clientgui.
10557    - one fix was to modify configure.ac so that HOSTTYPE now
10558      gets set to apple-powerpc-darwin rather than (say)
10559      apple-powerpc-darwin7.9.  Without this the core client
10560      reports back a platform version that the server does not
10561      understand.
10562    - fix client gui now gives 'aborted by user' error message in
10563      the work pane.
10564
10565    configure.ac
10566    client/
10567        Makefile.am
10568    clientgui/
10569        Makefile.am
10570        BOINCGUIApp.h
10571        ViewWork.cpp
10572
10573David  14 Aug 2005
10574    - Don't do scheduler RPC to send trickle-up message
10575        if network comm is suspended.
10576        (previously we were setting sched_rpc_pending
10577        when have trickle up, same as user "update" command,
10578        which overrides comm suspended).
10579        Add new flag PROJECT::trickle_up_pending
10580        (suggested by Glenn Dill)
10581
10582    client/
10583        app_control.C
10584        client_state.h
10585        client_types.C,h
10586        cs_scheduler.C
10587        scheduler_op.h
10588
10589Rom    15 Aug 2005
10590    - Hook-up the attach to project functionality in the wizard.
10591
10592    client/
10593        gui_rpc_server_ops.C
10594    clientgui/
10595        BOINCGUI.pjd
10596        WizAttachProject.cpp, .h
10597    lib/
10598        gui_rpc_client_ops.C
10599
10600David  15 Aug 2005
10601    - Happily, I found a more elegant solution than renaming functions & variables
10602    from boinc_zip to zlib.
10603    The InfoZip has a define "USE_ZLIB" which will take into account
10604    that you have zlib available.
10605    Since that is the de-facto boinc
10606    (i.e. we're all using zlib now)
10607    then boinc_zip can reflect this;
10608    and I have updated the necessary files.
10609    (from Carl Christensen)
10610
10611    zip/
10612        Makefile.am
10613        README.txt
10614        boinc_zip.vcproj
10615        ziptest.cpp
10616        ziptest.vcproj
10617
10618Rom    15 Aug 2005
10619    - Fix the model dialog input problem where network traffic was happening
10620        in the background.
10621
10622    clientgui/
10623        BOINCGUI.pjd
10624        MainFrame.cpp
10625        WizAttachProject.cpp, .h
10626    clientgui/res/
10627        wizprogress??.xpm (Added)
10628    clientgui/res/templates/
10629        wizprogress??.bmp (Added)
10630
10631Janus    16 Aug 2005
10632    - Fixed some serious typos in top user listings causing the cache to mostly
10633      be bypassed.
10634    - Removed the criteria that a user must have been active in the past 7
10635      days to be on the RAC lists. Some users only crunch one week per month
10636      but they may have large enough farms to actually get to the top list...
10637      And it didnt work right with the caching mechanism because they may
10638      become inactive while still being in the cache.
10639    - Added "translatability" to the top teams page and a title item to the
10640      english language file.
10641    - The start_team_table() function should also remember the team type when
10642      linking to sorting by total/expavg credit.
10643
10644    /html
10645    /user
10646            top_teams.php
10647            top_users.php
10648        /inc
10649            team.inc
10650        /languages
10651            /translations
10652                en.po
10653
10654David  16 Aug 2005
10655    - Fixed bug that caused partly downloaded files to be
10656        treated as errors on retry.
10657        PERS_FILE_XFER::start_xfer(): if verify_file() returns error,
10658        set file status to FILE_NOT_PRESENT
10659        (i.e. clear the error flag set by verify_file())
10660    - Fixed some bugs in curl code that caused busy loop
10661        (100% CPU) while transferring files
10662
10663    client/
10664        http_curl.C
10665        net_xfer_curl.C
10666        pers_file_xfer.C
10667
10668Rom    16 Aug 2005
10669    - Keep the wizard from attempting to attach to a project when the account
10670        create or lookup fails for some reason.
10671
10672    clientgui/
10673        WizAttachProject.cpp, .h
10674
10675David  16 Aug 2005
10676    - core client: use of libcurl is now default on Unix
10677        NOTE: curl version 7.14.0 or higher is recommended.
10678        7.10 does not work.
10679        Install it in /usr, not /usr/local
10680    - core client: change the polling structure for
10681        lower latency for GUI RPCs and higher throughput for file xfers.
10682        Polling for non-time-critical changes is done in
10683        CLIENT_STATE::poll_slow_events(),
10684        which is called once per second
10685        (and repeatedly, if anything changes).
10686        All I/O activites are done in CLIENT_STATE::do_io_or_sleep(x),
10687        which returns after about x seconds,
10688        doing as much I/O as it can in the process.
10689        It does a select() across all descriptors (GUI RPC and HTTP)
10690        and this is the only form of sleep that it does.
10691
10692        Change to the GUI_RPC and NET_XFER layers:
10693        instead of a poll() function, they now export
10694
10695        get_fdset(): returns the set of descriptors in use
10696        got_select(): does I/O based on a set of active descriptors
10697
10698    client/
10699        Makefile.am
10700        client_state.C,h
10701        gui_rpc_server.C,h
10702        main.C
10703        net_xfer_curl.C,h
10704    lib/
10705        network.h
10706    sched/
10707        handle_request.C
10708
10709David  16 Aug 2005
10710    - bug fixes to the above.
10711        You can't easily take the union of two fd_sets on Windows,
10712        so do it a different way.
10713
10714    client/
10715        client_state.C
10716        gui_rpc_server.C,h
10717        main.C
10718        net_xfer_curl.C
10719    lib/
10720        network.h
10721
10722David  16 Aug 2005
10723    - code cleanup
10724
10725    client/
10726        client_state.C
10727        http_curl.C,h
10728        net_xfer_curl.C
10729
10730David  16 Aug 2005
10731    - PROJECT::update_duration_correction_factor():
10732        small tweak in algorithm
10733    - CLIENT_STATE::scheduler_rpc_poll():
10734        call compute_work_requests() in all cases
10735        (to avoid asking for work when shouldn't);
10736        increase polling period to 5 sec
10737    (from John McLeod)
10738
10739    client/
10740        client_types.C
10741        cs_scheduler.C
10742
10743David  16 Aug 2005
10744    - Make boinc_gui work again
10745
10746    client/win/
10747        wingui_mainwindow.cpp
10748    win_build/
10749        boinc_gui.vcproj
10750
10751Rom    16 Aug 2005
10752    - CR/LF cleanup in wizard
10753    - Add Account not found page.
10754
10755    clientgui/
10756        BOINCGUI.pjd
10757        WizAttachProject.cpp, .h
10758
10759Rom    17 Aug 2004
10760    - Only subtract 200 from the HTTP status code when things are okay,
10761        otherwise return the http status code from the project server.
10762
10763    client/
10764        net_xfer_curl.C
10765
10766David  17 Aug 2005
10767    - skip 5-second polling period in CLIENT_STATE::schedule_rpc_poll()
10768        if there's a tentative project.
10769        This is to make project attach go as fast as possible.
10770
10771    client/
10772        client_state.C,h
10773        cs_account.C
10774        cs_scheduler.C
10775        scheduler_op.C
10776
10777David  17 Aug 2005
10778    - Add new API calls:
10779        boinc_not_using_cpu()
10780        boinc_using_cpu()
10781        for apps that temporarily stop using the CPU
10782        (e.g. while doing network comm).
10783        Allows other apps to use CPU; treats app as if it were
10784        from a non-CPU-intensive project.
10785
10786        Implementation: add non_cpu_intensive flag to ACTIVE_TASK.
10787        Copy from project initially.
10788        Use this instead of project.non_cpu_intensive for scheduling.
10789        Use app_state message channel to convey non_cpu_intensive
10790        status from app to core client.
10791
10792        (for Folding@Home)
10793
10794    api/
10795        boinc_api.C,h
10796    client/
10797        app.C,h
10798        app_control.C
10799        cs_apps.C
10800        scheduler_op.C
10801    lib/
10802        app_ipc.h
10803
10804David  17 Aug 2005
10805    - Add new API calls:
10806        boinc_need_network()
10807        boinc_network_poll()
10808        boinc_network_done()
10809        For apps that do network communication.
10810        If there is no physical connection (e.g. modem not dialed)
10811        this allows the app
10812        1) to request (via the core client and the BOINC manager)
10813        that the user establish a connection;
10814        2) to learn when a connection has been established
10815        3) to indicate that it is done with network comm
10816            (e.g. so we can hang up the modem)
10817
10818        Implementation:
10819        Add want_network, have_network flags in API lib.
10820        Send want_network in app_status messages to core.
10821        Core: on network_available(), send <network_available/> to
10822        any app that wants network.
10823
10824        (for Folding@Home)
10825
10826    api/
10827        boinc_api.C
10828    client/
10829        app.C,h
10830        app_control.C
10831        client_state.C
10832        scheduler_op.C
10833
10834Rom    17 Aug 2005
10835    - Disable Next and Back buttons during network communication.
10836    - Launch account_finish.php when account creation has happened and
10837        we have successfully attached to a project.
10838
10839    clientgui/
10840        BOINCGUI.pjd
10841        WizAttachProject.cpp, .h
10842
10843Rom    18 Aug 2005
10844    - Adjust the URL validator so that .asdf, asdf., and asdf are not
10845        considered valid host names.
10846    - Save the canonicalized url to the control before wxWidgets
10847        transfers the data around
10848
10849    clientgui/
10850        ValidateURL.cpp
10851
10852Charlie 19 Aug 2005
10853    Mac: update XCode project for new source files and to link Core
10854    Client with libcurl.dylib.  Remove RSAEuro group and files.  Add
10855    files to build of libboinc.a to match those in makefile.
10856
10857    mac_build/
10858        boinc.pbproj/
10859            project.pbxproj
10860
10861Bruce 19 Aug 2005
10862    Mac: work around compiler bug under 10.3.9 autoconf/automake
10863    build. Sigh.
10864
10865    client/
10866        net_xfer_curl.C
10867
10868Rom    19 Aug 2005
10869    - Update the Windows build environment so that it'll copy the curl,
10870        openssl, and zlib libraries to the output directory after
10871        building.
10872    - Make boincmgr depend on boinc for those who only incrementally
10873        build the manager which didn't cause boinc to be rebuilt when
10874        it's source files have changed.
10875
10876    curl/
10877        <many files>
10878    openssl/
10879        <many files>
10880    win_build/
10881        <many files>
10882    zlib/
10883        <many files>
10884
10885Bruce 20 Aug 2005
10886    - File deleter changes/mods
10887      Restored 'delete antiques' code overwritten by Jeff Cobb
10888      Now delete files in increasing mtime order
10889      Additional paranoia to avoid deleting 'the wrong' files if there
10890         is a configuration or other user/admin error
10891      Use C++ string type for storage efficiency in list
10892      Only delete antique files when there is no OTHER file deletion to do
10893
10894    sched/
10895        file_deleter.C
10896
10897Charlie 22 Aug 2005
10898    Mac: update XCode project to static-link Core Client with libcurl.a.
10899    Change paths to eliminate use of symbolic links jpeglib, wx_lib and
10900    wxinclude; instead require these library trees to be in same parent
10901    folder as boinc tree.
10902    Update build instructions for changes
10903
10904    doc/
10905        mac_build.html
10906    mac_build/
10907        HowToBuildBOINC_XCode.rtf
10908        boinc.pbproj/
10909            project.pbxproj
10910
10911Rom    23 Aug 2005
10912    - Do not allow the checks for need network to happen while the manager
10913        is attempting to connect to the CC.
10914
10915    clientgui/
10916        MainFrame.cpp
10917
10918Rom    23 Aug 2005
10919    - Respect request_delay even when the project is down for maintenance.
10920
10921    client/
10922        cs_scheduler.C
10923
10924Rom    23 Aug 2005
10925    - Fix LF problem with Wizard files
10926    - Remove finish page on error
10927    - Enable next and back buttons on a cancel event
10928
10929    clientgui/
10930        BOINCGUI.pjd
10931        WizAttachProject.cpp, .h
10932
10933Rom    24 Aug 2005
10934    - Apply a net_fer_curl.C, .h patch from Carl Christensen.
10935    - Make http_op_retval return a ERR_GETHOSTBYNAME error when
10936        the host does not exist.
10937    - Checkin a few curl error code to BOINC error code
10938        translations.
10939
10940    client/
10941        net_xfer_curl.C, .h
10942
10943David  25 Aug 2005
10944    - zip fixes (from Carl C)
10945
10946    zip/
10947        (various files)
10948
10949Rom    25 Aug 2005
10950    - Introduce a 60 second timeout for the various wizard polling loops
10951    - If the wizard has been cancelled during a polling loop then exit
10952        the polling loop
10953    - Don't attempt to use the next and back button pointers if we either
10954        haven't trapped them yet, or they have been freeed during a cancel
10955        operation.
10956    - Change the libcurl enabled message so that it contains version
10957        information for curl, openssl, and zlib.
10958    - Remove the debug menu and replace the attach to project dialog with
10959        the attach to project wizard at all entry points.
10960
10961    client/
10962        client_state.C
10963    clientgui/
10964        MainFrame.cpp, .h
10965        ViewProjects.cpp
10966        WizAttachProject.cpp
10967
10968David  25 Aug 2005
10969    - Unix build fixes from Reinhard Prix.
10970    - remove #ifdefs on _USE_CURL.  Pre-curl HTTP code is no longer supported.
10971    - added "donated" field to user table.
10972
10973    NOTE: this update requires a database change.  See html/ops/db_update.php
10974
10975    configure.ac
10976    api/
10977        texture.C
10978    client/
10979        Makefile.am
10980        client_state.C,h
10981        file_xfer.h
10982        http_curl.C,h
10983        main.C
10984        net_stats.h
10985        net_xfer_curl.C,h
10986        scheduler_op.h
10987    db/
10988        boinc_db.C,h
10989        schema.sql
10990    html/
10991        inc/
10992            util.inc
10993        ops/
10994            db_update.php
10995    m4/
10996        libcurl.m4
10997        sah_check_lib.m4
10998    sched/
10999        file_deleter.C
11000
11001Rom    25 Aug 2005
11002    - Fixup a few more CRLF issues in the wizard.
11003
11004    clientgui/
11005        BOINCGUI.pjd
11006        WizAttachProject.cpp
11007
11008Rom    25 Aug 2005
11009    - An update of the project view and work view can cause an update request
11010        to the core client.  If you are detaching from a project, the reference
11011        to the project by position can be NULL.  Check for the NULL before you
11012        dereference the pointer.
11013
11014    clientgui/
11015        ViewProjects.cpp
11016        ViewWork.cpp
11017
11018Charlie 26 Aug 2005
11019    Mac: update XCode project to remove obsolete DlgAttachProject.cpp/h;
11020    eliminate define of _USE_CURL.
11021
11022    mac_build/
11023        boinc.pbproj/
11024            project.pbxproj
11025
11026Rom    26 Aug 2005
11027    - Fix a few more issues related to defreferencing pointers within the views.
11028
11029    clientgui/
11030        ViewTransfers.cpp
11031        ViewWork.cpp
11032
11033Rom    26 Aug 2005
11034    - Fix a radio button problem on the Mac.
11035
11036    clientgui/
11037        BOINCGUI.pjd
11038        WizAttachProject.cpp
11039
11040Rom    26 Aug 2005
11041    - The wizard should display a nice dialog when somebody trys to attach to a
11042        project they are already attached too.
11043
11044    client/
11045        gui_rpc_server_ops.C
11046    clientgui/
11047        BOINCGUI.pjd
11048        WizAttachProject.cpp, .h
11049    lib/
11050        gui_rpc_client.C
11051        gui_rpc_client_ops.C
11052
11053David  26 Aug 2005
11054    - Remove deprecated "tentative_user" table from DB.
11055    - Remove code related to munged email addresses.
11056    - Web changes to support user-selected passwords.
11057
11058    db/
11059        schema.sql
11060    html/
11061        inc/
11062            email.inc
11063            util.inc
11064        ops/
11065            db_update.php
11066        user/
11067            am_confirm.php
11068            am_create.php
11069            am_query.php
11070            confirm_email_change.php
11071            create_account_action.php
11072            edit_email_action.php
11073            edit_passwd_action.php
11074            edit_passwd_form.php
11075            get_project_config.php
11076            login_action.php
11077            login_form.php
11078            mail_passwd.php
11079            team_email_list.php
11080    sched/
11081        handle_request.C
11082
11083Jeff  27 Aug 2005
11084    - added items to fcgi_SOURCES
11085
11086    sched/
11087        Makefile.am
11088
11089David  27 Aug 2005
11090    - When user changes email address, set email_validated=0
11091        and send an email message to the new address,
11092        with a "validate email" link.
11093
11094    html/user/
11095        edit_email_action.php
11096        edit_email_form.php
11097        validate_email.php (new)
11098
11099David  28 Aug 2005
11100    - Unix build fixes (from Reinhard Prix)
11101
11102    configure.ac
11103    m4/
11104        sah_check_lib.m4
11105
11106David  28 Aug 2005
11107    - compile fixes
11108
11109    clientgui/
11110        WizAttachProject.cpp
11111    lib/
11112        parse.C
11113
11114David  29 Aug 2005
11115    - bug fix in account creation
11116
11117    html/user/
11118        create_account_action.php
11119
11120David  29 Aug 2005
11121    - fixed bug that caused scheduler RPC to all projects on startup
11122    - revised update_duration_correction_factor()
11123        (hopefully for the better)
11124    - removed call to tmpname()
11125
11126    client/
11127        client_types.C
11128        http_curl.C
11129
11130Rom    29 Aug 2005
11131    - Build cleanup on Windows (possibly fixes debugger issue)
11132    - Remove unneeded conditional from CLIENT_STATE::do_io_or_sleep
11133    - Don't tell the user we are going to open a browser window unless
11134        we created an account on the target project through the
11135        wizard
11136
11137    client/
11138        client_state.C
11139    clientgui/
11140        BOINCGUI.pjd
11141        WizAttachProject.cpp, .h
11142    win_build/
11143        BOINC.sln
11144        boinc_cli_curl.vcproj
11145        boinc_dll.vcproj
11146        boinc_ss.vcproj
11147        upper_case.vcproj
11148        boinc_cli.vcproj (Removed)
11149        boincmgr.vcproj (Removed)
11150
11151Rom    29 Aug 2005 (staging)
11152    - Tag for 4.73 release, all platforms
11153      boinc_core_release_4_73
11154
11155David  29 Aug 2005
11156    - support PHPMailer
11157        (need to define $USE_PHPMAILER, $PHPMAILER_HOST, $PHPMAILER_MAILER
11158        in your project.inc file)
11159
11160    html/inc/
11161        email.inc
11162
11163Janus  30 Aug 2005
11164    - When viewing profiles the output text is now based on the logged in
11165      user's forum output preferences (ie. links in new window, images as
11166      links etc).
11167
11168    html/
11169        inc/
11170            profile.inc
11171        user/
11172            view_profile.php
11173
11174Charlie 30 Aug 2005
11175    - Fix excessive CPU usage on Mac when Manager window was open.
11176      CMainFrame::OnFrameRender() was always calling SetTitle(), which
11177      forced a full redraw of the window once every second.  The full
11178      redraw is very CPU-intensive.  We now call GetTitle() and don't
11179      call SetTile() unless title text has changed.
11180
11181    clientgui/
11182        MainFrame.cpp
11183
11184David  30 Aug 2005
11185    - include pubDate in RSS feed
11186    - change getallheaders() to apache_request_headers()
11187        (the former apparently not defined in PHP5)
11188    - if apache_request_headers() is not defined, disable caching
11189
11190    html/
11191        inc/
11192            cache.inc
11193        user/
11194            sample_rss_main.php
11195
11196David  30 Aug 2005
11197    - passwords were being lower-cased.  Oops!!
11198
11199    client/
11200        client_types.C
11201    html/
11202        user/
11203            edit_passwd_action.php
11204
11205David  30 Aug 2005
11206    Various changes for 3-part (major/minor/release) versions:
11207    - app_init_data.xml file and APP_INIT_DATA struct
11208        now have major/minor/release instead of core_version.
11209        This shouldn't break anything because nothing used
11210        core_version as far as I know.
11211    - added <core_client_release> element to state file,
11212        scheduler RPC requests, file upload handler requests.
11213    - GUI RPC requests now have major/minor/release instead of <version>
11214    - GUI RPC replies now have major/minor/release instead of encoded
11215
11216    NOTE: there are a few places where version numbers are
11217    still being packed into integers using the major*100 + minor encoding:
11218
11219        1) server min_core_client_version_announced mechanism
11220        2) server min_core_client_version mechanism
11221        3) wreq.core_client_version
11222
11223    These are OK for now since they don't care about release,
11224    and we're not going to have minor versions > 99 in the near future.
11225    But at some point we should fix these.
11226
11227    configure.ac
11228    version.h
11229    version.h.in
11230    client/
11231        app_start.C
11232        client_state.C,h
11233        client_types.C
11234        cs_scheduler.C
11235        file_xfer.C
11236        gui_rpc_server_ops.C
11237    clientgui/
11238        MainDocument.cpp,h
11239    lib/
11240        app_ipc.C,h
11241        gui_rpc_client.C,h
11242        gui_rpc_client_ops.C
11243    sched/
11244        server_types.C,h
11245    sea/
11246        Makefile.am
11247
11248Charlie 30 Aug 2005
11249    - Fix excessive CPU usage on Mac when Statistics pane selected.
11250      Added new routine CMainFrame::SetFrameListPanelRenderTimerRate()
11251      which sets the refresh rate to 60 seconds for the statistics panel
11252      and 5 seconds for all other panels.  Except it sets refresh rate
11253      to 5 seconds whenever the manager has been connected to core
11254      client for less than 10 seconds, to allow the Statistics panel to
11255      be drawn properly.
11256
11257    clientgui/
11258        MainFrame.cpp, h
11259
11260David  31 Aug 2005
11261    - don't crash when boinc_resolve_filename() is passed NULL arg
11262        (from Bernd)
11263
11264    util/
11265        app_ipc.C
11266        util.C
11267
11268David  31 Aug 2005
11269    - core client: avoid division by zero even when some
11270        project resource shares are zero.
11271        NOTE: these changes don't implement the correct semantics -
11272        whatever they are - but it's a start.
11273
11274    client/
11275        client_state.h
11276        cs_scheduler.C
11277
11278David  31 Aug 2005
11279    - rename get_project_config.php so don't overwrite custom files
11280
11281    html/user/
11282        get_project_config.php (removed)
11283        sample_get_project_config.php (new)
11284
11285Rom    31 Aug 2005
11286    - Save an unmodified version of the client and manager on Unix based
11287        builds for debugging later.
11288
11289    client/
11290        Makefile.am
11291    clientgui/
11292        Makefile.am
11293    lib/
11294        Makefile.am
11295
11296David  1 Sept 2005
11297    - Validator: removed generic_check_set_majority().
11298        I think "quorum" is best defined as a set of
11299        WU.min_quorum/2+1 agreeing results,
11300        regardless of how many results the WU has.
11301        The existing (#results/2) definition has two problems:
11302        - it gets harder and harder to satisfy as nresults increases;
11303        - adding one result at a time may be insufficient
11304        (as noted by Kevin Reed)
11305    - change db_dump so it doesn't write "zombie" (merged) hosts.
11306
11307    sched/
11308        db_dump.C
11309        sample_bitwise_validator.C
11310        validate_util.C
11311        validate_util.h
11312
11313David  1 Sept 2005
11314    - Include release number in state file, GUI RPC replies
11315    - rerun benchmarks if new release
11316    - fix bug where GUI RPC reported wrong version#
11317    (from Sebastian Masch>
11318
11319    client/
11320        client_state.C,h
11321        cs_statefile.C
11322        gui_rpc_server_ops.C
11323
11324Charlie 1 Sept 2005
11325    - Mac: create a UNIX shell script to automate creation of installers.
11326      Update build instructions to reflect this.
11327
11328    clientgui/
11329        mac/
11330            SetVersion.C
11331    mac_installer/
11332        release_boinc.sh (new)
11333        Description.plist (new)
11334    mac_build/
11335        HowToBuildBOINC_XCode.rtf
11336    doc/
11337        mac_build.html
11338
11339Rom    2 Sept 2005
11340    - Attempt at fixing a crash condition on Linux due to differences in
11341        how the compiler handles constructors.
11342
11343    clientgui/
11344        BOINCBaseView.cpp, .h
11345        ViewMessages.cpp
11346        ViewProjects.cpp
11347        ViewResources.cpp
11348        ViewStatistics.cpp
11349        ViewTransfers.cpp
11350        ViewWork.cpp
11351
11352David  2 Sept 2005
11353    - show app version numbers as single ints
11354        (remove major*100 + minor assumption)
11355    - remove commented-out code (lock_file stuff)
11356
11357    lib/
11358        filesys.h
11359    sched/
11360        assimilator.C
11361        file_deleter.C
11362        make_work.C
11363        transitioner.C
11364        update_stats.C
11365
11366David  4 Sept 2005
11367    - FILE_INFO::set_permissions():
11368        Don't give write access to other or world.
11369        (from Tetsuji Maverick Rai)
11370
11371    client/
11372        client_types.C
11373
11374Janus  5 Sept 2005
11375    - Fixed (Rob): Adding and deleting too many slashes in the db functions for
11376      the forum
11377    - HTML code in forums is now disabled by default, people will have to use
11378      BBcode from now on (Rob)
11379
11380    html/
11381        inc/
11382            forum.inc
11383            db_forum.inc
11384            text_transform.inc
11385
11386Rom    6 Sept 2005
11387    - Fix crashing bug on Linux startup.
11388    - Fix crashing bug on Linux during shutdown.  When a feature may or may not
11389        be available on a platform use the wxWidget define for that feature instead
11390        of platform defines. Like taskbar icons and clipboard functionality.
11391    - As part of the Account Manager redesign, a new wizard is being added.
11392    - Adjust menus and menu items.
11393
11394    clientgui/
11395        BOINCGUI.pjd
11396        BOINCBaseView.cpp, .h
11397        Events.h
11398        MainFrame.cpp, .h
11399        ViewMessages.cpp
11400        ViewProjects.cpp, .h
11401        ViewResources.cpp
11402        ViewStatistics.cpp
11403        ViewTransfers.cpp
11404        ViewWork.cpp
11405        WizAttachAccountManager.cpp, .h (Added)
11406
11407Bruce 6 Sept 2005
11408    - Added WizAttachAccountManager.cpp to Makefile.am
11409
11410    clientgui/
11411        Makefile.am
11412
11413Charlie 6 Sept 2005
11414    - Fix graphics when running anonymoous platform with BOINC Manager; needed
11415      to create soft links in each slot with same name as the anonymous
11416      application and linked to it, even when resuming a work unit.
11417    - Fix possible bug in set_mode() in x_opengl.C: don't call KillWindow() if
11418      (! glut_is_initialized).
11419    - Mac: Graphics applications set their own 'plst' 0 resource so OS will run
11420      them as a NSUIElement; this suppresses Dock icon and menu bar for a
11421      cleaner look, especially after running screen saver.
11422    - Mac: When closing graphics window, hide the graphics application so that
11423      it does not remain in front, which was confusing.
11424    - Mac: Bring graphics application to front whenever user presses "Show
11425      Graphics" button, even if it was already open in background.  This provides
11426      a way to bring hidden graphics to front without an icon in the Dock.
11427    - Mac: Fix bug in XCode project's scripts which caused errors if there was a
11428      space in the path to the project.
11429
11430      api/
11431        boinc_api.h
11432        macglutfix.m
11433        x_opengl.C,h
11434        mac_icon.C
11435    client/
11436        app_start.C
11437    mac_build/
11438        boinc.pbproj/
11439            project.pbxproj
11440
11441Bruce 7 Sept 2005
11442    - Clarify wording of important message from client to user.
11443
11444    client/
11445        scheduler_op.C
11446
11447Rom    7 Sept 2005
11448    - Fix a bug in the language change notification dialog where the title and
11449        message were reversed from the way they were supposed to be.
11450    - Modify the proxy page for the wizard by shrinking it down to one page.
11451    - Fix the proxy page so that it correctly loads and save proxy information
11452        when you go to the page.
11453    - When account creation is turned off for a project go to the account info
11454        page, but disable account creation.  This will allow attaching to a
11455        project with an existing account.
11456
11457    clientgui/
11458        BOINCGUI.pjd
11459        MainFrame.cpp
11460        WizAttachProject.cpp, .h
11461
11462
11463Charlie 7 Sept 2005
11464    - Mac: Add step to XCode project which automatically unstuffs BOINCSaver.nib.sit
11465      if needed.
11466    - Add new source files to XCode project.
11467
11468    mac_build/
11469        boinc.pbproj/
11470            project.pbxproj
11471
11472Janus  7 Sept 2005
11473    - Make the website language compiler more robust by writing to temporary
11474      files and rename those files when done.
11475    - Add translation ability for the top teams page
11476    - Fix bug where "Next 20" would show on top team/user pages even though
11477      there were no more entities to list.
11478
11479    html/
11480        inc/
11481            team.inc
11482            translator.inc
11483        user/
11484            top_teams.php
11485            top_users.php
11486        languages/translations/
11487            en.po
11488
11489Rom    7 Sept 2005 (staging)
11490    - Tag for 5.1.2 release, all platforms
11491      boinc_core_release_5.1.2
11492
11493Bruce 7 Sept 2005
11494    - From Reinhard: make openssl and curl detection independent; useful for
11495      building server backend components.
11496    configure.ac
11497    m4/
11498        check_ssl.m4
11499
11500David  7 Sept 2005
11501    - fix bug where "no new work" flag wasn't getting written in XML
11502
11503    client/
11504        gui_rpc_server_ops.C
11505
11506Charlie 8 Sept 2005
11507    - Mac: Small fixes to build instructions and installer build script.
11508      Release version 5.1.2
11509
11510    mac_installer/
11511        release_boinc.sh
11512        ReadMe.rtf
11513    mac_build/
11514        HowToBuildBOINC_XCode.rtf
11515    doc/
11516        mac_build.html
11517        versions.inc
11518
11519David  8 Sept 2005
11520    - User web: don't call process_user_text() on passwords;
11521        it's not needed, and breaks passwords containing punctuation
11522
11523    html/user/
11524        edit_password_action.php
11525
11526Rom    8 Sept 2005
11527    - Fix a file/rpc transfer issue (From Carl)
11528    - Fix for partial downloads (From Carl)
11529    - Treat all 20* http status codes as a success
11530
11531    client/
11532        client_state.C
11533        http_curl.C
11534        net_xfer_curl.C
11535
11536Rom    8 Sept 2005
11537    - Update to Account Manager wizard.
11538    - Build a sea package that contains the debug version of the executables
11539        so they can be put into the download directory in case we need them
11540        for future issues.
11541    - Add text to the sys tray balloon that states when BOINC is suspended
11542        and when networking is suspended.
11543
11544    clientgui/
11545        BOINCGUI.pjd
11546        BOINCTaskBar.cpp
11547        WizAttachAccountManager.cpp, .h
11548    sea/
11549        Makefile.am
11550
11551Bruce 9 Sept 2005
11552    - On many current linux machines pthread_sigmask() is not in glibc.
11553      So use sigprocmask instead.
11554
11555    api/
11556        boinc_api.C
11557
11558Rom    9 Sept 2005 (staging)
11559    - Tag for 5.1.3 release, all platforms
11560      boinc_core_release_5_1_3
11561
11562David  9 Sept 2005
11563    - fix web bug, make zip code optional
11564    - add some comments
11565
11566    client/
11567        client_state.C
11568    html/user/
11569        account_finish_action.php
11570    lib/
11571        util.C
11572
11573David  9 Sept 2005
11574    - add block_sigalrm() to graphics_impl_lib.C
11575    - fix some text in Manager
11576
11577    api/
11578        graphics_impl_lib.C
11579    clientgui/
11580        ViewProjects.cpp
11581
11582Bruce 10 Sept 2005
11583    - backed out change from Sept 9 (not needed, didn't work).
11584      Change had also propagated to graphics_impl_lib.C.
11585
11586    api/
11587        boinc_api.C
11588        graphics_impl_lib.C
11589
11590David  9 Sept 2005
11591    - validator: when find a canonical result, trigger the assimilator
11592        but do NOT trigger the transitioner; doing so creates a race condition.
11593        (from Bruce Allen)
11594
11595        Example race condition (time ordered):
11596        transitioner [reads wu.assimilate_state==READY]
11597                     ...(swapped out by process scheduler)
11598        assimilator  [reads wu.assimilate_state==READY]
11599                     does assimilation
11600                     [write wu.transition_time=NOW]
11601                     [write wu.assimilate_state=DONE]
11602        transitioner ...(swapped back in by process scheduler)
11603                     [writes wu.transition_time=MAX_INT]
11604        Final effect is wu.assimilate_state==DONE
11605                        wu.file_delete_state==INIT
11606                        wu.transition_time=MAX_INT
11607        This is wrong: one should have wu.transition_time=NOW
11608        else the WU will never change to file_delete_state=READY.
11609
11610    sched/
11611        validator.C
11612
11613Bruce 10 Sept 2005
11614    - user profiles: do NOT display pictures in Gallery where admin has
11615      rejected profile.  Janus, I don't know if this is complete enough
11616      to prevent rejected pictures from EVER being shown.  Do you?
11617
11618    html/
11619        inc/
11620            gallery.inc
11621
11622David  10 Sept 2005
11623    - Server: don't require that app versions have same major version
11624        as scheduler code
11625
11626    sched/
11627        sched_shmem.C
11628
11629Bruce 10 Sept 2005
11630    - Web pages.  To control the posting of offensive pictures, do not
11631      display any user profile pictures until they have been verified by
11632      project admin.  When user enters or modifies picture, only they can
11633      see if.  If not yet verified, they will see a message saying that
11634      other users can't see it until it has been verified by the project.
11635      If admins have rejected it, user will see a message saying that they
11636      must replace their picture or no one but themselves can see it.
11637    - The only known side effect of this is that selection of UOTD is now
11638      done slightly differently by the uotd.inc functions.  Previously the only
11639      profiles with verification=1 were those with credit, so UOTD was
11640      selected from those.  Now there are profiles of users with zero credit
11641      that have verification=1.  So script that selects UOTD now does
11642      a table join to restrict profile searches to those of users with
11643      credit only.
11644
11645    html/
11646        inc/
11647            profile.inc
11648            uotd.inc
11649        ops/
11650            profile_screen_form.php
11651
11652Bruce 10 Sept 2005
11653    - transitioner was doing incorrect log accounting for OVER results.
11654
11655    sched/
11656        transitioner.C
11657
11658Janus 11 Sept 2005
11659    - (Rob) Cleanup of forum search action file + moderated posts no longer
11660      show up in the result listings.
11661    - Added translation tokens for this page
11662    - Changed page_head() to include a meta tag for CHARSET (if defined) for
11663      buggy IE 5.5 browsers that autodetect the charset to UTF7 (not 8)
11664      adding an extra +AF8- whereever underscore is used in links.
11665      Will keep an eye on this bug.
11666    - The teampage shouldn't use the HTML version of the teamname as page
11667      title and most certainly shouldn't use an extra parameter in page_head()
11668      to do it...
11669
11670    html/
11671        user/
11672            forum_text_search_action.php
11673        languages/translations/
11674            en.po
11675        inc/
11676            util.inc
11677            team.inc
11678
11679Bruce 13 Sept 2005
11680    - Scheduler: when resending 'lost' or 'ghost' WU, don't count this against
11681      the daily result quota for the host.
11682
11683    sched/
11684        sched_send.C
11685
11686Bruce 13 Sept 2005
11687    - Add BOINC_RCSID_ tags to those .C, .c and .cpp files that don't yet have
11688      them.
11689
11690    api/
11691    mac_icon.C
11692    make_app_icon_h.C
11693    texture.C
11694    client/
11695    gui_rpc_server_ops.C
11696    acct_setup.C
11697    gui_http.C
11698    DlgAbout.cpp
11699    clientgui/
11700    DlgOptions.cpp
11701    WizAttachProject.cpp
11702    WizAttachAccountManager.cpp
11703    DlgDialupCredentials.cpp
11704    DlgAccountManagerSignup.cpp
11705    DlgSelectComputer.cpp
11706    DlgAccountManagerStatus.cpp
11707    hyperlink.cpp
11708    Localization.cpp
11709    mac/
11710        MacSysMenu.cpp
11711        SetVersion.C
11712        mac_saver_module.cpp
11713    lib/
11714    gui_rpc_client_ops.C
11715    gui_rpc_client_print.C
11716    network.C
11717    mac_installer/
11718    LoginItemAPI.c
11719    PostInstall.cpp
11720    openssl/
11721    include/
11722        openssl/
11723        applink.c
11724    sched/
11725    sched_hr.C
11726    sched_array.C
11727    sched_resend.C
11728    win_build/
11729    installerv2/
11730        redist/
11731        Windows/
11732            src/
11733            boinccas/
11734                CADetectOldInstaller.cpp
11735                CAGetAdministratorsGroupName.cpp
11736                CAGetUsersGroupName.cpp
11737                CAGrantServiceExecutionRight.cpp
11738                CAPopulateServiceAccount.cpp
11739                CAShutdownBOINCManager.cpp
11740                CAValidateServiceAccount.cpp
11741                CAValidateSetupType.cpp
11742                CAVerifyServiceExecutionRight.cpp
11743                CAVerifyServicePassword.cpp
11744                boinccas.cpp
11745                lkuprid.cpp
11746                main.cpp
11747                stdafx.cpp
11748
11749
11750Bruce 13 Sept 2005
11751    - Scheduler: if admin has set min_sendwork_interval in config file, then
11752      include a delay request at least this big in EVERY sched reply.  Else
11753      if the hardwired standard delay in the client is smaller than
11754      min_sendwork_interval, the client will keep getting connections
11755      refused at the server side.  David, please give this a glance.
11756    - Logging: to help resolve future race conditions etc, I have modified
11757      the logging functions to print fractional seconds down to hundred
11758      microsecond precision.  I think the only place that these logging
11759      functions are used is in the server back-end code and in error logging
11760      on the client side, where this should be OK. Rom, David, Charlie, if
11761      you are unhappy with client side effects, I'm sure there is a way
11762      to do this that only affects server side logging.
11763
11764    sched/
11765        server_types.C
11766    lib/
11767        util.C
11768        util.h
11769        msg_log.C
11770
11771Charlie 13 Sept 2005
11772    - Mac: Change macintosh libe endings to UNIX line endings.
11773
11774    mac-installer/
11775        LoginItemAPI.C, h
11776
11777Rom    14 Sept 2005
11778    - Update to account management.
11779    - Override system defaults and specify timeouts for network transfers,
11780        network connections, and network speed.
11781
11782    client/
11783        http_curl.C
11784    clientgui/
11785        DlgAccountManagerSignup.cpp, .h (Removed)
11786        WizAttachAccountManager.cpp, .h
11787        WizAttachProject.cpp
11788    lib/
11789        gui_rpc_client.h
11790        gui_rpc_client_ops.C
11791
11792David  14 Sept 2005
11793    - The acct_mgr_rpc() GUI RPC now has a corresponding
11794        acct_mgr_rpc_poll() GUI RPC.
11795        The BOINC manager should use this
11796        to find out when the RPC has finished,
11797        and whether it succeeded.
11798
11799    NOTE: this eliminates the use of MSG_ALERT_ERROR and
11800    MSG_ALERT_INFO message types.
11801    We can take this code out of the Manager now.
11802
11803    client/
11804        acct_mgr.C,h
11805        gui_rpc_server_ops.C
11806    lib/
11807        gui_rpc_client.h
11808        gui_rpc_client_ops.C
11809
11810Bruce 14 Sept 2005
11811    - Backend: To prevent possible namespace confusion in the future, changed the
11812      name of elapsed_time() to elapsed_wallclock_time().
11813    - Backend logging statements on exit() which echo elapsed run time to logs now
11814      do this with much higher printed precision.
11815    - Backend logging, separate scheduler requests with an almost blank line
11816    - Scheduler: when host does not have enough memory, message to this effect
11817      now contains information about how many more bytes of memory are needed.
11818
11819    sched/
11820        file_upload_handler.C
11821        main.C
11822        sched_send.C
11823        sched_util.h
11824        sched_util.C
11825
11826Rom    16 Sept 2005 (from Walt Gribben)
11827    - Letting the OS cleanup instead of shutting things down ourselves is a bad idea,
11828        begin the process of cleaning up when shuting down so that things don't
11829        disappear in random places.
11830
11831      Basically the OS would free the heap before the graphics thread had shutdown
11832        when the machine was under load, this causes C0000005 errors since the
11833        pointers no longer point to memory that we own.
11834
11835    api/
11836        boinc_api.C
11837        graphics_api.C, .h
11838        graphics_impl.C, .h
11839        windows_opengl.C
11840    win_build/
11841        libboincapi.vcproj
11842
11843Rom    16 Sept 2005 (from Walt Gribben)
11844    - Use the client area of the window instead of the window size when drawing
11845        graphics on Windows.
11846
11847    api/
11848        windows_opengl.C
11849
11850David  17 Sept 2005
11851    - include math.h and not ieeefp.h in parse.C
11852
11853    lib/
11854        parse.C
11855
11856
11857Charlie 19 Sept 2005
11858    - Mac: Add backtrace to stderr after crashes.
11859    - Update XCode project for added and deleted souce files.
11860    - Make pipes more reliable by handling EINTR error from fgets.
11861
11862    api/
11863        mac_icon.C
11864    clientgui/
11865        BOINCGUIApp.cpp
11866        mac/
11867            mac_saver_module.cpp
11868    lib/
11869        diagnostics.C
11870        mac_backtrace.C, .h (new)
11871    mac_build/
11872        boinc.pbproj/
11873            project.pbxproj
11874    mac-installer/
11875        PostInstall.cpp
11876
11877David  19 Sept 2005
11878    - restore include of ieeefp.h (for Solaris)
11879
11880    lib/
11881        parse.C
11882
11883David  19 Sept 2005
11884    - added script (from Janus Kristensen)
11885        to convert HTML to BBCode.
11886        Currently just does forums.
11887        Should to profiles etc. too
11888
11889    html/ops/
11890        bbcode_convert.php
11891
11892Charlie 19 Sept 2005
11893    - Mac: Trim garbage off end of symbols in backtrace.
11894    - Fixed backtracing through signal handler.  This required
11895      determining the correct offset within sigtramp's stack
11896      frame of the pointer to the next stack frame; this varies
11897      among major versions of the macintosh OS.  I'm confident
11898      I have the correct value for OS 10.3, but three different
11899      offsets all contained the correct value in my tests on
11900      OS 10.4, so I'm less confident there.
11901
11902    lib/
11903        mac_backtrace.C, .h
11904
11905Matt 20 Sept 2005
11906    - added new file server_status.php to html/user which is a generic server
11907      status page, which can be run as a regular php page or as a standalone
11908      program (which can output static .html as well as .xml). Instructions
11909      for use are in the comments at the top.
11910    - fixed the function parse_element so that it returns *all* the text
11911      between open/close tags, not just the text between the opening tag
11912      and the next "<" sign.
11913    - made a new function parse_next_element which gives the user a cursor so
11914      that they can iterate through multiple similar tags (like <daemon>).
11915
11916    html/user/
11917        server_status.php
11918    html/inc/
11919        util.inc
11920
11921David  20 Sept 2005
11922    - code cleanup
11923
11924    html/
11925        inc/
11926            forum.inc
11927        ops/
11928            bbcode_convert.php
11929
11930Rom    20 Sept 2005 (staging)
11931    - Tag for 5.1.4 release, all platforms
11932      boinc_core_release_5.1.4
11933
11934David  20 Sept 2005
11935    - various fixes to bbcode_convert.php.
11936        Ran it on SETI@Home message boards; seems to work OK
11937
11938    html/ops/
11939        bbcode_convert.php
11940
11941Charlie 20 Sept 2005
11942    - Mac: Add BOINC library version number to backtrace.
11943
11944    lib/
11945        mac_backtrace.C
11946
11947Charlie 21 Sept 2005
11948    - Mac: Don't show stack frames of signal handler and of backtrace
11949      in backtrace.
11950
11951    lib/
11952        mac_backtrace.C
11953
11954David  21 Sept 2005
11955    - when benchmarking, suspend running applications the normal way
11956        (leave in memory or not, depending on general prefs)
11957        rather than always removing from memory.
11958        Note: there may already be suspended apps in memory,
11959        so killing running apps is pointless.
11960    - remove site-specific lines from _autosetup
11961
11962    _autosetup
11963    client/
11964        cs_prefs.C
11965
11966David  21 Sept 2005
11967    - feeder: add an -allapps option.
11968        This causes the feeder to get equal numbers of
11969        results from all applications.
11970        (The default behavior is that it gets results in
11971        whatever order the DB returns them in,
11972        which could give you lots of results for 1 app
11973        before getting around to another one).
11974        (from Carl Christensen)
11975
11976    NOTE: this enumerates the application table every
11977    time the work enumeration restarts - redundant.
11978    It would be better to pass in the application info
11979    from the feeder (which knows it already, it's in shared mem)
11980
11981    db/
11982        boinc_db.C,h
11983    sched/
11984        feeder.C
11985
11986Rom    21 Sept 2005
11987    - check-in core client support for project_init.xml
11988    - delete project_init.xml if we detach from that project
11989    - add the notion of cached credentials to acct_mgr_rpc and
11990        project_attach so that way we don't put any username
11991        and password stuff over the wire for remote core clients
11992    - disable boinc_shutdown_graphics() until the design can be
11993        finalized
11994    - adjust the boinc manager menus a bit
11995
11996    api/
11997        boinc_api.C
11998    client/
11999        acct_mgr.C
12000        acct_setup.C, .h
12001        client_state.C, .h
12002        file_names.h
12003        gui_rpc_server_ops.C
12004    clientgui/
12005        MainFrame.cpp
12006    lib/
12007        gui_rpc_client.h
12008        gui_rpc_client_ops.C
12009
12010David  22 Sept 2005
12011    - bug fix: the GUI RPCs for network mode were missing
12012        the AUTO case
12013
12014    client/
12015        gui_rpc_server_ops.C
12016
12017David  22 Sept 2005
12018    - we were assuming that if a scheduler RPC reply didn't
12019        have a user ID, it must be because of a bad account key.
12020        Not so - could also be major version mismatch with old schedulers
12021
12022    client/
12023        scheduler_op.C
12024
12025David  22 Sept 2005
12026    - Change "Macedonia, The Former Yugoslav Republic of" to "Macedonia"
12027        (that's how it's listed on the CIA site).
12028
12029    NOTE: projects should do the corresponding DB update
12030    html/ops/db_update.php
12031
12032    html/
12033        inc/
12034            countries.inc
12035        ops/
12036            db_update.php
12037
12038David  22 Sept 2005
12039    - Change the server status page to generate XML if
12040        there's an "?xml=1" in the URL.
12041        Also make it cache with 10-min update.
12042
12043    html/user/
12044        server_status.php
12045
12046David  22 Sept 2005
12047    - Call stripslashes() on passwords in PHP code;
12048        otherwise passwords with " and other chars don't work
12049    - Use name attribute on submits in login form,
12050        so the handler can tell the difference
12051
12052    html/
12053        inc/
12054            util.inc
12055        user/
12056            edit_passwd_action.php
12057            login_action.php
12058
12059David  23 Sept 2005
12060    - Redo the "clean up graphics thread before exit" logic.
12061        boinc_api.C now has a function pointer that gets set
12062        (in the Windows graphics case) to point to a cleanup function.
12063        This gets called in boinc_exit().
12064
12065        Got rid of boinc_shutdown_graphics_impl(),
12066        boinc_shutdown_options_graphics_impl(), boinc_shutdown_graphics().
12067        Let's try to keep it simple.
12068
12069    TODO: it's not clear to me that the graphics cleanup function
12070    will actually work.  Rom's going to redo it.
12071
12072    api/
12073        boinc_api.C,h
12074        graphics_api.C,h
12075        graphics_impl.C,h
12076        windows_opengl.C
12077
12078David  23 Sept 2005
12079    - removed #ifdefs involving BOINC_APP_GRAPHICS
12080
12081    api/
12082        boinc_api.C
12083        texture.C
12084
12085Jeff  23 Sept 2005
12086     - Removed the filename_hash_old() and the boolean "new_hash" from
12087       interface to dir_hier_path() and dir_hier_url().  A subsequesnt
12088       change will be to remove any now unneccessary calls to boinc_file_exists().
12089       Note that any project side code that calls dir_hier_path() and dir_hier_url()
12090       will have to have these calls modified.  For seti@home thses programs
12091       are the splitter, validator, and assimlator.
12092
12093     sched/
12094        file_upload_handler.C
12095        file_deleter.C
12096        make_work.C
12097        sched_locality.C
12098        wu_check.C
12099        validate_util.C
12100        sched_util.{C,h}
12101     tools/
12102        backend_lib.C
12103        dir_hier_move.C
12104        dir_hier_path.C
12105
12106David  24 Sept 2005
12107    - comment out profile picture verification stuff
12108
12109    html/
12110        inc/
12111            profile.inc
12112            util.inc
12113        ops/
12114            bbconvert.php
12115
12116Matt 25 Sept 2005
12117    - fixed missing comma in profile.inc
12118
12119    html/
12120        inc/
12121            profile.inc
12122
12123Rom    26 Sept 2005
12124    - Send the graphics window a WM_DESTROY message instead of using set_mode()
12125    - Merge the attach to project and account manager wizards
12126
12127      TODO: the acct_mgr_info gui rpc should not be returning actual username
12128        and password data anymore, only a flag that describes that the CC has the
12129        data.  It should also return whether it detected the acct_mgr_url.xml and
12130        acct_mgr_login.xml files.
12131
12132    api/
12133        windows_opengl.C
12134    clientgui/
12135        MainFrame.cpp
12136        stdwx.h
12137    clientgui/wizards/
12138        <Added numerous files>
12139    lib/
12140        gui_rpc_client.h
12141        gui_rpc_client_ops.C
12142    win_build/
12143        boincmgr_curl.vcproj
12144
12145Matt 26 Sept 2005
12146    - cleaned up xml output code for server_status.php
12147
12148    html/
12149        user/
12150             server_status.php
12151
12152    - fixed bugs in cache.inc to properly check to see if
12153      function apache_request_headers exists and act accordingly
12154
12155    html/
12156        inc/
12157            cache.inc
12158
12159David  26 Sept 2005
12160    - Restored the profile screening code, enabled by a
12161        <profile_screening/> flag in config.xml
12162
12163    html/inc
12164        profile.inc
12165
12166David  26 Sept 2005
12167    - moved server_stats.php from html/user/ to html/ops/
12168
12169David  26 Sept 2005
12170    - SCHED_MSG_LOG has an enum in which one element was DEBUG.
12171        This is defined as a preprocessor symbol if you configure
12172        with --enable-debug.
12173        So I changed it to MSG_DEBUG.
12174        For uniformity changed to MSG_NORMAL and MSG_CRITICAL also.
12175        (from Don Bashford)
12176
12177    sched/
12178        sched_msgs.h
12179        *.C
12180
12181Rom    27 Sept 2005
12182    - Some cleanup work related to the wizards.
12183    - Account manager projects now only need to specify the account
12184        manager root url in the acct_mgr_url.xml file as the core client
12185        will now add the rpc.php to the end of the url.
12186    - Fix a crashing condition I introduced earlier today tracking
12187        down a linux compile issue.
12188
12189    client/
12190        acct_mgr.C
12191        gui_rpc_server_ops.C
12192    clientgui/
12193        MainFrame.cpp
12194    clientgui/wizards/
12195        WizardAccountManager.cpp
12196        WizardAttachProject.cpp, .h
12197
12198Janus   27 Sept 2005
12199    - Made forum_post.php translatable
12200    - Added BBCode info link to the post edit page as well as warning against
12201      using obscene language etc.
12202
12203    html/
12204        inc/
12205            util.inc
12206        user/
12207            forum_post.php
12208        forum_edit.php
12209        languages/translations
12210            en.po
12211
12212David   27 Sept 2005
12213    - code cleanup:
12214        - remove bool has_* from PROJECT_INIT
12215            (just use string length)
12216        - in PROJECT_INIT, always keep URL in canonical form
12217        - PROJECT_INIT: clear it if delete file
12218        - in acct_mgr_info GUI RPC reply, use
12219            <have_credentials/> instead of <cached_credentials/>.
12220        - in project_attach and acct_mgr_rpc GUI RPC requests, use
12221            <use_config_file/> instead of <use_cached_credentials/>
12222        - in ACCT_MGR_INFO, rename cached_credentials to have_credentials
12223
12224    client/
12225        acct_setup.C,h
12226        client_state.C
12227        gui_rpc_server_ops.C
12228    clientgui/
12229        MainFrame.cpp
12230    lib/
12231        gui_rpc_client.h
12232        gui_rpc_client_ops.C
12233
12234David   27 Sept 2005
12235    - if doing CPU benchmarks, don't call most poll functions
12236
12237    client/
12238        client_state.C
12239
12240Rom    27 Sept 2005
12241    - Some more cleanup.
12242    - Remove old dialog templated from the DialogBlocks datafile.
12243
12244    clientgui/
12245        BOINCGUI.cst
12246        BOINCGUI.pjd
12247        MainFrame.cpp
12248    lib/
12249        gui_rpc_client.h
12250        gui_rpc_client_ops.C
12251
12252David   27 Sept 2005
12253    - finish the code to pass messages back to the Manager from
12254        1) project attach
12255        2) acct mgr RPC
12256        3) get project config
12257
12258    Rom: please add code to show these messages in Manager.
12259
12260    client/
12261        acct_setup.h
12262        cs_scheduler.C
12263        gui_rpc_server_ops.C
12264    clientgui/wizards/
12265        AccountManagerProcessingPage.cpp
12266        ProjectProcessingPage.cpp
12267    lib/
12268        gui_rpc_client.h
12269        gui_rpc_client_ops.C
12270
12271Rom    27 Sept 2005
12272    - Add server message support to the attach to project wizard.
12273    - Add the project name to the attach to project wizard title
12274        when it is known.
12275    - Fix a control id problem in the attach to project wizard.
12276    - Fixup the page transition code for the wizards when they
12277        skip the welcome screen and go straight to processing
12278        a request.
12279    - Calling PROJECT::attach_fail(0) is a bad thing.  It
12280        introduces false positives within the manager.
12281    - Dump out the server messages before dumping the value of
12282        error_num.
12283    - Trim the spaces before and after the url and account key
12284        text before attempting to validate.
12285
12286    client/
12287        cs_scheduler.C
12288        gui_rpc_server_ops.C
12289        scheduler_op.C
12290    clientgui/
12291        MainFrame.cpp
12292        ValidateAccountKey.cpp
12293        ValidateURL.cpp
12294    clientgui/wizards/
12295        BOINCWizards.h
12296        CompletionErrorPage.cpp, .h
12297        ProjectProcessingPage.cpp
12298        WizardAccountManager.cpp, .h
12299        WizardAttachProject.cpp, .h
12300    lib/
12301        error_numbers.h
12302        gui_rpc_client.h
12303        gui_rpc_client_ops.C
12304
12305Rom    28 Sept 2005
12306    - Backout the bugfix that keeps network i/o from happening during
12307        benchmarks.  It keeps the project_attach and acct_mgr_rpc calls
12308        from happening until after the benchmarks are completed.
12309    - Bug Fixes for the account manager wizard
12310    - Additional bgu fixes for the attach to project wizard.
12311
12312    client/
12313        client_state.C
12314        gui_rpc_server_ops.C
12315    clientgui/
12316        MainFrame.cpp
12317    clientgui/wizards/
12318        AccountInfoPage.cpp
12319        AccountManagerProcessingPage.cpp, .h
12320        AccountManagerPropertiesPage.cpp, .h
12321        CompletionPage.cpp
12322        ProjectProcessingPage.cpp
12323        ProjectPropertiesPage.cpp
12324        WizardAccountManager.cpp
12325        WizardAttachProject.cpp
12326    lib/
12327        gui_rpc_client.h
12328        gui_rpc_client_ops.C
12329
12330Rom    28 Sept 2005 (staging)
12331    - Tag for 5.1.5 release, all platforms
12332      boinc_core_release_5_1_5
12333
12334Reinhard        29 Sept 2005
12335        - Install header-files necessary for building workunit-generator externally linked to BOINC.
12336
12337        db/
12338           Makefile.am
12339           db_base.h
12340        lib/
12341           Makefile.am
12342        sched/
12343           Makefile.am
12344
12345Reinhard        29 Sept 2005
12346        - make getsockopt-len check insensitive to user's CPPFLAG-settings,
12347        in order to avoid this test failing because of higher warning-levels set in
12348        CPPFLAGS (as the test is using -Werror).
12349
12350        m4/
12351           boinc_getsockopt.m4
12352
12353Rom    29 Sept 2005
12354    - If somebody clicks the account manager menu item, they should get the
12355        account manager wizard.
12356    - Add a server message to the wizard that points out when the wizard
12357        receives a 404 from the server for lookup_account.php and
12358        create_account.php.
12359    - Add some text to the account info page that states that the default
12360        password for accounts created before the new authentication scheme
12361        is the account key.
12362
12363    clientgui/
12364        MainFrame.cpp
12365    clientgui/wizards/
12366        AccountInfoPage.cpp
12367        ProjectProcessingPage.cpp
12368
12369Reinhard        29 Sept 2005
12370    - added forgotten Mac-sources 'mac_backtrace.[Ch]' to build
12371
12372    lib/
12373       Makefile.am
12374
12375David  29 Sept 2005
12376    - added Python version of get_output_file_path()
12377        (from Alex A. dos Santos)
12378
12379    py/Boinc/
12380        tools.py
12381
12382Reinhard        29 Sept 2005
12383    - removed redundant configure-switch 'disable-static-linkage'
12384    - made '--enable-client-release' work as advertised [default=OFF!!]
12385    - make sure that only benchmark-sources have hardcoded -O3 applied to them.
12386    - removed spurious dependencies in tool to avoid pointless re-linking
12387
12388    configure.ac
12389    Makefile.am
12390    client/
12391        Makefile.am
12392    m4/
12393    sah_check_lib.m4
12394    tools/
12395    Makefile.am
12396
12397Rom    29 Sept 2005
12398    - Account not found page should show a finish button instead of a next
12399        button.
12400
12401    clientgui/wizards/
12402        WizardAttachProject.cpp
12403
12404Charlie 29 Sept 2005
12405    - Mac: Add new files clientgui/wizards/*.cpp and
12406      clientgui/wizards/*.h to XCode project.
12407
12408    mac_build/
12409        boinc.pbproj/
12410            project.pbxproj
12411
12412David  29 Sept 2005
12413    - check if $USE_PHPMAILER exists before using it
12414
12415    html/inc/
12416        email.inc
12417
12418Charlie 30 Sept 2005
12419    - Mac: remove obsolete files WizAttachProject.* and
12420      WizAccountManager.* from XCode project.  Fixed bug
12421      when compiling under OS 10.3.9 in script which unstuffs
12422      BOINCSaver.nib.sit.
12423    - Created new shell script to build XCode project from
12424      the command line; works under either OS 10.3.9 or
12425      OS 10.4.x.  See comments in BuildMacBOINC.sh for usage.
12426
12427      NOTE: Please be sure to explicitly list by name _all_ source
12428      files added or removed from this project in these checkin_notes,
12429      with the notation (new), (added) or (removed).  Thank you.
12430
12431    mac_build/
12432        BuildMacBOINC.sh (new shell script, not part of project)
12433        boinc.pbproj/
12434            project.pbxproj
12435
12436Rom    30 Sept 2005
12437    - Remove obsolete wizard files from the project.
12438    - Fix a sizer problem when switching from use existing account
12439        to create account when returning from an error page.
12440    - Fix the website buttons in the project tab after a detach from
12441        project.
12442    - Add keyboard accelerators for input fields.
12443        TODO: Add accelerators for the proxy page.
12444    - Use account creation policies against the 'use existing account'
12445        password.
12446
12447    clientgui/
12448        BOINCBaseView.cpp
12449        ViewProjects.cpp
12450        WizAttachProject.cpp, .h (removed)
12451        WizAttachAccountManager.cpp, .h (removed)
12452    clientgui/wizards/
12453        AccountInfoPage.cpp
12454        AccountManagerInfoPage.cpp
12455        ProjectInfoPage.cpp
12456
12457
12458Reinhard  30 Sept 2005
12459    - more error-checking in
12460    sched/
12461        file_upload_handler.C
12462
12463Rom    30 Sept 2005
12464    - If an internal server error happens on the web server during the
12465        wizard process, call it out so it can be tracked down.
12466
12467    clientgui/wizards/
12468        AccountManagerProcessingPage.cpp
12469        ProjectProcessingPage.cpp
12470
12471David  30 Sept 2005
12472    - Improve the client's file transfer backoff logic.
12473        Old: separate backoff for each file.
12474            Suppose a client has 10 results from a project,
12475            each with 5 input files, and server is down.
12476            It will try all 50 downloads, they all back off a minute,
12477            it tries all 50 again, etc.
12478            This is bad, especially if the download server
12479            is up but overloaded.
12480        New: maintain per-project backoff parameters as well
12481            (separate for upload/download directions).
12482            If a project gets 3 consecutive UL or DL failures,
12483            it goes into a random-exponential-length period
12484            of "project backoff" during which no transfers are started.
12485            During this period, individual file backoffs continue to accumulate,
12486            so that retries will be widely spread out when the client
12487            emerges from project backoff
12488            (this is a kludge, and hard to understand,
12489            but I can't think of a simpler way off the top of my head)
12490        From John F. Hall
12491
12492    client/
12493        client_types.C,h
12494        pers_file_xfer.C,h
12495
12496David  30 Sept 2005
12497    - A refinement of the above: if the user manually retries
12498        a file transfer, exit project-level backoff mode
12499        (suggested by John F. Hall)
12500
12501    client/
12502        gui_rpc_server_ops.C
12503
12504Rom    30 Sept 2005
12505    - The system tray code wasn't closing down on some Linux distros which
12506        was keeping the manager active without any way to shut it down. So
12507        I'm disabling the system tray code for this release on Linux and
12508        I'll look into fixing it in the next release cycle.
12509
12510    clientgui/
12511         BOINCGUIApp.cpp, .h
12512         MainFrame.cpp
12513
12514Janus  01 Oct 2005
12515    - Added "Report this post" option to the forum. It will send an email to
12516      the user/mailinglist specified in project.inc.
12517      All projects that want to make use of this feature should define an
12518      email address there like this (in html/project/project.inc):
12519      $forum_post_reporting_admin->email_addr="jbk@vgroup.dk";
12520      If not defined the users will get a warning when trying to use the
12521      feature.
12522    - Fixed a few missing includes in the profile screening ops section
12523
12524    html/
12525        inc/
12526            forum.inc
12527            email.inc
12528        user/
12529            forum_report_post.php
12530        ops/
12531            profile_screen_form.php
12532
12533Charlie 1 Oct 2005
12534    - Mac: Small fixes to make installer build script more robust.
12535
12536    mac_installer/
12537        release_boinc.sh
12538
12539David  2 Oct 2005
12540    - API: initialize sa_mask in sigaction() call (from Harold Naparst)
12541    - account_finish_action.php: send cookie to log in user
12542
12543    api/
12544        boinc_api.C
12545    client/
12546        acct_mgr.C
12547    html/user/
12548        account_finish_action.php
12549
12550David  3 Oct 2005
12551    - User web: on edit email form, give link to set/change password
12552        (from Bruce Allen)
12553
12554    html/user/
12555        edit_email_form.php
12556        edit_passwd_form.php
12557        login_action.php
12558
12559David  3 Oct 2005
12560    - Client: got rid of MAX_BLOB_LEN constant
12561        (which was deceptively defined as 4K; actual max blob is 64K)
12562        Replaced with:
12563        MAX_PROJ_PREFS_LEN (cs_prefs.C; 64K)
12564        MAX_FILE_INFO_LEN/MAX_SIGNATURE_LEN/MAX_KEY_LEN
12565            (client_types.h; 4K each)
12566        MAX_STDERR_LEN (client_state.C; 64K)
12567
12568    app.h
12569    client_state.C,h
12570    cs_account.C
12571    cs_prefs.C
12572
12573David  3 Oct 2005
12574    - fix login on complete account setup
12575        (needed session_start())
12576
12577    html/user
12578        account_finish_action.php
12579        login_action.php
12580
12581David  3 Oct 2005
12582    - API: on Mac, flush stderr before _exit()
12583        (from Rick X)
12584
12585    api/
12586        boinc_api.C
12587
12588David  3 Oct 2005
12589    - make email change work even if password not set
12590
12591    html/user/
12592        edit_email_action.php
12593
12594Rom    3 Oct 2005
12595    - Even though it is bad practice to change build tree structure during
12596        a code freeze, we are going to move the wizard files into the
12597        clientgui directory to get around some funky mac build environment
12598        problem.
12599    - Force Input focus on wizard pages that prompt for input on the text
12600        controls instead of leaving it to the dialog management code to
12601        figure out.
12602
12603    clientgui/
12604        AccountInfoPage.cpp, .h (Added)
12605        AccountKeyPage.cpp, .h (Added)
12606        AccountManagerInfoPage.cpp, .h (Added)
12607        AccountManagerProcessingPage.cpp, .h (Added)
12608        AccountManagerPropertiesPage.cpp, .h (Added)
12609        AlreadyAttachedPage.cpp, .h (Added)
12610        AlreadyExistsPage.cpp, .h (Added)
12611        BOINCBaseWizard.cpp, .h (Added)
12612        BOINCWizards.h (Added)
12613        CompletionErrorPage.cpp, .h (Added)
12614        CompletionPage.cpp, .h (Added)
12615        DlgAbout.cpp
12616        MainFrame.cpp
12617        Makefile.am
12618        NoInternetConnectionPage.cpp, .h (Added)
12619        NotDetectedPage.cpp, .h (Added)
12620        NotFoundPage.cpp, .h (Added)
12621        ProjectInfoPage.cpp, .h (Added)
12622        ProjectProcessingPage.cpp, .h (Added)
12623        ProjectPropertiesPage.cpp, .h (Added)
12624        ProxyPage.cpp, .h (Added)
12625        UnavailablePage.cpp, .h (Added)
12626        WelcomePage.cpp, .h (Added)
12627        WizardAccountManager.cpp, .h (Added)
12628        WizardAttachProject.cpp, .h (Added)
12629        wizardex.cpp, .h (Added)
12630    clientgui/wizards
12631        AccountInfoPage.cpp, .h (Removed)
12632        AccountKeyPage.cpp, .h (Removed)
12633        AccountManagerInfoPage.cpp, .h (Removed)
12634        AccountManagerProcessingPage.cpp, .h (Removed)
12635        AccountManagerPropertiesPage.cpp, .h (Removed)
12636        AlreadyAttachedPage.cpp, .h (Removed)
12637        AlreadyExistsPage.cpp, .h (Removed)
12638        BOINCBaseWizard.cpp, .h (Removed)
12639        BOINCWizards.h (Removed)
12640        CompletionErrorPage.cpp, .h (Removed)
12641        CompletionPage.cpp, .h (Removed)
12642        NoInternetConnectionPage.cpp, .h (Removed)
12643        NotDetectedPage.cpp, .h (Removed)
12644        NotFoundPage.cpp, .h (Removed)
12645        ProjectInfoPage.cpp, .h (Removed)
12646        ProjectProcessingPage.cpp, .h (Removed)
12647        ProjectPropertiesPage.cpp, .h (Removed)
12648        ProxyPage.cpp, .h (Removed)
12649        UnavailablePage.cpp, .h (Removed)
12650        WelcomePage.cpp, .h (Removed)
12651        WizardAccountManager.cpp, .h (Removed)
12652        WizardAttachProject.cpp, .h (Removed)
12653        wizardex.cpp, .h (Removed)
12654    lib/
12655        gui_rpc_client.C
12656        gui_rpc_client_ops.C
12657
12658Bruce 4 October 2005
12659
12660    - file_upload_handler: fix broken print statement format
12661      and don't generate an error when parsing client version
12662      release.  Karl, I think the broken print statement
12663      was introduced between rev 1.41 and rev 1.42.
12664
12665    sched/
12666        file_upload_handler.C
12667
12668David  4 October 2005
12669    - Fix problems with disk space management code, which can cause
12670        - violation of user disk usage prefs
12671        - server sends clients lots of results
12672            even though client has zero free disk space,
12673            and results will immediately error out.
12674        OLD:
12675            client: scheduler requests include disk space info
12676                (d_total and d_free),
12677                but they're the values at client startup,
12678                which may be way out of date!
12679                (e.g. free space may now be zero)
12680            server:
12681                Expected <total_disk_usage> in request message.
12682                This was removed a long time ago.
12683                The formula for computing max additional disk usage was wrong.
12684        NEW:
12685            client: scheduler requests includes
12686                - up-to-date values for d_total and d_free
12687                - up-to-date values for BOINC and project disk usage:
12688                    <d_boinc_used_total>, <d_boinc_used_project>
12689            server:
12690                Parse new scheduler request fields.
12691                If new fields are present,
12692                calculate max additional disk usage based on them.
12693    - Change to scheduler RPC requests:
12694        OLD:
12695            <resource_share_fraction> is sent, but it's actually
12696            potentially runnable resource share fraction.
12697            (Didn't matter; it's not currently used by server)
12698        NEW:
12699            <resource_share_fraction> (total resource share fraction)
12700            <rrs_fraction> (runnable resource share fraction)
12701            <prrs_fraction> (potentially runnable resource share fraction)
12702            ... are all sent.
12703            Future versions of the server may use them for
12704            disk and/or CPU allocation>
12705    - Commented out or deleted some unused code, e.g. all references to
12706        p_fpop_err, p_iop_err, p_membw_err
12707
12708    NOTES:
12709        1) If old client talks to new server,
12710            only the "min free" preference will be enforced.
12711        2) If old or new client talks to old server,
12712            no preferences are reliably enforced
12713        3) If new client talks to new server,
12714            all preferences are enforced,
12715            BUT project resource shares are not enforced.
12716            E.g. one project might hog all the disk space
12717            even though it's resource share is small and
12718            other projects need space.
12719            Need to figure out how to address this.
12720
12721    client/
12722        client_state.h
12723        cs_prefs.C
12724        cs_scheduler.C
12725        hostinfo_unix.C
12726    db/
12727        boinc_db.h
12728    lib/
12729        gui_rpc_client_ops.C
12730        hostinfo.C,h
12731    sched/
12732        sched_send.C
12733        server_types.C,h
12734
12735Charlie 4 Oct 2005
12736    - Mac: Update XCode project for new location of wizard files
12737      in build tree structure.
12738    - Update revision date in installer build script.
12739
12740    mac_build/
12741        boinc.pbproj/
12742            project.pbxproj
12743    mac_installer/
12744        release_boinc.sh
12745
12746Rom     5 Oct 2005
12747    - Remove the 'update all' button from the projects tab and add the
12748        'retry communications' menu item off the commands menu.
12749
12750    clientgui/
12751        Events.h
12752        MainFrame.cpp, .h
12753        ViewProjects.cpp, .h
12754
12755David  5 Oct 2005
12756    - In the confirm-before-connect modem case,
12757        do as much communication as possible.
12758        E.g. report all ready-to-report results.
12759
12760        Implementation:
12761        Add new variable CLIENT_STATE::have_sporadic_connection.
12762            Set to true on network_available RPC.
12763            Set to false when want_network returns false.
12764            Change CLIENT_STATE::want_network() so it waits 10 seconds
12765            after core client stops using network before returning false.
12766        If have_sporadic_connection is true, report results immediately.
12767
12768    client/
12769        client_state.C,h
12770        cs_scheduler.C
12771        net_xfer.C
12772
12773Rom    5 Oct 2005 (staging)
12774    - Tag for 5.1.7 release, all platforms
12775      boinc_core_release_5_1_7
12776
12777David  5 Oct 2005
12778    - before any _exit() (API, app start, etc.) do a fflush(NULL)
12779        (from Bruce Allen)
12780
12781    api/
12782        boinc_api.C
12783    client/
12784        app_start.C
12785        cs_benchmark.C
12786    clientgui/mac/
12787        mac_saver_module.cpp
12788
12789Rom    5 Oct 2005
12790    - Bug Fix: The manager should honor the account creation disabled flag
12791        correctly.  I don't understand why I changed it.
12792    - Bug Fix: Network preferences were dorked because we were setting the
12793        wrong variable.
12794
12795    client/
12796        gui_rpc_server_ops.C
12797    clientgui/
12798        AccountInfoPage.cpp
12799        MainFrame.cpp
12800
12801Rom    5 Oct 2005 (staging)
12802    - Tag for 5.1.8 release, all platforms
12803      boinc_core_release_5_1_8
12804
12805Bruce 7 Oct 2005
12806    - Emergency fix: prevent users from creating password<6 chars long
12807      using web-page interface.  David, Janus, the min password length
12808      needs to be parsed from a single place, eg config.xml, and used
12809      consistently in both PHP and client-side ops.
12810
12811    html/
12812        user/
12813            edit_passwd_action.php
12814
12815David  7 Oct 2005
12816    - Add optional <min_passwd_length> element to config.xml.
12817        The change-password web pages get min passwd length from here.
12818        The get_project_config.php RPC gets it from here also.
12819        Default in both cases is 6.
12820    - Add optional <client_account_creation_disabled/> element to config.xml.
12821        This is to be used by projects that have not
12822        updated to version 5 server software yet
12823        (i.e. that don't have create_account.php,
12824        and the database updates that go along with it).
12825        As soon as all projects have upgraded we can get rid of this.
12826
12827    client/
12828        pers_file_xfer.C
12829    html/user/
12830        edit_passwd_action.php
12831        sample_get_project_config.php
12832
12833David  7 Oct 2005
12834    - A couple of build-system changes,
12835        which I believe are from Eric Korpela but I'm not sure.
12836        Reinhard, please make sure these are OK
12837
12838    Makefile.incl
12839    m4/
12840        sah_check_lib.m4
12841
12842David  7 Oct 2005
12843    - get_project_config.php now gets all its info from config.xml,
12844        so there's no reason to have project-specific variants.
12845
12846    html/user/
12847        rename sample_get_project_config.php to get_project_config.php
12848
12849Rom    7 Oct 2005
12850    - Limit which types of characters can be used for passwords.
12851        Standard ASCII is all we care about for now.
12852
12853    clientgui/
12854        AccountInfoPage.cpp
12855
12856David  7 Oct 2005
12857    - don't allow non-ASCII passwords in PHP code
12858    - add some WU fields (target_nresults, max_*_results, etc.)
12859        to web page display
12860    - change "master page" to "master file" in client messages
12861        (from Paul Buck)
12862
12863    client/
12864        scheduler_op.C
12865    html/user/
12866        edit_password_action.php
12867        workunit.php
12868
12869Rom    7 Oct 2005
12870    - If the network connection is set to always, then user
12871        perferences should not be checked.
12872
12873    client/
12874        cs_prefs.C
12875
12876David  8 Oct 2005
12877    - password change used mb_detect_encoding(),
12878        which apparently isn't included by default,
12879        to check for non-ASCII.  Use hand_written check instead.
12880
12881    html/user/
12882        edit_passwd_action.php
12883
12884David  8 Oct 2005
12885    - If user doesn't belong to team, send <team_name></team_name>
12886        in scheduler reply
12887        (otherwise client doesn't know when user has quit team)
12888    - Don't print "process PID x not found" if we're benchmarking;
12889        the process is a benchmark process, not an app
12890
12891    client/
12892        app_control.C
12893    sched/
12894        server_types.C
12895
12896Rom    8 Oct 2005
12897    - Bug Fix: BroadcastSystemMessage on Win95 aparently doesn't follow
12898        the ANSI vs. Wide Character naming rules.  So extract the function
12899        pointer at runtime and call it instead of relying on the program
12900        loader to do it.
12901
12902    client/win
12903        win_screensaver.cpp, .h
12904
12905Rom    8 Oct 2005
12906    - Bug Fix: Win9x doesn't send console events correctly during shutdown
12907        and so BOINC used to keep the system from being able to shutdown.
12908        So if we detect we are executing on a Win9x machine, we'll skip
12909        registering the console event handler.
12910
12911    client/
12912        main.C
12913
12914Rom    8 Oct 2005
12915    - Bug Fix: Don't display web site buttons on GTK or Motif environments
12916        since they don't have an easy way to get the default browser
12917        information for now.
12918
12919    clientgui/
12920        ViewProjects.cpp
12921
12922David  9 Oct 2005
12923    - Core client: on app start, if can't clear out slot directory,
12924        then rename it to slots/DELETE_ME_slot_time and make a new one.
12925        This should deal with situations where a virus-check program
12926        locks a link file (typically .exe) and we can't delete it.
12927        Thanks to Pete Benac for reporting this.
12928
12929    client/
12930        app_start.C
12931        file_names.C,h
12932    lib/
12933        filesys.h
12934
12935Rom    8 Oct 2005
12936    - Backout previous bug fix with the web site buttons.  Apparently some
12937        distro's don't install a mailcap file by default.
12938
12939    clientgui/
12940        ViewProjects.cpp
12941
12942Rom    8 Oct 2005
12943    - Display an informational dialog on Linux when the text/html mime type
12944        doesn't point to a browser.  Inform the user that they may need to
12945        install the 'mailcap' package or the 'mime' package so the manager
12946        knows which browser to launch.
12947
12948    clientgui/
12949        hyperlink.cpp
12950
12951Rom    9 Oct 2005 (staging)
12952    - Tag for 5.1.9 release, all platforms
12953      boinc_core_release_5_1_9
12954
12955David  9 Oct 2005
12956    - Core client: try to delete slots/DELETE_ME_* directories on startup
12957    - Scheduler: return at most one "Your computer has only X memory, needs Y"
12958        message in scheduler RPC reply
12959    - return error if no end element in a couple of XML parse functions
12960        (from Chris Sutton)
12961
12962    client/
12963        app.C
12964        client_state.C
12965        file_names.C,h
12966    lib/
12967        hostinfo.C
12968        proxy_info.C
12969    sched/
12970        sched_send.C
12971
12972Charlie 10 Oct 2005
12973    - Mac: Update XCode project to remove unwanted copy of header files
12974      into built BOINCManager.app bundle.
12975
12976    mac_build/
12977        boinc.pbproj/
12978            project.pbxproj
12979
12980Rom    10 Oct 2005
12981    - Notifications do not need to be confirmed with an OK dialog box.
12982        Win98 doesn't have balloons and we were still waiting on user
12983        input even when the user had specified automatic dialing and
12984        hang-up operations.
12985
12986    clientgui/
12987        MainFrame.cpp
12988
12989Rom    10 Oct 2005 (staging)
12990    - Tag for 5.1.10 release, all platforms
12991      boinc_core_release_5_1_10
12992
12993Rom    10 Oct 2005 (stable)
12994    - Tag for 5.2.0 release, all platforms
12995      boinc_core_release_5_2_0
12996
12997David  10 Oct 2005
12998    - core client: fix bug introduced yesterday:
12999        check if slots directory doesn't exist yet
13000        before cleaning out DELETE_ME subdirs
13001
13002    client/
13003        file_names.C
13004
13005Rom    10 Oct 2005 (stable)
13006    - Tag for 5.2.1 release, all platforms
13007      boinc_core_release_5_2_1
13008
13009Rom    11 Oct 2005 (HEAD, staging, stable, boinc_core_release)
13010    - When all other methods for determining which browser to use
13011        for website links fail, use the BROWSER environment variable.
13012        (from Jens Seidler)
13013
13014    clientgui/
13015        hyperlink.cpp
13016    locale/client/en_US/
13017        BOINC Manager.po, .mo
13018
13019Bruce 11 Oct 2005
13020    - Fix bug in cancel WU script
13021    - Add WU name to graphics window title.
13022      TODO: add app_version_num to window title.
13023      David or Rom, could you add app_version_num to struct APP_INIT_DATA?
13024
13025    html/
13026        ops/
13027            cancel_wu_action.php
13028
13029    api/
13030        x_opengl.C
13031        windows_opengl.C
13032
13033Charlie 12 Oct 2005
13034    - Mac: remove warning from installer ReadMe about projects incompatible
13035      with Wizard (in preparation for version 5.2.2)
13036
13037    mac_installer/
13038        ReadMe.rtf
13039
13040David  12 Oct 2005
13041    - scripts: disable "add", add comments to "xadd"
13042    - Client: make "Communication deferred" message INFO rather than ERROR
13043
13044    client/
13045        cs_scheduler.C
13046    sched/
13047        server_types.C
13048    tools/
13049        add
13050        xadd
13051
13052David  12 Oct 2005
13053    - Add app version # to window title:
13054        - add app_version to APP_INIT_DATA structure
13055        - initialize it in ACTIVE_TASK::write_app_init_data_file()
13056        - make new function get_window_title() so we don't have
13057            to worry about consistency of X/WIn code
13058
13059    api/
13060        graphics_impl.C,h
13061        windows_opengl.C
13062        x_opengl.C
13063    client/
13064        app_start.C
13065    lib/
13066        app_ipc.C,h
13067
13068David  12 Oct 2005
13069    - Cleaned up account-creation code.
13070        Got rid of a bunch of old stuff.
13071        There are now two ways to create an account
13072        1) via client
13073            - Enter email and password in BOINC manager
13074            - BOINC manager eventually brings up account_finish.php,
13075                which asks you for name/country/zip.
13076        2) via web
13077            - Enter email/password/name/country/zip in one form
13078
13079        Both paths leave you at the "Your account" page,
13080        with some extra text at the beginning,
13081        telling you to set your preferences,
13082        and (in case 2) to make sure you've downloaded the client software.
13083
13084    html/
13085        inc/
13086            util.inc
13087        user/
13088            account_created.php (removed)
13089            account_finish_action.php
13090            account_setup.php (removed)
13091            account_setup_first.php (removed)
13092            account_setup_first_action.php (removed)
13093            account_setup_first_done.php (removed)
13094            account_setup_first_download.php (removed)
13095            account_setup_nonfirst.php (removed)
13096            account_setup_nonfirst_action.php (removed)
13097            account_setup_nonfirst_done.php (removed)
13098
13099Charlie 12 Oct 2005
13100    - Mac: update BOINC build shell script to:
13101      - not require cmpatibility SDK if building under OS 10.3.x
13102      - work without "source" command; i.e ./BuildMacBOINC.sh now
13103        works.  Thanks to Reinhard for his assistance.
13104
13105    mac_build/
13106        BuildMacBOINC.sh
13107
13108Janus  13 Oct 2005
13109    - The HTML version of the teamname wasn't displayed correctly on the
13110      teampages.
13111
13112    html/
13113        inc/
13114            team.inc
13115        user/
13116            team_edit_form.php
13117
13118David  13 Oct 2005
13119    - include text_transform.inc and db_forum.inc in profile.inc
13120        (fixed bug in UOTD-review page)
13121    - remove includes of forum.inc and text_transform.inc from view_profile.php
13122
13123    NOTE: a PHP file (like other languages) should include ONLY
13124        the .inc files for the functions that it itself uses
13125
13126    html/
13127        inc/
13128            profile.inc
13129        user/
13130            view_profile.php
13131
13132David  13 Oct 2005
13133    - disable change of 30 Sept 2005
13134        We've had reports of file transfer not starting, without explanation.
13135        I'm not sure why, but it seems like this is a possible cause.
13136
13137    client/
13138        pers_file_xfer.C
13139
13140David  13 Oct 2005
13141    - generalize random-string generator
13142
13143    lib/
13144        hostinfo.C,h
13145
13146David  13 Oct 2005
13147    - Fix a moderate security loophole in GUI RPC.
13148        Old: by default, core client doesn't create a password file
13149            (gui_rpc_auth.cfg).
13150            Therefore any process on the local host can connect to it;
13151            even processes belonging to other users.
13152            So if user X is running BOINC, evil user Y can use GUI
13153            RPCs to attach BOINC to a rogue project,
13154            causing bad code to run as user X.
13155        New: on startup, if the core client doesn't find a password file,
13156            it creates one, writes a long random string to it,
13157            and (on Unix) makes it user-read/write only.
13158            The BOINC Manager, when connecting to the local host,
13159            looks for a password file in the current directory.
13160
13161        Bottom line: a user running BOINC is now protected against
13162        other users on the same host.
13163
13164        NOTE: this could cause some angst for Mac users,
13165        if they expect things to work the same for all users.
13166
13167    client/
13168        gui_rpc_server.C
13169    clientgui/
13170        MainDocument.cpp
13171
13172David  16 Oct 2005
13173    - User web: fix bug that caused very few profiles to
13174        appear in user profile "Photo Gallery"
13175    - User web: fix bug that caused nav-bar links in profile
13176        pages to be broken links
13177
13178    Note: this required adding an optional 2nd "prefix" argument to
13179    the project-supplied "project_banner()" and "project_footer()" functions.
13180    This is a string that must be prepended to any relative links
13181    generated by those functions.
13182
13183    html/
13184        inc/
13185            gallery.inc
13186            util.inc
13187        ops/
13188            update_profile_pages.php
13189
13190Rom    17 Oct 2005 (HEAD, staging, stable, boinc_core_release)
13191    - Include the URL that a web browser needs to open up in the message
13192        box if the default browser cannot be determined.
13193
13194    clientgui/
13195        hyperlink.cpp
13196
13197Rom    17 Oct 2005 (stable)
13198    - Tag for 5.2.2 release, all platforms
13199      boinc_core_release_5_2_2
13200
13201Rom    17 Oct 2005
13202    - Bug Fix: graphics_api.C needed to include boinc_win.h before the other
13203        header files so that data types like HANDLE and HINSTANCE can be
13204        resolved correctly.
13205
13206    api/
13207        graphics_api.C
13208
13209Bruce 17 Oct 2005
13210    - Feeder: removed obsolete #defines for PID file and lockfile.
13211      Trigger file to re-read database is now reread_db in the project
13212      root direcory, consistent with other BOINC trigger files, rather
13213      than in the tmp_project_name subdirectory.
13214    - Log detection/removal of trigger file.
13215
13216    sched/
13217        feeder.C
13218
13219Reinhard 19 Oct 2005
13220    - put explicit version-checks into _autosetup so the user knows right-away if
13221      he needs to install newer versions of autoconf&automake&Cie.
13222     [taken from E@H-buildscript 'eah_build.sh']
13223
13224    ./_autosetup
13225
13226David  20 Oct 2005
13227    - removed declaration of g_hIdleDetectionDll from lib/hostinfo.h
13228        (what the heck was it doing there??)
13229
13230    lib/
13231        hostinfo.h
13232
13233David  20 Oct 2005
13234    - core client: delete project_init.xml only on detach via GUI RPC
13235        (not on detach due to initial master file fetch failure)
13236
13237    client/
13238        client_state.C
13239        gui_rpc_server_ops.C
13240    html/inc/
13241        host.inc
13242
13243David  20 Oct 2005
13244    - core client: fix bug where core client would detach
13245        from a tentative project when its master page
13246        had been downloaded and parsed successfully,
13247        but its schedulers weren't up.
13248
13249    client/
13250        scheduler_op.C
13251
13252Rom    19 Oct 2005
13253    - Bug Fix: use strLink instead of strBuffer when describing the URL to
13254        go to on Linux when a browser cannot be detected.
13255
13256    clientgui/
13257        hyperlink.cpp
13258
13259Rom    19 Oct 2005
13260    - Include localization files in the Linux sea.
13261
13262    sea/
13263        Makefile.am
13264        make-tar.sh
13265        make-tar_debug.sh
13266
13267Rom    19 Oct 2005 (stable)
13268    - Tag for 5.2.3 release, all platforms
13269      boinc_core_release_5_2_3
13270
13271Rom    19 Oct 2005 (stable)
13272    - Tag for 5.2.4 release, all platforms
13273      boinc_core_release_5_2_4
13274
13275Charlie 20 Oct 2005
13276    - Mac: update BOINC build shell script to copy only *.mo localization files
13277      to avoid wasting space on CVS and *.po files which are not needed; adapted
13278      from Rom's make-tar.sh script.
13279
13280    mac_installer/
13281        release_boinc.sh
13282
13283Rom    20 Oct 2005
13284    Bug Fix: Some versions of Windows do not support RAS by default and so
13285        wxWidgets complains when it can't find it.  What is worse is we end up
13286        dereferencing a null pointer when somebody tries to bring up the
13287        options dialog.  If we detect the null pointer disable all the
13288        controls on the networking/communications tab.
13289
13290    clientgui/
13291        MainFrame.cpp, .h
13292
13293Charlie 21 Oct 2005
13294    - Mac: Update XCode project to make sure plist files are updated _before_
13295      they are copied into build products.
13296
13297    mac_build/
13298        boinc.pbproj/
13299            project.pbxproj
13300
13301David  22 Oct 2005
13302    - Prevent the "merge host" feature from being used
13303        to merge distinct hosts
13304        (and create host records with exaggerated credit totals).
13305        Hosts X and Y are considered "compatible" (for merging)
13306            only if X.rpc_time < Y.create_time or vice-versa.
13307    - When merging hosts X and Y,
13308        a) decay their expavg_credit prior to adding and updating
13309        b) set create_time to the min of the two
13310        c) if the target is older, update its rpc_time and rpc_seqno
13311
13312    html/
13313        inc/
13314            host.inc
13315        user/
13316            host_edit_action.php
13317            host_edit_form.php
13318
13319David  23 Oct 2005
13320    - fix compile warnings
13321
13322    client/
13323        client_state.C
13324    lib/
13325        host_info.C,h
13326    sched/
13327        file_deleter.C
13328        server_types.C
13329        validator.C
13330
13331David  23 Oct 2005
13332    - fix bugs in checkin-before-last.
13333        When merge hosts X into Y with X < Y,
13334        don't change Y's create time.
13335        If you do, and there are hosts Z with X < Z < Y,
13336        the user won't be able to merge Z into Y.
13337        Also fix typos in SQL queries.
13338
13339    html/
13340        inc/
13341            host.inc
13342        user/
13343            host_edit_action.php
13344
13345Rom    24 Oct 2005
13346    - Bug Fix: Win9x should not lock-up during a shutdown/logoff
13347        operation.  I had to introduce a hack since MS never decided
13348        to fix that console signal bug.  This change only effects
13349        Win95/Win98/WinME.
13350    - Trace Messages on Debug builds should be displayed even when
13351        libboinc is compiled as a release build.
13352
13353    clientgui/
13354        main.C
13355    lib/
13356        diagnostics.C
13357
13358Charlie 25 Oct 2005
13359    - Mac: Work around a bug which caused the core client to block
13360      after receipt of SIGTERM, SIGHUP, SIGINT or SIGQUIT, preventing
13361      the main loop from processing the exit request.
13362
13363      client/
13364        gui_rpc_server.C
13365
13366David  25 Oct 2005
13367    - "boinc_cmd" looks for a password in gui_rpc_auth.cfg
13368
13369    client/
13370        acct_setup.C
13371    lib/
13372        boinc_cmd.C
13373
13374David  25 Oct 2005
13375    - avoid SQL injection attack
13376
13377    sched/
13378        server_types.C
13379
13380David  27 Oct 2005
13381    - Charlie's fix of 25/10/05 works for all Unix, as far as I can tell.
13382
13383    client/
13384        gui_rpc_server.C
13385
13386Rom    27 Oct 2005 (stable)
13387    - Tag for 5.2.5 release, all platforms
13388      boinc_core_release_5_2_5
13389
13390David  27 Oct 2005
13391    - make GUI RPC passwords more randomly.
13392        e.g. on Unix use /dev/random
13393    - move calculate_exponential_backoff()
13394        from lib/util.C to client/client_state.C
13395    - remove commented-out RSAEURO references
13396
13397    client/
13398        client_state.C,h
13399        gui_rpc_server.C
13400    lib/
13401        crypt.C
13402        crypt_prog.C
13403        hostinfo.C
13404        md5_file.C,h
13405        util.C,h
13406
13407David  27 Oct 2005
13408    - core client: parse fpops_per_cpu_sec, fpops_cumulative from app
13409        (This way of assigning credit didn't work because of this)
13410
13411    client/
13412        app_control.C
13413
13414David  27 Oct 2005
13415    - file upload handler: in file size query, reject names with ".."
13416    - fix possible buffer overruns in file upload handler
13417
13418    sched/
13419        file_upload_handler.C
13420
13421David  28 Oct 2005
13422    - user web: updates to reflect client version 5.x
13423        (don't need "create account" anymore)
13424
13425    html/
13426        languages/translations/
13427            en.po
13428        user/
13429            create_account_form.php
13430            sample_index.php
13431
13432David  28 Oct 2005
13433    - don't show languages like 50845_en in language_select page
13434
13435    html/inc/
13436        translation.inc
13437
13438David  28 Oct 2005
13439    - add a little translation stuff to sample_index_index.php
13440
13441    html/
13442        inc/
13443            translation.inc
13444            util.inc
13445        user/
13446            sample_index.php
13447
13448David  29 Oct 2005
13449    - added an optional command_line argument to create_work().
13450        Lets you create workunits with different command lines
13451        without having to use different workunit template files
13452
13453    tools/
13454        backend_lib.C,h
13455
13456David  30 Oct 2005
13457    - restore report_app_status() to API
13458
13459    api/
13460        boinc_api.C
13461
13462David  31 Oct 2005
13463    - Add a sched config entry <fp_benchmark_weight> (0..1)
13464        that specifies the weight given to the
13465        floating-point (Whetstone) benchmark in credit calculations.
13466
13467        Projects should set this to the fraction of their
13468        arithmetic operations that are floating-point.
13469
13470        I also checked in a script, credit_study.php,
13471        that samples various values for fp_benchmark_weight
13472        and computes the variance in claimed credit that each one produces
13473        (based on results currently in the DB).
13474        Use the lowest one.
13475
13476    html/ops/
13477        credit_study.php
13478    sched/
13479        handle_request.C
13480        sched_config.C,h
13481
13482David  1 Nov 2005
13483    - Addendum to yesterday's checkin.
13484        It turns out that, on average, the int benchmark
13485        is twice the FP benchmark.
13486        So if a project were to set its fp_benchmark_weight to 1,
13487        the average credit per CPU second would decrease by 1/3.
13488        Similarly it would increase if fp_benchmark_weight were 0.
13489
13490        To fix this, I added a scaling factor that maintains a
13491        constant average credit per CPU second
13492        (the same average as the current 50/50 weighting)
13493        regardless of fp_benchmark_weight.
13494
13495    - relax Curl timeout parameters; apparently some users going through
13496        proxies were geting consistent timeout.
13497
13498    client/
13499        http_curl.C
13500    sched/
13501        handle_request.C
13502
13503Charlie 1 Nov 2005
13504    - Mac: Augment David's security change of 13 Oct for BOINC Manager.
13505      Because Manager has set-uid bit, it always runs with owner as
13506      effective user, so any logged-in user could attach to a rogue
13507      project using BOINC Manager.  If logged-in user is not owner, we
13508      now invokes Mac OS's authorization dialog to requires administrator
13509      password to attach to projects.  The Mac OS automatically localizes
13510      this dialog for us.
13511
13512    clientgui/
13513        MainFrame.cpp
13514        Mac_GUI.cpp (new)
13515        MacGUI.pch
13516    mac_build/
13517        boinc.pbproj/
13518            project.pbxproj
13519
13520Rom    2 Nov 2005
13521    - Catch exceptions thrown by the STL library when vectors may not contain
13522        the requested data.  For some reason the list views are trying to
13523        populate themselves with data during a connection cycle which means
13524        the various tabs cache's are empty.  We now just return an empty string
13525        in this condition.  This should clean up a few crash conditions on
13526        platforms other than Windows.
13527
13528    clientgui/
13529        BOINCBaseView.cpp
13530        MainFrame.cpp
13531        ViewProjects.cpp
13532        ViewResources.cpp
13533        ViewTransfers.cpp
13534        ViewWork.cpp
13535
13536David  2 Nov 2005
13537    - core client: fix bad formula for computing CPU time remaining
13538
13539    client/
13540        app.C,h
13541
13542David  2 Nov 2005
13543    - user web: the line
13544
13545        $profile->verification = 0;
13546
13547        in profile.inc prevented anyone from creating a new profile
13548        with a picture.
13549        This is because the $profile argument  process_create_result()
13550        is null iff it's a new profile.
13551        The above assignment makes $profile not null,
13552        which screws up the logic.
13553        (from David Kim)
13554
13555    html/inc/
13556        profile.inc
13557
13558David  2 Nov 2005
13559    - Manager: don't show upload progress > 100%
13560
13561    clientgui/
13562        ViewTransfers.cpp
13563
13564David  2 Nov 2005
13565    - API: replace boinc_fpops_per_cpu_sec(double fp) with
13566        boinc_ops_per_cpu_sec(double fp, double integer),
13567        and similarly for boinc_fpops_cumulative().
13568        Some apps (like PrimeGrid) do mostly integer.
13569    - corresponding changes to core client and scheduler
13570
13571    api/
13572        boinc_api.C,h
13573    client/
13574        app_control.C
13575        client_types.C,h
13576    db/
13577        boinc_db.h
13578    sched/
13579        handle_request.C
13580        server_types.C
13581
13582Charlie 3 Nov 2005
13583    - Fix numerous compiler warnings.
13584
13585    api/
13586        gutil.C
13587    clientgui/
13588        AccountManagerProcessingPage.cpp
13589        BOINCTaskBar.cpp
13590        MainFrame.cpp
13591        ProjectProcessingPage.cpp
13592        ViewStatistics.cpp
13593        WizardAccountManager.cpp
13594        WizardAttachProject.cpp
13595        mac/
13596            MacSysMenu.cpp
13597
13598David  4 Nov 2005
13599    - core client: close the descriptor returned by mkstemp().
13600        This prevented the file from being deleted later.
13601
13602    client/
13603        http_curl.C
13604
13605Rom    7 Nov 2005
13606    - Another round of sting cleanup.
13607
13608    clientgui/
13609        AccountInfo.cpp, .h
13610        AccountManagerPropertiesPage.cpp
13611        MainFrame.cpp
13612        NotFoundPage.cpp, .h
13613    locale/client/en_US/
13614        BOINC Manager.po
13615        BOINC Manager.mo
13616
13617Rom    7 Nov 2005
13618    - Use GlobalMemoryStatusEx instead of GlobalMemoryStatus so that
13619        we can detect memory sizes larger than 4GB in size.
13620
13621    client/win/
13622        hostinfo_win.cpp
13623
13624Rom    7 Nov 2005 (stable)
13625    - Tag for 5.2.7 release, all platforms
13626      boinc_core_release_5_2_7
13627
13628Charlie 7 nov 2005
13629    - Mac: update scripts to be compatible with XCode 2.1 as well as 1.x.
13630
13631    mac_build/
13632        boinc.pbproj/
13633            project.pbxproj
13634    mac_installer/
13635        release_boinc.sh
13636
13637Rom    8 Nov 2005
13638    - Set the result state to RESULT_COMPUTE_ERROR for an aborted result
13639        otherwise the CPU scheduler will just attempt to reassign it
13640        to a free CPU.
13641    - Convert some commented out trace statements into scoped messages
13642
13643    client/
13644        app_control.C
13645        app_start.C
13646        cs_apps.C
13647
13648David  9 Nov 2005
13649    - Core client: every 2 weeks, contact the BOINC web site,
13650        see if there's a newer version, and print a message if so.
13651        Only do this while a scheduler RPC is happening
13652        (to avoid unnecessary dialups, e.g.)
13653    - Core client: if a scheduler returns a new host ID
13654        (indicating that our statefile was copied from another host)
13655        generate a new host CPID
13656        (suggested by Rob Oglivie)
13657
13658    client/
13659        acct_setup.C,h
13660        client_state.C,h
13661        cs_benchmark.C
13662        cs_scheduler.C
13663        cs_statefile.C
13664        file_names.h
13665        scheduler_op.C
13666
13667Charlie 11 nov 2005
13668    - Update BOINC Manager web page
13669
13670    doc/
13671        manager.php
13672        mgrtransfers.png
13673        mgrdisk.png
13674        mgrmessages.png
13675        mgrstatistics.png
13676        mgrprojects.png
13677        mgrwork.png
13678        mgrsystraymenu.png
13679
13680David  11 Nov 05
13681    - Core client: when do a "get newer version" RPC,
13682        save the results in the client state file.
13683    - Add GUI RPC for getting the newer version number.
13684
13685    client/
13686        acct_setup.C
13687        client_state.h
13688        cs_statefile.C
13689        gui_rpc_server_ops.C
13690    lib/
13691        gui_rpc_client.h
13692        gui_rpc_client_ops.C
13693
13694David  12 Nov 2005
13695    - typo fix
13696
13697    client/
13698        cs_statefile.C
13699
13700David  12 Nov 2005
13701    - add "venue" to acct mgr RPCs
13702
13703    html/user/
13704        am_get_info.php
13705        am_set_info.php
13706
13707David  13 Nov 2005
13708    - fix compile warnings
13709
13710    lib/
13711        crypt.C
13712
13713David  13 Nov 2005
13714    - Manager: initialize buffer when read password from file
13715
13716    clientgui/
13717        MainDocument.cpp
13718
13719David  14 Nov 2005
13720    - the show_user.php web RPC now returns
13721        CPIDs, host CPIDs, default venue, and host venues
13722    - added new rpc, am_set_host_info.php, for setting host venue
13723        See http://boinc.berkeley.edu/web_rpc.php
13724
13725    html/
13726        inc/
13727            xml.inc
13728        user/
13729            am_set_host_info.php (new)
13730
13731Rom    14 Nov 2005
13732    - Bug Fix: Force a refresh of the statistics window on a resize event.
13733    - Bug Fix: Prepopulate the password box on the Select Computer dialog
13734        when the participant types in localhost for the computer name.
13735    - Bug Fix: Try and make the options dialog automatically adjust it's size
13736        by removing the specific sizes put in for wxWidgets 2.4.x
13737
13738    clientgui/
13739        BOINCGUI.pjd
13740        DlgSelectComputer.cpp, .h
13741        DlgOptions.cpp
13742        MainDocument.cpp, .h
13743        MainFrame.cpp
13744        ViewStatistics.cpp, .h
13745
13746Janus  16 Nov 2005
13747    - Team search is a substring search rather than prefix search now.
13748
13749    html/user/
13750        team.php
13751        team_lookup.php
13752
13753Charlie 17 Nov 2005
13754    - Mac: fix stutter in screen saver scrolling text.
13755
13756    clientgui/
13757        mac/
13758            mac_saver_module.cpp
13759
13760Charlie 18 Nov 2005
13761    - Fix compiler warning (unused variable)
13762
13763    client/
13764        acct_setup.C
13765
13766Charlie 19 Nov 2005
13767    Updated information for Mac clients on web site.
13768
13769    doc/
13770        bare_core.php
13771        mac_advanced.php
13772        screensaver.php
13773
13774David  20 Nov 2005
13775    - Scheduling server: change log printfs to write client
13776        version numbers as maj.min.release
13777
13778    sched/
13779        handle_request.C
13780
13781David  20 Nov 2005
13782    - lookup account web RPC:
13783        If user's passwd_hash is empty, initialize it based on account key
13784        (from Bruce Allen)
13785
13786    html/user/
13787        lookup_account.php
13788
13789Bruce 20 Nov 2005
13790    - user ops page now shows passwd_hash and a bit of other info.
13791
13792    html/
13793        inc/
13794            db_ops.inc
13795
13796Rom    21 Nov 2005
13797    - Remove the alert block of code in MainDocument.cpp since it is
13798        now dead code anyway.
13799
13800    clientgui/
13801        MainDocument.cpp
13802
13803Rom    21 Nov 2005
13804    - Remove duplicate call to scheduler_rpc_poll in
13805        CLIENT_STATE::poll_slow_events().
13806
13807    client/
13808        client_state.C
13809
13810Rom    21 Nov 2005
13811    - Dump all status messages in the core client out to the debugger output
13812        window to help those debugging on Windows know what is going on
13813        without having to open up the log files.
13814    - Fix a couple of build breaks related to Eric's checkin this morning.
13815
13816    client/
13817        acct_mgr.C
13818        acct_setup.C
13819        gui_http.C
13820        main.C
13821
13822David  22 Nov 2005
13823    - user web: bug fix in host merge
13824
13825    html/user/
13826        host_edit_action.php
13827
13828David  22 Nov 2005
13829    - core client: fix bug where only 1 app would have its disk space
13830        check against limit.
13831        Also, do the check every 5 min instead of 1 min
13832        (from Walt Gribben)
13833
13834    client/
13835        app_control.C
13836
13837David  22 Nov 2005
13838    - Web RPC: add <create_time> and <rpc_seqno> to the host entries
13839        returned by show_user.php XML version
13840
13841    html/inc/
13842        xml.inc
13843
13844Janus 24 Nov 2005
13845    - Moved some layout information out of the HTML forum files and into
13846      the CSS file. This allows for far more flexibility when defining a
13847      custom layout and colourscheme for the forums.
13848      You should even be able to use nice background images for the bars etc.
13849      Theoretically all or most layout information should be outside
13850      the HTML instead of hardcoded into it...
13851    - Fixed an issue where sometimes the bottom options displayed for each
13852      post would move up into the post (when not enough text was present).
13853      The text is now centered instead and the bottom options stays where
13854      they are.
13855    - Fixed an issue with some foreign characters being turned into random
13856      gibberish in the forums (htmlentities() turned into html_special_chars())
13857    - Added support for only displaying the last Y posts when there are
13858      more than X posts in a thread (for low-bandwidth users)
13859    - Added a way to configure the above X and Y (through forum prefs)
13860    - Added the needed DB update query to db_update in ops.
13861
13862    html/
13863    ops/
13864            db_update.php
13865    inc/
13866            forum.inc
13867        text_transform.inc
13868        user/
13869            forum_thread.php
13870            white.css
13871        edit_forum_preferences_form.php
13872            edit_forum_preferences_action.php
13873
13874David  24 Nov 2005
13875    - Manager: improvements to Statistics tab
13876
13877    clientgui/
13878        ViewStatistics.cpp
13879
13880David  25 Nov 2005
13881    - Fixed measurements of network bandwidth:
13882        - Do measurements only while file transfers are active,
13883            not scheduler or other RPCs.
13884            Move the up_active and down_active flags from
13885            NET_XFER_SET to FILE_XFER_SET.
13886        - use a decay of 1 hour instead of 24
13887        - reset delta_t and delta_nbytes after using them
13888
13889    client/
13890        client_state.C
13891        file_xfer.C,h
13892        net_stats.C,h
13893        net_xfer_curl.C,h
13894
13895David  25 Nov 2005
13896    - Core client: if we're currently using an account manager
13897        (i.e. if we have URL/name/passwd)
13898        then automatically make another RPC periodically.
13899        The RPC manager reply can specify the interval
13900        until the next RPC; the default is 1 day
13901        (see http://boinc.berkeley.edu/acct_mgt.php)
13902    - Account Manager RPC:
13903        - add "host_cpid" argument, so the manager knows
13904            what host this request is from.
13905        - add optional <run_mode> in account manager reply
13906            (always/never/auto)
13907        - add optional <suspend> element in <account>,
13908            so users can suspend/resume projects via acct mgr
13909
13910    client/
13911        acct_mgr.C,h
13912        client_state.C
13913        client_types.h
13914        gui_rpc_server_ops.C
13915
13916Rom    25 Nov 2005
13917    - Bug Fix:  Curses to Windows allowing more than one application
13918        to open up a listening socket to a port.  Sometimes the
13919        manager was being directed to another application instead of
13920        BOINC.
13921
13922    client/
13923        gui_rpc_server.C, .h
13924
13925Rom    25 Nov 2005
13926    - Bug Fix: Somewhere along the lines we broke the automatic swapping
13927        of ports and waiting until the timeout period to stop so that
13928        people had time to handle the firewall prompts.
13929    - Fix the debug and trace macros so that they'll work even for the
13930        .C files when included in wxWidget binaries.
13931
13932    client/
13933        MainDocument.cpp
13934    lib/
13935        diagnostics.h
13936        gui_rpc_client.C
13937
13938Rom    26 Nov 2005
13939    - Bug Fix: We should not allow either wizard to be executed if the
13940        manager is not even connected to the core client.  This is
13941        probably what was causing the massive number of people
13942        hitting the proxy configuration page when either of the other
13943        two bugs that were fixed today were hit.
13944    - Bug Fix: Adjust the way the transition note is displayed so that
13945        the wizard will be able to fit on a 640x480 display.
13946
13947    clientgui/
13948        AccountInfoPage.cpp
13949        MainFrame.cpp, .h
13950    locale/en_US/
13951        BOINC Manager.po
13952        BOINC Manager.mo
13953
13954Bruce 26 Nov 2005
13955    - Sched fix from Walt Gribben: have scheduler defaults for disk
13956      space prefs agree with web page.  Bruce's note: this may require
13957      further fixes for two cases.  First, if the project prefs are
13958      not the same as BOINC defaults.  Second, if the user doesn't want
13959      BOINC to leave any disk space free and on their web preference page
13960      sets 'leave X bytes free' to zero, then this patch will assume they
13961      mean 100MB.  But I'm still applying the patch 'cause Walt says that
13962      this is keeping lots of new users from getting work.
13963
13964    sched/
13965        sched_send.C
13966
13967David  26 Nov 2005
13968    - Accound lookup web RPC: accept the account key as password
13969        (regardless of value of passwd_hash in database)
13970
13971    html/user/
13972        lookup_account.php
13973
13974Rom    26 Nov 2005
13975    - Bug Fix: Don't treat various forms of the local computer name as a
13976        remote machine.
13977    - Bug Fix: When any form of the local computer name is used
13978        prepopulate the password field in the select computer dialog.
13979    - Bug Fix: On connection failed messages provide an easy way to
13980        retry the connection attempt.
13981
13982    clientgui/
13983        BOINCTaskBar.cpp
13984        DlgSelectComputer.cpp
13985        MainDocument.cpp, .h
13986        MainFrame.cpp, .h
13987        ViewWork.cpp
13988
13989Janus   28 Nov 2005
13990    - Small fix to the Nov 24 checkin so that the user-specified ordering of
13991      posts in a thread is taken into consideration when displaying the last
13992      X posts.
13993
13994    /html/inc
13995        forum.inc
13996
13997David  27 Nov 2005
13998    - pass core client version number in account manager RPC
13999
14000    client/
14001        acct_mgr.C
14002
14003David  27 Nov 2005
14004    - Manager: more improvements to the Statistics tab
14005        (from Mifistor)
14006    - Account manager: don't try RPC every second
14007
14008    client/
14009        acct_mgr.C
14010    clientgui/
14011        Events.h
14012        ViewStatistics.cpp,h
14013
14014Rom    28 Nov 2005
14015    - Bug Fix: Fix the URL validator so that it won't modify the user
14016        specified text when there is an error
14017    - Bug Fix: Validation does not occur when the back button is pressed
14018        in the wizards
14019    - Bug Fix: GUI RPC: Return an error if the authenticator is null
14020    - Hitting the cancel button in the wizard only brings up a confirmation
14021        dialog, if the user confirms the wizard is terminated instead of
14022        forwarding them to the final wizard page.
14023
14024    client/
14025        gui_rpc_server_ops.C
14026    clientgui/
14027        MainFrame.cpp
14028        ValidateURL.cpp
14029        WelcomePage.cpp
14030        WizardAccountManager.cpp
14031        WizardAttachProject.cpp
14032        wizardex.cpp
14033
14034Rom    28 Nov 2005
14035    - Bug Fix:  The manager needs to wait until after the core client has
14036        opened up the listening socket before attempting to read the
14037        password file.
14038
14039    clientgui/
14040        MainDocument.cpp, .h
14041        MainFrame.cpp
14042
14043Bruce 29 Nov 2005
14044    - Bug fix (from Walt Gribben).  Don't allow the min free space
14045      preference to be less than 1MB.
14046
14047    sched/
14048        sched_send.C
14049
14050Rom    28 Nov 2005
14051    - Bug Fix: Like a Phoenix rise from the ashes, so to the return of
14052        the proxy info page for both wizards.
14053
14054    clientgui/
14055        AccountManagerPropertiesPage.cpp
14056        BOINCWizards.h
14057        ProjectPropertiesPage.cpp
14058        ProxyInfoPage.cpp, .h (Added)
14059        WizardAccountManager.cpp, .h
14060        WizardAttachProject.cpp, .h
14061
14062Charlie 29 Nov 2005
14063    - Mac: Add new files clientgui/ProxyInfoPage.cpp,
14064      clientgui/ProxyInfoPage.h to XCode project.
14065
14066    mac_build/
14067        boinc.pbproj/
14068            project.pbxproj
14069
14070David  30 Nov 2005
14071    - scheduler, homogeneous redundancy part:
14072        if we get a request from a client that's not one of
14073        the known CPU/OS combinations, don't sent it work.
14074        This will prevent the shared-memory segment from
14075        filling up with hard-to-send results
14076        (for Predictor@home)
14077    - core client: if an app's non_cpu_intensive flag changes value,
14078        request a CPU rescheduling (for Folding@home)
14079
14080    sched/
14081        sched_array.C
14082        sched_hr.C,h
14083        sched_send.C
14084        server_types.h
14085
14086Eric K. 30 Nov 2005
14087
14088    - minor mods to allow BOINC applications to compile under MINGW.
14089    lib/
14090        boinc_win.h
14091    diagnostics.C
14092    diagnostics.h
14093    util.C
14094    stackwalker_win.h
14095    api/
14096        boinc_gl.h
14097    gutil.h
14098
14099
14100David  30 Nov 2005
14101    - core client: add -detach option (Windows).
14102        Runs completely detached from the console.
14103         This allows users who can't start it as a service
14104         to be able to run boinc.exe "invisibly".
14105         (from David Goodenough)
14106
14107    client/
14108        client_state.C,h
14109        cs_cmdline.C
14110        main.C
14111
14112Charlie 1 Dec 2005
14113    - Mac XCode project: fix absolute path to Mac_GUI.cpp; fix bug in
14114      shell script to run SetVersion when path contains a space.
14115
14116    mac_build/
14117        boinc.pbproj/
14118            project.pbxproj
14119
14120David  1 Dec 2005
14121    - core client: skip aborted results in round-robin simulation
14122        (from John McLeod)
14123
14124    client/
14125        cs_scheduler.C
14126
14127David  1 Dec 2005
14128    - core client: don't make all tasks non-CPU-intensive
14129        (from John McLeod)
14130
14131    client/
14132        app_control.C
14133
14134David  2 Dec 2005
14135    - A bunch of changes to make the core client work on OS/2
14136        Also a couple of small bug fixes.
14137        (from Yuri Dario).
14138
14139        Note: this is done using #define __EMX__
14140        (apparently that's a symbol defined in OS/2 compiles).
14141        This goes against our convention of using configure,
14142        but it looks like OS/2 is sufficiently different (like Windows)
14143        so that this is the easiest way to do it.
14144        Anyway, changes are fairly limited.
14145
14146    api/
14147        boinc_api.C
14148    client/
14149        app_start.C
14150        gui_rpc_server.C,h
14151        hostinfo_unix.C
14152        http_curl.C
14153        main.C
14154        net_xfer_curl.C
14155        win/
14156            opt_x86cpu.cpp
14157        os2/    (the following are new)
14158            COPYING
14159            ReadMe.txt
14160            boinc.ico
14161            boinc.ih
14162            boinc.wis
14163            boinc1.ico
14164            boinc_attach.cmd
14165            boinc_client.ico
14166            configure.os2
14167            setup.cmd
14168    lib/
14169        diagnostics.C
14170        filesys.C
14171        gui_rpc_client.C
14172        shmem.C
14173    zip/zip/unix/
14174        Makefile
14175
14176David  2 Dec 2005
14177    - compile fix
14178
14179    cliengui/
14180        DlgSelectComputer.cpp
14181
14182David  2 Dec 2005
14183    - compile fix for 64-bit machines
14184
14185    lib/
14186        shmem.C
14187
14188Rom    4 Dec 2005
14189    - Bug Fix: Verify we are actually talking with a BOINC core client
14190        before declaring a connection successful.
14191
14192    client/
14193        gui_rpc_server_ops.C
14194    lib/
14195        gui_rpc_client.C, .h
14196        gui_rpc_client_ops.C
14197
14198David  4 Dec 2005
14199    - web: Make some text on account-create form translatable
14200    - web: when showing list of hosts, don't show hosts
14201        idle for > 30 days (but provide a link for showing them)
14202
14203    html/
14204        languages/translations/
14205            en.po
14206        user/
14207            create_account_form.php
14208            hosts_user.php
14209
14210David  4 Dec 2005
14211	- Manager: if a result's project is suspended,
14212		show this in work tab
14213	- core client: use full BOINC version # in HTTP request header
14214
14215	client/
14216		http_curl.C
14217	clientgui/
14218		ViewWork.cpp
14219
14220Charlie 5 Dec 2005
14221    Add Mac uninstall instructions to ReadMe and  web site.
14222
14223    doc/
14224        mac_advanced.php
14225    mac_installer/
14226        ReadMe.rtf
14227
14228David  5 Dec 2005
14229    - core client: started to clean up ugly undergrad code
14230        related to retry of scheduler RPCs and master file fetches.
14231        Didn't get very far.
14232        This whole area needs to be redone.
14233    - removed debugging code related to the above
14234    - eliminate possible race condition:
14235        flag task as preempted-by-quit BEFORE telling it to quit
14236    - Manager: compile fixes
14237
14238    client/
14239        app_control.C
14240        client_state.C,h
14241        client_types.C
14242        cs_cmdline.C
14243        sc_scheduler.C
14244        pers_file_xfer.C
14245        scheduler_op.C,h
14246    clientgui/
14247        MainDocument.cpp,h
14248
14249David  5 Dec 2005
14250	- Improved messages
14251		"Master file" -> "scheduler list"
14252
14253	client/
14254		cs_apps.C
14255		gui_rpc_server.C
14256		net_xfer_curl.C
14257		scheduler_op.C,h
14258
14259Charlie 6 Dec 2005
14260    - Mac: Fix crash bug launching core client when there is a space
14261      character in the path to the BOINC Manager.
14262
14263    clientgui/
14264         BOINCGUIApp.cpp
14265
14266Bruce 7 Dec 2005
14267    - Added a script that maintains a set of sanatized scheduler logs
14268      for users, helpers, and admins to view on the web.
14269    - A second script removes these log files if more than one week
14270      old.
14271    - The logs are 'sanatized' by removing IP addresses and authenticators.
14272    - These scripts should be controlled by using the standard start/stop
14273      scripts.  To do this, make entries in config.xml.  The files both
14274      contain comments at the top detailing how to do this.
14275
14276    tools/
14277        makelog.sh
14278        cleanlogs.sh
14279        Makefile.am
14280
14281David  7 Dec 2005
14282	- Manager: improvements to Statistics tab
14283	- Account manager RPC:
14284		added optional <detach/> element to projects in reply.
14285		Lets the account manager tell client to detach from a project.
14286		This replaces the previous semantics,
14287		where the client detached from any project not in the reply.
14288
14289	client/
14290		acct_mgr.C,h
14291	clientgui/
14292		ViewStatistics.cpp
14293
14294
14295Eric  8 Dec 2005
14296	- New autoconf macro "BOINC_PLATFORM" to determine the BOINC platform
14297	  being targeted.  This overrides the use of the autoconf target as the
14298	  BOINC platform.  I recommend that people developing BOINC
14299	  applications use this macro as well in their autoconf scripts.
14300	  This macro can be overridden with the --with-boinc-platform=
14301	  option to configure.
14302
14303	  Some of the platform modifications made in this script are...
14304
14305	  = *-redhat-* -> *-pc-*
14306	  = *-*-*[0-9].[0-9] -> *-*-*  (trailing version numbers are dropped)
14307	  = sparc-sun-solaris -> sparc64-sun-solaris when compiled as 64 bit
14308	    binary
14309	  = x86_64-*-linux-gnu -> i686-pc-linux-gnu when compiled as a 32 bit
14310	    binary
14311        - New autoconf macro "BOINC_CHECK_CYGWIN" to give people who need to
14312	  modify their configure script to work with CYGWIN a place to do their
14313	  work.  Right now the only thing done here is to check whether to use
14314	  the Windows GUI or X11.  Graphical compiles under CYGWIN currently
14315	  do not function due to both __unix__ and _WIN32 being defined.
14316
14317    m4/
14318      boinc_platform.m4
14319      boinc_check_cygwin.m4
14320      configure.ac
14321
14322David  8 Dec 2005
14323    - use libcurl's error strings instead of our own.
14324        Also, don't use a default error code of 500.
14325        Makes it look like there are server crashes when there aren't.
14326
14327    client/
14328        acct_mgr.C
14329        net_xfer_curl.C
14330
14331David  8 Dec 2005
14332    - Don't request CPU reschedule if a preempted process exits;
14333        that's a redundant reschedule
14334    - better messages on CPU reschedule
14335
14336    client/
14337        app.h
14338        app_control.C
14339        gui_rpc_server_ops.C
14340
14341David  9 Dec 2005
14342	- Various changes to account manager handling in response
14343		to conversation with GridRepublic.
14344		Allowing operations (attach/detach/suspend/resume)
14345		to be done from either web or GUI creates big
14346		synchronization problems.
14347		So we adopt the basic principle:
14348		suspend/resume is done only from GUI;
14349		attach/detach is done only from web.
14350	- Account manager RPC is done by POST instead of GET;
14351		arguments are now in XML,
14352		and include a list of AM-attached projects
14353		Note: you can access POST info from PHP as "php://input"
14354	- remove suspend-related stuff from acct mgr reply
14355	- debug the repeat_sec mechanism.
14356	- Maintain project.attached_via_acct_mgr;
14357		keeps track of whether this project was originally
14358		attached in response to an account manager RPC,
14359		or is identical to one such.
14360		Don't allow such projects to be detached via GUI.
14361
14362	NOTE: if user tries to detach an acct-mgr-attached project,
14363	the error message appears in the Messages tab.
14364	It should appear as an error dialog.
14365
14366	client/
14367		acct_mgr.C,h
14368		client_state.h
14369		client_types.C,h
14370		cs_account.C
14371		file_names.h
14372		gui_http.C,h
14373		gui_rpc_server_ops.C
14374
14375David  9 Dec 2005
14376    - Web: "modem"->"modem, ISDN or VPN"
14377    - fix bug in host merge
14378
14379    html/
14380        inc/
14381            prefs.inc
14382        user/
14383            host_edit_action.php
14384
14385Bruce 10 Dec 2005
14386    - API: when app version number is shown in the title bar of
14387      a graphics window, print it in the same format at the
14388      client GUI, for example 4.29 rather than existing 429.
14389      This is for consistency with line 506 of clientgui/ViewWork.cpp.
14390
14391    api/
14392        graphics_impl.C
14393
14394David  12 Dec 2005
14395    - core client: add "-gui_rpc_port" command-line option:
14396        specify port number for GUI RPC listening socket.
14397    - boinc_cmd: allow hostname specification as host:port
14398    - core client: if file size is less than 1 MB,
14399        don't bother getting current file size from server
14400        (just send whole file from the beginning)
14401    - file upload handler:
14402        don't bother reading key if we're not going to use it
14403
14404    client/
14405        client_state.C,h
14406        cs_cmdline.C
14407        file_xfer.C
14408        gui_rpc_server.C,h
14409    lib/
14410        boinc_cmd.C
14411        gui_rpc_client.C,h
14412    sched/
14413        file_upload_handler.C
14414
14415David  13 Dec 2005
14416    - manager compile fix
14417    - a bit of translation stuff
14418
14419    html/
14420        inc/
14421            team.inc
14422            user.inc
14423        languages/translations/
14424            en.po
14425    lib/
14426        gui_rpc_client.h
14427
14428David  13 Dec 2005
14429    - Core client: the account manager password is now
14430        stored and communicated in a hashed form
14431        (hashed with the lower-cased account name)
14432
14433    client/
14434        acct_mgr.C,h
14435        gui_rpc_server_ops.C
14436
14437Jeff  14 Dec 2005
14438    - Enabled the file_upload_handler to be built as a FastCGI program.
14439
14440    sched/
14441	file_upload_handler.C
14442	Makefile.am
14443
14444Bruce  14 Dec 2005
14445    - Fix to script that cleans 'user-visible' scheduler logs, to prevent
14446      it from inadvertently leaving old files hanging around.
14447
14448    tools/
14449        cleanlogs.sh
14450
14451David  15 Dec 2005
14452    - Add a security mechanism that limits the damage if hackers
14453        break into an account manager server or do a man-in-the-middle attack.
14454
14455        The attack: hackers break into an account manager and modify
14456        it so that RPC replies include accounts on malicious projects.
14457
14458        The protection:
14459        1) account manager replies now include a "signing key".
14460        This is stored on the client in the account manager URL file.
14461
14462        2) If the client has a signing key for an account manager and
14463        receives a different one, it ignores it and prints an error message.
14464
14465        3) Each account in an account manager reply includes a "URL signature",
14466        which is the URL signed with the signing key.
14467        The client ignores any URLs with missing or bad signatures.
14468
14469        Note: users who sign up with the account manager after it's hacked
14470        are not protected by this
14471        (same as for BOINC project code download protection).
14472
14473    client/
14474        acct_mgr.C,h
14475    lib/
14476        crypt.C,h
14477        crypt_prog.C
14478        error_numbers.h
14479    tools/
14480        process_result_template.C
14481
14482David  15 Dec 2005
14483	- bug fixes for the above
14484
14485	client/
14486		acct_mgr.C,h
14487
14488Bruce  15 Dec 2005
14489    - Made 'last scheduler contact' values a link to the posted server-side
14490      scheduler logs.  On projects that don't post logs, these links will
14491      simply give a 'not found' error if the user clicks on them.
14492    - On David's request, added the E@H 'server_status.php' page.  Note that
14493      this is not linked to from the sample project home page.  It also contains
14494      at least some E@H-specific stuff, but David promised to clean this up (:-).
14495
14496    html/
14497        inc/
14498            host.inc
14499        user/
14500            server_status.php [NEW FILE ADDED]
14501
14502
14503
14504Eric K 15 Dec 2005
14505    - Added autoconf macro AX_WINSOCK for identifying winsock libs and
14506      headers for support of command line compiles.  Adds new configure
14507      command line option --with-winsock to enable winsock if necessary w
14508      here alternative socket libraries (sys/socket.h) exist.
14509    - Modified BOINC_CHECK_CYGWIN to call AX_WINSOCK.
14510    - Modified boinc_getsockopt.m4 to get correct type when winsock is used.
14511    - Modified AX_CHECK_GLUT to find correct libraries when compiling under
14512      windows from command line.
14513
14514    m4/
14515      ax_check_glut.m4
14516      boinc_check_cygwin.m4
14517      boinc_getsockopt.m4
14518      ax_winsock.m4 [NEW FILE ADDED]
14519    configure.ac
14520
14521Bruce  15 Dec 2005
14522    - Restrict list of top hosts to those with > 300 credits.  This prevents
14523      hosts that have done only one or two WU and have anomalously high
14524      RAC values from heading the list.
14525
14526    html/
14527        user/
14528            top_hosts.php
14529
14530Bruce 15 Dec 2005 [from Walt Gribben]
14531    - Cleanup of parameters that define disk free space requirements.
14532      Previously these were spread around in different places.  Now
14533      these are defined by some config.xml options that are used by
14534      PHP pages and by the scheduler code.  See a description in
14535      doc/configuration.php.
14536
14537    doc/
14538        configuration.php
14539    html/
14540        inc/
14541            prefs.inc
14542    sched/
14543        sched_config.C
14544        sched_config.h
14545        sched_send.C
14546
14547Bruce 15 Dec 2005
14548    - To address some concerns about security, strip USER # from the
14549      online scheduler logs.  The only info that appears in these
14550      online logs is then the HOSTID.  If the user has chosen to hide
14551      their hosts, then there is no way to figure out which user a
14552      given hostid belongs to.
14553
14554      Note that this is exactly the same as the current approach of
14555      displaying the results by hostid, but hiding the identity of the
14556      user who owns a given host.
14557
14558      Also, increase default time for retaining logs to two weeks.
14559
14560    tools/
14561        makelog.sh
14562        cleanlogs.sh
14563
14564David  17 Dec 2005
14565    - core client: set close-on-exec flag of sockets and files so that they
14566        don't get 'leaked' to applications
14567    - moved server status page from ops/ to user/
14568    - make_project: copy sample_project_status.php to project_status.php
14569
14570    html/
14571        languages/translations/
14572            en.po
14573        ops/
14574            server_status.php (moved to user/sample_server_status.php)
14575        user/
14576            eah_server_status.php (new; Einstein@home status page)
14577            sample_server_status.php (new; see above)
14578            sample_status.php (removed)
14579    lib/
14580        filesys.C
14581        network.C
14582    py/Boinc/
14583        setup_project.py
14584
14585David  18 Dec 2005
14586    - compile fix: include config.h where needed
14587
14588    lib/
14589        boinc_cmd.C
14590        filesys.C
14591        shmem.C
14592
14593David  18 Dec 2005
14594    - extend the am_set_info.php RPC to let you
14595        change email address and password_hash.
14596
14597    html/
14598        inc/
14599            email.inc
14600        user/
14601            am_set_info.php
14602            edit_email_action.php
14603
14604Rom    19 Dec 2005
14605    - Merge the account manager status dialog into the wizard and remove
14606        the account manager status dialog.
14607    - Bug Fix: Fix the extra connection validation code in the gui rpc
14608        clients.  the get_state rpc contained references to the old
14609        client_version xml tags which were changed awhile back.  The
14610        manager used to display the CC version in the status bar.
14611
14612    clientgui/
14613        AccountManagerStatusPage.cpp, .h (Added)
14614        BOINCGUI.pjd
14615        BOINCWizards.h
14616        MainFrame.cpp
14617        WizardAccountManager.cpp, .h
14618        DlgAccountManagerStatus.cpp, .h (Removed)
14619    lib/
14620        gui_rpc_client.C
14621        gui_rpc_client_ops.C
14622    win_build/
14623        boincmgr_curl.vcproj
14624
14625Rom    19 Dec 2005 (HEAD)
14626    - Tag for 5.3.3 release, all platforms
14627      boinc_core_release_5_3_3
14628
14629Rom    19 Dec 2005
14630    - Checkin changes for the Grid Republic screen saver.
14631
14632    client/win/
14633        boinc_ss.h
14634        boinc_ss.rc
14635        win_screensaver.cpp, .h
14636        win_util.h
14637
14638David  19 Dec 2005
14639    - client/Makefile.am inexplicably had a -I ../win.
14640        This cause the win version of config.h to get included,
14641        wreaking havoc with Unix compiles.
14642        It caused the HTTP errors I reported yesterday.
14643    - fix bug in handling of non_cpu_intensive messages from app
14644
14645    client/
14646        Makefile.am
14647        app_control.C
14648
14649David  19 Dec 2005
14650    - End use of port 1043.  This is occupied by Microsoft.
14651        Use port 31416 instead.
14652    - Remove client_time GIU RPC, is_port_available().
14653
14654    client/
14655        gui_rpc_server.C,h
14656        gui_rpc_server_ops.C
14657    lib/
14658        gui_rpc_client.C,h
14659        gui_rpc_client_ops.C
14660
14661Bruce 20 Dec 2005
14662    - Make update_versions touch ../reread_db to force the
14663      feeder to notice new app versions.
14664
14665    tools/
14666        update_versions
14667
14668David  20 Dec 2005
14669    - compile fixes for Mac OS 10.4 (from Derek Wright)
14670
14671    lib/
14672        network.C,h
14673
14674David  21 Dec 2005
14675    - added -command_line argument to create_work program.
14676        (achieves parity with the create_work() function)
14677
14678    tools/
14679        create_work.C
14680
14681David  21 Dec 2005
14682    - small web fix (from Jens)
14683
14684    html/user/
14685        hosts_user.php
14686
14687David  21 Dec 2005
14688    - core client: attempt to increase the atomicity of state file write.
14689        Old: write to a FILE.
14690            Return values of printf() not checked -
14691            if run out of disk space, not detected.
14692            No flushing or synching at end -
14693            if power failure or crash, indeterminate result.
14694        New: write to a MFILE (memory-buffered file).
14695            Changed MFILE::flush() to that it:
14696            - checks return value of fwrite() (catch disk-full error)
14697            - calls fflush(f) (to write user-level buffer to OS)
14698            - calls fsync(fileno(f)) (to flush data from OS to disk)
14699            And call MFILE::flush() from MFILE::close().
14700
14701    client/
14702        cs_statefile.C
14703    lib/
14704        error_numbers.h
14705        mfile.C
14706        util.C
14707
14708Charlie 21 Dec 2005
14709    -Mac: upgrade project for latest developer tools: XCode 2.2 and
14710      wxMac-2.6.2 will soon be needed for MacIntel support; also
14711      upgrade to use curl-7.15.1.  Added scripts for building fat
14712      (Universal Binary) libraries of wxMac-2.6.2, curl-7.15.1 and
14713      jpeg-6b, and a new XCode project bundle boinc.xcodeproj.  At this
14714      time, I have successfully built the powerpc implementation of
14715      BOINC using these tools, but more work needs to be done.
14716
14717    mac_build/
14718        boinc.xcodeproj/  (new)
14719            project.pbxproj (new)
14720            setupForBOINC.sh (new)
14721            buildjpeg.sh (new)
14722            buildcurl.sh (new)
14723            buildWxMac.sh (new)
14724
14725David  22 Dec 2005
14726    - user web: translation fixes
14727
14728    html/inc/
14729        user.inc
14730        team.inc
14731
14732Bruce 22 Dec 2005
14733    - compile fix to create_work.C
14734    - Einstein@Home-specific hack to the locality scheduler.  For new
14735      WU, I need to separate two types of 'sticky/report on RPC' files.
14736      One type is used for WU names of the form FILE__ and the others
14737      are auxilliary.  David, after I've talked with you I'll either
14738      generalize this notion or we can eliminate it.
14739
14740    tools/
14741        create_work.C
14742    sched/
14743        server_types.h
14744        sched_locality.C
14745
14746Rom    22 Dec 2005
14747    - Fix up the File Properties for each application and dll that is
14748        going to be included in the GridRepublic client.
14749    - Create a GridRepublic solution file.
14750
14751    client/win/
14752        boinc_cli.rc
14753        boinc_cmd.rc
14754        boinc_dll.rc
14755        boinc_ss.h
14756        boinc_ss.rc
14757        win_screensaver.cpp, .h
14758    client/win/res/
14759        boinc.bmp
14760    clientgui/
14761        BOINCGUIApp.rc
14762    win_build/
14763        gr_boinc_cli_curl.vcproj
14764        gr_boinc_dll.vcproj
14765        gr_boinc_ss.vcproj
14766        gr_boinccmd.vcproj
14767        gr_boincmgr_curl.vcproj
14768        GridRepublic.sln
14769
14770David  23 Dec 2005
14771    - user web: single "stay logged in" checkbox on login form
14772
14773    html/inc/
14774        util.inC
14775
14776David  23 Dec 2005
14777    - Change the network suspend/resume logic so that the
14778        "idle while user active" and "idle if on batteries"
14779        preferences are ignored for 5 minutes GUI RPCs.
14780        This means that if the user has one of these preferences,
14781        and attaches to a project,
14782        they'll generally get the initial result download
14783        from the project before the network is suspended.
14784
14785        Implementing this required a moderate change;
14786            bool activities_suspended
14787            suspend_activities()
14788            resume_activities()
14789        (which covered both CPU and network) are replaced by
14790            bool tasks_suspended
14791            suspend_tasks()
14792            resume_tasks()
14793        (which covers only CPU)
14794
14795    client/
14796        client_state.C,h
14797        cs_benchmark.C
14798        cs_files.C
14799        cs_prefs.C
14800        cs_scheduler.C
14801        gui_rpc_server.C,h
14802        gui_rpc_server_ops.C
14803        ss_logic.C
14804
14805David  24 Dec 2005
14806    - amended yesterday's changes so that only user-initiated RPCs
14807        (e.g. to attach/detach/suspend/resume a project or result) are counted.
14808        Otherwise the preferences would never kick in.
14809
14810    client/
14811        gui_rpc_server.C,h
14812        gui_rpc_server_ops.C
14813
14814Bruce 26 Dec 2005
14815    - Modified the pages to search users and profiles so that the results
14816      display a bit more info about the users (date joined project, country,
14817      total credit, RAC)..
14818    - Added sort ability on user fields.  Limit database stress by requiring
14819      at least three characters of search string.
14820    - To-do: add similar functionality for profile search
14821
14822    html/
14823        user/
14824            user_search_action.php
14825            profile_search_action.php
14826
14827Rom    28 Dec 2005
14828    - Brand the BOINC Manager for GridRepublic
14829
14830    clientgui/
14831        BOINCGUI.pjd
14832        BOINCGUIApp.cpp, .h
14833        BOINCTaskBar.cpp, .h
14834        DlgAbout.cpp, .h
14835        hyperlink.cpp
14836        MainDocument.cpp
14837        MainFrame.cpp, .h
14838        BOINCGUIApp.xpm (Removed)
14839
14840Rom    28 Dec 2005 (HEAD)
14841    - Tag for 5.3.6 release, all platforms
14842      boinc_core_release_5_3_6
14843
14844David  28 Dec 2005
14845    - core client: don't print erroneous messages on update project
14846
14847    client/
14848        gui_rpc_server_ops.C
14849
14850David  28 Dec 2005
14851    - core client: avoid divide by zero error if no projects
14852        (from Steven Schweda)
14853
14854    client/
14855        cs_apps.C
14856
14857David  28 Dec 2005
14858	- support alpha/TRU64 in hostinfo code
14859		(from Steven Schweda)
14860
14861	client/
14862		hostinfo_unix.C
14863
14864David  28 Dec 2005
14865	- core client: bug caused most GUI RPCs to fail
14866
14867	client/
14868		gui_rpc_server_ops.C
14869
14870David  28 Dec 2005
14871    - fix logic typo
14872
14873    client/
14874        client_state.C
14875
14876David  29 Dec 2005
14877    - add <guid> elements to RSS items and make the <link>s unique.
14878        Apparently this is needed by some RSS readers.
14879
14880    NOTE: for this to take effect,
14881        project will need to check out the following files,
14882        then rename sample_rss_main.php to rss_main.php
14883
14884    html/
14885        inc/
14886            news.inc
14887        user/
14888            sample_rss_main.php
14889
14890Bruce 30 Dec 2005
14891    - Nasty bug fix to sched. escape_string() replaces \ by \\ and
14892      ' by \'.  This makes the string longer.  To guarantee that the
14893      resulting longer string does not overflow storage, escape_string()
14894      uses safe_strncpy() to copy the longer string back.  But this
14895      is too heavy-handed, since safe_strncpy() will blindly truncate
14896      the string.  Thus it might clobber \\ into \ or \' into \ which
14897      causes trouble.
14898
14899      David, Rom, please double-check my changes, since escape_string()
14900      is used all over the place.
14901
14902    db/
14903        db_base.C
14904
14905