Subject: CVS commit: pkgsrc/net/mldonkey
From: Thomas Klausner
Date: 2006-07-02 13:05:38
Message id: 20060702110538.77699211CA@cvs.netbsd.org

Log Message:
Update to 2.7.7:

2006/06/19: version 2.7.7 = tag release-2-7-7
5196: IP: Store IPs with two int values instead of four to save RAM (pango)
5195: BT: Log tracker error messages in UTF-8
5194: HTML: Print warning on opening page when enable_servers is set to false

2006/06/18
5191: HTML: remove sysinfo on opening page & option motd_html
5192: Fix deactivation of verbosity "gui"
5163: Configure: CVS SCM support for Mac OS X 10.3 (gstat)

2006/06/17
5158: HTML: Use table for printing buildinfo and runinfo data (schlumpf, pango)

2006/06/16
5187: New option: BT_import_new_torrents_interval,
      ignore Thumbs.db & desktop.ini in directory lists
5186: GUI: Send only non-empty real_startup_message string

2006/06/15
5156: HTML, improve Options output (schlumpf)
* new command html_mods_use_js_helptext (true|false)
  to change display of helptext between javascript popup`s and html table
* fix some padding and border bugs
* add "toggle js_helptext" button to 'vo' and 'voo' to directly toggle \ 
the style

2006/06/12
5061: New option small_files_slot_limit to push release of small files (pango)
      all files below the configured file size (default 10kb) are uploaded
      through one reserved slot
5144: Increase default max_upload_rate to 10 (schlumpf)
5177: HTML, Options: update display after changing options (schlumpf)
5176: Swarming: Change error message text and verbosity for BAD WRITE
      BAD WRITE is not really an error, MLDonkey just receives unwanted data
5175: GTK1 oldgui: Last compile fix for abstract verification bitmaps (pango)
5174: Abstract verification bitmaps:
      compile fixes for GTK1 GUIs, move generic code to CDK (pango)
5173: Swarmer: Small fix for merged downloads (WIP7b') (pango)

2006/06/11
5172: EDK: Log error which causes pausing a download
5171: New command group "Driver/Users",
      print help text for "Bad number of arguments" error message
5170: Fix default max_indirect_connections, minimum is 30
5169: HTML, Options: add description to option section buttons,
      remove 'save' button (schlumpf)
5168: Global module to abstract verification bitmaps (pango)
5167: Swarmer: Fix saving ini data for merged downloads (pango)
5166: Swarmer: New module to abstract verification bitmaps (pango)

2006/06/07
5164: CommonSwarming: Pangos WIP5e'
* When cutting a range, the reciprocal link of the range after the right part
  still references the left part
* When cutting a block in two parts can before empty, but then can also before
  complete (if they have no ranges left)
* Added bad_writes_is_back patch
* When find_range can only find ranges already being downloaded, it now first
  does a quick check to see if there's no other, probably more interesting,
  blocks remaining. If so, it forces a block change (report no more ranges left)
* While it's a good feature in itself, it's probably a workaround for a bug in
  select_block (?); It seems that blocks oversaturated with sources happen way
  too often (4 or 5 sources on a single range shouldn't happen).
* Compute the size of unselected ranges in each blocks, so that sources don't
  "rush" on blocks just left by a source.
* Some BAD WRITEs seems to happen because we forget ranges we requested
  (when switching blocks ?)
* Replaced call to clear_uploader_ranges by a call to clear_uploader_intervals
  in BitTorrent support Choke message handler.
5063: EDK: remove duplicate entries in shared_files_new.ini (pango)
5160: Remove stale avifile.ml, clean commonMultimedia logging
5159: Compute magic values only when needed
5157: add some line breaks to option help text for shorter lines (schlumpf)

2006/06/01
5153: New command: force_web_infos to manually download web_infos URLs
5152: Do not connect friends from disabled networks
5151: Options: New stringvalue functions needed for multiuser support
5150: Log: Fix log when server list is empty in check_blocked_servers

2006/05/31
5149: Log: Some additions for commonSwarming
5148: Mail: Fix for multiline SMTP responses (zet)
5143: HTML/Telnet: Country codes for servers
5147: G1/G2: Display proper filename (and therefore support rename) (zet)
5145: EDK: Fix md4 hashing when filesize is an exact multiple
      of edk chunk size, MLDonkey is now eMule-compatible (zet)

2006/05/30
5141: Swarmer: New option swarming_block_selection_algorithm (pango)
* Allow to choose swarmer block selection algorithm at runtime.
  - Algorithm 1 is the current default algorithm
  - Algorithm 2, from WIP3o patch, should try harder to complete partially
    downloaded chunks, specially with Bittorrent. It was previously
    reverted because of unknown performance problem (slower download ?)
5140: Update .cvsignore files (pango)
5138: Catch ip banned exception (zet)
5137: HTML: Fix display of file magic values with '
5136: FileTP: fixes and enhancements (zet)
* Add "FTP-chunk_size" option (0 = no chunks = download full file at once)
-- A chunk_size would be required if downloading from > 1 source
* Add FTP downloads to bandwidth controller (for stats & speed limiter)
* Support FTP sites that do not buffer input (MS FTP)
* Add support for user/pass (http://user:pass@site or ftp://user:pass@site).
  This also adds user/pass support to http_client.
* Error codes from HTTP (ie: 404) and some from FTP are supported (530 sometimes
  signals a retry, sometimes a login failure so a regex was used (lftp)).
  Downloads are paused when a hard error is received (and noted in the log).

2006/05/25
5131: New option gui_log_size: number of lines for GUI console messages
5129: HTML: Display client_bind_addr in options menu
5124: Log: Login messages can be disabled with verbosity "no-login"
5130: CommonSwarming: Pangos WIP4a'
thanks for testing goes to SchAmane, CruX, jave (forgot someone?)
That's a huge patch over CommonSwarming module (whose job is to select what data
to ask from connected sources, and the merging of received data),
I hope I'm not forgetting anything important :
* first, it's a mantainance patch; Lots of code have been reworked for
  readability and compactness (iterators...), functions grouped together,
  sometimes renamed to more descriptive names. Lots of comments have been added,
  including the description of invariants I've found, and a nice ASCII art
  schema of the swarming datastructures ;)
* naming has been made more consistant, to differenciate chunks (from each
  network view) from blocks (internal to swarming), and intervals (list of
  int64 * int64 beggining/end offset pairs)
* Support for bitmaps encoded as strings (AvailableCharBitmap) removed, since
  it's no longer used anywhere; use the more compact AvailableBitv instead
* Removed range_current_begin from ranges, it's enough for a range to have a
  beginning and a end ;)
* Rewrote compute_block_num to have precise preconditions, and algorithm proof
* Added some assertions to better enforce invariants
  (on verification bitmaps, for example)
* Allocation of ranges is now delayed until the very last moment, instead of
  when a chunk starts being downloaded. Main benefit (beside small memory gain)
  is that requests for different ranges sizes can be fulfilled at any time.
* Modified received function so that no BAD WRITE message can happen anymore:
  condition when data that does not start from the beginning of a range is
  correctly detected and data discarded
  (since ranges cannot handle that case anyway)
* Rewrote a much simpler version of present_intervals
* Rewrote block selection algorithm for readability and flexibility; select_block
  simply "folds" over all available blocks, using compare_choices \ 
function to
  keep the best available one(s). May need some more CPU (no fast exit)
* Fixed donkey uploaders calls when disconnected
* Reenable the copy of identical chunks between files. Opportunities for copies
  are checked every 5 minutes.
* Made file writing a bit smarter in Unix32 module so that writing zeroed chunks
  (as can happen a lot with chunks copying) on an otherwise sparse temp file
  does not allocate disk space. A bit hackish.

2006/05/23
5121: EDK: Remove obsolete option emule_compression
5122: improve block_list output and runinfo ip blocking (schlumpf)
5123: Fix Invalid_argument("UTF8.length") bug in HTML, down-/uploaders

Files:
RevisionActionfile
1.19modifypkgsrc/net/mldonkey/Makefile.common
1.30modifypkgsrc/net/mldonkey/distinfo