4
checkin_notes_2007 (new)
9
- web: My Account page, other user account page, and profile pages
10
now have community info in a 2nd column on the right.
11
This accomplishes two things:
12
1) it puts community info in more places;
13
2) it provides a reasonable way to format long lists of friends;
14
they just continue down the right column.
22
profile_screen_form.php
30
- Mac Client: revert to using older API NXIdleTime() to get user
31
idle time because the newer APIs CGSSecondsSinceLastInputEvent()
32
and CGEventSourceSecondsSinceLastEventType() don't work properly
33
when running as a daemon.
34
- Mac: Update script which sets BOINC up to run as a daemon so it
35
works properly under OS 10.5.
46
- web: add "Find friends" link to private friends list
47
- web: in user search form, give input focus to name field
56
- make_project: prepend "./" to config.xml script names in case "." is not
57
in Apache's search path
58
- web: show UOTD text correctly
59
- web: memoize profile_screening() in attempt to fix out-of-memory error
60
when building profile pages on S@h
61
- web: move gallery.inc into update_profile_pages and remove it
69
update_profile_pages.php
74
- web: fix broken link for profile like/don't like.
75
TODO: currently these don't do anything useful. Fix this.
81
- API: on Mac, call getrusage() from timer thread
82
(since calling it from worker thread causes crashes).
83
On Linux, call getrusage() from the worker thread
84
(since calling it from the timer thread returns zero on some systems).
85
- stripcharts: make it work even if Perl is not in path (from Eric Myers)
93
- web: add RSS feed for notifications
94
- make_project: disable community-related periodic tasks
95
for newly-created projects
112
- Mac Client: more idle time tweaks to allow running as a daemon by
113
using Mac OS X's launchd mechanism.
114
- Mac Installer: if system is set up to run BOINC Client as a daemon
115
using launchd, use launchctl to launch newly installed Client as
131
update_profile_pages.php
134
- scheduler: change <max_wus_in_progress> to be per CPU, not per host
141
- Added Isle of Man to country list
147
- XML fix in backend lib
153
- Empty strings cause CreateProcess to fail on parameter checks.
159
- API: fix to changeset 14462: I put the getrusage() in the wrong place
164
- small web fixes; fixes #421
173
- web: if user A is ignoring user B,
174
don't accept a friend request from B to A
175
- boinc_cmd: --help fix
183
- Mac MGR: if using Mac OS X's launchd mechanism to run Client as a daemon,
184
allow time for daemon to launch.
185
- Mac: Update script which sets BOINC up to run as a daemon so it
186
uses Mac OS X's launchd mechanism. This requires BOINC version
187
5.10.34 or later and Mac OS 10.4 or later.
192
Make_BOINC_Service.sh
195
- web: add "Mark all threads as read" button to Help Desk (fixes #531)
196
- add "self" link to RSS notify feed
197
- web: if fail to send email, don't show error message
198
(might reveal recipient's email addr)
210
- API: call update_app_progress() only from the timer thread.
211
Previously it was called from both timer and worker thread,
212
with no synchronization. Bad.
213
boinc_finish(): sleep for 2 seconds, enough to ensure that
214
the timer thread sends the final messages.
215
- API: a compile flag GETRUSAGE_IN_TIMER_THREAD selects
216
how to get CPU time; by default set only for Mac OS X
217
- scheduler: cap #CPUs scaling for <max_wus_per_host> at 8
225
- client, Win: check for two process exit codes (0x40010004 and 0xc000013a)
226
that appear to happen when the process is killed externally;
227
seems to happen mostly or entirely on Vista
233
- Mac: additional error checking in build script; fix url in error message.
239
- API, Unix: fix bug where boinc_sleep() hangs forever.
240
This was because SIGALRM always interrupts sleep()
241
and keeps boinc_sleep() stuck in its while loop.
242
Solution: change boinc_sleep() so that it works even if
243
rapid signals (e.g. interval timer) are happening
244
- API: remove deprecated graphics files from Makefile.
245
Old-style graphics are no longer supported.
246
- web: add empty show_user_donations_private() to donations.inc
258
- Fix the credit_study.php script to 1) be correct and
259
2) explain its output
2
- client: ATI available RAM wasn't being detected correctly
8
- web: don't show news items if they're hidden
14
- client: RSS feed stuff
22
- lib: fixup notice RPCs to make them manager compatible.
23
- lib: remove memset from notice constructor, bad things can happen
24
when you null out a std::string structure.
28
gui_rpc_client_ops.cpp
32
- MGR: Implement Notice RPC infrastructure.
39
- MGR: Implement UI plumbing for notices
42
ViewNotifications.cpp, .h
45
- MGR: Display each notice in the notices tab.
49
ViewNotifications.cpp, .h
52
- GUI RPC: return notices in order of increasing seqno, not decreasing
57
- MGR: Present the newest notices first.
62
gui_rpc_client_ops.cpp
65
a couple of locality scheduling fixes:
66
- remove obsolete and buggy code from transitioner (create_result() in backend_lib)
67
- account for 'mixed' scheduling in explain_to_user() in sched_send.cpp
68
- finish transition to configurable patterns for distinguishing files reported by the client
69
in the Einstein@home-specific part of send_work_locality in sched_locality
70
(removed previous hardcoded strcmps)
85
- client: fix format strings for ninstances (can be fraction now)
92
- client: scheduling problem:
93
- a project overestimates job FLOP counts
94
- the client starts jobs in EDF mode
95
- as job progresses and fraction done increases,
96
its completion time estimate decreases until
97
it's no longer a deadline miss.
98
- job gets preempted by other job from that project;
99
you end up with lots of partly completed jobs.
100
Solution (I hope): if an app version has running jobs,
101
compute a "temp DCF" for the app version,
102
which is the min of dynamic/static estimates for its jobs.
103
Apply this scaling factor to completion time estimates
104
for unstarted jobs in RR simulation
105
- client: the estimation of remaining time of running jobs was wrong
106
(how did this bug survive so long?)
115
- client: Eliminate x86_64 Mac client; i386 client determines if
116
system supports x86_64 applications and sets HOSTTYPE and
117
platform accordingly. This allows us to link with the 32-bit
118
CUDA libraries. The one other effect is that the benchmarks
119
are run in 32-bit mode even on a 64-bit capable Mac.
120
- client: Async get_state RPC was not updating state.have_ati field.
121
- MGR: Rebuild Advanced Menu and Taskbar Menu after connecting to
122
client, so GPU Activity and Snooze GPU items are displayed if
131
sg_BoincSimpleGUI.cpp
139
- client: bug in ACTIVE_TASK::est_dur()
145
- client: notice fixes
152
- admin web: allow setting per-app HR class
265
- client: patches to make it work on FreeBSD
266
- client: fix bug where attaching to a project with existing
267
app_info.xml would fail to parse the app_info.xml
268
(both from Pav Lucistnik)
275
- MGR: display MSG_USER_ERROR messages in red, all others in black
276
in both SimpleGUI and Advanced GUI message dialogs; eliminate
277
unused FormatPriority method.
278
- MGR: Auto-scroll messages only if already at bottom of list (don't
279
jump to bottom while examining earlier messages.)
280
NOTE: these changes may need to be applied in CViewMessagesGrid class
281
if we implement that in the future.
284
sg_DlgMessages.cpp,.h
288
- client: don't count header in bytes_xferred for file uploads
289
(this causes confusing output in the Manager,
290
bytes xferred greater than file size)
291
- API and client: make boinc_sleep() work regardless of signals
292
- some code cleanup in http_curl.C
302
- Mac API: Delete old target gfxlibboinc and obsolete source files
304
- Mac: Update build script to build libboinc_graphics2.a instead of
305
libboinc_graphics_api.a. Fixes #536.
313
- Fix long-standing bug in CPU throttling
319
- MGR: Inform the user that they'll need to be added to the boinc_users
320
group if access to gui_rpc_auth.cfg is denied.
321
- Fix a crash condition when BOINC is started as a standard user account
322
without the 'create global named objects' user right on Vista.
323
- WINSETUP: Make sure that BOINC Tray is started for all users on the
325
- WINSETUP: If the 'All users can control BOINC' checkbox is checked then
326
put the BOINC Manager startup short cut in the 'all users' startup directory
327
otherwise put it in the 'users' startup directory.
158
- client: Fix compiler warning.
159
- client: Fix crash bug.
160
NOTE: do not call memset(this, 0, sizeof(*this)) when the data
161
contains a std::string.
167
- boinccmd: add --get_notices option
173
- Mac: Fix bug in backtrace code which showed up only under OS 10.6.
180
- Mac: Fix bug in backtrace code which showed up only under OS 10.6.
181
- Mac installer: Add CUDA information to Mac ReadMe files.
192
- manager: tweak notice appearance
197
ViewNotifications.cpp
200
- client: work fetch fix: avoid sending null request in certain cases.
201
- client: fix crash in notices code
207
- MGR: Prevent timer events from causing recursive ui issues.
210
ViewNotifications.cpp
213
- client: Fix another crash bug due to calling memset(this, 0, sizeof(*this))
214
when the data contains a std::string.
220
- MGR: Separate refresh of Event Log from refresh of tabs.
221
- MGR: Update Notices tab only when data has changed.
222
- MGR: Clean up some async RPC logic.
229
sg_BoincSimpleGUI.cpp
230
ViewNotifications.cpp, .h
233
- MGR: When Event Log is open, do get_messages RPC once per second but
234
do view-specific periodic RPCs at their normal View refresh rate.
330
238
BOINCBaseFrame.cpp, .h
331
239
MainDocument.cpp, .h
334
win_build/installerv2/
336
win_build/installerv2/redist/Windows/src/boinccas/
338
win_build/installerv2/redist/Windows/Win32/
341
win_build/installerv2/redist/Windows/x64/
345
Rom Jan 11 2008 (HEAD)
346
- Tag for 6.1.6 release, all platforms
347
boinc_core_release_6_1_6
350
- web: fix bug there message link not correct in search results
242
- client (Mac): append /usr/local/cuda/lib to LD_LIBRARY_PATH
243
and DYLD_LIBRARY_PATH
244
- client simulator: compile fixes
257
- user web: make user search translatable
354
forum_search_action.php
357
- client, Win: check for network connectivity (for time stats log file)
358
- client: add platform/version lines to time stats log file
263
- client: fix notification display logic
266
ViewNotifications.cpp
269
- fix python deprecation warning (from Jeremy Cowles)
275
- API: if app can't acquire lock file, tell the client not
276
to restart app for 10 minutes.
277
Hopefully what will happen is:
278
- another instance of app is running in slot dir
279
(shouldn't happen, but sometimes does)
280
- that app will eventually finish, and will write
281
a checkpoint file saying so.
282
It will call boinc_finish(0), but the client won't notice
284
- the next time the client starts the app,
285
it will acquire lock, see that it's done,
286
and call boinc_finish(0).
287
This time the client will notice,
288
and the job will be reported as correct.
289
The downside to all this is that the client won't know
290
that the CPU is in use, and will schedule NCPUS jobs.
296
- client sandbox: set LD_LIBRARY_PATH and DYLD_LIBRARY_PATH in switcher.
297
For unknown reasons, the these 2 environment variables are not
298
passed in to switcher, though all other environment variables do get
309
- Limit the number of files to be deleted in one 'antique
310
deletion' pass to 50000 (can be changed with -delete_antiques_limit).
311
Previously large number of antiques led to not deleting any at all.
312
- Allow to change the interval between passes with -delete_antiques_interval.
313
- Allow to specify the name of an application instead of the appid.
319
- client: add <stderr_head> config option;
320
sends the first rather than last 64KB of stderr to server.
321
This doesn't belong here; this choice should come from the server.
322
I may take this out later.
323
- user web: when add a private message, always add a notification
335
edit_form_preferences_form.php
341
- manager: "Notifications" => "Notices". Consistent terminology.
347
ViewNotifications* -> ViewNotices*
350
- client: small tweak to work fetch:
351
if project has crazy DCF, don't automatically request 1 sec;
352
only request work if there's a shortfall.
353
- intermediate checkin for notices stuff
370
- Notices: put message bodies inside CDATA
371
- XML_PARSER: handle CDATA
380
- MGR: The fix of 14 Oct 2009 for "initial first connection problem on
381
startup" caused the Tools menu to be incorrect when switching from
382
Simple to Advanced View if using an account manager: solve this by
383
calling pDoc->IsConnected() in CAdvancedFrame::CreateMenu() instead
384
of using bool argument bRPCsSafe. Remove unused bRPCsSafe arg from
385
CAdvancedFrame::CreateNotebook(), CAdvancedFrame::CreateStatusbar().
386
- Mac: Update XCode project for ViewNotifications* -> ViewNotices*.
389
AdvancedFrame.cpp, .h
395
- server: client version numbers are represented as
396
10000*major + 100*minor + release,
397
rather than 100*major + minor.
398
Sometimes you need release-level resolution.
400
- app_version.min_core_version
401
- config: min_core_client_version_announced
402
- config: min_core_client_version
403
Projects using these must multiply them by 100.
414
- scheduler: close DB connection on SIGTERM (from Bernd M.)
420
- manager: in Notices tab, direct links to default web browser
426
- MGR: Use an event handler, the function overload is deprecated.
432
- web DB code: fix PHP warning when enumeration returns nothing.
433
From Nicolas. fixes #974
434
- client: tiny code shuffle
443
- user web: make a bunch of strings translatable (from Nicolas)
455
BOINC-Project-Generic.pot
458
- Mac Installer: fix bug launching client when configured as a service.
464
- scheduler/feeder: if any client version number field
465
(min_core_version etc.) is < 10000,
466
multiply it by 100 and print a warning.
475
- user web: do SQL escaping before storing prefs in the database as some
476
projects store user-editable strings in the preferences.
482
- scheduler: use COPROC_REQ instead of COPROC when parsing
483
anonymous-platform app versions.
484
Otherwise fractional GPU requirements get truncated to zero.
485
Thanks to Crunch3r for identifying the problem.
491
- API: fix crashing bug. Don't memset(0) APP_INIT_DATA;
492
it contains HOST_INFO, which now contains COPROCS,
494
Define a clear() for APP_INIT_DATA.
500
- client: initial checkin for "don't compute if CPU usage above X"
367
boinc_cli_curl.vcproj
370
- web: in host merge pages, provide "Show details" button,
371
which shows the reasons why pairs of hosts
372
were not eligible for merging
381
- Mac: Fix compile error on some Macs by changing XCode Project reference
382
"texfont.c" to "texfont.C".
383
- MGR: New message about needing to be added to the boinc_users group
384
applies only to Windows.
393
- Client: add <run_apps_manually> config flag.
394
This is for debugging apps (currently works only in Unix).
395
What it does: when running an app,
396
the client does everything except actually fork/exec the app,
397
i.e. it sets up the slot dir, creates shared mem segment etc.
398
It then continues as if the app were actually running,
399
and you can then manually run your app under a debugger
400
in the slot directory.
401
Note: the client won't notice the termination of your app.
402
- API, Unix: in situations where the timer thread wants to exit
403
(e.g. it notices a missing heartbeat).
404
don't directly call boinc_exit(),
405
since this touches data structures that the worker thread
406
may be using concurrently.
407
Instead, set a flag telling the worker thread to call boinc_exit()
408
(which it will do from its signal handler)
409
This is an attempt to fix problems reported by Bernd;
411
- scheduler: add config flag for uploading usage data
412
- web: show account key and weak account key on user page
413
- added some code for multithread support (not finished)
437
- client: implement <start_apps_manually> for Windows too
438
- client: check /dev/input/mice/ for idle detection;
439
apparently that's replaced /dev/mouse in Linux
441
- API: make old-style graphics compile again
453
- server/web: the weak auth scheme had a major flaw:
454
It didn't work on a host's first scheduler RPC
455
(when it passes an auth but no host ID).
456
How do we look up user in this case?
457
The weak auth is not stored explicitly in the DB.
458
Solution: include the user ID in the weak auth.
459
(this invalidates existing weak auths)
470
- scheduler: forgot to add a couple of files
476
- renamed clean_out_dir() to client_clean_out_dir(),
477
and put the original clean_out_dir() back in lib/filesys.C
493
- Add a "Forgot your password" hyperlink to the wizards
497
AccountInfoPage.cpp, .h
501
- scheduler: fix weak auth bug
507
Fix Compiler warning.
513
- client: a project (Ralph) had accidentally included a .svn directory in a zip archive,
514
resulting in a lot of read-only files in its slot directories.
515
When the client attempts to delete these files,
516
each delete fails and the client retries for about 5 seconds.
517
This adds up to a delay of about 20 minutes,
518
during which the client (and Manager) appear to be hung.
521
1) if a file delete fails with error ERROR_ACCESS_DENIED,
522
use SetFileAttributes() to clear the read-only flag, then try again.
523
2) Don't use the 5-second retry mechanism when clearing out
524
slot directories. These can contain unbounded numbers of files,
525
and this can lead to long periods where the client appears hung.
535
- WINSETUP: Add some additional comments to the setup log when
536
we know we cannot do a migration and why.
538
win_build/installerv2/redist/Windows/src/boinccas/
540
CAMigrateBOINCData.cpp
541
win_build/installerv2/redist/Windows/Win32/
544
win_build/installerv2/redist/Windows/x64/
549
- Manager: "Forgot your password" needs a question mark
550
- Win diagnostics: diagnostics_dump_thread_information() had a printf
551
with bad format string, caused a crash, not what diagnostics should do
513
- client and user web: finish the above.
514
Should add the Adv Prefs dialog as well.
524
- lib: Don't allow the diagnostics threads to be suspended.
525
If a crash happens within the remaining threads
526
the process will deadlock.
556
530
diagnostics_win.cpp
559
- web: fixed screwed-up UOTD logic.
560
The meaning of the <screen_profiles> config flag is:
562
profiles must be screened by admins before their photo is shown.
563
When this is done, profile.verification is set to 1
564
(and they become eligible to be UOTD)
566
profile photos are always shown.
567
Profiles must be screened by admins before
568
they are eligible for UOTD.
569
When this is done, profile.verification is set to 1
570
So default_uotd_candidates_query() is the same in either case.
571
- web: fix profile_screen_form.php
572
(admin page for screening profiles)
573
- web: make a copy of login_action.php in ops/
579
login_action.php (new)
580
profile_screen_form.php
583
- client: restore proper sense of --check_all_logins
584
(should this be set by default?)
585
- web: removed addslashes() when building language translation arrays.
586
These caused 's to be displayed as \' everywhere.
587
They may serve some purpose, but I can't think of what it is.
588
- web: changed max profile image dimensions from 800x600 to 640x480.
589
The new profile page puts a column to the right
590
of the image, so it shouldn't be quite that wide.
534
- API: fix crashing bug. There was a leftover memset(aid, 0)
535
in boinc_parse_init_data_file()
536
- client sim: make it work again
545
- web: translation fix from Nicolas:
546
"There is a bug in tra() that causes problems if one of the arguments
547
contains a replacement marker itself. For example, if the first
548
argument contains an encoded URL, which contains '%2', the second
549
argument may appear in the middle of the URL."
550
- client simulator: further fiddling around. Not done.
560
- client simulator: done for now
567
- client: brute-force attempt at eliminating domino-effect preemption:
568
if job A is unstarted and EDF,
569
and there's a job B that is later in the list,
570
is started, has the same app version,
571
and has the same arrival time,
573
- client: remove the "temp_dcf" mechanism,
574
which had the same goal but didn't work.
575
- client: in computing overall debt for a project,
576
subtract a term that reflects pending work.
577
This should reduce repeated fetches from the same project.
578
- client simulator: tweaks
591
- MGR: Implement Mac accessibility for Event Log.
595
DlgEventLogListCtrl.cpp, .h
597
MacAccessiblity.cpp, .h
600
- lib: Updated Makefile.mingw to include coproc.cpp/h
606
- Mac Sandbox: To keep authenticators private, make all .xml files readable
607
only by user and group boinc_master; except ss_config.xml is world-
608
readable so screensaver coordinator can access it. All other files
609
except gui_rpc_auth.cfg are world-readable to allow access by
619
lib: add cal.h to install headers
625
- user web: clean up LANG_NAME_* mess
634
- DB purge: allow fractional min_age_days (from Travis Desell)
641
- user web: don't show "database error" if result refers
642
to deleted app version
652
- transitioner: fix bug where WUs with error_mask <> 0 keep
653
transitioning every 10 days, hence never become eligible for purging.
654
The problem: the transitioner has a "safety net" where,
655
if the WU doesn't have a canonical result,
656
it arranges for another transition in 10 days.
657
Skip this if error_mask<>0.
663
- client: when launching app, delete init_data.xml using switcher
664
prior to trying to write it,
665
in case it's owned by another user (e.g., boinc_project)
671
- client/manager: eliminate duplicate notices.
672
When appending a new notice, we check whether one with
673
the same title and description is present already.
674
If so we remove one or the other, depending on the situation.
676
This introduces the possibility of "holes" in the seqno space.
677
In order that the manager learns of these deletions,
678
we use the following mechanism:
679
whenever a notice is removed (because it's a dup or too old)
680
a flag is set in each GUI_RPC_CONN.
681
On the next get_notice() RPC, the client returns the entire
682
list of notices, preceded by a dummy notice with seqno=-1;
683
this tells the RPC stub function to replace the current list
684
rather than appending to it.
690
gui_rpc_server_ops.cpp
691
samples/multi_thread/
695
- web: assume all translation files are UTF-8
706
- Mac Sandbox: The init_data.xml file in each slot directory also contains
707
an authenticator; to keep these private, change ownership of the "slots"
708
directory to boinc_master:boinc_project and eliminate read and execute
709
permissions of this directory for "other". For consistency, make the
710
same changes to the "projects" directory. The individual slot and
711
project directories are still world-executable and they and their
712
contents are still world-readable, so the Client can still read files
713
created by project apps with ownership boinc_project:boinc_project.
714
- NOTE: I believe this should not cause any problems for either BOINC or
715
project applications, but it needs to be tested thoroughly.
730
- MGR: Fix minor bugs in Mac accessibility reporting kAXWindowAttribute and
731
kAXTopLevelUIElementAttribute.
738
- client: fix small bug that could interfere with work fetch
739
on hosts with both NVIDIA and ATI GPU
745
- client: fix work fetch bug that prevented getting work
746
from an overworked project,
747
even if idle instance or major shortfall.
748
- GUI RPC: finish the notice-duplication thing
753
gui_rpc_client_ops.cpp
756
- client: remove debug msgs
762
- client: if a project has zero resource share,
763
treat it as a "backup project":
764
fetch work from it only if there is an idle instance
765
and no other projects have work.
774
- Mac Sandbox: SetupAuthorizationExecuteWithPrivileges() forks to run chmod and chown,
775
leaving zombie processes which can exceed the system-imposed limit of processes
776
MAXUPRC for a user. Call waitpid() to clear these zombies.
777
- Mac Sandbox: fix comment in Mac_SA_Secure.sh script.
786
- client: fix my last checkin
793
- user web: allow zero resource share
794
- client: allow zero resource share
805
- user web: if Akismet rejects thread reply, show warning
811
- manager: move Preferences and Options to Task menu.
812
Give them more descriptive names.
819
- graphics API: if font missing, find one that isn't (from Kevin)
825
- ss_app: Allow branding for GridRepublic by compiling with -D_GRIDREPUBLIC on
826
non_apple systems and by testing Branding file on Macs.
827
- ss_app: Add a high-resolution background GridRepublic logo.
828
- Mac Installer: update script for new gridrepublic_ss_logo.jpg file, etc.
829
- Mac Installer: add .txt extension to copyright files in GUI installer extras.
834
gridrepublic_ss_logo.jpg
841
- scheduler: don't send CUDA jobs to Macs with client < 6.10.28;
848
- client: newer ATI drivers crash if struct_size isn't filled out
849
before the structure is used.
855
- Mac SS: look for Branding file in BOINC Data folder before the one in Manager
856
to avoid confusion if newer copies of BOINC Manager exist elsewhere on system.
857
(This is primarily for convenience in debugging on build system)
863
- client: if GPU get available RAM fails, don't use the GPU
864
- web: put $languages_in_use into $GLOBALS.
865
Apparently it can't be referenced as a global in Drupal otherwise
873
- web: code shuffle for Drupal
896
- scheduler: add example code for SETI@home's situation
897
where app has both GPU and CPU versions,
898
but for certain jobs (VLAR WUs in this case)
899
the GPU version performs poorly and shouldn't be used.
901
The fix is a kludge - it will result in these jobs
902
not being sent to the host at all,
903
rather than being sent with the CPU app.
904
The current architecture makes it difficult to do otherwise.
905
One possible fix would be to create a separate app
906
for VLAR jobs, with only CPU app versions.
912
- Mac Installer: when adding non-admin users to group boinc_master, also add
913
them to group boinc_project; this fixes permissions error -1200 for non-
914
admin users; show "Please wait" alert if WaitPermissions takes > 15 seconds.
924
- web: fix bug that caused news RSS to show wrong items
930
- WINSCR: cleanup configuration dialog text.
936
- MGR: Enable task bar icon on Linux.
944
- MGR: Move cross-platform event handlers for creating context menus and updating
945
tooltips out of the Windows only scope.
951
- MGR: Fix build break by adjusting the SetIcon function prototype so that it conforms
952
to the wxWidget standard.
960
- MGR: Change the 'Open BOINC Manager' menu item ID for the task bar icon. wxID_OPEN
961
causes a folder icon to be prepended to the menu item on Linux.
962
- MGR: Enable the Test Notification menu item on Linux
968
- MGR: Introduce balloons to Linux version of BOINC Manager.
969
(Note: Not debugged yet)
980
- parsing of platforms from WCG's get_project_config.php was wrong
986
- web: make a bunch of strings translatable (from Christian Beer)
997
- more tra()s from Christian. fixes #976
1003
- client: detect CPU information via the cpuid instruction instead of
1004
the registry. This change is only for Windows but I haven't tested
1011
- MGR: Fix build breaks and potential crashes from recent task bar changes.
1012
- Mac SS: change configuration dialog text to match new Windows wording.
1016
BOINCTaskBar.cpp, .h
1022
- client: undo [17160]. <ncpus>0</ncpus> in cc_config.xml
1023
no longer means simulate zero CPUs.
1024
There are several places that divide by ncpus.
1025
Zero CPUs doesn't make any sense anyway.
1032
- client: some more CPU detection cleanup.
1038
- Mac installer: If installing an acct_mgr_url.xml file, don't install it
1039
directly into the BOINC Data directory. Instead, put it into the
1040
installer's resources and have the postinstall or postupgrade script
1041
copy it to the BOINC Data directory. This fixes a problem which would
1042
happen if the user later ran the standard BOINC installer without an
1043
acct_mgr_url.xml file: the Apple installer would then delete the file,
1044
causing BOINC to detach from the account manager.
1047
make_GridRepublic.sh
1048
make_ProgThruProc.sh
1053
- Mac Installer: Fix receipt name for GridRepublic installer so we can remove it.
1059
- build: Attempt to hook up the gtk flags and libs to BOINC Manager
1067
- MGR: Move GTK structures out of the class scope.
1073
- build: replace gtk flags and libs with libnotify
1081
- MGR: Add some debugging to the notification code
1087
- MGR: Re-enable the test notification mechanism so
1088
that it is compatible with Linux.
1091
BOINCTaskBar.cpp, .h
1094
- MGR: Re-enable the context menu support mechanism so
1095
that it is compatible with Linux.
1098
BOINCTaskBar.cpp, .h
1101
- MGR: Fill in missing pieces to get the notification
1102
handler to signal us when a notification has closed.
1108
- MGR: Over half of the information on the Internet about
1109
libnotify is now out of date. The 'closed-reason'
1110
property has been removed and that is why I was having
1111
so many problems. Hook up the events I can determine
1112
from the remaining information.
1118
- MGR: Re-enable the balloon context click event handler
1122
BOINCTaskBar.cpp, .h
1125
- MGR: The Linux notification area doesn't report when mouse
1126
activity happens over the notification icon, so merge the
1127
OnMouseMove event handler with the OnRefresh event handler
1128
so we have the correct tooltips.
1131
BOINCTaskBar.cpp, .h
1134
- MGR: Another place that interacts with the taskbar but was
1135
included only if compiled for Windows or the Mac.
1142
- MGR: Only notify the OS of a change in the notification area
1143
if something has changed, otherwise don't update.
1146
BOINCTaskBar.cpp, .h
1149
- client: if a project is anonymous platform and it has no
1150
app versions that use a resource,
1151
don't request work from it for that resource.
1160
- Mac: Update build script for OS 10.6 and XCode 3.2 (thanks to Jack
1161
Shultz for pointing out this was needed.)
1167
- MGR: Mac Taskbar does not support tooltips, so exclude tooltip code on Macs.
1173
- web: make strings translatable. fixes #980
1176
edit_user_info_form/action.php
1179
- client: include CPU usage of client in BOINC total.
1180
Also include manager if its name includes "boinc"
1181
(can't figure out another way)
604
- API: fix to zip code (from Carl C)
610
MGR: When connection to Client is lost, don't clear message window; show
611
messages grayed out instead.
612
NOTE: these changes may need to be applied in CViewMessagesGrid class
613
if we implement that in the future.
1187
- web: more translations, from Christian. fixes #981
1199
Mac wrapper: add build script and make file to buuild wrapper on Mac.
1207
- web: more translations, from Christian. fixes #982
1212
- Samples: Update MakeMacExample.sh and Mac make files in example_app for
1213
OS 10.6 and XCode 3.2.
1222
- manager: first whack at "suspend if CPU load exceeds x" in dialog
1226
cancel_wu_action.php
1229
- screensaver: fix bug where sometimes no tasks are shown;
1230
change font sizes for max of 2 sizes at a time
1236
- MGR: Fix icons for dialogs that display them.
618
1240
sg_DlgMessages.cpp
622
Mac Sandbox: make BOINC Data directory and files not world-readable to
623
hide account keys from unauthorized users.
637
- MGR: If the project_init.xml file suggests a project to attach too
638
attempt to attach to it.
639
- CLIENT: Move the code that deletes the project_init.xml from detach
640
project to attach project. It is only needed for as long as
641
it takes to attach to a project.
647
sg_BoincSimpleGUI.cpp
650
Mac Sandbox: make user boinc_master part of group boinc_project.
660
Rom Jan 17 2008 (HEAD)
661
- Tag for 6.1.7 release, all platforms
662
boinc_core_release_6_1_7
665
- API: make the libraries for old-style graphics compile again
666
(these are no longer supported, but they probably still work)
674
API: fix compiler warning.
675
Mac Sandbox: group membership apparently only affects real UID not
676
effective UID, so it made no difference; remove code which makes
677
user boinc_master part of group boinc_project.
678
Mac Sandbox: make BOINC Data directory and files not world-readable to
679
hide account keys from unauthorized users; but make files in slots
680
and project directories world-readable so Client can read files
681
written by project applications with user and group boinc_project.
697
- scheduler: if get request w/o host ID,
698
use most recently created host with same domain name,
699
IP addr, OS name, and CPU model, if one exists.
706
- WINSETUP: Fix failed termination attempts on Win64
708
win_build/installerv2/
710
win_build/installerv2/redist/Windows/src/boinccas/
713
win_build/installerv2/redist/Windows/Win32/
716
win_build/installerv2/redist/Windows/x64/
721
GFX API: change args passed to GlutInit() to be original unmodified args
722
which were passed to the application, as specified in the man page.
728
- web: fixed extremely minor bug in forum search; fixes #539
731
forum_search_action.php
734
- create_work: added -opaque option (to specify workunit.opaque)
1241
sg_DlgPreferences.cpp
1244
- db_dump: don't error out if try to rename output dir
1245
and it doesn't exist.
1246
Seems to me that this would cause db_dump to always fail
1259
- assimilator: fix --one_pass bug (from Bernd)
1265
- client: don't accumulate LTD for projects w/ suspended jobs
1271
- wrapper: print more detailed msgs if process creation fails
1277
- locale: automatically update each language based on whatever the
1284
- various components: fix inconsistencies in how user names
1285
and team names are represented.
1286
In particular, edit_user_info_action.php was using
1287
htmlentities() on names; this led to double-encoding.
1290
1) no HTML tags allowed in either one.
1291
This is enforced silently, using strip_tags()
1292
2) names are stored in the DB exactly as entered.
1293
They may contain chars like & and >.
1294
They may contain non-ASCII characters
1295
(use UTF-8 if you want them displayed correctly).
1296
None of these are not escaped.
1297
3) When the names are put in XML
1298
(e.g. in scheduler reply or db_dump output)
1299
they are XML-escaped.
1300
This escapes <, &, and non-ASCII chars
1301
4) The client leaves them in this form,
1302
and writes them that way in GUI RPCs
1303
and init_data.xml files.
1304
5) The parsing of GUI RPC replies and init_data.xml files
1311
edit_user_info_action.php
1314
gui_rpc_client_ops.cpp
1317
- API: in txfRenderString, replace non-ASCII chars with ?.
1318
Otherwise it calls abort()!
1324
- client: fix bug in "suspend if CPU load too high" feature.
1325
Forgot to convert between fraction and percentage
1333
- web: translation stuff
1341
- admin web: a project must provide an .htaccess file
1342
or an auth_ops() function (not necessarily both).
1343
New projects are given an .htaccess file with no .htpasswd,
1344
so they must either create a .htpasswd file
1345
or define auth_ops() in order to use admin web pages.
742
- MGR: Shrink the amount of space between the different projects
749
- MGR: Make sure the attach to project wizard launches if BOINC
750
is not attached to any projects.
1356
- client: Add a function to the client software to be able to detect
1357
the number of bytes sent and received across all non-loopback
1364
- web: translation typo
1369
- MGR: Fix a long-standing bug that made sizers fail on Mac for Advanced
1370
Preferences dialog: I added bSizer1->Fit(this) to end of constructor.
1371
To work around this bug, the dialog had been made resizeable and the
1372
height and width were saved in the Manager settings. But this meant
1373
that when we add an item to the dialog, it is too small until the
1374
user expands it. And Modal dialogs like this should not be resizeable.
1375
I also made the dialog no longer resizeable by the user.
1378
DlgAdvPreferences.cpp
1379
DlgAdvPreferencesBase.cpp, .h
1382
- WIN: Add some missing CPU features to the feature list
1383
- WIN: Make sure the Brand string for a CPU is printable. Older Intel
1384
processors have some control characters.
1390
- MGR: Save and restore height and width of Properties dialog; fix comments.
1393
DlgAdvPreferences.cpp
1394
DlgItemProperties.cpp, .h
1397
- MGR: Implement lost features from old messages display in Event Log:
1398
filtering by project (show only this project), dimming Event Log
1399
display when disconnected; alternating gray and white background
1400
stripes for readability.
1407
- client: Add SEH handlers around the Nvidia and ATI detection
1408
routines. Take care of situations where something within
1409
the vendors functions cause a crash.
1415
- admin web: reorganize main page;
1416
add "transition all" command
1424
manage_app_versions.php
1429
- scheduler: add plan class "cuda_fermi":
1430
requires CUDA 2.3 and compute capability 2.0+
1436
- client: if suspend a file xfer, set upload_offset to -1;
1437
that way it will query server for file length when it resumes,
1438
rather than uploading from the beginning
1439
- client: back out SEH handling for GPU detection
1446
- client: if have coproc jobs but coproc is missing,
1447
skip those jobs in RR sim.
1448
Otherwise we add stuff to uninitialized data structures,
1449
and a crash can result.
1450
- client: initialize the above data structures anyway
1457
- client: fix bug that interfered with work fetch
1458
for particular resources in anonymous platform case.
1464
- server: if MySQL version is 5.0.19 <= v < 5.1,
1465
set the reconnect option before real_connect() instead of after.
1476
- client: Improve error checking with CPU detection features.
1477
- lib: cleanup some warnings.
1485
- client: if suspending apps because of CPU benchmarks,
1486
leave them in memory
1494
- MGR: Fix more Event Log bugs: Exit from taskbar closes Event Log just
1495
like exit from regular menu; enable and disable Copy Selected and Filter
1496
buttons depending on selected messages; fix misplaced curly bracket in
1497
CMainDocument::RunPeriodicRPCs() which caused excessive CPU usage and
753
1501
AdvancedFrame.cpp
754
sg_BoincSimpleGUI.cpp
757
- User web: fix donations page with multiple donation targets.
763
- upgrade script: rename cgi and file_upload_handler
764
before trying to copy new ones,
765
in case there's an instance currently running
771
GFX API: Fix to makefile for Macintosh (from Bernd Machenschalk).
777
- LIB: Make sure that the worker and graphics processes are created
778
using the idle process priority class.
784
- scheduler: get FCGI version to compile
793
- Manager: make email input field bigger
799
- API: allow Win apps to have icon
807
- web: fix bug in handling of links on "forget password?" emails
808
- web: show number of friends
817
- client: add <force_ntlm> config flag.
818
Causes client to use NTLM auth and HTTP 1.0
819
- client: we weren't doing exponential backoff if scheduler
820
requests failed at initialization; fix this
828
- API: fix Win build error
829
- API: fix Makefile.am
830
- add LGPL license on some files
842
- Mac: Update libCurl to 7.18.0, build with c-ares-1.5.1 to enable
843
async DNS name resolving.
844
- Mac API: move mac_icon.C from target api_libboinc to gfx2libboinc
845
(link it into libboinc_graphics2.a instead of libboinc_api.a).
850
HowToBuildBOINC_XCode.rtf
856
- MGR: Delete web site buttons when disconnected; this was causing
857
crashes when a user connected to a different computer.
1508
- MGR: Keep getting messages even if the Event Log is not open; otherwise
1509
some may be lost due to the limited size of the client's buffer,
1510
causing gaps when the Event Log is later opened.
1516
- client: Add missing European SKUs to the host detection code.
1523
- API: Win: resume other threads before exiting from timer thread.
1524
Attempt to fix E@h bug.
1525
- client: fix messages: asking for X instances doesn't mean
1526
that X instances are idle
1534
- add remote job submission system (from Toni Giorgino)
1539
- client: generalize the GUI RPC mechanism to access via HTTP.
1540
The handler checks for POST headers,
1541
and if present adds a reply header.
1542
Also: remove the restriction that request messages
1543
must be read in their entirety on the first recv().
1545
I'm testing this using javascript's XMLHttpRequest.
1546
It's not completely working;
1547
the browser sends an OPTIONS request, then sends a POST.
1548
The BOINC client parses and replies to these,
1549
but for some reason the browser doesn't seem to be
1550
parsing the POST reply.
1553
gui_rpc_server.cpp,h
1554
gui_rpc_server_ops.cpp
1557
- MGR: Save & restore size information of properties dialogs separately
1558
for project and task property dialogs, also save and restore dialog
1562
DlgItemProperties.cpp, .h
1565
- MGR: Use theme colors when setting up the color scheme for list items.
1566
The previous use of gray just happened to be the same color as the
1567
deselected but highlighted list item which caused the 'gray'
1568
backgrounded items to display a white background after Windows
1569
inverted the color for highlighting. By using theme colors we avoid
1570
having to worry about such things.
860
1573
BOINCBaseView.cpp
868
- graphics API: default max graphics CPU fraction is 0.2
869
(see accompanying changes in example app;
870
app should parse project-specific prefs)
876
- web: add "max CPU % for graphics" project-specific preference.
877
Projects should copy or merge
878
project.sample/project_specific_prefs.inc
879
- screensaver: change
880
Running research for PROJECT
883
Computing for PROJECT
890
project_specific_prefs.inc
895
- web: add "% of CPUs to use on multiprocessors" pref
896
- client: enforce the above pref; remove the max_cpus pref.
1577
- scheduler: code cleanup: goto considered harmful
1578
- scheduler: when calculate scheduler runtime,
1579
don't include the part reading request msg from client.
1580
That can be misleadingly long
1588
- client: more Windows SKU detection changes
1589
(from: [P3D] Crashtest)
1595
- scheduler: cuda_fermi class needs CUDA version 3.0+
1596
- boinccmd: "result" -> "task"
1601
gui_rpc_client_print.cpp
1606
- update_versions: if file is already in download dir,
1607
and is the same, don't copy (it might not be writeable)
1608
- client: change "result" to "task" in user-visible messages
1616
- web: fix bug that caused "send email" and "show hosts"
1617
in project prefs to always select "no"
906
- manager: change advanced preferences to handle the above pref
909
DlgAdvPreferences.cpp
910
DlgAdvPreferencesBase.cpp
913
- SCR: When running V5 GFX applications as a service / daemon, display
914
appropriate error message instead of trying to display graphics.
915
- API: Add executing_as_daemon bool to get_state rpc.
916
- MGR: Disable Show Graphics button for V5 GFX applications when BOINC
917
is running as a service / daemon.
1623
- MGR: Instead of alternating gray and white backgrounds in lists,
1624
create CBOINCListCtrl and CDlgEventLogListCtrl with wxLC_HRULES
1625
flag. This avoids theme color conflicts with our backgrounds.
1626
It also eliminates the need to set item attributes in the views,
1627
since the default attribute setting already uses theme colors.
1628
(We still use item attributes in the Event Log to list
1629
error messages in red text.)
1632
BOINCBaseView.cpp,.h
1633
BOINCListCtrl.cpp, .h
1637
- MGR: in Event Log: enable and disable Copy Selected and Filter buttons
1638
immediately when selecting or deselecting items; fix Mac-only bug
1639
drawing selected items when Event Log window is inactive.
1643
DlgEventLogListCtrl.cpp, .h
1646
- MGR: Remove some hacks to deal with early wxGTK bugs which have since
1654
- MGR: Restore wxGTK hacks, bug is still alive and well.
1661
- client: don't start new network activity if CPU benchmarks in progress
1667
- MGR: Allow compile-time choice of either rules or alternating gray and white
1668
background stripes in lists by defining EVENT_LOG_STRIPES (in DlgEventLog.h)
1669
and BASEVIEW_STRIPES (in BOINCBaseView.h) to 0 for rules or 1 for stripes.
1672
BOINCBaseView.cpp,.h
1673
BOINCListCtrl.cpp, .h
1675
DlgEventLogListCtrl.h
1678
include sys/types.h for gid_t
1684
for now maintain (install, uninstall) header files in both BOINC/ and boinc/
1685
(BOINC/ kept for compatibility, shall be dropped at some point later)
1691
fix to compile boinc_api.cpp on Windows
1692
looks like copy/paste error, retval is not defined there
1693
David, please review & change if necessary
1699
- client: revisit the domino-effect preemption problem.
1700
Removed my changes of 19 Jan 2010, which didn't work.
1701
Added new mechanism: keep track of whether a job J has ever run in EDF.
1702
If so, and if another job of the same project and resource type as J
1703
is marked as deadline miss, then mark J as deadline miss,
1704
so that it won't get preempted.
1705
- web: change "result" to "task" in server status page
1706
- admin web: show server stable SVN revision, not trunk
1710
sample_server_status.php
1717
- server: major improvements to locality scheduling from Einstein@home.
1718
Triggering the work generator is now done via the DB
1719
instead of flat files.
1721
Since only E@h uses locality scheduling,
1722
I kept the DB changes in a separate file (db/schema_locality.sql).
1723
There's a new field in the workunit table,
1724
and that's a required update (in db_update.php)
1725
- manager: compile fix
1742
- web RPC: generalize team lookup so that you can look up multiple
1743
teams in one RPC. From Willy de Zutter.
1749
- server credit stuff (partial checkin)
1761
- server credit stuff.
1762
New policy: anon platform and old platform jobs
1763
get average credit, possibly scaled by elapsed time.
1764
We no longer attempt to guess what app version produced them.
1775
- client: if a GPU job is blocked on available mem,
1776
don't fetch more jobs for that resource type
1788
- client: don't suspend non-CPU-intensive jobs because of CPU load
1793
gui_rpc_server_ops.cpp
1799
- MGR: Improve performance when reducing number of rows in lists (as
1800
when selecting "Show active tasks") by calling ClearSelections()
1801
and SetItemCount() instead of repeatedly calling DeleteItem().
1807
- credit test program: create a data file separately so you
1808
don't have to do a big DB query each time
1816
- MGR: Fix a bug which caused unnecessary demand RPCs on some platforms:
1817
set RPC time stamps to 1 rather than 0 in RefreshRPCs() so a not to
1818
trigger initialization code.
1824
- MGR: Prevent flicker and lack of display by using the regular tooltip
1825
for the Project List control on Windows.
1828
ProjectListCtrl.cpp, .h
1831
- credit test program:
1832
It's working pretty well; for S@h, new credit is 56% of old credit,
1833
whether or not we include small-credit jobs.
1834
- improve AVERAGE class (from John McLeod)
1841
- MGR: Fix to my previous checkin: RefreshRPCs() shouldn't change time stamp
1842
if it was zero, as this is a special vslue to indicate the RPC has never
1849
- MGR: use alternating gray and white background stripes in all lists; change
1850
gray color to (247, 247, 247) from (240, 240, 240). Use system colors for
1854
BOINCBaseView.cpp,.h
1855
BOINCListCtrl.cpp, .h
1857
DlgEventLogListCtrl.h
1860
- Manager/client: show project name with notices
1871
- MGR: Allow separate compile-time choice of rules and / or alternating gray
1872
and white background stripes in lists by defining EVENT_LOG_RULES and
1873
EVENT_LOG_STRIPES (in DlgEventLog.h) and BASEVIEW_RULES and BASEVIEW_STRIPES
1874
(in BOINCBaseView.h); set each to 1 to enable or 0 to disable; currently all
1875
are set to 1 for both stripes and rules in both types of lists.
1882
- Remove BOINC_RCSID tags from source files, we are doing branching and tagging
1888
- GUI RPC: in the structures used in the C++ interface to GUI RPC,
1889
change various std::string to char[n], to improve performance.
1891
NOTE: std::string should ONLY be used in cases where there is
1892
no a priori limit on string length.
1893
If there's a limit (e.g. because the string originates in
1894
a fixed-size database field) always use char[n].
1897
sg_StatImageLoader.cpp
1899
sg_StatImageLoader.h
1901
sg_ProjectsComponent.cpp
936
- MGR: Change the CC startup logic so that more informative error
939
Policy Change: When installed as a service or daemon, the service
940
or daemon manager should start BOINC, not the BOINC Manager.
941
(Windows Only for right now, should eventually be applied
943
- LIB: Revert my previous change that launched graphics apps as
945
- LIB: Take care of some warnings.
948
BOINCBaseFrame.cpp, .h
949
BOINCClientManager.cpp, .h (Added)
956
- MGR: Fix a few bugs in the new CC startup logic; if configured to
957
run client as a daemon on the Mac, then start / restart it as a
958
daemon when necessary. Add new source files to XCode project.
961
BOINCClientManager.cpp,.h
1906
DlgItemProperties.cpp
1910
gui_rpc_client_print.cpp
1911
gui_rpc_client_ops.cpp
1917
- client: we weren't marking GPU jobs as EDF-scheduled
1923
- server: DB update queries check that the number of affected rows is 1.
1924
However, MySQL's default is that "affected rows" is
1925
rows actually modified, which is not what we want.
1926
Use the CLIENT_FOUND_ROWS option in mysql_real_connect()
1927
to change the semantics to "rows matched".
1934
- GUI RPC: more replacement of std::string
1938
DlgItemProperties.cpp
1946
gui_rpc_client_print.cpp
1947
gui_rpc_client_ops.cpp
1951
- client: in computing non-BOINC CPU time,
1952
exclude any process whose executable includes "boinc", case-insensitive.
1953
Fix problem with BoincTasks.exe
1954
NOTE: this affects only Win and Linux;
1955
Mac already had case-insensitive comparison.
1962
- Mac Sandbox: Fix bug in my changes of 26 Jan 2010 to set projects directory
1963
and slots directory to group boinc_project, not boinc_master.
1969
allow out-of-source-tree build & install of MinGW Makefile build
1975
- fix bugs in strcasestr(), which apparently had never been tested
1976
- fix typo in schema
1984
- Define HAVE_ALLOCA in boinc_win.h so that any component using
1985
strcasestr in str_util.cpp uses stack allocations instead of
1986
more expensive heap allocations.
1987
- Move remaining HAVE_* defines from project files to boinc_win.h
1995
- MGR: If user selects Event Log from menu when Event Log window already open,
1996
just bring it to the front instead of opening another window.
1997
- lib: Fix crash bugs.
967
Rom Jan 30 2008 (HEAD)
968
- Tag for 6.1.8 release, all platforms
969
boinc_core_release_6_1_8
972
- WINSETUP: Fix the migration check where sometimes the data directory
973
was being detected as within the install directory even though it
976
win_build/installerv2/redist/Windows/src/boinccas/
978
CAMigrateBOINCData.cpp
979
win_build/installerv2/redist/Windows/Win32/
982
win_build/installerv2/redist/Windows/x64/
987
- Fixed missing symbols in MINGW32 application builds.
988
- Fixed some type warnings.
999
- WINSETUP: Don't configure MSI so that it'll attempt to stop the
1000
BOINC service, we already do it much earlier in the install
1002
- WINSETUP: Fix two typos in the CACreateBOINCGroups custom
1004
- WINSETUP: Include CACreateClientAuthFile in the build now.
1006
win_build/installerv2/
1008
win_build/installerv2/redist/Windows/src/boinccas/
1011
win_build/installerv2/redist/Windows/src/boinccas/
1012
CACreateBOINCAccounts.cpp
1013
CACreateBOINCGroups.cpp
1014
CACreateClientAuthFile.cpp, .h (Added)
1015
CAMigrateBOINCData.cpp
1017
win_build/installerv2/redist/Windows/Win32/
1020
win_build/installerv2/redist/Windows/x64/
1024
- manager: fix unix build (new file)
1030
- WINSETUP: disable creation of client_auth.xml on Win2k.
1031
Win2k requires any user account that is going to attempt
1032
to logon as another account to have admin privs.
1033
- WINSETUP: Give 'boinc_project' the right to be able to
1034
logon as a service, we denied the right to logon
1036
- WINSETUP: Disable the 'failed to shutdown BOINC service'
1038
- CC: Use the client_auth.xml file if present to launch
1039
boinc applications as boinc_project if it exists.
1040
- LIB: Use the client_auth.xml file if present to launch
1041
boinc graphics applications as boinc_project if it
1050
win_build/installerv2/redist/Windows/src/boinccas/
1052
CACreateBOINCGroups.cpp
1053
CACreateClientAuthFile.cpp
1054
CAGrantBOINCMasterRights.cpp
1055
CAGrantBOINCProjectRights.cpp
1057
win_build/installerv2/redist/Windows/Win32/
1060
win_build/installerv2/redist/Windows/x64/
1065
boincmgr_curl.vcproj
1069
- add weak auth to am_get_info web RPC (from Nicolas)
1075
- DB code: safe_atof() was returning a float,
1076
causing a potential loss of precision.
1077
Change it to double (same as atof())
1078
- When moderator locks a thread, let them specify reason
1083
forum_moderate_thread.php
1084
forum_moderate_thread_action.php
1088
- client: limit global prefs mod time to now
1089
- server: limit global prefs mod time to now
1090
These changes address the situation where a server
1091
sends out prefs with mod time far in the future,
1092
and there's no way to undo them
2002
gui_rpc_client_ops.cpp
2005
- client (and anything else using MFILE): Win efficiency fix.
2006
Shockingly, realloc() wasn't doing exponential growth.
2007
So create realloc_aux() that does.
2011
gui_rpc_client_ops.cpp
2014
- MGR: Switch background color for the list view stripes back to
2015
the original color (240, 240, 240) from (247, 247, 247).
2022
- MGR: Add event map to the properties dialog.
2025
DlgItemProperties.cpp, .h
2028
- feeder: with -allapps option, allow some apps to have zero weights;
2029
no jobs will be sent for them.
1104
- client: remove the auth_type and auth_flag code.
1105
- client: remove forbid reuse flag.
2036
- MGR: Fix crash bug when using Mac accessibility with Event Log.
2039
DlgEventLogListCtrl.cpp, .h
2042
- client: fix bug where if anon platform file had bad platform name,
2043
it would cause jobs to get discarded on client restart.
2044
- manager: remove flicker-producing messages on status bar
1111
- WIN: Update libcurl to 7.18.0
1117
- MGR: Set disconnected state when appropriate even when minimized (if
1118
GetCoreClientStatus() call from CTaskBarIcon timer routine fails.)
1119
- MGR: Auto-restart Client only if last connection was to local host.
1120
- MGR: Test if Client is running after auto-restart, if so reconnect
1121
automatically and skip dialog asking user.
1122
- Mac MGR: Don't skip notifications on Mac when mimimized; show them
1123
when user opens Manager window. Remove incorrect alert text on Mac
1124
(telling user to start Manager in same directory as Client.)
1127
2049
BOINCBaseFrame.cpp
1131
- scheduler: send log messages to file, rather than httpd error log,
1132
when using FCGI (from Carl Christensen)
1138
file_upload_handler.C
1146
- scheduler: simplified Carl's checkin (avoid virtual destructors)
1147
- API: small tweak for standalone
1163
- trickle handler: make it compile, and add to Makefile.am
1171
- Manager/client: add the ability to specify a port
1172
in the manager's "select host" dialog.
1173
Lets you connect over an SSH tunnel.
2055
- Mac SS: Fix build break due to RPC changes of std::string to char[n].
2061
- feeder: compile fix
2067
- MGR: Change Advanced Menu item "Run GPU never" to "Suspend GPU".
1177
2070
AdvancedFrame.cpp
1183
- GUI RPC: fix some XML errors (missing / in single-tag elements)
1184
Fixes #524 (from Nicolas)
1187
gui_rpc_server_ops.C
1189
gui_rpc_client_ops.C
1192
- GUI RPC: initialize disk usage structure
1193
to avoid wacky pie charts at startup
1194
Fixes #549 (from Der Meister)
1200
- delete_file: fix bugs and info text
1201
Fixes #551 (from Nicolas)
2075
- added -dont_delete (don't delete from DB, for testing)
2076
- added -daily_dir (write archives in a new directory each day)
1216
- MGR: Cache the local computer name in statics to avoid functions
1217
that take awhile to execute.
2082
- web RPC: include mem and disk info in host XML record
2088
- MGR: Simplify the taskbar code before implementing the notice detection
2089
code for the taskbar.
1223
- client: fix compile warning
1229
- MGR: fix compile warning
1232
DlgAdvPreferences.cpp
1235
- MGR: Fix a refresh bug when opening BOINC Manager from the taskbar.
1238
2092
BOINCTaskBar.cpp
1241
- file upload handler: the FCGI version wasn't handling signatures,
1242
because the code to read keys in FCGI was commented out
1243
(and was in fact wrong).
1244
I fixed it and uncommented it.
1245
- make_project and upgrade: copy lib/crypt_prog to project/bin/
1256
- API: critical section begin/end calls can be nested
1257
Fixes #508 (from Nicolas)
1263
- client: expand the <force_ntlm> functionality so that we can
1264
force any authentication type. The new tag is called
1265
<force_auth> whihc can contain basic, digest, ntlm, and
1273
- MGR: If user shuts down connected client, don't auto-relaunch it.
1280
- scheduler: do "careful update" of workunit.hr_class
1281
in case someone else changed since we read it.
1282
Hopefully this will fix a race condition
1283
where WU results get sent to different HR classes.
1284
(Alternatively we could use transactions,
1285
or acquire the semaphore during read/update,
1286
but this could impact performance).
1294
- client: only construct the path to ca-bundle.crt once.
1300
- scheduler: fix bone-head mistake in HR code
1308
- client: removed sprawl
1319
- client: if a non-CPU-intensive project already has a job
1320
(even if suspended or downloading) don't ask for another one
1327
- client code: my next-to-last checkin was flawed
1334
BOINCClientManager.cpp
1345
- web: remove all references to the PHP "session" mechanism,
1346
which added only confusion.
1347
Implement login directly, using cookies.
1348
- All cookie setting/clearing now goes through two functions,
1349
send_cookie() and clear_cookie().
1350
These deal with path and expiry
1351
(e.g. if you want to have different language or forum settings
1352
on two projects on the same server, that now works).
2095
- boinccmd: add --set_gpu_mode command
2096
- fix some compile warnings
2106
- user web: if a forum or thread is not visible to a user,
2107
remove their subscriptions to it.
1360
account_finish_action.php
1362
create_account_action.php
1363
create_account_form.php
1364
2114
forum_forum.php
1374
- web: make "next URL" mechanism work when user creates new account
1375
instead of logging in
1381
create_account_action.php
1382
create_account_form.php
1386
- MAC SCR: Use Quartz drawing instead of deprecated QuickDraw APIs.
1387
Show moving logo with text underneath like Windows screensaver
1388
instead of horizontally scrolling banner text.
1391
mac_saver_module.cpp
1393
Mac_Saver_ModuleView.m,h
1396
boinc_ss_logo.png (new)
1397
gridrepublic_ss_logo.png (new)
1403
- rename cgi.log to scheduler.log
1412
- client: prevent information disclosure by creating a new environment
1413
block for applications launched using the 'boinc_project' account.
1415
Windows contains environment variables that describe username,
1416
domain name, profile directory and even logon server.
1418
- client: correctly parse domain name information from the
1419
client_auth.xml file when a different account is used for
1421
- SCR/MGR: Add two API's to adjust the ACLs on the current users
1422
desktop and windowstation so that graphics applications can
1423
properly create controls and dialogs for applications
1424
launched using 'boinc_project'.
1434
boinc_cli_curl.vcproj
1438
- web: single quotes in team name HTML didn't work
1439
because of magic quotes (need stripslashes()).
1442
team_edit_action.php
1445
- scheduler: fix earlier fix to HR race condition.
1446
I was doing "careful update" but not checking
1447
that the # of affected rows is 1
1453
- web: fix in XML RPC to get pending credit
1459
- MAC SCR: Further changes and cleanup of new Mac screensaver; when
1460
applications don't support graphics, cycle progress text through
1461
tasks like Windows screensaver. Fix crash bug when activity is
1462
suspended from a remote host.
1463
- WIN SCR: Fix bug in Windows code which cycles progress text.
1466
mac_saver_module.cpp
1468
Mac_Saver_ModuleView.m,h
1473
- Mac client: Fix bug which erroneously set powerpc_emulated_on_i386
1474
true for X86_64 native applications.
1480
- Server: add "job assignment" feature.
1481
Lets you assign a WU to a particular host,
1482
to one or all hosts belonging to a user or team, or to all hosts.
1483
See http://boinc.berkeley.edu/trac/wiki/AssignedWork
1484
Disabled unless you include <enable_assignment> in config.xml
1485
Uses a new DB table.
1486
Tested but only a little.
1487
- Server: code cleanup; moved result-handling to a new file,
1488
and removed the PLATFORM_LIST arg to everything
1489
(put it in SCHEDULER_REQUEST instead)
1505
file_upload_handler.C
1507
sched_assign.C,h (new)
1508
sched_result.C,h (new)
1517
- V6 GFX API: exit if parent application is no longer running. When running
1518
under a V5 client, the worker app launches the graphics app so this code
1519
kills the graphics when the worker application exits.
1520
Under a V6 client, the Manager or Screensaver launched the graphics app
1521
so this code kills the graphics when the Manager or Screensaver exits.
1522
- V6 GFX API: If running under V5 client, notify the client if the graphics
1523
app exits (e.g., if user clicked in the graphics window's close box.)
1524
- Mac V6 GFX: Under sandbox, use switcher to kill graphics app when worker
1540
- Update release libcurl to include the c-ares library on Windows
1546
- scheduler: add <max_ncpus> config option.
1547
Use this with N=1 if your application primarily uses a coprocessor
1554
- scheduler: code cleanup, remove "SCHED_MSG_LOG::" from a zillion places
1559
- Mac SCR: Horizontaly center the text under the logo in screensaver.
1560
- Mac: Update GridRepublic branding scripts for new screensaver and to
1561
fix bugs when building under OS 10.5 and/or using PackageMaker V3
1565
Mac_Saver_ModuleView.m
1567
make_GridRepublic.sh
1568
release_GridRepublic.sh
1571
- Mac SCR: Faster screensaver frame rate, slower maximum logo slew rate
1572
(when not displaying application graphics) for smoother motion.
1575
mac_saver_module.cpp
1576
Mac_Saver_ModuleView.m
1579
- scheduler: code cleanup: use global var for SCHED_SHMEM
1580
instead of passing it around as argument
1581
(should do same for request and reply at some point)
1586
- client: fix crashing bug in SCHEDULER_OP::backoff().
1587
Was using cur_proj (which is potentially NULL) instead of p
1593
- scheduler: add a general method for excluding hosts from job distribution.
1594
config.xml has optional <ban_os> and <ban_cpu> elements,
1595
which contain regular expressions matched against
1596
os_name\tos_version and p_vendor\tp_model.
1597
If a host matches either one, it's not sent jobs.
1598
- scheduler: fix bug in job assignment
1599
- scheduler: initial (incompleted, commented-out) code for
1600
matchmaker scheduling
1601
- server programs: declare "SCHED_CONFIG config" in sched_config.C;
1602
remove declarations of it from all other .C files
1603
(because I added a vector to it, I can no longer use memset
1604
to initialize it to zero; instead, it must be a global variable,
1610
- Update release libcurl to include the c-ares library on Windows
1617
- Manager: compile fix for linux
1623
- MGR: Fix the crash on linux when BOINC Manager is shut down.
1624
(Patch from Michael Roberts)
1630
- MGR: When connecting to a different host, delete all old messages in
1631
message pane (from previously connected client) before getting new
1639
- Mac SCR: Display "Starting screensaver graphics. Please wait ..."
1640
for 45 seconds each time we start graphics from a different application.
1641
The application graphics window will hide this when it opens, so we
1642
stop showing it after 45 seconds to avoid wasting CPU cycles.
1645
mac_saver_module.cpp
1650
- server: make the special substring for assigned WUs
1651
into a #define's symbol (ASSIGNED_WU_STR)
1652
- scheduler: when send client command to abort a WU,
1653
include a reason code in the scheduler log
1667
- Mac sandbox: set ownership and permissions for gfx_switcher in screensaver
1674
- Mac SCR: Add a test to directly determine when a graphics application
1675
window obscures our moving logo animation;
1676
if so, stop showing moving logo to avoid wasting CPU cycles.
1679
mac_saver_module.cpp
1681
Mac_Saver_ModuleView.m,h
1687
Mac: In build scripts: fix bug, add checks for needed SDKs; update build
1688
documentation (from Bernd Machenschalk.)
1691
HowToBuildBOINC_XCode.rtf
1699
- Scheduler: fix bugs in work assignment feature
1713
- changes to many files to fix gcc4.3 compile
1716
- MGR/SCR: run_program should explicitly set the desktop
1717
and window station to whichever desktop and window station
1718
the app launching it belongs. If access is denied then
1719
change the ACLs on the current desktop and window station
1720
then attempt to relaunch the application.
1726
- MGR: When connected host has changed, clear all cached messages and
1727
resume auto-scrolling messages.
1734
- User web: fix (at least part of) long threads issue.
1740
- MGR: When connected connecting to a different host, clear all cached
1741
messages (a more efficient implementation).
1747
- CLI: CreateEnvironmentBlock always creates a Unicode Environment block.
1748
- MGR: CreateProcessAsUser doesn't always error out when the ACLs haven't
1749
been changed for a specific Desktop and WindowStation so go ahead
1750
and Modify the ACLs with every call. It appears the ACLs revert
1751
themselves after CreateProcessAsUser is called anyway.
1758
Rom Feb 28 2008 (HEAD)
1759
- Tag for 6.1.9 release, all platforms
1760
boinc_core_release_6_1_9
1767
- make_project: initialize send_result_abort=1 in config file
1768
- web: "least recent" => "oldest", "most recent" => "newest"
1769
- scheduler: change DELAY_NO_WORK_CACHE from 20 min to 0.
1770
Otherwise, a host that has max_wus_in_progress,
1771
completes one, and sends a work request before the upload is finished
1772
will delay (and maybe sit idle) for 20 min.
1773
Better to have a few extra scheduler requests
1774
and let the client's backoff take care of things.
1786
- lib: remove references to LogonUserEx which does not exist on Win2k or
1788
- lib: comment out the CreateProcessAsUser code for graphics apps.
1797
- Change libcurl to use sync DNS on Windows (Release version only)
1803
- make_project: copy javascript files to html/user.
1809
- transitioner: we're not supposed to ever see "assigned" WUs.
1810
But if we do, set their transitioner time to plus infinity
1811
so that we don't see them again.
1812
(otherwise we go into an infinite loop)
1813
- DB code: remove "high_priority" from queries not from scheduler
1814
(should probably remove them from there too)
1815
- file_deleter: print error msg if apache user doesn't exist
1827
- MGR: Disallow multiple selections in grid views.
1830
ViewProjectsGrid.cpp,.h
1831
ViewTransfersGrid.cpp,.h
1835
- web: fixed typo that cause bad (and slow) query
1836
when notifying user of friend acceptance on web
1842
- server: added a mechanism for submitting jobs as:
1843
> boinc_submit --infile foo --outfile blah program --args
1844
This will run "program" on a remote host,
1845
with the given input, output files, and command-line args
1847
It manages everything for you.
1848
You don't have to worry about apps, app_versions,
1849
template files, wrapper job files, etc.
1850
See: http://boinc.berkeley.edu/trac/wiki/SingleJob
1852
Initial checkin - not debugged yet.
1858
single_job_setup (new)
1862
single_job_assimilator.C (new)
1869
- MGR: Allow multiple selections in Transfers grid view only
1870
(requested by Jorden van der Elst). The Transfers tab is
1871
the only grid view where the buttons did work properly with
1872
multiple selections, so there is no reason to disable it.
1873
The other tabs disabled all buttons when multiple items were
1874
selected, so allowing multiple selections was confusing to
1876
- MGR: When order of rows in grid views changes (due to sorting or
1877
changes in data), reselect the same data in the rearranged rows
1879
Projects tab: project name only
1880
Tasks tab: project name and work unit (task) name
1881
Transfers tab: project name and file name
1882
Messages tab: sequence number only.
1883
- MGR: set m_bForceUpdateSelection=true when deleting rows from grid
1884
views. Fixes bug: if the last row was selected and is deleted,
1885
the new last row is automatically selected but the buttons were
1886
not updated to reflect the new selection.
1889
BOINCGridCtrl.cpp,.h
1890
ViewMessagesGrid.cpp
1891
ViewProjectsGrid.cpp
1892
ViewTransfersGrid.cpp
1896
- MGR: Add hidden project URL column to Tasks, Projects and Tansfers
1897
Grid Views; use the project URL instead of the project name to
1898
identify items. The criteria for identifying an entry and its
1899
underlying data are now:
1900
Projects tab: project URL only
1901
Tasks tab: project URL and work unit (task) name
1902
Transfers tab: project URL and file name
1903
Messages tab: sequence number only.
1908
ViewMessagesGrid.cpp
1909
ViewProjectsGrid.cpp,.h
1910
ViewTransfersGrid.cpp,.h
1914
- server: debugged single-job submission feature.
1915
It works, at least in my test case.
1916
- boinc_submit script:
1917
show status every 10 seconds until completed
1918
add --wait option to show status for previous submission
1919
- Added get_logical_name() in validate_util.C
1920
- create_work: change default target_nresults from 5 to 2,
1921
max_error_results from 10 to 3,
1922
max_total_results from 20 to 10,
1923
max_success_results from 10 to 6
1924
- boinc_cmd: show full usage if no args
1925
- project setup: copy single_job_assimilator
1938
single_job_assimilator.C
1945
- Matched function linkage in api/graphics2.h to those in
1952
- web: minor code cleanup
1962
- MGR: Fully implement support for multiple selections in Tasks
1963
and Projects grid views. Handles conflicts as follows:
1964
- Disables buttons which change functions (Suspend / Resume,
1965
No New Tasks / Allow New Tasks) if user selects a mix of
1966
items inconsistent with either function.
1967
- Disables any buttons (Show Graphics, Abort) which would be
1968
disabled for any one of the selected items.
1969
- Disables and hides project web site buttons if items from
1970
more than one project are selected.
1971
- For operations which require confirmation (Abort, Reset,
1972
Detach) asks in a separate dialog for each selected item.
1973
User can answer NO to some and YES to others and it will
1974
perform the operation only on those with a YES response.
1975
- Added two defines: PREVENT_MULTIPLE_TASK_SELECTIONS and
1976
PREVENT_MULTIPLE_PROJECT_SELECTIONS in the corresponding
1977
header files. Both are currently defined false. Define
1978
these as true to restrict that tab to single-selections.
1981
ViewProjectsGrid.cpp,.h
1985
- CLI: Make the CreateProcessAsUser process work again on Windows.
1986
It broke after the change of removing the call to LogonUserEx.
1994
- MGR: Fix build breaks on Windows
1998
ViewWorkGrid.cpp, .h
2000
boincmgr_curl.vcproj
2003
- User web: translate some strings in forum.inc (fix #496).
2012
- lib: add Win function to suspend or resume all threads in a process
2018
- lib: Remove SEH exception handling from MS sample code.
2024
- admin web: fix profile screen form formatting
2025
- web: remove get_transform_settings_from_user().
2026
There's only get_output_options()
2028
NOTE: why is text_transform() doing stripslashes()?
2029
The slashes shouldn't be in the DB in the first place.
2030
There's some fundamental confusion here.
2040
profile_screen_form.php
2045
- web: error-check the destination thread for moderation moves
2048
forum_moderate_post_action.php
2051
- removed boinc_ncpus_available() and boinc_nthreads() calls.
2052
The design has been changed to constant #threads per app version
2062
Various changes from Kevin Reed/WCG:
2063
- server: add workunit.rsc_bandwidth_bound: if nonzero,
2064
send this WU only to hosts with that much download bandwidth
2065
- assimilators: if a handler returns DEFER_ASSIMILATION,
2066
the WU remains in INIT state and will be handled when the
2067
next instance completes.
2068
Useful if you want the assimilator to see all instances.
2069
- scheduler: when setting result.outcome = DETACHED,
2070
set received_time to now
2071
- scheduler: removed the reliable_time and reliable_min_avg_credit
2073
- scheduler/web: add optional <allow_non_preferred_projects>
2074
in project preferences.
2075
If present, user will accept work from non-selected apps
2076
if no work is available for selected apps
2077
- scheduler: improved messages for projects with multiple apps
2078
- scheduler: added config options
2079
<granted_credit_weight> and <granted_credit_ramp_up>.
2080
Used in calculating host.claimed_credit_per_cpu_sec,
2081
but I'm not sure how.
2082
- Added two new credit-granting formulas (validate_util.C):
2083
stddev_credit() and two_credit()
2084
- server DB: add rollback_transaction() and affected_rows() to DB_CONN
2086
NOTE: DB update required
2097
assimilate_handler.h
2111
- MGR: restore intended sense of #defines and #if which were incorrectly
2112
changed to fix Windows build breaks.
2119
- Manager: avoid asserts on Linux
2120
- Lib: compile fixes for MinGW
2128
- server: fix botched checkin from 7 March.
2129
The new field (workunit.rsc_bandwidth_bound)
2130
goes at the END of the record.
2131
Always do it this way!
2132
- make_work: after creating a batch of new WUs,
2133
we were waiting 60 sec for the transitioner to
2134
create the results for them
2135
(so that our next count of unsent results would be correct).
2136
This is bogus; if e.g. the transitioner isn't running,
2137
we'll never get the results, and we'll keep creating WUs forever.
2139
Instead: explicitly wait for there to be results for
2140
the last WU from the batch just created.
2142
- scheduler: parse <allow_non_preferred_apps>, <allow_beta_work> correctly.
2153
- client: preliminary support for detecting and reporting coprocessors
2154
(for now, CUDA devices)
2159
procinfo_unix.C (deleted)
2165
- lib: moved "run program as user" stuff to a separate file,
2166
so it doesn't screw up the linkage of apps that don't use it
2167
- start of server-side support for coprocessors
2173
BOINCClientManager.cpp
2178
proc_control.C,h (new)
2184
- Second pass at the above. We still need run_program() in util.C.
2185
The problem was that there's a lot of extra stuff needed
2186
for running apps on Windows (e.g. related to sandboxing).
2187
This needed to be a new function.
2199
- Added API makefile for MinGW (from Pasquale Tricarico)
2207
- Client: Rework write_state_file logic to always retry if there is an
2208
error writing or renaming the state file, and to show warning messages
2209
Can't rename / Can't write state file only if it failed all retries or
2210
if the state_debug log flag is set. These messages have appeared from
2211
time to time and worry users, but they never seemed to signal any real
2212
problems, probably because the subsequent retry succeeded.
2213
- Client: Fix build breaks and compiler warnings on Mac.
2214
- Client: Add new source files to XCode project.
2222
ViewProjectsGrid.cpp
2232
- web: show venues in private host list
2243
show_host_detail.php
2247
- Client: Retry entire write_state_file routine from the beginning if there is
2248
an error writing or renaming the state file, not just the step that failed.
2253
Charlie Mar 11 2008 (HEAD)
2254
- Tag for 6.1.10 release, all platforms
2255
boinc_core_release_6_1_10
2262
- CLI: Adjust the shared memory ACLs so that everybody can read/write to
2263
them, the default ACL limits read/write access to SYSTEM and boinc_master
2264
when run in secure mode.
2271
- API: Include 'Global\' in the shared memory segment name for worker and
2272
graphics applications so that the memory can be shared across terminal
2274
- API: Add some trace messages to window creation and shutdown events, it
2275
is all logged to stderr.
2276
- API: Add some trace messages for loading graphic files.
2277
- API: Add some trace messages for loading font files.
2278
- API: There can be only one hInstance and it is assigned to the app at
2279
startup via winmain(). Use it throughout the graphics2 impl.
2280
- CC: Use the service security token to startup worker applications.
2281
- MGR: Use the interactive security token to startup graphics
2283
- LIB: Create two different logon methods, one for logging on interactively
2284
(graphics applications) and one for services (worker application).
2296
boincmgr_curl.vcproj
2299
Various preparation for handling multithreaded apps
2300
and apps that use coprocessors.
2301
There now can be several app_versions for the same
2302
(app, platform, version_num) combination.
2303
This changes a number of things.
2305
- Added app_version.plan_class field to DB
2306
- update_versions now looks for a :plan-class in the
2307
file or directory name, and puts it in the app_version's DB record
2308
- Change uniqueness constraint to include plan_class
2309
- Feeder: the feeder was putting non-deprecated app_versions
2310
in shared mem, and leaving it to the scheduler to
2311
find the latest version for a given platform.
2313
Instead, for each app/platform pair the feeder now
2314
finds the highest version number of a non-deprecated app version,
2315
and enumerates all non-deprecated app_versions with that
2316
app/platform/version
2317
- Scheduler: add a BEST_APP_VERSION data structure that keeps track,
2318
for each app, what the best app_version is for this host.
2319
This saves the work of recomputing it for each job.
2117
- user web: in above case, remove notifications as well
2123
- Manager: fix bug in task properties app name display
2126
gui_rpc_client_ops.cpp
2129
- MGR: Display a balloon on Windows and Linux, while causing
2130
the dock to bounce on the Mac whenever new notices arrive.
2131
- MGR: More cleanup work for the task bar.
2134
BOINCTaskBar.cpp, .h
2139
- client/manager: show "No CPU prefs" etc. in project properties
2144
DlgItemProperties.cpp
2147
gui_rpc_client_ops.cpp
2150
- server: various changes;
2151
see http://boinc.berkeley.edu/trac/wiki/CreditNew
2153
Projects will need to update DB and recompile all back-end programs.
2156
- new way of computing credit
2157
- "reliable host" mechanism is per app version
2158
- "host punishment" mechanism is per app version
2159
- adjustment of wu.rsc_fpops_est provides the
2160
equivalent of per app version DCF
2161
- max jobs in progress is now per app
2162
- max jobs per RPC is now per app
2165
- reliable mechanism:
2166
- populate and use host_app_version.error_rate
2167
- populate host_app_version.turnaround
2169
- populate host_app_version.max_jobs_per_day
2170
- populate host_app_version.n_jobs_today
2171
- use app.max_jobs_per_day_init
2173
- use app.max_jobs_in_progress, max_gpu_jobs_in_progress
2174
- use app.max_jobs_per_rpc
2175
- adjust wu.rsc_fpops_est
2176
- remove old credit stuff
2177
fpops_cumulative, credit_multiplier
2178
credit computation in scheduler
2180
- AVERAGE class: use the Knuth algorithm (Wikipedia)
2323
2184
constraints.sql
2339
MGR: Hopefully fix a crash bug.
2345
- Validator framework: remove some consts, and other changes,
2346
to allow validator to assign different credit
2347
to different instances of a job
2348
- Scheduler: if can't open DB, return <project_is_down/>
2350
- clean up logic of modify_claimed_credit
2351
- feeder: for -priority_order_create_time, use workunitid
2352
rather than create time (faster for the DB)
2358
sample_bitwise_validator.C
2359
sample_trivial_validator.C
2367
MGR: Fix flicker in projects tab website buttons.
2368
API: fix a compiler warning which was an actual logic error.
2371
ViewProjectsGrid.cpp
2376
- API: Attempt to use the 'Global' tag first, if the API
2377
returns an ERROR_ACCESS_DENIED error code fallback
2378
to the original shmem_name.
2386
- Add "opaque" field to APP_INIT_DATA (for passing #threads, etc.)
2392
- web: fixed bugs in Bulgarian translation file
2396
languages/translations/
2400
- SS: Launch the graphics app as the user instead of 'boinc_project'.
2401
- MGR: Launch the graphics app as the user instead of 'boinc_project'.
2408
Reinhard Mar 15 2008
2409
- fixed internal library dependencies in Makefile.am's
2438
- MGR: Fix a crash in the simple GUI.
2439
NOTE: Do not use the at() function on a vector unless you
2440
also use a try/catch handler.
2441
- MGR: Remove code duplication
2444
sg_ClientStateIndicator.h
2445
sg_ProgressBar.cpp, .h
2449
- MGR: For Grid enabled views, ignore selection events when
2450
saving and restoring selections.
2451
- MGR: Cleanup warnings in Grid views.
2454
BOINCBaseView.cpp, .h
2456
ViewMessagesGrid.cpp
2457
ViewProjectsGrid.cpp
2458
ViewTransfersGrid.cpp
2462
- admin web: touch reread_db in manage_app_versions.php
2463
- DB code: remove "is_high_priority" stuff.
2464
- scheduler: merge find_app_version() into get_app_version().
2465
Have the latter memoize its results (both positive and negative).
2466
Have it call app_plan() for apps with nonempty plan_class.
2467
- scheduler: first steps towards improved selectability of log messages.
2468
It will eventually be like the client,
2469
where you can select among various types of messages.
2470
- feeder: if can't unlink the reread_db trigger file, exit
2471
(else we'd go into an infinite loop)
2476
manage_app_versions.php
2483
- Client: Update coprocessor CUDA library code for Mac (not yet tested.)
2484
- Fix Mac crash backtrace code to work with OS 10.5. Use the new
2485
officially supported APIs backtrace() and backtrace_symbols_fd()
2486
under OS 10.5 or later, continue to use older code on earlier
2487
systems without these APIs.
2488
- Mac: Change back to saving unstripped Client and Manager executables for
2489
symbol tables rather than separate .dSYM files, which cannot be loaded
2490
by atos command-line utility. This also lets user substitute the
2491
unstripped executable into application bundle to get backtraces with
2492
symbols when debugging a crash in the field. Set visibility of all
2493
variables in Client and Manager to not be hidden so they appear in
2506
release_GridRepublic.sh
2509
- client (Unix): use symbolic links instead of XML link files.
2510
This will allow applications to access shared libraries
2511
by their logical names,
2512
which simplifies things when you have multiple platforms,
2513
and the apps (or libraries) refer to shared libraries
2514
by names that don't include the platform.
2515
This shouldn't impact the API - boinc_resolve_filename()
2516
will open the file, see that it's not an XML link file,
2517
and the symbolic link will be used directly.
2518
At some point we can change boinc_resolve_filename() on Unix
2519
to be a no-op if the client is 6.2+
2521
Append the slot dir to LD_LIBRARY_PATH.
2522
- update_versions: added a feature where you can put a file
2523
"extra_xml" in the app dir, and it will get included in
2524
the app versions's xml_doc.
2525
Turns out I don't need this right now, but may as well leave it in.
2539
- client: fixes to the above. Need to use lstat() instead of stat()
2540
so that we see the symlink, not what it's pointing to
2548
- forgot to add new files
2549
- scheduler: wreq.core_client_version was being computed in
2550
resend_lost_results() (which isn't necessarily called)
2551
but its value was used elsewhere.
2554
sched_plan.C,h (new)
2559
- Client: fix a compiler warning which indicated a real logic error
2560
(variable used uninitialized).
2561
- Mac: More work on backtrace code: run atos utility via a bidirectional
2562
pipe instead of backtrace_symbols_fd() API to get better symbols
2564
Set visibility of all variables in Client and Manager back to hidden
2565
(as before) to reduce size of executables,
2566
since atos utility can use hidden symbols.
2567
This also involves return to previous wxWidgets build script.
2577
- updated GeoIP stuff
2584
- Mac: Update sandbox security for symlinks replacing xml soft links.
2593
- Mac: Another sandbox security update for symlinks: setprojectgrp calls
2594
lchown() instead of chown().
2600
- Mac: More sandbox security changes for symlinks: lchown is not available
2601
under OS 10.3.9, so don't use it. The system ignores ownership and
2602
permissions of symbolic links, so setprojectgrp does nothing if it is
2603
called for a symbolic link.
2604
Also make additional changes to check_security and SetupSecurity.
2614
- Mac: When invoked with the -lib argument, BOINC build script builds the
2615
utility application MakeAppIcon_h in addition to the three libraries
2616
libboinc_api.a, libboinc_graphics2.a and libboinc.a.
2622
- WINSETUP: Hide the 'boinc_master' and 'boinc_project' user profiles after
2623
the accounts have been created.
2624
- WINSETUP: Return the user rights to a known good state for 'boinc_master',
2625
'boinc_project', 'boinc_admins', 'boinc_users', and 'boinc_projects'.
2627
win_build/installerv2/redist/Windows/src/boinccas/
2631
CAGrantBOINCAdminsRights.cpp, .h (Added)
2632
CAGrantBOINCMasterRights.cpp
2633
CAGrantBOINCProjectRights.cpp
2634
CAGrantBOINCProjectsRights.cpp, .h (Added)
2635
CAGrantBOINCUsersRights.cpp, .h (Added)
2636
CAHideBOINCMasterProfile.cpp, .h (Added)
2637
CAHideBOINCProjectProfile.cpp, .h (Added)
2639
win_build/installerv2/redist/Windows/Win32/
2644
Changes for multithread app support:
2646
- update_versions: use __ (not :) as separator for plan class
2647
- client: add plan_class to APP_VERSION;
2648
an app version is now identified by platform/version/plan_class
2649
- client CPU scheduler: don't assume apps use 1 CPU
2650
- client: add avg_ncpus, max_cpus, flops, cmdline to RESULT
2651
- scheduler: implement app planning scheme
2655
- client: if symlink() fails, make a XML soft link instead
2656
(for Unix running off a FAT32 FS)
2657
- client: don't accept nonpositive resource share from AMS
2658
- daemons and DB: check for error returns from enumerations,
2659
and exit if so. Thus, if the MySQL server goes down,
2660
all the daemons will soon exit.
2661
The cron script will restart them every 5 min,
2662
so when the DB server comes back up so will the project.
2663
- web: show empty max CPU % as ---
2664
- API: get rid of all_threads_cpu_time option (always the case now)
2707
- Library: switch from lstat() back to stat() most places;
2708
this broke some projects' back-end code.
2709
Make a new function (boinc_file_or_symlink_exists())
2710
for use by the client when clearing out slot dirs
2718
- client: fix problems with queue shrinkage when projects
2719
are running in EDF (from JM7)
2725
- DB: workunit.rsc_bandwidth needed to go after mod_time
2731
- scheduler: add "distinct_beta_apps" option;
2732
lets users filter out beta apps as well as others
2733
(from Nicolas Maire)
2740
- web: on completion of team foundership transfer,
2741
clear ping_user and ping_time fields
2742
- web: fix outdated update_forum_activities script
2747
update_forum_activities.php
2749
team_founder_transfer_action.php
2752
- Mac Sandbox: Fix bug setting permissions for symlinks.
2753
- Mac: Show (make visible) Manager if displaying sandbox errror dialog.
2195
app_versions.php (new)
2196
forum_moderate_thread.php
2211
validate_util2.cpp,h
2217
- client/manager: prefix anonymous platform apps with "Local: "
2223
DlgItemProperties.cpp
2227
gui_rpc_client_ops.cpp
2230
- MGR: Call get_notices RPC once per minute when Notices tab is not open
2231
so we can notify the user when new notices become available.
2234
MainDocument.cpp, .h
2237
- MGR: Mac fixes for recent task bar cleanup work. Remove taskbar icon
2238
tooltip code on Mac since Mac Taskbar Icon does not support
2239
tooltips (this code is not removed by compiler optimization.)
2242
BOINCTaskBar.cpp, .h
2761
- server and client:
2762
in server->client reply messages and in the client itself,
2763
move app-planning info from RESULT to APP_VERSION.
2764
This was necessary to allow anonymous platform info (app_info.xml)
2765
to specify avg_ncpus, etc.
2766
e.g., if someone wants to write a multithread version of SETI@home,
2767
or a GPU/CUDA version,
2768
they can run it using the anonymous platform mechanism
2769
and it will be scheduled correctly.
2771
If a server sends an existing APP_VERSION but with different
2772
app-planning info, the client will accept and use the new info.
2786
- scheduler: fix crash bug
2792
- some debugging code
2799
- client: debug coprocessor code
2808
- try to get API to compile on Cygwin
2819
- Fixed the error message when the scheduler rejects further work
2820
due to the client already having enough work per CPU as per the
2821
max_wus_in_progress configuration variable.
2827
- DB/feeder/scheduler: change app_version.xml_doc from blob to mediumblob,
2828
and change the correspending structure field from 64KB to 256KB
2829
(could increase this if needed).
2830
This is needed to handle app versions with lots (> 100) of files
2831
- change LARGE_BLOB_SIZE to BLOB_SIZE a bunch of places
2832
- Change COPROCS from vector<COPROC> to vector<COPROC*>.
2833
Otherwise the right virtual functions of COPROCs don't get called
2847
- graphics API: add a boinc_close_window_and_quit() function
2854
- WINSETUP: Explicitly set the permissions on the BOINC Data
2855
directory structure during every install.
2858
boincmgr_curl.vcproj
2859
win_build/installerv2/
2861
win_build/installerv2/redist/Windows/src/boinccas/
2865
win_build/installerv2/redist/Windows/src/boinccas/
2866
CASetPermissionBOINCData.cpp, .h (Added)
2867
CASetPermissionBOINCDataProjects.cpp, .h (Added)
2868
CASetPermissionBOINCDataSlots.cpp, .h (Added)
2871
win_build/installerv2/redist/Windows/Win32/
2875
Rom Mar 31 2008 (HEAD)
2876
- Tag for 6.1.12 release, all platforms
2877
boinc_core_release_6_1_12
2884
- client: add coprocessor support: i.e., parse the list of coprocs
2885
in <app_version>s from the server,
2886
keep track of the number free of each type of coproc,
2887
and don't run an app that needs more than are available.
2888
(not quite working yet)
2901
- client: Per Carl's recommendation add CURLOPT_POST301 to the
2902
list of curl options used so that the followups to redirects
2903
still post instead of get.
2909
- client: finish and debug coprocessor support
2910
- manager and GUI RPC: show plan class in app version string
2247
- MGR: If there are new notices on Mac:
2248
- Request user attention if Manager is hidden, and
2249
- Display an alert if Manager is open to a tab other than Notices
2250
(If Manager is now hidden, alert will appear when Manager is shown.)
2251
Allow updates to continue behind the notification alert.
2254
BOINCTaskBar.cpp, .h
2257
- client/manager/GUI RPC: project_info.xml file can contain <team_name>.
2258
If present, and a new user account is created,
2259
it will be made a member of that team if it exists.
2263
WizardAttachProject.cpp,h
2264
ProjectProcessingPage.cpp
2265
sg_BoincSimpleGUI.cpp
2270
gui_rpc_client_ops.cpp
2275
- MGR: Bad things happen when you don't initialize default values
2276
for variables under wxWidgets.
2282
- finish up the auto-team feature
2285
account_finish_action.php
2289
- client: NVIDIA peak FLOPS estimate was wrong for Fermi
2296
- client: delete project_init.xml if attached to any project.
2297
- manager: avoid divide by zero if the only project
2298
has zero resource share
2301
gui_rpc_server_ops.cpp
2306
- client: Fermi compute capability is 2, not 3
2312
- MGR: Fix double inclusion problem with change in header layouts
2319
- client: give dynamic estimate (based on fraction done)
2320
a greater weight in time-to-completion estimate
2326
- client: when looking for new file xfers to start,
2327
favor those that are partially done
2328
- client: fix crashing bug if a project is detached
2329
while an RSS feed fetch for it is in progress
2330
- code cleanup: switch from /// back to // for comments
2331
(so much for doxygen)
2341
- MGR: Show number of unread notices in title of Notices tab (we consider
2342
all notices as having been read when Notices tab is showing and BOINC
2343
Manager is front process). Notify (balloon on Window or Linux, bounce
2344
Dock icon on Mac for 15 seconds) repeatedly when there are unread
2345
messages, with notification frequency set by Options dialog reminder
2347
Note: Should there be 2 separate reminder frequency sliders for network
2348
connection and Unread notices?
2351
AdvancedFrame.cpp, .h
2352
BOINCBaseFrame.cpp, .h
2353
BOINCTaskBar.cpp, .h
2355
MainDocument.cpp, .h
2359
- web: show anon platform correctly in task list
2365
- MGR: Only execute a set mode when the menu item has been checked.
2366
On Linux the act of checking and unchecking menu items
2367
programatically causes events to be fired and processed just
2368
like user input. This causes the menu items to flip flop
2369
back and forth between different modes.
2375
- manager: fixed one last (hopefully) instance of == applied to
2376
a char[] formerly std::string
2380
sg_ProjectComponents.cpp
2384
- scheduler: choose cuda_fermi over other cuda plan classes
2390
- validator: improved log messages
2391
- fix some compiler warnings
2398
- manager: change text for notice-frequency slider
2404
- backend programs: change the way PFC and elapsed-time statistics
2405
are written to the DB.
2406
The incremental approach was bogus.
2408
host_app_version: write directly; R/W interval is tiny
2409
app_version: maintain an explicit list of update samples
2410
for both PFC and credit.
2411
When the validator flushes its app_version cache,
2413
Note: when using double fields in careful updates,
2414
you can't test for equality. Use abs(new-old) < 1e-N
2426
- backend: improved messages for app version credit updates
2432
- backend: fix scaling problem that was producing xe15 size credits.
2433
This had messed up the beta DB, which I had to clean up.
2434
Added a cap (1e5) to prevent this in the future.
2440
- backend: make "print queries" a runtime instead of compile-time
2441
decision (bool g_print_queries)
2447
- Mac: Update build instructions to replace dead link for
2448
downloading JPEG 6b sources.
2451
HowToBuildBOINC_XCode.rtf
2454
- Mac: Build with c-ares 1.6.0 instead of c-ares 1.7.0, because the newer
2455
c-ares has problems resolving host names on OS 10.6 with default
2456
settings when used with AT&T U-Verse 2Wire gateway routers and Airport.
2461
HowToBuildBOINC_XCode.rtf
2467
- Client: fix bug that caused wrong jobs to be run EDF
2468
(needed to initialize a var inside loop, not outside)
2474
- client: clean out project dir on reset. fixes #978
2480
- MGR: If user is not active, delay notification until he is active
2487
- validator: -d 4 means -d 3 plus print all DB queries
2488
(todo: do this for all daemons)
2489
- validator: change cmdline args from -foo to --foo
2490
(todo: do this for all daemons)
2491
- validator: pass max_granted_credit to assign_credit_set()
2502
- validator: remove update_credit_per_cpu_sec(). Irrelevant.
2503
TODO: remove related code
2504
- validator: update wu.canonical_credit correctly.
2505
However, this field should be deprecated.
2506
- validator: check for error return from assign_credit_set().
2515
- server: fix messed-up app version stats export
2521
- server: change all backend programs so that -d 4 means
2522
-d 3 plus print DB queries
2528
- client: read_file_malloc() must open file in binary mode,
2529
else it won't get the right part of the file
2535
- server: make the -d 4 feature work with FCGI
2544
- user web : improve result display
2550
- client: don't do RSS fetch if network suspended
2558
- validator: detect jobs that used GPU app but fell back to CPU
2559
(SETI@home does this if GPU initialization fails).
2560
Treat these like CPU apps for credit purposes.
2566
- client: don't include graphics apps in non-BOINC CPU time
2576
- Mac SS: Optimize screensaver for OS 10.6.
2577
- client: don't include graphics apps in non-BOINC CPU time (Mac).
2580
Mac_Saver_ModuleView.m
2586
- client: don't include graphics apps in non-BOINC CPU time (Unix).
2593
- client: allow zero resource shares from account managers
2599
- admin web: show more credit-related info
2606
- client: "allow_remote_gui_rpc" is available via cc_config.xml
2607
as well as command-line.
2608
- client: show allow_remote_gui_rpc option,
2609
and contents of remote_host.cfg, in message log on startup
2610
- client: code cleanup: move some options from
2611
CLIENT_STATE to OPTIONS
2925
gui_rpc_client_ops.C
2930
- client (Unix): don't follow symbolic links when
2931
computing directory size.
2932
This will avoid counting the size of executables and input files
2933
in slot directories.
2939
- Build fixes for non-Win32, non-Linux, non-MacOS systems.
2941
- Added checks for functions strdup(), strdupa(),
2942
daemon(), stat64(), strcasestr()
2943
- Fixed problems with kc_mysql.m4 and wxWidgets.m4 returning
2944
invalid CFLAGS and LIBS flags.
2945
- Fixed incorrect order of pthread flag checking on solaris.
2946
- New files: lib/unix_util.[Ch]. Currently contains implementation of
2947
daemon() for systems that lack it.
2948
- Access to binary files in /proc was failing on some systems when compiled
2949
with 64 bit file access. Rearranged headers and defines to force 32bit
2950
file access in hostinfo_unix.C
2951
- all_tty_idle() didn't work as advertised on any system as far as I can
2952
tell. I rewrote it to check ttys that are not named /dev/tty[1-9].
2953
The old implementation was modifying a statically allocated read-only
2955
- added implementation of non-standard function strcasestr() to str_util.C
2956
- added #define of MAP_FILE to shmem.C, because it is missing from most
2957
unix systems, (and is unnecessary on linux anyway).
2958
- other minor bug fixes.
2977
Charlie April 1 2008
2978
- Graphics API: Add boinc_close_window_and_quit() API to UNIX / Mac lib.
2979
- Mac: Fix compiler warning.
2980
- Mac: Remove -fvisibility* compiler flags from BOINC library builds
2981
and boinc_cmd build.
2992
- Client/server protocol:
2993
send <client_cap_plan_class/> if client understands
2994
app version plan class.
2995
The server checks for this instead of version > 6.11.
2996
(suggested by Nicolas Alvarez)
2997
- clean up unix_util: .h files declare only (extern) interfaces;
2998
no reason for daemon() to be C
3010
- compile fixes for gcc 4.x; fixes #592
3015
single_job_assimilator.C
3020
- scheduler: bug fix for case when app version XML is > 64KB
3026
- server: when creating log dir, we were using wrong bit for sticky flag
3032
- WINSETUP: Make sure the executable permissions are setup correctly
3033
after the binaries are installed.
3035
win_build/installerv2/redist/Windows/src/boinccas/
3038
CASetPermissionBOINC.cpp, .h (Added)
3041
- WINSETUP: Inform MSI that a reboot is suggested after creation of
3042
'boinc_master', 'boinc_project', 'boinc_admins', 'boinc_users',
3044
- WINSETUP: Reread the INSTALLDIR property from the registry to
3045
determine if their is data to migrate. INSTALLDIR is changed to
3046
whereever the user wants to install BOINC now, whihc may be
3047
different then where it was in 5.10.
3048
- WINSETUP: If the user is running on Win2k but hasn't upgraded to
3049
SP4, inform them of the new requirement.
3051
win_build/installerv2/
3053
win_build/installerv2/redist/Windows/src/boinccas/
3055
CACreateBOINCAccounts.cpp
3056
CACreateBOINCGroups.cpp
3057
CAMigrateBOINCData.cpp
3060
- API: change boinc_resolve_filename() so that it detects symbolic links
3061
and treats them as a special case.
3062
Also, if the virtual file doesn't exist (as in the standalone case)
3063
just return zero; otherwise if the app is running standalone
3064
and checks the return value, it will error out.
3066
NOTE: apps that check the return value of boinc_resolve_filename()
3067
won't work on 6.12+ under Unix;
3068
recompiling with this change will fix the problem.
3074
Charlie April 3 2008
3075
Mac: Update build documentation, move building project applications build
3076
instructions to a separate document (wiki page)
3079
HowToBuildBOINC_XCode.rtf
3081
Charlie April 4 2008
3082
Mac: Fix bugs in new backtrace code.
3089
- Added init.d script (boinc-client.in) and Makefile.am to install it.
3090
- I got this from the Fedora package. I have modified it to create the
3091
run directory if it does not exist, and to not run boinc as root.
3092
Checking for running processes needs to be improved.
3093
- boinc-client.in is still very linux centric and probably won't work on
3094
non-linux systems or under Bourne shell without significant changes.
3103
- WINSETUP: Fix the bug during uninstall where the data files were not
3104
being migrated back to the executable directory.
3106
win_build/installerv2/
2622
- admin web: "User privileges" didn't work if the project
2623
had set forum_preferences.special_user to "0000000",
2624
as had been done in SETI@home for some reason.
2625
Also, show user ID as well as name; name is not unique.
2628
manage_special_users.php
2629
profile_screen_form.php
2632
- client: revert [21035]; remove project_init.xml only if
2633
attached to the project it specifies
2634
(requested by Kevin Reed)
2637
gui_rpc_server_ops.cpp
2640
- WINSETUP: Add support for the <team_name> tag in the Windows
2641
installer for the auto created project_init.xml file.
3108
2643
win_build/installerv2/redist/Windows/src/boinccas/
3110
CAMigrateBOINCData.cpp
2645
CACreateProjectInitFile.cpp
3111
2646
win_build/installerv2/redist/Windows/Win32/
2649
win_build/installerv2/redist/Windows/x64/
2654
- scheduler: app_plan() no longer has to guess how efficiently
2655
an app version will run on a particular host.
2656
- scheduler: fix memory leak: BEST_APP_VERSIONs weren't being freed
2665
- scheduler: sweeping changes to the way job runtimes are estimated:
2666
see http://boinc.berkeley.edu/trac/wiki/RuntimeEstimation
2676
- client: attempt to fix bug where a GPU would be assigned
2677
to multiple jobs at the same time.
2678
I fixed one error (reference arg to assign_coprocs())
2679
but I can't see why this would explain the problem.
2680
I added a lot of extra <coproc_debug> log messages.
2681
- user web: give scientists moderator privileges
2689
SS: Ignore SUSPEND_REASON_CPU_USAGE in SS coordinator, so it won't kill
2690
graphics apps for short-term CPU usage spikes (such as anti-virus.)
2696
- client: Fix bug in determining non-BOINC CPU time (Mac).
2702
- scheduler and validator: distinguish between
2703
1) peak FLOPS (based on benchmarks or GPU attributes).
2704
This does not change over time.
2705
It's not adjusted on the basis of statistics.
2706
It's not affected by wu.rsc_fpops_est.
2707
It can be compared across projects.
2709
2) projected FLOPS: the scheduler's best guess as to what will satisfy
2710
X * elapsed_time = wu.rsc_fpops_est;
2711
this is used to make server-side runtime estimates,
2712
and it's sent to the client and used for its runtime estimates.
2713
It may be based on the (host, app version) elapsed time average.
2714
My checkin [21153] mistakently confounded these two.
2717
1) app_plan() now must return both peak and projected FLOPS.
2718
2) result.flops_estimate stores peak FLOPS
2719
3) the <flops> field in app_info.xml files should be
2720
projected FLOPS. But its accuracy is not important;
2721
it's not used once the server has statistics
2722
for the (host, app version)
2732
- scheduler: fix egregious bug which limited sending to 1 job per RPC
2733
- scheduler: fix bug that broke anon platform
2735
Note: Bruce Allen once advised me to take a few days and just
2736
observe BOINC in action.
2737
I should really do this more often; it always turns up bugs
2738
and/or design flaws.
2745
- client: Add code for determining non-BOINC CPU time for GridRepublic
2746
and Progress Thru Processors clients (Mac & Windows).
2753
- scheduler: as db-driven client file management isn't ready yet,
2754
adapt Einstein@home-specific file management hack to current run
2760
- server: change the following from per-host to per-(host, app version):
2761
- daily quota mechanism
2762
- reliable mechanism (accelerated retries)
2763
- "trusted" mechanism (adaptive replication)
2764
- scheduler: enforce host scale probation only for apps with
2765
host_scale_check set.
2766
- validator: do scale probation on invalid results
2767
(need this in addition to error and timeout cases)
2768
- feeder: update app version scales every 10 min, not 10 sec
2769
- back-end apps: support --foo as well as -foo for options
2772
- If you have, say, cuda, cuda23 and cuda_fermi plan classes,
2773
a host will have separate quotas for each one.
2774
That means it could error out on 100 jobs for cuda_fermi,
2775
and when its quota goes to zero,
2776
error out on 100 jobs for cuda23, etc.
2777
This is intentional; there may be cases where one version
2778
works but not the others.
2779
- host.error_rate and host.max_results_day are deprecated
2782
- the values in the app table for limits on jobs in progress etc.
2783
should override rather than config.xml.
2785
Implementation notes:
2788
read all host_app_versions for host at start;
2789
Compute "reliable" and "trusted" for each one.
2790
write modified records at end
2792
add "reliable_only" arg; if set, use only reliable versions
2793
skip over-quota versions
2794
Multi-pass scheduling: if have at least one reliable version,
2795
do a pass for jobs that need reliable,
2796
and use only reliable versions.
2797
Then clear best_app_versions cache.
2798
Score-based scheduling: for need-reliable jobs,
2799
it will pick the fastest version,
2800
then give a score bonus if that version happens to be reliable.
2801
When get back a successful result from client:
2802
increase daily quota
2803
When get back an error result from client:
2804
impose scale probation
2805
decrease daily quota if not aborted
2807
when handling a WU, create a vector of HOST_APP_VERSION
2808
parallel to vector of RESULT.
2809
Pass it to assign_credit_set().
2810
Make copies of originals so we can update only modified ones
2811
update HOST_APP_VERSION error rates
2813
decrease quota on timeout
2821
- client: get rid of spurious "Using proxy settings from GUI" message
2825
gui_rpc_server_ops.cpp
2830
- client: Improve code for determining non-BOINC CPU time for branded
2831
clients (Mac & Windows).
2838
- client: fix build break.
2844
- back end programs: improve log msgs
2856
- MGR: Handle the Event Log's size better, pass in the correct dialog
2857
size to the dialog creation routines instead of setting the size
2858
after dialog initialization. Avoids artifacts and things having
2859
to be tweaked later.
2865
- admin web: use only valid results in FLOPS count graph
2870
- back end: typo and tweaks
2878
- client: fix bug in mechanism that inhibits work fetch
2879
for a GPU if it lacks available memory
2887
- Mac Installer: Set uninstaller's writeable-by-user permission bit so
2888
3rd-party Unarchiver can inflate the Zip file (from Eric Myers).
2891
make_GridRepublic.sh
2892
make_ProgThruProc.sh
2896
- Mac Installer: AddRemoveUser utility accepts both full / login user
2897
names and short / Posix user names.
2903
- client: improve GPU scheduling
2904
old: assign GPUs, then check available RAM
2905
Problem: may cause starvation on multi-GPU systems.
2906
new: use available RAM info in the assignment process.
2907
Prevents starvation, also reduces the number of driver calls.
2920
- client: when a GPU job finishes, clear the "schedule backoff"
2921
of other jobs of that type.
2922
They're waiting for GPU RAM, which may now be available.
2923
- client: bug fix in GPU RAM availability
2924
- client: fix testing setup for GPU RAM availability
2935
- client: clean up logic related to GPU available memory.
2936
If a driver call to get available mem fail, mark the GPU as unusable.
3128
Charlie April 7 2008
3129
GUI: Disable Show Graphics button if any selected task is suspended for
3131
Mac: Fix new backtrace code for x86_64 Client and project applications.
2950
- validator: fix bug where host.total_credit not incremented
2958
- validator: message tweak
2964
- Mac Installer: PostInstall gets short / Posix user name from getpwnam(),
2965
writes additional diagnostic information to installer log.
2971
- client: show "waiting for GPU memory" in task status
3140
Rom April 7 2008 (HEAD)
3141
- Tag for 6.1.13 release, all platforms
3142
boinc_core_release_6_1_13
3149
- client: send client_cap_plan_class as <x>1</x> rather than <x/>
3150
in scheduler request; the latter breaks older schedulers.
3151
- old parse code: make skip_unexpected() work with <x/>
3158
Rom April 7 2008 (HEAD)
3159
- Tag for 6.1.14 release, all platforms
3160
boinc_core_release_6_1_14
3167
- DIAG: Make sure that if the symstore isn't defined at all, don't
3168
construct the symstore search path.
3174
- WINSETUP: Don't check for SP4 against Win9X.
3176
win_build/installerv2/
3180
- LIB: Fix build break on Linux compat VM.
3186
- BLD: Update confgiure.ac to require libcurl 7.17.1.
3192
- client: use symlinks only if project has <use_symlinks/> element.
3193
- API: fixed boinc_resolve_filename() bug: didn't work right for symlinks
3201
Charlie April 14 2008
3202
- Fix is_symlink() to use S_ISLNK() macro instead of incorrect
3203
(sbuf.st_mode & S_IFLNK), which made it return true for regular files
3204
and caused boinc_resolve_filename() to work incorrectly.
3210
- manager: fix menu appearance
3216
Eric K April 14 2008
3217
- Unix init script: modified to make less linux specific.
3218
- Does not presume the existence of "pidof" or "runuser".
3219
- If started with an old style Bourne shell, will try to restart
3220
in bash, zsh or ksh.
3221
- Starts with no parameters by default.
3222
- Logs stdout and stderr to /var/log/boinc_client.log and
3223
/var/log/boinc_client_err.log by default.
3224
- With appropriate "boinc-client.conf", the script can be run by
3226
- More changes are likely to be required.
3233
- client: improved user idle checking on Linux (from Frank Thomas)
3238
Charlie April 15 2008 (HEAD)
3239
- Tag for 6.1.15 release, all platforms
3240
boinc_core_release_6_1_15
3246
Charlie April 15 2008
3247
- API: fix boinc_resolve_filename_s() to handle symlinks the same as
3248
boinc_resolve_filename().
3253
- user web: change flush statement to function call in translation system
3260
- client: do the /proc/interrupts stuff (see above)
3261
only on Linux-like systems;
3262
use device_idle() only on non-Linux Unix systems
3267
Charlie April 15 2008
3268
- Fix is_file() to use S_ISREG() macro instead of incorrect
3269
(sbuf.st_mode & S_IFREG); fix is_dir() to use S_ISDIR() macro instead of
3270
incorrect (sbuf.st_mode & S_IFDIR).
3275
Charlie April 16 2008
3276
- Fix is_file() and is_dir() to compile properly on Windows by using
3277
the actual expressions instead of the macros which aren't defined.
3283
- scheduler: fix FCGI compile problem.
3284
FCGI can't use libboinc.a; is needs its own specially-compiled
3285
versions of everything in lib/
2980
gui_rpc_client_ops.cpp
2983
- back end: new way of deciding:
2984
- whether host is "reliable" for an app version
2985
- whether host is eligible for single replication for an app version
2986
- whether to use host scaling
2987
In each case, the answer is yes if the number of
2988
consecutive valid results is above a threshold.
2989
This replaces existing "error rate" and "scale probation" mechanisms.
2991
TODO: the # of consecutive valid results should also determine
2992
a limit on jobs in progress for an app version.
2993
Namely, if N is the threshold for host scaling, the limit should be
2994
ndevices*(max(1, consecutive_valid - N))
2995
The client currently doesn't supply enough
2996
app version info to do this.
2997
It could be approximated; that would give some protection
2998
against cherry-picking.
2999
- credit: more conservative formulas for combining claimed credit
3001
If there are normal replicas, we use a "low average"
3002
that weights each sample by the sum of the other samples.
3003
Otherwise we use the min (not the average) of the approximate samples.
3005
NOTE: a DB update is required
3293
- MGR: Make help system work again
3294
- MGR: Add pre-release to the BOINC Manager title bar and about
3295
dialog if it is a pre-release version of BOINC.
3296
- CLI: Add some pre-release text to the CC startup routine and
3297
suggest they revert back to a released build if they don't
3298
plan on testing the client.
3309
sg_BoincSimpleGUI.cpp
3311
sg_DlgPreferences.cpp
3022
- client: keep track of daily history of network transfers
3031
- client: bug fixes for the above
3038
- client: add preference for limiting network xfers in last N days
3317
- user web: clear team founder change if requester left team
3318
- user web: check for deleted thread in subcription list
3319
- user web: fix founder change link
3050
- client: bug fixes for the above
3059
- client: Add get_network_usage_totals() function to the Macintosh
3060
client to report the number of bytes sent and received across
3061
all non-loopback interfaces. Note: this code may also work on
3062
onther UNIX-like systems in addition to Macintosh.
3068
- client: fix bug with NVIDIA GPUs.
3069
Some of them allow only 1 CUDA context at a time.
3070
You need to create a CUDA context to get available VRAM.
3071
So the client would run a CUDA job, then immediately kill it.
3073
- If a GPU app is running,
3074
let it keep running regardless of available VRAM
3075
(if it's still running, it has enough VRAM).
3076
- But don't start new apps if there's not enough available VRAM,
3077
or it the amount is unknown
3078
(if the client can't create a CUDA context,
3079
the app won't be able to either)
3080
- client: if <coproc_debug> is set, print available GPU RAM periodically
3090
- user web: first whack at cleaning up the mess which is prefs.inc
3097
- CC: Reduce how often the client reports the amount of available
3098
VRAM to once every 60 seconds.
3107
- user web: more cleanup of prefs.inc
3108
- client: code cleanup
3119
- user web: separate general stuff from prefs.inc
3123
prefs_util.inc (new)
3128
- user web: add network quota pref (the goal that spurred all this cleanup)
3129
- rename prefs.daily_xfer_period to daily_xfer_period_days
3140
- manager: add network quota to advanced prefs dialog
3143
DlgAdvPreferences.cpp
3144
DlgAdvPreferencesBase.cpp
3145
DlgAdvPreferencesBase.h
3148
- client: Win: kill runaway apps using TerminateProcess()
3149
rather than TerminateProcessById().
3150
The latter doesn't work in protected mode.
3151
- client: pid_handle => process_handle. misnomer
3159
- client: report daily xfer stats in scheduler request
3160
(not used by scheduler, but maybe later)
3168
- user web: message tweaks
3175
- client: clean up network suspension logic.
3176
There are now separate flags for
3177
"file_xfers_suspended": don't do file transfers
3178
"network_suspended": don't do any network comm
3179
(scheduler RPCs, RSS fetch, master fetch, etc.)
3181
if preferences/settings say no network
3182
(quota exceeded, no-network mode, user active, time, excl. app)
3184
file_xfers_suspended = true
3185
if (no recent network-related RPC) network_suspended = true
3186
- user web: code cleanup for project prefs
3196
- user web: bug fixes for prefs
3203
- validator: bug fixes: bad formula for low_average();
3204
failure to reread app_versions because of 1e6/1e-6 typo
3212
- client: write daily net history on shutdown
3213
- client: remove extraneous calls to calShutdown()
3214
in ATIs available-RAM code.
3221
html/project.sample/
3222
project_specific_prefs.inc
3225
- MGR: more Event Log bug fixes: fix Copy Selected button when filtering
3226
by project; save window dimensions properly when exiting Manager with
3227
Event Log window open; add spaces around field delimiters when copying
3228
to clipboard for better readability; fix sizer problem on Mac (buttons
3229
disappeared if window height was too small) by initializing size of
3230
CDlgEventLogListCtrl to wxDefaultSize instead of 640X480.
3234
DlgEventLogListCtrl.cpp
3237
- client: network bandwidth total was counting 1 day too many
3238
- client simulator: start GPU support
3244
- client: Add get_max_cpu_temperature to the Macintosh client to
3245
report the highest current CPU temperature as degrees Celsius.
3246
This code is for Intel macs only. Returns zero if it fails
3247
(or on a PowerPC Mac). I do have code to do this on PowerPC
3248
Macs, but it is long and complex.
3254
- client: minor code cleanup
3263
- user web: no limit on PMs for moderators, admins etc.
3327
team_change_founder_form.php
3330
Rom April 21 2008 (HEAD)
3331
- Bump version to 6.1.16.
3338
- client: fix array size
3343
Charlie April 22 2008
3344
- MGR: fix a compiler warning (size_t is unsigned).
3345
- Tag for 6.1.16 release, all platforms
3346
boinc_core_release_6_1_16
3272
- user web: in BBCode->HTML conversion there was a limit of
3274
I don't think a limit is needed.
3275
In any case, I changed it to 1000
3281
- client: standardize debug messages.
3282
Messages enabled by <foo_debug> are prefixed by "[foo]"
3287
- client: missed one
3293
- client: Restore RUN_MODE_ALWAYS functionality in network suspension
3294
logic which was lost in code cleanup of 26 Apr 2010.
3299
- manager: if user clicks Retry in Transfer tab while network is suspended,
3301
- manager: in transfers tab, show it if transfers are suspended
3302
because network is suspended
3303
- manager: in tasks tab, if a task is downloading or uploading
3304
and network is suspended, show it
3313
- client: day boundary for "transfer at most X in N days"
3314
is midnight local time, not UTC
3315
- update translation templates
3324
- client: fix build break
3330
- client: include the configured download url in the
3331
get_newer_version RPC.
3334
gui_rpc_server_ops.cpp
3337
- lib: update client-side RPC files for configured
3339
- manager: update get_newer_version async RPC for
3340
configured download url.
3346
gui_rpc_client_ops.cpp
3349
- MGR: Fix build break.
3355
- manager: fix tooltip msgs
3349
3358
AdvancedFrame.cpp
3351
Charlie April 22 2008
3352
- MGR: Work around a bug where Projects Grid View occasionally failed
3353
to update when a new selection is made. For unknown reasons,
3354
OnGridSelectRange() would be called for deselecting the old item
3355
but occasionally not for selecting the new one. Also disable web
3356
buttons if all projects are deselected.
3362
- scheduler: fix bug where scheduler sends a WU when
3363
an app version is not available for that platform
3371
- user web: send no-cache headers except if we're doing
3372
whole-page caching. Fixes #626
3379
- MGR: On Linux, start the manager from the current directory instead
3380
of using argv[0] to build the path.
3383
BOINCClientManager.cpp
3386
- client: fix bugs with scheduling app that use coprocessors
3387
- client: factor out "schedule_if_possible()" logic from
3388
two places in schedule_cpus()
3394
- web: restore OS/CPU details to host list; add Tasks link
3400
- web: tweaks to host list
3401
- scheduler: condition lots of log file writes on config flags
3402
(i.e. divide "debug" output into a bunch of categories, individually selectable)
3410
Rom April 28 2008 (HEAD)
3411
- Tag for 6.1.17 release, all platforms
3412
boinc_core_release_6_1_17
3419
- DIAG: Add an easy way for projects to initialize the diagnostics
3420
framework for graphics applications.
3421
- DIAG: Make SetDllDirectory work for Win2k3, Vista, and Win2k8
3428
- API: If the diagnostics framework hasn't been initialized for
3429
the graphics application, initialize it.
3436
- client: Win: fix CUDA detection:
3437
look in the registry to find the CUDA install directory,
3438
and look for cudart.dll in that dir.
3439
- client: for CUDA, don't confuse coproc.name ("CUDA")
3440
from coproc.prop.name (e.g., "Device Emulation (CPU)" on my PC,
3441
which doesn't have a recent-enough GPU)
3442
- client: if no coprocessors present, say so in startup messages
3450
- API: Fix build break from my last check-in.
3457
- client (Unix) Add /usr/local/cuda/lib/ to LD_LIBRARY_PATH
3458
before looking for CUDA library
3459
- scheduler: some additional work on matchmaker scheduling
3460
Changed check_app_filter() so that it doesn't depend on
3461
the current multi-phase approach;
3462
move that logic to scan_array()
3472
- boinc_cmd: changed help strings to say "boinccmd".
3473
I'd like to change the filename too but can't figure out Makefile stuff
3479
- API: fix Mac compile errors.
3480
- client: implement Mac CUDA detection, fix compiler warning.
3481
- boinc_cmd: change name to "boinccmd".
3492
release_GridRepublic.sh
3495
- commented-out AM_MAINTAINER_MODE in configure.ac to *activate* all maintainer-mode
3501
- scheduler: matchmaking scheduler now works;
3502
uncomment MATCHMAKER to enable it.
3503
More testing needed.
3504
- client (unix): avoid crash if LD_LIBRARY_PATH not set
3510
gui_rpc_client_print.C
3516
- MGR/CLI: remove direct references to CreateEnvironmentBlock and
3517
DestroyEnvironmentBlock since Win98 doesn't support them. This
3518
functionality is only required for the Windows sandbox implementation
3520
- LIB: Remove direct reference to OpenThread in win_util.C since it
3521
isn't supported on Win98.
3522
- MGR: Another fix for CC execution on a Linux machine.
3527
BOINCClientManager.cpp
3532
Rom May 2 2008 (HEAD)
3533
- Bump version to 6.3.0
3534
- Branch Source Tree
3535
boinc_core_release_6_2
3542
- scheduler: clean up message log.
3543
Merge redundant messages.
3544
Condition various messages on config flags.
3545
- client (Unix) fix to CUDA detection if LD_LIBRARY_PATH is ""
3558
- web: improve error messages if login link fails
3559
(URL may have been truncated in email reader)
3566
- client: if we request that an app exit,
3567
and it doesn't do so within 10 seconds, kill it.
3568
This deals with the situation where the app is ignoring messages
3569
(e.g. because it forgot to end a critical section).
3570
- client: if either the FP or int benchmark runs less than
3571
3 CPU seconds (out of 10 seconds of wall time) ignore the benchmark.
3572
This is an effort to deal with a problem where (for unknown reasons)
3573
the int benchmark runs for a tiny amount of CPU time,
3574
leading to an absurdly large result
3575
- Manager: don't prepend "[error]" to MSG_INTERNAL_ERROR messages;
3576
the client already does this.
3578
THESE ARE ALL BUG FIXES
3592
- client: Fix compiler warning.
3593
- MGR: Fix CMainDocument::WorkShowGraphics() for Mac, UNIX and Linux
3594
to allow showing graphics with or without sandbox.
3602
- Added command-completion script for bash
3612
- Added implementation of setenv() for systems without it.
3613
- Fixed bug in x_opengl.C. On systems where putenv() adds the string to the
3614
environment rather than copies it, the environment would end up containing
3615
a random peice of the stack where the DISPLAY variable had been
3625
- scheduler: add preliminary support for "job size matching"
3626
(attempt to send big jobs to fast hosts, small jobs to slow hosts).
3627
- have "census" compute mean/stdev of host speeds,
3628
write it to a file perf_info.txt
3629
- have feeder compute mean/stdev of sizes of jobs in shmem
3630
- have feeder read perf_info.txt into shmem
3631
- scheduler: add some debugging messages for app version selection
3632
- Add LGPL license to a few files
3633
- upgrade/setup scripts: copy census to bin/
3638
assimilate_handler.C
3649
single_job_assimilator.C
3654
- scheduler: finished support for job size matching.
3655
Let x be the host speed (expressed in stdevs from mean)
3656
Let y be the job size (expressed in stdevs from mean)
3657
Decrement score by (x-y)^2
3663
- MGR: Statistics and Disk tab panes: clear when disconnected from Client,
3664
update quickly when connecting to a (different) Client.
3670
- client (Unix): linking libcudart.so wasn't working,
3671
so CUDA detection failed.
3672
For reasons I don't understand,
3673
adding "/usr/local/cuda/lib" to LD_LIBRARY_PATH
3674
and then doing dlopen("libcudart.so") wasn't working,
3675
even though the library is in that dir.
3676
I worked around this by calling
3677
dlopen("/usr/local/cuda/lib/libcudart.so") and if that fails call
3678
dlopen("libcudart.so"),
3679
- Unix: commented out Eric's setenv() stuff.
3680
After doing a configure, HAVE_SETENV is not in config.h,
3681
so something's messed up with it.
3682
- client: trimmed down "pre-release software" message
3691
- client: added some file_xfer_debug messages for file upload
3697
- client: Fix compiler warning.
3703
- scheduler: add new log flags debug_edf_sim_workload, debug_edf_sim_details
3704
for getting info on EDF simulation;
3705
change output from seconds to hours
3706
- API: remove extern "C" from graphics API
3707
(convince me it's needed before restoring)
3721
- LIB: Windows 9X doesn't like it when you specify a security descriptor, so
3722
special case Win9X so that it'll pass a NULL to CreateFileMapping.
3728
- DIAG: Passing a null value to fclose in VS 2005 will cause a crash, so
3729
check to make sure that stdout_file and stderr_file are not null before
3730
attempting to close them. If they are null return ERR_FOPEN so that
3731
the next message logged can attempt to cycle the log without error.
3732
- CLIENT: Make sure the diagnostics framework is initialized before
3733
the config file is parsed or the command line is parsed, that way
3734
if and unexpected XML tab or command line parameter is found the
3735
client doesn't crash.
3737
NOTE: The client would only crash if the log file was already greater
3738
than 2MB which would cause the client to attempt to cycle the
3739
log files. Since the diagnostics framework wasn't initialized yet
3740
nothing was logged to the log file, no call stack was generated,
3741
and the default Windows debugging environment was fired up.
3749
- MGR: Update comments on how to link with Development / debug build of wxWidgets;
3750
add this info to build documentation.
3359
sg_ProjectsComponent.cpp
3362
- manager: improve "suspended" messages for tasks and transfers
3363
- manager: code reorg. ViewTransfers and DlgItemProperties
3364
both had a long member function to generate a string describing a task.
3365
One of these was out of date.
3366
Replaced these with a single non-member function.
3367
- manager: fixed sizer problem in attach wizard that caused missing word
3368
- client: minor code reorg
3374
DltItemProperties.cpp,h
3383
- client: when emerge from bandwidth quota network suspension,
3384
add 0..1hr random delay to existing transfers,
3385
to avoid DDOS effect
3391
pers_file_xfer.cpp,h
3394
- manager: if a project has pending trickle up,
3395
show it in the project status
3400
gui_rpc_client_ops.cpp
3404
- user web: fix PHP warning
3405
- admin web: add tool for debugging credit
3416
- DIAG: Make init functions consistent with one another.
3422
- client: fix time-zone offset in net BW quota
3428
- user web: fix PHP warning when netsoft stats are down
3434
- manager: in transfers tab, show reason why transfer is suspended
3435
- manager: WTF?? master URL, not name, identifies projects.
3436
- manager: got rid of a bunch of unused functions
3439
DlgItemProperties.cpp
3444
- client & lib: bring header inclusion up-to-date for the CC to begin
3445
hunting down a memory leak.
3453
- client: re-enable memory leak detection on Windows.
3459
- user web: use full output transform for frontpage news posts (to handle
3460
newlines and other related stuff).
3461
- user web: add a warning in case admin hasn't changed show_news() call to
3468
- client: temporarily enable logic that deallocates memory on exit,
3469
so that we can look for memory leaks.
3470
- client: enable bandwidth quota limit only if both
3471
#MB and #days are nonzero.
3472
- scheduler: when resending work, don't send more than
3473
client is requesting
3474
- scheduler: restore Cobblestone factor to 100
3487
- client: delete messages on exit
3494
- client: fix memory leak
3500
- client: leave template for causing the debugger to break on a
3501
specific memory allocation.
3507
- client: Fix build break on Mac. Please be careful changing the order
3511
gui_rpc_server_ops.cpp
3514
- client: on resume from net bandwidth quota suspend,
3515
apply same random backoff to all transfers.
3516
- client: when changing ncpus via config file,
3517
don't modify host_info.p_ncpus
3518
- client: show effective #CPUs separately from physical #
3526
- client: clear config before rereading config file.
3527
This means that, e.g. if you remove <ncpus>
3528
it will revert to the actual number.
3529
However, it also means that any config params
3530
set via command line will be overridden.
3536
- user web: use CDATA section for title in the RSS feed
3542
- client: fix crashing bug.
3543
Deleting records in ~COPROCS() was bad,
3544
since we copy HOST_INFO to APP_INIT_DATA,
3545
leading to a double deletion.
3559
- client/manager: keep track of "GPU suspended reason".
3560
Report it to the manager
3561
(it was already in CC_STATUS, but not populated)
3562
- manager: fix system tray icon popup text
3568
gui_rpc_server_ops.cpp
3572
gui_rpc_client_ops.cpp
3575
- scheduler: changeset 21148 broke the scheduler.
3576
We store pointers to BEST_APP_VERSION in both APP_VERSION and RESULT.
3577
We can't then fiddle with the vector that these point into.
3578
Switch back to using a vector of pointers.
3579
This restores the memory leak, which I'll deal with later.
3586
- scheduler: fix for daily quota enforcement
3591
- client: make GPU available RAM measurement #ifdef-selectable,
3592
and default it to off
3593
- client: if we print available GPU RAM (which we now don't)
3594
have a separate timer per GPU type
3595
- scheduler: add new plan classes cuda_opencl (sic) and ati_opencl
3606
- scheduler: fix bug in daily job quota check
3612
- client and scheduler RPC:
3613
Add more info to "project in-progress job list".
3614
Old: entries included only job name and app plan class;
3615
this was used to resend lost jobs,
3616
and to count the # of CPU and GPU jobs.
3617
But it's not usable e.g. for per-app in-progress limits.
3618
New: send the client's app versions (including usage info)
3619
and for each in-progress job, which app version it uses.
3620
(This reduces request-message size compared with sending
3621
usage info and app name per job).
3622
- client and scheduler RPC:
3623
Add more info to "all in-progress job list", and make it optional.
3624
This list is used by schedulers that do deadline checks
3625
using EDF workload simulation.
3626
Old: the list is always sent, and it contains no info
3627
about job resource usage
3628
New: the list is sent only if the scheduler asked for it
3629
in a previous reply,
3630
and each entry now contains resource usage (CPU, GPUs)
3631
Note: the scheduler's EDF simulator is outdated;
3632
it doesn't know about GPU jobs.
3633
But we may as well get the info in place.
3643
- client: just send 1 copy of app versions
3649
- manager: in sys tray pop up, if computing is disabled,
3650
don't say whether GPU is enabled (confusing).
3656
- API: compile fixes for MinGW
3665
- client: include app versions only of this project in sched req
3671
- client: fix bug that randomly caused idle GPUs
3677
- MGR: Rework Mac accessibility for better compatibility with OS 10.6.
3680
BOINCListCtrl.cpp, .h
3756
HowToBuildBOINC_XCode.rtf
3759
- DIAG: Include the list of libraries loaded as well as their locations
3760
when the runtime debugger is engaged.
3766
- client: increase <abort> timeout from 5 sec to 60;
3767
this gives the diagnostic system time to download
3768
symbol files (which may be several MB) and write a stack trace.
3776
- ops pages: add missing error numbers.
3682
MacAccessiblity.cpp, .h
3685
- user web: fix boolean type preferences for non-english languages where
3692
- scheduler: fix query in send_old_work()
3699
- client: don't promote multithread jobs ahead of EDF jobs
3705
- client/scheduler: in COPROCS, instead of having a vector of
3706
pointers to dynamically allocated COPROC-derived objects,
3707
just have the objects themselves.
3708
Dynamic allocation should be avoided at all costs.
3732
- client simulator: fix build
3733
- code cleanup: removed include of client/cpp.h from lib/msg_log.cpp.
3734
Stuff in lib/ should NOT include stuff from client/.
3743
- client: fix error in GPU confirm message (it always said 0)
3749
- GUI RPC: include HOST_INFO in CC_STATE
3752
gui_rpc_client_ops.cpp
3756
- Manager: change order of columns in tasks tab
3762
- scheduler: fix bug in single-replication decision (from Rytis)
3772
- web: don't cache hosts page, and make it more translatable
3778
- boinccmd: don't authorize if no password found or given
3784
- GUI RPC: improved error reporting
3787
gui_rpc_client_ops.cpp
3792
- manager: more column reorder in Tasks tab
3798
- client: message tweak
3804
- scheduler: message tweaks
3811
- client, Unix: error checking in reading /proc entries.
3812
Avoid garbage values e.g. of working_set_size
3813
- scheduler: message tweaks
3825
- scheduler: SETI@home's CUDA and CUDA 2.3 apps apparently don't
3826
run on Fermi (compute capability 2) hardware.
3827
Temporary solution: change app_plan() accordingly
3828
- scheduler: message tweaks
3834
- scheduler: fix memory leak (free BEST_APP_VERSION objects)
3841
- user web: extend account manager script to export more information
3842
(from Willy de Zutter)
3848
- MGR: If get_results RPC takes x seconds, do it no more often than
3849
once every (x * GET_RESULTS_FREQUENCY_FACTOR) seconds.
3850
GET_RESULTS_FREQUENCY_FACTOR is currently defined as 10.
3851
NOTE: we must measure the RPC time in the RPC thread, so this
3852
code assumes that dtime() is thread-safe, or at least that any
3853
error introduced due to thread preemption is small.
3857
MainDocument.cpp, .h
3860
- scheduler: preliminary checkin of new limit code
3863
sched_limit.cpp,h (new)
3866
- client: fix bug in accounting of elapsed time and CPU time
3873
- WINBUILD: Properly handle detection of Visual Studio when
3874
somebody has all of them installed (2005/2008/2010).
3882
- client: fix build failure on FreeBSD (SCHED_BATCH doesn't exist there)
3889
- client: fix elasped time tracking bug
3896
- samples: plug in a skeleton CUDA sample with nothing in it. Setup Windows
3897
project environment so the thing will at least compile. The nvcc compiler
3909
- GUI RPC client side: set up a 30 second receive timeout for
3910
socket to client. That way GUI won't hang if client does.
3911
From Fred of BoincTasks
3918
- server: code cleanup
3925
- user web: do not wait for cross-project stats for more than 3 seconds as
3926
it slows down "Your account" page load in case stats server is slow to
3782
- client (Unix): when running app, open fd 0 to /dev/null
3783
rather than just closing it (from Gabor Gombas)
3789
- DIAG: Include the PDB filename that is linked to the EXE at
3790
compile time to the module information dumped during a crash.
3792
NOTE: This should give a project admin a tickle that the PDB
3793
and EXE names need to be set before compiling and not renamed
3800
- client and server: in coprocessor records, change "name" to "type"
3801
to avoid confusion with "name" field of CUDA.
3802
This is a bug fix - please port.
3803
- start script: don't error out if run_state.xml file is empty
3804
(which happens if project runs out of disk space)
3816
- client part of the above
3933
- client/server/API: rename cudaDeviceProp to CUDA_DEVICE_PROP to
3934
avoid conflict with nvidia's structure.
3935
Note: these structures don't have to be the same,
3936
since we populate our struct one item at a time.
3826
- tools: performance enhancement to crypt functions,
3827
and have crypt_prog exit nonzero on failure
3828
(from Nicolas Alvarez)
3835
- scheduler: performance optimization for EDF simulation.
3836
Keep track of the "easiest" job that has been rejected by EDF sim.
3837
Any jobs harder than this one can be rejected without doing the sim.
3844
- Client (Windows) change the way core/app shmem segs are created.
3845
Old: get_shmem_seg_name() tries names of the form shm_boinc_N
3846
until it finds one for which creating succeeds.
3847
Then it detaches (deletes) the segment and records the name.
3848
Later, the segment is created again.
3849
This creates a race condition if two core clients
3850
are running on the same host.
3851
It's also kind of silly.
3852
New: get_shmem_seg_name() doesn't detach the segment,
3853
and we dont have to create it again later.
3942
- scheduler: fix bug that caused resent jobs with anonymous platform
3943
to have zero FPOPS est and bound
3951
- scheduler: add fine-grained "max jobs in progress" control.
3952
You can now specify limits for specific apps,
3953
and/or for the project as a whole.
3954
Within each of these, you can specify limits on
3955
CPU jobs, GPU jobs, or total jobs.
3956
In the case of CPU and GPU limits, you can specify
3957
whether the limit should be scaled by the number of devices.
3959
Note: the enforcement of this is done in get_app_version(),
3960
since per-resource-type limits may dictate what app versions
3961
we can use for a particular job.
3973
- back end: change "daily result quota" mechanism.
3974
Old: config.xml specifies an initial daily quota (say, 100).
3975
Each host_app_version starts out with this quota.
3976
On the return of a SUCCESS result,
3977
the quota is doubled, up to the initial value.
3978
On the return of an error result, or a timeout,
3979
the quota is decremented down to 1.
3981
Doesn't accommodate hosts that can do more than 100 jobs/day.
3983
- on validation of a job, daily quota is incremented.
3984
- on invalidation of a job, daily quota is decremented.
3985
- on return of an error result, or a timeout,
3986
daily quota is min'd with initial quota, then decremented.
3988
- This allows a host to have an unboundedly large quota
3989
as long as it continues to return more valid
3990
than invalid results.
3991
- Even with this change, hosts that return SUCCESS but
3992
invalid results will continue to get the initial daily quota.
3993
It would be desirable to reduce their quota to 1.
3861
- Fixes to init script.
3862
- Commands in Makefile.am to install init scripts
3863
- Initial checkin of sample configuration file boinc-client.conf
3872
- WINSETUP: Add the ability for the users in 'boinc_projects'
3873
to be able to read/execute the DLLs needed in the diagnostics
3875
(dbghelp.dll, srcsrv.dll, symsrv.dll, symsrv.yes)
3877
win_build/installerv2/redist/Windows/src/boinccas/
3880
CASetPermissionBOINCDiagnostics.cpp, .h (added)
3883
- WINSETUP: Exclude the skins, and locale directory from data
3886
win_build/installerv2/redist/Windows/src/boinccas/
3887
CAMigrateBOINCData.cpp, .h
3890
- client (win): bug fixes to yesterday's checkin
3898
- client: add <allow_multiple_clients> cc_config.xml option
3899
- client: remove stress_shmem code
3909
- client: change --allow_multiple_clients to a command line option
3910
(it can't go in the config file)
3918
- Added <d_allowed> element to get_disk_usage GUI RPC
3921
gui_rpc_server_ops.C
3927
gui_rpc_client_ops.C
3930
- manager: in disk tab, divide free space into
3931
available/unavailable to BOINC
3934
gui_rpc_server_ops.C
3939
- make some strings in user.inc translatable (from Simek)
3940
- close fd 1, not 0, for apps
3947
languages/translations/
3951
- validator: canonical_credit was being set incorrectly
3952
when -max_granted_credit used.
3959
- Mac: revise build scripts for c-ares and cURL to work when there are
3960
spaces in the paths. These changes are based on information from
3961
the cURL developers.
3968
- manager: fix disk display
3974
- Tag for 6.3.0 release, all platforms
3975
boinc_core_release_6_3_0
4004
- manager: linux compile fix, from jochen
4010
- user web: fix forum RSS feed
4016
- MGR: Apply patches submitted by Nicol�s Alvarez
4017
* Convert tabs to spaces for consistency.
4018
* Add BOINC copyright/license comment header.
4019
* Rename the numbered sizer variables to something descriptive and useful.
4020
* Remove useless sizers with only one element inside.
4021
* Declare and assign sizers in the same statement.
4022
* Split GUI creation into one method per tab.
4025
DlgAdvPreferencesBase.cpp, .h
4028
- client: add --fetch_minimal_work option (cmdline and config file)
4030
if there are any active jobs at startup, don't fetch more work
4031
otherwise make exactly 1 scheduler RPC requesting work,
4032
and request only enough jobs to fill all devices.
4033
- client: --exit_when_idle: make it available in config file
4034
and change semantics to:
4036
1) there are no tasks, and
4037
2) either there was an active task on startup,
4038
or we made a scheduler RPC requesting work
4039
Note: if there are not active tasks on startup,
4040
and the client makes a work request which doesn't return work,
4043
When these flags are used together,
4044
the client will do 1 job per device and exit.
4045
This may be useful when running as grid backfill.
4055
- client: code cleanup (move some config vars from CLIENT_STATE to CONFIG)
4068
- MGR: When starting up and attaching to a project for the first time,
4069
show the correct tab if in the advanced view.
4075
- client: fix compiler warning (unused variable.)
4081
- scheduler: change backoff policy if a host has reached daily job quota.
4082
Old: back off until random time in 1st hour of next day
4083
New: no server-dictated backoff; rely on client backoff
4084
This is needed to let hosts recover in a reasonable amount of time
4085
after a burst of errors.
4086
- scheduler config: it turns out we can't put arbitrary XML in config.xml;
4087
The Python code is set up to parse only 1 level of tags (??),
4088
and I'm not up to the task of changing this.
4089
So the fine-grained job limit feature [21674] needs to use
4090
a different file, namely config_aux.xml
4098
- scheduler: fix anon platform bug that caused zero FPOPS est
4104
- user web: add "Application info" link in host page,
4105
linking to new page showing host_app_versions for this host
4106
- scheduler: message tweaks
4112
host_app_versions.php
4118
- scheduler: bug fixes for jobs-in-progress limits
4130
- admin web: add start/end times to team import log output
4140
- client: Display Mac OS Version as well as Darwin version in Event Log.
4146
- Mac: Don't generate xX86_64 client symbol table (was empty); fix
4147
generation of PowerPC symbol tables (thin to ppc7400 not ppc).
4154
- client: user-visible text (message body, notice title and description)
4155
are now translatable,
4156
using the convention that any substring enclosed in _(" ... ")
4157
should be passed throughh wxGetTranslation() or the equivalent.
4158
- client: when writing messages to stdout, strip out _(...)
4159
- manager: translate strings from client
4160
- scheduler: message tweaks
4176
- client: make all MSG_USER_ALERT messages (i.e., those shown as notices)
4177
translatable (and change some MSG_USER_ALERT messages to MSG_INFO).
4193
- manager: add a script that generates a .pot for the manager
4194
that includes the client source code as well
4200
- Mac installer: Create script to build installer for Campus Party (installs
4201
custom project_init.xml file.)
4204
release_campus_party.sh
4207
- win_build: Commit project files to build sample applications for cuda
4208
and OpenCL (ATI & Nvidia)
4216
- server: change credit constant from 100 to 200.
4217
Data from S@h beta (running for a month or so)
4218
suggests that this will almost exactly match the
4219
average credit granted by S@h's old system
4220
(which, in theory, is the reference for other projects)
4228
- database: remove unused fields from app table
4237
- server: delete old credit stuff
4238
- user web: show host link in user result list. Fixes #999
4251
sample_bitwise_validator.cpp
4252
sample_trivial_validator.cpp
4259
- API: fix bug that caused parallel apps to get compute error
4260
when they were suspended without "leave in memory" pref
4261
- user web: if in-progress result has credit, show it; fixes #998
4268
- scheduler: tweaks to user messages
4276
- client: call curl_global_cleanup() on exit
4283
- scheduler: restore scaling of daily quota by # processors
4284
and/or config.gpu_multiplier
4295
Mac: fix compiler warning.
4301
- client: let fake CUDA specify driver version
4302
- client: restore call to diagnostics_finish() on exit.
4303
(should print mem info, but doesn't)
4304
- manager: notices display tweak
4316
- scheduler: fix structural problems with sending user messages.
4317
Old: various redundant and/or misleading messages were sent.
4319
- if host w/ no GPU contacts a GPU-only project,
4320
send high-pri message saying they need a GPU
4321
- if host w/ GPU has driver too old for all versions,
4322
send high-pri message saying to update driver
4323
- if host w/ GPU has driver too old for some versions,
4324
send low-pri message saying to update driver
4325
- if host has GPU but too little RAM for any app,
4326
send low-pri message saying so
4327
- scheduler: revamp GPU plan class functions
4337
sched_customize.cpp,h
4341
- user web: don't show claimed credit
4347
- database: app.min_avg_pfc should default to 1, not 0
4355
- API: make boinc_msg_prefix() thread-safe
4361
- user web: code cleanup in prefs.inc
4367
- lib: Fix the value returned from get_mac_addresses() on Macintosh
4368
computers. It has returned the value of kernResult, which is 0
4369
on success, instead of true for success, since the routine was
4370
first written in November 2008. This causes the client to
4371
generate a new random CPID every time the client is launched.
4377
MGR: save last notice which has been read in persistent storage, by
4378
saving its arrival time. Store a separate entry for each CPID
4379
so it will work for Managers managing multiple remote clients.
4382
MainDocument.cpp, .h
4385
- sample apps: compile fixes
4389
samples/example_app/
4396
- scheduler: estimate peak FLOPS of anon platform app versions
4397
based on CPU and GPU usage (or, if missing, 1 CPU).
4398
Previously we were using the user-supplied <flops> element,
4399
and if it was missing all hell broke loose.
4400
- client: free malloced items on exit
4408
- validator: because of the above problem,
4409
some results have flops_estimate == 0, which causes divide by zero.
4410
Check for this and use 1e10.
4416
MGR: Take into account that there may be gaps in the sequence numbers
4417
because some notices may have been deleted.
4420
MainDocument.cpp, .h
4423
- user web: flag to send less information on team member XML requests
4424
(from Willy de Zutter).
4433
- validator: fix possible divide-by-zero
4434
- validator: when claimed credit is too high,
4435
assign standard credit rather than exiting.
4441
- API: add BOINC copyright notice to graphics2_win.cpp.
4442
This file originally used code from the following tutorial,
4443
which shows how to open a window using GLUT:
4444
http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=01
4445
The code has now been completely rewritten;
4446
in particular, it doesn't use GLUT anymore.
4447
- scheduler: change default limit on #CPUs from 16 to 64
4464
- client: fix crashing bug when account manager returns
4465
new project w/ "no more work" flag set
4471
- validator: fix a divide by zero (happens w/ old clients
4472
that don't report elapsed time)
4478
- client: don't attach to a project if the account manager
4479
has set the "detach when done" flag.
4485
- MGR: save host name (from host.domain_name) instead of CPID when
4486
saving arrival time of last read notice; wait until we have
4487
host.domain_name before checking for unread messages.
4493
- client: when selecting the "best" ATI GPU, factors are:
4494
1) double precision support
4503
- MGR: Hook up new NoticeListCtrl.
4504
TODO: pre-stage the download of images instead of relying
4505
on wxWidgets to do it out of band. It gets stuck in a
4506
recursive loop and eventually blows up if it has to go
4507
out to the Internet to find image files it has already
4508
downloaded once after selecting the item. I presume it
4509
decides it needs to re-download the image becuase the
4510
background color for the whole line changes.
4513
NoticeListCtrl.cpp, .h
4518
- MGR: Fix order of items displayed by NoticeListCtrl (newest first.)
4519
- MGR: Update Mac accessibility for new NoticeListCtrl.
4520
- Mac: Update XCode project for new source file NoticeListCtrl.cpp.
4526
MacAccessiblity.cpp, .h
3982
4532
- API: compile fix
3987
Rom May 14 2008 (HEAD)
3988
- Bump version to 6.3.1
3995
- MGR: Fix trace statements in StartupBOINC()
3996
- MGR: Add some more trace statements for Linux startup.
3999
BOINCClientManager.cpp
4002
- MGR: BOINC commandline options require the '--' in front
4003
of the option. '-' just causes the CC to exit while
4004
printing its help fr the commandline options.
4007
BOINCClientManager.cpp
4010
MGR: Adjust pie control slices so small wedges are visible if at
4018
- client: added some http_debug messages in case where
4019
POST2 temp file can't be opened or read
4020
- client: don't show --sandbox option if it's not available
4028
- Tag for 6.3.1 release, all platforms
4029
boinc_core_release_6_3_1
4035
Rom May 15 2008 (HEAD)
4036
- Bump version to 6.3.2
4043
- SCR: BOINC's screensaver module in preview mode only displays
4044
the BOINC icon, since the preview window is only 300x200 or
4045
so. We shouldn't launch the data management thread when
4046
launched in preview mode.
4052
- web: add <no_computing> option to config.xml.
4053
If present, don't show anything related to computing.
4054
Use this for Bossa/Bolt projects, and the BOINC message boards.
4067
- client: If a scheduler reply doesn't include <host_venue>
4068
(as is the case if its DB is down,
4069
or it has no work and skips the DB check)
4070
don't overwrite the host_venue on the client.
4071
Fixes #656, I hope (Rom: please port)
4077
- client: when parsing state file, don't change result states
4078
unless there's an inconsistency
4085
- scheduler: there were several situations where the scheduler
4086
would send a reply without having looked up the user and team
4088
- client version# is too low
4090
- host is blacklisted
4091
It would then send a full scheduler reply,
4092
including a blank team name and other missing info.
4094
Fix this by setting reply.nucleus_only initially
4095
(this causes a minimal reply to be sent)
4096
and clearing it only if the host/user/team lookup succeeds.
4097
Fixes #417, #633 (I think)
4104
- MGR: Fix a casting issue that was causing crashes on x64 platforms.
4105
fixes# 658 (From: bbaetz)
4111
- client: JM7 was seeing repeated file upload failures.
4112
It turned out that when we close and reopen
4113
the temp file that stores the HTTP reply, the open was failing.
4115
Attempted workaround: open the file for R/W originally,
4116
and instead of close/open do a seek.
4122
- client: go one step further, and don't create temp files
4123
in some system-supplied directory;
4124
create them in the BOINC data directory.
4130
- client: on Windows (at least) if you kill a task (e.g. reset project)
4131
ACTIVE_TASK::handle_exited_app() never gets called,
4132
so the coprocessors weren't getting freed.
4141
MGR: Don't enlarge pie control slices if value is zero.
4148
- client: eliminate spurious "unparsed XML" messages
4149
Fixes #664. Rom, please backport to 6.2
4150
- web: convert some tr() to tra() on BOINC web pages
4155
languages/translations/
4159
- web: fix for cross-site scripting vulnerability
4160
(from Nicolas Alvarez)
4169
- web: fix bugs introduced by recent tra() changes.
4170
PLEASE CHECK THESE CHANGES BEFORE SUBMITTING THEM
4180
- Add alternative stylesheet for project web
4181
- Tweak error messages in client and server
4198
- DIAG: For Windows, lookup and store the install directory
4199
location so that the diagnostics framework can use the
4202
NOTE: This is only a problem for applications running
4203
under the v6 clients.
4210
- web: fix errors in translation changes
4216
- web: remove separate blockquote style; fixes #668
4222
- scheduler: if client has bad code sign key, don't send work
4228
- boinccmd (Windows): chdir to the data directory (from registry)
4238
- client: copy api_version of APP_VERSIONs in scheduler reply,
4239
even if we already have the APP_VERSION.
4240
Otherwise, when upgrading from 5.10 to 6.2,
4241
we won't have the api_version,
4242
and we won't learn about it until project releases new version.
4249
- client: print a message at startup if computation is suspended
4258
- config option <matchmaker> for matchmaker scheduling
4259
- config options <mm_min_slots>, <mm_max_slots>, <job_size_matching>
4260
to control matchmaker scheduling
4261
- scheduler: tweaks to matchmaker scheduling from Kevin Reed
4262
- web: fixes to alternative stylesheet from Simek
4271
- client: if GUI RPC auth error, close the socket.
4272
This prevents a DoS by sending <auth1> over and over,
4273
filling the send buffer and eventually causing the client to block.
4274
- Unix build: if m4 missing, check for gm4
4279
gui_rpc_server_ops.C
4282
- client: shuffle to code to give an abstraction (RR_SIM_STATUS)
4283
of a project's state during round-robin simulation
4284
(first step to handling coprocs in RR sim)
4292
- client: shuffle code to abstract coprocessor reservation
4302
- client: handle coprocs in RR simulation. Not tested.
4303
TODO: handle multithread apps in RR simulation; should be easy now.
4312
- client: test the above; compile fixes for Win
4320
- client: reduce min CPU time for valid benchmark from 3 to 2
4326
- DIAG: When an application crashes, dump out the install and data
4327
directory as part of the crash report.
4333
- web: team transfer request was being rejected if email to founder failed,
4334
so there was no way of rescuing a team with invalid founder email.
4335
I changed it to record the request anyway.
4336
This is potentially hazardous - if the founder's email server
4337
is temporarily down, the request would go through
4338
without the founder being notified.
4339
To offset this, I added a notification via private message.
4345
team_founder_transfer_action.php
4348
- WINSETUP: The call to GetFreeDiskSpaceEx was failing becuase the path
4349
didn't exist yet, so all the values in the returned data structures
4350
was random junk. If the directory had never been created before
4351
then it was returning 27/57 bytes free. If the drectory had existed
4352
at one time then the return values were several gigabytes.
4354
If the first request to GetFreeDiskSpaceEx fails, then check for the
4355
parent directory, if that fails pass a NULL value which means check
4358
win_build/installerv2/redist/Windows/src/boinccas/
4362
CAMigrateBOINCData.cpp
4363
CASetPermissionBOINCDiagnostics.cpp, .h (deleted)
4364
win_build/installerv2/redist/Windows/Win32/
4367
win_build/installerv2/redist/Windows/x64/
4372
- clientgui: renamed locale files from "BOINC Manager.*" to
4374
- Added Makefile to locale/client to install the BOINC Manager.po files
4375
into $(datadir)/locale (typically $(prefix)/share/locale)
4538
- MGR: Fix order of items displayed in Notices tab correctly this time.
4545
- validator: there were a couple of places where we needed to
4546
scale wu.rsc_fpops_est by app.min_avg_pfc.
4547
- validator: assume that app.min_avg_pfc is nonzero;
4548
it will be, since the DB default is now 1.
4554
- scheduler: msg tweaks
4561
- scheduler: the way rsc_fpops_est and rsc_fpops_bound were
4562
being scaled for anon platform was messed up.
4563
Turn off this scaling until I can figure out the problem.
4569
- MGR: Handle sorting the notices control a different way.
4573
NoticeListCtrl.cpp, .h
4576
- MGR: Bug fixes to previous commit.
4580
NoticeListCtrl.cpp, .h
4583
- transitioner: the format string for a DB query had %.15d instead of %.15e.
4584
That produced a messed-up query that assigned garbage values to:
4585
host_app_version.turnaround_var
4586
host_app_version.turnaround_q
4587
host_app_version.max_jobs_per_day
4588
host_app_version.consecutive_valid
4590
- set turnaround_var and turnaround_q to zero
4591
- if max_jobs_per_day is outside of
4592
(0..config.daily_result_quota)
4593
set it to config.daily_result_quota
4594
- if consecutive_valid is outside (0..1000), set it to zero
4595
I added a script, html/ops/repair_21812.php, that does this;
4596
if you ran server code between [21181] and [21812], run this script.
4597
- scheduler/transitioner: add <debug_quota> log flag
4598
- changed the build system to always use -Wall
4599
(if we'd done this before, this bug wouldn't have happened)
4600
- fixed a bunch of other compile warnings
4611
boinc_set_compile_flags.m4
4634
- manager: message tweak
4640
- validator: need parens in boolean expression
4646
- scheduler: don't resend work if client isn't requesting work
4652
- scheduler: host_app_version.n_jobs_today was being cleared
4653
only if the previous request was on a different day
4654
AND the current request asks for work.
4655
Sometimes it wasn't getting cleared when it should have.
4662
- MGR: Sort notices by dtime()
4666
NoticeListCtrl.cpp, .h
4669
- user web: notices fix
4675
- MGR: Delete expired entries from the notices control
4676
- MGR: Remove sort code. Entries in the pDoc notices
4677
structure is already sorted.
4680
NoticeListCtrl.cpp, .h
4684
- MGR: Fix off by one error in Notices display.
4696
- scheduler: message tweak
4702
- MGR: Introduce the notion of a cached internet filesystem in the
4703
manager, right now it stores everything in memory but will be extended
4705
- MGR: Clean up notice memory on shutdown
4378
4708
BOINCGUIApp.cpp
4383
BOINC Manager.po (renamed BOINC-Manager.po)
4384
BOINC Manager.mo (renamed BOINC-Manager.mo)
4388
added client/scripts to default client build
4389
removed sea from the default clientgui build
4390
added locale/client to the default clientgui build
4391
moved installed header from $(includedir) to $(pkgincludedir) which
4392
is $(includedir)/boinc by default.
4393
removed redefinitions of $(includedir) from makefiles.
4395
added locale/client/Makefile to AC_CONFIG_FILES
4412
added LIBBOINC_VERSION definition for libtool use.
4417
- fixed problem with missing includes and missing namespace notations
4424
- moved icons from sea into clientgui/icons
4425
- added Makefile to clientgui/icons to install them in $(pkgdatadir) which
4426
is usually $(prefix)/share/boinc.
4427
- Even though these icons are packaged with the sea, they don't appear
4428
to be referenced in any code and don't appear to ever be used.
4435
boincmgr.{16x16,32x32,48x48}.png
4438
- Added a stage target for staging a distribution.
4439
Executing "make stage" will "make all" and will install the client
4440
under the stage directory (i.e. binaries is stage/$(prefix)/bin, libraries
4441
in stage/$(prefix)/lib, etc)
4446
- web: style tweaks; fixes #667
4455
- Added database table credit_multiplier and script to be run daily
4456
(calculate_credit_multiplier) to determine what factor to multiply claimed
4457
credit by before insertion into the database. Changes to scheduler to
4458
implement have not yet been checked in.
4709
BOINCInternetFSHandler.cpp, .h
4710
NoticeListCtrl.cpp, .h
4717
- Mac: Update XCode project for new source files BOINCInternetFSHandler.cpp,.h.
4724
- scheduler and back end: message tweaks and fixes
4735
- scheduler and client: use "notice" rather than "high" priority
4736
for messages intended as notices.
4737
This will avoid showing lots of obscure stuff as notices
4738
for projects with old server code.
4751
- client: Fix 2 bugs in handling of notices:
4752
- When client sends all notices instead of starting with the requested
4753
sequence number (e.g., due to having removed a notice), it must
4754
prefix the notices with a dummy notice with sequence number -1 to
4755
tell the manager to clear the notices vector.
4756
- When parsing RSS feeds, call notices.append() with keep_old false.
4757
It was passing true, so notices of new posts to threads were not
4758
having their arrival times updated when additional posts to the
4759
same thread were reported.
4765
- client: revert my recent change to keep_old argument above. It caused all
4766
RSS feeds to be updated repeatedly. We need to somehow differentiate
4767
between old news items and notices that are new but identical to previous
4768
ones. Should we use the pubDate for that?
4774
- scheduler and client: fix the "allow multiple clients" feature.
4775
This feature lets you run the BOINC client as a job on grid systems
4776
that handle only 1-CPU jobs;
4777
it disables various mechanisms that prevent multiple clients per host
4778
(which is normally a bad thing).
4780
- Run the client with a --allow_multiple_clients flag.
4781
This tells it not to use a mutex that prevents
4782
multiple clients per host.
4783
- Run the project with the <multiple_clients_per_host> config flag.
4784
This suppresses two mechanisms:
4785
- (avoid duplicate host records)
4786
on a scheduler request with no host ID,
4787
looks for a host with same domain name, OS type,
4788
and mem size, and assumes the request is from that host
4790
If we get a request that doesn't have a host ID
4791
but does have a host CPID,
4792
mark its in-progress results as over
4793
NOTE: I CAN'T REMEMBER WHY WE SUPPRESS THIS;
4794
MARK S, DO YOU REMEMBER?
4797
if the grid clients attach to a project that
4798
doesn't use <multiple_clients_per_host>, bad things happen.
4799
E.g., if there are several requests at about the same time,
4800
most of them will fail with
4801
"another RPC already in progress" errors.
4802
If a project does include this flag,
4803
it loses protection from duplicate host records.
4806
- If the client is run with --allow_multiple_clients flag,
4807
it passes a <allow_multiple_clients> element
4808
in scheduler requests.
4809
- The scheduler skips the duplicate-host check on
4810
requests that include this flag.
4811
- There is no more <multiple_clients_per_host> scheduler option.
4813
Note: if a project using the old mechanism upgrades to this change,
4814
it will need to use new clients for its grid deployment.
4824
- client: improve (or at least change) logic related to duplicate notices
4831
- GUI RPC: add NOTICES::complete, so caller knows whether
4832
what's being returned is new notices or all notices.
4835
gui_rpc_client_ops.cpp
4839
- MGR: logic changes & fixes to Notices display for new NOTICES::complete
4841
- ViewNotices clears NoticeListCtrl if NOTICES::complete is set.
4842
- after GUI RPC sets NOTICES::complete, only ViewNotices clears it.
4843
- unread / read notices logic checks arrival times, not sequence nos.
4844
- NoticeListCtrl clears NeedsRefresh flag agfter refresh.
4845
NOTE: Considerably more cleanup and code simplification is needed.
4848
MainDocument.cpp, .h
4849
NoticeListCtrl.cpp, .h
4852
gui_rpc_client_ops.cpp
4855
- user web: show app name in anonymous platform case on task list
4861
- MGR: Rework the notices view to simplify the rendering logic even at the
4862
cost of repeated string conversions (it doesn't appear to mess with
4863
the messages tab performance too much). Inspired by Charlie.
4866
NoticeListCtrl.cpp, .h
4877
- WIN: Treat Windows SEH exceptions as C++ exceptions so they can be trapped
4878
using the standard try/catch handlers.
4879
- WIN: Wrap the coproc detection stuff in C++ exception handlers. If for some
4880
reason the Nvidia or ATI APIs cause an exception don't use the GPUs and
4882
- WIN: rename boinc_ss to boinc_os_ss and ss_app to boinc_ss.
4890
- MGR: Fix a bug in the notices code. Refresh the UI if the complete notices
4891
list has been downloaded regardless of whether or not the item counts are
4895
NoticeListCtrl.cpp, .h
4898
- LIB: Reset the completed flag to false at the beginning of the
4899
get_notices RPC in case the notices buffer is being reused.
4902
gui_rpc_client_ops.cpp
4905
- client: free GUI_RPC_CONN objects at shutdown
4911
- MGR: get_messages and get_notices RPCs don't alternate buffers, so
4912
remove the unused buffers from CMainDocument class.
4915
MainDocument.cpp, .h
4918
- MGR: after GUI RPC sets NOTICES::complete, only NoticeListCtrl clears it.
4919
- MGR: fix compile warning.
4924
gui_rpc_client_ops.cpp
4927
- client: add ".xml" to notice file names
4934
http_curl_win.h (removed)
4937
- MGR: Fix Linux build break.
4940
NoticeListCtrl.cpp, .h
4943
- client: don't consider a result "nearly runnable"
4944
if one of its downloads is stalled.
4945
This fixes a situation that can cause processor or GPU
4946
idleness when download servers are down for a while
4952
- user web: PHP 5.3 compatibility fix, from Nicolas. Fixes #787
4958
- MGR: Fix bugs in accessibility code for Notices tab.
4961
NoticeListCtrl.cpp, .h
4966
- fix gcc 4 compiler warnings
4970
single_job_assimilator.cpp
4462
calculate_credit_multiplier
4467
- Tag for 6.3.2 release, all platforms
4468
boinc_core_release_6_3_2
4474
Rom May 28 2008 (HEAD)
4475
- Bump version to 6.3.3
4482
- client: on startup, detect when the system clock has been set backwards,
4483
and clear all timeout variables.
4484
This should fix the situation where, say:
4485
1) the user sets the system clock forward by a year;
4486
2) all projects get their min_rpc_time set;
4487
3) the user sets the system clock back to the correct time.
4488
Previously, BOINC would not do anything for a year.
4490
Note: a restart of BOINC is required to fix things.
4491
It would be harder to do this on the fly.
4977
- win build: don't build CUDA/OpenCL apps by default
4985
- MGR: Fix accessibility code bug in Attach Wizard's ProjectListCtrl,
4986
consolidate and clean up Mac accessibility code.
4989
NoticeListCtrl.cpp, .h
4990
ProjectListCtrl.cpp, .h
4995
- client: change the calculation of exponential backoff used for
4996
1) individual file transfers
4997
2) project-level file transfer backoff
4998
3) scheduler operations
5000
Use random backoff in the range min..x
5002
Use random backoff in the rand x/2..x
5003
- client: for file transfers, use backoff range of 10 min .. 12 hrs
5004
rather than 1 min .. 4 hrs
4496
5009
pers_file_xfer.h
4500
- web: add project.inc variables to customize certificates;
4501
add team certificate;
4502
add links to certificates from user page
4513
- have been told clientgui/res is the appropriate place for icons so have
4514
moved clientgui/icons/* clientgui/res
4520
Makefile.am moved to clientgui/res
4521
boincmgr.{16x16,32x32,48x48}.png moved to clientgui/res
4524
- WINSETUP: Fix a struct alignment issue when dumping the base64 encoded
4525
password for boinc_project to a file.
4527
ATL's string conversion functions act of a class and not a buffer
4528
which makes memory management easier but doesn't interop well with
4529
fprintf unless you specify the buffer name directly.
4531
win_build/installerv2/
4533
win_build/installerv2/redist/Windows/src/boinccas/
4534
CACreateClientAuthFile.cpp
4535
win_build/installerv2/redist/Windows/Win32/
4538
win_build/installerv2/redist/Windows/x64/
4543
- Mac Installer: delete old locale directory to remove "boinc manager.mo"
4544
files before installing new "boinc-manager.mo" files (or vice versa).
4550
- Validator framework: change get_output_file_path()
4551
to return a struct FILE_INFO (including "optional")
4552
instead of just the filename.
4553
This lets you avoid erroring out if optional file is missing.
4554
- Sample bitwise validator: support > 1 output file correctly
4557
sample_assimilator.C
4558
sample_bitwise_validator.C
4559
sample_dummy_assimilator.C
4560
single_job_assimilator.C
4565
- MGR: eliminate spurious --graphics argument when showing V6 graphics.
4571
- Redo the above so that get_output_file_path() is unchanged;
4572
add new functions get_output_file_info();
4573
- change get_output_file_path() to look at the result's
4574
xml_doc_in rather than its xml_doc_out;
4575
this is the one that will have <optional/>
4576
- fix crashing bug in the above
4579
sample_assimilator.C
4580
sample_bitwise_validator.C
4581
sample_dummy_assimilator.C
4583
single_job_assimilator.C
4588
- validator/assimilator: parse <file_ref>s rather than <file_info>s;
4589
the latter is where the <optional/> flag is.
4597
- server: added -simulation option to feeder, validator, and assimilator
4598
(for use in server simulator)
4608
- Add cross-project certificate
4615
img/boinc_fade_600.png
4618
- validator/assimilator: get_output_file_info()
4619
was looking at the wrong XML field
4625
- Back end: add adaptive validation feature
4626
(DB update required)
4627
- Fixed typo in Eric's 5/28 checkin
4645
- make_project: when it's done it prints out a bunch of instructions.
4646
These are more than 24 lines, so in the VMWare BOINC VM
4647
they scroll off the window and are lost.
4648
Instead, write them to a file (project/project.readme).
4649
Also, only write the message about example app if -test_app
4655
- MGR: Fix help menus in Simple GUI (not applicable on Windows).
4658
sg_BoincSimpleGUI.cpp,.h
4661
- web: fixed a couple of references to "global $logged_in_user".
4662
It's $g_logged_in_user.
4671
- validator/assimilator: fix bug in 2 June checkin
4672
(xml_doc_in wasn't included in DB query)
4680
- web: clean up stuff related to stripslashes():
4681
1) it's not correct to apply stripslashes() to all form input.
4682
That should be done only if magic quotes is on.
4683
I fixed this by adding a function undo_magic_quotes()
4684
that does the right thing.
4685
2) There's no reason to strip backslashes from user-supplied text
4686
(forum titles and bodies, private messages, passwords etc.)
4687
I'm not sure why this was being done.
4688
It prevented messages from containing backslashes.
4701
create_account_action.php
4704
edit_forum_preferences_action.php
4705
edit_forum_preferences_form.php
4706
edit_passwd_action.php
4708
forum_moderate_thread.php
4713
team_edit_action.php
4717
- manager: fix messages: "shut down" is 2 wds etc.
4723
- web: moved some basic utility functions to a separate file
4724
that doesn't need to include all sorts of crap
4729
util_basics.inc (new)
4733
- client (Win) look for CUDA as nvcuda.dll
4739
- Tag for 6.3.3 release, all platforms
4740
boinc_core_release_6_3_3
4747
- Fix emacs mode line in Makefile.am's
4750
- DIAG: Fix 2 year old bug when projects are using a symstore.
4751
CC was writing 'symstore' in the init_data.xml and the diagnostic
4752
code was looking for 'project_symstore'. Why did it take
4753
so long to find? Oh well, make it obvious if it ever
4754
happens again by dumping the symstore url in the crash
4764
- web: change order of includes
4772
- make_project: allow account creation initially.
4773
Otherwise it's another nit-picky little step
4774
in the project "quick start" process.
4780
- added Free-DC CPID stats
4795
- web: cleaned up logic of string processing.
4796
There are two aspects:
4797
1) undoing magic quotes (if it's being used).
4798
This must be done for all GET and POST string inputs.
4799
It is now done automatically by get_str() and post_str().
4800
The places that refer to $_GET and $_POST directly
4801
must do it themselves using undo_magic_quotes().
4802
2) Escaping user-supplied strings before using them in DB queries.
4803
This is done by process_user_text()
4804
(which should be renamed db_escape_string()).
4806
call process_user_text() in the function that does the DB query
4807
(not at any higher level).
4812
- web: add $prefix arg to sample project_header(), project_footer()
4813
(fix links on profile-index pages)
4814
- web: use cache-control "no-store" only for home.php.
4815
This makes it so that, e.g. if you scroll to the middle of a long page,
4816
follow a link, then click Back,
4817
you'll go back the original scroll position rather than top of page.
4823
update_profile_pages.php
4830
- web: handle magic quotes correctly in profile create/edit
4836
- API/runtime system: remove "fraction done update period" stuff.
4837
This was always 1 second, which is fine.
4838
Rom: please back-port.
4848
- client/API: add "computation_deadline" to APP_INIT_DATA.
4849
This supports apps that can do variable amounts of computing;
4850
they can boinc_finish() if their deadline is near.
4851
Rom: please back-port.
4860
- web: fixed numerous bugs in team founder transfer mechanism
4866
team_founder_transfer_form.php
4867
team_founder_transfer_action.php
4871
- manager: fix some strings ("comm" is not an OK abbrev.)
4872
Also got rid of references to Yahoo.
4879
- client: fix crashing bug when detach from project.
4880
The problem: the variable ordered_scheduled_results
4881
has a list of pointers to RESULTs.
4882
These pointers become dangling when the project is detached.
4883
It's not sufficient to do schedule_cpus() because this returns
4884
immediately if # projects == 0.
4885
So clear the list directly.
4886
Rom: please port to 6.2
4892
- scheduler: if host.n_bwdown is zero, skip the bandwidth check;
4893
the host hasn't been measured yet.
4899
- web: shuffle code to eliminate redundancy
4907
- change EXIT_ABORTED_VIA_GUI to EXIT_ABORTED_BY_CLIENT
4908
- change ERR_CHILD_FAILED TO EXIT_CHILD_FAILED
4909
(it's an exit code, not a function error code)
4910
- client: reduce severity of benchmark error
4911
- scheduler: compile fix
4924
- WINSETUP: Validate that the installed executables are
4925
the ones we are expecting.
4926
- WINSETUP: Do not allow the data directory and install
4927
directory to be the same directory.
4928
- WINSETUP: Reduce the amount of time allocated to
4929
shutdown the BOINC Manager from 30 secs to 5 secs
4930
before killing it. Otherwise the user thinks the
4931
install process is hung.
4932
- WINSETUP: Change text for describing the protected
4934
- WINSETUP: Add text describing the reason for a reboot
4935
- WINSETUP: Add text describing the need to run a repair
4936
in the case where a third party BOINC CC was installed
4937
or a private drop of the CC was used.
4939
win_build/installerv2/
4941
win_build/installerv2/redist/Windows/src/boinccas/
4946
CAShutdownBOINCManager.cpp
4947
CAValidateInstall.cpp, .h (added)
4948
CAVerifyInstallDirectories.cpp, .h (added)
4949
win_build/installerv2/redist/Windows/Win32/
4952
win_build/installerv2/redist/Windows/x64/
4957
- web: in team remove-user form, link names and show IDs
4960
team_remove_inactive_form.php
4963
- If a hidden post is deleted, don't decrement its thread's post count;
4964
it was already decremented when the post was hidden
4965
- Added a function to forum_repair.php to fix inconsistencies
4966
due to the above bug
4975
- WINSETUP: Properties that are changed during the execution phase
4976
of setup do NOT bubble back up to the UI phase of setup when
4977
completed. Create some custom actions that store those properties
4978
in the registry and then read them back after we are back in the
4979
UI phase. Without them we cannot control what text is displayed
4980
in the setup completion dialog.
4982
win_build/installerv2/
4984
win_build/installerv2/redist/Windows/src/boinccas/
4988
CARestoreExecutionState.cpp, .h (Added)
4989
CASaveExecutionState.cpp, .h (Added)
4990
win_build/installerv2/redist/Windows/Win32/
4993
win_build/installerv2/redist/Windows/x64/
4998
- WINSETUP: Suppress the reboot prompt and just reboot, since we
4999
have already informed the user it is needed on the conformation
5002
win_build/installerv2/redist/Windows/src/boinccas/
5004
win_build/installerv2/redist/Windows/Win32/
5007
win_build/installerv2/redist/Windows/x64/
5012
- diagnostics library: in signal handler, use _exit() instead of exit();
5013
an atexit() function might have been what caused the signal
5019
- client (Win): if running as service, and service is suspended/resumed,
5020
restore previous run state rather than going to auto.
5021
- client: improve startup messages (non-system user??)
5028
- client (Win): if we're not in protected mode,
5029
don't create shmem segs in global name space.
5030
Hopefully this will fix a bug
5031
(on Vista, UAC off, non-protected install)
5032
where apps fail to attach to shmem.
5041
- scheduler: change message if bad auth (fixes #685)
5049
- client: print msgs if can't find CUDA libs
5063
- MGR: Fix the Alt-Tab icon on Windows XP. Fixes# 586.
5067
AdvancedFrame.cpp, .h
5069
sg_BoincSimpleGUI.cpp, .h
5074
boincmgr_curl.vcproj
5077
- MGR: Change from using balloons to tooltips. Fixes #9.
5078
Thanks David Barnard.
5086
- API, Unix: when boinc_finish(x) is called, exit with code x
5087
even if signals happen in the atexit() handling
5088
- API: don't print XML parse warnings for init_data.xml file
5096
Charlie 23 June 2008
5097
- MGR: Fix build breaks on Mac.
5012
- MGR: Fix accessibility code bug in Attach Wizard's ProjectListCtrl,
5013
consolidate and clean up Mac accessibility code.
5016
- MGR: More code cleanup, optimization and bug fixes.
5020
DlgEventLogListCtrl.h
5021
NoticeListCtrl.cpp, .h
5022
ProjectListCtrl.cpp, .h
5105
- web: insert() functions return ID
5112
- WINSETUP: Store and cleanup a set of flags to avoid repeatedly
5113
migrating data back and forth.
5114
- WINSETUP: If the migration uninstall routine detects a newer
5115
version of BOINC being installed, skip the uninstall process.
5117
win_build/installerv2/redist/Windows/src/boinccas/
5121
CAMigrateBOINCData.cpp
5122
CAMigrateBOINCDataCleanup.cpp, .h (Added)
5123
CAMigrateBOINCDataVersion.cpp, .h (Added)
5124
CAValidateInstall.cpp
5125
win_build/installerv2/redist/Windows/Win32/
5128
win_build/installerv2/redist/Windows/x64/
5133
- MGR: If more than two active tasks are running then tell the
5134
user how many active tasks are running instead of attempting
5135
to display the percent complete of each one.
5136
- MGR: If the computer name is the local host then skip displaying
5143
- client: improve error messages when can't copy files
5144
- client: change CUDA detection on Linux and Mac.
5145
Look for libcuda.so in /usr/lib/nvidia and /usr/lib64/nvidia.
5146
If we find it, assume that libcudart is bundled with the app.
5154
- client, CUDA detection: look in /usr/lib, not /usr/lib/nvidia/
5160
- Tag for 6.3.4 release, all platforms
5161
boinc_core_release_6_3_4
5168
- Include missing include file on Linux.
5174
- client: fix battery detection on newer Linux
5175
(from Roberto Virga)
5195
- back-end code: fix compiler warnings (and maybe bugs);
5196
do some retentive code cleanup
5206
Charlie 27 June 2008
5207
-MGR: Add all features of Grid Views to Accessible Views Projects Tab,
5208
Tasks Tab and Tranfers Tab, including: progress bars, light gray
5209
stripes on alternate rows, sorting, multiple selections.
5210
For those fields where it is practical to do so, store data in native
5211
form for better efficiency comparing, sorting and updating cached
5212
data;format data only when needed for list display. Add a separate
5213
array of integers which are indexes into the list; sort only this
5214
array to make sorting faster & more efficient, and to maintain
5215
associations with underlying data after sorting (view's data struct
5216
at index X always corresponds to result at index X).
5217
Refresh only those rows with changed values or which have moved due to
5218
sorting. Restore previous sorting settings when relaunching Manager.
5221
BOINCBaseView.cpp,.h
5222
BOINCListCtrl.cpp,.h
5224
ViewTransfers.cpp,.h
5228
- make_project: change the --test_app option so that it gets the
5229
app executable from boinc_samples/example_app/uc2,
5230
rather than boinc/apps/upper_case.
5231
(boinc_samples must be installed in the same dir as boinc).
5233
The reason: the BOINC autoconf-based build process
5234
produces executables that have zillions of shared library dependencies,
5235
and generally won't run on machines other than
5236
the one where they were built.
5237
Executables built in boinc_samples/ don't have this problem.
5243
- client: add "Suspending computation" messages for
5244
system idle and initial delay cases.
5245
Rom: please back-port
5251
- server: add optional <no_validate> element to output file <file_ref>s.
5252
This tells the sample bitwise validator to ignore this file.
5253
- client: parse the above field (avoid "unparsed XML" msgs)
5258
sample_bitwise_validator.C
5262
- scheduler: fix bug where a pointer to a 32-bit time field
5263
was being cast to a pointer to 64-bit time field
5264
(this caused wrong results on 64-bit servers)
5273
process_results_template.C
5275
Charlie 30 June 2008
5276
- MGR: Reset messages whenever connecting or reconnecting to client. Fixes 2
5277
bugs: stale messages if client on remote host was stopped and restarted
5278
while local manager was connected to it but minimized, and stale messages
5279
when local client exited and was automatically restarted by Manager.
5280
- MGR: On Mac, don't display alerts when minimized, as they hang Manager. On
5281
Windows and Mac, if minimized when trying to display the Connection Failed
5282
dialog, set a flag to display it when the user maximizes the application,
5283
so the user can respond. In addition, Windows still immediately displays
5284
a Connection Failed balloon if minimized.
5287
BOINCBaseFrame.cpp,.h
5024
MacAccessiblity.cpp, .h
5027
- validator: remove app and app_versions arguments from check_set().
5028
These weren't used, and I'm not sure why they were added.
5029
- include sched_limit.h in "make install" list
5032
validate_util2.cpp,h
5037
- scheduler: make some "notice"-priority messages translatable
5038
- scheduler: add a clause to wu_is_infeasible_custom() for SETI@home:
5039
don't process VLAR jobs using CUDA apps.
5040
Note: this is implemented in a slightly non-optimal way.
5041
If the request asks for both GPU and CPU jobs,
5042
the scheduler will first decide to use the GPU version.
5043
It will scan jobs, skipping over VLAR jobs.
5044
When the GPU request is satisfied, it will switch to the CPU version
5045
and continue scanning, accepting VLAR jobs.
5046
But the jobs that were skipped initially won't be rescanned.
5047
Also, it would be slightly nice to preferentially send
5048
VLAR jobs to hosts asking for CPU work.
5049
(This could be done in the scoring function).
5058
- scheduler: make messages translatable
5066
BOINC-Client.pot (new)
5071
- MGR: Load up the new BOINC-Client catalog if it exists.
5077
- MGR: Prevent a race condition which could erroneously invoke the
5078
Attach Wizard when restarting the client.
5288
5082
MainDocument.cpp
5291
- MGR: Fix build break on Linux.
5297
- web: when hide/unhide/delete posts,
5298
set the timestamp of the thread to the timetamp of
5299
the latest non-hidden post (rather than to now).
5300
Same thing for forum timestamp.
5301
- scheduler: return more informative message to user in case of
5302
request message parse error
5311
- client: Fixes ticket Fixes ticket #537. Forces use of small
5312
files in zlib.h and when /proc filesystem is used on solaris.
5326
- web: don't check for the stop_web file in BoincDb::get().
5327
That forces that file to include a bunch of unnecessary stuff.
5328
Do the check at a higher level.
5338
- create_work: couldn't connect to database because it had
5339
an automatic var SCHED_CONFIG (hence nonzero)
5340
- make_project: include xadd in list of instructions
5341
- boinc_submit: fix bugs in --stdin
5352
- MGR: New tasks and projects properties displays from Frank Weiler.
5355
DlgItemProperties.cpp,.h (new)
5364
boincmgr_curl.vcproj
5367
- server code: at some point I made a global var "SCHED_CONFIG config",
5368
mostly so that the parse function could assume
5369
that everything was initially zero.
5370
However, various back-end functions pass around SCHED_CONFIG&
5371
as an argument (also named "config").
5372
This creates a shadow, which is always bad.
5373
Worse is the possibility that some projects have back-end programs
5374
that have a SCHED_CONFIG variable that's automatic,
5375
and therefore isn't zero initially,
5376
and therefore isn't parsing correctly.
5378
To fix this, I changed the 2 vectors in SCHED_CONFIG into pointers,
5379
and have the parse routine zero the structure.
5380
I was tempted to remove the SCHED_CONFIG& args to back-end functions,
5381
but this would have broken some projects' code.
5382
I did, however, change the name from config to config_loc
5385
Also fixed various other compiler warnings.
5402
process_result_template.C
5405
- typo in make_project
5411
- client and server: the client includes global_prefs.xml
5412
in scheduler request messages, without checking its contents.
5413
One user had apparently edited global_prefs.xml with an XML editor;
5414
it had an <?xml tag at the start,
5415
and had been collapsed into a single line with no newlines,
5416
and no newline at the end.
5417
This caused all scheduler requests from that client to get
5418
"Incomplete request" responses.
5420
The long-term fix is for the client to verify global_prefs.xml,
5421
and for the scheduler to parse it with XML_PARSER.
5422
As a short-term fix, I made these changes:
5423
- If the scheduler reads a line that's too long, it ignores it.
5424
- The scheduler ignores <?xml
5430
- WINSETUP: Change the custom action descriptions for those custom
5431
actions that deal with user rights and privileges and user
5433
- WINSETUP: Add some basic benchmarking code for user rights and
5436
win_build/installerv2/redist/Windows/src/boinccas/
5437
CACreateBOINCAccounts.cpp
5438
CACreateBOINCGroups.cpp
5439
CAGrantBOINCAdminsRights.cpp
5440
CAGrantBOINCMasterRights.cpp
5441
CAGrantBOINCProjectRights.cpp
5442
CAGrantBOINCProjectsRights.cpp
5443
CAGrantBOINCUsersRights.cpp
5444
CAMigrateBOINCData.cpp
5447
- boinc_submit: add --jobs and --abort options
5455
- API: read heartbeat messages only if options.check_heartbest is set.
5456
Otherwise, in compound apps we'll have both monitor and worker
5457
reading the messages; this is a race condition
5458
and will lead to spurious "no heartbeat" exits.
5464
- Improvements to single-job submission:
5465
1) the assimilator creates a job_summary_WUID file saying
5466
- what host did the job
5467
- error status if any
5468
- info about missing output files
5469
2) all output files are now optional.
5470
3) the assimilator deletes temp files (templates, job dir file)
5475
single_job_assimilator.C
5480
- web: check profile text with Akismet if enabled
5481
- web: in get_logged_in_user(), check for bad user agent types
5482
(a bit of spam-resistance)
5493
- web: include "reason" field in emails for thread moderation
5499
forum_moderate_thread.php
5500
forum_modearte_thread_action.php
5503
- MGR: Add "Show only this project" button to messages tab; filters
5504
message display to show only messages for the selected project.
5505
- MGR: Fix problem of rows with equal values in the sort column
5506
changing places randomly with each re-sort. wxArrayInt::Sort()
5507
uses std::sort(), which is not stable in such cases. The
5508
solution is to use std::stable_sort() instea
5513
BOINCBaseView.cpp,.h
5520
- user web: fix forum preferences saving (empty signatures were not
5524
edit_forum_preferences_action.php
5527
- WINSETUP: Prevent certain special paths from being used for either
5528
the install directory or the data directory. Prevent this from
5529
both the UI component of setup, and if the situation is detected
5530
from the migration custom action, skip migration.
5532
win_build/installerv2/redist/Windows/src/boinccas/
5534
CAMigrateBOINCData.cpp
5535
CAVerifyInstallDirectories.cpp
5536
win_build/installerv2/redist/Windows/Win32/
5539
win_build/installerv2/redist/Windows/x64/
5544
- Fix for unicode compiles in DlgItemProperties.cpp
5545
- Fix for compilers that can't concatenate a normal character string
5546
to a wide character string. For example L"Hi " "There" works in GCC
5547
but not in some compilers because L"Hi " has a different type than
5548
"There". This primarily shows up in SunStudio compilers. The fix is
5555
BOINCDialupManager.cpp
5557
ViewProjectsGrid.cpp
5562
ViewMessagesGrid.cpp
5563
BOINCClientManager.cpp
5564
ProjectProcessingPage.cpp
5565
AccountManagerInfoPage.cpp
5567
ViewTransfersGrid.cpp
5085
- MGR: If the client exits unexpectedly, auto-restart it on Windows (and Mac)
5086
even if it was installed as a service / daemon.
5087
- MGR: Display an alert if we auto-restart the client due to unexpected exits
5088
3 times within CLIENT_3_CRASH_MAX_TIME minutes (currently 30 minutes.)
5568
5091
BOINCBaseFrame.cpp
5571
DlgItemProperties.cpp
5574
- web: if stop_web file is present, don't allow any DB access
5575
(I broke this a few days ago)
5576
- client: improve message for file upload server errors
5585
- sparc-solaris: detect_platforms()
5586
test if it is possible to run 64-bit apps.
5592
- MGR: Fix the application name for both views.
5594
NOTE: the data type 'char' should NOT be used within the various
5595
views. This is the classic example of how direct data access
5596
messes things up in projects with many developers. Use wxString
5597
with the PrintF method instead.
5604
- MGR: Fix build breaks from the above changes: pass a C string, not a
5605
wxString to the PrintF method.
5606
- MGR: better clean up when connection lost while filtering messages.
5614
- client: Fix build breaks on Mac due to removal of headers from cpp.h.
5621
- MGR: Fix the application name for both views.
5622
(ANSI/Unicode compatible)(VS/GCC compatible)
5629
- WINSETUP: Normalize the special paths checks.
5631
win_build/installerv2/redist/Windows/src/boinccas/
5632
CAMigrateBOINCData.cpp
5633
CAVerifyInstallDirectories.cpp
5635
Charlie 10 July 2008
5636
- MGR: Change wxEVT_DRAW_BARGRAPH from 10000 to 12000 to avoid possible
5637
conflict with wxEVT_FRAME_ALERT.
5643
- CC: Read the config file before setting the max file sizes.
5649
- client, Linux: change CUDA probing.
5650
libcudart{32,64}.so is bundled with client.
5651
client loads it and if successful calls the device-query functions.
5652
- client, Linux: append the current directory
5653
(i.e., the BOINC data directory) to the LD_LIBRARY_PATH for apps.
5654
This goes after the project dir and the slot dir.
5655
This lets apps link to libcudartX.so.
5656
NOTE: this is not recommended; better to include it with your app.
5657
- client: allow for multiple messages from coproc probing
5658
- fixed indentation in cs_platforms.C
5660
win_build/.../boinccas
5661
CAVerifyInstallDirectories.cpp
5667
libcudart32.so (put these here for now; can move if needed)
5670
Charlie 11 July 2008
5671
- MGR: Small bug fix in new sortable Accessible Views.
5677
- MGR: Fix small bug when displaying the active task count in the
5684
- SEA: Include the CUDA dynamic libraries in the self-extracting
5685
archive for Linux bulds.
5691
- Tag for 6.3.5 release, all platforms
5692
boinc_core_release_6_3_5
5699
- web: fixed opt-out page
5705
- small change to mac cuda
5711
- fix the layout of profile_menu.php on table-based websites, and since
5712
I'm already editing it, make it translatable.
5717
languages/translations/
5721
- web: fix bugs that cause backslashes to be introduced
5722
in global prefs update via account manager RPC
5726
account_finish_action.php
5732
- scheduler: fix infinite loop in matchmaker sched (from Artyom Sharov)
5738
- WINSETUP: Create a flag file that can be used to keep either the
5739
manager or the CC from starting until a reboot has been
5740
performed. Flag the file for deletion after a reboot has been
5743
win_build/installerv2/redist/Windows/src/boinccas/
5746
win_build/installerv2/redist/Windows/Win32/
5749
win_build/installerv2/redist/Windows/x64/
5754
- scheduler: add constructor for HOST_USAGE structure
5755
(otherwise get random crap in cmdline)
5762
- WINSETUP: Don't create the flag file until after the migration phase
5764
- WINSETUP: Use real quotes around the delete file command instead of
5765
tick marks, the Windows shell throws an error
5766
- WINSETUP: Instead of calling the Windows API to determinethe various
5767
special folders, use the MSI properties which match the 'choose folder'
5768
dialog. We can skip the step if doing a case insensitive compare.
5769
Plus it appears that MSI normalizes the paths for us.
5771
win_build/installerv2/redist/Windows/src/boinccas/
5775
CAMigrateBOINCData.cpp
5776
CAValidateRebootRequest.cpp, .h (Added)
5777
CAVerifyInstallDirectories.cpp
5778
win_build/installerv2/redist/Windows/Win32/
5781
win_build/installerv2/redist/Windows/x64/
5786
- scheduler: Add a notion of "hard app" for SETI@home.
5787
If an app is hard, the scheduler always does the deadline check,
5788
even if the client has no other jobs for this project.
5789
And the estimated wallclock duration is multiplied by 1.3,
5790
to avoid sending jobs to hosts that will barely make the deadline.
5792
Hard apps are marked by setting weight = -1.
5793
This is a total kludge, to avoid adding another field to app.
5799
- scheduler: with matchmaker scheduling, avoid infinite loop
5801
(from Artyom Sharov, DerMeister)
5807
- scheduler: fix logic to not send plan-class apps to clients
5808
that don't know about plan class
5814
- MGR: Detect when a reboot is required for BOINC and display an error
5815
dialog if it is required.
5821
- WINSETUP: Revamp the various strings used.
5823
win_build/installerv2/
5828
- WINSETUP: Don't execute the custom action that creates the
5829
RebootPending.txt file in the program directory if a reboot
5832
win_build/installerv2/
5836
Charlie 17 July 2008
5837
- MGR: Code which tests for reboot required should be Windows-only.
5843
- scheduler: in matchmaker scheduler, if find a "locked" array slot,
5844
which whether we're the process that locked it (from Artyom Sharov)
5850
- WINSETUP: Make sure we kill the manager on WinNT based systems instead
5851
of requesting a graceful exit first. For some reason, every once
5852
and awhile the installer gets stuck in the call to SendMessage()
5853
which in turn is waiting on the manager to come out of whatever
5854
event processing code it is stuck in. I don't know if the manager
5855
is stuck in wxWidget code or not, but the installer shouldn't
5856
ever get stuck waiting on a hung app.
5858
win_build/installerv2/redist/Windows/src/boinccas/
5859
CAShutdownBOINCManager.cpp
5862
- web: fiddle around with style2.css and sample front page;
5092
BOINCClientManager.cpp, .h
5095
- user web: translation fixes
5866
5098
project.sample/
5875
- forums: add support for Globally Recognized Avatars.
5878
edit_forum_preferences_form.php
5879
edit_forum_preferences_action.php
5885
DlgAdvPreferencesBase.cpp
5888
- client: if an app is using CUDA coprocessors,
5889
pass it additional command line arg(s) "--device X" (X=0,1,...)
5890
to tell it which GPU(s) to use.
5900
- client: bug fixes to the above
5901
- client: better messages reporting coprocessors
5902
- manager: bounds checks to avoid wxwidgets asserts
5903
when job CPU estimates are absurdly large
5914
- manager: display days w/ 2 decimals
5917
DlgAdvPreferences.cpp
5921
- server compile fix for gcc 4.3
5927
- Implementation of automatic credit leveling for cpu based projects that
5929
- The script calculate_credit_multiplier (expected to be run daily as
5930
a config.xml task) looks at the ratio of granted credit to CPU time
5931
for recent results for each app. Multiplier is calculated to cause
5932
median hosts granted credit per cpu second to equal to equal that
5933
expected from its benchmarks. This is 30-day exponentially averaged
5934
with the previous value of the multplier and stored in the table
5936
- When a result is received the server adjusts claimed credit by the
5937
value the multiplier had when the result was sent.
5940
calculate_credit_multiplier
5950
- web: fix profile rate
5956
- client: report all errors in parsing app_info.xml files
5963
- Tag for 6.3.6 release, all platforms
5964
boinc_core_release_6_3_6
5971
- back-end stuff to support Python MW (from Adam Kornafeld)
5977
assimilate_handler.h
5983
- web: escape text on edit thread title
5986
forum_moderate_thread_action.php
5989
- API: small additions to graphics stderr messages
5997
- ops: add script to fix backslashes in posts etc.
5998
- DB: add db_update.php entry for Eric's new table
6007
- modified the credit multiplier calculation to make it more stable.
6010
calculate_credit_multiplier
6013
- server: add assimilator for Python Master/Worker system,
6014
and change setup script to copy its files
6023
- web: allow profiles to have blank text fields
6029
- client: show proxy info in messages at startup and when changed
6031
- web: fix the am_set_info.php RPC
6032
(most args are optional, not mandatory)
6036
gui_rpc_server_ops.C
6041
- client: show message if no proxy
6048
- SCR: Don't treat CPU throttling as BOINC being suspended.
6050
- MGR: If the reminder frequency is 0, then don't show any
6054
BOINCDialupManager.cpp
6060
- SCR / CLIENT: fix get_screensaver_tasks RPC so it does not
6061
exclude tasks suspended for CPU throttling. Fixes the
6062
screensaver problem for V6 graphics. Checked into
6063
boinc_core_release_6_2_15 tag.
6066
gui_rpc_server_ops.C
6069
- move boinc_samples into boinc/samples
6070
- fix Makefiles in samples/
6075
- client (Unix): fix bugs in setting LD_LIBRARY_PATH.
6076
We need to add paths relative to the slot directory,
6077
not the BOINC directory (doh!!).
6083
- client: fix crash in this scenario:
6084
A file upload sends request.
6085
The network is down, and something (e.g. a router)
6086
sends a long (> 4KB) error page.
6087
This overruns the 4KB buffer of HTTP_OP::req1.
6088
Solution: keep track of the size of the buffer,
6089
and don't overrun it.
6090
Also move the body of a huge for loop into a separate function.
6099
- developer tools: a script to build en.po from PHP files to ease
6100
translation. Usage: build_po.pl [PROJECT_PATH]
6106
- user web: make team.inc translatable, and update en.po using the
6107
new script (fix #661)
6112
languages/translations/
6116
- scheduler: added a debug msg for anonymous platform
6122
- scheduler: in resending lost results, must copy core
6123
client version. David -- this can probably be done
6124
better and might indicate that some other info is not
6125
being properly copied. Please review and fix if needed.
6126
Before this fix, scheduler.log was complaining about
6127
outdated core clients version 0 < min needed core 413.
6129
- tools for scheduler logging: change cgi.log.X to scheduler.log.X
6130
in script that creates on-line logs for users to read
6131
to help diagnose problems.
6140
- web: stylesheet fixes
6142
- sched: slightly revise Bruce's fix
6155
- XML parsing: when parsing ints, check for errno == ERANGE.
6156
This means the int was too big.
6157
Ignore it - the XML was corrupted.
6158
This should fix a problem reported by Kevin where the
6159
mod_time in a user's global prefs was 100 years in the future,
6160
causing those prefs to irrevocably propagate.
6166
- client: if fail to parse global_prefs.xml,
6167
delete it and reset global prefs
6168
(which may have been modified by the attempt at parsing)
6176
- XML parsing: when parsing int/double/bool and fail to find end tag,
6177
don't modify the reference arg.
6178
- scheduler: improved messages for preferences
6186
- web: added copyright and license info to PHP files
6194
- added copyright and license info to some C files
6197
hostinfo_unix_test.C
6205
- added copyright and license info to .C, .cpp, .h files
6206
- scheduler: fix bug in adaptive replication:
6207
if send an unreplicated job to untrusted host,
6208
set both wu.target_nresults and wu.min_quorum to app.target_nresults.
6213
- file_deleter: add -delete_antiques_now options
6220
- API (Windows): call mouse-handling functions with
6221
coords relative to window, not screen
6226
- scheduler: fix bug that caused jobs to be sent to clients
6227
using anonymous platform
6228
even if they don't have the necessary app version.
6229
Also, send an explanatory message in this case.
6236
- scheduler: make credit_multiplier stuff conditional on
6237
<use_credit_multiplier> flag in config.xml
6246
- CLIENT/MGR/TRAY: When installed on Vista and UAC is turned on
6247
the user by default cannot create globally shared objects. This
6248
becomes a problem when protected application mode is turned off
6249
for keyboard and mouse detection. Basically all of the components
6250
would start up and fail to create the shared memory segment
6251
and report the error through stderr which most people don't look
6254
The client is now the only component that is allowed to create the
6255
shared memory segment, if creating the global segment fails it'll
6256
create a local one instead. Both the tray and manager now just attach
6257
to the existing segment, first trying the global one then the local
6275
- CLIENT: Initial checkin for CUDART support for Win32
6277
coprocs/CUDA/mswin/Win32/Debug/bin/
6279
coprocs/CUDA/mswin/Win32/Release/bin/
6281
coprocs/CUDA/mswin/Win32/ReleaseSigned/bin/
6284
boinc_post_bld_rules.cmd
6287
- web: improve white.css, and make corresponding PHP changes
6290
- validator: tweak the way host error rate is computed,
6291
e.g. on error bump rate by .1 instead of .05
6302
forum_search_action.php
6306
profile_search_action.php
6317
- web: add -webkit-border-radius so that rounded corners work on Safari
6323
- web: add table.noborder class for S@h
6330
- validator: get_credit_from_wu() returns an error, rather than exiting,
6331
if WU doesn't have <credit> element
6349
- Tag for 6.3.7 release, all platforms
6350
boinc_core_release_6_3_7
6357
- client: Changes references of nvcuda.dll to cudart.dll. Someday NVidia
6358
might include it in its driver pack for Windows, until then we have
6359
to include it as part of BOINC.
6365
- Tag for 6.3.8 release, all platforms
6366
boinc_core_release_6_3_8
6373
- client: don't use fixed-size buffer when looking for app files
6374
in project prefs (avoid buffer overrun)
6375
- web: don't show credit info if no_computing flag set
6383
- web: fix thread being marked as unread after posting to it (fix #506)
6389
- CLIENT: checkin for CUDART support for Win32
6391
coprocs/CUDA/mswin/x64/Debug/bin/
6393
coprocs/CUDA/mswin/x64/Release/bin/
6395
coprocs/CUDA/mswin/x64/ReleaseSigned/bin/
6399
- web: forum tweaks (from Simek)
6409
- client: fix compiler warning.
6415
- web: stylesheet tweaks (from Simek)
6428
- scheduler: don't send jobs for "hard apps" (weight==-1)
6429
to hosts with total_credit=0
6430
- client: add a buffer size check
6439
- web: improve sample project_specific_prefs.inc
6440
to add "allow_non_preferred_apps pref
6441
and remove frame rate pref
6444
project_specific_prefs.inc
6447
- client: fix compile error.
6453
- fix bug that made email address validation worthless
6454
(from Janus K.). Fixes #718
6457
validate_email_addr.php
6460
- Mac Installer: fix bugs in script which converts BOINC installer
6461
to a GridRepublic installer.
6464
make_GridRepublic.sh
6467
- client and server: add "len" arg to xml_escape() and xml_unescape()
6468
(prevent buffer overrun).
6469
Also remove 1024 char limit for team description in db_dump.
6483
- client and server: add "len" arg to xml_escape() and xml_unescape()
6484
(prevent buffer overrun).
6485
Also remove 1024 char limit for team description in db_dump.
6499
- SAMPLES: Add all the samples to the BOINC solution and delete the
6501
- LIB: Clean up a bunch of warnings.
6516
libboinc_staticcrt.vcproj
6518
libboincapi_staticcrt.vcproj
6529
- WIN: Remove deprecated v5 graphics files from the solution.
6532
libboincapi_staticcrt.vcproj
6535
- Update copyright strings in various Windows resource files.
6554
- WIN: Remove Visual Studio 2003 solution and project files
6555
- WIN: Fix build files so all build configurations work again
6556
- WIN: Create the 'Samples - Debug' and 'Samples - Release'
6557
configurations to build sample files. Leave the previous
6558
configurations to build just the client software.
6559
- WIN: Remove Seed project files
6565
boinccmd.exe.manifest
6568
boincmgr.exe.manifest
6581
<Various .vcproj files>
6584
- WIN: Remove any remaining references to Seed and CPDNBBC.
6604
- WIN: Update OS Detection code.
6606
NOTE: Holy cow, Between Vista and Server 2008 there are now
6613
- WIN: Finish up the fixes to the project files. Everything should
6614
build, and all output files should end up in the win_build/build
5104
- WINBUILD: Fix project files so that there isn't any C Runtime Library
5105
collisions between types.
5106
- WINBUILD: Remove old cruft.
6622
- WINSCR: Certain checks should be done regularly like keyboard/mouse
6623
activity and the notification window check. They should not depend
6624
on whether or not the graphics window has been displayed or not.
6628
screensaver_win.cpp, .h
6631
- scheduler: fixed bug that caused spurious messages
6632
saying "no work was available for the apps you requested"
6633
with locality scheduling (i.e. Einstein@home)
6634
even if the user hasn't select apps.
6636
Note: the logic for printing these messages won't work
6637
for matchmaker scheduling.
6644
- WIN: remove accelerators from the HOST_INFO class. It doesn't appear
6645
to be used by anybody, and was only meant as a stop-gap until
6646
we had some formal way to deal with co-processors.
6654
- MGR: async GUI RPCs: Merge GUI RPC code from private workspace into trunk.
6655
All RPCs now go through separate thread. There are two categories:
6656
- Periodic RPCs are called from a timer event and optionally generate
6657
a secondary event upon completion.
6658
- Demand RPCs are run one at a time and don't return to requesting
6659
call until each RPC is completed.
6660
- MGR: async GUI RPCs: don't perform preiodic RPCs in Advanced View when
6662
- MGR: async GUI RPCs: FireRefreshView() runs preiodic RPCs before posting
6663
wxEVT_FRAME_REFRESHVIEW event.
6664
- MGR: Under SimpleGUI, call acct_mgr_info RPC every 10 minutes
6665
- MGR: eliminate Grid views, since all their functionality is now implemented
6666
in List Views. View menu now has 2 choices: Simple and Advanced.
6667
NOTE: The Grid View source files still should be removed from makefiles
6668
for Linux, etc. and possibly from SVN trunk.
6671
AdvancedFrame.cpp,.h
6672
AsyncRPC.cpp,.h (Added)
6673
BOINCBaseFrame.cpp,.h
6674
BOINCBaseView.cpp,.h
6675
BOINCDialupManager.cpp
6681
sg_BoincSimpleGUI.cpp,.h
6682
sg_DlgMessages.cpp,.h
6683
sg_ProjectsComponent.cpp,.h
6689
boincmgr_curl.vcproj
6692
- web: start working towards the goal of passing the
6693
"HTML 4.01 Transitional" test.
6694
The BOINC home page, project home page, and forum index now pass.
6695
- web: .po files need to have CHARSET, LANG_NAME_NATIVE,
6696
and LANG_NAME_INTERNATIONAL
6703
languates/translations/
6709
- WINSETUP: For some reason BOINCTray.exe was only being installed
6710
when the 'Protected Applcation Mode' was selected. I don't
6711
remember why we did this, so install it on all scenarios.
6713
win_build/installerv2/
6718
- web: fix bugs in translation system
6719
(language_select.php wasn't working)
6720
- tr.po had some syntax error, and was way out of date.
6721
replaced it with en.po
6726
languages/translations/
6733
- WINBUILD: Remove 'Samples - Debug' and 'Samples - Release'
6734
build configurations.
6740
- client: don't leak handles to shared-mem files
6741
- client: don't leak process handles when abort jobs
6742
- client: if an app exits or we kill it, always destroy the shmem segment.
6743
- web: more HTML 4.01 Transitional conformity changes
6758
- WINSCR: Comment updates from Nicolas Alvarez
6764
- User web pages, scheduler logs: link was missing because of incorrect path
6771
- client: Update the Windows version detection code to account for
6772
Windows 7 and Windows Server 2008 "R2".
6777
Rom & Charlie 18 Aug 2008
6778
- SCR: Fix 8/14 checkin that causes the CPU util to spike on Macs and
6785
- Fixed potential memory leak and other minor problems with
6792
- MGR: async GUI RPCs: Fix show_graphics RPC.
6798
- scheduler: add <debug_resend> config option to enable messages
6809
- MGR: async GUI RPCs: Bug fix.
6815
- lib: added string_substitute() function
6816
- lib: changed boinc_copy() to replace " " with "\ " in its args
6817
(to allow pathnames containing spaces).
6825
- lib: changed boinc_copy() to enclose path strings in quotes instead
6827
- Mac lib: set visibility of symbols to hidden by default.
6828
- Mac Samples: adjust XCode project for new SVN tree layout, set
6829
visibility of symbols to hidden by default.
6838
UpperCase2.xcodeproj
6841
- MGR: async GUI RPCs: Create SafeMessageBox function to suspend
6842
periodic RPCs during modal dialogs.
6848
BOINCDialupManager.cpp
6851
DlgAdvPreferences.cpp
6854
sg_StatImageLoader.cpp
6856
ValidateAccountKey.cpp
6857
ValidateEmailAddress.cpp
6862
WizardAccountManager.cpp
6863
WizardAttachProject.cpp
6874
- client: fix CPU scheduling logic related to coprocessors
6875
Old: when checking whether an app can be run,
6876
check for sufficient coprocessors relative to
6877
the current coprocessor usage.
6878
Bug: it there are 2 CUDA jobs,
6879
the scheduler will decide to run both.
6880
enforce_scheduler() will only be able to run one,
6881
and the other CPU will be idle.
6882
New: include coprocessor usage (along with RAM and CPUs)
6883
in the check, and do a simulated reservation.
6884
In the above scenario, the scheduler will select
6885
one CUDA app and one non-CUDA app.
6894
- fix compile warnings and Manager error
6904
samples/multi_thread/
6908
- web: fix a parsing error in sample_index.php which would
6909
cause new projects to report an error when they first
6910
attempt to start up.
6911
- tools: Add the missing x86_64-apple-darwin platform type
6912
used for 64-bit Mac OS X applications. I used the
6913
description from the alpha project.
6914
- MGR: delete obselete make files.
6918
Makefile.linux.fedora
6920
Makefile.linux.ubuntu
6927
- make_project: fix --test_app
6928
- fix formatting (no long indents)
6941
- lib: remove unused variable char cmd_esc[1024].
6947
- client: if the host has two CUDA GPUs,
6948
they were being recorded as two COPROC structures of type CUDA.
6949
Unfortunately, the logic doesn't handle this correctly;
6950
it expects there to be a single structure with count==2.
6951
Change things to do this.
6953
Unfortunately this means that if the two GPUs are different,
6954
that difference will get lost.
6955
This is a design flaw, and would take some work to fix.
6961
- WINSETUP: For safety sake, disable the logon via terminal services
6962
user right for both boinc_master and boinc_project.
6964
win_build/installerv2/redist/Windows/src/boinccas/
6965
CAGrantBOINCMasterRights.cpp
6966
CAGrantBOINCProjectRights.cpp
6969
- Tag for 6.3.9 release, all platforms
6970
boinc_core_release_6_3_9
6977
- validator: add a global variable WORKUNIT* g_wup;
6978
that points to the workunit being processed;
6979
you can use this in your init_result(), compare_result() etc.
6987
- client: in GUI RPC, allow <auth1> and <auth2> if the peer
6988
is already authenticated.
6989
This is needed to make BOINCView work;
6990
it authenticates before every operation for some reason.
6993
gui_rpc_server_ops.C
6996
- client: if <app_send_msg> is set, log heartbeats too
7002
- client: Both Windows x86 and Windows x64 CUDA Runtime libraries
7003
should be 2.0. This avoids crashes related to data structure
7004
changes in the Runtime.
7006
coprocs/CUDA/mswin/Win32/Debug/bin/
7008
coprocs/CUDA/mswin/Win32/Release/bin/
7010
coprocs/CUDA/mswin/Win32/ReleaseSigned/bin/
7012
coprocs/CUDA/mswin/x64/Debug/bin/
7014
coprocs/CUDA/mswin/x64/Release/bin/
7016
coprocs/CUDA/mswin/x64/ReleaseSigned/bin/
7022
- Tag for 6.3.10 release, all platforms
7023
boinc_core_release_6_3_10
7030
- win_build: Finally figured out what the problem was with how I
7031
was previously configuring pre-compiled headers. Visual Studio
7032
automaticaaly specifies the stdafx.cpp as the source file that
7033
is supposed to create the pre-compiled header for auto generated
7034
project files. The project is just configured to use a pre-compiled
7035
header. All I had done in the past was enable pre-compiled
7036
headers, but didn't create a stub cpp file to create the pre-compiled
7037
header with. Now all the client projects are configured to use
7038
pre-compiled headers. BOINC now compiles in 20 seconds. BOINC Manager
7039
in a minute. Everything else builds in 5 seconds or less.
7041
After sync'ing up Rebuild the solution.
7047
boinc_cli_curl.vcproj
7051
boincmgr_curl.vcproj
7054
libboinc_staticcrt.vcproj
7055
libboincapi_staticcrt.vcproj
7067
- SEA: Grab the libcudart.so from a directory based on the detected
7068
platform, so we can support multiple posix compatible platforms.
7070
coprocs/CUDA/posix/i686-pc-linux-gnu
7072
coprocs/CUDA/posix/i686-pc-linux-gnu
7082
- client: get BOINCView to work again;
7083
allow one auth failure before closing connection.
7087
gui_rpc_server_ops.C
7090
- client (Unix): don't assume that LD_LIBRARY_PATH is defined
7096
- winsetup: Change the delete file after reboot code to use
7097
MoveFileEx instead of the RunOnce registry key. It does what
7098
I was originally trying to do directly to:
7099
HKLM\SYSTEM\CurrentControlSet\Control\
7100
Session Manager\PendingFileRenameOperations
7101
But I ran into issues across various versions of Windows.
7103
Thanks to Nicolas Alvarez for pointing out the API.
7104
- scrsave: Some more screensaver clean-up.
7105
- lib: Fix an infinate loop problem in get_exit_status,
7106
luckly BOINC wasn't using it.
7112
win_build/installerv2/redist/Windows/src/boinccas/
7113
CAValidateRebootRequest.cpp
7116
- calculate_credit_multiplier: fixed bug that caused credit multiplier
7117
overshoot. Added check of replica database gap, use main database if
7118
replica is more than a day behind.
7121
calculate_credit_multiplier
7124
switcher: update comment on calling API.
7130
- web: improve stylesheet for quoted messages (from Michael Roberts)
7136
MGR: Fix Async GUI RPC bugs when connecting to a different host.
7144
Mac Installer: add COPYING.LESSER to release packages.
7148
release_GridRepublic.sh
7151
- web: stylesheet tweak
7157
- DB interface: in update(), check that 1 row was updated
7158
- API: in APP_INIT_DATA, enclose project preferences in tags
7159
so that it's legal XML
7160
- scheduler: add <multiple_clients_per_host> option.
7161
Use this if your project runs on Condor or grids
7162
and (to use multicore machines) you're running
7163
multiple clients per host.
7164
This will skip the host lookup based on IP address.
7176
- Add support for code-signing using x509 certificates
7177
(from Attila Marosi)
7189
MGR: Save and restore selected items by key values when refreshing, to
7190
prevent wrong items from becoming selected when projects, tasks or
7191
transfers are added to or deleted from the list in Advanced View.
7194
AdvancedFrame.cpp,.h
7196
BOINCBaseFrame.cpp,.h
7197
BOINCBaseView.cpp,.h
7198
BOINCListCtrl.cpp,.h
7200
ViewTransfers.cpp,.h
7204
Mac: Add new files cert_sig.C,h to XCode project.
7211
- added some code for generating x.509 signatures
7220
SCR: Fix trace statements in screensaver.cpp; enable diagnostics in
7224
mac_saver_module.cpp
7226
Mac_Saver_ModuleView.m
7233
MGR: Fix updates of Statistics tab when pressng buttons or connecting
7234
to a different host under async GUI RPCs.
7242
MGR: Eliminate flicker in list controls due to Freeze() / Thaw() calls.
7247
client: CPU scheduler keeps trying to schedule jobs if either
7248
not all CPUs are used or not all coprocessors are used
7249
(avoid GPU idleness)
7255
- scheduler: fix typos in CUDA parsing
7261
- web: significantly reduce file size of blue_gradient.png to reduce
7262
loading times (more dialup friendly).
7268
- web: various security fixes
7277
forum_search_action.php
7283
MGR: Make formatting of List Views more efficient; fix bug which showed
7284
progress bars in wrong rows in transfers tab.
7285
MGR: Use item attributes to create gray backgroound stripes in List
7286
Views instead of overlaying them in CBOINCListCtrl::DrawBarGraphs();
7287
this eliminates most remaining flicker on Windows.
7290
BOINCBaseView.cpp,.h
7294
ViewTransfers.cpp,.h
7298
- web: fix bug in host list page
7304
- web: report error correctly
5113
- MGR: Fix build break.
5114
- MGR: Change the crash detect dialog target to 'crash_detection'
5117
BOINCClientManager.cpp
5120
- client/manager/GUI RPC: add optional "translatable" arg
5121
to get_messages() RPC; if absent or false,
5122
client will strip _( ) from messages.
5126
gui_rpc_server_ops.cpp
5132
gui_rpc_client_ops.cpp
5135
- MGR: Tweak text in crash alert.
5138
BOINCClientManager.cpp
5141
- client: bug fix in message code
5147
- user web: don't cache XML version of show_user.php
7310
MGR: Draw only those progress bars which are actually needed, further
7311
reducing flicker and improving efficiency.
7315
BOINCListCtrl.cpp,.h
7321
Web: fix David's fix from Sep 7.
5153
- Tag for 6.11.1 release, all platforms
5154
boinc_core_release_6_11_1
5161
- scheduler: fix and restore fpops scaling for anonymous platform jobs
5169
- client: fix crashing bug on VC 2008/10;
5170
don't memset(0,) structures containing vectors.
5176
- validator, assimilator: added --help and --version
5183
- MGR: Better solution to prevent a race condition which could erroneously
5184
invoke the Attach Wizard when restarting the client, fix serious bug
5185
in Simple View I introduced with my previous fix of 14 July.
7324
forum_search_action.php
7327
- Fixed fcgi builds to use an installed version of fcgi_stdio.h rather than
7328
a modified boinc version.
7329
- Added new header "boinc_fcgi.h" to be used instead of "fcgi_stdio.h".
7330
This header defines I/O functions in the namespace FCGI rather than using
7331
redefined functions the way "fcgi_stdio.h" does. This was causing a lot
7332
of headaches when both <cstdio> and "fcgi_stdio.h" was called. Using
7333
overloaded functions fixes this problem, except when the only difference
7334
between functions is the return type (for example ::fopen() returns FILE*
7335
and FCGI::fopen() returns FCGI_FILE*).
7336
- Fixed some missing "#ifdef _WIN32" blocks in filesys.C
5192
- Tag for 6.11.2 release, all platforms
5193
boinc_core_release_6_11_2
5200
- MGR: Bug fix: event log text was not dimmed if event log was opened after
5201
Client was disconnected.
5207
- feeder: error out if an ordering option (e.g. --priority)
5208
is used in combination with homogeneous redundancy.
5209
HR requires a cyclic scan of all sendable results.
7343
fcgi_stdio.h (removed)
7344
file_upload_handler.C
5217
- client: fix bug with --abort_jobs_on_exit that caused the client
5218
to request new work on exit
5219
- client: change "unparsed tag" to "unrecognized tag" in msgs
5220
- client: get rid of unused var work_fetch_no_new_work
5232
- Added Linux screensaver from Nils Brause.
5233
Note: I can't get this to build because if requires
5234
a package (xcb-atom) that I can't find.
5235
Need to resolve this.
7362
boinc_fcgi.[Ch] (new files)
7376
MGR: Fix bugs when connection to client is lost or reestablished under
7378
MGR: Fix Simple GUI messages window; faster display of messages (don't
7379
reset messages twice on connect).
7386
sg_BoincSimpleGUI.cpp
7389
MGR: To reduce flicker when saving & restoring selections, select
7390
or deselect rows only if their selection status changed.
7391
MGR: Disable Show Graphics button if task is "Waiting to Run."
7398
- web: if user requests foundership of a team with userid=0
7399
(which in theory shouldn't happen, but apparently can)
7400
immediately make them the founder
7403
team_founder_transfer_form.php
7406
MGR: Restore focus to ListCtrl after user clicks on a button and
7407
after each refresh so selection highlighting is maintained on
7418
MGR: To minimize flicker, UpdateSelections() sets each button only
7419
once to its final desired state.
7420
MGR: Restore focus to ListCtrl after each refresh only when
7421
application is active.
7429
- MGR: Async GUI RPCs: Finish processing event handling for each RPC
7430
before starting next RPC, because the 2 RPCs may write into the
7431
same buffer, especially when switching between Simple and Advanced
7433
- MGR: Simplify Messages display logic; fix "Show all messages" button
7435
- MGR: Call Clear() instead of Empty() to fix possible memory leaks.
7439
BOINCBaseFrame.cpp,.h
7443
sg_BoincSimpleGUI.cpp
7447
- SCR: Fix GDI/Memory leak in the screen saver. Pointed out by David
7454
- Added additional spam fighting measure to profile.inc. Profiles for
7455
users with RAC less than <profile_min_credit> with only be displayed if
7456
the viewing user is logged in.
7459
- client: ignore CUDA devices with major versions > 100
7460
(apparently some report 9999)
7461
- web: security changes: sanitize some params; escape some strings
7468
profile_search_action.php
7479
MGR: Reverse change of 9/12, 9/13: do not force focus changes because
7480
it interferes with disability access via alternate input devices.
7490
- feeder: fix bug from changset 15984 that changed "r" to "w",
7491
causing the feeder to truncate hr_info.txt on startup
7499
- back end programs: optional BOINC_CONFIG_XML environment variable
7500
specifies path of config file (default: ../config.xml)
7506
lib: - Remove incorrect "#ifdef _WIN32" blocks added 9/10/08 to
7513
Mac branding: fix bugs in make_GridRepublic.sh script which converts
7514
standard BOINC installers to GridRepublic installers.
7517
make_GridRepublic.sh
7520
- scheduler: various bug fixes in score-based schedule;
7521
get rid of no_darwin_6 option
7531
Mac branding: make_GridRepublic.sh script copy acct_mgr_url.xml file
7532
to BOINC Data directory so BOINC will connect to GridRepublic
7533
account manager automatically.
7536
make_GridRepublic.sh
7545
Mgr: Ignore GetSelectedItemCount()if message count <= 0 to fix
7552
- client: print error msg if missing acct mgr info
7553
- manager: last arg to acct_mgr_rpc is bool, not bool*
7556
gui_rpc_server_ops.C
7561
Mgr: Add control of Periodic RPC timer and Document Poll Timer to
7562
StopTimers() and StartTimers().
7563
Mgr: The system handles timer events during modal dialogs, such as
7564
while the RPC Wait dialog is shown. This may cause unintended
7565
recursion and repeatedly posting the same RPC requests from
7566
timer routines while waitung for the first one to complete, so
7567
ignore timer events during that dialog.
7568
Mgr: Fix a rare crash bug in CTaskBarIcon::OnMouseMove() if it is
7569
called when exiting Manager after CmainDocument deleted.
7575
sg_BoincSimpleGUI.cpp
7578
- lib: change XML_PARSER to handle attributes and spaces in tags.
7579
e.g. it handles <foo /> correctly,
7580
and handles <foo attr="x">
7581
(it doesn't return the attributes, but it doesn't choke on them).
7582
- GUI RPC client lib:
7583
use XML_PARSER to process authorization replies,
7584
e.g. so that it handles <authorized />
7586
TODO: use XML_PARSER to parse all GUI RPC requests and replies
7588
- web: add a CSS entry for news item titles
7589
- web (news items): add an optional "category" field to news items:
7590
suggested values: "server status", "news", "emergency".
7591
These are not used to display the items,
7592
but are passed in the RSS feed and could be used by news aggregators.
7593
- manager: replace "BOINC-based account managers" with "account managers"
7596
AccountManagerInfoPage.cpp
7610
- MGR: Add support for simulating somebody hitting the cancel button in
7611
the wizards. This is needed for a WCG feature.
7614
BOINCBaseWizard.cpp, .h
7618
- Tag for 6.3.11 release, all platforms
7619
boinc_core_release_6_3_11
7626
- web: sub_sentence() went into an infinite loop
7627
for a particular (non-ASCII) profile text.
7628
Not sure why, but I rewrote sub_sentence() in
7629
less obscure way and it works now
7630
- web: slight cleanup of translation code.
7631
Can we please replace this with gettext()??
7638
update_profile_pages.php
7643
- API: in boinc_exit(), release the lockfile only if
7644
we're the main program (otherwise we didn't lock it in
7645
the first place, and a crash results). From Artyom Sharov.
7646
- scheduler: add support for the GCL simulator,
7647
which uses special versions of backend programs
7648
that use virtual time,
7649
and that wait for signals instead of sleep()ing.
7653
configure CXXFLAGS="-DGCL_SIMULATOR"
5241
screensaver_x11.cpp (new)
5244
- WINSETUP: Update validate install procedure to account for the
5245
removal of boinc.dll and addition of boinclog.exe.
5246
- MGR: Move auto-proxy detection code into its own thread.
5247
- client: Isolate the auto-proxy detection code to its own thread.
5252
win_build/installerv2/
5255
win_build/installerv2/redist/Windows/src/boinccas/
5256
CAValidateInstall.cpp
5257
win_build/installerv2/redist/Windows/Win32/
5260
win_build/installerv2/redist/Windows/x64/
5265
- client: entity-encode client-generated notices
5266
(e.g. they may contain XML tags)
5272
- lib: XML_PARSER::parse_str(): if text is enclosed in ![CDATA[,
5273
don't entity-unescape it
5279
- client: init gstate.now early so that initial msgs have timestamps
5280
- lib: fix the above
5290
- lib: fix compiler warnings.
5296
- client: don't archive system notices,
5297
so they don't persist across client restarts.
5298
These notices are for transient conditions.
5299
If the user has fixed the condition,
5300
there's no reason to keep showing the notice.
5301
If they haven't fixed it, the notice will be regenerated soon.
5302
- manager: fix spelling error in simple GUI.
5308
gui_rpc_server_ops.cpp
5312
- Unix build: don't error out if xcb or xcb-atom aren't found;
5313
just don't build the screensaver
5319
- client: don't do two RSS fetches at once
5320
- manager: WxWidget's HTML renderer doesn't seem to like \n's.
5321
For example, if you try to render
5325
all it shows is foo.
5326
Work around this by replacing \n's with <br>
5334
- manager: in simple view, where it says Elapsed time,
5335
show elapsed rather than CPU time
5343
- Tag for 6.11.3 release, all platforms
5344
boinc_core_release_6_11_3
5351
- WINSETUP: Update validate install procedure to account for the
5352
removal of boinclog.exe.
5354
win_build/installerv2/
5357
win_build/installerv2/redist/Windows/src/boinccas/
5358
CAValidateInstall.cpp
5359
win_build/installerv2/redist/Windows/Win32/
5362
win_build/installerv2/redist/Windows/x64/
5367
- MGR: Make the simple GUI messages dialog display notices instead.
5370
sg_BoincSimpleGUI.cpp
5371
sg_DlgMessages.cpp, .h
5372
sg_SGUIListControl.cpp, .h (deleted)
5377
- client/manager: add the ability to associate URLs with
5378
client-generated notices.
5379
Use this as appropriate: e.g., for errors about cc_config.xml syntax,
5380
direct user to the web page describing this syntax.
5395
- MGR: Mark all notices as having been read if either Simple GUI
5396
messages dialog or Advanced GUI Notices tab is open.
5402
- Mac: Delete source files sg_SGUIListControl.cpp,.h from XCode project.
5409
- MGR: If Event Log was open on Manager exit, open it on manager launch.
5410
- MGR: Clicking main window's close box when Event Log is open also
5411
hides the Event Log; show Event Log again if "Open BOINC Manager" is
5412
selected from task bar icon menu. Clicking main window's Minimize
5413
box does not affect Event Log window.
5422
- MGR: Don't save bogus window dimensions when iconized.
5429
- server: compile warning fixes
5438
- client: have project update fetch RSS feeds as well as doing
5440
This is to facilitate debugging, and is probably temporary.
5444
gui_rpc_server_ops.cpp
5447
- client: the client shouldn't check for a physical connection
5448
(contacting google.com and possibly alerting the user)
5449
for "background" HTTP ops. These include:
5450
- periodic account manager requests
5451
- periodic notice RSS feed fetches
5452
- periodic fetch of project list
5453
- periodic fetch of current client version
5464
- rename cal.h to cal_boinc.h to avoid name conflict
5467
- MGR: If the simple GUI received a notification event,
5468
display the messages dialog.
5469
- MGR: The simple GUI wasn't restoring state properly
5470
thereby causing the reminder frequency to be set to
5471
zero and preventing any reminders from being displayed.
5472
- MGR: Rework the notices code so the document doesn't
5473
make any assumtions about the UI.
5474
- MGR: Fix a bug in the Linux notification window code.
5475
Synchronize event behavior with Windows.
5478
AdvancedFrame.cpp, .h
5480
BOINCTaskBar.cpp, .h
5481
MainDocument.cpp, .h
5482
sg_BoincSimpleGUI.cpp, .h
5484
sg_ProjectsComponent.cpp, .h
5490
- rename cal.h to cal_boinc.h
5496
- MGR: Add some padding to each notice.
5502
- user web: put RSS item titles in CDATA
5503
- sched: get rid of unused config items
5504
- manager: msg tweak
5515
- MGR: for saving / restoring arrival time of last read notice,
5516
extract the host name from host.domain_name, to avoid future
5517
problems if we ever set host.domain_name to a fully-qualified
5518
domain name in the future.
5524
- MGR: If Event Log was open, show it in front of main window when
5525
"opening" Manager after it was hidden.
5531
- MGR: Don't update the notice tab text unless the unread notice
5533
- MGR: Don't update the last arrival time for the host unless
5534
it has changed from the last time it was saved.
5535
- MGR: Opps, forgot to move some code before commiting yesterday,
5536
don't update the last save arrival time unless the user
5537
clicks on the balloon.
5538
- MGR: Stop the simple GUI from blinking the messages button
5539
when the balloon is clicked.
5546
sg_BoincSimpleGUI.cpp
5547
sg_ProjectsComponent.h
5550
- client/scheduler: fix a group of bugs related to the new mechanism
5551
where the client tells the scheduler which app versions
5553
(this is needed, e.g., to enforce per-app or per-resource job limits).
5554
In this mechanism, the client sends an array of <app_version>s,
5555
and each <other_result> includes an index into this array.
5557
- The wrong index was being sent (client).
5558
- If an <app_version> had a non-existent app name
5559
(e.g. because that app had been deprecated)
5560
it wasn't getting put in the array, invalidating array indices
5561
Furthermore, an erroneous message was being sent to the user
5563
Fix: if parse error for <app_version>,
5564
put it in the array anyway, but with cav.app = NULL,
5565
meaning that it's a place-holder.
5566
Send a message to user only if anon platform.
5568
- manager: increase notice buffers to 64K
5580
- MGR: Enable the manager to be able to deal with any size notice.
5584
MainDocument.cpp, .h
5588
- MGR: Take another stab at the z-order problem when both the event log
5589
and main window are open.
5590
- MGR: Don't replace control characters for regular messages.
5595
MainDocument.cpp, .h
5599
- MGR: I had it backwards: if Event Log was open, show it behind main
5600
window when "opening" Manager after it was hidden.
5607
- MGR: remove my code for extracting host name from host.domain_name;
5614
- Tag for 6.11.4 release, all platforms
5615
boinc_core_release_6_11_4
5622
- client: fix typo that prevented the correct link to be used for going
5623
to the log flag configuration wiki page.
5629
- MGR: Fix a bug that hid the Event Log when switching between Advanced and
5636
- client: Kick off an auto proxy detection pass on any http error, only
5637
attempt a follow-up reference site check if the proxy server name
5638
changes. This may mean that'll it will be the second or third connection
5639
attempt before the CC starts using the new proxy information.
5646
- API: add result name to APP_INFO_DATA structure (for Volpex)
5647
- scheduler: add max_download_urls_per_file config option
5648
(to limit the length of workunit.xml_doc,
5649
which is currently capped at 64KB).
5661
- file deleter: if we're configured to generate cached MD5 checksums,
5662
delete those files too.
5663
- scheduler: add log messages (conditioned by debug_credit)
5664
if result.fpops_cumulative or result.fpops_per_cpu_sec is present
5671
- manager: change "Attach to project" to "Add project";
5672
change "Detach from" to "remove"
5677
- scheduler: fix bug that crashed if app_info.xml
5678
refers to nonexistent app
5684
- MGR: Fix bugs saving and restoring info on which notices have been read:
5685
saving as a double reduces precision, so save arrival time as string;
5686
to avoid problems caused by rounding in save & restore operation, test in
5687
reverse order (oldest first) and for arrival time <= dLastReadNoticeTime
5693
- MGR: Remove any remaining hints that there were two wizards at one time.
5694
- MGR: Save the username and email address in different places in the
5695
registry/config file
5698
<Various Wizard Files>
5701
- MGR: Remove connection needed type sys tray notifications from the manager,
5702
lets the CC inform via a notice instead.
5705
BOINCDialupManager.cpp, .h
5708
- MGR: Use the account manager name provided by the project config RPC instead
5709
of the skin name on the CompletionPage in the wizard.
5715
- client: wait until after the proxy check completes before attempting to
5716
check on the reference site.
5726
- MGR: fix crash bug on non-Windows computers.
5729
BOINCDialupManager.cpp
5732
- Mac: XCode project: delete source files WizardAttachProject.cpp,.h and
5733
BOINCWizards.h; add files WizardAttach.cpp,.h.
5740
- MGR: clear notices display when selecting a different host to force display
5741
of new host's notices.
5748
- MGR: fix compiler warnings, some of which predict incorrect operation.
5755
- client: Fix autoproxy detection so that it doesn't break platforms that
5756
currently do not support proxy detection.
5765
- client/scheduler: tweak translatable messages
5775
- MGR: Remove EVT_END_SESSION event handler for now. It was causing a
5776
recursive call to itself on shutdown thereby halting the Windows
5777
shutdown procedure on Windows XP and older systems. It would
5778
eventually crash the process with a stack overflow error.
5784
- MGR: Remove useless Notices button.
5790
- client: tweak translatable msg
5794
- client/scheduler: tweak translatable messages
5797
- admin web: fixed undefined var.
5798
Maybe there's some version of PHP where $self means something.
5804
- client: don't extra jobs for backup (resource share = 0) projects
5810
- MGR: Modeless top level windows should not have the context help
5811
button in the upper right-hand corner of the dialog. Use the
5812
standard control there.
5818
- MGR: Fix a bug which shut down local client even though Manager didn't launch it
5819
when Manager was connected to a remote host.
5823
BOINCClientManager.h
5828
- web: right-align bbcode images
5837
- MGR: Add command-line parameters for automatic connection to remote host:
5838
-n --namehost Host name or IP address
5839
-g --gui_rpc_port GUI RPC port number
5840
-p --password Password
5841
- MGR: If currently connected host name is empty string, don't autorestart
5849
- MGR: Possible fix for vtable reference issue.
5855
- user web: add platform names and elapsed-time info
5856
(represented as "average processing rate")
5857
to host application details page.
5860
host_app_versions.php
5863
- scheduler: add <primary_platform_only> config option:
5864
send only 64-bit app versions to 64-bit hosts
5865
(the default is to send whatever app version is fastest)
7674
Mgr: Simplify Async GUI RPC refresh event logic; if a
7675
Periodic RPC completes while waiting for a Demand RPC,
7676
defer the refresh until all Demand RPCs have also
7677
finished to prevent possible undesirable recursion,
7678
because refresh code could request another Demand RPC.
7686
- client: add <sandbox> element to scheduler request.
7687
Some projects (GPUgrid, QCN) don't work on some platforms
7688
if sandboxing is used.
7689
Better to send an error message than send jobs.
7690
- get rid of a few compiler warnings
7702
- client: attempt to fix CPU sched bug in the presence of GPUs
7703
(if there was an idle GPU, it would run unboundedly many CPU jobs)
7712
- client/manager: show # CPUs and coprocessors in task display
7720
gui_rpc_client_ops.C
7723
- Tag for 6.3.12 release, all platforms
7724
boinc_core_release_6_3_12
7731
- web: don't send an email after account is created via web;
7732
it serves no purpose and some people apparently view it as spam.
7738
create_account_action.php
7742
- Add the ability to exclude certain URLs from the use of proxies.
7743
E.g. if you're running a project locally,
7744
while attached to outside projects via a proxy.
7745
Currently accessible only via the Manager's Options dialog.
5872
- MGR: preserve message filtering by project if Event Log is closed and
5873
reopened, but not when selecting a different host or exiting Manager.
5879
- MGR: Check whether another instance of BOINC Manager is already running;
5880
if so, show Select Computer dialog with extra text saying another
5881
instance is running; if user cancels dialog, exit Manager.
7751
5884
AdvancedFrame.cpp
7754
gui_rpc_client_ops.C
7758
- web: Changed javascript generated input buttons into normal links with
7759
css that makes them look like buttons
7760
- css: Fixed some (of many) incompatibility issue with IE series of browsers
7761
- css: Added forum_toplinks class. Describes links at the top of forum pages
7762
- forum: You can now either reply to a post or quote a post
7774
- boinc_cmd: add no_proxy item to --set_proxy_settings args
7778
gui_rpc_client_print.C
7782
- rename .C files to .cpp so that Doxygen will work
7785
- update .vcproj files accordingly
7788
- client: don't lower priority of apps that use >0 coprocessors and <1 CPU.
7789
Otherwise they don't run efficiently.
7796
- web: remove check on user agent
7808
- prepare for "don't run while playing game" feature
5885
BOINCBaseFrame.cpp, .h
5887
MainDocument.cpp, .h
5888
DlgSelectComputer.cpp, .h
5891
- MGR: Adjust control positions and resize controls after a text change.
5897
- lib: Make procinfo_win.cpp Unicode compatible.
7813
5900
procinfo_win.cpp
7816
Mgr: Fix XCode project for all .C files renamed to .cpp.
7817
lib: Fix error in RPC_CLIENT::set_proxy_settings() changes of 9/25/08.
5903
- MGR: Don't allow the Create function of the Wizard to be called twice,
5904
it'll basically lead to both an assert and a memory leak.
5905
- MGR: Don't create the wizard unless we are going to use it.
7820
5908
AdvancedFrame.cpp
7823
gui_rpc_client_ops.C
7829
- client: add "exclusive app" feature. If you put
7830
<exclusive_app>foo.exe</exclusive_app>
7831
in your cc_config.xml, BOINC will suspend computing
7832
whenever foo.exe is running (e.g., a game).
7834
Eventually we might want to put the interface in preferences
7835
instead of cc_config.xml
7847
Mgr: Fix async GUI RPC handling of RPC_GET_PROJECT_STATUS1 and
7848
RPC_GET_SIMPLE_GUI_INFO2, both of which must replace project
7849
structs in the state struct in place. We hope this will
7850
also fix a memory leak.
7851
Mgr: Fix XCode project for browser.C files renamed to browser.cpp.
7861
- MGR: async GUI RPCs: eliminate redundant RPC calls in SimpleGUI.
7862
- lib: eliminate obsolete RPC_CLIENT::get_project_status(CC_STATE& state),
7863
RPC_CLIENT::get_simple_gui_info(CC_STATE& state, RESULTS& results).
7868
5909
sg_BoincSimpleGUI.cpp
7869
sg_ClientStateIndicator.cpp
7870
sg_ProjectsComponent.cpp
7871
sg_StatImageLoader.cpp
7874
gui_rpc_client_ops.C
7877
- add an interface for parsing XML attributes
7886
- scheduler: #ifdef'd tweaks for server simulator
7895
- client: make statefile parsing a bit more efficient
7896
- GUI RPC and app_init file: add source project to global prefs
7903
- client: Update Mac XCode project, build scripts and documentation
7904
for c-ares 1.5.3 and cURL-7.19.0.
7909
HowToBuildBOINC_XCode.rtf
7915
- scheduler: add <no_vista_sandbox> option.
7916
If set, don't send work to sandboxed Vista clients
7917
(e.g., because of CUDA issue)
7925
- scheduler: enforce max_wus_to_end, daily_result_quota,
7926
and max_wus_in_progress when using score-based scheduling
7932
- scheduler: move core_client_version from WORK_REQ to SCHEDULER_REQUEST;
7933
WORK_REQ doesn't get initialized in all cases.
7942
- Win: Update to OpenSSL 0.9.8i
7948
- Win: Update to cURL 7.19.0
7954
- scheduler: FCGI: use mysql_ping() to check that DB connection
7955
is still alive before handling a request. If not, try to reconnect.
7956
This will hopefully make things work better if MySQL goes down and up
7965
- scheduler: add a \n after projects_files.xml, in case it doesn't have one
7971
- Tag for 6.3.13 release, all platforms
7972
boinc_core_release_6_3_13
7980
- client: remove extraneous message
7981
- wrapper: open stderr/stdout in append mode, not write
7991
- MGR: Fix position of progress bars in Projects and Tasks tabs when
7992
scrolled horizontally.
7993
- MGR: Eliminate unnecessary clearing of web site selection buttons
7994
in Projects tab, hoping to fix an occasional drawing problem.
8001
- Manager: show resource requirements of all jobs, running or not
8002
- Back-end programs: start adding --help option to all of them
8012
- client: fix bugs in coprocessor scheduling;
8013
add new <coproc_debug> log flag
8023
- MGR: On Windows, adjust progress bar color for slightly
8024
better appearance when selected.
8030
- client: it a file upload fails for a job that's in progress,
8031
abort the task. Otherwise we end up reporting the job
8032
while the app is still running.
8039
- Unix build system: build samples/example_app/,
8040
and change the samples/ makefiles so that they automatically
8041
create the symbolic link to libstdc++.a
8048
- changed some comments for Doxygen
8053
- Projects can override the login form by defining their own replacement
8054
print_login_form_aux/print_login_form in their project.inc file
8055
- Fixed a case of bad coding where variables where called "1", "2"... instead
8056
of something more telling like "role1" etc.
8057
- Fixed forum posts display to work even in the case of minor
8058
database inconsistencies
8059
- Added "Highlight special user"-feature which will highlight special user
8060
posts on the forum. (requires database update)
8061
- Made the forum post body background 25% transparent in white.css for
8062
browsers that support transparency. This gives a nice effect combined
8063
with the highlight-feature.
5913
- WIN_BUILD: Remove references to crypto.cpp, and .h from
5914
libboinc_staticcrt so that projects who use it won't need to
5915
worry about pulling in OpenSSL.
5918
libboinc_staticcrt.vcproj
5921
- admin: add script for deleting results with no workunit.
5922
There were ~1,400 of these on SETI@home,
5923
presumably because of a bug at some point in the past.
5926
delete_orphan_results.php
5927
profile_screen_form.php
8071
manage_special_users_action.php
8072
manage_special_users.php
8076
edit_forum_preferences_action.php
8077
edit_forum_preferences_form.php
8082
- Added the above DB change to schema.sql
8083
- Omit the "after" clause from update.
8084
- Web: add missing arg; fixes #749
8085
- server: more --help additions
8099
- MGR: Async GUI RPCs: remove spurious assert.
8100
- MGR: Erase under progress bars so they overwrite selection highlight color
8101
and gray stripes for better appearance (color and visibility).
8105
BOINCBaseView.cpp,.h
8106
BOINCListCtrl.cpp,.h
8108
ViewTransfers.cpp,.h
8112
- Tag for 6.3.14 release, all platforms
8113
boinc_core_release_6_3_14
8120
- add distclean target for samples/ makefiles
8123
- example_app: make the same Makefile work for both FC and Debian
8125
samples/example_app/
8127
Makefile.debian (deleted)
8130
- client: show est CPC time of jobs returned by sched RPC,
8131
if sched_op_debug; fixes #256
8137
- client: use different temp file names for different purposes
8138
- client: change logic in a pathological file xfer case
8139
(we asked for tail of file, proxy returned whole file)
8140
to report fopen() errors correctly, and to close all open files
8149
- added a script (from Nicolas) to generate en.po
8155
- MGR: Fix crash in Projects:Properties.
8156
- MGR: Always update underlying data when changing tabs, attaching,
8157
detaching, forcing refresh, etc.
8158
- client: Fix CUDA detection on Mac.
8165
DlgItemProperties.cpp
8171
- add a script "upgrade_db.php" that updates project DB structure
8172
(after user confirmation).
8173
This is called from "upgrade", and can also be run by itself.
8175
NOTE: this mechanism will handle all DB updates going forward.
8176
Older updates must be done the old way (edit and run db_update.php)
8178
- Web: let teams determine whether they're accepting new members
8189
team_edit_action.php
8191
team_join_action.php
8200
- manager: fix strings in Project Properties
8202
clientgui/DlgItemProperties.cpp
8205
- web: in checking if hosts can be merged,
8206
do time-overlap check if either host has pending results
8213
- enhancements to upgrade_db.php from Nicolas
5935
- admin: fix bug with "upgrade --server_only".
5936
It wasn't copying html/ops/db_update.php,
5937
so it wasn't doing necessary DB updates.
5938
Fixed this by always copying html/ops/*.
5940
Even with this fix, there is a problem when using
5941
the --server_only or --web_only options of upgrade:
5942
if any DB updates are done, they may affect the
5943
server code that's not being updated, resulting in crashes.
5945
I added a warning message in this case,
5946
recommending that a full upgrade be done.
5949
delete_orphan_result.php
8219
- MGR: Fix build breaks on Linux.
8222
DlgItemProperties.cpp
8226
- client: show message when suspending because of exclusive app
8227
- web: remove file_get_contents() workaround for PHP4
8228
- web: If Akismet or ReCaptcha failure,
8229
display the form again with a warning message at the top.
8230
That way the user doesn't lose the text they just typed.
5957
- lib: fix crash if you close and reopen an MFILE
5963
- API: remove deprected stuff related to:
5964
1) old-style apps with graphics in main program.
5965
No one should be using these anymore.
5966
2) writing init_data.xml in boinc_finish().
5967
This was used by deprecated "compound app" scheme
5968
- scheduler: if request reports results that were previously reported,
5969
that's evidence that the previous reply was not received by client.
5970
It may have contained results.
5971
So set a "resend lost results" flag.
5977
- client: fix a bug that caused GPU apps to fail on startup
5978
in the following situation.
5979
Suppose GPU job A is running,
5980
and GPU job B (which has never run before) preempts it.
5982
1) an ACTIVE_TASK and slot dir are allocated for B (slot dir is empty)
5983
2) A is told to quit; B isn't started until A exits
5984
(because they're GPU jobs)
5985
3) before A exits, B is suspended
5986
4) eventually B is started.
5987
Its scheduler state is SUSPENDED rather than UNINITIALIZED,
5988
so the scheduler thinks it slot dir has already been populated.
5989
But it hasn't, and when the app starts it fails immediately
5990
because no files are there.
5992
Fix: decide whether a slot dir needs to be populated by
5993
seeing whether it's empty,
5994
rather than looking at the scheduler state of the task.
6003
- MGR: revert Rom's change #22191; calling Fit() after a text change
6004
redraws the dialog at its minimum size, making it impossible to
6011
- MGR: "Another instance" message in Select Computer dialog gets Manager name
6015
DlgSelectComputer.cpp
6018
- MGR: Adjust control positions and resize controls after a text change,
6019
using Layout(); don't use Fit() or FitInside(), which resize the window.
6020
Remove the messy logic I used before to ensure the filter button is long
6021
enough to fit the longer text.
6022
NOTE: we should add this logic everywhere we have a control whose label
6023
text changes with status, since we cannot predict which label will be
6024
longer in every language translation.
6030
- lib: Prevent category information from being lost in notices.
6036
- Tag for 6.11.5 release, all platforms
6037
boinc_core_release_6_11_5
6044
- lib: prevent crash on startup if slot directories have been deleted.
6050
- client: fix bug in my last checkin
6056
- web: remove align=right on BBcode images
6062
- lib: removed unneeded include. Fixes #1004
6068
- MGR: Fix build break on Mac.
6074
- feeder: don't error out when an ordering option is used with HR;
6075
if some apps don't use HR the ordering option will apply to them.
6081
- scheduler: message tweak
6087
- MGR: Allow Notices tab to scroll smoothly, disallow selection of
6088
items in Notices tab.
6091
BOINCHtmlListBox.cpp, .h (new)
6092
BOINCVListBox.cpp, .h (new)
6094
NoticeListCtrl.cpp, .h
6103
- Tag for 6.11.6 release, all platforms
6104
boinc_core_release_6_11_6
6111
- MGR: In the future I need to be more careful when I flatten a
6112
class hierarchy. I broke the ability to get the latest
6113
project configuration from account managers. Fix that.
6119
- MGR: Fix build issue on Linux (Sqlite3 needed to be added to the
6120
list of libs and header directories to be included)
6126
- MGR: Remove copyright claims to wxWidgets code.
6129
BOINCHtmlLBox.cpp, .h
6130
BOINCVListBox.cpp, .h
6133
- client: check whether anonymous-app files exist
6134
- client: parse (and ignore) <anonymous_platform> element in state file
6141
- MGR: Remove unused WXDLL* declarations to improve Linux compatibility.
6144
BOINCHtmlLBox.cpp, .h
6145
BOINCVListBox.cpp, .h
6148
- MGR: Set the email text box validator to a simple text validator when
6149
the project in question only supports usernames.
6155
- client: Only error out of the CPU version check if the call to CPUID(0)
6162
- MGR: Try and clean up all the undefined reference errors for the GCC
6166
BOINCHtmlLBox.cpp, .h
6167
BOINCVListBox.cpp, .h
6171
- MGR: Finish implementing the use of Usernames in the account manager part
6172
of the wizard. I must have been asleep at the wheel on that one.
6176
AccountManagerProcessingPage.cpp
6177
ProjectProcessingPage.cpp
6180
- scheduler: change the "primary_platform_only" config option
6181
to "prefer_primary_platform".
6182
If an app has only only 32-bit versions, use the for 64-bit clients.
6189
- client: maintain "gpu_active_frac" in addition to "active_frac"
6190
(which really means CPU active)
6200
- MGR: Further refinements to Client shutdown logic on Manager Exit:
6201
Old: Manager shut down Client only if it started the Client.
6203
Don't show exit dialog if connected Client is not on localhost.
6204
Mac: Manager shuts down Client only if it started the Client
6205
and if the Client is on localhost.
6206
Windows, Linux: Manager shuts down Client, whether or not the
6207
Manager started the Client, but only if the Client is on
6208
localhost and the user requests Client shutdown in the exit
6209
dialog, even if running as a service on Windows. As before,
6210
it skips the exit dialog and uses the saved behavior if the
6211
user previously set "Remember this decision and do not show
6215
BOINCClientManager.cpp
6220
- MGR: On Mac only, Close Window menu item (or its shortcut Command-w)
6221
closes the Event Log if it is the front window.
6227
- client: treat notices from schedulers a little differently.
6228
Ignore duplicate notices unless they're at least 24 hours
6229
newer than the previous one.
6239
- client: ignore case in names of "exclusive apps"
6240
and exclusive GPU apps
6241
- client: fix bug that caused GPU apps to not be
6242
suspended or resumed immediately after
6243
exclusive GPU app transition
6244
- client: in log message, instead of saying
6245
"fetching tasks for GPU", say which kind of GPU
6247
TODO: GPU suspend/resume works by setting or clearing
6248
gpu_suspend_reason, then calling request_schedule_cpus().
6249
There's no explicit suspending or resuming.
6250
CPU suspend/resume should work the same way.
6260
- web: check the "next URL" passed to login and account
6261
creation scripts to ensure they refer only to local pages
6262
(i.e. they don't contain "://").
6263
This prevents cross-site scripting attacks (I think).
6270
create_account_action.php
6273
- client: back out changeset [21086],
6274
which cleaned out project dir on reset.
6275
The semantics of reset are to not delete sticky files.
6281
- client: fix "boinc_temporary_exit()" support.
6282
This is critical for GPU support.
6297
- web: if SECURE_URL_BASE is defined in html/project/project.inc,
6298
use it a prefix for forms that include passwords,
6299
namely login_form.php and create_account.php.
6300
Typically SECURE_URL_BASE would start with "https://".
6308
create_account_form.php
6309
create_account_action.php
6312
- client: fix problems with exclusive_gpu_app feature.
6321
- web: finish the above
6326
edit_passwd_form.php
6330
- fix various XSS vulnerabilities reported by the
6331
Acunetix Web Vulnerability Scanner (free edition)
6337
projects_specific_prefs.inc
6344
create_account_form.php
6345
create_account_action.php
6353
- web: make some strings translatable, fixes #1006, from Simek
6360
- MGR: Properly display which components have trouble loading when
6362
- MGR: A new new skin which will become the new default skin.
6366
clientgui/skin/BOINC
6370
- web: make strings translatable. From Simek, fixes #1007
8239
6378
create_profile.php
8245
- client: major changes to enforce_schedule() to handle GPUs
8251
DlgItemProperties.cpp
6381
- server (job submission): allow input templates to specify the
6382
URL, size, and MD5 of input files.
6383
This supports "non-local" input files,
6384
i.e. files not present on the project server.
6386
NOTE: as implemented,
6387
this requires a separate input template for each job.
6388
It would be slightly better to let you specify the
6389
URL/size/MD5 in the create_work() call.
6391
From Zoltan Farkas (SZTAKI)
6397
- Tag for 6.11.7 release, all platforms
6398
boinc_core_release_6_11_7
6405
- client: support notice feeds from account managers.
6406
Implementation: create a base class PROJ_AM,
6407
from which both PROJECT and ACCT_MGR_INFO are derived,
6408
with basic stuff like name, URL, and RSS feed list
6415
gui_rpc_server_ops.cpp
6425
- debug the above. It now successfully displays an
6426
RSS feed of news items from Google,
6427
linked from a project manager
6436
- user web: fix division by zero in host app versions page.
6439
host_app_versions.php
6442
- scheduler: fix "prefer_primary_platform" logic (I hope).
6448
- client: remove duplicate notices based on GUID as well as text
6449
(Google RSS feeds, e.g., change random strings in URLs
6450
in the item description, but leave the GUID the same)
6456
- client: if a client has no jobs for a resource, decay its STD
6457
for that resource by a factor of e every day
6462
Charlie 10 Sept 2010
6463
- MGR: Statistics tab: add scroll bar to project list, replace
6464
hidden double-click function with new "Hide / Show Project
6465
List" button, enable & disable buttons appropriately.
6469
ViewStatistics.cpp, .h
6472
- boinc_cmd: don't crash if can't connect to local client
6478
- user web: filter results by application.
6487
- WINSCR: Set the screen saver log directory to the data directory.
6488
- WINSCR: Already create a log file, even on release builds, just don't
6489
write trace messages.
6490
- WINSCR: Be a bit more paranoid about not being able to detect keyboard
6491
and mouse activity. If the function fails for whatever reason
6492
shutdown the screensaver.
6498
- client: remove spurious msgs about deleting files while in use
6499
- scheduler: add log messages related to max jobs in progress
6508
- back end: compile fixes
6514
Charlie 14 Sept 2010
6515
- MGR: Statistics tab: add graph showing sum of selected projects, rename
6516
other mode buttons "All projects (separate)", "All projects (together)".
6517
Minor bug fix: call UpdateSelection() from OnRestoreState().
6521
ViewStatistics.cpp, .h
6524
- lib: check for malloc() NULL return; fixes #921
6528
Charlie 15 Sept 2010
6529
- MGR: Statistics tab: optimize and fix bugs in new graph showing sum of
6533
ViewStatistics.cpp, .h
6536
- client: a bit of IPv6 compatibility
6537
- use "sockaddr_storage" to store network addresses
6538
(which may be IPv4 or IPv6)
6539
rather than assuming they fit in an int.
6540
- the entries in remote_hosts.cfg may now be IPv6 addresses
6541
(a:b:c::e:f:g format),
6542
or domain names of hosts that support only IPv6
6543
Note: GUI RPCs are still constrained to use IPv4,
6544
but this should be easy to change if it's every needed
6546
Also: replace deprecated gethostbyname() with getaddrinfo().
6550
gui_rpc_server.cpp,h
6551
hostinfo_network.cpp
6553
gui_rpc_client.cpp,h
6557
- client: revert to old network functions (gethostbyname() etc.) on Win:
6558
- inet_ntop() etc. exist only on Vista+
6559
- the other functions are declared in winsock2.h.
6560
This breaks the Manager build, since wxwidgets includes winsock.h.
6562
- windows build: manager doesn't depend on client
6566
hostinfo_network.cpp
6568
gui_rpc_client.cpp,h
6574
- web: improve server status page, and make it translatable
8256
- MGR: Fix SimpleGUI to work with wxWidgets 2.8.7.
8259
sg_BoincSimpleGUI.cpp
8263
- MGR: Fix for (future) compatibility with wxWidgets 2.8.9.
8266
sg_SGUIListControl.cpp,.h
8269
- MGR: To reduce flicker, redraw only changed cells in List Control
8270
(not entire row) on non-Mac systems.
8271
- MGR: Fix flashing red Messages button in SimpleGUI.
8275
BOINCListCtrl.cpp,.h
8279
- client: print a message, and recompute ncpus, when reread cc_config.xml
8282
gui_rpc_server_ops.cpp
8288
- client: report job resources even when no active task
6578
sample_server_status.php
6581
- web: move server status page from ops/ to user/.
6582
Remove funky file-writing stuff - just use caching.
6584
- web: include link to server status page on sample front page
6588
sample_server_status (removed)
6591
server_status.php (new)
6594
- compile fix for Mac
6600
- API and sample apps: pass buf length arg to boinc_msg_prefix()
6601
and use snprintf() to avoid overrun.
6602
Can't see why this could ever happen.
6603
Attempt to fix crash in E@h apps.
6614
- client (Win): use MoveFileEx() to rename file.
6615
More atomic than delete/rename.
6621
- client: if we successfully did CPU benchmarks,
6622
don't keep doing them every 5 days unless restart the client
6629
- web: don't require that SECURE_URL_BASE be set,
6630
or that it end with a /
6637
create_account_form.php
6642
- web: don't call filter_var() if it doesn't exist (PHP version < 5.2)
6658
- web: server_status.php is not an ops page
6664
- client: fix boinc_temporary_exit() handling on Unix (from Hien)
6670
- client: improve "wrong URL" messages
6671
- client: add title to client/server messages: "Notice from BOINC"
6678
- scheduler: message tweak
6685
- client: when computing non-BOINC CPU usage,
6686
allow for the possibility that suspended BOINC apps
6687
aren't really suspended
6688
(e.g. multithread apps that don't use boinc_init_parallel())
6689
- client: message tweak
8295
- client: correctly null-terminate file upload handler reply
8304
- web: avoid error if subscribed user doesn't exist
8310
- web: fix bug in profile creation. fixes #755
8316
- MGR: Multiple fixes to Async GUI RPCs:
8317
- Reject most events during RPC Wait dialog. This should
8318
eliminate most asserts due to undesired recursion in
8319
CMainDocument::RequestRPC().
8320
- Always update message list every second, even when in other
8321
view tabs or when manager is minimized.
8322
- Eliminate separate task bar update timer, update with other
8324
- Always update task information in task bar icon tooltip when
8325
user hovers mouse over task bar icon.
8326
- Improve enabling / disabling of task bar icon menu items.
8336
- MGR: Multiple fixes to Async GUI RPCs:
8337
- Don't show RPC Please Wait dialog while BOINC is minimized.
8338
- Filter events to block all events while RPC Please Wait dialog
8339
is displayed, except:
8340
- Allow "Open BOINC Manager" Taskbar menu command.
8341
- Allow Paint and Erase events.
8342
- MGR: Use try / catch blocks for all cached data in Projects, Tasks
8351
ViewTransfers.cpp,.h
8355
- client: clarify and fix the semantics of "next RPC time".
8356
Here's are the new semantics: a scheduler reply can include
8358
Make another RPC ASAP after this amount of time elapses.
8359
This is specified by the <next_rpc_delay> element in config.xml.
8361
Don't make another RPC until this amount of time elapses.
8362
This is sent automatically (and sometimes with large delays)
8363
by various parts of the scheduler.
8364
next_rpc_delay now "overrides" request_delay in the sense that
8365
request_delay is ignored if it's greater than next_rpc_delay.
8367
In addition: the client maintains a min_rpc_time which is set based
8368
on request_delay and also by various exponential backoff schemes.
8369
new_rpc_delay now overrides this as well, in the same sense.
8372
6693
cs_scheduler.cpp
8376
- web: make some things in sample front page translatable.
8377
TODO: make them all translatable.
8378
- manager: compile fix for Linux
6696
- scheduler: fix crashing bug when client reports a large # (1000+)
6697
of results (256KB not enough for query in this case)
6703
- web: appearance tweaks from Simek; fixes #1012
8388
6709
sample_index.php
8391
- client: new config flags
8392
<network_test_url>: where to go to see if network is up
8393
<client_version_check_url>: where to get list of client versions
8394
<client_download_url>: where to direct user to get new version
8395
- manager: some different text for WCG version
8399
gui_rpc_server_ops.cpp
8413
- MGR: discard only Command, Timer and Mouse Moved events during RPC
8414
"Please Wait" dialog; no event processing during first RPC_WAIT_DLG_DELAY
8415
seconds of Demand RPC.
8422
- MGR: Fix updating task bar icon on disconnect from Client, fix a crash
8430
- web: prevent a cross-site request forgery attack
8436
edit_user_info_action.php
8437
6715
edit_user_info_form.php
8440
- MGR: When any project's resource share changes, update all percentages
8441
that have changed (which is probably all of them) in Projects tab.
8450
edit_user_info_action.php
8453
- forgot to add team.joinable to schema.sql
8459
- manager: compile fixes from Nicolas
8465
- Tag for 6.3.15 release, all platforms
8466
boinc_core_release_6_3_15
6716
edit_forum_preferences_form.php
6718
Charlie 20 Sept 2010
6719
- Mac: Update XCode project for XCode 3.2.4.
6726
- client/web: change RSS feed mechanism a little.
6727
If <use_since_time> is included in feed description,
6728
the client will append &since_time=x to the URL,
6729
where x is the lastBuildDate of the previous reply.
6730
This notices handler (notices.php) sends only notices
6732
- client: discard old notices as they arrive
6740
- web: authenticate notices request
6752
- MGR: Display the default action in the system tray menu in bold again.
6753
- MGR: If connected to the localhost, don't display the computer name
6754
in the window title.
6755
- MGR: Change the exit menu item text to be a little more specific about
6756
what is being shutdown. Use the same scheme as the exit text in the
6757
status bar so that it'll automatically be localized.
6758
- SCR: Remove some old Win9x code.
6764
screensaver_win.cpp, .h
6767
- client: write GPU info to client_state.xml,
6768
so that it can be input file to the client simulator.
6773
gui_rpc_server_ops.cpp
6779
Charlie 24 Sept 2010
6780
Mac: add Mac executables of wrapper application.
6789
wrapper_macOSX_x86_64
6792
- client simulator: major remodel and upgrade.
6793
Insteady of using its own XML input files,
6794
the simulator now takes a client_state.xml file as input.
6795
The simulator generates a synthetic workload based on the
6796
projects, apps, app versions, WUs, and result it finds there.
6798
This means that a user seeing aberrant behavior
6799
can just send their client_state.xml file
6800
and (hopefully) we can use the simulator to repro.
6802
The simulator now can model GPUs.
6804
As of this checkin, the simulator compiles but doesn't work.
6805
There should be no change in the actual client.
6814
- client: fix bug that cause wasted scheduler RPC
6815
Old: when a job finished, we cleared the backoffs for the
6816
resources it used. The idea was to get more jobs
6817
immediately in the case where the client was at
6818
a jobs-in-progress limit.
6819
Problem: this resulted in an RPC immediately,
6820
typically before the output files were uploaded.
6821
So the client is still at the limit, and doesn't get jobs.
6822
New: clear the backoffs at the point when output files
6823
have been uploaded and the job is ready to report.
6824
- client: change range in resource backoff from (0,x) to (.5, 1.5*x)
6832
- client: add <no_info_fetch> config option and --no_info_fetch
6834
Suppresses the fetch of project list and of current client version #.
6835
Use when running on grid nodes.
6836
- debugging on client simulator. Not done yet.
6852
- MGR: Make the new BOINC skin the default skin.
6857
clientgui/skins/BOINC/graphic/
6859
clientgui/skins/BOINC/
6861
clientgui/skins/People for a Smarter Planet/
6867
- Tag for 6.11.8 release, all platforms
6868
boinc_core_release_6_11_8
8473
- client: if "leave in memory" pref changes, quit suspended tasks
8479
- web: delete all private msgs was broken
8485
- manager: fix disk display when talking to pre-6.3 client
8492
- web: add optional $project_http_proxy to project.inc;
8493
if project is behind an HTTP proxy,
8494
this fixes the SVN fetch in ops/index.php
8499
profile_screen_action.php
8504
- web: if user tries to edit a BOINC-wide team,
8505
warn them that changes will get overwritten.
8511
- make "make distclean" work in all directories
8516
- scheduler: add <have_cuda_apps> config flag.
8517
If set the "effective NCPUS" (which is used to scale
8518
daily_result_quota and max_wus_in_progress)
8519
is max'd with the # of CUDA GPUs.
6875
- validator: if credit calculation returns an error,
6876
wait 6 hours before retrying
8529
- MGR: More thorough validity checking to prevent crashes.
8537
- Mac branding: fix branding problem with GridRepublic installer.
6887
- client: if we suspend apps because non-BOINC CPU is is too high,
6888
leave them in memory.
6889
Otherwise (if the CPU use is caused by launching an app,
6890
say by security software)
6891
we would get into a loop.
6896
Charlie 28 Sept 2010
6897
Mac: update release script to add new BOINC skin.
8540
make_GridRepublic.sh
8544
- admin web: add dbinfo.php (shows row counts and disk usage per table)
8551
- Mac SCR: reinitialize if startanimation() called after stopanimation().
8552
- Mac SCR: detect when covered by application graphics under all versions
8553
of OS X and stop displaying the moving logo to reduce CPU usage.
8556
mac_saver_module.cpp
8557
Mac_Saver_ModuleView.m
8560
- web: don't select orphaned profile as UOTD;
8561
delete profile when delete user. Fixes #761
6903
- client: if a process has priority <= that of BOINC apps,
6904
don't include it in non-BOINC CPU time.
6905
Otherwise the presence of such a process could
6906
prevent BOINC from running apps.
6907
(Windows only - will do Unix/Mac later)
6916
- client: in computing non-BOINC CPU time,
6917
ignore ACTIVE_TASKs that don't have a process.
6918
- client: bug fix to previous checkin
6926
- client (unix): don't count low-priority processes towards
6928
NOTE: when you nice a process to 19,
6929
its priority in /proc is 39 (at least on Ubuntu and FC11).
6930
I can't find where this offset (20) is documented,
6931
so I just hardwired 39.
6939
Charlie 29 Sept 2010
6940
lib: Temporary work-around for unknown problem with IPV6-compatible
6944
gui_rpc_client.cpp,h
6947
- lib: make str_util.h C-compatible (from Matt Arsenault)
6952
Charlie 29 Sept 2010
6953
lib: Add test for low-priority processes to procinfo_setup() and
6959
Charlie 30 Sept 2010
6960
lib: Fix problem with IPV6-compatible code on Mac: we need to set the
6961
third argument to connect() differently for IPV4 or IPV6.
6962
NOTE: This is not yet tested with actual IPV6 addresses.
6965
gui_rpc_client.cpp,h
6968
- Tag for 6.11.9 release, all platforms
6969
boinc_core_release_6_11_9
6976
- scheduler: check whether client is reporting the same result twice
6977
in a given request message.
6978
Eliminate duplicates; they mess things up.
6979
- scheduler: fix RESULT#0 problem in message log
6980
- user web: keep credit totals when merging hosts by name
6989
- scheduler: typo in app_plan() for ATI GPUs; fixes #1016
6995
- undo recent change to str_util.h; it broke FCGI compile
7001
- scheduler: deal correctly with jobs that need > 2GB RAM.
7002
Such jobs fail on 32-bit machines, even if they have sufficient RAM,
7003
because 32-bit OSs don't support address spaces > 2GB.
7005
In general, we want to support the following scenario:
7006
- an app has a mixture of small (< 2GB) and big (> 2GB) jobs.
7007
- there are app versions for both 32b and 64b platforms
7008
- one of the 32b versions is faster than the 64b version
7009
(say, it's a 32b GPU app)
7012
If the client is 32b, send it only small jobs,
7013
using the fast 32b version if possible
7014
If the client is 64b and has sufficient RAM,
7015
send it large jobs using the 64b version;
7016
send it small jobs using the fast 32b version if possible,
7017
else the 64b version
7019
Solution: extend get_app_version() so that it detects big jobs,
7020
and uses only 64b versions for them.
7021
Add a "for_64b_jobs" field to BEST_APP_VERSION
7022
so that we maintain a separate memoized set of
7023
BEST_APP_VERSIONs for big jobs.
7025
- client: don't set report_results_immediately inappropriately
7034
- user web: typo fix. Fixes #1018. From Simek.
7040
- MGR: On Linix, minimize the main window instead of trying to hide it when
7041
close is selected on the window instead of the menu. Ideally the main
7042
window would just be hidden until the notification icon is clicked, but
7043
apparently wxWidgets/GTK/X doesn't like it when you attempt to hide the
7045
- MGR: Display what cpu architecture the manager was built for in the about
7053
- client: remove debugging code accidentally left in
7060
- client: don't fetch RSS feeds if "no_info_fetch" flag is set
7066
- web: fix bug in "email passwd" page
8568
- client: restore support for max_ncpus preference.
8569
This and max_ncpus_pct can both be specified.
8570
If both are specified, we take the min.
8583
- LIB: Fix the windows callstack dump routine for
8587
stackwalker_imports.h
8591
- WINSETUP: Don't allow parent permissions to be inhertied
8592
from the parent directory when we setup the data
8593
directories permissions.
8595
win_build/installerv2/redist/Windows/src/boinccas/
8596
CASetPermissionBOINCData.cpp
8597
CASetPermissionBOINCDataProjects.cpp
8598
CASetPermissionBOINCDataSlots.cpp
8599
win_build/installerv2/redist/Windows/Win32/
8602
win_build/installerv2/redist/Windows/x64/
8607
- WINSETUP: Include a fix for the ALLUSERS flag so that
8608
based on the user preference, the installation settings
8612
win_build/installerv2/
8617
- MGR: Have the SkinManager parse the correct spelling
8619
- MGR: Add a new tab status to the Simple GUI for when
8620
the client has been instructed to delay starting
8621
applications via the <delay_start> option in cc_config.xml
8625
sg_ImageButton.cpp, .h
8630
- WINSETUP: When the shortcut to BOINC Manager remove the
8631
minimize flag, it apparently was causing the small
8632
manager window. The '/s' parameter already takes
8633
care of minimizing the window.
8636
win_build/installerv2/
8641
- LIB: The max cpu preferences was named 'max_cpus' and
8642
not 'max_ncpus' back in the day.
8648
- client: the max percent needs to be based on the max cpu
8649
preference not the total number of CPUs if we are
8650
actually calculating the min of both of them.
8656
- Tag for 6.3.16 release, all platforms
8657
boinc_core_release_6_3_16
8664
- client: fix prefs parsing
8670
- Tag for 6.3.17 release, all platforms
8671
boinc_core_release_6_3_17
8678
- client: --help: show all options, and alphabetize them
8684
- MGR: Fix typo in BOINCListCtrl.cpp: remove extra semicolon.
8685
- MGR: Sort compare functions return false if values are equal (to
8686
fix asserts in stable_sort).
8694
- client: ignore max_cpus if max_ncpus_pct is nonzero
8700
- Tag for 6.3.18 release, all platforms
8701
boinc_core_release_6_3_18
8708
- client: for CPU throttling, don't suspend apps that
8709
are non-CPU-intensive or that use < 1 CPU (e.g., CUDA)
8710
- client: get rid of spurious "internal error,
8711
expected process to be executing" msg
8712
- diag: don't check heap on every alloc
8713
- fix a few compile warnings
7072
- client: fix bug causing garbage values in ATI descriptions
7078
- web: fix login bug
7084
- crypt_prog: show cmdline options if error. Fixes #1019
7090
- client: don't show GPU suspend/resume msgs if no GPUs
8725
- scheduler: notify user if we're not sending work
8726
because we don't have any (matchmaker only).
8727
- back end programs: for programs that do enumerations,
8728
check for error returns and exit
8729
(otherwise we'll get stuck forever if DB fails)
8731
NOTE: In the course of researching this I came across a bug
8732
in the transitioner: if there's a WU with more than 1000 results,
8733
the enumeration will always return ERR_DB_NOT_FOUND,
8734
and the transitioner won't ever do anything again.
8735
Fixing this is a little tricky, so I'm not going to do it right now.
8739
request_file_list.cpp
7096
- ss_app: call rpc.init(NULL) not rpc.init("localhost") to work around
7097
a bug which prevented default screensaver boincscr from communicating
7098
with client on Mac (and probably other computers which support IPV6.)
7104
- MGR: Add command-line argument --multiple or -m to allow multiple
7105
instances of BOINC Manager to be run. If a second instance is
7106
launched without this argument, it will bring the original
7107
instance to the front and quit. If this argument is present,
7108
the second instance will automatically run the Selectr Computer
7110
Also add "Launch another BOINC Manager" menu item to Advanced menu.
7113
AdvancedFrame.cpp, .h
7119
- manager: remove last few instances of "detach" from messages
7127
- fix a few absolutely last messages with "attach", "detach"
7136
CompletionErrorPage.cpp
7141
create_account_form.php
7146
- Increment version to 6.12.0.
7153
- client: add <max_tasks_reported> config item:
7154
limit the # of completed tasks reported per RPC
7161
- GUI RPC: remove unneeded isIPV6 flag, factor out sizeof() logic
7164
gui_rpc_client.cpp,h
7169
- Mac: Update build scripts and documentation.
7176
HowToBuildBOINC_XCode.rtf
7185
- Mac: Update build example.
7189
UpperCase2.xcodeproj/
7193
- Mac: Update build scripts, build examples and documentation.
7201
HowToBuildBOINC_XCode.rtf
7207
UpperCase2.xcodeproj/
7213
- GUI RPC: when resolving hostnames, ask for only IPV4 addresses.
7214
No point in allowing IPV6 since the client doesn't
7215
create a listening socket for IPV6
7223
- Win/Linux: Implement the launch new manager functionality for Windows
7233
- MGR: Sanitize the event log output from the CC.
7239
- MGR: Take two of the above.
7243
MainDocument.cpp, .h
7246
- client: fix bug with the <max_tasks_reported> config option.
7247
If # of ready-to-report tasks > max_tasks_reported,
7248
then the excess ready-to-report tasks weren't getting
7249
reported to the scheduler at all (i.e. not in <other_results> either)
7250
so the scheduler would resend them
7251
(not a fatal problem, but a waste of bandwidth).
7258
- API/client: move CUdevice_attribute_enum out of lib/coproc.h
7259
to fix app build errors
7267
- client: fix compiler warning.
7273
- MGR: Check for a duplicate instance much earlier in the initialization
7274
cycle, before any window or document creation. Prevents rapid window
7275
creation and then destruction.
7281
- client: when an app exits, adjust debts before erasing ACTIVE_TASK.
7282
Otherwise the last episode won't get accounted
7289
- MGR: Complete above initialization changes for the Mac
7296
- MGR: Don't require --multiple arg to launch a new instance if both
7297
--namehost and --password args are specified.
7303
- MGR: Handle paths with spaces in them when launching new instances
7310
- Tag for 6.12.1 release, all platforms
7311
boinc_core_release_6_12_1
7318
- MGR: It turns out it was some wxWidgets parameter parsing wierdness
7319
in the newly launched application that was throwing the error. Double
7320
quotes around the parameter didn't fix the issue. For the time being
7321
just hard code 'boincmgr.exe' as argv[0] as it isn't used by the Windows
7322
client at all. wxWidgets won't find --multiple if it is argv[0].
7328
- Tag for 6.12.2 release, all platforms
7329
boinc_core_release_6_12_2
7336
- lib: Fix problems with Mac backtrace code: use atos only if present, etc.
7337
(atos is installed only if developer tools are installed.)
7341
mac_backtrace.cpp, .h
7345
- lib: Mac backtrace code (including the backtrace() API) doesn't work
7346
on PowerPC Macs running under OS 10.5.x, so display explanatory text
7347
when attempting a backtrace on those machines.
7354
- client: use project STD, rather than arrival time,
7355
as the major criterion in choosing non-EDF GPU jobs.
7356
GPU scheduling now respects resource share,
7357
and as a result STD should no longer diverge.
7358
- client simulator: various improvements, most notably
7359
that we now generate gnuplot graphs of all debt types
7361
NOTE: the client problem was found and fixed using the simulator!
7373
- client: delete a notice if it's no longer in the RSS feed.
7374
E.g., if a project deletes a news item, remove it from notices.
7382
- bug fix for the above
7388
- user web: in RSS item for private message, don't say anything
7389
about the message (sender, title, or content)
7390
- user web: don't send an RSS item for a thread with no posts (i.e., hidden)
7391
- client simulator: support global_prefs_override.xml
7400
- MGR(WIN): While it is a perfectly valid thing to use FindWindow() and
7401
ShowWindow() on an application frame to restore an application from
7402
a minimized state or a hidden state on Windows(75% of the UI test
7403
automation would fail at Microsoft without this ability), it appeartly
7404
isn't for other platforms. wxWidgets is or appears to be tracking window
7405
state internally, which leads to problems when the OS restores the window
7406
and the rest of the framework doesn't know about that change in state.
7407
Certain window events were being ignored (like WM_CLOSE, menu selection
7408
events, etc.). So replace the previous mechinism for bringing an existing
7409
instance of the BOINC Manager to the foreground by creating a new global
7410
window message which is tracked by the system tray icon. When the new
7411
global message is fired make sure the CBOINCGUIApp::SetActiveGUI() function
7412
is called to restore the window state which in turn updates all the internal
7413
framework data structures.
7418
BOINCTaskBar.cpp, .h
7423
- client: distinguish between messages to be displayed as HTML
7424
(e.g. "Download new client here" link) and others
7425
(e.g. "Bad tag in cc_config.xml: <foo>").
7426
- code cleanup; move show_message from main.cpp to client_msgs.cpp
7439
- client: on startup, generate a message and notice
7440
about new client version if needed
7448
- client: notice debugging
7454
- MGR: Add missing keyboard shortcut for the Event Log
7455
- MGR: Add missing ellipses for the new instance of BOINC Manager and
7457
- MGR: Display a simple message when saying that there are no notices
7458
to be displayed when the client reports there are zero notices.
7466
- fixed whitespace error in Makefile.mingw
7467
- build and install svn_version.h in Makefile.mingw
7468
- fixed boinc_win.h for MinGW gcc-4
7469
- not sure why "client_msgs.h" was ever included in procinfo_unix.cpp,
7470
but in current code caused a nasty trail of includes breaking the
7471
Linux build, so removed it
7480
- client: ignore exclusive apps including "boinc"
7489
- Tag for 6.12.3 release, all platforms
7490
boinc_core_release_6_12_3
7497
- Tag for 6.12.4 release, all platforms
7498
boinc_core_release_6_12_4
7505
- Mac: Update XCode project for new source files client/current_version.cpp,.h.
7506
(checked in to boinc_core_release_6_12_4)
7514
- client: update STD of ineligible projects by decay only.
7515
Not sure why, but this eliminates gradual negative drift.
7521
- client: linux compile fix
7522
- client: small fix for GPU scheduling
7523
(use anticipated debt instead of STD)
7532
- scheduler: fix logic that deals with jobs that need > 2GB RAM.
7533
My change of 1 Oct ([22440]) required that such jobs
7534
be processed with 64-bit apps,
7535
on the assumption that 32-bit apps have a 2 GB user address space limit.
7536
However, it turns out this limit applies only to Windows
7537
(kernel and user mode share the 4GB address space; each gets half).
7538
On Linux, the split is 3GB user / 1 GB kernel.
7539
On Mac OS X, user mode and kernel mode have separate address spaces,
7556
- manager: if attaching to existing account,
7557
don't check min passwd length
7563
- manager: fix non-translatable "0 bytes"
7569
- client and manager: fix notice titles
7570
- code cleanup: please use standard coding conventions
7578
- client: small initial checkin for new scheduling system.
7579
Keep track of per-project recent estimated credit
8744
7592
update_stats.cpp
8747
- client: fix crash when sched_op_debug is enabled
8753
- MGR: If simple_gui_only flag is set in cc_config.xml, trigger call
8754
of CSimpleFrame::OnConnect().
8760
- client: accept --insecure flag even if not compiled with -DSANDBOX
8761
- manager: pass --insecure flab only if compiled with -DSANDBOX
8762
(from Nicolas; fixes #762)
8767
BOINCClientManager.cpp
8770
- SCR: Fix the screensaver logo.
8776
- web: make the ordering of profiles in "browse profiles with pictures"
8780
update_profile_pages.php
8783
- Tag for 6.3.19 release, all platforms
8784
boinc_core_release_6_3_19
8791
- MGR: When removing a row in Projects, Tasks and Transfers tabs, refresh
8792
all rows. Fixes a bug where display was not always properly updated.
8798
- client: move round-robin simulation to its own file
8799
- web: check for profile existence before trying to show it
8800
- file deleter: add some debugging msgs
8817
- MGR: Fix bug introduced yesterday.
8818
- MGR: Always sort after a row is added or deleted.
8819
- Mac: Add new files rr_sim.cpp,.h to XCode project.
8822
BOINCBaseView.cpp,.h
8828
- Tag for 6.3.20 release, all platforms
8829
boinc_core_release_6_3_20
8836
- client: /proc/N/stat has () around the command name. Remove these.
8842
- client: the preemptability order was wrong
8848
- client: cleaned up CPU scheduler logic somewhat
8855
Rom & Charlie 29 Oct 2008
8856
- client: include precompiled header in rr_sim.cpp so memory
8857
leak detection will work.
8858
- MGR: Have the BaseFrame call a function to determine if the
8859
selection list should be saved instead of traversing
8860
the application pointer. Each view just overrides the function
8861
returning a true/false value. We don't have to worry about null
8862
pointers and the like.
8863
- MGR: BOINCGUIApp should never need to know how either the views
8864
work or the document. Move the code that determines which
8865
RPCs should be fired into each of the views. Have the document
8867
- MGR: Reduce duplicate code for hiding and showing an application
8868
- MGR: Move some Windows and Mac specific code into functions
8869
and streamline the application startup and shutdown rountines.
8870
- MGR: Move the event processing that was in BOINCGUIApp into the
8872
- MGR: General cleanup.
8873
- MGR: Doxygen comments.
8874
- MGR: Cleanup some warnings.
8879
AdvancedFrame.cpp, .h
8881
BOINCBaseFrame.cpp, .h
8882
BOINCBaseView.cpp, .h
8883
BOINCClientManager.cpp, .h
8886
MainDocument.cpp, .h
8887
sg_BoincSimpleGUI.cpp, .h
8888
ViewProjects.cpp, .h
8889
ViewTransfers.cpp, .h
8892
win_build/installerv2/
8899
- MGR: Fix show / hide on Mac broken by previous changes.
8902
BOINCBaseFrame.cpp, .h
8906
- web: change style sheet so tables are bordered only if class is "bordered"
8907
- web: fix error if translation string missing
8918
- Rebuild libcurl x86 and x64 (turn off async DNS) for Windows only.
8924
- client: revise round-robin simulation to take variable avg_ncpus into account
8930
- Mac SCR: fix some real and potential crash bugs.
8933
mac_saver_module.cpp
8934
Mac_Saver_ModuleView.m,.h
8937
- Tag for 6.3.21 release, all platforms
8938
boinc_core_release_6_3_21
8945
- MGR: Move the wxWidget version information to the about box.
8946
printf and Unicode strings don't play well with one another.
8953
- MGR: Fix up the OnHelp features of the BOINC Manager so they
8954
all point to manager_links.php.
8957
DlgAdvPreferences.cpp
8959
sg_DlgPreferences.cpp
8962
- client: fix compiler warning.
8968
- Mac SCR: eliminate unused argument, add comments.
8971
mac_saver_module.cpp
8973
Mac_Saver_ModuleView.m,h
8976
- client: fix the updating of CPU time left in RR simulation;
8977
don't print msgs about non-CPU-intensive projects.
8984
- client, scheduler: there were a few places where we had 1e9
8985
instead of 1 gig (2^20)
8993
- client: fix a long-standing error: if prefs say leave X GB free,
8994
and BOINC is using Y GB, and there are Z GB free,
8995
the limit on BOINC is Y + Z - X (not Z - X).
9000
gui_rpc_server_ops.cpp
9007
- web: free result in count(). Fixes #763
9013
- client: fix compiler warning indicating real error in RR simulation.
9018
- client: fix bug that caused occasional assert in pop_heap()
9019
for the preemptable_task_list.
9020
The problem was that the ordering predicate (more_preemptable())
9021
could change on the fly, making the heap inconsistent.
9022
Instead, we create a vector, sort it by increasing preemptability,
9023
then pop off the end.
9029
- file_deleter: add -input_files_only and -output_files_only options.
9030
If you store input and output files on different servers,
9031
you can run 2 file_deleters, each one on the same machine
9032
as the files it's going to be deleting.
9033
- file_deleter: add -help option and usage()
9041
- MGR: Use Sleep instead of Yield for the async thread loop. On Posix
9042
systems all Yield translates to is sched_yield but only if
9043
HAVE_SCHED_YIELD is defined in the wxWidget config file. If it isn't
9044
defined it becomes a null op. The async thread doesn't really need
9045
millisecond response times. Have it check every 100 milliseconds
9046
for an RPC to process.
9052
- web: smooth things out a bit for confused users:
9053
- add a "forgot email address?" link
9054
- change text to say that the authenticator method can be used
9055
in case of forgotten email OR forgotten password
9056
- if bad password on login, show them the login form again
9057
(with email field populated)
9058
instead of a harsh failure message
9059
- if bad email on login, show login form again instead of harsh message
9060
- update authenticator method instructions
9061
with new BOINC data directory paths
9071
- client: preemptability ordering was messed up
9076
- MGR: Reverse earlier change in RPC thread logic: restore Yield() because
9077
Sleep(100) caused undesirable latency. Pause the thread immediately on
9078
receipt of wxEVT_RPC_FINISHED event. Reduce RPC thread CPU usage while
9079
not connected to a client.
9085
- MGR: Create an Exit dialog for the Manager.
9086
- MGR: Allow the manager to shutdown the CC even when it was installed as
9088
- MGR: Code cleanup.
9091
AdvancedFrame.cpp, .h
9093
BOINCClientManager.cpp
9095
DlgExitMessage.cpp, .h (Added)
9098
boincmgr_curl.vcproj
9101
- MGR: Provide a way to enable/disable launching from the BOINC Manager
9102
at startup from within the BOINC Manager itself.
9103
- MGR: Add a command line argument which specifies that the Manager was
9105
- SCR: Remove the code that checks for the BOINC Manager shortcuts.
9113
screensaver_win.cpp, .h
9116
- MGR: Fix Simple_GUI help button URL.
9117
- Mac: Add new source files DlgExitMessage.cpp,.h to XCode project.
9118
- MGR: On non-Mac and Non-Windows systems, have RPC thread call
9119
nanosleep() for 1 nanosecond instead of wxThread::Yield(),
9120
because some Linux systems may not support POSIX sched_yield(),
9121
in which case wxThread::Yield() returns immediately.
9122
- MGR: RPC thread: wait for connection with 1 ms delays initially,
9123
pause RPC thread after creation on non-Windows systems.
9128
sg_ProjectsComponent.cpp
9138
DlgGenericMessage.cpp
9141
- MGR: Bug fixes for the new Exit dialog.
9145
BOINCClientManager.h
9151
- MGR: Don't display the 'Run BOINC at startup checkbox' for
9152
any platform other than Windows. It has no effect on Mac
9153
since the Mac doesn't automatically start BOINC Manager
9154
with any command line arguments.
9160
- MGR: Add DlgExitMessage.cpp to Makefile.am.
9167
- fix scheduler error (can't end with \n)
9175
- MGR: Give the option to shutdown the CC even if the manager
9176
didn't launch it. This only applies to when the manager
9177
and client are on the same machine.
9183
- MGR: properly save the 'DisplayShutdownClientDialog' setting.
9189
- MGR: Async RPCs: RPC thread is now a joinable thread which does
9190
one RPC and exits. Main thread creates a new RPC thread for
9191
each RPC request after waiting for any previous RPC thread to
9192
exit. This simplifies the logic, eliminates Yield(), Sleep()
9193
and nanosleep() calls from RPC thread and will hopefully
9194
eliminate exess CPU usage on Fedora.
9198
MainDocument.cpp, .h
9201
- MGR: Async RPCs: fix memory leaks, KillRPCThread() tries to end
9202
thread gracefully before killing it.
9203
- MGR: On Mac only, remove checkbox asking whether to shutdown CC.
9204
- MGR: Fix crash bug on non_Windows systems in Options dialog.
9213
- MGR: Tweak the shutdown logic so that it can still shutdown the
9214
BOINC service even though it didn't start it.
9215
- MGR: It BOINC Manager starts the BOINC deamon on the mac don't bother
9216
trying to shut it down. (reverting to previous behaviour)
9220
BOINCClientManager.cpp, .h
9224
- MGR: revise exit dialog text, use the names in the skin file.
9230
- MGR: Revise text one more time.
9238
- client: make host CPID a function of:
9239
MAC addresses + hostname + IP addr
9240
This means that a given host will generally always get the same CPID.
9241
Helpful e.g. on grids where the client gets installed repeatedly.
9245
hostinfo_network.cpp
9250
boinc_cli_curl.vcproj
9254
- client: add OS name into the hash for host CPID
9255
(for multi-OS hosts)
9256
- scheduler: use sqrt(x) instead of x in stop-checking
9257
for single redundancy.
9260
hostinfo_network.cpp
9267
- MGR: Only tweak the BOINC was started by us variable on
9275
- Mac: Add new source files mac_address.cpp,.h to XCode project.
9276
- MGR: Fix compiler warnings on non-Windows builds.
9277
- MGR: Filter wxEVT_TASKBAR_MOVE events only on Windows.
9288
- API: remove debugging printf from trickly down code
9289
- API: use non-verbose option to zip
9290
- scheduler: if multiple_client_per_host is set,
9291
don't mark results as over if get repeat CPID
9302
- MGR: On Mac, restore using original exit dialog text from skin file
9303
or use old default if none in skin file.
9309
- MGR: fix verbose text
9315
- accelerate dup_element_contents()
9316
- manager: truncate task progress bar (display) at 100%
9324
- MGR: Move the old exit message from the SkinManager file to
9325
the new Exit dialog.
9326
- MGR: Consolidate the new exit message to one line. Sun Studio
9327
doesn't concat the seperate strings together during compilation
9328
like the other compilers to when building for Unicode.
9335
- MGR: Provide a way to re-enable the Exit Dialog.
9343
- Tag for 6.3.22 release, all platforms
9344
boinc_core_release_6_3_22
9350
Charlie 10 Nov 2008 (checked into boinc_core_release_6_3_22 tag)
9351
- MGR: Fix build break on non_Windows systems.
9352
- MGR: Provide a way to re-enable the Exit Dialog on non-Windows
9354
- MGR: Remove Exit() from RPC thread to possibly fix occasional crash
9355
on Windows; KillRPCThread() tries to end thread gracefully on
9356
Windows before killing it.
9365
- client: don't fclose() time_stats_log if it's NULL
7595
- client: show --no_gpus option in --help
7602
- client: don't preempt GPU jobs in middle of time slice
7608
- client: fix problems with job scheduling policy.
7609
Old: job scheduling has 2 phases.
7610
In the first phase (schedule_cpus()) we make a list of jobs,
7611
with deadline-miss and high-STD jobs first.
7612
Keep track of the RAM used,
7613
and skip jobs that would exceed available RAM.
7614
Stop scanning when the # of CPUs used by jobs in the list
7615
exceeds the # of actual CPUs.
7617
In the 2nd phase (enforce_schedule()), we add currently running jobs
7618
(which may be in the middle of a time slice) to the list,
7619
and reorder to give priority to such jobs,
7620
and possibly also to multi-thread jobs.
7621
We then run and/or preempt jobs, keeping track of RAM used.
7624
- suppose we add an EDF 1-CPU job to the list, then a MT job.
7625
We'll stop at that point because #CPUs is exceeded.
7626
But enforce_schedule() won't run the MT job,
7627
and CPUs will be idle.
7628
- Because the list may be reordered, skipping jobs based
7629
on RAM is not correct, and may cause deadlines to be missed.
7632
- when making the job list, keep track of #CPUs used
7633
by MT jobs and non-MT jobs separately.
7634
Stop the scan only if the non-MT count exceeds #CPUs.
7635
This ensures that we have enough jobs to use all the CPUs,
7636
even if the MT jobs can't be run for whatever reason.
7637
- don't skip jobs because of RAM usage
7638
- skip MT jobs if the MT CPU count is at least #CPUs
7641
- ignoring RAM usage in phase 1 can cause idleness in some cases,
7642
e.g. suppose there are 4 GB of RAM and the list has
7643
jobs that use 3 GB, but there are also some jobs that use 1 GB.
7644
I'm not sure how to fix this.
7645
- Maybe the 2-phase approach is not a good idea.
7646
We did it this way for efficiency,
7647
so that we don't have to recompute the job list
7648
each time a job checkpoints.
7649
But this is probably not a concern,
7650
and I like the idea of a simpler approach,
7651
e.g. reducing the policy to a single comparison function.
7657
- GUI RPC: parse GPU info, FLOPS from APP_VERSION records
7658
(client already sends this info)
7661
gui_rpc_client_ops.cpp
7665
- manager: show app speed and task FLOPs estimate in task Properties
7668
DlgItemProperties.cpp
7671
- client: gpu_active_frac was being computed incorrectly,
7672
resulting in various scheduling problems
9374
- API: free project prefs before parsing init file
9380
- web: don't show misleading message if forum rating disabled
9381
fixes #768; from Nicolas
9384
forum_report_post.php
9387
- upgrade: run "upgrade_db.php" correctly when "." not in search path
9388
Fixes #769; from Nicolas
9394
- example_app: don't build the graphics app by default.
9397
samples/example_app/
9401
- MGR: Erase and refresh entire Tasks panel when selecting a new tab
9402
to try to fix cosmetic bug reported by David on Windows.
9406
BOINCBaseView.cpp, .h
9409
- web: fix team join bug
9410
?? Why does omitting the "$" from a PHP variable
9411
cause PHP to emit a blank page? How about an error memssage?
9414
team_join_action.php
9417
- SVCCTRL: Introduce a new binary that is used to start and stop
9418
the BOINC service, if it is installed as a service.
9420
NOTE: If UAC is turned on in Windows Vista then even an
9421
administrator cannot start/stop a service without elevating
9422
their priviliages. The new application includes the
9423
requiresAdmin tag in its manifest file to cause the UAC
9424
dialog to be displayed when it is launched.
9427
boincsvcctrl.cpp, .h
9435
- Tag for 6.3.23 release, all platforms
9436
boinc_core_release_6_3_23
9443
- client (Unix): if app uses < 1 CPU, run at nice 10 (not 0)
9444
- client: suppress specious error message
9453
- MGR: Async RPCs: RPC thread is again a detached thread which stays
9454
running until Manager exits. Use wxCondition to block RPC thread
9455
when it is idle. This still avoids any Yield(), Sleep() and
9456
calls from RPC thread and reduces CPU usage from creating a new
9457
RPC thread for each RPC operation.
9461
MainDocument.cpp, .h
9464
boinc_core_release_6_4
9471
- MGR: Delete the new BOINC Manager, we are going to use the 6.2
9472
BOINC Manager for the 6.4 release.
9475
<various files deleted>
9478
- MGR: Add the 6.2 BOINC Manager.
9481
<various files added>
9484
- CLI: Fix build break after a stable branch creation.
9485
- MGR: Make the BOINC Manager compile again on Windows.
9486
- MGR: Make the BOINC Manager compile again on Linux.
9487
- MGR: Merge changes for the new exit dialog
9488
- MGR: Merge changes for the about dialog
9496
DlgExitMessage.cpp, .h
9500
gui_rpc_client_ops.cpp
9502
boincmgr_curl.vcproj
9505
- MGR: For each running task, display which processing
9506
resources it is using.
9513
- Tag for 6.4.0 release, all platforms
9514
boinc_core_release_6_4_0
9521
- MGR: Remove 6.5 Manager's localization files.
9526
- MGR: Add 6.2 Manager's localization files.
9532
- Tag for 6.4.1 release, all platforms
9533
boinc_core_release_6_4_1
9540
- Mac: Fix XCode project to build old Manager with Grid Views;
9541
rename SetVersion.C to SetVersion.cpp.
9548
- client: in round-robin simulation, only increment CPU shortfall
9549
(per-project or overall) if there are no pending tasks.
9550
This is needed when there are coproc (i.e. CUDA) jobs;
9551
CPUs may be idle because pending jobs are waiting for active jobs
9553
In this situation the CPU idleness should not be counted as shortfall;
9554
otherwise (if there are only coproc jobs) there will always be a shortfall,
9555
and the client will fetch infinite work.
9561
- DIAG: On Windows move the symbol store directory under the
9562
BOINC data directory structure. Depending on the version
9563
of Windows, sometimes the temp directory was being set
9564
to the system temp directory which is not setup for
9565
everyone to use. It is just best to use out data
9566
directory structure.
9572
- GUI RPC: add optional terms_of_use field to project config.
9573
If present, the manager will display this text in a yes/no dialog
9574
before attachment continues.
9578
gui_rpc_client_ops.cpp
9581
- MGR: Make the error message processing work for the
9582
get_project_config rpc, use the same scheme as
9583
the ACCOUNT_OUT structure.
9586
ProjectProcessingPage.cpp
9587
ProjectPropertiesPage.cpp, .h
9590
gui_rpc_client_ops.cpp
9593
- MGR: Make the error message processing work for the
9594
get_project_config rpc, use the same scheme as
9595
the ACCOUNT_OUT structure. I missed the Account
9596
Manager scenario in the first checkin.
9599
AccountManagerPropertiesPage.cpp, .h
9602
- client, Win: 32-bit client running on a 64-bit machine
9603
should report winx64 as primary platform
9609
- MGR: Remove the Account Key page from the Wizard.
9610
- MGR: Add a Terms of Use page to the Wizard.
9614
AccountKeyPage.cpp, .h (removed)
9615
AccountManagerPropertiesPage.cpp, .h
9617
ProjectProcessingPage.cpp
9618
ProjectPropertiesPage.cpp, .h
9620
TermsOfUsePage .cpp, .h (added)
9621
WizardAccountManager.cpp, .h
9622
WizardAttachProject.cpp, .h
9624
boincmgr_curl.vcproj
9627
- MGR: Make the Terms of Use text control read-only
9633
- MGR: fix exit dialog so that both the Mac and Linux clients don't
9634
display the 'close core client...' checkbox.
9641
- WININSTALL: Change the default to not use protected application
9643
- WININSTALL: Change the advanced install text to point out
9644
that on Windows Vista CUDA applications won't work with
9645
protected application installs.
9647
win_build/installerv2/
9652
- Tag for 6.4.2 release, all platforms
9653
boinc_core_release_6_4_2
9660
- client: work-fetch tweak: don't increment overall CPU shortfall
9661
if any jobs pending in simulation
9667
- client: use FLOPs, rather than CPU time,
9668
as the basis for estimating job completion times.
9669
This should improve estimates for GPU apps,
9670
and prevent the DCF from getting messed up.
7678
- client: comment out update_rec() call
7684
- client: comment out a debug msg
7690
- MGR: Fix the event log so that it doesn't store the event log's
7691
size information when it is in a minimized state.
7692
- MGR: Fix the close dialog issue on wxGTK, apparently there is a
7693
hidden flag that governs the handling of the GTK callback
7694
function. Fixes #962 (Thanks for the patch cli)
7697
DlgAdvPreferencesBase.cpp
7699
DlgItemProperties.cpp
7702
- Tag for 6.12.5 release, all platforms
7703
boinc_core_release_6_12_5
7710
- client, scheduler, RPC protocol:
7711
- If the scheduler doesn't have any app versions for resource type X,
7712
it includes an element <no_X_apps>1</no_X_apps> in the reply msg
7713
(e.g., <no_cpu_apps>1</no_cpu_apps>)
7714
- The client parses and stores these flags,
7715
and doesn't ask a project for work for a resource
7716
if the project doesn't have app versions for it.
7717
Apparently I started this change in [19375] (October 2009)
7718
and forgot to finish it.
7727
- client: fix "Snooze GPU"
7733
- client: change scheduling policy to allow multithread jobs to coexist
7734
with GPU jobs that use significant CPU time.
7735
Old: run a MT job only if total CPU usage will be < #CPUs + 1.
7736
So if you have some GPU jobs running and their CPU usage sums to < 1,
7737
BOINC will run a MT job too.
7738
But if CPU usage > 1 BOINC won't run the MT job,
7739
and some CPUs will be idle.
7740
Note: to maximize throughput, it might be better to run
7741
either GPU jobs or MT jobs, but not both at the same time.
7742
However, volunteers don't like it when CPUs are idle. So...
7743
New: ignore the CPU usage of GPU jobs in deciding whether to run MT jobs.
7744
So we'll run a 4-core MT job (at low priority)
7745
even if GPU jobs (which run at normal priority) use > 1 CPU.
7746
(Yes, the MT job might run very slow)
7752
- manager: don't show resources redundantly on task properties page
7755
DlgItemProperties.cpp
7759
- boinccmd: --get_cc_status now prints its result
7763
gui_rpc_client_print.cpp
7769
- client: fix yesterday's checkin [22661] for anonymous platform:
7770
if project P is anonymous platform
7771
don't request work for resource R from P
7772
if there is no app version using R in P/app_info.xml
7774
don't request work for resource R from P
7775
if P tells us it has no app versions using R
9674
7778
client_types.h,cpp
7783
- Mac SS: Minor tweak for use in debugging.
7786
mac_saver_module.cpp
7789
- MGR: Disable balloons on Linux for the time being.
7795
- Tag for 6.12.6 release, all platforms
7796
boinc_core_release_6_12_6
7803
- client: fix harmless compile warning
7809
- Mac Installer: remove obsolete kludge for generating x86_64 screensaver.
7815
- Mac Installer: eliminate wrapper application around install package
7816
(was only needed for OS 10.3.x support); set our custom icon in
7817
the install package "BOINC Installer.pkg".
7828
- Mac Installer: to permit remote install via SSH, suppress dialogs if
7829
COMMAND_LINE_INSTALL environment variable was set by command-line
7830
installer; if set, recognize two additional environment variables
7831
NONADMINUSERSOK (to allow non-admin users to run Manager) and
7832
SETBOINCSAVER (to set BOINC as screensaver for all BOINC users.)
7838
- client: improve the way credit history is maintained
7839
Old: maintain list of daily records.
7840
When add a new record, delete records older than a month
7842
If there's a gap in the record (e.g. because project was down)
7843
deleting old records may result in a list that
7844
has an entry only for today.
7845
Data for the last month is lost.
7847
When appropriate, adjust the date of old records
7848
rather than deleting them
7854
- Mac Installer: It turns out that the command-line installer clears all
7855
environment variables, so instead of checking environment variables
7856
during command-line installs, we check for the existence of files
7857
/tmp/nonadminusersok.txt and /tmp/setboincsaver.txt. In normal GUI
7858
installs, these are ignored and the normal BOINC installer dialogs
7859
are used to determine these options. See the comments at the top of
7860
PostInstall.cpp for details of doing command-line installs on remote
7869
- Mac Installer: Better handling of custom installer icon.
7878
- MGR: Statistics tab: in graph showing sum of selected projects, always
7879
show statistics for the last 30 days. This is now possible due to
7880
November 20 changes to the way credit history is maintained.
7886
- client: account manager RPC:
7887
Additions to request message:
7888
<not_started_dur>X</not_started_dur>
7889
<in_progress_dur>X</in_progress_dur>
7890
The estimated remaining duration of unstarted
7891
and in-progress tasks
7892
Additions to reply message, within <project>, optional:
7893
<suspend>0|1</suspend>
7894
suspend or resume project (overrides local state)
7895
<abort_not_started>0|1</abort_not_started>
7896
if set, abort unstarted jobs
9676
7903
cs_scheduler.cpp
7904
gui_rpc_server_ops.cpp
9681
- client: estimate time to completion based on elapsed time, not CPU time
9682
(improves estimates for coproc apps)
7909
- client: Add support to detect VirtualBox VM software.
7918
- sched: Parse the detected virtual machine software from
7919
the scheduler request so it can be used in plan classes.
7927
- client and scheduler: a client host may have multiple VM systems installed.
7928
TODO: check for VirtualBox on Mac, Linux
7941
- client: Add support to detect VirtualBox VM software on Mac.
7947
- win_tray: Add logging support to trap crashes.
7955
- client: in account manager requests,
7956
include the following per-project attributes:
7957
suspended_via_gui, dont_request_more_work, detach_when_done, ended
7963
- client: restore code to maintain recent estimated credit
7970
- client: Add VirtualBox detection for linux
7977
- MGR: Switch to the tasks tab when a request to execute benchmarks has
7978
been requested. The messages tab no longer exists.
7984
- client: fix bug where client would ask project for work for a resource
7985
even when the project doesn't have app versions that use the resource.
7986
TODO: there are 2 functions,
7987
compute_may_have_work() and dont_fetch(),
7988
that do the same thing and both have misleading names.
7995
- client: Copy the AltiVec CPU feature to the p_features field, leave
7996
AltiVec in the host model field for backwards compatibility.
8002
- client: implement more scheduler changes that use
8003
recent estimated credit (REC) instead of debt.
8004
These changes are enabled by
8007
If this is commented out (the default) the client uses
8008
debt-based scheduling, same as before.
8009
TODO: work-fetch policy changes
8010
- client simulator: various fixes:
8011
- compute idle and wasted fraction based on all processing resources,
8013
- compute job completion times based on FLOPS, not CPU seconds
8014
- compute and use project->no_X_apps
8022
gui_rpc_server_ops.cpp
8028
- GUI RPC, client side: add error-checking for CC_STATE::parse();
8029
avoid crash if error or missing item in reply XML
8035
gui_rpc_client_ops.cpp
8038
- client: fix compiler warning.
8044
- client: work fetch fix: try to maintain GPU work all projects,
8045
since we now do round-robin for GPUs as well as CPU.
8046
NOTE: this bug was found using the client simulator!
8053
- client: do exponential backoff (from 10 min to 24 hours)
8054
on account manager RPC failures,
8055
rather than always waiting 24 hours
8063
- client: fix crash bug.
8069
- client: use <foo>0|1</foo> instead of <foo/> or "" as XML boolean.
8070
This distinguishes between "false" and "not defined"
8071
(did this in a few places, should do it everywhere)
8078
- client: send host info in account manager request message
8084
- client: on startup, generate a notice if any jobs require more RAM
8085
than is allowed by prefs
8092
- MGR: Use standard menus, even on Windows, for the Simple GUI.
8095
sg_StatImageLoader.cpp
8098
- Tag for 6.12.7 release, all platforms
8099
boinc_core_release_6_12_7
8106
- lib: The custom Mac backtrace code doesn't work on Intel Macs running
8107
under OS 10.5.x, so use newer backtrace() and backtrace_symbols()
8108
APIs under OS 10.5.x, with explanatory text suggesting alternatives.
8109
(Checked into 6.12.7 tag.)
8116
- Mac Installer: Updates for OS 10.6.5 compatibility.
8117
(Checked into 6.12.7 tag.)
8126
- client: fix major bug in job scheduling
8127
Old: scheduling has 2 phases:
8128
1) computing a list of jobs to run (a vector of RESULT*);
8129
this is done infrequently
8130
2) enforcing the schedule; this is done more frequently
8132
when we enforce the schedule,
8133
the RESULTs in the jobs-to-run list may not still be runnable,
8134
and in fact they may not still exist (dangling pointer).
8135
New: combine the 2 phases
9686
8139
app_control.cpp
9690
- client: compute duration_correction_factor based on elapsed time, not CPU time
9691
(otherwise it doesn't work for coproc or multi-proc apps)
9692
- client: in estimate of job completion time,
9693
weight the estimate based on fraction done more heavily
9694
(quadratic rather than linear)
9703
- Remove the notion of "CPU efficiency" from both client and server.
9704
This wasn't being measured correctly for coproc/multithread apps,
9705
and its effect is now subsumed in DCF.
9724
- client: fix calculation of CPU shortfall;
9725
don't fetch work from projects with zero CPU shortfall
9732
- client: fix compiler warning.
9738
- client: parse checkpoint_elapsed_time from state file;
9739
if missing, use checkpoint CPU time.
9740
- client: enforce CPU schedule: if we're running a coproc job,
9741
keep CPU utilization strictly less than NCPUS.
9748
- client: fix last checkin
9754
- Tag for 6.4.3 release, all platforms
9755
boinc_core_release_6_4_3
9762
- WININSTALL: Disable "Protected Application Execution" mode
9764
- WININSTALL: Turn off the check for Internet Explorer 5.x
9766
win_build/installerv2/
9769
win_build/installerv2/redist/Windows/Win32/
9772
win_build/installerv2/redist/Windows/x64/
9777
- client: app_info.xml's are parsed before p_fpops is known,
9778
so avp->fpops is zero.
9779
Fix this by filling in zero avp->fpops later on.
9786
- Tag for 6.4.4 release, all platforms
9787
boinc_core_release_6_4_4
9794
- client: tweak CPU scheduling policy. When there's a coproc job:
9795
Windows: don't saturate CPUs
9802
- client: in round-robin simulation, remove code that sets CPU shortfall
9803
for projects with no active results.
9804
This is now wrong because there coproc apps might have pending results.
9805
Also remove nidle_cpus > 0 conditional that increments CPU shortfall;
9806
I think this is vestigial code.
9812
- client: include deviceOverlap and multiProcessorCount
9813
in XML for CUDA devices. They were mistakenly omitted.
9819
- client: in round-robin simulation, don't count a project in
9820
total resource share if it has coproc jobs and no CPU jobs.
8145
- client: slightly change detach scheme for account managers.
8152
- client, acct manager protocol:
8153
allow <no_cpu>, <no_cuda> and <no_ati> bools
8154
within <account> in reply message.
8155
They suppress work fetch for that resource type from that project.
8164
- client: fix scheduling bug.
8165
The round-robin simulation wasn't handling multithread jobs correctly.
8166
For example, given two 3-CPU jobs,
8167
it would model running them together on a 4-CPU host.
8168
This doesn't correspond with the CPU scheduler,
8169
which runs only 1 at a time.
8170
So the simulator would say that there are no idle CPUs
8171
when in fact there are, and no new CPU jobs would be fetched.
8177
- client: fix typo that broke communication with account managers
9826
- MGR: fix the terms of use wizard page.
9832
- Tag for 6.4.5 release, all platforms
9833
boinc_core_release_6_4_5
8183
- Tag for 6.12.8 release, all platforms
8184
boinc_core_release_6_12_8