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