Merge branch 'upstream'
[mldonkey.git] / docs / ChangeLog.old
bloba1dba9727b5e4c14bdd3d47e4aab479ea1c2d7ba
1 ChangeLog
2 =========
4 All numbers mentioned here can be found as patches on
5 http://savannah.nongnu.org/patch/?group=mldonkey
7 2009/10/23: spiralvoice
9 Split Changelog, all stuff newer than 2.8.7 is now in distrib/ChangeLog
10 -------------------------------------------------------------------------------
11 2007/06/03: version 2.8.7 = tag release-2-8-7
12 5988: BT: Completely parse handshake packet of newer BT clients (thx to Berni)
13 - this patch should fix the serious performance problem with BT downloads
15 2007/06/02
16 5987: GeoIP: Small cosmetical fix for loading GeoIP.dat (pango)
17 5986: Fix GC problem in bz2 code (pango)
19 2007/06/01
20 5891: Disconnect clients we download from when a file is queued/paused
21 5905: Replace old DirectConnect module with new DC++ code (alffa)
22 - enable it with ./configure --enable-directconnect
23 - bzip2 support is manditory
24 - preliminary docs: http://mldonkey.sourceforge.net/DirectConnect
25 -------------------------------------------------------------------------------
26 2007/06/01: version 2.8.6 = tag release-2-8-6
27 5984: EDK: Small log updates
29 2007/05/31
30 5982: Save archives used for ini files backup with rights 600 (pango)
31 5981: EDK/Swarming: Download first 9MB first for preview,
32       not 10MB to avoid downloading second chunk too early (pango)
33 5972: GeoIP: Load GeoIP.dat into RAM (pango)
35 2007/05/28
36 5976: Search for autoconf261 in ./configure
38 2007/05/27
39 5940: GeoIP: Reduce disc access to lower CPU usage
40 - store computed country values in client/server structures
41 - EDK: fix a bug where a firewalled client was displayed with IP 0.0.0.0
42 - new verbosity level "geo" to monitor access to GeoIP.dat
44 2007/05/23
45 5961: Include compile patch for Ocaml 3.08.3
46 5956: Remove unused files src/networks/donkey/donkeyIndexer.ml*
48 2007/05/22
49 Updated Mozilla protocol handler to version 2.1
50 - original source from http://www.informatik.uni-oldenburg.de/~dyna/mldonkey
52 2007/05/21
53 5944: configure: Allow use of Ocaml 3.10.0, keep 3.09.3 as default
55 2007/05/08
56 5897: FileTP: Support HTTP downloads of files > 1GB
57 5815: Unix32: Override system umask to force correct function
58       of option create_file_mode (pango)
59 5912: Extend patch 5817: "Code updates for Ocaml 3.10.0beta compatibility"
60       to Ocaml 3.11
61 5910: EDK: Revoke upload slot when client asks for blocks positioned after EOF
62 5908: Fix commit when incoming filesystem allows more than 16M chars
63 5906: Telnet/BT: Display clients country code without HTML in vd <num>
65 2007/04/28
66 5903: commonPictures: Update favicon.ico (meto)
67 5902: Updated italian translation for mldonkey (surricani)
68 5901: Updated german translation for mldonkey
69 - taken from german wiki: http://www.mldonkey.org/wiki/index.php/Mlnet_strings
70 5900: Updated italian translation for mldonkey (surricani)
72 2007/04/26
73 5898: Updated italian translation for mldonkey (surricani)
75 2007/04/25
76 5892: Updated italian translation for mldonkey (surricani)
78 2007/04/24
79 5888: Partial italian translation for mldonkey (surricani)
80       stored in ./distrib/i18n/mlnet_strings.it_IT.UTF-8
81 5718: Improve command "nu"
82 - close all upload slots
83 - do not give an upload slot to clients in pending slot
84 - restrict command "nu" to admin users
85 -------------------------------------------------------------------------------
86 2007/04/23: version 2.8.5 = tag release-2-8-5
87 5855: Increase Unix32.max_cache_size, fix max_opened_connections check
88       (thx to pango)
90 2007/04/21
91 5878: HTML: Fix preview in vd <num> broken by patch #5866
93 2007/04/20
94 5876: HTML: Send mime-type video/mpeg for file extension .vob
96 2007/04/19
97 5857: EDK: Remove upload compression (patch #5665) due to ineffective caching
98 5875: Swarmer: Some cosmetic changes (pango)
99 5856: EDK: Set TCP backlog to max_upload_slots for donkey_port socket
100 5869: EDK/Swarmer: Try harder to read corrupt files.ini
101 - reset chunk table to missing after re-creating a missing temp file
102 - discard swarmers without files entry in files.ini instead of stopping
103 - check that partial hashes file_md4s match with file_md4 when reading files.ini
104 5870: Updated distrib/mldonkey_submit, it now uses command dllink instead of dd,
105       it also supports http and sig2dat links (atordo)
107 2007/04/13
108 5866: HTML: fix third button row to also successful act within frames (schlumpf)
110 2007/04/12
111 5867: EDK: Show country code/flags for indirect clients
112 5862: BT: Informative GUI console messages after sending a .torrent file to GUI
113 5859: HTML: Support sending files from $MLDONKEY_DIR/html_themes/
115 2007/04/10
116 5861: HTML: Fix errors reported by w3.org validator in html_header_mods0
117 5860: HTML: fix broken refresh on Opera/Safari (schlumpf)
119 2007/04/08
120 5854: Set share_scan_interval = 0 to disable scanning of shared directories
121 5853: New option defaults
122 - download_sample_size 100, 10 is too low, download rate is computed wrong
123 - ED2K-propagate_sources false, this activates outdated MLDonkey-style source
124   exchange, MLDonkey supports eMule-style source exchange which is not affected
125   by this option
126 - ED2K-update_server_list_server should be false, there are lots of fake servers
127   out there, trust only servers from trusted server lists. For more details read
128   http://mldonkey.sourceforge.net/ServerList#Fake_search_results
129 - ED2K-upload_full_chunks should be true to reflect the same default eMule uses
130 - ED2K-upload_compression_table_size should not be smaller than max_upload_slots
132 2007/04/03
133 5821: New variables for file_completed_cmd:
134       file_group_cnt, file_group_user, file_group_dir
135 5849: EDK: Report correct short versions for Windows clients
137 2007/04/02
138 5847: BT: Fix exceptions when handling BT clients as friends
139 5845: Do not reverse order in files.ini after restart (pango)
140 5844: HTML: Keep totals line when sorting statistics tables (schlumpf)
141 -------------------------------------------------------------------------------
142 2007/04/01: version 2.8.4 = tag release-2-8-4
143 5840: Some small stuff (logging, code improvements)
144 5839: IP block: Scan all files inside a .zip file when loading
145       a blocklist, use the first valid file
146 5831: BT: New option BT-tracker_retries
148 2007/03/26
149 5819: MinGW: Fix charsetstubs.c compile with latest MinGW
151 2007/03/25
152 5817: Code updates for Ocaml 3.10.0beta compatibility
153 - to use Ocaml 3.10 add ./configure option --enable-ocamlver=3.10
154 - MLDonkey will accept the new Ocaml version without this option when
155   the final version of Ocaml 3.10 is released and proven to be working
156 - GTK1 oldgui does currently not compile with Ocaml 3.10 code
157   - lablgtk1 & lablgtk2 compile with Ocaml 3.10, but some MLDonkey code
158     still needs fixing, GTK1 newgui and GTK2 gui compile with Ocaml 3.10
159 - parts of the patch by pango
161 2007/03/24
162 5813: Options: Use original file rights in tar.gz backup,
163       save backups with rights 600
165 2007/03/18
166 5807: Implement new command "man" to display command help
168 2007/03/17
169 5806: Update GNU config.guess and config.sub to version 2007/01
170 5775: http_client: Fix loading URLs with ()' (orbit)
171 5781: web_infos: Load local file if remote file can not be accessed
172       (thx to xergius)
173 5802: Telnet: Support non-ascii input (Hung-Te Lin)
175 2007/03/16
176 Updated Mozilla protocol handler to version 2.0
177 (re-committed after data loss due to Savannah crash on 2007/03/12)
179 2007/03/11
180 5799: Flags: Added Aland Islands, Guernsey and Jersey,
181       fixed debug_pictures command
182 5797: Remove unused source code in src/applets/*
183 5775: removed, it breaks BT downloads
184 5775: HTML: Fix url parsing for URLs with ()' (orbit)
185 5774: BT: fix upload managment (orbit)
186 5786: HTML: small javascript search improve (orbit)
188 2007/03/08
189 5787: HTML/Geoip: Show country flags
190 - new option html_flags to disable display of flags 
191 - favicon.ico now built-in
192 - fix sorting bug in costats (thx to orbit)
194 2007/03/06
195 5784: Gd: Implement binding for function gdImageFilledArc
196 5773: Geoip: Country-based up-/download statistics
197 - new ini file statistics.ini, to be used later for all statistics
198 - new command "costats", accepts parameters:
199   without parameter it displays all countries where data was transfered to
200   parameter "all" displays all seen countries, countries where MLDonkey never
201   saw a client are not part of the statistics data
202   regular expressions can be used for country names/codes and continents,
203   like "costats *aus*" (Austria and Australia), "costats *europe* *africa*"
204 - new command "countries" to print country database
205 - new command "reset_costats" to reset country statistics
206 - mem_stats support for modules CommonStats & Geoip
207 - updated country database based on GeoIP 1.4.2 C-library
209 2007/03/04
210 5765: Change hard-coded maximum value for client_buffer_size
211 - default stays at 500.000
212 - for high-volume links raise this value to 1.000.000 or higher
213 5767: HTML: Improve bw_stats
214 5768: New default for option messages_filter (thx to atordo)
215 5766: Windows/Unicode: Fix broken get_info function for non-ascii filenames
216 5782: Improve CommonNetwork.network_display_stats function
218 2007/02/28
219 5757: Some improvements for byte-code build
220 - "make utils" now builds byte-code if needed
221 - new build targets: mlnet.byte.static, release.mlnet.byte.static
222 - print configure infos when byte-code is to be compiled
223 - buildinfo prints the binary name if not "mlnet" or "mlnet.static"
224 - remove some unneeded variables from configure
225 5759: OV/KAD: improve stats, remove obsolete options, save bandwidth (bogeyman)
227 2007/02/19
228 5754: mld_hash: Compute AICH hashes (thx to pango)
229 - parameter hash takes new option: aich to compute eMule AICH hashes
230 - new parameter partial_zone: Display hashing of zones (subparts of chunks)
231 - new parameter check_keep, keep files after checking functions (-check) for later testing
232 - parameter check, option filesize is now Int64 and in bytes
233 5752: Fix core hanging on ARM CPUs
234 5750: EDK: New option upload_compression_ext_exclude (thx to pango)
235 - space-separated list of file extensions which are not compressed when uploaded
237 2007/02/18
238 5753: Multiuser: New variable $USER_MAIL for file_completed_cmd
239 5751: Improve startup log messages, remove unused code, optimize Date code
240 5749: BT: recognize more BT client types (orbit)
241 5748: KAD/OV: Limit searches for sources (bogeyman)
243 2007/02/15
244 5738: Remove obsolete multicast files (orbit)
245 5743: BT: Show shared torrents in upload list after commit (xergius)
246 5744: EDK: Fix SecureUserIdent between machines with different endianness
247 -------------------------------------------------------------------------------
248 2007/02/11: version 2.8.3 = tag release-2-8-3
249 5734: Update camlzip to version 1.03 (thx to orbit for reporting)
250 5735: BT: Fix make_torrents to sort dictionary entries alphabetically
251       Bittornado did not read MLDonkey-made torrents (amadeo)
252 5737: MinGW: Work-around missing Unix.fstat
253 - fixes failed removal of torrent files from torrents/[incoming|downloads]
255 2007/02/06
256 5719: Unix2: Fix copying files > 1GB (1073741823 bytes),
257       bug was introduced by patch 5589 after release of 2.8.2
259 2007/02/04
260 5724: http_client: Retry GET request if HEAD request returns http error 400
261 5723: HTML: print tracker errors in html table at 'vd <num>' (Schlumpf)
262 5722: HTML: use Printf2.html_mods_cntr () for table row classes (Schlumpf)
263 5720: Swarmer: block choice algorithm 2 from patch 5141 is new default
264 - remove swarming_block_selection_algorithm = 1
265   because it finishes chunks too slowly
266 - remove swarming_block_selection_algorithm = 3 from TripleM
267   because it uses too much CPU power.
268 - remove option swarming_block_selection_algorithm, hard-coded default is now 2
269 - remove option block_switching, hard-coded default is now true
271 2007/01/30
272 5717: Optimize function print_command_result
274 2007/01/28
275 5715: Improve porttest (Schlumpf)
276 - use 'porttest' command to start the network porttest the first time,
277   after this to see the results
278 - new command 'force_porttest' to force an new porttest
279 - improve html porttest output and make it also available in telnet
280 5716: EDK: Do not send share list to servers with state Connecting
281 5713: HTML: show messages link in vd clickable (Schlumpf)
283 2007/01/25
284 5712: Multiuser: New verbosity "com" to log commands by non-admin users
285 5711: Multiuser: Block commands preferred, bs, bp, port for non-admin users
286 5642: Swarmer: swarming_block_selection_algorithm = 3 (TripleM)
287 - this new algorithm select always the rarest choice, if average availability
288   is below 5, or one choice_availability is below average availability
289 - added a hashtable to store blockmaps of uploaders for a given swarmer
290 - long term memory usage has to be observed
291 5710: Swarmer: Fix chunk propagation (pango)
293 2007/01/21
294 5693: "voo changed" prints changed options only, useful for support (Schlumpf)
295 5698: EDK: fix display of porttest result images (Schlumpf)
296 5699: Multiuser: Fix wrong file path (user_commit_dir) in notification mail
297 5695: Command "set": better error text if option does not exist
298 5694: Fix small typo in buildinfo
300 2007/01/17
301 5673: New core start parameter: -useradd "user pass", needed for Debian package
302 5678: New options for command force_web_infos: kind/URL (thx to Schlumpf)
304 2007/01/15
305 5691: EDK: Recognize compatibleclient 60: IMPmule (imp-project.net)
306 5689: EDK: Log downloading file name when client disconnects
307 5684: GUI: Fix build of mlprogress (Alt linux)
308 5677: Options: New concept of option types, fix non-admin Sancho http preview
310 2007/01/11
311 5665: EDK: Support compressed upload, implement file read cache (TripleM)
312 new options:
313 - ED2K_upload_compression to enable compressed upload, default true
314 - ED2K_upload_compression_threshold, default 2000 bytes
315   Size difference in bytes between one zone (180 kBytes) and its compressed
316   counterpart, which has to occure, to send compressed parts instead of plain.
317 - ED2K_upload_compression_level, Zlib compression level, default 9
318 - ED2K_upload_compression_table_size, default 20
319 5669: HTML: Add HTML headers to prohibit browser-side caching (Schlumpf)
320 5671: Configure: Fix question whether to compile lablgtk, same as patch 5401
321 5675: Updated Mozilla protocol handler to version 1.10
323 2007/01/08
324 5666: New option upload_complete_chunks (TripleM)
325 - default false, if true, each client is allowed to complete only one chunk,
326   independent, if it is empty or partial. this setting overrides
327   upload_full_chunks and dynamic_upload_lifetime, but is, as a failsafe,
328   limited by upload_lifetime (should be set reasonable high)
329 5664: EDK: Avoid uploading data more than due
330       to eMules rotating block requests (pango)
331 5596: EDK: New option upload_full_chunks (thx to TripleM)
332 - If the new option upload_full_chunks is set to true, each client is
333   allowed to receive one chunk, this setting overrides upload_lifetime.
334   Well, not exactly one chunk. eMule has this code in opcode.h:
335     #define SESSIONMAXTRANS (PARTSIZE+20*1024) //
336     "Try to send complete chunks" always sends this amount of data
337   MLdonkey now does the same, if upload_full_chunks is true and client A got
338   9728000+20*1024 bytes during the current session its upload slot will be
339   revoked unless pending slots are empty.
340 5619: EDK: Print network specific infos in command "vc <num>",
341       remove unneeded fields from client structures
342 5627: commonHasher: fix wrong arg types from several functions (Schlumpf)
343 5626: MinGW: fix missing declarations and wrong pointer
344       initialization in stubs_c.c (Schlumpf)
346 2007/01/06
347 5599: EDK: Support for files >4GB (TripleM, pango)
348 - this patch does not include >4GB support for Kademlia
349 5660: Swarming: Enable wrongly disabled select block memoization (pango)
350 5659: GD: Fix wrong months display (skeeve)
352 2006/12/08
353 5617: New option share_scan_interval
354 - how often (in minutes) should MLDonkey scan all shared directories
355   for new/removed files, default one minute
356 - on slow machines raise the interval to a higher value to reduce CPU load
357 - to force a re-scan of shared directories use command "reshare"
359 2006/12/06
360 5613: Another longhelp cleanup (anhi)
361 5615: EDK: Parse more fields from server.met files
363 2006/12/04
364 5612: EDK: OP_HELLO tag 0x75, print os_info in logfile
366 2006/12/03
367 5602: HTML: Display share status in upstats
368 5609: New field type Field_KNOWN, EDK: recognize more HELLO/EmuleInfo tags
369 5610: CommonSources: Cleanups and reformatting the code (pango)
371 2006/12/02
372 5608: Multiuser, chgrp: Prevent change of file_group to None
373       if the user is not file_owner
374 5607: Multiuser, chown: Change file_group to user_default_group
375       if the new user is not member of file_group
376 5606: Introduce display of session transfer values
377 - new columns for session up-/download
378 - send session values to GUIs
380 2006/12/01
381 5605: HTML: Fix search list display when html_checkbox_search_file_list = true
383 2006/11/29
384 5598: Remove use of deprecated sort module, remove unused sort2.ml* (pango)
385 5589: New option create_file_mode,
386       rename create_dir_mask to create_dir_mode (pango)
387 5595: EDK: Fully parse emule_miscoptions1/2
388 5594: EDK: If update_server_list_client true, add yet unknown server
389       of lowid clients
390 -------------------------------------------------------------------------------
391 2006/11/29 version 2.8.2 = tag release-2-8-2
392 5597: GD: New option html_mods_vd_gfx_h_intervall
393       (compute values for hourly graph every x minutes) (skeeve)
395 2006/11/28
396 5591: EDK: Fix small file search result parsing
398 2006/11/26
399 5590: EDK: .gz & .bz2 support for command "servers"
400 5581: EDK: Improve server logins, send fewer data, minor improvements
401 - Copied eMule behaviour:
402   - send fewer data to server during login, support server capability "newtags",
403     same opcodes as in eMule are used
404   - UDP ping servers once per 4,5h - (random of 1s-1h)
405   - UDP server statistic request during every second UDP ping
406     (~9h, not once per hour like before)
407   - request serverlist from server only when ED2K_update_server_list_server true
408   - ping one server per 5s
409   - remove servers after 10 unsuccessful UDP pings
410   - save challenge values sent with UDP server statistic and description request
411     and dismiss answers containing wrong challenge
412 - New functions, restructurings:
413   - new server status "Server full"
414   - support new tag emule_miscoptions2 (empty atm.)
415   - remove server descriptions from servers.ini
416   - clean donkeyTypes.server definitions
417 5588: Cleanup commonNetwork (pango)
418 5582: EDK: Improve CryptoPP logging (Schlumpf)
419 5584: EDK: Remove removed servers from walker server lists
420 5585: EDK: New parameter "all" for command "x" to disconnect all conn. servers
421 5586: BT: Recognize Bitrocket clients
423 2006/11/21
424 5579: Remove BasicSocket.[mini|maxi], replace them with Pervasives functions
425 - small fix for DonkeyOptions.max_allowed_connected_servers
426 5578: Remove unused files
427 - src/utils/net/tcpClientSocket.ml
428 - src/utils/net/tcpClientSocket.mli
429 - src/utils/net/tcpSocket.mli
430 5577: EDK: Send correct SUI tags
431 - sometimes MLDonkey sent SUI=true tag when CryptoPP was not linked
433 2006/11/20
434 5568: EDK: Support CIDR and IP ranges in server_black_list (pango)
435 5574: allowed_ips: Fix list usage when 0.0.0.0/0 is part of the list (pango)
436 5570: Some log messages in gettext module (Schlumpf)
437 5569: HTML: Fix display bug in server list after js popups
438       introduced by patch #5549 (Schlumpf)
439 5564: HTML: Remove non-working option use_html_frames (Schlumpf)
440 5563: EDK: Fix broken log message when master server changes (Schlumpf)
442 2006/11/15
443 5556: web_infos: new option rss_preprocessor used for fixing broken RSS feeds,
444       safer process spawning for command "!" (pango)
445 - broken feeds like http://thepiratebay.org/rss.php?cat=D601 can now be parsed
446   directly using (for example) xmllint, if a feed can not be read be MLDonkey
447   its piped through rss_preprocessor and read again
448 5560: EDK: Parse some more server.met fields, log unknown server tags
450 2006/11/14
451 5424: web_infos/rss: shell:// type url
452 5549: EDK: Parse all data from server.met, new HTML javascript popup
453 5553: EDK/OV/KAD: small updates (bogeyman)
454 - EDK: log unknown client tags with verbosity mct
455 - OV/KAD: ignore OvernetPeerNotFound and log number of peers every
456   60 secs when logging
457 5551: web_infos: Fix mtime detection, old files were not updated
458 5550: debug_fileinfo: Print [a|c|m]time values
459 5530: GD: Improve graph output (skeeve, Schlumpf)
460 - html_mods_vd_gfx_h_grid_variable
461   "Stretch hourly until at program start", default true
462 - html_mods_vd_gfx_h_grid_time
463   "Max hours on time scale per grid (0 = no limit)", default 0
464 - html_mods_vd_gfx_subgrid
465   "Number of shown subgrids on graph (0 = no subgrids)", default 0
467 2006/11/13
468 5548: New search parameters: "-and", "-or", "-not", removed "-without"
469       (Schlumpf)
470 5546: Some sharing updates
471 - solved bug 10957, updating the prio of an already shared dir is now possible
472 - fix bug where missing shared dirs with strategy incoming_* where not recreated
473 - remove "network = []" from downloads.ini, currently not supported
474 - created workaround to fix bug on MinGW: no files were shared. Introduced by
475   patch 5475, but source of problem is Ocaml bug 4159
476 5547: HTML: Fix unicode display in vd & upstats javascript popups
478 2006/11/12
479 5545: EDK: Do not show empty server message lines in GUI
480 5509: Common: Merge file_print functions,
481       BT: print BT-specific source infos in Telnet (thx to jave)
482 5544: Clean up code to avoid otags warnings (pango)
483 5543: Improve exception handling, fix some indentions (pango)
484 5542: CommonSources: Work-around division-by-zero bug in Ocaml
485       on Alpha platform (pango)
487 2006/11/09
488 5526: Multiuser: Internal restructuring, new commands
489 - from ftp://ftp.berlios.de/pub/mldonkey/pango/userdb-cleanups_v2.patch (pango)
490   - create commonUserDb.mli to protect userdb data from other modules
491   - cleanups
492 - replace strings in commonFile with multiuser commonTypes.userdb/groupdb
493 - implement security checks when core starts
494   - user "admin" must exist
495   - group "mldonkey" must exist and must have admin status
496 - update HTML interface, command "users"
497   - create link to remove a group from a user
498   - create link to change group admin status
499   - new column group members
500 - Telnet: Show all data in command "users"
501 - do not allow removal of users or groups with downloads,
502   groups with members, user "admin" and group "mldonkey"
503 - filter files shown with command "downloaders"
504 - fixed bug where wrong group list was displayed in HTML, vd #file_num
505 - Display user and groups columns
506   new options html_mods_vd_user & html_mods_vd_group to en-/disable display in HTML, vd
507   - Javascript popups show User:Group infos
508   - Telnet support
509 - implement new commands
510   - usergroupadd <user> <group> : add a group to a mldonkey user
511   - usergroupdel user> <group> : remove a group from a mldonkey user
512   - userdgroup <user> <group|None> : change user default group
513   - groupdel <group> : remove an unused mldonkey group
514   - groupadmin <group> <true|false> : change group admin status
515 - Restrict commands to admin users:
516   - bw_toggle
517   - enable
518   - disable
520 2006/11/06
521 5527: mlguistarter: print correct syntax (fixes Debian bug #396754)
523 2006/11/05
524 5481: Overnet: Small updates
525 - do not print opcode 18 (OvernetNoResult) as unknown message
526 - parse bcp type bcp://xxxxxxxxxxxxxxxxxxxxxxxxxxx:ip:tcpport:udpport
527 - print debug log message when a new source was added
528 5513: HTML: Let webinterface work in a HTML frame (ported from Knockers Mulus)
529 - third button row does not work yet, patches welcome
530 5521: BT: Fix non-working EDK upload when BT is enabled,
531       introduced by patch 5461
533 2006/10/31
534 5508: OV/KAD eMule style search and some small fixes (bogeyman)
535 5486: UDP bandwidth monitor fix (bogeyman)
536 5505: EDK: Support aMule/Hydranode style OS_INFO tag
538 2006/10/30
539 5488: Multiuser: New commands
540 - groups -> displays groups of the logged-in user
541 - dgroup -> displays default group of the logged-in user
542 - restrict command "unshare" to admin users
544 2006/10/29
545 5475: Multiuser: Implement user_commit_dir
546 - directories with strategy incoming_files are shared recursively now
547 - support several directories with incoming_* strategies, use the
548   first one with enough space to commit the finished file
550 2006/10/27
551 5499: Configure: find camlp4 in local, fix patch 5479 (dunk)
553 2006/10/26
554 5477: BT: Add downloads to share list after core restart
556 2006/10/25
557 5474: updated bw_toggle
558 - fix cosmetic bug, wrong values were displayed
559   as a result if option_hook changed values
560 5489: HTML: Improve serverlist display (Schlumpf)
561 5487: Update URLs, change mldonkey.net to mldonkey.org
562 5485: HTML: Print sharing strategies in command "shares"
563 5461: Release slot, fix missing filenames in upstats
564 - Each downloading file can be set to status "Release", this can
565   be done by clicking the "R" column in HTML, Transfers or by
566   using the new "release <file_num>" command to toggle the state.
567 - A new option max_release_slots exists, default 20% of the default
568   5 max_upload_slots. This means 1 upload slot is available per default
569   and granted for files with status "Release" when requested.
570 - Show filenames in pending upload slots list
571 5484: Fix DNS test, test other domains besides www.mldonkey.net
573 2006/10/23
574 5474: New command bw_toggle (ported from Knockers Mulus client)
575 - two new options: max_hard_upload_rate_2 and max_hard_download_rate_2
576 - new command bw_toggle, quickly switch between two bandwidth options
577 5480: Update Mozilla protocol handler, cleanup docs in distrib/
578 5479: Configure: Force presence of camlp4
579 5478: Support gdlib-config --static-libs function (new on Debian Etch)
580 5476: Urladd: Change default period to 0 (load file only when core starts)
582 2006/10/21
583 5473: Log: Redirect CryptoPP messages to MLDonkey logfile (Schlumpf)
584 5472: Urladd: New optional parameter period (in hours) (thx to Schlumpf)
585 5471: HTML: New colums for pending slots list: SUI, GeoIP, Filename
586 5470: Options: New type percent_option, values are bound to be >= 0 and <= 100
587 5469: HTML: Implement 404 error page for unknown URLs
589 2006/10/20
590 5419: EDK: Re-implement titanesel.ws links - service is up again (thx to sk38)
592 2006/10/13
593 5458: OV/KAD: tweak and bugfix the search (bogeyman)
595 2006/10/12
596 5454: OV/KAD: Block blocked ips + small Overnet updates (bogeyman)
597 5451: HTML: clickable new messages indicator (jave)
599 2006/10/09
600 5428: HTML: Fix style sheet errors (rwruck)
601 5446: EDK: Small update for EDK publish patch 5430
602 - new option max_published_files
603   maximum number of files published to servers per minute, eMule default 200
604 - bug fix for patch 5430, publish also to non-preferred servers
606 2006/10/08
607 5430: EDK: Improve file publishing
608 - publish no more than 200 files/minute to avoid server-side blacklisting,
609   eMule uses the same limit,
610   least published files are published first (thx to pango)
611 - respect server hard_limit, never publish more files to servers
612 - HTML: in server list display number of files published by server, by clicking
613   on this number the list of files is displayed (new command server_shares num)
614 - HTML: diplay master server status, only master server are used for publishing
615 - HTML: in upstats display number of server the file was published to,
616   also display server name + IP in javascript popup
617 - bug fix: properly update DonkeyGlobals.master_server to be used in 
618   DonkeyClient.read_first_message, this is used when replying to non-Overnet
619   clients so they know to which server MLdonkey is connected to,
620 - remove development option become_master_delay
621 5445: Self-test charset conversion, disable conversion if test fails
622 5444: BT: Correctly display client connected time,
623       also allow correct upload speed calculation (tradie)
624 5443: BT: do not allow connections with ourselves (tradie)
626 2006/10/06
627 5442: BT: Verbose error messages when torrent is sent from GUI,
628       BT-multiuser: Protect command seeded_torrents
629 5441: BT: Re-enable all trackers when file is resumed
630 5440: HTML: Strip CR from multiline dllink input to fix FileTP filenames
632 2006/10/03
633 5439: Increase required ocaml version to 3.09.3 (schlumpf),
634       remove old TYPE_FORMAT stuff needed for Ocaml < 3.06 (pango)
636 2006/10/02
637 5297: In addition to previous patch 5297 force conversion of allowed_ips to
638       IP blocklist when $MLDONKEY_DIR points to an existing directory
639       and ini files are created for the first time
640 5429: Fix compile bug in Ocaml 3.08.3 (thx to eike for reporting)
642 2006/10/01
643 5404: New command porttest, support for eMule- and Azureus-style porttest
644       (thx to pango for Azureus result parsing)
645 5421: HTML: Add "Users" to options frame (unease)
646 5429: New common lprintf_file_nl function
647 5432: Updates and fixes for the Win resource file (schlumpf)
649 2006/09/26
650 5407: BT: Improve handling of tracker error messages
651 - print additional information in telnet, vd #num already present in HTML
652 - show tracker errors in Telnet and HTML popups over tracker info lines
653 - pause torrents with no valid trackers left
654 5336: EDK: Fix lowid support (krissn)
655 5427: EDK: Increase hash speed when threads are available (pango)
657 2006/09/25
658 5426: CommonSources: Reduce CPU load when refilling queues
659       of many non-BT downloads (pango)
660 5425: FileTP: Support options file_started_cmd and pause_new_downloads
661 5423: Print warning for empty admin password only if allowed_ips was altered
662 5422: Command "sources": Display only downloading files
664 2006/09/24
665 5405: BT: Use field "encoding" from .torrent to convert strings to UTF-8
666 5419: EDK: Remove titanesel.ws links
667 5418: Gnutella/G2/Fasttrack: Support client_bind_addr
668 5417: Edonkey comments: Telnet support, UTF-8 output in HTML
669 5416: Makefile.in: New variable $DEVFLAGSOPT for .cmx files (jave)
670 5415: New command option: rem disc - remove all disconnected servers
672 2006/09/23
673 5414: Edonkey comments, update gui prot, some bt peer ids (zet)
674 - Reimplement edonkey file comments with ratings (ro)
675   (fixes exploitable DOS introduced in patch #5371)
676 - Add options "comments_filter", "max_comments_per_file", "max_comment_length"
677 - GUI protocol updated for comments, stats, libmagic, users/groups
678 - BT: Identify some more peer ids, as well as the reserved bits
679 - Fix some html code and other bugs
680 - Minor code cleanup
682 2006/09/22
683 5411: Portinfo: Rename gift_port to gift_port GUI
685 2006/09/19
686 5406: Multiuser: Small bug fixed in recover_temp (mu2.patch)
687 5406: Main multiuser patch, see docs/multiuser.txt for details
688       thx to jave, pango, zet and many other people who have helped
689       to make this work possible
690 - this patch is experimental, if it breaks, you can keep the pieces;-)
691 - multigroup_usercommit.patch and multigroup_su.patch are not included
692 - this patch is still not finished, the To-Do list in docs/multiuser.txt
693   is still long, also GUI protocol updates have to be implemented.
694   To manage users, groups and files, its best to use the HTML interface,
695   multiuser commands can also be used in Telnet interface.
696 -------------------------------------------------------------------------------
697 2006/09/17 version 2.8.1 = tag release-2-8-1
698 5401: Fix question whether to compile Ocaml with some bash versions (pango)
699 5400: Allow use of Ocaml 3.09.3, keep 3.09.2 as default
700 5399: EDK, Telnet: Fix and clarify message when starting a search (schlotter)
702 2006/09/16
703 5397: EDK: Disable broken option emulate_sparsefiles
704 5395: Improve max_hard_up/download_rate computation code (pango)
705 5380: BT: Add file_num to certain log entries (jave)
706 5392: fix typos in help texts (schlotter)
707 5394: Fix max_hard_up/download_rate computation
708 - crashed on Windows when max_hard_upload_rate = 0
709 - when max_hard_upload_rate = 0 max_hard_download_rate was badly computed
710 -------------------------------------------------------------------------------
711 2006/09/14 version 2.8.0 = tag release-2-8-0
712 5390: Distinguish between charsets zh_cn and zh_tw
713 5389: Fix verify_chunks (pango)
714 5388: Small log update
716 2006/09/13
717 5386: Telnet: Longhelp cleanup
718 5385: Command mem_stats: verbosity 0 is default now
719 5360: patch removed, it does not fix the bug
720 5383: BT: Detect new client types (thx to pango)
721 - fix Mainline detection for two-digit version numbers
722 - fix Tornado detection
723 - fix broken Bits on wheels detection
724 - detect Rufus
725 - detect Bitspirit v3
726 5384: BT: Fix serious bug causing bad performance introduced
727       by abstract bitmaps patch (pango)
729 2006/09/07
730 5369: Portinfo: fix String.length problems in Telnet (5369_2.patch)
732 2006/09/05
733 5294: HTML: Fix sources display for Gnutella/G2/Fasttrack/Filetp
734       broken by patch #5294 (thx to z)
735 5368: Remove unused code from md5_c.c & os_stubs.h
736 5371: EDK: Support for eMule comments (read-only)
737 - new option html_mods_vd_comments to enable column in HTML, vd
738 - comments are shown in javascript popups and vd #num
739 5369: New command portinfo, display used ports during start-up
741 2006/09/04
742 5370: Correct option_versions defaults, remove commented EDK code
744 2006/09/03
745 5367: EDK: Use random default for ED2K_port instead of fixed 4662
746 - existing ini files are never changed
747 - after donkey.ini is created the value is not changed automatically
748 5366: HTML: Remove obsolete EDK history links
749 5365: Accept FTP URLs on command line
750 5364: Update options descriptions, remove obsolete options, clean log
751 5363: Limit max_hard_download_rate when max_hard_upload_rate < 10
752 - upload >= 10    -> unlimited download
753 - upload < 10 > 3 -> download limited to upload * 4
754 - upload < 4      -> download limited to upload * 3
756 2006/09/01
757 5361: Faster filenames_variability computation (pango)
758 5315: EDK: Change some internal server data to option values
759 5354: New option: max_filenames, maximum number of different filenames
760 5355: Move buffer_writes_delay timer from Donkey to Global module
761 5344: Small code optimization for stderr warnings (thx to pango)
763 2006/08/28
764 5341: New command: filenames_variability
765 - compute differences between the filenames of a file to detect fakes
766   the higher the value, the more likely its a fake
767 5335: Fix small bugs in "!" command (execute shell commands)
768 5334: HTML: Display edk2 links in search results
769 5333: Clean logging (Swarmer, Fasttrack, Gnutella)
770 5332: New command option: rem blocked - remove all IP blocked servers
771 5330: Configure: Check MinGW version, at least 3.10 is needed (Schlumpf)
772 5329: some configure improvements and cleanups (Schlumpf)
774 2006/08/26
775 5320: some html_mods tables & css improvements (Schlumpf)
776 5322: Use CXXFLAGS present at configure when compiling (smimram)
778 2006/08/21
779 5319: Configure: New option --enable-minimum
780 - Compile MLDonkey with Donkey only, without gd, magic, bzip2, sui
781 5304: cleanup donkeyOptions.ml (whitespace, tabs, comments) (Schlumpf)
782 5303: cleanup btOptions.ml (whitespace, tabs, comments) (Schlumpf)
783 5302: cleanup commonOptions.ml (whitespace, tabs, comments) (Schlumpf)
784 5318: Fix wrong buildinfo configure args with autoconf 2.60
785 5317: Compile fix for GTK1 newgui in addition to patch 5310
787 2006/08/16
788 5309: Increase reserved number of FDs from 20 to 40 for dynamic libs
789 5310: EDK: Request filelist from friends only when requested,
790       disable automatic download (pango)
791 5312: GTK2 GUI: Fix histograms (su_blanc)
792 5313: CryptoPP: Check for g++ capabilities
794 2006/08/15
795 5308: CryptoPP: Fix infinite loop when re-creating private key fails
796 5307: CryptoPP: Deactivate compiler option -momit-leaf-frame-pointer
797 5300: Fix iconv compile bug on Eisfair
798 5299: Support magicdb in $MLDONKEY_DIR/magic/magic if present
799       this location is used in addition to the defaults of libmagic
800 5277: MinGW: use new gettimeofday() from mingw-runtime-3.10 (Schlumpf)
802 2006/08/12
803 5298: Some internal changes moved from multiuser patch to CVS
804 5285: GUI: Self-test en-/decoding only down to protocol 24 to solve
805       crash when system date is wrong
806 5297: Force conversion of allowed_ips to IP blocklist when $MLDONKEY_DIR
807       and ini files are created for the first time
808 5296: Telnet: Fix filesize display for 1kb, 1mb, 1gb values
810 2006/08/11
811 5295: Hard-coded minimum of 600s for min_reask_delay
813 2006/08/10
814 5294: Clean logging, small "if .. then true else false" function rewrites
816 2006/08/09
817 5288: EDK: Improve log when sharing is prevented due to inconsistent filesizes
818 5287: Swarmer: Remove obsolete option file_bitmap from files.ini
819 5286: Swarmer: (pango WIP10a)
820       Fix commit of merged downloads + internal optimizations
821 5283: EDK: Fix IP display in GUIs for some firewalled clients
823 2006/08/08
824 5281: BT: Allow startbt to use URLs without extension ".tor" and ".torrent"
826 2006/08/06
827 5275: Change functions called when SIGHUP is sent
828 - BT: stop_all_bt is called to improve disconnect recognition
829 - instead of closing all sockets now all clients+servers are disconnected,
830   GUIs will not be disconnected anymore
831 5276: web_infos, part II: Update server.met URL
832 - fix defaults and server list URL
834 2006/08/05
835 5276: web_infos: Update server.met URL
836 - http://www.jd2k.com/server.met does not exist anymore,
837   now using http://www.gruk.org/server.met.gz again
839 2006/08/04
840 5272: Fix OS-detection bug in Unicode conversion when committing files
841 - should solve file naming problems on non-UTF8 systems
843 2006/07/29
844 5269: Fix maximum filename length recognition on Mac OS X
846 2006/07/28
847 5268: Swarmer: Fix Division_by_zero when starting downloads
848       of files smaller than 200 bytes
850 2006/07/27
851 5266: EDK: New default 600s for upload_timeout, 60s was too short
852 5265: EDK: New option keep_sources, false to disable use of file_sources.ini
853 5264: allowed_ips: Support CIDR address/mask format and IP ranges (pango)
854 * old syntax is converted to CIDR format:
855   - 192.168.000.255 -> 192.168.000.000/24
856   - 192.168.255.255 -> 192.168.000.000/16
857   - 192.255.255.255 -> 192.000.000.000/8
858   - 255.255.255.255 -> 000.000.000.000/0
859 * new possible syntax, to calculate: http://www.subnet-calculator.com/cidr.php
860   - CIDR, like 192.168.0.106/30 (192.168.0.104 - 192.168.0.107)
861   - IP ranges, like 192.168.1.123 - 192.168.1.133
863 2006/07/24
864 5262: Small compile patch for Mac OS X 10.2.8 (Jaguar), small log fix
865 5260: Enable logging to syslog, update syslog.ml to version 1.3
866 * New option log_to_syslog, default false
867   Post log messages to syslog. This setting is independent of log_file
868   and its associated commands, therefore close_log does not stop log to syslog.
869   Its therefore possible to log to syslog and log_file at the same time.
870 5261: MinGW: Fix compile bug with mingw-runtime-3.10
871 5259: Use Charset functions to determine extention of
872       mlnet_strings file if $LANG is not set
874 2006/07/21
875 5257: HTML: Let allowed_ips allow connections from IPs part
876       of IP blocklist for HTML interface only
877 5258: Add some files to src/utils/lib for later usage
878 * from pango
879   ./src/utils/lib/levenshtein.ml
880 * from http://packages.qa.debian.org/s/syslog-ocaml.html
881   ./src/utils/lib/syslog.ml
882   ./src/utils/lib/syslog.mli
884 2006/07/20
885 5256: GTK1 GUIs: Compile fix for patch 5253
886 5253: Commit: Remove spaces at end of filename on FAT partitions,
887       respect max_name_len value for all filesystems (pango)
888 5255: EDK: New client type VeryCD (compatibleclient 240)
889 5254: EDK: New default 60s for upload_timeout
890 5247: Update camlzip library to version 1.02 (Xavier Leroy)
891 - 64-bit incompatibility fixed
892 - Better support for large ZIP files (> 2 Gb)
893 5252: Update config.guess and config.sub to version 2006-07-02
894 5251: HTML: Re-implement motd_html by popular demand
895 * This patch brings motd_html back in addition to the current welcome message,
896   default is empty.
897 5250: EDK: Print High/LowID in cleartext for command "id", fix LowID display
898 5249: Remove obsolete files from src/utils/[cdk;lib] and tools/
899 5246: HTTP: Print 401 error when login was unsuccessful
901 2006/07/17
902 5243: HTTP: Print 403 error for requests blocked by allowed_ips
904 2006/07/15
905 5203: Swarmer: Anti-fragmentation (pango, antifrag_v7)
906 * Each file is divided into blocks saved in new option
907 * file_disk_allocation_bitmap in swarmer section of files.ini
908 * Blocksize is computed like this: file_size / 200, rounded up to full
909   megabytes, if bigger than 10MB: 10 MB are used as maximum blocksize.
910   Preallocated blocks are marked file_disk_allocation_bitmap option.
911 * Blocks already fully preallocated on disk are preferred for downloading.
912   That way one can get antifragmentation benefits without preallocating
913   too much space, specially for downloads with small chunks.
914 * If the block about to be filled with data for the first time its read/written
915   back to disk to allocate the space.
916   Set verbosity to "verb" to enable logging of preallocation.
917 5242: GTK2 GUI: Remove unnecessary linefeed in console,
918       remove some log and compiler warnings
919 5239: GTK2 GUI: Fix result sorting,
920       update search results instead of double display (su_blanc)
922 2006/07/14
923 5222: Improve log output when HDD is full
924 5214: Gettext: Improve translations
925 * added ./distrib/i18n/mlnet_strings.de_DE.utf8 for testing purposes
926   startup messages should appear in German now, more strings have
927   yet to be translated, help welcome for all languages.
928 5238: Fix HDD space checks on CFS mounts
929 5235: Lock config_files_space.tmp and delete unused file on startup
930 5232: GUI: Fix decoding bug for Gnutella/G2/Fasttrack search results (zet)
932 2006/06/29
933 5213: Swarmer: Commit only primary downloads (pango)
934 5212: Fix DNS lookup of localhost (pango)
935       SIGTERM & SIGINT support for GTK2 GUI
937 2006/06/27
938 5207: Remove some obsolete options: html_mods_vd_queues, ED2K-initial_score,
939       ED2K-max_dialog_history, ED2K-immediate_master
940 5206: Remove Kiss DP500 support
941 5200: BT: Do not start downloads if no usable trackers are found in file.torrent
942       MLDonkey only supports http:// style trackers, not udp:// or dht://
943       Deactivated http:// trackers are better marked in HTML,vd #num
944 5202: Remove mlchat and outdated IM (instant messenger) code
945       Remove outdated files from ./packages/windows
946 5204: Cleanup longhelp (anhi)
947 5205: Telnet: Fix another UTF8.length exception in search results
949 2006/06/22
950 5199: BT: Fix BT_client_uid changing between core start (orbit)
951 -------------------------------------------------------------------------------
952 2006/06/19: version 2.7.7 = tag release-2-7-7
953 5196: IP: Store IPs with two int values instead of four to save RAM (pango)
954 5195: BT: Log tracker error messages in UTF-8
955 5194: HTML: Print warning on opening page when enable_servers is set to false
957 2006/06/18
958 5191: HTML: remove sysinfo on opening page & option motd_html
959 5192: Fix deactivation of verbosity "gui"
960 5163: Configure: CVS SCM support for Mac OS X 10.3 (gstat)
962 2006/06/17
963 5158: HTML: Use table for printing buildinfo and runinfo data (schlumpf, pango)
965 2006/06/16
966 5187: New option: BT_import_new_torrents_interval,
967       ignore Thumbs.db & desktop.ini in directory lists
968 5186: GUI: Send only non-empty real_startup_message string
970 2006/06/15
971 5156: HTML, improve Options output (schlumpf)
972 * new command html_mods_use_js_helptext (true|false)
973   to change display of helptext between javascript popup`s and html table
974 * fix some padding and border bugs
975 * add "toggle js_helptext" button to 'vo' and 'voo' to directly toggle the style
977 2006/06/12
978 5061: New option small_files_slot_limit to push release of small files (pango)
979       all files below the configured file size (default 10kb) are uploaded
980       through one reserved slot
981 5144: Increase default max_upload_rate to 10 (schlumpf)
982 5177: HTML, Options: update display after changing options (schlumpf)
983 5176: Swarming: Change error message text and verbosity for BAD WRITE
984       BAD WRITE is not really an error, MLDonkey just receives unwanted data
985 5175: GTK1 oldgui: Last compile fix for abstract verification bitmaps (pango)
986 5174: Abstract verification bitmaps:
987       compile fixes for GTK1 GUIs, move generic code to CDK (pango)
988 5173: Swarmer: Small fix for merged downloads (WIP7b') (pango)
990 2006/06/11
991 5172: EDK: Log error which causes pausing a download
992 5171: New command group "Driver/Users",
993       print help text for "Bad number of arguments" error message
994 5170: Fix default max_indirect_connections, minimum is 30
995 5169: HTML, Options: add description to option section buttons,
996       remove 'save' button (schlumpf)
997 5168: Global module to abstract verification bitmaps (pango)
998 5167: Swarmer: Fix saving ini data for merged downloads (pango)
999 5166: Swarmer: New module to abstract verification bitmaps (pango)
1001 2006/06/07
1002 5164: CommonSwarming: Pangos WIP5e'
1003 * When cutting a range, the reciprocal link of the range after the right part
1004   still references the left part
1005 * When cutting a block in two parts can before empty, but then can also before
1006   complete (if they have no ranges left)
1007 * Added bad_writes_is_back patch
1008 * When find_range can only find ranges already being downloaded, it now first
1009   does a quick check to see if there's no other, probably more interesting,
1010   blocks remaining. If so, it forces a block change (report no more ranges left)
1011 * While it's a good feature in itself, it's probably a workaround for a bug in
1012   select_block (?); It seems that blocks oversaturated with sources happen way
1013   too often (4 or 5 sources on a single range shouldn't happen).
1014 * Compute the size of unselected ranges in each blocks, so that sources don't
1015   "rush" on blocks just left by a source.
1016 * Some BAD WRITEs seems to happen because we forget ranges we requested
1017   (when switching blocks ?)
1018 * Replaced call to clear_uploader_ranges by a call to clear_uploader_intervals
1019   in BitTorrent support Choke message handler.
1020 5063: EDK: remove duplicate entries in shared_files_new.ini (pango)
1021 5160: Remove stale avifile.ml, clean commonMultimedia logging
1022 5159: Compute magic values only when needed
1023 5157: add some line breaks to option help text for shorter lines (schlumpf)
1025 2006/06/01
1026 5153: New command: force_web_infos to manually download web_infos URLs
1027 5152: Do not connect friends from disabled networks
1028 5151: Options: New stringvalue functions needed for multiuser support
1029 5150: Log: Fix log when server list is empty in check_blocked_servers
1031 2006/05/31
1032 5149: Log: Some additions for commonSwarming
1033 5148: Mail: Fix for multiline SMTP responses (zet)
1034 5143: HTML/Telnet: Country codes for servers
1035 5147: G1/G2: Display proper filename (and therefore support rename) (zet)
1036 5145: EDK: Fix md4 hashing when filesize is an exact multiple
1037       of edk chunk size, MLDonkey is now eMule-compatible (zet)
1039 2006/05/30
1040 5141: Swarmer: New option swarming_block_selection_algorithm (pango)
1041 * Allow to choose swarmer block selection algorithm at runtime.
1042   - Algorithm 1 is the current default algorithm
1043   - Algorithm 2, from WIP3o patch, should try harder to complete partially
1044     downloaded chunks, specially with Bittorrent. It was previously
1045     reverted because of unknown performance problem (slower download ?)
1046 5140: Update .cvsignore files (pango)
1047 5138: Catch ip banned exception (zet)
1048 5137: HTML: Fix display of file magic values with '
1049 5136: FileTP: fixes and enhancements (zet)
1050 * Add "FTP-chunk_size" option (0 = no chunks = download full file at once)
1051 -- A chunk_size would be required if downloading from > 1 source
1052 * Add FTP downloads to bandwidth controller (for stats & speed limiter)
1053 * Support FTP sites that do not buffer input (MS FTP)
1054 * Add support for user/pass (http://user:pass@site or ftp://user:pass@site).
1055   This also adds user/pass support to http_client.
1056 * Error codes from HTTP (ie: 404) and some from FTP are supported (530 sometimes
1057   signals a retry, sometimes a login failure so a regex was used (lftp)).
1058   Downloads are paused when a hard error is received (and noted in the log).
1060 2006/05/25
1061 5131: New option gui_log_size: number of lines for GUI console messages
1062 5129: HTML: Display client_bind_addr in options menu
1063 5124: Log: Login messages can be disabled with verbosity "no-login"
1064 5130: CommonSwarming: Pangos WIP4a'
1065 thanks for testing goes to SchAmane, CruX, jave (forgot someone?)
1066 That's a huge patch over CommonSwarming module (whose job is to select what data
1067 to ask from connected sources, and the merging of received data),
1068 I hope I'm not forgetting anything important :
1069 * first, it's a mantainance patch; Lots of code have been reworked for
1070   readability and compactness (iterators...), functions grouped together,
1071   sometimes renamed to more descriptive names. Lots of comments have been added,
1072   including the description of invariants I've found, and a nice ASCII art
1073   schema of the swarming datastructures ;)
1074 * naming has been made more consistant, to differenciate chunks (from each
1075   network view) from blocks (internal to swarming), and intervals (list of
1076   int64 * int64 beggining/end offset pairs)
1077 * Support for bitmaps encoded as strings (AvailableCharBitmap) removed, since
1078   it's no longer used anywhere; use the more compact AvailableBitv instead
1079 * Removed range_current_begin from ranges, it's enough for a range to have a
1080   beginning and a end ;)
1081 * Rewrote compute_block_num to have precise preconditions, and algorithm proof
1082 * Added some assertions to better enforce invariants
1083   (on verification bitmaps, for example)
1084 * Allocation of ranges is now delayed until the very last moment, instead of
1085   when a chunk starts being downloaded. Main benefit (beside small memory gain)
1086   is that requests for different ranges sizes can be fulfilled at any time.
1087 * Modified received function so that no BAD WRITE message can happen anymore:
1088   condition when data that does not start from the beginning of a range is
1089   correctly detected and data discarded
1090   (since ranges cannot handle that case anyway)
1091 * Rewrote a much simpler version of present_intervals
1092 * Rewrote block selection algorithm for readability and flexibility; select_block
1093   simply "folds" over all available blocks, using compare_choices function to
1094   keep the best available one(s). May need some more CPU (no fast exit)
1095 * Fixed donkey uploaders calls when disconnected
1096 * Reenable the copy of identical chunks between files. Opportunities for copies
1097   are checked every 5 minutes.
1098 * Made file writing a bit smarter in Unix32 module so that writing zeroed chunks
1099   (as can happen a lot with chunks copying) on an otherwise sparse temp file
1100   does not allocate disk space. A bit hackish.
1102 2006/05/23
1103 5121: EDK: Remove obsolete option emule_compression
1104 5122: improve block_list output and runinfo ip blocking (schlumpf)
1105 5123: Fix Invalid_argument("UTF8.length") bug in HTML, down-/uploaders
1106 -------------------------------------------------------------------------------
1107 2006/05/21: version 2.7.6 = tag release-2-7-6
1108 5119: HTML, Options: Include Wiki link in options names
1109 5117: Telnet: replace "avail" by "last seen"/fix non-ASCII-filename column width
1111 2006/05/20
1112 5118: Log: Correct prefix for donkeyClient.ml
1113 5116: HTML: Fix javascript popup in search results for Opera (dextarr)
1114 5112: Fix lprintf_nl (search/replace ()'s) (zet)
1115 5113: Fix config/wget.c (zet)
1116 5111: Configure: Fix $SOURCE_DIR broken since patch #5095
1117 5109: New option: pause_new_downloads
1118 - Set to true all new downloads will be paused automatically.
1119 - This option is automatically set to false on core start.
1120 EDK: Disable ED2K_connect_only_preferred_server if not preferred server is
1121      found, this check is done once per minute
1123 2006/05/19
1124 5107: Configure: Check for MAGIC_ERROR in magic.h
1125 5106: BT: only send stop once on exit and then wait for success (Amorphous)
1126 5105: BT: Avoid starting torrent which has the same name
1127       as a currently downloading torrent
1129 2006/05/18
1130 5097: HTML: Improved DL multiline input button (jave)
1131 5103: Fix compile bug in magiclib_stub.c on Solaris & NetBSD
1133 2006/05/17
1134 5101: G2: Gnutella2 fixes/log updates (zet)
1135 - Gnutella2 (G2) is working again
1136 - Re-enables search result networks
1137 - Log logged-in users
1138 5098: EDK: Update option description for initial_score
1140 2006/05/15
1141 5090: Http_client: Fix 302 redirect when Location starts with "."
1142       and filename changes
1143 5095: Configure: improve libpng detection, optical improvements
1145 2006/05/14
1146 5094: Wget: New internal variable req_save <bool>
1147 5093: CommonSwarming: Verbose error message if file size does not match
1148 5092: HTML, rss: Add startbt link
1149 5091: HTML: update EDK history links
1151 2006/05/13
1152 5089: IPBlock: Print seperate lists in block_list command for IPs
1153       blocked by local and web IP blocklists (pango)
1155 2006/05/12
1156 4976: Filetype recognition with libmagic
1157 - new debug command: debug_dir, prints magic values for all files
1158 - display file magic values in vd & upstats HTML popup & vd #num
1159 NetBSD/Solaris users have to disable this function "--disable-magic"
1160 until this bug is fixed:
1161 http://savannah.nongnu.org/patch/?func=detailitem&item_id=4976#comment9
1162 5088: Gnutella/FT/http_client fixes (zet)
1163 - Gnutella (G1) is working again
1165 2006/05/11
1166 5087: HTML, upstats: new tooltip with complete filename,
1167       respect max_name_len for filename
1169 2006/05/10
1170 5083: HTML: Update EDK file history links (unease)
1172 2006/05/09
1173 5082: FileTP/Fasttrack/Soulseek: Fix splitting chunks off-by-one (pango)
1174 5081: Change default ip_blocking_descriptions to false for faster startup
1175 5080: Only print servers of enabled networks (pango)
1176 5079: Ignore ._* in directory lists (pango)
1177 5078: Telnet: Remove HTML code from sysinfo command
1178 5077: FT: Fix fasttrack connection problem and adds a bootstrap nodes file url
1179       Removes old/broken imesh bootstrap node (zet)
1181 2006/05/07
1182 5076: Gd: Do not disable html_mods_vd_gfx if core is compiled without GD support
1183 5075: DNS round robin, keep all IP addresses associated with DNS names,
1184       and return next one upon each request. (pango)
1186 2006/05/06
1187 5069: EDK: Fix broken unicode URIs parsing broken since 2.7.4 (pango)
1188 5074: Change default Ocaml version to 3.09.2
1189 5073: Update default IP blocklist URL, replaced
1190       http://www.bluetack.co.uk/config/antip2p.txt with
1191       http://www.bluetack.co.uk/config/level1.gz
1192 5068: New global option user_agent, current option BT-user_agent overrides
1193       the global value in BT module (pango)
1194 5064: BT: only try to connect to http trackers (pango)
1195 5040: Overnet: Open TCP port only when network is active
1197 2006/04/14
1198 5036: BT: Correctly parse .torrent files with an empty directory (again)
1199 5039: Fix dp500 compile
1200 -------------------------------------------------------------------------------
1201 2006/04/13: version 2.7.5 = tag release-2-7-5
1203 2006/04/10
1204 5035: Make Soulseek, Opennapster, DirectConnect compilable again
1205   This does not mean the network modules work again,
1206   they only compile again. More work is needed.
1207 5032: CommonSwarming/WIP2: Some function rewrites and comments (pango)
1209 2006/04/09
1210 5031: Merge CommonSwarming and CommonSwarming2 code (pango)
1212 2006/04/08
1213 5029: EDK: Remove set_brothers command and brotherhood option
1214 5030: Update config.guess and config.sub to version 2006-02-27
1215 4778: CommonSwarming: In addition to the first and last chunk also load
1216       the second last chunk if available before the rest to improve preview
1217 5028: New environment variable for file_completed_cmd:
1218       $DLFILES (number of downloading files)
1219 5027: EDK: Deactivate DonkeySUI if /dev/urandom is missing
1221 2006/04/06
1222 5021: Fix compile bug in tryopen patch when bzip2 is disabled
1223 5020: Allow compile with Ocaml 3.09.2 CVS code,
1224       3.09.1 will stay default for MLDonkey-compiled Ocaml
1225 5016: Options save: Really fix bug addressed in patch #5015
1227 2006/04/05
1228 5015: Fix option file saving bug introduced in tryopen patch
1230 2006/04/03
1231 5011: EDK: Update server info received by UDP when
1232       update_server_list_server false (pango)
1233 5009: Ignore files .DS_Store and ._filename.ext in dir listings on all platforms
1234 5006: Small logfile change
1235 5004: Automatically closes opened descriptors using "tryopen pattern" (pango)
1236 5005: CommonBlocking: Do not block IPs when GeoIP database is not loaded
1238 2006/04/02
1239 5003: BT: Improve client recognition (zet)
1240 5002: Overnet: Fix Out of Memory Exception (zet)
1242 2006/03/31
1243 4997: Swarming: correctly create a new range when one is splitted (pango)
1245 2006/03/29
1246 4931: CommonBlocking: Block/allow IPs by country codes (requires GeoIP) (pango)
1247 - new options:
1248   - ip_blocking_countries, insert country codes here
1249   - ip_blocking_countries_block true|false
1250       false: use ip_blocking_countries as block list,
1251              all other countries are allowed
1252       true:  use ip_blocking_countries as allow list,
1253              all other countries are blocked
1254 4995: HTML: Fix friends filelist display
1255 4996: HTML: Add/remove for web_infos (vwi), update old contact.dat URL
1256 - web_infos, rename command add_url to urladd, new command urlremove
1257 - prints option help texts for web_infos and calendar command
1258 - file_kinds are now printed as list with descriptions for easier setup
1260 2006/03/19
1261 4917: HDD space check
1262 - New options:
1263   hdd_send_warning_interval
1264     Send a warning mail each <interval> hours for each directory,
1265     0 to deactivate mail warnings.
1267   hdd_temp_minfree
1268     Mininum free space in MB on temp_directory, minimum 50
1269   hdd_temp_stop_core, default false
1270     If true core shuts down when free space on temp dir is below
1271     hdd_temp_minfree, otherwise all downloads are queued and a
1272     warning email is sent.
1274   hdd_coredir_minfree
1275     Mininum free space in MB on core or log directory, minimum 20
1276   hdd_coredir_stop_core, default true
1277     If true core shuts down when free space on core dir is below
1278     hdd_coredir_minfree, otherwise all ini file saving is stopped
1279     until core shutdown and a warning email is sent.
1280     Logging is sent to RAM when log dir is full.
1282 The hard-coded minimum values can not be circumvented, MLDonkey will always
1283 perform these HDD space checks once a minute.
1285 2006/03/18
1286 4985: Log file clean-up for verbosity = "md4"
1288 2006/03/17
1289 4981: Dllink: Fix wrong referer in HEAD request
1290 4980: Multiuser: internal admin_user variable
1291 4979: Fix hashing large number of files
1293 2006/03/15
1294 4972: FileTP: Allow ftp:// downloads via dllink command
1295 4971: BT: Allow read-only access for shared files
1296 4967: CommonUserDb: Keep old user database updated for easy downgrades
1298 2006/03/09
1299 4962: BT: New command "startbt" to force the start of a torrent download (jave)
1301 2006/03/08
1302 4963: Re-apply $DEVFLAGS to Makefile.in (pango)
1303 4961: EDK: New default URL for server list download
1304 4960: Ignore .DS_Store on MacOSX, BT: ignore dirs in torrents/incoming (pango)
1306 2006/03/06
1307 4954: New function Unix32.owner to read user and group entry of a file 
1308 - to debug use command debug_fileinfo <file>
1309 - renamed debug command "disk" to "debug_disk"
1310 - renamed debug command "rlimit" to "debug_rlimit"
1311 4950: Close unneeded file descriptors
1313 2006/03/05
1314 4946: System-wide cookies and referers option
1315 - MLDonkey will not move data from bittorrent.ini to downloads.ini
1316 - This data will be used in web_infos, dllink and BT module.
1317 4951: GUI: Update server country codes after loading GeoIP data
1318 4949: Gzip/Bzip2: Close opened FD after opening an invalid archive file
1319 4945: BT: Automatically start new torrents downloads
1320 - new directory $MLDONKEY_DIR/torrents/incoming, all files present
1321   in this dir are started automatically, its scanned every 10 seconds.
1323 2006/03/01
1324 4939: Support for compressed ipfilter.dat files (.gz, .bz2 or .zip) (pango)
1325 4930: giFT GUI: Authentication support (pango)
1326 - login with giFTcurs now has to be done like this: giFTcurs -p user:password
1328 2006/02/26
1329 4938: Improve MLDonkey system user database
1330 due to older problems with HTML interface:
1331 - renamed command add_user to useradd
1332 - renamed command remove_user to userdel
1333 - user name is printed in browser title when bwstats is active
1334 -------------------------------------------------------------------------------
1335 2006/02/26: version 2.7.4 = tag release-2-7-4
1337 2006/02/25
1338 4928: BT: Fix invalid encoding in announce URL (darkfader)
1339 - removed old, broken version and added new version
1341 2006/02/23
1342 4934: FileTP: Small improvements
1343 - fix download restart bug when core is restarted, sources where not loaded
1344 - save referer values to files.ini
1345 - display amount of transfered data in downloaders list
1346 - display source IP and Countrycode in HTML downloaders list
1347 - display filesize in GUI
1348 - display number of sources in GUI
1349 4933: BT: Display number of sources in GUI
1351 2006/02/21
1352 4928: BT: Fix invalid encoding in announce URL (darkfader)
1353 4929: Do not print password_empty warning if enable_user_config true
1354 4926: Runinfo: Warn about not-working DNS resolution,
1355       /dev/urandom detection was not disabled if --disable-donkeysui is used
1357 2006/02/20
1358 4922: OpenBSD: Small change for patch 4920
1359 4921: MinGW: show current DL & UL stats in console title (Schlumpf)
1360 4909: Print warning messages when run on non-supported operating systems
1361       currently for example Windows 95/98/ME (Schlumpf)
1362 4920: Cleanup included header files in C code (Schlumpf)
1364 2006/02/17
1365 4910: EDK: Use updated protocol information when parsing
1366       consecutive messages (sam_dennis)
1367 4915: Log: Small cleanups
1368 4918: some syntax and comment cleanups in stubs_c.c (Schlumpf)
1370 2006/02/13
1371 4906: MinGW: improve uname output (Schlumpf)
1372 4908: Configure: Fix for Beos, allow use of Dragonfly BSD
1374 2006/02/11
1375 4883: Mac OS X: Fix for broken Apple cpp-3.3
1376 4902: EDK: Stub respond to directory browsing requests (sam_dennis)
1377 4905: Update for patch 4823: add another -fno-fomit-frame-pointer
1378       in config/Makefile.in to avoid breaking CryptoPP (mikeX)
1379 4903: EDK: Remove obsolete donkeyNeighbours (thx to sam_dennis)
1380 4907: EDK: Fixed copy/paste error in emule miscoptions1 reading (sam_dennis)
1382 2006/02/10
1383 4904: Configure: Raise required autoconf version to 2.55 due to AC_MSG_FAILURE
1385 2006/02/09
1386 4892: Fix make when CXXFLAGS is defined (mikex)
1387 4894: EDK: Support "new ed2k meta tags" to allow browsing
1388       shared directories of newer eMule clients (sam_dennis)
1389 4891: Configure: Override system-installed Ocaml and force local compile
1390   Use ./configure --enable-force-ocaml to force MLDonkey to compile Ocaml,
1391   regardless if the system has Ocaml already installed or not.
1392   --enable-ocamlver=CVS uses a CVS checkout of Ocaml HEAD.
1393 4885: EDK: Show correct IP of indirect clients in uploader list
1395 2006/02/06
1396 4879: EDK: Support for sources in ed2k:// links
1397 - example:
1398 ed2k://|file|a.txt|1|AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|/|sources,1.0.0.0:4662|/
1399 4849: EDK: Fix hashing of newly shared files
1400 - avoid hashing shared files twice
1401 - avoid problems while hashing big files
1402 - remove obsolete compute_md4_delay option
1403 4878: Addition to patch 4875 (conditional bzip2 support using cpp)
1405 2006/02/05
1406 4877: BT: Recognize Ktorrent clients (CruX, zet)
1407 4876: EDK: Remove obsolete option random_order_download
1408 4875: conditional bzip2 support using cpp (pango)
1409 4870: runinfo: add connected_user and check empty PW (schlumpf)
1410 4872: Fix gd detection on NetBSD, use data from gdlib-config
1411       MinGW compile-guide was updated, gdlib-config has to be changed
1412 4871: Optimize some Printf.sprintf "%s" code
1413 4869: Remove obsolete redirector code
1414       http://mldonkey.sourceforge.net/Redirector
1415 4856: reverse patch: configure: disable iconv by default on MinGW
1416       it is not necessary anymore
1418 2006/02/04
1419 4867: Use setrlimit to raise allowed ulimit open files
1421 2006/02/03
1422 4863: GUI/Multiuser: Prevent kill by users other than admin
1423 4862: EDK: Fix broken import of eMule temp Files (import_temp) (schlumpf)
1424 4860: Multiuser: print warning if admin password is empty
1425 - user admin is re-created if deleted, it has to be present in any case because
1426   some commands are only available for admin,  like users, remove_user and kill
1427 - create structure for startup messages, displayed on GUI, HTML, Telnet
1428 4859: Multiuser: Only user "admin" is allowed to change options
1429       if the new option enable_user_config (default true) is set to false
1430 4858: HTML: Update some links to mldonkey.sf.net
1431 4857: SIGUSR1 & SIGUSR2 do not exist on Windows
1432 4856: configure: disable iconv by default on MinGW
1433 4853: Fix HTML errors on rss command output (unease)
1435 2006/02/02
1436 4851: Support system signals SIGUSR1 & SIGUSR2
1437       SIGUSR1 saves options
1438       SIGUSR2 performs garbage collection
1439 4850: Fixed bitprint hashing for files > 4GB (thx to zet)
1440       mld_hash: implement SIGINT and SIGTERM signals
1442 2006/01/29
1443 4844: Fix Solaris compile broken since DonkeySUI patch
1444 4830: Update Wiki links
1445       New Wiki URL: http://mldonkey.sourceforge.net
1446       New Forum URL: http://mldonkey.sourceforge.net/forums
1447 4843: HTML: Improve output of rss command
1448 4842: Some logfile stuff
1449 4841: Create new dir web_infos for web_infos files,
1450       BT: do not save .torrent or announce.*
1451       all files downloaded by web_infos go to $MLDONKEY_DIR/web_infos
1452       to avoid downloading files twice move files from $MLDONKEY_DIR
1453       into that new dir
1454 4826: improve error message due to corrupt config files (schlumpf)
1455 4821: improve display of sysinfo (schlumpf)
1457 2006/01/26
1458 4816: Update Ocaml-RSS and Xml-light to current versions
1459 4827: longhelp cleanup (anhi)
1460 4823: EDK: CryptoPP optional, disable with --disable-donkeysui
1461       Makefile: link CryptoPP stuff only in binaries which need it
1462       Buildinfo: show compiler versions
1463       Configure: display compiler versions (schlumpf)
1464       Configure: if iconv checking fails continue with disabled iconv
1465       Configure: do not use bzip2 if bzip.h is not found (FLI4L buildroot)
1467 2006/01/25
1468 4820: Move CommonGraphics to DriverGraphics, check libgd version
1469       Configure: Check if libgd > 2.0.14 is installed
1470       NetBSD: added paths for libgd package
1471       NetBSD: adjusted stat command to properly read SCM date
1472       move build-, run-, and diskinfo command to driver module
1473       (thanks to SchAmane)
1474 -------------------------------------------------------------------------------
1475 2006/01/19: version 2.7.3 = tag release-2-7-3
1476 4791: web_infos: New type geoip.dat, save files to local disk,
1477       re-download only if file on server is newer
1478 - now all files except type "rss" in web_infos are saved to local disk
1479   if not present or server version is newer
1480 - MLDonkey uses HTML header last-modified to check if a file has been updated
1481 - downloaded file timestamp is changed to last-modified time
1482 - show number of IP blocking ranges in runinfo
1483 - new web_infos kind: geoip.dat
1484 - automatically add geoip.dat to web_infos
1485 - support for *.gz|bz2|zip compressed GeoIP.dat files
1486 4811: EDK: Print warning when starting a file too big for filesystem,
1487       clean Ux32 logging
1488 4810: Update search results with highest avail/completesources tags (zet)
1490 2006/01/16
1491 4803: BT: force uniqueness of added trackers by "trackers" command (pango)
1492 4801: EDK: add more server info fields (html and guiprot) (zet)
1493 4798: Fix thread recognition on *BSD
1495 2006/01/15
1496 4797: EDK: Always put server connect requests in connection queue,
1497       whether max_opened_connections is reached or not
1498       Connection will be established later when a socket is available
1500 2006/01/14
1501 4796: Windows: Log proper warning when MaxUserPort is reached (thx to Enig)
1502 4795: Mailer: Fix Subject encoding (bogeyman)
1503 4716: BT: new command "tracker" to add trackers (bogeyman)
1505 2006/01/12
1506 4792: GeoIP: Add license (distrib/GeoIP_LICENSE.txt, runinfo)
1507       This product includes GeoLite data created by MaxMind,
1508       available from http://maxmind.com/
1509 4776: EDK: Avoid LowID if max_indirect_connections is reached (thx to zet)
1510 4787: EDK: Show server version (ported from Mulus - thx to Knocker),
1511       disconnect blocked server after loading IP blocklist
1513 2006/01/11
1514 4790: Some logging stuff
1515 4781: Disconnect connected server before removing
1516 4782: Configure: Replace AC_CHECK_FILE with "test -d" to allow cross-compile
1518 2006/01/09
1519 4770: Change file opening mechanism, open rw only when needed (pango)
1520       new verbosity option "file" to control Unix32 file handling
1521 4777: Display IP:port for LowID clients, GUI protocol update (zet)
1523 2006/01/07
1524 4769: HTML: Fix some Geoip display bugs
1526 2006/01/06
1527 4768: Dynamic loop delay (pango)
1528 4765: Add GeoIP.dat support (zet)
1529       GeoIP is a GPL database that maps IPs to countries.
1530       http://www.maxmind.com/download/geoip/database/
1531       This patch adds support for a "geoip_dat" option.
1532       It is a simple ocaml translation of just the geoip country lookup code.
1533       If active, the file is left open and consulted on demand.
1534       It didn't seem to slow anything down on my slow system.
1535       Sends the country # to the gui, use latest Sancho version to use it.
1536       Web: displays country codes in a column (name in tooltip).
1537       Maybe someone wants to add flag images (please make them optional).
1538 -------------------------------------------------------------------------------
1539 2006/01/05: version 2.7.2 = tag release-2-7-2
1540 4764: Patch for MLDonkey-compiled Ocaml-3.09.1 to fix GTK1 oldgui compile
1541 4763: Compile patch for GTK1 oldgui with Ocaml 3.09.1
1542 Ocaml 3.09.1 has a bug which prevents compiling GTK1 oldgui.
1543 A patch can be found here: http://caml.inria.fr/mantis/view.php?id=3948
1545 2006/01/04
1546 4761: Insert glibc version in archives build by release targets
1547 4760: Allow use of Ocaml 3.09.1
1548       MLDonkey can now be compiled with Ocaml 3.08.3/4, 3.09.0/1
1549       Default for MLDonkey-compiled Ocaml is now 3.09.1
1550 4759: Configure: Improve gcc check
1551 4757: Compile patches for MorphOS (Christian Rosentreter)
1552 4748: HTML: Allow rename of files with '#', '&' and '%',
1553       remove invalid chars from filenames depending on OS (thx to pango)
1554 4756: HTML: Print build- and runinfo on main page,
1555       fix reload bug when changing html_mods/html_themes (Knocker)
1557 2006/01/03
1558 4751: Ease use of messages_filter option (pango)
1559 4753: Allow upper case MD4 for ed2k-links in mldonkey_submit (fcrozat)
1560 4754: New parameter --auth for mldonkey_command (plf team)
1562 2006/01/02
1563 4749: GUI: send shared sub_files to gui (zet)
1565 2006/01/01
1566 4712: Change terminal color for command line from blue to cyan (romildo)
1567 4742: Log: remove verbosity "tor" & "file", improve verbosity "verb"
1568 4743: EDK: Print "File is already shared" when trying to start downloading
1569       an already shared file
1570 4744: Split client_timeout into ED2K-client_timeout and BT-client_timeout,
1571       increase BT-client_timeout to 90 (tradie)
1572 4745: Update config.guess and config.sub to version 2005-12-23
1574 2005/12/28
1575 4725: Check if ulimit is sufficient for MLDonkey,
1576       auto-adjust max_opened_connections
1577 * moved ED2K-max_indirect_connections to downloads.ini
1578 * max_indirect_connections is now a %-value of max_opened_connections
1579 * minimum ulimit for open files is now 150 (most systems have 1024),
1580   MLDonkey will refuse to start if ulimit is lower
1581 * minimum max_opened_connections is now 75
1582 * reduced max_concurrent_downloads from 60 to 50
1583 * minimum ulimit -n 150 is used like this:
1584   - 75 max_opened_connections
1585   - 50 downloading files
1586   - 5 upload slots
1587   - 20 fd as reserve for ini files
1588 4704: Fix some C compile warnings (schlumpf)
1589 4739: Fix some cross-compiling obstacles, remove Ocaml 3.08.2 compatibility
1590 * Cross-compiling is only possible with a correct Ocaml toolchain
1591 * MLDonkey can not build this Ocaml toolchain
1592 * This patch only fixes some autoconf checks
1593 4735: MinGW: pause before core exit because of existing Pid file
1594 4736: New commands: sysinfo, runinfo and diskinfo
1595 * removed temp_directory and core_directory from shares command output
1596 * new commands sysinfo, runinfo and diskinfo
1597 * buildinfo now prints only buildinfo
1598 * runinfo prints run-time information
1599 * new command diskinfo prints filesystem data about temp_directory,
1600   core_directory and all shared dirs
1601 * sysinfo prints buildinfo, runinfo and diskinfo alltogether
1602 4712: Change terminal color for downloading files from blue to cyan (romildo)
1604 2005/12/24
1605 4732: Log: More infos for verbosity = " verb"
1607 2005/12/21
1608 4728: fix date format (zet)
1609 4730: BT: parse path.utf-8 (zet)
1611 2005/12/19
1612 4726: New option space_overhead to adjust garbage collection (bogeyman)
1613 4724: Windows: 10 seconds pause when core start fails
1614       to make error messages readable
1616 2005/12/18
1617 4723: New build target: make ocamldoc (pango)
1618 4721: Log: Improve output for verbosity "verb", remove verbosity "hid"
1620 2005/12/17
1621 4719: Fix linking of dp500 (pango)
1622 4715: OV: Improve searching, longer ov timeout, some more bugfixes (bogeyman)
1623 4718: Fix bug which prevented proper write to files introduced in patch #4694
1624 4717: EDK: Removed unused variable file_md4s_to_register (bogeyman)
1626 2005/12/16
1627 4703: BT: Deactivate dead trackers,
1628       re-enable them if no active trackers are found (pango)
1629 4708: HTML upstats: Enable preview for shared files
1630 4652: dllink: reject EDK files > 4GB, print access errors for .torrent files
1632 2005/12/15
1633       Removed orphaned files:
1634       src/networks/donkey/donkeyFiles.mli
1635       src/networks/donkey/donkeyInteractive.mli
1636       src/networks/donkey/donkeyMain.mli
1637 4710: Re-add some protocol information as comments removed by patch 4694
1638 4709: Fix zip file extract broken due to patch 4694 (Ocaml 3.09)
1639 4707: Fix recover_temp broken by patch 4674 (force_download)
1641 2005/12/14
1642 4706: EDK: Remove donkeyChunks, use commonSwarming for op_file_check
1643 4702: Correct timezone in e-mail, nicer uptime, timezone and uptime in runinfo
1644 4694: Fix lots of compile warnings in Ocaml 3.09
1645 4705: Update config.guess and config.sub to version 2005-11-11
1646       Mozilla MLdonkey Protocol Handler updated to version 1.7
1648 2005/12/13
1649       Removed orphaned files:
1650       src/networks/fasttrack/fasttrack.ml
1651       src/networks/gnutella/gnutella1.ml
1652       src/networks/gnutella/gnutella.ml
1653       src/networks/gnutella/gnutellaScheduler.ml
1654       src/networks/gnutella/gnutellaZlib.ml
1655       src/networks/gnutella2/g2Scheduler.mlt
1656       src/networks/gnutella2/gnutella2.ml
1657 4700: Log: New verbosity option "gui" to debug GUI protocol
1658 4696: Fix some C compiler warnings
1660 2005/12/10
1661 4687: Compile fix for Ocaml 3.09.0 (gildor), MLDonkey can now be compiled
1662       with Ocaml 3.08.[2,3,4] and Ocaml 3.09.x (4687_min2.patch)
1663 4693: Compile patch in sha1.c for FreeBSD (lioux)
1664 4689: Catch exception in file_completed_cmd to let commit complete
1665 4691: file_completed_cmd: $DURATION in seconds (debonair)
1666 -------------------------------------------------------------------------------
1667 2005/12/06: version 2.7.1 = tag release-2-7-1
1668 4679: FileTP: Fix HTTP downloading for URLs with space chars, log cleaning
1669 4674: EDK: Re-enable checking old_files before starting a download
1670       and force_download command
1671 4676: BT: decode_version fix and html sort fix (bogeyman)
1673 2005/12/05
1674 4673: IPBlock: display original length and optimized length in block_list,
1675       log file clean up
1677 2005/12/04
1678 4672: FileTP: Fix major bug in HTTP downloading, introduced in 2.6.0
1680 2005/12/03
1681 4671: Compile fix in CryptoPP.h for gcc-2.96 (trdw)
1682 4670: Increase max_buffer_size limit for high-volume connections
1684 2005/12/02
1685 4649: Updates for file_completed_cmd (pango, spiralvoice)
1686 * some log cleaning
1687 * added information to notification email if auto_commit is disabled,
1688   email is sent by file_completed, not file_commit
1689 * moved execution of !!file_completed_cmd from file_completed
1690   to file_commit, kept option name for easier upgrading
1691   this was done because the filename of a downloading file can be
1692   different than the filename of the committed file if a file
1693   with the same name as the to be committed file is already in
1694   incoming. older method did not take this into account at all..
1695 * added environment variables for file_completed_cmd, see description:
1697     A command that is called when a file is committed, does not work on MinGW.
1698     Arguments are (kept for compatibility):
1699     $1 - temp file name, without path
1700     $2 - file size
1701     $3 - filename of the committed file
1702     Also these environment variables can be used (preferred way):
1703     $TEMPNAME - temp file name, including path
1704     $FILEID - same as $1
1705     $FILESIZE - same as $2
1706     $FILENAME - same as $3
1707     $FILEHASH - internal hash
1708     $DURATION - download duration
1709     $INCOMING - directory used for commit
1710     $NETWORK - network used for downloading
1711     $ED2K_HASH - ed2k hash if MD4 is known
1713 4667: Update Ocaml download URL
1714 4666: Always create incoming directories before commit
1715 4663: CryptoPP: Latest fixes ported from aMule CVS
1717 2005/12/01
1718 4657: Fix for C files for AMD64, mipsel platforms
1719       improve endianness checking in tiger.c, md5_c.c and CryptoPP.h,
1720       print endianness in buildinfo, removed sha1_old code
1721 4661: Log: newline before exception message when MLDonkey can not use a port
1722       BT: exit if client_port = tracker_port
1724 2005/11/28
1725 4654: Fix guiprot when addr not resolvable (zet)
1726 4655: Set conn_user on gui (zet)
1727 4656: BT: update last seen complete field and fix bitfield reading (zet)
1729 2005/11/27
1730 4653: GTK2 GUI: add isohunt statistics (su_blanc)
1732 2005/11/22
1733 4364: Let mlnet build under the cygwin unix emulation layer (Amorphous)
1734 4648: GTK2 GUI: improve display of razorback stats (su_blanc)
1735       added the display of filedonkey.com data
1736 4646: BT: little change to recognise Clients (bogeyman)
1737 4645: Fix donkey total uptime stats order (bogeyman)
1739 2005/11/21
1740 4406: Unicode: Fix filenames in shared_files_new.ini and file rename
1741       in HTML interface (mld_unicode_patch6.patch) (CML)
1742 4440: New option shutdown_timeout, 3 sec, was hardcoded before (Amorphous)
1743 4644: Update GNU config.guess and config.sub to current versions
1744 4643: HTML: Fix gdstats output when html_use_gzip true
1745 4640: Calendar: view calendar command: vcal
1746 4641: Fix exception in load_web_infos
1747 4642: HTML: Improve preview via webbrowser (pango)
1749 2005/11/19
1751 4563: replace all Printf.printf occurences by Printf2.lprintf (su_blanc)
1752 4479: Callback mechanism for low ID users does not work (miriup)
1753       Reactivating submission of server IP and port during client
1754       handshake in edonkey
1755   "However, sometimes, especially when I have no files to download I do
1756    not receive callbacks at all. It is suggested to apply this patch in
1757    a testing mldonkey for a week on a non-low id connection before including
1758    it in a stable release, ... I can't test high-ID at all."
1759 4574: Friends upload slot (pango)
1760 -------------------------------------------------------------------------------
1761 2005/11/19: version 2.7.0 = tag release-2-7-0
1762 4631: Validate ED2K-client_private_key
1764 2005/11/16
1765 4630: GTK2 GUI - some bug fixes (su_blanc)
1766 * display Razorback graphical stats for currently selected file
1768 2005/11/14
1769 4625: GTK2 GUI - bug fix (su_blanc)
1770 * bug #14865 : availability display "dotty"
1771   added alpha channel to availability pixbuf.
1772 * bug #14963 : autosize slightly broken
1773   the tick mark for 'autosize all columns' appears only if all columns are set
1774   to 'autosize' mode. 'autosize all columns' triggers an 'autosize' mode for
1775   all columns if at least one has not this mode set. Otherwise all the columns
1776   are set to 'fixed' mode.
1777 * bug : razorback stats
1778   display stats on user request.
1780 2005/11/13
1781 4583: Change stats.razorback2.com usage to on-demand (su_blanc)
1782       to avoid overloading the server (disable_razorback_stats.diff)
1783 4619: Remove duplicate Gc.compact () from EDK mem_stats (pango)
1785 2005/11/12
1786 4617: GUI: send bt subfiles over gui prot (zet)
1787 4587: Buildinfo: Split build-time and run-time information (schlumpf)
1788 4350: Code cleanup : web interface chunks display (pango)
1789       (web_chunks_using_tables_v2.patch)
1790 4616: Change allow_browse_share, so only friends can see file lists (pango)
1791 4615: Add -g to CFLAGS when --enable-profile (pango)
1792 4605: replace string/bool bit arrays with bit vectors (zet)
1793 4607: remove html output from telnet 'vc all' (zet)
1794 4613: Optimizing Set.cardinal to reduce CPU usage (pango)
1795 4614: Gtk2 mlgui improvements (su_blanc)
1796 * fix bug : close all current searches when one quits mlgui
1797     otherwise the core continues to search
1798       to test:
1799         * open mlgui
1800         * make a search request
1801         * close the gui
1802         * in HTML interface, check "View searches" tab.
1803 * lower CPU usage by delaying heavy computations (use Glib.Idle)
1804 * rework the search tab, just make it more simple,
1805   limit results to max hits, added min availability criterium
1806 * added Autosize columns. Should fix bug #14868
1807 * change pixmap for availability bars in pixbuf. should fix bug #14865
1809 2005/11/09
1810 4558: further Overnet patches, query_next_peers3.patch (bogeyman)
1812 2005/11/07
1813 4586: cleanup brand stats code (bt/edonkey) (zet)
1814       updated to coalesce bt software parsing and add some more ids
1816 2005/11/05
1817 4589: CryptoPP doesn't like -fomit-frame-pointer, so remove it (przemoc)
1818 4597: OV/KAD: fix a search reset bug (bogeyman)
1819 4585: Change ED2K_max_sources_per_file from 20000 to 5000
1820 4579: Slackware package (tgz) - basic mlnet support (ratmmmam)
1822 2005/10/31
1823 4583: GTK2 mlgui improvement (su_blanc)
1824 Lablgtk-2.6.0 is needed for GTK2 mlgui, it fixes a mem leak with GdkPixbuf.
1825 added:
1826 * razorback stats: click on a file in the downloads tab to display the stats
1827   (at startup wait for few seconds, the time to download the png files...).
1828 * proxy options for mlgui
1829 * a graph tab: global downloads, global uploads and a view per file
1830   (downloads and uploads).
1831 modified:
1832 * fix Tray icon as per task #4694
1833 * reduce mem use
1834 * configuration files locations: mlgui and mlim do not need CommonOptions.
1835   Should not change anything for the users as we check the $HOME variable.
1837 4558: Overnet: several patches (includes and fixes patch #4551) (bogeyman)
1838 * better detection of dead peers
1839 * so we can ping less often
1840 * and can be sure these peers are alive
1841 * use ip:port from received pakets instead from the peer info
1842 * use a weak Hashtbl for known_peers and remove search_known_peers
1843 * we are removing all dead peers, in buckets and prebuckets,
1844   (do not wonder, if you get less peers left ;o)
1845 * do not send useless "Connect" pakets, Fillbucket really works
1846 * every 30m file searchs were created twice.
1847 There are really less peers than without this patch, maybe i'll have to tweak
1848 how we fill buckets. But for now this works and produce less traffic.
1850 4581: Fix upload rate for high volume connections (> 1.5Mbit/sec) (pango)
1851 4584: HEAP: use GC.quick_stats for mem_stats level=0 (bogeyman)
1853 2005/10/30
1854 4580: Update .cvsignore files (pango)
1855 4564: HTML: fix vd p/d/queued output (zet)
1856 4576: BT: remove sources when file is cancelled,
1857       mem_stats: Garbage collector info (zet)
1858 -------------------------------------------------------------------------------
1859 2005/10/28: version 2.6.7 = tag release-2-6-7
1860 4562: removed patch, breaks GUI connect after SIGTERM
1862 2005/10/27
1863 4551: remove patch, breaks Overnet
1864 4562: BasicSocket.ml fix, fix select when fd_tasks is empty
1865       close all fd on exit (su_blanc)
1866 4561: Options.ml4 proper old directory (su_blanc)
1867 4560: mingw : proper detection of gToolbox.mli (su_blanc)
1868 4559: mingw compilation of Crypto.cpp (su_blanc)
1869 4553: HP-UX: If /dev/urandom is not present print info where to get it
1870 4554: HP-UX: Compile fix for statvfs (disk usage statistics) (Inkus)
1871 4555: EDK: Send emule_version on server login to prevent
1872       "Your client is too old" message (Knocker)
1873 4556: Fix linking mlnet to X and GTK libs when using --enable-gui (su_blanc)
1874 -------------------------------------------------------------------------------
1875 2005/10/25: version 2.6.6 = tag release-2-6-6
1876 4551: OV/KAD: use kind like eMule does +misc bugfixes (bogeyman)
1877       "do not wonder, if you get less peers left ;o)", also reduces traffic
1878 4550: Create bitprint for large files (zet)
1879 4549: html_mods: relevant_queues option (zet)
1880       This patch creates a relevant_queues option which specifies a list of
1881       queue #'s that should be displayed in the vd # sources table.
1882       See sources command for the list of queues.
1883       By default all queues except the DoNotTry queue(7) are displayed.
1884 4548: IPBlock: really don't load descriptions on core restart,
1885       if set to false (bogeyman)
1887 2005/10/24
1888 4547: Fix dupe sending of motd/nets in gui_initialize (zet)
1890 2005/10/23
1891 4545: make TAGS, creates files for source code navigation in Emacs (pango)
1892 4544: Change internal code for statfs function (pango)
1893 4543: Lower CPU usage, optimize CommonSources.count_file_ready_sources (pango)
1894 4542: Remove Donkey-Fakes support, service is down
1895 4541: New option BT_max_tracker_redirect
1896       connect to bittorent trackers with http redirect (jhon)
1898 2005/10/19
1899 4535: OV/KAD: Yet another improved logging (bogeyman)
1900 4533: Yet another compile patch for mld_hash,
1901       remove svg_converter with make clean
1902 4534: Compile fix for make_torrent
1904 2005/10/18
1905 4531: Compile fix for GTK1 oldgui
1906 4530: Compile fix for mldonkeytop (pango)
1907 4525: Always use svg_converter.byte (gildor)
1908 4524: Fix building mld_hash (gildor)
1909 4523: Fix building of svg_converter.byte (gildor)
1911 2005/10/17
1912 4520: Check for /dev/urandom, /dev/null and $TEMP
1913 4521: CryptoPP: Compile patch for gcc-2.96 (sworn)
1915 2005/10/16
1916 4519: Int64ops cleanup (pango)
1917 -------------------------------------------------------------------------------
1918 2005/10/11: version 2.6.5 = tag release-2-6-5
1919 4508: Configure: Print some important build targets
1920 4507: EDK: Print server banners into logfile (pango)
1921 4500: BT: Fix multifile download with zero-byte files (thanks to jave)
1922 4506: replace obsolete longarry and fifo2 code (bogeyman)
1924 2005/10/10
1925 4504: Clean http_server.ml logging
1926 4502: Remove obsolete Weak2 sourcecode (bogeyman)
1927 4503: OV: fill buckets only with peers we send to and heard of (bogeyman)
1928 4499: Check for stalled pid file and remove it if MLDonkey is not running
1929       (does not work on MinGW due to missing Unix.kill) (pango, spiralvoice)
1930 4501: HTML: Fix chunk wrapping on IE (zet)
1932 2005/10/09
1933 4477: prevented some compiler warnings (Schlumpf)
1934 4496: Nicer summary of configure command
1936 2005/10/06
1937 4337: improved upload scheduler (pango)
1938 4494: fix infinite loop when create_dir_mask on fat32 (zet)
1939 4495: BT: include Wiki link to report unknown clients (bogeyman)
1940 4493: BT: Correctly parse .torrent files with an empty directory (zet)
1941 4487: BT/HTML: Display files inside a multifile torrent (bogeyman, jave)
1942 4458: EDK: add enable_sui toggle option (enabled by default) (zet)
1943 4491: Compilation fix for NetBSD>=2.99 (Thomas Klausner)
1944 4490: memstats for a weakhash and a new OV command dump_bucket (bogeyman)
1945 4473: New command: whoami
1946 4457: BeOS: Compile patch for CryptoPP (Michael Lotz)
1947 4460: Added search for .torrents via IsoHunt (WingMaster)
1948 4456: Fix shrink effect in vd for Opera (Luar Roji)
1950 4452: Clean configure.in, check for c++ compiler
1951 * zlib is not optional anymore
1952 * remove old code (Cryptokit, Broosnet etc.)
1953 * distinguish between Cygwin and MinGW
1954 * print start warning message only for Cygwin
1955 * remove whitespaces
1957 4450: Remove swarmer data when cancelling download (kempston, zet)
1959 2005/09/21
1960 4454: commonSources: add sources from resumed files
1961       (outside_queue sources) back to the queues (zet)
1962 4453: Telnet: Print reject message for connecting client
1963       if it is not allowed to connect,
1964       prepend "dllink" for all commands starting with "http://"
1965 4455: Improve make distclean
1966 4449: New parameter for pid file: -pid <dir>, small improvements for pid files
1967 4451: Correct the help of allowed_ips (gildor)
1969 2005/09/19
1970 4439: Fix for "make mlnet.byte" (zet)
1971 4438: Fix secure-ident related compile bugs in Opennap & Soulseek
1972 4437: BT: show up/down stats for Brand unknown (bogeyman)
1973 4436: EDK: Solve memleak in donkeyChunks (file_md4s_to_register) (bogeyman)
1974 4434: Added button to eMugle in Search (wingmaster)
1975 4432: Add more info to mem_stats (zet)
1977 2005/09/18
1978 4431: Newgui: Compile fix
1979 4419: EDK: Support secure user identification (crypto5, by zet)
1981 2005/09/17
1982 4424: OV: discard peers with ip 1.0.0.0 and random port
1983 4425: EDK: Support server extended getsources2 opcode (zet)
1984 4429: Better error message if MLDonkey lacks network support
1985       for a file in files.ini
1986 4427: BT: 10 retries / follow 10 redirections in 
1987       dllink http://server/file.torrent
1988 4423: OV/KAD: Save only active peers to config files/ save max 200 peers
1989       (bogeyman)
1991 2005/09/14
1992 4420: Remove obsoleted commonSwarming1 code
1993 4418: Re-activate sources_per_chunk option (pango)
1994 4417: BT: Improve BT upload speed (pango)
1995 4374: fix "max_hard_download_rate has to be doubled" (pango)
1996       This patch changes internal code, no option has to be changed
1998 2005/09/13
1999 4406: Improved Unicode filename support (CML)
2000 4412: OV: Handle OvernetPeerNotFound correctly (bogeyman)
2001 4411: OV/KAD: Some peers are not added to known_peers (bogeyman)
2002 4410: Shorter filesystem name for XFS
2003 4409: Compile fix if Bzip2 is not available
2004 4408: OpenBSD: configure.in fix to find libbz2 and others in /usr/local
2006 2005/09/08
2007 4397: Buildinfo: Run-time check for Windows OS version / Unix uname (zet)
2008 4403: html_mods: mem_stats in a single readable table (zet)
2009 4402: BT: BT-user_agent option (zet)
2011 2005/09/06
2012 4268: Web/Gui: free core's buffer allocated by vd # and gui (bogeyman)
2013 4393: Lower ip blocking memory usage (pango)
2014       new option ip_blocking_descriptions true|false
2015 4401: BT: Send 'stopped' event to all trackers when exiting (zet)
2016 -------------------------------------------------------------------------------
2017 2005/09/04: version 2.6.4 = tag release-2-6-4
2018 4392: Print "Core started" on stdout even if logging is enabled
2019       Fixes problems when MLDonkey is spawned by a GUI
2021 2005/09/03
2022 4247: memstats: BT/FT/GNUT/G2: initial memstats, ALL: show nr of old_files,
2023       BT: nr of torrent files
2024 4390: Mail: Print incoming path if !!url_in_mail is used
2025 4389: BT: Fix core exit if dirs of a shared multifile torrent are not writable
2026 4368: new option: create_file_sparse true|false, this works only for
2027       files on NTFS drives in MinGW compiled MLDonkey (thanks to zet)
2029 2005/09/01
2030 4385: EDK: Preserve untested servers (pango)
2031 4351: optimize ip blocking lists (pango)
2032 4376: EDK: Re-enable result_done (already downloaded) in search results (zet)
2033 4126: Improved log_file handling
2035 * there is now a default log_file: mlnet.log, old downloads.ini is *not* updated
2036 * its default log_file_size is 2MB, this is checked only on core start,
2037   if log_file is bigger it will be resetted
2038 * logging will always be appended to log_file
2039 * new command "clear_log" to reset log_file while the core is working
2040 * new command "open_log" to reopen log after close_log
2041 * removed command "log_file", same can be achieved through "set log_file <file>"
2043 4384: HTML: Add "Import Serverlist" in servers,clean third button row (schlumpf)
2044 4365: Disable console "X" close button on MinGW, second version (CML)
2045 4382: Solve libgd configure in mandrake 10.0
2046 4381: better differentiation of eDonkey and BT Stats Table (schlumpf)
2047 4380: some info for SCM Version (CVS co Date/ SVN revision) (schlumpf)
2048 4379: Fix compile error when libgd is not present
2049 4378: Longhelp: Better description for add_user
2050 4377: Better description for shared_directories in downloads.ini
2051 4356: EDK: Improved server.met handling / fix contact.dat loading
2053 * Changed user agent from "MLdonkey" to "MLDonkey", solves problem
2054   when downloading files from www.gruk.org and www.srv1000.com
2055 * MLDonkey new recognizes links like ed2k://|serverlist|http://server/file.ext|/
2056 * "servers" command now takes URLs
2057 * if period in web_infos is zero the file is only loaded during core start
2058   (as requested by the owner of www.gruk.org)
2059 * in all places where a filename or URL for a server.met can be used this
2060   file can also be compressed with gz/bz2/zip
2061 * automatically replace old default server.met in web_infos
2062 ("server.met", 24, 
2063 "http://ocbmaurice.dyndns.org/pl/slist.pl/server.met?download/server-best.met");
2064   with fake servers free list from gruk.org:
2065         ("server.met", 0, "http://www.gruk.org/server.met.gz");
2066 * fixed bug which prevented loading Overnet contact.dat file in web_infos
2068 2005/08/29
2069 4368: Use sparse files on MinGW/NTFS (zet)
2070 4370: BT/Win32: fix multifile hashing (Amorphous)
2072 2005/08/28
2073 4366: HTML: more maintainable html_mods styles (pango)
2074 4367: Improve logging
2075 4361: New command: uptime
2077 Lots of improvements for MinGW, this platform now supports
2078 files > 2GB, threads and libgd generated statistics.
2079 Here you will find compilation instructions:
2080 http://mldonkey.sourceforge.net/Windows
2082 4342: Large_file support for mld_hash and MinGW MLDonkey core (zet)
2083 4358: Add thread support for MinGW (zet)
2084 4362: configure.in support for libgd on MinGW/FreeBSD
2085 4349: increase filedescriptor limit for mingw (zet)
2086 4365: Disable console "X" close button on MinGW (zet)
2088 2005/08/26
2089 4360: Configure: Test for nl_langinfo(CODESET)
2090 4359: Upload: Give upload slot truely randomly (pango)
2091 4347: Improve exit codes, codes were inspired by sysexits.h
2092 4345: Code clean: Optimize redundant time_to_string functions
2093 4357: Rename ed2k_hash to mld_hash
2094 4344: Improve ./configure checks (bzlib.h, iconv on Windows)
2095 -------------------------------------------------------------------------------
2096 2005/08/21: version 2.6.3 = tag release-2-6-3
2097 4254: Patch reverted, did not work
2098       "html_mods: Table data is incorrectly centered"
2099 4336: Improve some log file messages
2100 4321: BT: fixed "make_torrent produce corrupted files on Windows" (beedauchon)
2101 4335: Buildinfo: Fix bug if Bzip2 version string is empty (beedauchon)
2102 4329: HTTPClient: Implement retries for failed requests
2103 4319: Fix compile if libbz2 is not available,
2104       new configure option: --disable-bzip2
2105 4334: BT/FileTP: Some progress on cancel bug (kempston)
2106 4333: send ip blocked addr state to gui, compute_torrent from gui (zet)
2107 4332: Let configure fail if GNU make is not installed
2109 2005/08/18
2110 4323: HTML: Search results: new colums for Bitrate, Codec and length
2111 4324: Log: Improve output for verbosity "hid"
2112 4322: EDK: compatibleclient 40 -> Shareaza
2113 4320: Fix compile on FreeBSD < 5.3
2115 2005/08/15
2116 4317: Updated ./configure for compiling lablgtk2 with --enable-batch
2117 4316: Updated ./distrib/Install.txt for Ocaml 3.08.4 and new GUI options
2118 4292: html_mods: Match styles default frameHeight with the common default
2119 4314: Allow compiling with Ocaml 3.08.4
2120       Compiling with 3.08.3 still works
2121 4312: BT: Allow seeding (beedauchon)
2122 4311: BT: create_torrent: default_tracker and default_comment (beedauchon)
2123 4309: GUI: send ed2k/bt network u/d totals (zet)
2124 4308: Gnutella/G2: Fix commit if no TigerTree is available
2125 4305: buildinfo: Print some system internals
2126 4304: EDK: Fix disconnect state with verbosity = "hid"
2127 4297: Create ini file backups on shutdown
2128 Note: file_sources.ini is never saved, it makes no sense to keep this file.
2130 New options:
2132 * backup_options_format, default "tar.gz", "zip" can also be used
2134 * backup_options_delay, default 0
2135 How often (in hours) should a backup of the ini files be written into old_config.
2136 A value of zero means that a backup is written only when the core shuts down.
2138 * backup_options_generations, default 10
2139 Define the total number of options archives in old_config.
2141 Command save got two new parameters:
2142 * "save all" saves options, sources and creates a ini file backup
2143 * "save backup" speaks for itself;-)
2144 -------------------------------------------------------------------------------
2145 2005/08/11: version 2.6.2 = tag release-2-6-2
2146 4296: BT: Fix options parsing
2147 -------------------------------------------------------------------------------
2148 2005/08/09: version 2.6.1 = tag release-2-6-1
2149 4291: EDK: Better logging for unknown compatibleclient values
2150 4290: BT: Some small fixes for messages interested and cancel (beedauchon)
2151 4289: LOG: Improve verbosity "hid"
2152 4287: Better clear Fifo buffers (bogeyman)
2153 4268: Web/Gui: free core's buffer allocated by vd # and gui (bogeyman)
2155 2005/08/08
2156 4285: IPBlock: Server support
2157 * display in vm/vma if a server has a blocked IP
2158 * prevent connections to a IP blocked server,
2159   in EDK case this resulted in a LowID connection 
2161 4284: Remove whitespaces / Some logging changes
2163 2005/08/07
2164 4279: MinGW: HDD statistics support
2165 4281: Remove white spaces / Some logging stuff
2166 4251: HTML: few fixes / new option html_frame_border true|false
2167 4278: Windows: Fix bug creating work dirs in empty dir
2169 2005/08/06
2170 4276: IPBlock: Never block local IPs even if they are in blocklist
2171 4274: Use relative path if downloads.ini is present
2173 2005/08/05
2174 4272: HTML: Cursor focus in input field
2175 4271: GTK2: Fix compile bug in src/gtk2/chat/chat_art.ml
2176 4155: Let MLDonkey create its data in $HOME/.mldonkey
2178 Usage instructions:
2179 * if the core is started in a directory where downloads.ini exists
2180   this directory will be used, this is the same behaviour as before
2181 * on Windows the current directory will always be used,
2182   this is consistent with eMule
2183 * on other systems $HOME/.mldonkey will be created and used,
2184   this is consistent with eDonkey, aMule and Unix standards
2185 * if variable MLDONKEY_DIR is used that directory has priority,
2186   to simulate the behaviour without this patch use:
2187     export MLDONKEY_DIR="." && ./mlnet
2189 2005/08/04
2190 4270: Overnet: Convert local IPs sent by OV clients to real IPs
2191 4269: IPBlock: Several fixes, better zip file support
2192 4264: Fasttrack: Force commit of all complete files
2194 4258: BT: Statistics, recognize more clients, min_interval,
2195       torrents/old and more...
2196       This patch was done by Beedauchon, it incorporates weeks of work from him.
2197 * move .torrent to torrents/old if the file is not shared anymore
2198 * new command rm_old_torrents: delete all files in torrents/old
2199 * eDonkey like statistics for BT clients (csbt command)
2200 * compute_torrent and make_torrent can put a comment into the .torrent file
2201 * MLdonkey computes a BT-compatible client_uid starting with "-ML"
2202 * parse more fields from .torrent files and display them in HTML interface
2203 * Tracker: replace "/tracker" by "/announce"
2204 * Tracker: add "/scrape"
2205 * Multitracker support for downloading
2207 2005/08/02
2208 4263: Fasttrack: Force bootstrapping nodes
2210 2005/08/01
2211 4261: HTML: Add DL button - opens dialog for entering links (omgwtf2)
2212 4260: IPblock: Enable IP blocking for Overnet and HTTP server
2213       (=BT Tracker) (beedauchon)
2214 4257: Kick uploaders which send no data for more than 1 minute
2215 4256: Print message if glibc version mismatch
2216       updates for buildinfo (version of libbz2, libz, libpng)
2218 2005/07/29
2219 4255: HTML: updates for cs command
2220 4254: html_mods: Table data is incorrectly centered
2221 4253: HTML: New style Construction (omgwtf2)
2222 4251: few html fixes (reverted) (beedauchon)
2224 2005/07/28
2225 4250: Remove whitespaces from commonUploads.ml
2226 4249: HTML: Links to fake check services in search results (bogeyman)
2228 2005/07/27
2229 4194: FileTP : Add support for "referer", error messages cleanup (beedauchon)
2230 4245: BT: Remove whitespace (beedauchon)
2231 4244: Change web_infos period to hours (this is a bugfix,
2232       no need to change ini files)
2233       new option: enable_mlnet_redirector
2235 2005/07/26
2236 4243: FileTP: Clean lots of whitespaces
2237 4031: HTML: relative refs in HTML output (beedauchon)
2238 4191: Access to disk data (free space, max file name length)
2239       This is first step implmenting this, checkout the
2240       disk command for debugging.
2241 4242: IPBlock: Support guarding_full.zip
2242 4241: Fix html_mods_vd_gfx_remove
2243 4240: EDK: New option keep_downloaded_in_old_files
2245 2005/07/23
2246 4184: support guarding.p2p in zip/gz/bz2 format
2247       bz2 segfaults on OpenBSD, therefore disabled
2248       see notes in the patch on how to compile with MinGW
2250 2005/07/22
2251 4205: Improve logging with timestamps 2 (incomplete)
2252 4204: Improve logging with timestamps (incomplete)
2254 2005/07/21
2255 4195: GUI: Change configure options
2257 Now "./configure" compiles no GUI, "--disable-gui" is default.
2258 To use a GUI use "--enable-gui", this enables GTK2 GUI.
2259 Other options are:
2260 --enable-gui=newgui2 (use GTK2 GUI)
2261 --enable-gui=newgui1 (use GTK1 newgui)
2262 --enable-gui=oldgui  (use GTK1 oldgui)
2263 Options like "--disable-newgui" or "--enable-gtk2" were removed.
2265 2005/07/20
2266 4193: CommonGraphics : some whitespace cleanups
2267 4190: Gdstats: Fix tag.png/jpg link output
2268 4188: Overnet: Dont put our own ID in the buckets (bogeyman)
2269 -------------------------------------------------------------------------------
2270 2005/07/19: version 2.6.0 = tag release-2-6-0
2271 4175: New option html_mods_use_js_tooltips, default true
2272       (4175_5.patch)
2273 4187: Update version to 2.6.0
2274 4186: SCM date for Windows / FreeBSD configure enhancement
2276 2005/07/18
2277 4183: HTML: Overnet/Kademlia stats improvements (beedauchon)
2278 4118: Solve memory leak in Overnet/Kademlia
2279 4182: Get CVS date in configure for OpenBSD
2280 4175: HTML: Add Multiline File Information in download table
2281       (4175_4.patch)
2283 2005/07/17
2284 4181: EDK: Control identified versions
2285 4180: EDK: Files copied to incoming dir for sharing do not
2286       appear in upstats after hashing
2287 4179: Get CVS date in configure for FreeBSD & Mac OS X
2288 4178: Dont build GUI on "make release.mlnet.static"
2289 4177: Clear logging, first steps toward time stamps
2290 4175: HTML: Add Multiline File Information in search results
2291 4174: EDK: Re-enable source exchange with eMule clients
2292 4163: EDK: Avoid saving sources every save_options_delay
2294 2005/07/14
2295 4173: Clear whitespace from code
2296 4168: HTML: Graphical chunk display in vd <num> (beedauchon)
2297 4167: Gdstats: Fix corrupted pics output/improved output (beedauchon)
2299 2005/07/13
2300 Remove obsolete ./src/gtk/gui2 directory
2301 4165: Clean log file
2302 4164: Gnutella/G2: Update Webcache URLs
2303 4160: resize properly the names in the gtk2 gui (su_blanc)
2304 4158: EDK: Parse and display version numbers, also in GTK2 GUI (su_blanc)
2305 4114: EDK: new command "reset_stats" (Knocker)
2307 2005/07/10
2308 4159: Removed whitespaces (beedauchon)
2309 4156: tray icon in x11 for GTK2 GUI (su_blanc)
2310 4157: fix mlnet.pid checking at start up for GUI
2312 2005/07/07
2313 4153: More infos for mem_stats
2314 4146: Use lprintf_nl instead of "lprint_newline ()" or "\n" (beedauchon)
2316 2005/07/06
2317 4118: Improve Overnet/Kademlia logging and mem_stats output
2318       (overnet_log,patch)
2319 -------------------------------------------------------------------------------
2320 2005/07/05: version 2.5.30.17 = tag release-2-5-30-17
2321 4142: Remove unneeded code
2322 4141: Cleaned logging
2323 4140: New option: create_dir_mask
2324       New directories in incoming_directories are created
2325       with these rights. 
2326 4139: EDK: don't ask clients for non-downloading files
2328 2005/07/04
2329 patch posted in bug 13619:
2330   Always returns ASCII(C) locale when it use libcharset
2332 2005/06/29
2333 4135: Change emule_version
2334 4134: Clean core startup messages and log output
2335 4130: Print warning message for Windows users
2336 4128: Notification mail: show hash and download time
2337 4127: Add TOS support
2338 4123: First steps toward integrated user-management:
2339       new commands "remove_user" and "users",
2340       only "admin" is allowed to kill the core
2341       HTML interface to setup users (Options, Users)
2343 2005/06/25
2344 4125: Some configure.in fixes if libpng is misssing in libgd
2346 2005/06/23
2347 4122: EDK: "server <met>" command now responds with a clearer answer (Knocker)
2348 4121: EDK: Dont remove preferred server if server_users < min_users_on_server
2349       (Knocker)
2350 4120: EDK: send emule_version to servers (Knocker)
2351 4083: new build target: release.mlnet.distri
2352       it contains both the dynamic and the static linked core
2354 2005/06/22
2355 4115: sort output of "links" in alphabetically order (Knocker)
2357 2005/06/20
2358 4109: EDK: Improve update_server_list
2359 4104: Check accessibility of used directories on core startup
2360 4101: Telnet: Show BT hash in vd <num>
2361 4099: Automatically insert version number in Windows ressource file
2362 4093: Add Buildinfo button to HTML, Help+
2363 4092: Add Razorback-Stats and Bitzi links to upstats
2364 4091: EDK: Some progress on the cancel bug
2365 4090: Overnet: Add stats to mem_stats and code cleanup
2366 4089: gdstats: Update second graph correctly
2367 4085: change download priority to keep started download rolling
2368 4071: Code cleanup: Replace lprintf_newline with "\n"
2369 -------------------------------------------------------------------------------
2370 2005/06/06: version 2.5.30.16 = tag release-2-5-30-16
2371 4070: Exit core on startup if a port is already used
2372 4079: mlnet server id fix
2374 2005/06/03
2375 4067: BT: Fix multifile commit
2376       (updated to create dirs with rights 777)
2377 4063: HTML: Some improvements (beedauchon)
2379 2005/05/30
2380 3984: Make filename_conversions option implementation safe
2381 4042: Avoid sharing temp dir
2382 4046: Hotfix: Circumvent max_hard_download_rate/2 bug
2383 4051: mailer:encode subject and include a time zone
2384 4055: Allow canceling of ed2k downloads if G2 is enabled
2385 4056: Close all files if core receives SIGHUP
2386 4057: Hotfix: Close files if an upload slots gets free
2387 4058: Remove donkey_devel code, it is outdated
2388 4060: Extend core startup message
2389 4061: Block system signals during core startup
2391 2005/05/28
2392 4040: EDK: Do not truncate shared files
2393 4043: Avoid locking shared files
2394 4044: G2: Enable dllink support for servers and friends
2395 4045: Remove command "-daemon", use 'mlnet > /dev/null 2>&1 &' instead
2396 4050: Sync with Amorphous rev325
2398 2005/05/19
2399 4033: Fix "make clean" on MinGW/Cygwin (updated 2005/05/28)
2400 4034: HTML: sources command has HTML output now (from beedauchon)
2402 Replaced docs/http-1.1.txt and docs/uri.txt with links
2403 to the original files.
2405 Remove big, dcgui, giFT, hwd, lopster and small from ./icons
2406 GTK old- and newgui and GTK2 GUI compile without those dirs.
2408 Only these sets are used:
2409 ./config/Makefile.in:  ICONS_CHOICE=icons/rsvg
2410 ./config/Makefile.in:    ICONS_CHOICE=icons/tux
2411 ./config/Makefile.in:    ICONS_CHOICE=icons/kde
2413 2005/05/17
2414 3985: Create pid file
2415 3991: Respect $MLDONKEY_DIR
2416 3993: Enable signal handling on MinGW
2417 3996: EDK: Support auxports
2418 4017: Fix use_tags compile
2419 4018: New EDK clients: Emule Plus + Hydranode
2420 4023: Enhance buildinfo
2421 4025: Enable sha1new on Solaris and Windows
2422 4026: Remove all servers with "rem all" works now
2423 4027: Fix jpg viewing with gdstats
2424 4028: Remove gd generated files (cosmetic code update 2005/05/19)
2425 4029: EDK: Print warning if enable_servers false
2427 2005/05/13
2428 3979: Show CVS date in CURRENT_RELEASE
2429 3971: Send sources availability
2430 3977: html_mods: fix server listing when a net is disabled
2431 3978: properly sort availability in the GTK2 GUI
2432 * Patch from beedauchon adds html support to donkeys
2433   new_print_mod_stats if emule mods statistics are disabled.
2434 * Patch from beedauchon adds html support to the command gstats.
2435 * Patch from beedauchon adds html support to the command ov/kad_stats.
2436 * Patch from beedauchon adds some fixes to the html output 
2437   of the networks command.
2438 -------------------------------------------------------------------------------
2439 2005/05/02: version 2.5.30.15 = tag release-2-5-30-15
2440 This version shares the same code as Amorphous revision 304.
2442 3963: Remove Audiogalaxy code
2443 3964: Remove obsolete Cymes entries
2444 3970: Print web_infos (from beedauchon)
2445 3972: bug fixes for the GTK2 GUI
2446 3973: Support for Overnet contact.dat (from beedauchon)
2447 3974: HTML: RSS support (from beedauchon)
2448 3975: EDK: Fix for sending shares to server
2449 3976: Remove obsolete Ares code
2450 -------------------------------------------------------------------------------
2451 2005/05/01
2452 3956: Set utf-8 character encoding in notification mails
2453 3952: Print glibc version in buildinfo
2454 3969: Sync with Amorphous rev293 
2455 from rev290:
2456 * A little cleanup for debug output.
2457 from rev293:
2458 * Patch from beedauchon fixes transparency issues with
2459 graphical stats.
2460 ---------------------------------------------------------------------
2461 2005/04/26: spiralvoice (version 2.5.30.14 = tag release-2-5-30-14)
2463 3908: Split patch 3900: Vorbis file support
2464 3949: Some improvements for graphical stats
2465 3950: bug fixes for the gtk2 GUI
2466 3951: servers enhancement
2467 ---------------------------------------------------------------------
2468 2005/04/25: spiralvoice (version 2.5.30.13 = tag release-2-5-30-13)
2469 This version shares the same code as Amorphous revision 286.
2471 3947: More build fixes for sha1new on FreeBSD 
2472 ---------------------------------------------------------------------
2473 2005/04/24: spiralvoice (version 2.5.30.12 = tag release-2-5-30-12)
2475 3943: Fix building without gd
2476 3944: Sync with Amorphous 284
2477 * lots of whitespace cleanups
2478 * Some cleanups in configure.in .
2479 * Corrected that --enable-gd is the default
2480 ---------------------------------------------------------------------
2481 2005/04/24: spiralvoice (version 2.5.30.11 = tag release-2-5-30-11)
2483 3942: Fix for Gnutella/G2/Fasttrack dllink handling
2484 ---------------------------------------------------------------------
2485 2005/04/24: spiralvoice (version 2.5.30.10 = tag release-2-5-30-10)
2487 3938: Print cwd on core start to help users finding their ini files
2488 3939: gd generated bandwith-usage graphic in the web-ui
2489 3941: Sync with Amorphous rev280/281
2490 * Little fix for the buildsystem for commonGraphics.
2491 * Fix the sha1new configure-test for FreeBSD.
2492 * I hope, that i fixed problems with linking libiconv for FreeBSD.
2493 * Change the iconv check a bit. Users with unusual locations
2494 should use --with-libiconv-prefix with configure. Still
2495 seems not to work right on FreeBSD.
2496 * Fix sha1new for FreeBSD for sure now.
2498 ---------------------------------------------------------------------
2499 2005/04/23: spiralvoice (version 2.5.30.9 = tag release-2-5-30-9)
2501 3919: Move users/passwords from downloads.ini to users.ini which has rights 600
2502 3930: Build fixes for FreeBSD & OpenBSD (some more patches)
2503 3935: Core did not create incoming on first start
2504 3937: Whitespace cleanup of configure --help
2505 ---------------------------------------------------------------------
2506 2005/04/23: spiralvoice (version 2.5.30.8 = tag release-2-5-30-8)
2508 Mozilla MLdonkey Protocol Handler updated to version 1.5
2509 3924: More bt peer ids + clean up networks cmd in html (table sorts properly)
2510 3926: mac osx gtk2 gui building
2511 3930: Build fixes for FreeBSD & OpenBSD
2512 3931: Prevent DDOSing fm2.imesh.com
2513 3932: Print warning if core cant do DNS lookups
2514 ---------------------------------------------------------------------
2515 2005/04/20: spiralvoice (version 2.5.30.7 = 2.6pre19, tag release-2-5-30-7)
2517 3915: Show only searchable networks in HTML, search
2518 3916: Change Opennap servers_list_url to a working one
2519 3918: HTML: Print network capabilities table
2520 3921: Change Fasttrack temp file names 
2521 3922: Re-enable use of ft:// links to add Fasttrack servers
2522 ---------------------------------------------------------------------
2523 2005/04/13: spiralvoice (version 2.5.30.6 = 2.6pre18, tag release-2-5-30-6)
2525 * Add an headder-file to charsetstubs.c so it compiles on
2526   certain platforms. This fixes savannah bug #12683.
2528 To compile on FreeBSD and OpenBSD link these files:
2530 /usr/local/include/libcharset.h
2531 /usr/local/include/localcharset.h
2532 /usr/local/include/iconv.h
2534 to /usr/include and /usr/local/lib/libcharset* to /usr/lib.
2535 ---------------------------------------------------------------------
2537 2005/04/13: spiralvoice (version 2.5.30.5 = 2.6pre17, tag release-2-5-30-5)
2539 3894: New build targets: release.utils.shared & release.utils.static
2540 3895: Amorphous patches from SVN revision 259
2541 * If using iconv in an libiconv, check for libcharset.h and
2542 use it, if it is not present use localcharset.h . This
2543 should fix compiling on some systems.
2544 * Lower AC_PREREQ to 2.53 (debian wood needs that).
2545 * Some whitespace fixing for configure --help .
2546 * Use -mno-cygwin for cc when --enable-mingw is used. But it
2547 seems like it does not prevent the freezing we know from
2548 cygwin compiled cores.
2549 * Use the present fd for getsize64 in unix32. This should
2550 fix multi-files for bt in win32, as win32 only allows one
2551 fd per file because of the default locking behaviour.
2552 * Ignore exceptions from utimes, as in win32 the default
2553 locking behaviour prevents them.
2555 3896: BT support for file_started_cmd
2556 3901: Change HTML headers from iso-8859-1 to UTF-8
2557 3902: Amorphous patches from SVN revision 264
2558 * Add -mno-cygwin to -ccopt for ocaml. Seems not to fix
2559 --enable-mingw either.
2560 * Clean up canonize_basename, now that we have charset
2561 conversion. Now we should be able to have most chars in
2562 filenames if the locale is set right.
2563 * When shorten-ing names, just use Charset.to_utf8 instead
2564 of String.excaped . Now non-ASCII chars should show up
2565 nicely in web-ui and telnet-ui. The conversion should be
2566 done when these strings enter the core, but that would be
2567 quite a task.
2568 * Remove an Charset.to_locale that shouldn't be there.
2570 3903: Remove some log messages
2571 3904: Format "vd <num>" output in telnet to have md4 hashes back
2572 3905: Prevent crash on start when wrong system date is set
2573 3906: Fix GTK1 GUI compile (was broken since patch 3867)
2574 3907: Fix UTF-8 stuff
2575 3909: Some cosmetical stuff from Amorphous rev 266
2576 ---------------------------------------------------------------------
2578 2005/04/07: spiralvoice (version 2.5.30-4 = 2.6pre16, tag release-2-5-30-4)
2580 3889: Clean logfile
2581 3887: Syncing Savannah CVS with Amorphous SVN
2582 * Applied savannah patch #3867 with small modifications, so
2583 it builds on systems that don't have libiconv but have
2584 iconv() in libc (i hope it still works on systems with
2585 libiconv :) ) and so that the gui protocol version 30
2586 behaves as before.
2587 - new gui protocol version 31 (see guiProto.ml) fixes
2588 savannah bug #11988 : GUI-Protocol doesn't send hashes
2589 for files not from the donkey-network
2590 - fix for savannah bug #12390 : GTK2 GUI configuration
2591 problem
2592 - bt shares now show up under shares
2593 - gtk2-gui: fix some bugs in text display (while using
2594 Pango markup)
2595 - gtk2-gui: fix upload/download rate of clients
2596 - gtk2-gui: md4 is replaced by uids everywhere (downloads,
2597 uploads, results)
2598 * Patch from beedauchon on irc fixes that gnutella and
2599 gnutella2 options had the same prefix.
2600 * Corrected debug-output in http_client.ml form last commit.
2601 * Little debug-log cleanup.
2602 * Fixed savannah bug #12348 gnutella (and related networks)
2603 accumulated more and more ultrapeers (servers) during
2604 runtime and did not forget them, so memory usage growed
2605 over time.
2606 ---------------------------------------------------------------------
2608 2005/04/04: spiralvoice (version 2.5.30-3 = 2.6pre15, tag release-2-5-30-3)
2610 3883: Fix compile errors in GTK1 GUIs due to patch #3867
2611 ---------------------------------------------------------------------
2613 2005/04/04: spiralvoice (version 2.5.30-2 = 2.6pre14, tag release-2-5-30-2)
2615 3864: html-interface: slightly easier renaming
2616 3867: bug fixes for the new GTK2 GUI
2618 3873: Syncing Amorphous 2-5-30ac with 2-5-30-1 
2619 * Now really fixed the infinite loop in the sourcemanagement.
2620 * The check for the version of ocaml in the configure file
2621 should be fixed now. Now 3.08.3* and 3.08.2* (for mac only
2622 3.08.2+4 to +8) are recognized. If needed 3.08.3 should be
2623 downloaded correctly.
2624 * Some debug-output cleaning.
2625 * Updated warning message for old mldonkey clients, they
2626 should at least upgrade to 16v.
2627 * Removed option master_server_min_users as it was not used
2628 in the code.
2630 3874: Extend vd command with parameters
2631 * add telnet commands
2632 vd queued
2633 vd downloading
2634 vd paused
2635 shows only chosen downloads
2636 tip: use aliases vdd -> vd downloading
2637 vdq -> vd queued
2638 vdp -> vd paused
2640 3876: Support subrelease in configure.in
2641 3877: Identify more bt peer ids (client software)
2642 3882: Decode http-header-name location case-insensitive
2643 ---------------------------------------------------------------------
2645 2005/03/20: spiralvoice (version 2.5.30-1 = 2.6pre13, tag release-2-5-30-1)
2647 This release shares the same code as Amorphous SVN release 2-5-30ab
2648 except the fact is needs Ocaml 3.08.3
2650 3792 : EDK/HTML: More readable uptime in cs
2651 3795 : Updated files for bugs building GTK2 GUI, GTK1 newgui and GTK1 oldgui
2652 * To build GTK1 newgui: ./configure
2653   To build GTK1 oldgui: ./configure --disable-newgui
2654   To build GTK2 GUI: ./configure --enable-gtk2
2655   lablgtk-1.2.7 and lablgtk2-2.4.0 can both be installed at the same time.
2657 3816 : New URLs in FakeCheck. Corrected Bitzi URL
2658 3573 : Allows for aliased commands in driverCommands
2659 3822 : Fix for completed files appear multiple times in upstats
2660 3829 : Options care
2662 3828 : Opennap compiles again
2663 * this does not mean the module actually works;-)
2665 3830 : Review build process
2666 * Ocaml 3.08.3 is now required to build MLDonkey
2667 * Removed config/Makefile.config.i?86.in files. If you want
2668   to build for an arch that is not the build-machine then
2669   use for example ./configure --host=i586-pc-linux-gnu .
2670 * Added the opt-binaries from utils to make clean.
2671 * Added configure option --enable-debug .
2672 * Removed the configure options for directconnect and
2673   audiogalaxy, any developer wo wants to work on them can
2674   add them again and nobody else should use them.
2676 3791 : Syncing 2.5.30 and Amorphous 2.5.30aa
2678 * Adapted a change to the command "sources" from savannah
2679   patch #3621 that had a new command "tsources". "sources"
2680   now prints it's information in a much more compact table.
2681 * Savannah patch #3304 has UTF 8 encoding for strings from
2682   the core.
2683 * Changed so redirectors (gwebcaches) for gnutella/g2 are
2684   only contacted once a day. This is no good solution, but
2685   it should prevent us from harming the network.
2686 * Prevent active_udp_queue in g2 from growing over length
2687   100 and eating all memory (this is a workaround and
2688   should be fixed for real someday).
2689 * Now ./configure checks for autoconf259 and autoconf-2.59
2690   and uses these instead of autoconf. AC_PREREQ in
2691   configure.in is now set to 2.59 instead of 2.5 .
2692 * The default port for the gift gui is now 0, to disable it,
2693   because it did not ask for authentication.
2694 ---------------------------------------------------------------------
2696 2005/03/02: spiralvoice (version 2.5.30 = 2.6pre12, tag release-2-5-30)
2698 This version solves the serious file corruption bug in version 2-5-29
2699 ---------------------------------------------------------------------
2700 These patches were applied to 2-5-29 by b8_bavard without mentioning
2701 in Changelog:
2703 3357: BT: use config option for hardcoded TCP-read-timeout
2704 3326: html_mods: Show sources info in vd # output again
2705       (bt_vd_soft.diff + html_print_sources.diff)
2706 -------------------------------------------------------------------
2707 This patch was applied to 2-5-28-1 by spiralvoice without mentioning
2708 in Changelog:
2710 3672: Let mldonkey upload (complete files) work with Low ID clients
2711 -------------------------------------------------------------------
2713 These patches are part of release 2.5.30:
2715 3676: BT/fileTP HTTP header check (header_checks-fix.diff)
2716 3551: new gtk2 gui (3551_1_29.patch.gz, rsvg_icons_set.patch.gz)
2717 3308: Optionally skip (queued/paused) files in html vd display
2718 3461: [EDK] Fix some bugs (3461_29.patch, tweak_commonSources.2-5-28-fixed.patch)
2719 3476: Fix bug in friends file list
2720 3481: Let configure fail if Ocaml and wget are not available
2721 3484: Add vd link for nocheckboxes html interface (3484_2.patch)
2722 3490: Some leftovers from patch_pack 2-5-28h
2723       (lowid_29.patch, cleanups_small-fixes.patch, 3490_2.patch)
2724 3491: Some stuff for config/Makefile.config.i?86.in
2725 3494: BT: tracker interval fixed again (this patch replaces
2726       patch 3447 from 2-5-28-1, 3494_29.patch)
2727 3522: BT guarding.p2p support
2728 3575: Detect if config/ directory is absent during configure
2729 3603: Error in mldonkey-design.tex
2730 3604: Fix for bug #11394 - HTTP redirection
2731 3608: EDK: Higher default for walker_server_lifetime 
2732 3609: New extensions for video search (extensions28.patch)
2733 3610: Kademlia nodes are collected even if Kademlia is disabled
2734 3615: Small typo, clean logfile
2735       (log.patch, log.patch (for Overnet messages, new in 2-5-28p,
2736       typo.patch, 3615_4_29, replaces edkudp_messages.patch,
2737       3615_5_29, replaces compatableclient.patch)
2738 3616: fix for too much source-queries to servers for 2.5.28i
2739       (3616_29.patch)
2740 3620: Donkey guarding.p2p support (3620_29.patch)
2741 3621: new command "tsources" prints table of sources
2742 3622: we should only ask for sources if we need_new_sources (3622_29.patch)
2743 3627: Adding EDK servers with edk://server did not work
2744 3631: Solve configure problem on Mac - fixes bug 11365
2745 3634: This patch addes RazorBack's file history link to interface 
2746 3637: Fix for MacOS Orphaned File Descriptor Bug
2747 3648: HTML: Display sharing strategies in Options, Shares
2748 3652: TELNET: Display search result summary
2749 3653: Handle HTML error 304 in http_client.ml (3653_29.patch)
2750 3655: Bugfix for multiple sourceexchanges with the same peer
2751       (3655_2.patch)
2752 3656: Parse eMules ipfilter.dat for use in IP blocking function
2753 3672: Let mldonkey upload (complete files) work with Low ID clients
2754 3675: EDK: keep_cancelled_in_old_files works again
2755 3677: Fix for bug #11686 - fileTP cancel
2756 3680: get more infos on servers per UDP
2757 3685: fileTP FTP quick fix
2758 3688: Avoid Exception Pervasives.Exit in QueryFileReq
2759 3707: Use Ocaml 3.08.2 instead of 3.08.0 when no Ocaml is installed yet
2760 3715: Some care for options
2761 3719: New command: buildinfo (3719.patch, buildinfo2.patch, 3719_3.patch)
2762 3721: HTML: Remove filewatcher.org from Search function
2763 3725: EDK: 15 new eMule mods
2764 3726: EDK: Better recognition for Shareaza clients
2765 3728: EDK: vd <num> source score display bugfix
2766 3734: Configurable socket option so_keepalive (3734_29.patch)
2767 3737: FT/GT: Canceling download works again (3737_29.patch)
2768 3744: bugfix #11362 and some description cleanup
2769 3754: Bitzi lookup works again in Search results interface (3754_29.patch)
2770 3157: Send core update message to "new mldonkey" (3157_29.patch)
2771 3681: remove guarding block of indirect sources
2772 3717: improvement of patch 3672 (additonally bugfix for wrong Hi/Lo-ID in serverlist)
2773 3773: Solve compile bug in tools (dp500.patch, make_torrent.patch)
2774 3673: do not send the entire list of shadred file to servers every 5 minutes
2775       (3673_29.patch)
2776 3291: Fix for bug 9996 - Missing Date Header in Emails
2777       (fixed problems with 3291_29.patch)
2778 3736: Bugfix for Chunks-Randomizing and LowID recognition on inbound connections
2779 3722: Enhancements to the sourceexchange and some minor ED2K bugfixes (3722_29.patch)
2780 3735: Sourcemanagement revisited (3735_29.patch)
2781 3776: Fix for file corruption in CVS 2-5-29
2782 3777: Lots of backported stuff from Amorphous branch 205
2783       (backport.patch, log.patch)
2785 -------------------------------------------------------------------
2787 UPDATE (2005/02/20): branch 2-5-28 was updated, to check out use "-r release-2-5-28-1"
2789 A SERIOUS bug is in 2.5.29, don't use it, version 2.5.30 will appear soon !
2790         (if you do a checkout/update , use tag 'release-2-5.28' instead)
2791         
2792 2004/10/26: Fabrice (version 2.5.29 = 2.6pre11, tag release-2-5-29)
2793   - Bittorrent: files should be shared even after commit.
2794   - Removed some options:
2795        * "incoming_directory", replaced by "shared_directories", with
2796            strategy "incoming_files" (for downloaded files) and
2797            "incoming_directories" (for downloaded directories on Bittorrent).
2798        * For networks, "network_options_prefix" and "commit_in_subdir".
2800 2004/10/22: Fabrice
2801   - Measure latencies between clients and send them to redirectors:
2802      * On TCP connections
2803      * On UDP: 
2804          * Edonkey Server Ping/Pong
2805          * Overnet/Kademlia clients Connect/ConnectReply
2806          * Fasttrack Supernode Ping/Pong
2808 2004/10/18: Fabrice
2809   - Many changes and patches applied, labeled as UNSTABLE until further
2810       tested.
2811   - Applied Savannah patches: #3321 (print_sources), #3338 (BT-quit), 
2812      #3341 (BT-numwant), #3352 (GUI-GetVersion), #3356 (BT-showfile),
2813      #3363 (gzip-0len), #3407 (BT-referer), #3408 (complete),
2814      #3409 (download-sort), #3411 (setoptions), #3412 (BT-delay),
2815      #3413 (BT-messages), #3414 (BT-latepeerid), #3415 (ED2K-ip),
2816      #3420 (BT-chooser), #3421 (BT-events), #3422 (BT-reshare),
2817      #3423 (BT-manualstop), #3425 (BT-latepeerid2), #3427 (logchats),
2818      #3428 (BT-delay2), #3429 (BT-handler), #3430 (BT-verify),
2819      #3435 (BT-assert1), #3436 (BT-parsehead), #3438 (ED2K-proto),
2820      #3439 (swarm2), #3442 (kad-options), #3443 (log)
2821   - Default is now Swarming2.
2823 2004/10/13: Fabrice
2824   - Gnutella/Gnutella2: deflate_connections works
2826 2004/10/07: Fabrice
2827   - CommonUploads: 
2828       * Description of shared files is saved on disk during execution.
2829       * Computed UIDs, Md4s and tiger-trees are stored in shared_files.ini
2830           between executions.
2831   - Fasttrack:
2832       * Experimental ultrapeer mode for local experimentations (will not
2833           work on the Fasttrack network).
2835 2004/10/03: Fabrice
2836   - Bittorrent:
2837       * Start download without the torrent, when enough information is known.
2839 2004/09/27: Fabrice
2840   - Fasttrack:
2841       * Clean protocol specification
2842       * Basic ultrapeer
2844 2004/09/21: Fabrice
2845   - Gnutella/Gnutella2: 
2846       * Implemented basic ultrapeer (without Bloom filters)
2847       * Implemented HTTP upload
2848       * Implemented TigerTree verification
2850 2004/08/31: Fabrice
2851   - Bug fixes: 
2852       * chunk*.tmp are always removed
2853   - Applied patches: #3305 (config gtk), #3306 (mlgui align), #3307 (clean),
2854       #3313 (ft), #3317 (bt softs), #3319 (floats), 
2856 2004/08/18: Fabrice (version 2.5.28 = 2.6pre10, tag release-2-5-28)
2857   - Tested CommonSwarming2 with Edonkey and BT (should also work with 
2858       Fasttrack).
2860 2004/08/17: Fabrice
2861   - Applied patches: #3279 (cygwin), #3288 (aclocal), #3291 (maildate),
2862       #3292 (no gtk-config), #3554 (sharedbytes), #3561 (htmlpref),
2863       #3574 (gziphtml)
2865 2004/08/16: Fabrice
2866   - Bug fixes:
2867       * CommonSwarming: one bug causing BAD WRITE, and one bug causing bad
2868           selection of the block to download first.
2869   - CommmonSwarming2:
2870       * New "merge f1 f2" command to declare that data from file f2 should be
2871           saved in file f1. Not that all the data already downloaded to f2 is
2872           currently lost.
2874 2004/08/12: Fabrice
2875   - Bug fixes:
2876       * DriverCommands: add_user shouldn't raise exception anymore (bug #9990) 
2878 2004/08/11: Fabrice
2879   - Bug fixes:
2880       * DonkeyOptions: compute_md4_delay forced above 0.1 (bug #8812)
2881       * CommonNetwork: use Url.decode on urls 
2882       * Http_client: correct Host header (bug #8705)
2883   - Applied patch #2974 (wget)
2884   - CommonSwarming2: new implementation for multi-network swarming (not
2885       working yet). Not used anyway unless -enable-swarming2 is specified.
2887 2004/08/10: Fabrice (version 2.5.27 = 2.6pre9, tag release-2-5-27)
2888   - Applied patch #3276 (gui proto 29)
2889   - Bug fixes:
2890       * CommonInteractive: Filename conversion of forbidden Windows characters
2891           before saving files (bug #9213)
2892       * MlUnix: stdout and stderr are not closed, just redirected to /dev/null
2893           (bug #8580)
2894       * DonkeyFiles: limit upload to client to max_msg_size (bug #9818).
2895       * CommonSources: fixed bug preventing saved sources from being used
2896           (and thus previously known emule clients from being used).
2897       * CommonSwarming: save and reload chunks ages
2898       * FasttrackComplexOptions: sources are correctly loaded
2899   - Fasttack now uses module CommonHosts
2901 2004/08/09: Fabrice (version 2.5.26 = 2.6pre8, tag release-2-5-26)
2902   - Bug fixes:
2903       * GuiDecoding: bug causing deconnection for protocol 28
2904       * New Fasttrack files from giFT-Fasttrack
2905       * New option filename_conversions in downloads.ini to translate chars
2906           in names before saving files.
2907       * DonkeyClient: fixed QueueRankReq handling
2909 2004/08/09: Fabrice (version 2.5.25 = 2.6pre7, tag release-2-5-25)
2910   - Bug fixes (to be tested):
2911       * CommonSwarming: removed downloaded counter, use the file's one.
2912           Verified files should now be seen correclty after verify_chunks or
2913           recover_temp.
2914       * CommonInteractive: modified canonize_basename to replace chars
2915           outside 32-127 by ?. Should solve saving of CJK files on disk.
2916       * Unix32: open in read-only if EROFS is raised
2917       * DonkeyComplexOptions: force use of update_server_list variable, and
2918           check IP reachability (bug #7200). Should also fix bug #8971.
2919       * DonkeyClient: Don't ask for slot if no interesting chunk. Use
2920          good_client_rank option to put clients in "good_sources" queue.
2921          (bug #9016).
2922       * DonkeyClient: removed "connection_ok" in query_locations to
2923          allow servers to become master (bug #7741).
2924       * DonkeyServer: new command "preferred" to choose preferred servers,
2925          that will become masters immediatly and with priority if connected
2926          (which should happen automatically during the walking process).
2927          (bugs #9247/#9655)
2928       * GnutellaServers: added gnutella2_needed variable to decide when to
2929          keep a connection in Gnutella/Gnutella2 (bug #9697).
2930       * GnutellaRedirector: set delay between reconnections to redirector
2931          to 1 hour. (bug #9686)
2932       * CommonHosts: added option to limit the number of known hosts
2933           in Gnutella "max_known_hosts" (default 1000) (bug #8416)
2934       * configure.in: changed REQUIRED_OCAML to 3.08 (bug #9939)
2935       * DonkeyOvernet: searches are removed after 5 minutes.
2936   - Applied patch #3274 (ocaml3.08)
2938 2004/08/06: Fabrice
2939   - Applied patches: #3269 (int64), #3266 (mc), #3267 (ocaml3.08)
2941 2004/08/05: Fabrice (version 2.5.24 = 2.6pre6, tag release-2-5-24)
2942   - Bug fixes:
2943       * CommonSwarming: remove "double the downloaded size" of downloads.
2944       * DonkeyComplexOptions: prevents saving options before loading them,
2945           which used to destroy the file_sources.ini and shared_files_new.ini
2946           files.
2947       * CommonSources: check_time discarded the real time.
2948       * DonkeyOvernet: enabling Overnet at runtime wouldn't start it.
2949       * DonkeyShare: downloaded files should be shared immediatly.
2950   - Applied patches: #3264 (emule mods)
2951   - Overnet/Kademlia: added prebuckets. Number of peers limited to 20 per
2952       bucket and 100 per prebucket. Boot peers addresses from redirector.
2954 2004/08/04: Fabrice (version 2.5.23 = 2.6pre5, tag release-2-5-23)
2955   - ocaml-3.08 is required to compile now.
2956   - Overnet and Emule-Kademlia share the same (partial) implementation:
2957       * Use global options "enable_overnet", "enable_kademlia" and
2958           "enable_servers" to choose which modes you want to use.
2959       * See the options for Kademlia and Overnet in donkey.ini.
2960       * Use kad_ and ov_ prefixes to call commands for these networks
2961          ("kad_buckets" gives the current connection status, "kad_boots"
2962            gives the number of known peers to bootstrap, "kad_stats" gives
2963            the current status of searches, "kad_store" for what is published
2964            on the client)
2965       * Currently working:
2966          * Search for keywords (normal searches)
2967          * Search for files (localisation of sources)
2968          * Replies to external searches
2970 2004/08/01: Fabrice
2971   - Applied Savannah patches: #3249 (no udp), #3250 (mem_stats), 
2972      #3251 (verify_chunks)
2974 2004/07/30: Fabrice
2975   - Applied patches: #3053 (configure), #3064 (bt share), #3146 (ed2k servers),
2976      #3160 (emule mods), #3183 (config saved), #3235 (zlib), #3242 (Makefile),
2977      #3245 (bt nuploaders), #3246 (bt cookies)
2978   - Added src/networks/donkey/donkeyProtoKademlia.ml. Rewritting DonkeyOvernet
2979      to fix the implementation of Overnet, and to make it usable for Kademlia.
2981 2004/07/29: Fabrice
2982   - CommonSwarming: re-implemented chunk duplication.
2984 2004/07/29: Fabrice  (version 2.5.22 = 2.6pre4, tag release-2-5-22)
2985   - Fixed a bug in number of sources computation.
2987 2004/07/28: Fabrice
2988   - New subtree src/gtk2 to compile the GUI with gtk2. You need lablgtk2
2989      installed, and use "./configure --enable-gtk2" to enable. Some things
2990      are broken, such as availability display (but when is that pixmap
2991      destroyed ???).
2992   - New message InterestedInSources in the GUI protocol, to save more
2993      bandwidth by sending sources information only when asked.
2995 2004/07/02: Fabrice
2996   - Applied Savannah patches: #3165 (ipset), #3166 (mozilla height),
2997    #3178 (BT compatct). #3184 (hightime)
3000 2004/06/25: Fabrice
3001   - Applied Savannah patch: #3162
3002         
3003 2004/06/18: Fabrice
3004   - GUI protocol:
3005     * New message InterestedInSources
3006     * Fields file_all_sources and file_active_sources correct for eDonkey 
3007        plugin. Should save some bw, mem and cpu in the GUI, when only this
3008        info needs to be displayed.
3010 2004/06/17: Fabrice
3011   - Major changes in search results management:
3012     * New option 'save_results' (default is 0)
3013         0 : results are not saved between sessions
3014         1 : results first appearance are saved between sessions
3015         2 : full results are saved
3016     * Local search is now always available. A structure to search old
3017         results (in the same session, and in former sessions if 
3018         save_results = 2) is built for 5 minutes, so the memory should
3019         be reclaimed 6 minutes after the last local search.
3020     * All results for all networks are stored on disk, not in memory.
3021     * The 's' command output displays a 'N' for new results, i.e. results
3022         that never appeared before that search.
3023     * New option 'special_queries' in 'searches.ini' defining 
3024         abbreviations for search arguments (eg "-movies" means 
3025          "avi -minsize 650000000 -maxsize 735000000") that can be
3026         used with 's' and 'ls': "s -movies dvdrip fr"
3027   - Command 'mem_stats' now takes an argument (0 for normal, 1 for more
3028        details).
3029   - Applied patches: #3120 (html), #3124 (ed2khash)
3031 2004/06/03: Fabrice
3032   - Fixed bug adding unwanted friends
3034 2004/05/30: Fabrice
3035   - Added RSS loading via option web_infos, with command "rss" to print them.
3036   - Applied patches from Savannah: #3005 (networks), #3007 (printf2),
3037      #3008, #3016 (solaris), #3017 (log),#3023 (telnet), #3024 (log), 
3038      #3028 (donkey-ip), #3029 (firewalled), #3030 (log), 
3039      #3031 (ft users), #3033 (chmod), #3039 (Makefiles), 
3040      #3046 (telnet), #3065 (misc), #3067 (bsd), #3096 (wincomp),
3041      #3100 (force dl), #3070 (upload)
3043 2004/05/05: Fabrice (version 2.5.21 = 2.6pre3, tag release-2-5-21)
3044   - DonkeyClient: re-implemented indirect connections that were lost since
3045       2.5.17
3046   - For some reason, download seems to be limited to max_hard_download_rate/2.
3047       Try to increase this option until a fix is found. 
3049 2004/05/04:
3050   - Applied patches: disconnect (Spiralvoice)
3051   - Applied Savannah patches: #3003, #2988
3052   - Fixed bug preventing connections with Overnet clients.
3053   - New command 'activity'
3055 2004/05/03: Fabrice (version 2.5.19 = 2.6pre1, tag release-2-5-19)
3056   - Applied patches from Savannah: #3002 (cs_total), #3001 (newgui_csources),
3057       #2993 (guiprio), #2988 (cs_html), #2983 (typo18),
3058       #2978 (shorten results), #2975 (title opfile), #2966 (telnet stats),
3059       #2965 (min users), #2964 (htmlmod), #2963 (lugdu_share), 
3060       #2942 (emule mod), #2941 (options)
3061     * #2952 is postponed until I understand if it is already included in the
3062        Emule better compatibility work done.
3063     * #2974 is postponed for verification of compatibility with other platforms
3065 2004/05/02: Fabrice
3066   - Fixed bug causing lost of partially downloaded chunks.
3067   - Fixed bug in recover_bytes, and added new Edonkey command 
3068       'recover_bytes <file_num>' to recover files at a byte
3069       level (i.e. partially downloaded chunks)
3071 2004/05/01: Fabrice
3072   - Improved Emule compatibility: 
3073      * Send 'emule_miscoptions1' on Connect, store emule features
3074      * Receive EmuleCompressedPart messages (if Zlib)
3075      * Receive SourceExchanges messages version 2
3076      * Receive QueryFile messages containing QueryChunksReplyReq
3077      * Send QueryFile messages containing QueryChunksReplyReq
3078      * Send EmuleRequestSourcesReq even for small files
3079      * Send QueryChunksReplyReq only if chunks not known
3080      * Send JoinSlotReq with md4 
3082 2004/04/29: Fabrice
3083   - DonkeyPandora: print packets and check encoding/decoding of
3084       Edonkey packets using traces captured by tcpdump and treated
3085       with Pandora.
3087 2004/04/25: Fabrice (version 2.5.19, tag release-2-5-19)
3088   - Hardcoded size packet_frame_size to 1 in tcpBufferSocket.ml, so 
3089      bw-management should be the same as in 2.5.16
3091 2004/04/22: Fabrice
3092   - Memory leak bug found in the bandwidth management. Udp packets are not
3093       sent because all the upload bandwidth is used. Partially fixed by
3094       limiting the size of the queue of packets.
3096 2004/04/20: Fabrice
3097   - Applied patches from Habi
3099 2004/04/16: Fabrice (version 2.5.18, tag release-2-5-18)
3100   - Fixed bug solved by patch #2937
3101   - DonkeyInteractive: new command 'set_brothers' to associate a list of
3102       files as probably colocated.
3103   - CommonSources: everything should work now.
3105 2004/04/15: Fabrice
3106   - CommonSources: the implementation seems correct and enough efficient,
3107       still missing the limitation on the number of sources.
3108   - CommonSwarming: better handling of the 'last_seen' field
3110 2004/04/11: Fabrice
3111   - Applied Savannah patches: #2928 (already downloaded), 
3112        #2861 (useless options), #2852 (typo), #2915 (avoid getpeername),
3113        #2911 (bt log), #2907 (html prio), #2896 (autoconf), 
3114        #2872 (voo html), #2871 (clean servers), #2866 (autorel),
3116 2004/04/07: Fabrice
3117   - DonkeyNeighbours: try to use semantic links to find new sources for
3118       files among known sources. Send hit-ratio to redirector to gather
3119       stats.
3121 2004/04/06: Fabrice
3122   - CommonGlobals: only execute 'do_at_exit' in the main process, not
3123       in the forked ones (should solve bug #7738).
3125 2004/03/23: Fabrice
3126   - CommonSwarming: print an error message instead of pausing a file. Still
3127       to find the origin of the error message.
3128   - Bandwidth management has changed a bit, but without great success...
3130 2004/03/22: Fabrice
3131   - Safer options-saving at exit: close all the sockets to prevent "not
3132      enough file descriptors" error and remove a file called
3133     "config_files_space.tmp" to free 'config_files_security_space' megabytes
3134     created at startup.
3135   - Applied patches from Savannah: #2844(share), #2846(bt)
3137 2004/03/21: Fabrice
3138   - Applied patches from Savannah: #2832 (telnet_max_name_len), 
3139       #2833 (filetp), #2620, #2834 (mingw), #2836 (guardian_p2p url),
3140       #2837 (html), #2840 (overnet), #2841 (localtime)
3142 2004/03/18: Fabrice
3143   - Applied patches from Savannah: #2792 (doc), #2805 (comestic)
3144   - PClink for DP500: better handling of long filenames to prevent
3145        freezing the player.
3147 2004/03/17: Fabrice
3148   - Applied some patches for Solaris
3150 2004/03/17: Fabrice (version 2.5.17, tag release-2-5-17)
3151   - TcpBufferedSocket: new option 'copy_read_buffer', every byte downloaded
3152      from the network is copied twice, so more CPU used, but maybe better 
3153      network performances.
3154   - Donkey plugin: code clean-up to use CommonSwarming. Some features are
3155      now disabled, such as "reliability" until they are implemented in
3156      CommonSwarming (and so, shared by other plugins).
3158 2004/03/16: Fabrice
3159   - New function 'CommonFile.recover_bytes' to recover files using non-zero
3160      bytes interval written in the file. New associated option
3161      'max_recover_gap' to indicate how many consecutive zeroes in
3162      the file between non-zero bytes should still be considered as part of
3163      a downloaded segment.
3165 2004/03/12: Fabrice
3166   - IP: fixed option 'allow_local_network' 
3167   - GUI protocol:
3168       * New GUI protocol 26 with new format for CoreProtocol adding
3169           the max known opcodes for to_gui and from_gui messages.
3170       * The GUI can now receives unknown messages without breaking the
3171           connection.
3173 2004/03/10: Fabrice
3174   - Applied patches: #2760, #2766, #2767, #2768, #2773
3176 2004/03/09: Fabrice
3177   - Applied patch backchanges.patch (HighTime) for BT plugin
3179 2004/03/07: Fabrice (version 2.5.16, tag release-2-5-16)
3180   - Applied patches:
3181         #2750 (blocking_updated2), #2753 (bug 2586)
3182         #2751 (get_range)          #2754 (depend_mingw)
3183         #2752 (sourcesanitize)
3185 2004/03/07: Fabrice (version 2.5.15, tag release-2-5-15)
3186   - Applied patches #2755 (joinqueuemd4), #2866 (bttt), #2867 (buf_str)
3189 2004/03/06: Fabrice (version 2.5.14, tag release-2-5-14)
3190   - Http_server: replies are filled in the handler and sent by the server
3191       (not by the handler anymore). HEAD/GET requests should be treated
3192       correctly.
3193   - New URL "http://http_ip:http_port/preview_download?q=file_num" where
3194      "file_num" is the download number (in telnet for eg). Can be used to
3195      preview files with mplayer.
3197 2004/03/05: Fabrice
3198   - New tool "ocamlpp" used for preprocessing files with .mlt extensions.
3199   - Applied patches: 
3200       #2640, #2677 (cosmetic patches),
3201       #2686 (remove array bound error in guiDecoding),
3202       #2691 (close splash screen), 
3203       #2694 (status bar in downloads),
3204       #2710 (default sharing strategy),
3205       #2720 (mail),
3206       #2724 (frame height),
3207       #2726 (bind BT),
3208       #2727 (options)
3209   - GUI Protocol:
3210      * New message: NetworkMessage (network, message) for network-specific
3211          GUI messages: opcode 63[2 bytes], len[4 bytes], message[len]
3212      * get_string and buf_string can store strings greater than 65536 bytes
3213          (when len = 0xffff, there is another 4-bytes integer giving the full
3214          len)
3215   - Fixed bug in commonHasher_c.c for files > 2 GB
3217 2004/02/17: Fabrice (version 2.5.13, tag release-2-5-13)
3218   - Applied patches #2638, #2639
3219   - New tool "subconv" to easily modify .sub and .srt subtitles files.
3220   - FileTP:
3221      * Files are immediatly added, without checking first their size nor
3222         their existence.
3223   - Streaming of files for Kiss DP500 Divx player, including
3224       files from temp/ and incoming/. See the dp500_ options.
3226 2004/02/16: Fabrice (version 2.5.12, tag release-2-5-12)
3227   - Applied patches #2616, #2617, #2618, #2625, #2626, #2627, #2631,
3228       #2634, #2637
3229   - Telnet: 
3230       * Now, "cancel" does not cancel files, files are just put in a list,
3231           and you need to type "confirm yes" to definitively cancel them.
3233 2004/02/10: Fabrice (version 2.5.11, tag release-2-5-11)
3234   - New GUI protocol 24, all times in relative-time.
3235   - Re-applied patch #2603
3236   - ./config/configure.in: select former or new implementation of sha1
3237       depending on the presence of byteswap.h and endian.h.
3238   - Applied patches #2611, #2612, #2613, #2614 
3240 2004/02/09: Fabrice (version 2.5.10, tag release-2-5-10)
3241   * Applied patches sha1, #2597, #2603, #2604
3242   * New GUI messages: 
3243       Gui -> Core: GetUploaders, GetPending, 
3244                    GetSearches, (GetSearch search_id),
3245                    (ConnectClient cid), (DisconnectClient cid)
3246       Core -> Gui: (Uploaders num_list), (Pending num_list), 
3247                    (Search search_request)
3248      GetSearches and GetSearch allow a GUI to query for former searches and
3249       to receive the results corresponding to a particular former search.
3250   * New console command "disconnect <client_id>"
3251   * FileTP:
3252      * New option 'remote_shells' to define, for each hostname, which 
3253          remote shell to use and with which arguments (e.g. if you want
3254          to use rsh or ssh with username@hostname or a particular port).
3255          still no password allowed...
3256      * New version of 'get_range' that accepts a 'rangex' argument to
3257          send the data without base64 encoding (works for me, but I don't 
3258          know for other shells). Set the 'get_range' option to set the
3259          path of the remote get_range command, and 'range_arg' to use
3260          either 'range' or 'rangex'.
3262 2004/02/07: Fabrice (version 2.5.9, tag release-2-5-9)
3263   * Applied patches #2428, #2595, #2596
3264   * TcpBufferedSocket: 'exec_command' only creates one TcpBufferedSocket.t
3265      both for reading and writing.
3266   * FileTP:
3267      * Basic "remote shell" protocol (using ssh):
3268         use 'http <ssh://hostname/relative-filename>' to download the file
3269         hostname:~/relative-filename. ssh must be able to connect to the
3270         host without password exchange. The remote host must have the
3271         'get_range' utility in the PATH of ssh (use "make utils" to
3272         have 'get_range' compiled with in mldonkey). The transfer rate is
3273         not very good (30 KB/s, either because of too small 
3274         tcpBufferedSocket buffers, or because of the base64 encoding).
3276 2004/02/06: Fabrice (version 2.5.8, tag release-2-5-8)
3277   * FileTP:
3278      * Basic FTP protocol: 
3279         use 'http <ftp://url>' and 'mirror <ftp://url>'
3280      * Option 'mirrors': list of list of interchangeable url prefixes.
3282 2004/02/06: Fabrice (version 2.5.7, tag release-2-5-7)
3283   * New network 'FileTP' for simple file transfer protocols:
3284      * Basic HTTP protocol: 
3285         use 'http <http://url>' to start a download.
3286         use 'mirror <file_num> <http://url>' to add a mirror.
3287   * TcpBufferedSocket: initial size of buffer now depends on the last
3288         read input. might cause problems in memory until a better cache of
3289         buffers is implemented
3291 2004/02/06: Fabrice (version 2.5.6, tag release-2-5-6)
3292   * CommonInteractive:
3293      * file_cancel: removes the file itself
3294   * Unix32:
3295      * new function 'destroy' to completely destroy a FD, so that it cannot
3296         be used afterwards (but it does not remove the file). Used
3297         in CommonInteractive.file_commit and CommonInteractive.file_cancel.
3298   * DonkeyInteractive: clients might get stucked if they tried to
3299       upload a file that has just been committed, since the name is not
3300       updated anymore in Unix32.rename. We need to remove the former 'file' 
3301       structure and then add a new one for the shared file, thus disconnecting
3302       all the former uploaders (knowing them, they will reconnect asap :)).
3303       To be done.
3304   * Applied patches #2586, #2587, #2588
3306 2004/02/05: Fabrice (version 2.5.5, tag release-2-5-5)
3307   * Change in the version numbers, keep only 3 digits :)
3309 2004/02/04: Fabrice (version 2.5.4+8, tag release-2-5-4-8)
3310   * Bittorrent:
3311      * New version of uploaders choice.
3312   * Applied patches #2571, #2579, #2580 (is patch #2578 reversed ?)
3314 2004/02/04: Fabrice (version 2.5.4+7)
3315   * Bittorent:
3316      * Fixed upload for seeded files, and probably some other bugs.
3317   * Telnet interface:
3318      * ?? display commands per category
3320 2004/02/03: Fabrice (version 2.5.4+6)
3321   * Applied patches #2556, #2558, #2559, #2561, #2568, #2569, #2571, 
3322        #2572, #2574
3323   * TcpBufferedSocket: event CONNECTED is sent the first time a socket
3324       is available for writting.
3325   * Newgui:
3326      * Gui_cdget: Updated some regexps to correctly query IMDB.
3327   * Bittorrent:
3328      * BTTracker: the tracker should work. 
3329      * New internal command "torrents" to list URLs of files in
3330         torrents/tracked/
3332 2004/02/02: Fabrice (version 2.5.4+5)
3333   * New Internationnalisation format: short strings are stored for translation
3334       in ~/.mldonkey/mlnet_strings.$LANG. The new scheme allows easy 
3335       translation of options descriptions and all other strings used
3336       after CommonOption. Can also be used to translate the interfaces.
3337       Unfortunately, this new scheme makes most of the former translations
3338       obsolete, but most of them have been approximately changed to the
3339       new format (see distrib/i18n/mlnet_strings.*, copy yours in
3340       ~/.mldonkey/ to check)
3342 2004/02/01/ Fabrice (version 2.5.4+4)
3343   * Applied patches #2532 (new-gui), #2535 (INSTALL.txt), #2549 (vers mesg), 
3344        #2550 (minsize shared)
3346 2004/01/28: Fabrice (version 2.5.4+3)
3347   * CommonShared:
3348      Strategies of sharing can be defined in "searches.ini" (recursive or not,
3349       min file size, extensions). 
3350      * Predefined strategies:
3351          [all_files]: recursively all files > 10 KB
3352          [mp3s]: recursively .mp3 < 10 MB
3353          [avis]: recursively .avi > 500 MB
3354          [only_directory]: not recursive, all files > 10 KB
3355      * Strategy for incoming/ is now [only_directory].
3356      * Format of "shared_directories" option changed accordingly: new default
3357         directory shared/ with strategy [all_files].
3358   * CommonComplexOptions:
3359      file_state, file_age and file_size are saved for all networks in options.
3360   * CommonSwarming:
3361      functions to save and load chunks and present_chunks from options.
3363 2004/01/27: Fabrice
3364   * TcpBufferedSocket: 
3365     * Weak form of connection_manager, that should progressively be used to
3366         better distribute connections among networks.
3367     * Zlib Compression of connection is now done transparently.
3368   * Int32ops: removed Int32 operations. int32 should be removed as many times
3369       as possible to avoid limitations at 4GB. Bittorrent protocol does not
3370       support files > 4 GB (check new version ?)
3372 2004/01/26: Fabrice
3373   * CommonSwarming: completely rewritten. No partition anymore. Better
3374       block choice strategy. More efficient strutures.
3375   * BTTracker: 
3376       * new directories in "torrents/":
3377         * downloads/: .torrent of files being currently downloaded
3378         * tracked/: .torrent of files being currently tracked (maybe seeded)
3379         * seeded/: .torrent of files being currently seeded
3380       * mldonkey command 'compute_torrent' computes a .torrent file for a
3381         filename and put it in torrents/tracked/. The file is immediatly
3382         tracked.
3383       * mldonkey tracker can be accessed:
3384           http://ip:6881/tracker?info_hash=.... -> for the tracker
3385           http://ip:6881/filename.torrent -> to download 'filename.torrent'
3387 2004/01/23: Fabrice
3388   * ed2k_hash: new option -check <size> to compute different hashes on
3389       a generated file of size <size> KB, to test DiskFile, SparseFile and
3390       MultiFile implementations. 
3391   * Unix32:
3392      * Open ALL files in RW mode by default, and fall back in RO mode in
3393         case of error. 
3394      * New format SparseFile completely implemented. 
3395      * Unix32.rename makes the Unix32.t invalid. Might cause some bugs
3396         when sharing just committed files (TO CHECK).
3397   * Options:
3398      * New EXPERIMENTAL option 'emulate_sparsefiles' in downloads.ini,
3399         to emulate sparse files on non-sparse filesystems (e.g. FAT).
3400         Currently only works for Edonkey files, and <preview> and
3401         <recover_file> won't work for them.
3403 2004/01/16: Fabrice
3404   * Fixed problem with files.ini when downloading BitTorrent files
3406 2004/01/15: Fabrice
3407   * Applied Savannah patches #2480, #2481 (emule), #2482 (old GUI)
3409 2004/01/14: Fabrice
3410   * Applied Savannah patches:
3411      #2475, #2474 (bin modes), #2479 (BT), #2473 (negative time),
3412      #2437 (force-download typo), #2423 ("links" command), #2421 (connecttime),
3413      #2417 (message 21), #2415 (LSD not banned), #2414 (old GUI),
3414      #2413 (emule tags), #2411 (emule stats), #2473 (telnet)
3415   * Applied Pango's patch: common_recover_temp
3417 2003/12/22: Fabrice
3418   * make_torrent: 
3419      * .torrent filename is specified by -torrent
3420      * New option "-split <filename>" that will split <filename> in smaller
3421          files according to a .torrent file.
3422   * Applied pause.patch 
3424 2003/12/17: Fabrice
3425   * Applied upload_slots patch again
3427 2003/12/16: Dek
3428   * mldonkey CVS moved to berlios until savannah is back again.
3429      see https://developer.berlios.de/cvs/?group_id=610 
3430      for server-details, web-CVS etc.
3431   
3432 2003/12/16: Fabrice
3433   * Applied patches from spiralvoice page: prevent_interface_close, xmule,
3434      emule_tags, upload_cnum, suxx_wap, mld_cb10, remove_challenge,
3435      upload_slots, html_gnutella2, amule
3436      
3437 2003/12/15: Fabrice
3438   * Modified "forget" command
3439   * Bittorrent: crash when commiting directories fixed
3441 2003/12/09: Fabrice
3442   * Opennap: removed redondant client_port option
3443   * Gnutella2: removed options with same values as for Gnutella
3445 2003/12/08: Fabrice
3446   * New option 'allow_local_network' to allow connections on the local
3447      network for debugging purpose.
3448   * Bittorrent:
3449       * If 'tracker_port' is not nul, a WEB server is started inside mldonkey
3450          that is used as a tracker, with url:
3451                  http://YOUR-IP:<tracker_port>/tracker
3452       * New option 'shared_torrent_files', a list of pairs:
3453           torrent_files = [
3454                ("/test_bt.torrent", "../../one_torrent_file.torrent");
3455           ]
3456         where the first string in the pair is the relative url on the 
3457         tracker web-server http://YOUR-IP:<tracker_port>/test_bt.torrent
3458         and the second is the filename .torrent on the disk to be served.
3459       * New option 'tracked_files': a list of the filenames of the .torrent
3460           files that should be tracked.
3461       * New option 'shared_files': a list of pairs (path to .torrent file, 
3462           path to corresponding shared file).
3464 2003/12/06: Fabrice
3465   * New option file_started_cmd (by default "mlprogress") used when a
3466      new download is started to display a progress popup. Set to "" to
3467      disable.
3468   * Improved progress popup.
3470 2003/12/06: Fabrice
3471   * Added 'mlprogress <num>' program that popup a window to display the
3472      download of file <num> (thx to b8_zoggy). Not tested yet.
3474 2003/12/06: Fabrice
3475   * Applied Spiralvoice patches ban.clients, win.patch, patch_pack2c
3476   * Added option 'allow_any_command' to use ! instead of !! for 
3477      arbitrary commands (false by default for security reasons)
3478   
3479 2003/12/05: Fabrice
3480   * Merged devel/ and stable/ branches for Gnutella2
3482 2003/12/04: Fabrice
3483   * Added module CommonBitzi (merge with devel version)
3485 2003/12/03: Fabrice
3486   * Updated ed2k_hash to compute Sig2dat and Bitprints. For Mac users, you can
3487      check whether bitprints with tiger-trees are correctly computed:
3488        ./ed2k_hash.byte -hash bp COPYING 
3489      gives:
3490       urn:bitprint:QI3PHA4WVH75CAL72NCNTXZE3SNHU6K3.5URJJG7REVGICNBK5UQBPFGIEO234ZJ3MX2T54I
3491       Partial   0 : 5URJJG7REVGICNBK5UQBPFGIEO234ZJ3MX2T54I
3493 2003/12/02: Fabrice
3494   * Applied patch #2399 (anti-thieves v2)
3495   * Splitted Gnutella and Gnutella2 plugins
3497 2003/12/02: Fabrice
3498   * gui_messages.ini.dutch added
3499   * Suppressed UDP frames sent by a firewalled client, causing it to be
3500       black-listed.
3502 2003/12/01: Fabrice
3503   * Applied patch #2390
3504   * Added Autoconf.windows boolean
3505   * New tool 'make_torrent' generated by 'make make_torrent', that can be
3506       used to generate, print, verify and modify .torrent files.
3508 2003/11/29: Fabrice
3509   * Applied patch #2382 (mingw), #2380 (anti-thieves),
3510      #2384 (gui), #2386 (gui)
3511   * Removed client addr as string in GUI protocol 20
3513 2003/11/29: Fabrice
3514   * Unix32: create_ro = create_rw
3515   * New module BTTracker, to implement a tracker for BitTorrent.
3516       Command "compute_torrent <filename>" in console to generate
3517       the torrent file associated with filename. Not working yet.
3519 2003/11/29: Fabrice
3520   * Removed patch #1261 
3521   * Applied patch #2243 (bind sockets), #2377 (mlnet.static),
3522       #2378 (ocaml url)
3523   * Fixed compilation problem in oldgui
3524   * ED2K: send compressed ShareReq message to zlib-enabled servers.
3526 2003/11/29: Fabrice
3527   * Unix32: fixed a bug preventing the creation of a correct directory in BT
3529 2003/11/28: Fabrice
3530   * Unix32: some bug fixes which may have caused bad Sha1 computation in BT at 
3531       inner file borders.
3533 2003/11/28: Fabrice
3534   * Applied GUI patches #2372 (renamefile), #2373 (newgui), 
3535        #2374 (configwin), #2375 (im), #2376 (configure)
3536   * Applied HTML patches #2151, #2264
3539 2003/11/27: Fabrice
3540   * Removed patch #2341 (for fun :) )
3541   * Applied patch #2139 (html mod), #2371 (telnet)
3542   * Compressed connections to servers work, multiple replies to a search
3543       in one UDP packet works too.
3545 2003/11/27: Fabrice
3546   * Unix32: and yet another bug fixed in MultiFile: no more 
3547       Invalid_argument("Unix.write") error
3549 2003/11/27: Fabrice
3550    * Applied patches #2341 (BT), #2354 (BT with MultiFile), 
3551        #2339 (improved telnet), #2311 (Overnet [EXPERIMENTAL])
3552     BUT: is there a bug on Savannah, or is it my browser that incorrectly
3553      download patches with &quot;, &gt;, etc... inside ?
3554   * Fixed ed2k_hash compile error
3555   * Hardcoded emule protocol version set to 0x30, connect to Razorblack
3556   * Unix32: another bug fixed causing "really_write 0 BYTES" errors.
3558 2003/11/27: Fabrice
3559    * Bug with Unix32.read fixed (no flush).
3560    * New file type MultiFile in Unix32, created with create_multifile, to
3561        be used by BT. 
3563 2003/11/24: Fabrice
3564    * New UDP protocol implemented:
3565         * Understand servers flags in UDP pongs
3566         * Query for and understand multiple replies in one packet
3567         * Query sources for multiple files, and understand multiple files sources 
3568              in one packet
3569    * server_last_message updated correctly.
3571 2003/11/24: Fabrice
3572    * Suppressed option client_server_md4 (to correcly connect to all servers)
3573    * Copy Emule behavior for client-client connection
3574    * Send ET_COMPATIBLE flag in EmuleClientInfo with number 10
3575    * Send EmuleClientInfo as soon as Emule client is identified
3576    * Set verbose = "unk" to save unknown packets in /tmp/ directory
3577         
3578 2003/11/21: Fabrice
3579    * Applied patches: #2097, #2099, #2110 (mingw), 
3580        #2111, #2193 (telnet), #2248, #2255 (XSS bug), 
3581        #2268 (server zlib), #2269 (opennap napigator)
3583 2003/11/21: Fabrice
3584    * Applied patches on BT: #2135, #2158, #2247, #2254, #2256
3585    * Applied patch #2299 (files > 2 GB), #2263 (don't ban uploaders),
3586        #2202 (gnutella2 DDOS)
3587    * Gnutella/gnutella2 plugin compiled again
3589 2003/11/20: Fabrice
3590    * Modified to compile with ocaml-3.07
3591    * Started merging -devel and -stable versions
3592       * Gnutella and Gnutella2 plugins disabled
3593       * Should fix GUI protocol problems with G2GUI
3595 2003/11/17: Fabrice
3596    * Applied patches
3597       - GUI: #2080-#2087
3598         + By default, the new gui is built. To build the former one, run
3599             ./configure -disable-newgui
3600         + When switching from one gui to another one, the .mldonkey_gui* files
3601             may be incorrect, so you are advised to save them or delete them
3602             before switching.
3603       - #2067 ("nu" for bittorrent), 
3604         #2070 (new option "all_sources_on_telnet"),
3605         #2094 (sort files by priority for each downloader)
3606    * Some modifications for soulseek:
3607       * Retry connect only after 300 seconds.
3608       * Don't retry connect after INVALIDPASS unless login or password is
3609           changed
3611 2003/10/12: Simon (release-2-5-4)
3612    * Applied patches #2033 (hide-dirs), #2038 (ocaml-3.07), 
3613       #2039 (mlsubmit.reg), #2041 (hide-psswd)
3615 2003/10/10: Simon
3616    * Removed patch #1765
3617         
3618 2003/10/09: Simon
3619    * Applied patches #1608 (anti-thieves), #1669 (anti-spam), 
3620         #1692 (min-users-per-server), #1695 (html-mods),
3621         #1710 (regexp in voo), #1711 (sorted voo), 
3622         #1714 (gui priority bug fix), #1715 (fasttrack),
3623         #1732 (mldonkey_submit), #1733 (viewfiles 6 hours),
3624         #1734 (browse-friends), #1743 (bittorrent compliance),
3625         #1748 (emule-bugfix), #1753 (max-conn-servers),
3626         #1765 (limit-reqs DANGER), #1801 (http-proxy),
3627         #1843 (message-file), #1862 (download-amount),
3628         #2024 (filenames), #2025 (friends-slots),
3629         suxx-lugdunum-fix-v2
3630         
3631         DELAYED: #1911 (hidden-chunks)
3633         
3634 2003/06/07: Simon (release-2-5-3)
3635    * Applied patches #1582, #1594, #1598
3637 2003/06/06: 
3638   - CVS Modifications: Branches:
3639     * new branch release-2-5-devel for development version
3640     * default branch is STABLE now
3641     * branch release-2-5-1-patches is obsolete and should not be used anymore
3642          The last tag in this branch release-2-5-3 is still the most STABLE
3643          version here.
3645 2003/06/05: Simon  (release-2-5-3)(branch: release-2-5-1-patches)
3646   - Fixed ENORMOUS bug in donkey that could cause corruption on other clients
3647      All the md4s will be recomputed for all shared files at next startup.
3649 2003/05/28: Simon (release-2-5-2)
3650   *
3651   *   Completely unstable. For development only. This version may corrupt
3652   *   all your downloads, destroy your config files, and so on...
3653   *
3654   - Common:
3655       * CommonHosts: use the same system to manage hosts in Gnutella and
3656           Fasttrack (later in eDonkey and Overnet ?)
3657       * CommonUploads: save all UIDs (Sha1...) in shared_files.ini
3658       * CommonDownloads: 
3659          * A file can be downloaded together from FT, Gnutella and BitTorrent
3660              Downloads are displayed as on the "MultiNet" network.
3661          * The 'add_uid' command can be used to extend the knowledge on a file
3662              so that it can be downloaded from other networks.
3663   - Gnutella:
3664       * Discard results without UIDs
3665   - New plugin 'donkey_devel' not working yet, enabled with option
3666         -enable-open_donkey, replace the other one, and should be able
3667         in the future to share downloads with other networks.
3668         
3669 2003/06/02: Simon  (release-2-5-1)
3670   - BitTorrent: bug fix when reconnecting to tracker (remove empty event field)
3671   - DriverMain: remove use of "cp" command
3672   - Applied patches #1530, #1531, #1543, #1548 and #1563
3673         
3674 2003/05/27: Simon
3675   - Applied patches #1530, #1531
3677 2003/05/26: Simon
3678   - Fixed 'install' target of Makefile
3680 2003/05/26: Fabrice  (release-2-5)
3681   Stable release 2.5
3683 2003/05/26: Simon  (release-2-5-rc3)
3684   - Fasttrack:
3685       * Reduce client_name to 32 characters
3686       * Stop computing useless SHA1 hashes (inherited from Gnutella copy/paste)
3688 2003/05/26: Simon  (release-2-5-rc2)
3689   - GUI:
3690       * Plugins sorted in config panel
3691   - Fixed bug adding one file several times in 'old_files'
3693 2003/05/25: Simon  (release-2-5-rc1)
3694   - Applied patch #1523, #1527
3695   - Fasttrack:
3696       * Limitation on the number of simultaneous sources for a file
3697   - Fixed major file corruption bug when using 'buffer_writes' in bittorrent,
3698       fasttrack and gnutella.
3700 2003/05/24: Simon  (release-2-4-6)
3701   - Mac OS X:
3702       * Fixed a compilation problem
3703   - GUI:
3704       * Fixed the problem with servers appearing as New Hosts
3705   - Plugins initialized in the correct order (no downloads restarted at 0%)
3707 2003/05/23: Simon  (release-2-4-5)
3708   - Fasttrack:
3709       * Ask for a range only after the connection has succeeded
3710       * Support for Complex queries
3711       * Works on PPC now
3712   - Bittorrent:
3713       * Force flush with "buffer_writes" option before Sha1 computation
3714   - Applied patches #1512, #1513
3716 2003/05/21: Simon
3717   - Applied patch #1510
3718   - "set enable_... true/false" should now immediatly trigger the network 
3719       (before that, a restart was necessary)
3721 2003/05/20: Simon (release-2-4-4)
3722   - Bug fix: the bug causing too many open file descriptors and pausing
3723       recovered files maybe fixed.
3724   - Gnutella:
3725      * Fixed problem with \r in GWebCache
3726   - Fasttrack:
3727      * sig2dat:// links added
3728      * Automatically replace spaces in client name by _
3729   - Searches can be limited to particular network (bug fix in GUI)
3731 2003/05/19: Simon (release-2-4-3)
3732   - Applied patch #1503
3733   - Fasttrack: working good now :)
3734      * Use HTTP/1.0 (really necessary ? probably not)
3735      * Recover sources for files
3736      * Reconnect to good sources immediatly
3737      * Ask longer ranges
3738   - Gnutella2:
3739      * Added number of leaves per ultrapeer
3741 2003/05/18: Simon (release-2-4-2)
3742   - Applied patches #1476, #1477, #1479 and #1481
3743   - FastTrack:
3744      * Can look for new sources
3745   - Added mldonkey/tools/pandora/ to help understand protocols
3747 2003/05/14: Simon (release-2-4-1)
3748   - FastTrack: first try, far from complete, only for x86 !!!
3749      * Copy of gnutella/ plugin architecture to fasttrack/
3750      * Cipher C stubs available from Ocaml
3751      * Connection to main server: OK
3752      * Connections to ultrapeers: OK
3753      * Simple Searches sent: OK
3754      * Results received: OK
3755      * Downloads: OK, no recover yet
3756   - Config: copy old downloads.ini to downloads_expert.ini and
3757       donkey.ini if the latter ones are absent
3759 2003/05/10: Simon (release-2.4-0)
3760   - BitTorrent:
3761      * Fixed a bug making mldonkey use 100% of CPU when misbehaving clients
3762         send thousands of Have messages
3763      * New option 'delete_original' to get rid of the old file when splitting
3764         is successful
3765   - Gnutella2: 
3766      * Enabled by default when Gnutella is enabled
3767      * XML tags correctly added to results
3768   - GUI:
3769      * Added 'New Server' button
3770   - Searches:
3771      * Added the ability to choose the network for each search
3772   - Options:
3773      * Fixed bug with options that couldn't be changed anymore in WEB interface
3774   - Update ed2k_mozilla/mldonkey_protocol_handler.xpi to version 1.2
3776 2003/05/09: Simon (release-2-4-rc12)
3777   - ed2k_hash: computation false for multichunks files, fixed.
3778   - Gnutella2:
3779      * Reply to QKR
3780      * Reply to Q2 for URN requests
3781      * Limit downloads to 5 slots (max_available_slots option in gnutella.ini)
3782      * Support HTTP/1.1 upload, and /uri-res/N2R?urn:sha1: queries
3783   - Options: options have been splitted in different files:
3784      'downloads.ini' : most simple options
3785      'downloads_expert.ini' : options for experts
3786      'donkey.ini' :  simple options for edonkey
3787      'donkey_expert.ini' : edonkey options for experts
3789 2003/05/08: Simon (release-2-4-rc11)
3790   - RPM: new Makefile rule 'rpm' to build rpms for mldonkey
3791   - Gnutella: 
3792      * Use both keyword and uid searches to recover files
3793      * Make a recover search at download startup (next one every hour)
3794      * Compiled only if Zlib is available
3795      * Gnutella2 support working (no upload yet... for sunday). To try,
3796         set enable_gnutella first to true, then set enable_gnutella2 to true
3797         in the gnutella plugin (and maybe enable_gnutella1 to false...)
3798      * Remove hosts older than 3 hours
3799   - Donkey:
3800      * Keeps pending messages to clients
3801   - ftruncate64 implementation rewritten
3802   - GUI:  
3803      * options panels are not options anymore
3804      * Protocol version 15:
3805        * ForgetSearch is replaced by CloseSearch which takes 2 args and 
3806           opcode 53
3808 2003/05/07: Simon (release-2-4-rc10)
3809   - Applied patches #1459, #1460 and #1462
3810   - Soulseek: 
3811      * New option 'servers', with mail.slsk.org:2240 by default
3812   - GUI:
3813      * Only send modified options
3815 2003/05/05: Simon (release-2-4-rc9)
3816   - eDonkey:
3817      * Added ed2k_hash to the distribution (use 'make ed2k_hash' to compile)
3818   - Options:
3819      * List parsing should be tail recursive now
3820   - Gnutella1/Gnutella2:
3821      * Better management of hosts
3822      * More aggressive with QKR queries
3823   - DNS: correctly handle names starting with numbers (bittorrent URLs for
3824       example)
3826 2003/05/02: Simon
3827   - Gnutella2:
3828      * Fixed defragmentation
3829      * Fixed QH2_H_DN message
3831 2003/05/01: Simon (v release-2-4-rc9)
3832   - Gnutella:
3833      * Added GGEP extensions to PONG messages
3834      * Added Bye-Packet support
3836 2003/04/30: Simon (v release-2-4-rc8)
3837   - Applied patch #1432
3838   - Gnutella:
3839      * COBS implemented and incoming GGEP
3840      * Some Vendor-Messages
3841      * More headers understood
3842   - BitTorrent:
3843      * Better control of max_opened_connections
3844      * More Aggressive lifetime for connections (10 minutes without downloads)
3846 2003/04/26: Simon
3847   - Applied patches #1427, #1428
3849 2003/04/24: Simon
3850   - Applied patch #1424
3851   - Changes in 64bits system calls
3852   - Gnutella:
3853      * Bug fixes: HTTP return code is correctly tested
3855 2003/04/23: Simon (v release-2-4-rc6)
3856   - Applied patch #1402
3857   - Prevent exceptions from raising from calls to lprintf
3858   - Fixed bug in Unix32 causing error with file descriptors
3859      (and maybe file corruption)
3860   - BitTorrent:
3861      * Commit directories in multiple files
3863 2003/04/22: Simon (v release-2-4-rc5)
3864   - Gnutella:
3865      * Old host discovery system doesnot work anymore. Implemented
3866          GWebCache system
3867      * Option prefix set to GNUT
3868   - Updated to use ocaml-3.06+27 which should support all Mac OS X versions
3869   - Applied pango's patches:
3870        88_login_missing_in_gui, 89_better_xs_messages, 90_limit_indirects
3871   - Applied patch #1397 (upload priority)
3872   - Bittorrent:
3873      * Fixed problem with never finishing downloads
3874   - Driver:
3875      * Fixed problem with availability display
3876   - Gnutella:
3877      * Don't use 'Accept:' header for gnutella1 hosts, since most of them
3878          refuse the connection
3880 2003/04/20: Simon
3881   - Complete reorganization of source tree
3882   - GUI: exit uses CTRL-q instead of CTRL-e
3884 2003/04/19: Simon (v release-2-4-rc4)
3885   - Applied patch #1393, #1395
3886   - Gnutella2 (not yet working):
3887      * Encoder/Decoder tested successfully on real shareaza recorded stream
3888      * Some handlers
3890 2003/04/18: Simon
3891   - Applied patches #1389, #1391
3893 2003/04/17: Simon
3894   - Changes in Makefile:
3895         * Compile only mlnet and mlnet+gui
3896         * mldonkey_gui is renamed in mlgui
3897         * mldonkey_gui2 is renamed in mlgui2, and not compiled by default
3898         * Added target 'install' (use --prefix configure option). 
3899              * Create mldonkey, mlslsk,... as links to mlnet
3900              * Create mldonkey_gui as a link to mlgui
3901   - Fixed generated mlsubmit.reg
3902   - Donkey: 
3903      * last_high_id is only changed if option use_server_id is set
3905 2003/04/16: Simon
3906   - Changed version number to 2.4-rc4
3907   - Bittorrent:
3908      * More aggressive reask delay of 2 minutes
3909      * Improve detection of end of download
3910   - Removed Sha1 and Tiger assertions in md4.ml, but set a flag when
3911       computation failed.
3913 2003/04/15: Simon (v 2.04rc3)
3914   - CommonUploads: changed a bad comparison in download_engine
3915   - Applied patch #1385, #1387
3916   - Bittorrent: 
3917      * Fixed a bug that prevented the download from starting in some cases
3918      * Any client from which some bytes were downloaded obtains immediatly 
3919         an upload slot
3920      * Can send several requests at once when enough bw is available
3922 2003/04/14: Simon (v 2.04rc2)
3923   - Donkey: more accurate when asking for slots
3925 2003/04/13: Simon
3926   - Applied patches #1377, #1379 and #1382 
3927   - BitTorrent:
3928      * File Pause/Resume
3929      * More checks to detect download termination
3930   - Limewire plugin renamed to Gnutella
3932 2003/04/08: Simon  (v 2.04rc1-15)
3933   - Applied patch #1372 (= #1373 I hope)
3934   - Tiger: try to prevent Bus Error bugs on Solaris by aligning the buffer
3935   - BitTorrent: 
3936       * Verify file before commiting
3937       * Properly cancel files
3938   - Unix32: flush buffers before closing files
3939   - Donkey: connections have now a lifetime of 20 minutes at the 
3940      beginning, increased when receiving important messages (upload, download).
3941      Connections above max_opened_connections have only 1 minute 30 to life.
3942      Might improve the limit on the number of connections.
3944 2003/04/07: Simon  (v 2.04rc1-14)
3945   - Fixed bug with client_uid option in mlnet.
3946   - Applied patch #1370
3947   - BitTorrent: 
3948       * fixed problems in URLs when contacting tracker '+' -> '%20'
3949       * Update Downloaded chunks in interface
3950       * Resent chunks queries on Unchoke (correct ?)
3951   - Gnutella: Send urn:sha1: when available in QueryReplies
3953 2003/04/06: Simon
3954   - Applied pango's patch 87_preview_from_all_interfaces
3955   - Remove Queries page from GUI menu
3956   - Applied patch #1366
3958 2003/04/06: Simon  (v 2.04rc1-13)
3959   - BitTorrent: almost complete implementation, still to test
3960       Current Restrictions:
3961         * No support for multiple files in one file (open files.ini, 
3962           you will find the positions of the sub-files there)
3963         * No support for releasing files
3964       But upload WORKS correctly
3965   - Lot of code has moved, need some more testing before stable 2.04
3967 2003/04/04: Simon
3968   - LimeWire Plugin:
3969      * GUID fixed
3970   - Some C warnings removed
3971   - Moved donkey/ upload code to common/commonUploads.ml to be used by other
3972       plugins
3973   - Fixed Tiger Tree function on BigEndian platforms
3975 2003/04/03: Simon 
3976   - Fixed bugs #3079 and #3080 :)
3977   - New common/commonSwarming.ml module to handle swarming for all networks
3978       that support it.
3979   - LimeWire Plugin:
3980      * Swarming possible, not completely tested
3981      * More headers understood: 
3982        X-Gnutella-Alternate-Location, X-Gnutella-Content-URN,
3983          Remote-IP
3985 2003/04/01: Simon  (v 2.04rc1-12)
3986   - Fixed per user Column Sorting in HTTP interface
3987   - Fixed bug #3003 :)
3988   - Fixed Filepath.path_to_string so that "" becomes [], and not [""] that
3989       makes mldonkey shares its own directory.
3990   - Implementation of Tiger trees correct for files < 1 MB
3991   - Lots of changes in Unix32
3992   - Applied patch #1340
3993   - Limewire Plugin: probably lots of bugs, many changes
3994      * Gnutella2 support started:
3995         * Handshakes
3996         * Protocol Encoding/Decoding not tested
3997         * UDP socket
3998      * Support for Magnets and HUGE
3999      * Different results if different UIDs, requests for files by UID
4000   - Applied pango's patches: 85_ip_from_highids, 86_priority_patch
4002 2003/03/26: Simon
4003   - CommonHasher: implemented asynchronous hashing of files using sha1.
4004   - Applied patch #1324
4006 2003/03/24: Simon (v 2.04rc1-11)
4007   - Fixed compilation problem of md4_c.c and md5_c.c
4009 2003/03/23: Simon (v 2.04rc1-10)
4010   - Gnutella/Limewire:
4011     * Upload tested successfully with gtk-gnutella
4012     * Push message understood (danger: unlimited number of connections)
4013     * Added computation of sha1 digests in Md4 module, digests of shared
4014          files are not yet computed.
4015   - Bug fixes:
4016     * Bandwidth should be displayed correctly in WEB interface: the
4017        control_ bandwidth should be displayed instead of tcp_ which includes
4018        interfaces.
4019     * Filename: assert failure removed
4020   - Applied patch #1320
4022 2003/03/22: Simon (v 2.04rc1-9)
4023   - Bug fixes:
4024     * log_file with -daemon option
4025     * pending slots should only contain connected clients
4026   - Applied patches:
4027     * pango:
4028        71_upload_slots_dynamic_allocation
4029        81_implicit_dllink_ovlink_commands
4030        83_hide_upload_slots_round_robin
4031     * Savannah: #1315, #1319
4033 2003/03/21: Simon (v 2.04rc1-8)
4034   - Fixed config/Makefile.in to compile static binaries
4035   - Bug fix: don't close stdout when a log_file is provided
4037 2003/03/20: Simon (v 2.04rc1-7)
4038   - Build libraries before building executables
4039   - Applied patch #1300, #1302, #1303, #1307
4040   - Use file_add_downloaded in all plugins: display correct download rate
4042 2003/03/19: Simon (v 2.04rc1-6)
4043   - Applied patch #1297, #1298
4044   - New command 'rename'
4045   - New option 'minimal_packet_size' 
4046   - TcpBufferSocket: use 'minimal_packet_size' instead of 'ip_packet_size'
4047   - Modifications in Unix32 to abstract operations on big files. Next step:
4048      filesystems that don't support sparse-files (Windows)
4049   - 'auto_commit' is not done immediatly, but tested every minute
4050   - Bug fix: Paused files were caused by Printf.printf and print_newline
4051       with stdout closed (or terminal killed). Replaced by lprintf and
4052       lprint_newline.
4054 2003/03/19: Simon
4055   - MinGW port:
4056         * Unix.write limited to 16 kB.
4058 2003/03/19: Simon (v 2.04rc1-5)
4059   - MinGW port:
4060         * Support for non-blocking sockets
4061          * New file .depend.mingw for dependencies under MinGW
4062          * If an error appears compiling mlnet, try "make mldonkey"
4063   - Applied patch #1294 
4065 2003/03/18: Simon (v 2.04rc1-4)
4066   - Applied patches #1271, #1272
4067   - New experimental options 'buffer_writes', 'buffer_writes_delay' and
4068        'buffer_writes_threshold' to buffer writes to decrease HD usage.
4069   - Applied pango's patches:
4070       * pango, don't forget that you should modify config/Makefile.in and
4071          not only Makefile.
4072       51_new_chunks_scheduling
4073       62_wait_for_id_before_publishing
4074       77_reliable_sources
4075       80_file_received_file_downloaded
4077 2003/03/15: Simon
4078   - New command 'calendar_add' to add a command to the calendar
4079   - Remove dependency to Zlib in LimeWire/eDonkey
4081 2003/03/14: Simon
4082   - Applied patch #1266
4083   - Fixed Challenge, so that it does not depend on Ocaml version
4085 2003/03/13: Simon (v 2.04rc1-3)
4086   - Applied patch #1263, #1264
4087   - Fixed bug with allowed_commands option
4089 2003/03/12: Simon (v 2.04rc1-2)
4090   - Applied patch #1259, #1261,
4091     + pango: 01_more_blocreq_checks, 08_better_default_parameters,
4092              60_no_emule_quota, 78_lugdunum_pings_fix, 79_auto_commit
4094 2003/03/11: Simon (v 2.04rc1-1)
4095   - New changes for Emule compatibility.
4096   - Added option 'log_file' in downloads.ini
4098 2003/03/10: Simon (release-2-04rc1)
4099   - Changes in replies to Emule AvailableSlot
4100   - Applied patches #1250, #1251
4101   - Terminal mode: recognize Window size when possible (rfc 1073)
4102   - Upload queue has been cleaned. Doesn't work as a fifo anymore.
4104 2003/03/10: Release 2.03, 
4106   We are forced to release a new stable version a bit earlier than expected,
4107 due to problems with old clients accessing savannah at startup.
4108   Compared to the 2.02 release, this new release provides:
4109    * Better Emule compatibility
4110    * New improved sources management (fewer sources, but better sources)
4111    * Improved interfaces: 
4112        * new WEB interface (use html_mods option to use the old one)
4113        * some colors in terminal (use term_ansi option to disable)
4114        * new external searches in the GUI
4116 2003/03/10: Simon
4117   - Fixed 0 upload bug :)
4119 2003/03/06: Simon
4120   - Debug: new commands 'debug_client <nums>' to see messages exchanged with
4121       those clients, and 'clear_debug' to clear the debug table.
4122   - New option '-daemon' and new command 'daemon' to run mldonkey in
4123       daemon mode.
4124   - New commands 'log_file <file>' and 'close_log' to log output to a file.
4125   - New command '! <cmd>' to execute a system command from the interface.
4126       The <cmd> command must have been defined in the option
4127       'allowed_commands' as the symbolic name for another command.
4128       You cannot pass arguments, only those associated with the command
4129       in 'allowed_commands' are used (default example: df)
4130   - New multi-user system:
4131      * Options 'password', 'http_login' and 'http_password' have been
4132        replaced by one option 'users', that should not be edited manually
4133        (to reset, remove it completely), since the passwords are encrypted
4134        in config files.
4135      * The default user is 'admin'. He should not be removed. He is the
4136        only one who has the right to add new users. Default password is
4137        "" (empty)
4138      * 'auth <user> <password>' is used to change the user in a 
4139          console/GUI session
4140      * 'add_user <user> <password>' is used to add a user, or change the
4141          password associated with it. Only 'admin' is allowed to use this
4142          command.
4143      * Searches are now displayed per user. All other views are shared 
4144          between users.
4145   - Bug fixes:
4146      * Bug in GUI proto 7..13, where force param of Download_query was
4147         sent with bad opcode.
4148   - Links to the WEB server of savannah have been banned: in web_infos and
4149       network_update_url. The redirector is temporarily used to provide this
4150       information.
4151   - Telnet interface: 
4152      * ANSI escape sequences: option "term_ansi", command "ansi true/false",
4153         to activate/disactivate colors on terminal
4154      * Command "term <width> <height>" for prompt on last line, until I 
4155         remember how to detect terminal size automatically.
4156   - New option 'max_concurrent_downloads', and new state Queued for files
4157       being downloaded. Only the 'max_concurrent_downloads' files with
4158       highest priority are really being downloaded, other files with
4159       lower priority are waiting.
4160   - Limewire/Gnutella:
4161      * Correctly send the QRT table to ultrapeers
4162      * Almost able to reply to searches
4163   - GUI:
4164      * Upload tab: new button "Add Shared Directory"
4165   - Applied patches #1247, #1228, #1235, #1242, #1248, #1232
4166   - Bug fixes in eDonkey:
4167      * 'peer_ip' is only called if reliable_sources is activated
4168      * A client cannot appear twice in the pending slots queue 
4170 2003/03/05: Simon (v 2.02-29 next release: monday)
4171   - IMPORTANT Bug fixes (thx pango):
4172      * Corrupted blocks are removed
4173      * Re-order arguments when computing md4 with threads
4174        -> all your shared files hashes will be recomputed :(
4176 2003/03/05: Simon (v 2.02-28)
4177   - Bug Fixes:
4178      * 'vr' should not raise Exception in String.sub, fix in
4179          result_format_of_name
4180   - Direct-Connect: use async DNS by threads when available
4181   - Applied patches #1226, #1227 from Savannah
4182   - Options: some memory improvements (clear unused initial options,
4183       avoid building intermediate data structures)
4185 2003/03/04: Simon (v 2.02-27)
4186   - Bug fixes: 
4187      * 'log' command correctly set the size of the log (otherwise, an 
4188       exception is raised... and no GUI can connect for eg)
4190 2003/03/04: Simon (v 2.02-26)
4191   - Applied patches #1219, #1220, #1221, #1222
4192   - Redirection of output to a log:
4193      * Only startup messages are sent to stdout
4194      * New argument -stdout for all messages to be sent to stdout
4195      * New commands: 'log' to see the last non-printed messages,
4196        'stdout <true|false>' to enable/disable messages to stdout again.
4198 2003/03/03: Simon (v 2.02-25)
4199   - Source Management:
4200        * Query files every min_reask_delay even when already connected
4201        * Removed the 2 queues for really bad files
4202   - Emule compatibility: on disconnect, file queries are stored if 
4203      a JoinSlot message was sent, and reused if an unrequested AvailableSlot
4204      message is received (to be tested).
4205   - Duplication of similar chunks between files (the next step should be
4206       to only download one of these chunks) tested every 5 minutes
4207   - Applied patches #1203, #1204, #1210 and #1215
4208   - Applied patch 77_trusted_sources, activated by option 'trusted_sources'
4209   - New option 'max_indirect_connections' to limit the number of incoming
4210       connections.
4211   - New command 'options' to print options by section
4213 2003/03/02: Simon (v 2.02-24)
4214   - New commands 'share <dir>' and 'unshare <dir>' to manipulate
4215       shared_directories
4216   - Applied pango's patch 71_upload_slots_dynamic_allocation, controlled
4217       by option 'dynamic_slots' (false by default)
4218   - Applied patch #1199
4219   - Bug Fixes:
4220        * Computation of guptime
4221        * Dropping all sources of files when too many sources
4222        * Mailer that don't accept the <..> addresses (new option
4223           'add_mail_brackets')
4224   - Added detection of similar chunks between files, not used yet
4225   - Applied patch #1200, with option 'filename_in_subject'
4226   - Source Management:
4227        * Changed default for min_reask_delay to 600 seconds
4228        * Two new queues, one for good clients (every 10 minutes), one for
4229            bad clients (every 6 hours)
4231 2003/03/01: Simon (v 2.02-23)
4232   - Bug fixes:
4233     * stats should be correctly saved
4234     * sources above max_sources_per_file should be correctly removed
4235     * IMPORTANT: JoinSlot message should be sent correctly again at 
4236        each connection
4237   - Gui: added a "Scan Ports" command to autodetect core port. Be careful, it
4238     can trigger intrusion detection softwares ! It is partially asynchronous,
4239     so that the replies may appear several seconds after the function returned.
4241 2003/02/28: Simon (v 2.02-22)
4242   - eDonkey: respect max_sources_per_file
4243   - Applied patch #1198, stats saved as options in 'stats.ini'
4244   - Added link to French forum on main WEB page
4246 2003/02/26: Simon (v 2.02-21)
4247   - eDonkey: 
4248       * Save hashes of committed files in shared_files.ini to remove
4249         rehashing committed files on startup
4250       * Remove / after the md4 in ed2k links      
4251       * Full-Chunks SUPPORTED
4252   - Applied patch #1185
4253   - Applied pango's patches:
4254        63_revert_optimize_chunks_display
4255        65_fix_file_unbound_argument, 
4256        66_fix_ocl_parsing,
4257        67_can_download_from_uploaders,
4258        70_fix_duplicates_in_pending_slots_fifo
4259        74_emule_protocol_version
4260      Comments on patches not applied: 
4261       * 73: should not use Weak.t but remove the client when disconnected.
4262       * 58: not sure what it does exactly
4263       * 60: emule quotas remain until full-chunk is fixed
4264       * 69: no full-chunk until we and edonkey can support it
4265       * other ones (51, 68, 71, 72): touch the internals of the sensible
4266          upload/download engine. need more time to check
4267   - Fix: correctly cache IPs in Ip.async_ip
4269 2003/02/25: Simon (v 2.02-20)
4270   - Applied patch #1174, #1177, #1178
4271   - With threads, asynchronous DNS resolution of urls
4272   - GUI: ed2k links directly saved to selection, but doesnot work yet
4273   - eDonkey: 
4274      * Try to work around the incoming Emule connections sending
4275         an immediate AvailableSlot
4276      * Inverted 2 shared/commit lines in CommonComplexOptions.file_commit to
4277         prevent rehashing of downloaded files
4278   - ./configure: Improved pthread support
4280 2003/02/25: Simon (v 2.02-19)
4281   - Fixed Makefile for pthread library
4283 2003/02/24: Simon (v 2.02-18)
4284   - eDonkey: 
4285      * Fixes: good sources dropped
4286   - Limewire:
4287      * Implementation of Query Routing 0.1
4288   - Applied patches #1169, #1173
4289   - ./configure: use option -enable-pthread-lib=pthread, or whatever, to enable
4290        use of threads
4292 2003/02/22: Simon (v 2.02-17)
4293   - GUI: new application mldonkey_installer'. Guess its goal. Need
4294       -enable-devel in ./configure . Not working yet.
4295   - Applied patch #1165, #1164, #1161
4297 2003/02/21: Simon
4298   - eDonkey: 
4299      * Removed slot reserved for mldonkey2
4300      * Added some UDP messages for Emule (not yet used)
4301   - Applied patch toggle_browse_share by Martin
4302   - Applied patch #1151, #1152 and #1156
4303      pango's ones: 
4304         59_fix_gui2_compile_warning
4305         61_remove_zone_present_field,
4306         62_telnet_use_interface_buffer
4307         63_optimize_html_mods_chunks
4308         64_html_mods_upstats_links
4309   - Fix: 'uploaders' command only prints connected clients.
4310   - ./configure: new option -enable-pthread, if you want to compute some
4311       md4s in another thread. 
4313 2003/02/20: Simon (v 2.02-16) tag unstable-2-02-16
4314   - Applied patch #1137: new html_mods
4315   - Added some options in 'vo':
4316        client_name,allowed_ips,client_ip, force_client_ip
4317   - ./configure:
4318        * If no native code compiler is available, compile in bytecode (HPPA)
4319        * New option -disable-gui
4320   - Protocols: 
4321        * Overnet: Fixed message 27, removed message 33
4322        * eDonkey: added message 92
4323        * Try to print the IP:port for unknown packets
4324   - Net: mtu changed to 1500
4326 2003/02/19: Simon (v 2.02-15)
4327   - Applied patch #1136: better mail output
4328   - Applied patch adding "rem" command
4329   - Applied patch #1128: Adding chunk_width edit option
4330   - Applied patch #890: FakeCheck link
4331   - Donkey:
4332      * Try to recover direct address from connecting client
4333      * Try to ask good connecting clients to reconnect (either by tcp or udp)
4335 2003/02/19: Simon (v 2.02-14)
4336   - Bug fix: vd <num> (patch #1135)
4338 2003/02/18: Simon (v 2.02-13)
4339   - Upgraded to lattest html_mods
4340   - GUI: 
4341        * You can now pass the full path to a file filled with urls (ed2k://) in 
4342          the ed2k:// entry
4344 2003/02/18: Simon (v 2.02-12)
4345   - fixed bug exiting on set_request_result not found.
4347 2003/02/18: Simon  (release unstable-2-02-11)
4348   - DonkeyServers: fixed a bug with socket Lifetimes
4349   - Fixed bugs in gpattern and vm commands
4351 2003/02/17: Simon (release unstable-2-02-10)
4352   - DonkeySources3: new source management (use 'sources' command for info)
4353       * Increased default max_clients_per_second to 30
4354       * Removed ban on rank > 500
4355   - Applied last html_mods patch. Does not work well on my Mozilla version.
4356      So, disabled by default (activate with html_mods = true). WEB Messages
4357      have been changed, so that foreign translations are not ok anymore.
4358   - DonkeyServers: query more files before deconnection from clients.
4360 2003/02/15: Simon
4361   - GUI:
4362       * Added small icons (used by default)
4363   - Core:
4364       * better chroot support
4365          * set shell variable MLDONKEY_CHROOT=/dir if you want mldonkey to
4366             chroot itself in /dir. mldonkey must be started as root (or setuid)
4367             and should drop its priviledges using run_as_user/run_as_useruid.
4368          * added option 'run_as_useruid'. The directory where mldonkey
4369             will save its files must be writtable by this user, and
4370             the incoming directory too (recall: options can be set on the
4371             command line: #root> /usr/local/bin/mldonkey -run_as_useruid 502).
4373 2003/02/09: Simon
4374   - GUI:
4375       * New query tabs: "ShareReactor Search" and "Jigle Search"
4376       * More options in "FreeDB Search" tab
4377   - Ip: DNS queries are now always cached.
4379 2003/02/07: Simon
4380   - Applied patch #1079 (fragmentation)
4381   - DonkeyOvernet:
4382       * Keyword store completely rewritten
4383       * Remove keywords older than 1 hour 
4385 2003/02/06: Simon
4386   - GUI:
4387       * New query tab "IMDB Search"
4389 2003/02/05: Simon
4390   - Applied html_mods patch 2 from Mike Jones
4391   - GUI:
4392       * New query tab "FreeDB Search"
4394 2003/02/04: Simon
4395   - Ported to Ocaml CVS version: 3.06+21 is required on Mac OS X. Downloads
4396       are done from Savannah for 3.06 and 3.06+21
4397   - GUI: 
4398       * New message CleanTables sent every 30 minutes to the GUI to clean
4399           source tables.
4400   - DonkeyProto: closer to Overnet 0.44, still some information missing
4401       A client browse trace is available in DonkeyProtoClient.ml
4403 2003/02/03: Simon
4404   - WEB interface: applied patch html_mods
4405   - Applied patch 1053 (separated blocks in GUI)
4406   - GUI: 
4407     * moved column popup on right button
4409 2003/02/01: Simon
4410   - GUI: display rank when possible
4412 2003/01/30: Simon (tag unstable-2-02-9, and good week-end)
4413   - Net: attempt to take into account TCP/IP packets size in bandwidth control.
4414       Seems to work better
4415   - GUI: 
4416        * Change file priority in GUI
4417        * New option 'downloads_up' to permute downloads/downloaded
4418        * Click on column titles to sort/add/remove them
4419   - Donkey: 
4420        * Ask files from server in decreasing priorities order
4421        * Should be able to import Emule .part.met files
4422   - Mailer: patch from <moumar@netcourrier.com> applied
4424 2003/01/30: Zoggy
4425   - Changed The License of okey, configwin, mp3tag and mlchat to GPL
4426   - one tab per list in the column configuration tab (gui/settings)
4428 2003/01/28: Simon 
4429   - GUI: 
4430        * new protocol 12
4431        * New state "Queued out" for sources
4432        * New state "Aborted <reason>" for files
4433        * Some items copied from the "downloaded" contextual menu to the
4434            "Downloading" contextual menu
4435   - Donkey:
4436        * Sources Management a la 2-02-5 updated (next time, choose your
4437            source management depending on an option ?)
4438   - Overnet:
4439        * New option "enable_overnet" (true by default), accessible from
4440           GUI Settings
4442 2003/01/26: Simon (tag unstable-2-02-8) 
4443   - Added bundle binaries (core + gui with communication via FIFO) to
4444       ease use of alternative networks (mldc+gui, mlslsk+gui, etc).
4445   - Donkey:
4446        * FIX: connections to Overnet
4447        * Updated 'cs' command
4448        * FIX: seens in stats replaced by successful connections
4449   - Console:
4450        * 'mem_stats' prints a bit more info (not yet enough)
4452 2003/01/25: Simon
4453   - Direct-Connect:
4454        * FIX: Active searches don't work, go back to passive
4456 2003/01/25: Simon (tag unstable-2-02-7) 
4457   - Direct-Connect:
4458        * Better management of users in servers/rooms
4459        * Servers headers displayed in GUI console
4460        * Active Searches enabled if not "firewalled"
4461            (don't forget to set the 'firewalled' option if needed, or
4462            to set 'force_client_ip' since IP detection does not work
4463           as in edonkey) 
4464   - GUI:
4465        * Queries moved to server tab
4466        * FIX: rooms work correctly
4467        * Console:
4468           - limited to 500 lines
4469           - FIX: Font "fixed" is not required anymore 
4470           - Combo/history of commands
4471   - Donkey:
4472        * New option 'log_clients_on_console' to log client disconnections
4473           on GUI console
4474   - Emule Support:
4475        * Propagate max 20 direct sources, not older than 10 minutes, verified.
4477 2003/01/24: Simon
4478   - Emule Support: 
4479        * Compressed packets are accepted (not yet requested)
4480        * Second Sources packet format accepted
4481   - Direct-Connect:
4482        * Respect the timeout between searches
4483        * Take file state into account
4484   - FIX: 
4485        * don't touch client_ip if not changed
4486        * correctly remove "Bad clients"
4487   - DonkeySources1: 
4488        * remove sources not connected since
4489                 max_source_age * 12 h (half-days instead of days). 
4490        * correctly save source_age
4491        * take priority and popularity into account for score
4493 2003/01/23: Simon
4494   - FIX:
4495        * Opennap plugin should compile again
4496        * Last chunk always downloaded first
4497   - Patch applied: new_client_stats (cs command)
4498   - DonkeySources:
4499        * Improved 'sources' command stats
4500        * Scores of sources are saved
4501        * File state is taken into account for the score
4502        * Sources with rank > 300 are not kept in good clients
4503   - Direct-Connect: no leeching anymore !
4504        * mldc replies correctly to passive searches (ie on the same hub)
4505        
4506 2003/01/22: Simon (tag unstable-2-02-6)
4507   * Mainly a bug-fix release for 2-02-5. Lots of features still missing
4508      (sources' scores are not saved, lastreqs,cancelled files sources not
4509       immediatly removed,...)
4511   - Fix: problem with downloads never starting
4512   - Fix: problem with partial chunks not saved
4513   - Added www.mldonkey.org in the HTTP interface
4514   - Better information on request results for each client
4515   - New option 'verbosity' to choose which warnings to display. 
4517 2003/01/19: Simon
4518   - Replaced date using floats by ints (lots of new bugs...)
4519       Please, signal any incompatibility with guis (mldonkeywatch...)
4521 2003/01/17: Simon
4522   - Started implementing new source management system
4524 2003/01/16: Simon
4525   - Global change to use int64 instead of int32 everywhere. I hope I didnot
4526       forget places, otherwise big bugs.
4528 2003/01/16: Fabrice
4529   - Added doc/overnet.txt
4531 2003/01/15: Simon
4532   - DonkeySources1: 
4533     * Old sources are stored in two queues to always start by the best ones
4534     * FIX: Connected sources are also saved
4535     * FIX: Connected sources are also printed
4537 2003/01/14: Simon
4538   - DonkeyInteractive: FIX: "out-of-bound" error
4539   - DriverControlers: shorter help
4540   - DonkeyProtoClient: 
4541       * FIX: for cDonkey, send both QueryChunksReq and QueryFileReq
4542   - DonkeyOneFile: fixed non-shared partial downloads at startup
4543   - Options: values can be aliases to reduce space usage (
4544      used in file_sources.ini)
4545   - DonkeySources1: 
4546       * FIX: sources are sorted to avoid recently-connected sources in 
4547      front of the queue.
4548       * clients ranking > 1000 put in concurrent_sources, not good sources
4549   - DonkeyClient: 
4550       * connection lifetime of connection set to 1 minute, and prolounged
4551             if either peer uploads or downloads
4552       * FIX: challenge is also send for incomning connection
4553       * ban clients with queue ranking > 1000 and send them a message
4554       * send a bad QueueRanking  to banned clients asking to enter
4555           the queue.
4556   - CommonOption: save_options_delay default set to 15 minutes
4557   - config/Makefile.in: IRC compiled by default
4559 2003/01/13: Simon (tag unstable-2-02-5)
4560   - DonkeyClients: add md4s of connected clients to a hashtbl to prevent
4561       accepting two connections from the same client.
4562   - DonkeySources1: 
4563      * new sources are queued LIFO.
4564      * old sources are immediatly stored in old_sources.
4565      * fixed adding several times the same file to one source
4566   - DonkeyOptions: md4 now identifies mldonkey as emule.
4567   - Gui_downloads: expose events redraw the color bar 
4568   - DonkeyServers: black-list servers on port 4662
4570 2003/01/12: Simon
4571   - DonkeyGlobals: remove 1 from size to compute nchunks in new_file
4572   - DonkeyTypes: removed field file_all_chunks, recomputed
4573   - DonkeyComplexOptions: save mtime and chunk states. mldonkey should not
4574       compute the md4 at each startup anymore.
4576 2003/01/11: Simon
4577   - Source Management: ask for new sources only if we have fewer than
4578       600 * max_clients_per_second new/good sources.
4579   - IRC: completely working ?
4580       * Connect to server and login
4581       * General channels (right-menu on IRC account) such as '#mldonkey' :)
4582       * In channels: receive messages, receive users, send messages, close chat
4583       * Private channels with users (double-click on user)
4585 2003/01/10: Simon (tag unstable-2-02-4)
4586   - Gui: display chunks availability when selecting a source
4587   - DonkeyComplexOptions: saved some space in file_sources.ini
4588   - DonkeyClient: 
4589      * JoinQueue are not forgotten when the queue is full.
4590   - DonkeyGlobals: Use Weak Hashtbl for udp_clients. Should save memory.
4591   - New command 'sources' to print the state of the different source queues.
4592   - DonkeySources2: Always use the same client_num for the same source
4593       (to avoid flooding the GUI with new clients)
4594   - Pango's patches: 39_readable_server_banners, 40_boot_time_is_redundant, 
4595      43_waiting_queries_late_filtering, 46_overnet_fix_errormsg, 
4596      50_tight_file_commit, 52_self_create_mldonkey_gui_ini ,
4597      53_dont_propagate_overnet_sources, 55_overnet_send_appropriate_infos
4598      57_optional_servers_walking
4600 2003/01/10: Simon (tag unstable-2-02-3)
4601   - DonkeySources2: fixes from 2003/01/08 had been reverted by CVS. 
4602       Sources were dropped under heavy usage
4604 2003/01/09: Simon (tag unstable-2-02-2)
4605   - DonkeyClient/DonkeyProtoClient: complete implementation of Emule 
4606       client-to-client source propagation.
4607   - DonkeyClient: limitation of file groups to 1000 files
4608       (should save memory)
4609   - DonkeyGlobals: removed the mldonkey letters in md4
4610   - Makefile: 'mlim' is compiled only if mldonkey_gui is compiled
4611   - DonkeyOptions: removed options are back in downloads.ini  
4613 2003/01/08: Simon (tag unstable-2-02-1)
4614   - Fixed some bugs in new sources management. Seems to works pretty well.
4615   - For fun: new mldonkey authentification, just to see how long it will take
4616      to emule devels to break it :)
4618 2003/01/07: Simon
4619   - ./configure:
4620      * called automatically by make when needed
4621      * -enable-im has been removed
4622      * -enable-devel has been added for development things
4623   - IM: 
4624      * Friends, accounts and rooms are packed inside a notebook
4625      * IRC connects and join channels, but the channel widget is not done
4626      * The IM widget is available from mldonkey_gui IM menu
4627      * 'mlim' is mldonkey IM-specific program
4628   - Donkey:
4629      * New source management seems to work, not complete yet
4630      * Upload: fill client buffers depending on the upload rate
4632 2003/01/02: Simon
4633   - Makefile: simplification and regeneration from config/Makefile.in
4635 2002/12/29: Simon
4636   - Gui: fixed the display of the number of shared files
4638 2002/12/28: Simon
4639   - DonkeyServers: 
4640     * New option 'keep_best_server' (default true) to automatically change
4641        the server mldonkey remains connected when it finds a better server
4642     * walker: does not reconnect if already connected to more than
4643        the maximal number of servers (option 'max_walker_servers' (default 1)).
4645 2002/12/27: Simon
4646   - Opennap: send shared files to server after connection.
4648 2002/12/26: Simon
4649   - Options: 
4650     * new options file 'edonkey.ini' for options specific to eDonkey/Overnet
4651     * eDonkey specific options moved from 'downloads.ini' to 'edonkey.ini'
4652   - Direct-Connect: upload works correctly. Need more tests. Maybe add
4653      different mailing-lists for (mldonkey-dc@, mldonkey-nap@,...)
4655 2002/12/25: Simon
4656   - New argument -find_port, to search other ports when the ones specified are
4657       already used. The options are modified accordingly.
4658   - Option 'allowed_ips': changed are immediatly taken into account for
4659       the HTTP interface.
4660   - Major Bug: fixed bug of 100% CPU usage when timeout < 0.0001 and poll used.
4661   - Direct-Connect: upload of shared list works
4662   - Makefile: different executables for each network. 
4663      'mldonkey' -> eDonkey2000 + Overnet
4664      'mldc' -> Direct-Connect
4665      'mlgnut' -> Gnutella
4666      'mlslsk' -> SoulSeek
4667      'mlnap' -> Open Napster
4668     and 'mlnet' for all networks
4670 2002/12/24: Simon
4671   - Test for existence of the GUI before asking or trying to start it
4673 2002/12/23: Simon (tag release-2-02)
4674   MAJOR BUG FIX:
4675   - DonkeyClient: fixed a bug preventing download from indirect clients.
4677 2002/12/21: Simon (tag release-2-01-4) 
4678   - DonkeyOvernet: updated TCP protocol to overnet 0.42
4679   - Bug fixes:
4680    * DonkeyOneFile: removed a bug disconnecting from time to time an uploader.
4681    * DonkeyClient: 
4682      * verify that clients have received a slot before uploading
4683      * remove client from upload queue when reconnecting
4685 2002/12/20: Simon
4686   - Applied patch #812 (KDE Icon set). The old icons can still be used by
4687      changing the Makefile line : ICONS_CHOICE=big
4688   - Applied patch #852 (wildcards in black-list)
4689   - Applied patch #855: correctly sort servers before remove_old_servers
4690   - Removed some options for Overnet: publish and search for sources
4691       is now automatic
4692   - DonkeyOptions: new options:
4693      ban_queue_jumper (true): if you want to ban clients reasking files too fast
4694      ban_period (6): how long are they banned
4695      send_warning_messages (false): send a message when a client is banned
4696      max_emule_slots (33): percent of upload slots that emule clients can use
4697        (cannot be set under 25%)
4700 2002/12/19: Simon
4701   - DonkeyClient: quota limitations:
4702      * Emule clients can not get more than 1/3 of the upload slots
4703      * at least one mldonkey client can always enter the queue
4704   - DonkeyClient: banning mechanism for clients that connect too often
4705      (don't prevent downloading from them)
4706   - Gui: 
4707      * Remove duplicates at end of list
4709 2002/12/18: Simon
4710   - Multi-column sort should work again.
4711   - Reverted again the query for all files to a query for one file.
4713 2002/12/18: Simon (tag release-2-01-3)
4714   - Removed the Credit System. The world is already unfair enough, no need
4715       to bring a monetary system here. Moreover, it prevents correct downloads
4716       from other mldonkey clients !
4717   - Overnet: Applied Norbert Lataille's patch 3.0
4719 2002/12/18: Simon (tag release-2-01-2)
4720   - MinGW port: should compile and seems to run. Not yet tested enough.
4721   - DonkeyServers: 
4722     * Better way to choose the master servers: if a new
4723       server has 5 times more users or at least 1000 more users than a master
4724       server, it replaces the master server.
4725     * Don't remove old servers if we are connected to them !
4727 2002/12/17: Simon
4728   - Prevent downloading the entire file list at every connection to a friend
4729   - Added Ip.reachable to remove local network addresses
4730   - Started port to native Windows via MinGW
4732 2002/12/16: Simon
4733   - Applied Martin's patch on WEB Realm
4734   - Added option 'run_as_user' that can be used to change (setuid) the
4735       priviledges of mldonkey after ports binding.
4736   - Started implementing upload in Direct-Connect
4737   - New command 'friends' to print a list of all friends
4739 2002/12/15: Simon
4740   - Applied Norbert Lataille's patch 2.5 on Overnet publish
4741   - Applied Andre Hinrichs's patch for better help
4742   - Applied Pango's patches (20021213b):
4743      05_save_client_last_filereqs: applied
4744      07_keep_user_filenames: applied
4745      20_vd_sharp_urls: applied
4746      21_queue_new_sources
4747      24_unbroke_random_order: applied
4748      25_bolder_remove_old_sources
4749      29_mrvn_eta: applied
4750      32_xou_web_interface: applied
4751      34_suxxx_display_chunks_in_telnet: applied
4752      35_fix_console: applied
4754 2002/12/12: Simon
4755   - Rewritten remove_old_servers, scheduled every 15 min
4756      * CommonComplexOptions.servers is an intmap, not a list anymore
4757      * Delays are printed
4758      * Black-listed servers are removed immediatly
4759      * Last Connection is extracted immediatly
4761 2002/12/09: Simon (tag release-2-01)
4762   - Fabrice should compile and release binaries for 2.01
4763   - Fixed problem with stats
4764   - Overnet: added an option for publish (false by default since still in dev)
4765   - IM: Only Yahoo works
4766   - A message is sent to old clients only randomly. 
4768 2002/12/08: Simon
4769   - Applied Overnet publish patch from Norbert LATAILLE
4770   - The Overnet patch is too aggressive (about 5 kB/s). It really needs to
4771      be tune.
4773 2002/12/07: Simon
4774   - Fixed bug in "nu" command (thanks Rudolf Polzer)
4775   - "reshare" now add new files to upload.
4777 2002/12/06: Simon
4778   - Applying Pango's patch: 
4779        01_display_server_banners: banners already appear in GUI console
4780        02_force_high_id: applied
4781        03_overnet_boot_dns_resolution: already done
4782        05_network_signature_change: applied
4783        06_wrong_lowid_display: already done
4784        07_keep_user_filenames: applied
4785        08_better_default_parameters: partially applied
4786        09_md4_speedup.patch: already done
4787        10_port_blacklist: applied
4788        11_max_connected_servers_offbyone: already done
4789        12_files_md4_corruption: already done
4790        13_revert_iptos: applied, but why in and out ?
4791        14_get_chunks_in_random_order: applied, but with an option to disable it
4792        15_fix_ovweb_default_site: applied, but an option would be better
4793        16_sources_per_chunk: applied
4794        18_remove_cancelled_downloads: applied
4795        20_vd_sharp_urls: applied
4796        24_check_for_x: applied
4797        22_connect_on_server_urls: applied
4798        26_old_file_on_cancel: applied, but option, disabled by default
4799        23_uploaders_command: applied
4800        27_selective_hide_files: applied
4802    NOT APPLIED, need some discussion:
4803        17_hide_chunks_being_uploaded: 
4804        21_fifo_new_sources:
4805        25_bolder_remove_old_sources:
4807 2002/12/04: Simon
4808   - Gpattern: fixed bugs introduced by mldonkey :)
4809   - Gui_servers, Gui_friends: server users list and file sources list are only
4810       update 1/10 second after selection to avoid flickering.
4812 2002/12/02: Simon
4813   - Moved some code in the GUI driver to avoid sending many messages when
4814       GUI use the POLL extension.
4816 2002/12/01: Simon
4817   - Applets: new directory applets/, containing 3 sub-directories:
4818      * api: a common C api used by applets to chat with mldonkey on its GUI port
4819      * kde: a KDE panel applet
4820      * gnome: a GNOME panel applet
4821     A lot to be done. I know a bit GTK, not QT ...
4822     The Client_stats message is not yet completely filled with useful data
4823     by the core. 
4825 2002/11/20: Simon
4826   - IM: 
4827       * Accounts Window, and Toplevel menu to access it
4828       * Contacts Window works
4829       * Dialog Window
4831 2002/11/18: Simon
4832   - Gui_rooms: each opened room has its own users/messages widgets, to avoid
4833         reprinting all messages when changing of room. Maxence, could you
4834         look at that and explain me how to destroy a widget when room is
4835         closed
4836   - CommonInteractive: raise Not_found when the option doesnot exists
4837         (no more "option NAME value changed" for non-existing options :)
4838   - Instant Messaging: Started implementing the interface for instant 
4839         messaging.
4841 2002/11/17: Simon
4842   - CommonClient: check MD4 replies from client (inspired from patch #662)
4843   - DriverMain: track options_version, to be able to update the options
4844         when a new version of mldonkey is used.
4846 2002/11/16: Simon
4847   - CommonOptions: added the redirector-generated server list to web_infos,
4848         and an option to change the redirector. Now, we should probably
4849         disable auto_update_server by default, since the relocator gives
4850         a nice server list. Or we should give more weight to new servers
4851         when trying to connect.
4853 2002/11/15: Simon
4854   - DonkeyServer: added sending of UDP pings. Check that pings have been
4855         replied before sending extended search/locate requests.
4856   - DonkeyClient: changed mldonkey-specific protocol to recognize old
4857         clients, and send a warning.
4859 2002/11/14: Simon
4860   - Fixed bug #1701 ?: read at least 1000 bytes before writing stream
4861         in a file from Limewire. Gnutella clients problem, or is_http_ok is
4862         not strict enough.
4863   - Fixed bug #1708 ?: rewritten get_page and wget in net/http_client.ml
4864         to avoid fd leak.
4865   - Support #101511: in the Upload panel of the GUI, the contextual menu
4866         offers to print ed2k links in the Console panel.
4867   - GuiTypes: new event Server_message_event to send server messages to
4868         the GUI console.
4869   - GuiEncoding/GuiDeconding: now, protocol versions will only change when
4870         the encoding of some old messages changes, not when new messages
4871         are added, so that new messages can be handled even if an old
4872         format is used for other messages (old GUIs can benefit from new
4873         messages)
4874   - DonkeyOvernet: change the URL in 'ovweb'
4875   - DonkeyProtoCom: sending much more information to the redirector, so that:
4876         - we can generate our own server list
4877         - we can generate an overnet peer list
4878         - we can gather some statistics on node bandwidth usage to decide
4879             when to create supernodes.
4880   - Observer: now generates a 'servers.met' file every 5 minutes, which is
4881         sent to savannah, if I find the command :), but the dest is:
4882         "http://savannah.nongnu.org/download/mldonkey/network/servers.met"
4883         if you want to add to your web_infos.
4884         Servers inside are guaranteed alive in the last 5 hours (well,
4885         unless the redirector is down which is often true :( )
4887 2002/11/13: Simon
4888   - common/commonOptions.ml: new option "network_update_url" to
4889         download files "motd.html" and "motd.conf" used to update some
4890         parameters in all clients. "motd.conf" is displayed in the
4891         HTML and telnet interfaces, and at startup. Why not in the GUI :) ?
4892         These URLs are downloaded every day, and can change the configuration
4893         of the client remotely. This will be used later to test different
4894         parameters to activate/desactivate ultrapeers behaviors.
4895   - donkey/donkeyServer.ml: new implementation of remove_old_servers. The
4896         new implementation sorts the servers, and remove all those that
4897         exceed their age, but guaranty to let at least "min_left_servers" in
4898         the list.
4899   - donkey/donkeySupernode.ml: started implementation of supernodes.
4900         Supernodes are mldonkey clients, that act as pseudo-servers:
4901         - they accept queries from mldonkey clients
4902         - they index files from all clients
4903   - donkey/donkeyOvernet.ml: fixed bug preventing removal of old
4904         connected peers.
4905   - config/configure.in: REQUIRED_LABLGTK=1.2.4 (please, dont force
4906         people to upgrade if it is not REQUIRED). Use the configure
4907         script to detect the version and to generate stubs for simple
4908         modifications (lib/gAutoconf.ml.new.in). Only upgrade for
4909         major reasons (ocaml release eg).
4911 2002/11/11: Simon
4912   - config/configure.in: detection of lablgtk version to be able to compile
4913         without lablgtk-20021031 (must find mouse position, zoggy ??). 
4914         GToolbox.popup_menu is generated by ./configure from 
4915         lib/gAutoconf.ml.new.in
4916   - gpattern/gpattern.ml: using arrays instead of lists. filters directly 
4917         integrated. Forces many changes in gui/gui*.ml, but should be much
4918         faster.
4919   - gui/gui_downloads.ml: Call to remove_client removed until a new message
4920         is added        for that in the protocol
4921   - net/udpSocket.ml: implementation of SOCKS 5 support for UDP. Must 
4922          check that bytes are correctly ordered.
4924 2002/11/10: Simon
4925   - Fabrice has to move, and his new employer does not allow him to
4926         program in other open-source projects (for Intellectual Property 
4927         problems). So he will keep administrating the project (web site, 
4928         forums, releases), while I'm integrated in the developper team
4929         as main developper... As a start, I have some bugs to fix, and
4930         I would like to create a parallel network over edonkey2000 using
4931         mldonkey supernodes.
4933 2002/11/06: zoggy
4934   - changes to use lablgtk-20021031 (@#!:@* Why the fuck did you do that ? 
4935         you are the only developper to use it, nobody can compile now :(
4936         
4937 2002/11/04: mldonkey
4938   - Applied patch #634 (increase buffer size for md4 comp.)
4939             patch #631 (max_connected_servers off by one)
4940             patch #630 (low id display)
4941             patch #632 (use DNS in "boot")
4943 2002/10/23: Simon
4944   - New implementation of 'remove_old_clients'
4946 2002/10/22: mldonkey
4947   - Patch #576 applied.
4948   - i18n: 
4949       * Message files changed: ~/.mldonkey_gui_messages.ini for GUI and
4950           ~/.mldonkey_messages.ini for core
4951       * Some messages customizable in core
4952       * web_common_header, html_header and download_html_header moved
4953           to ~/.mldonkey_messages.ini
4954       * ~/.mldonkey_messages.ini can be overwritten MLDONKEY_MESSAGES
4956 2002/10/21: mldonkey
4957   - lib/options.ml: always close open files. "Too Many Open File" bug again.
4959 2002/10/20: mldonkey
4960   - New default options for 'web_common_header' and 'html_header' by Xou.
4961   - Patches #572, #573 and #574 applied.
4963 2002/10/16: mldonkey
4964   - release 2.00
4965   - fix: uploaded files do not appear twice in panel
4966   - fix: empty results are not accepted anymore (Overnet ?)
4967   - fix: "ovweb" accepts URLs since default site is down
4969 2002/10/15: mldonkey
4970   - fix: files should not appear twice anymore in upload panel (files whose
4971       md4s have been computed replace [are not added anymore to] their
4972       corresponding temporary shared file).
4973   - fix: added must_write in udpSocket.ml when bandwidth controler is used
4974       (UDP packets were not sent anymore...)
4975   - fix: upload not more than the bandwidth each second
4977 2002/10/14: mldonkey
4978   - add: internationalisation
4979       * envirronment variable MLDONKEY_GUI_MESSAGES
4980   - fix: rewritten upload in edonkey. Old mode can be restaured with option
4981      'new_upload_system' set to false
4983 2002/10/13: mldonkey
4984   - add: internationalisation
4985       * new module lib/gettext.ml for format options
4986       * new GUI config file gui_messages.ini
4987       * new directory i18n to store gui_messages.ini.?? files for
4988          contributed languages
4990 2002/10/12: mldonkey
4991   - fix: support for several GUIs at the same time
4992       * Changes in how objects updates are monitored
4993       * Lots of changes in DriverInterface        
4995 2002/10/11: mldonkey
4996   - add: 'close_all_sockets' command to close all connection sockets.
4997       Added to the SIGHUP signal handler.
4998   - fix: SIGHUP doesn't call network_enable/disable anymore. Bug about
4999       automatic disabling of edonkey plugin ?
5000   - fix: new udp bandwidth management
5001   - add: starting reimplementing multi-gui
5003 2002/10/09: mldonkey
5004   - add: catch SIGTERM and save the config before exiting
5005   - add: publication on Overnet has been implemented, but not tested yet.
5006   - fix: "ovstats" displays more information on current searches
5008 2002/10/08: mldonkey
5009   - fix: bug in indexer2.ml that prevented complex searches in local history
5010       and in filters.
5011   - patch #556 and debian/ from #553 from Goswin von Brederlow. Some problems
5012       with the end of the patch #553.
5013       * Availability seen in % of missing chunks, and height in color bar.
5014       * New "last-seen" and "Age" columns in GUI
5015       * No segfault on division by zero when size=0
5016       * No queries for paused files.
5017       * New debian/ directory
5018   - GUI protocol 9
5019   - add: gui open a message box when password is not valid.
5021 2002/10/07: mldonkey
5022   - fix: "forget_search" should work correctly now
5023   - fix: use Unix.LargeFile.stat instead of Unix.stat to avoid 
5024       exception when sharing files greater than 1.7 Go
5025   - add: filters. Need to enable 'filter_search' option, and to 
5026       change 'filter_search_delay' (results are gathered during this delay,
5027       and all filtered together and displayed, so results are displayed
5028       with this period, and no results are displayed before the delay).
5030 2002/10/06: mldonkey
5031   - fix: split add_interesting_client in two different functions:
5032       force_fast_connect_client (connect immediatly, regardless of
5033        min_reask_delay) and connect_as_soon_as_possible.
5034   - fix bug #1291: vma does now display all servers
5035   - add: new command "version"
5036   - fix: "nu" can take negative arguments to decrease the no-upload period
5037   - fix: stop adding MD4 to proposed names
5039 2002/10/05: mldonkey
5040   - fix: clients_lists are now stored in a 5 buckets array, one per minute.
5041       Strange behavior: the list is almost always full, and the number of fds
5042       increases dangerously. set client_timeout to 30 or smaller to
5043       improve that ? Must check that this timeout is changed when the client
5044       becomes interesting (queued for upload or download). Also set
5045       max_clients_per_second to more than 5...
5046   - fix: preferred files are not queried twice anymore, nor client repeatedly
5047      queried after connection, to avoid Emule Black-list stupid mechanism.
5048   - fix: unknown commands should print an error now
5049   - add: new command "priority" that can be used to change the priority of
5050       a file. Such files will get priority times more bandwidth than
5051       normal connections.
5052   - fix: 
5053      * new command "use_poll" to switch between poll and select.
5054      * Fixed bug in poll making huge CPU usage
5055   - add: new messages for publishing files on Overnet.
5057 2002/10/04: mldonkey
5058   - fix: file_best_name should be used more often
5059   - fix: recover_temp should use the best available name
5060   - fix: the number of overnet peers saved in servers.ini is now limited
5061       by overnet_max_known_peers
5063 2002/10/03: mldonkey
5064   - add: new files for IP multicast, not used, probably never
5065   - add: overnet URLs in "ovlink", statistics "ovstats"
5066   - add: overnet new options to reduce memory usage "overnet_max_search_hits"
5067       and "overnet_max_waiting_peers"
5069 2002/10/02: mldonkey
5070   - add: priority of files
5071      * read power added to TcpBufferedSocket.t for priviledged connections
5072      * DonkeyTypes.file_priority for priviledged files
5073      * DonkeyTypes.client_power for priviledged clients
5075 2002/10/01: mldonkey
5076   - add: more debug output for 'dump_heap'
5077   - donkeyClients.ml: SourceReq clients are not immediatly added to
5078      clients_list
5080 2002/09/29: mldonkey
5081   - fix: bug #1252: servers were added several times in Opennap/DC to each user.
5082   - fix: ed2k link should appear again in 'download' mail
5084 2002/09/28: mldonkey
5085   - fix: sources are correctly removed from the GUI locations panel
5086   - fix: Makefile should correctly compile targets 'static' and 'byte'
5087   - fix: Add command
5088        MORECFLAGS="-I patches/ocaml-3.06/ -DHEAP_DUMP" make cdk/heap_c.o
5089       to compile with "dump_head" command.
5091 2002/09/28: mldonkey
5092   - fix: incoming connections timeout are now correctly set, and
5093       connections should be correctly initialized.
5094   - fix: 
5095      * With select, you cannot use more than 1024 file descriptors
5096        (otherwise, it segfaults)
5097      * Added poll support, that allows to use more than 1024 fds and
5098         is used by default.
5099   - fix: better control of the number of used fds
5100   - add: message in GUI starter about the 'ask_for_gui' option
5101   - fix: faster sharing of downloaded files (probably present chunks are
5102      checked first)
5103   - fix: Ip.valid check for class D addresses
5104   - add: new option 'verbose_overnet'
5105   - fix: a file name is changed only if it was the MD4 before.
5106   - fix: don't query blocks for Paused files
5108 2002/09/27: mldonkey
5109   - fix: upload improvements
5110      * names are correctly chosen, and sent to the server
5111      * all BUFFER_OVERFLOW due to long file lists have been removed
5112      * after restart, non committed files are still shared.
5113      * bug fixed when shared file list is too long (shortened message)
5114      * the size of the ShareReq message directly depends on the space
5115         available in the server buffer.
5116      * md4s for downloaded files are never recomputed after commit
5117   - fix: force download:
5118      * new contectual menu item "Force Download" in GUI result panel
5119      * "force_download" should now work well
5120   - add: core errors are displayed in the GUI console (maybe the last line
5121      of the console should be displayed in the status bar ?)
5122   - GUI protocol 7 for "force" argument to Download_query
5124 2002/09/27: zoggy
5125    - add : web directory to manage source files of generated mldonkey pages
5126    - change : chat protocol version (-> 1.1) to be able to communicate with
5127         mlchat from Cameleon
5129 2002/09/25: mldonkey
5130   - add: new module common/commonDownloads.ml to share the functions used
5131       in all network where downloads are in one piece.
5132   - fix: mail, chat and file_completed_cmd are used for all finished downloads
5133        not only eDonkey (CommonInteractive.file_complete)
5134   - fix: file_commit now moves the file to incoming/. All networks must now
5135        use the "commit" function, not only edonkey.
5136   - fix: try to save the md4 of each file before sharing it.
5138 2002/09/24: mldonkey
5139   - fix: renewed my passport (6 hours)
5140   - fix: prevent "BAD BAD BAD" lines from removing good sources. Very Important
5141      Bug for your downloads.
5143 2002/09/23: mldonkey
5144   - fix: mldonkey_gui prints a better error message when the hostname couldn't 
5145       be resolved.
5146   - fix: the configure script allows ocaml versions with +n extensions.
5147   - add: new program mldonkey_guistarter to start the GUI immediatly at
5148       mldonkey startup
5149     * New options 'ask_for_gui', 'start_gui', 'mldonkey_bin' and 'mldonkey_gui'
5150     * New option panel 'Startup'
5151   - fix: get_int64 works correctly (no more negative upload counters)
5153 2002/09/22: mldonkey
5154   - fix: udp packets added to bandwidth computation
5155   - GUI:
5156      - add: new option panel for plugins
5157      - add: each plugin defines its own option for the GUI panel
5158      - fix: when gui_poll, don't send options values
5159   - Overnet: 
5160      * No need for servers anymore :), searches and downloads are OK
5161         (but no filter on search results)
5162   - add: lots of debug messages for bandwidth control. 
5163      * I should probably remove from remaining_bytes the size of the
5164         TCP packet header, each time the write/read is OK.
5165      * I should optionnally include the GUIs in the control !
5167 2002/09/21: mldonkey
5168   - fix: removal of out-of-bounds accesses, not supported by Ocaml on 
5169         OSX Jaguar
5170      * added check in ./configure for MacOsX 6.0 to enable CheckBounds
5171      * added -inline 10 for checkbounds to be removed for other archs (5
5172         would be enough)
5173      * added Autoconf.check_string calls in littleEndian.ml and bigEndian.ml
5174   - add: Overnet works for simple queries and sources
5175      * two options disabled by default: overnet_search_keyword and
5176            overnet_search_sources
5178 2002/09/20: mldonkey
5179   - add: OverNet should now be able to add sources to eDonkey downloads
5180      (it is triggered using the "overnet" command). You need peers to
5181      access OverNet: see the end of the distrib/servers.ini file.
5182   - fix: started debugging mldonkey on Mac OS X 10.2
5183      - fix : SIGBUS in telnet "q" command.
5184      - need to check all possible array/string out-of-bounds accesses.
5186 2002/09/19: mldonkey
5187   - add: OverNet support started in donkey/donkeyProtoOvernet.ml and
5188       donkey/donkeyOvernet.ml. Can connect to OverNet peers and learn 
5189       more peers.
5190   - add: new donkey command "import_temp <dir>" to import old files
5191      currently downloaded by edonkey in mldonkey.
5192   - fix: Bug #1052 (buffer overflow warnings when MLdonkey is reading 
5193       my shared files)
5195 2002/09/18: mldonkey
5196   - fix: Bug #420 (Wrong permission on imported files)
5197   - fix: Bugs #421 and #591 (vd: meta refresh use external ip)
5198   - fix: Bug #842 (mldonkey overwrites the modified download.ini)
5199   - fix: Bug #878 (Hidden files are shared)
5200   - fix: Bug #1053 (no warning when overwriting files)
5201       Note: / and \ in names are also replaced by _
5202        Duplicated files get a .2 , .3, etc
5204 2002/09/16: mldonkey
5205   - fix: Bug #432 (same packet is send with the same data)
5207 2002/09/15: mldonkey
5208   - add: GUI
5209       * Display the current upload/download rate in bytes.
5211 2002/09/14: mldonkey
5212   - add: New options in downloads.ini:
5213       * [gui_options_panel] to configure the options that are configurable in
5214        the GUI without modifying the GUI. Fix for Bug #844
5215       * [debug_net] to display more information about low-level network layer
5216   - add: GUI
5217       * New protocol 5 for message [Add_section_option]
5218       * Boolean and filename options have special entries
5219       * More client options in the GUI option panel
5220   - fix: LimeWire
5221       * Correctly display file sources
5222       * No more Unix.write errors due to early disconnections
5223       * More ultra-peers agent types allowed
5225 2002/09/11: mldonkey
5226   - add: CyMeS server directory
5228 2002/09/08: mldonkey
5229   - fix: prevent connecting several times to the same server
5230   - fix: remove_old_servers should work again
5231   - fix: 'vo' command only display one-line options
5233 2002/09/07: mldonkey
5234   - Fix: Removed mldonkey_ suffix from names.
5235   - Add: option 'files_queries_per_minute' and 'files_queries_initial_delay'
5236       in downloads.ini to meet lugdunum master and Smurk UK requests.
5237   - Fix: edonkey private messages should work again.
5239 2002/09/05: mldonkey
5240   - fix: upload tab should work
5242 2002/09/04: zoggy
5243   - add : upstats in the uploads tab
5244         
5245 2002/09/04: mldonkey
5246   - fix: shared files are not shared between all networks anymore (each 
5247      network has its own shared file type).
5248   - add: edonkey protocol files are not hidden anymore
5249   - add: upload per shared file.
5250   - add: new upload messages in GUI protocol 4
5252 2002/09/03: mldonkey
5253   - Soulseek:
5254       * Browse friend and simple downloads should work.
5256 2002/08/30: zoggy
5257   - add : download a whole directory from a friend
5258   - fix : the 'goto <page>' actions, because of the new rooms and uploads tabs
5259   - add : an option to specify if we display sizes with G,M, and k suffixes
5260   - code : moved the servers, downloads and uploads status label to
5261     Gui_servers.pane_servers, Gui_downloads.pane_downloads and
5262     Gui_uploads.box_upstats so they can be updated more accurately,
5263     and not each time a message comes.
5264         
5265 2002/08/29: zoggy
5266   - add :Now display the tree of files instead of just the list of files
5267     for the selected friend (with a new option files_auto_expand_depth)
5268   - add : new added chat room automatically selected
5269         
5270 2002/08/29: mldonkey
5271   - CVS commit on Savannah:
5272       * Ocaml 3.06 is now used to compile.
5273       * donkey/donkey.lam is not distributed anymore with mldonkey.
5274           It should be downloaded as:
5275            http://pauillac.inria.fr/~lefessan/src/edonkey/donkey.lam.SOME_MD5
5276           and copied in the donkey/ directory.
5278           where SOME_MD5 is the contents of the file donkey/donkey.lam.md5
5280           This can be automated by the configure script.
5281   - GUI protocol version 4:
5282       * new message Room_remove_user
5283   - Updates to be sent to the GUI are now stored in common/commonEvent.ml
5284   - Only one GUI can be connected to mldonkey at any given time.
5285   - Soulseek: 
5286       * Join/Leave room works with dialog and user updates.
5288 2002/08/23: mldonkey
5289   - update: ocaml 3.06 should now be used to compile mldonkey without secret/.
5290   - add: GUI protocol version 3 should work for poll.
5291   - Private messages are now received in a special (hidden) chat room,
5292      which is used to send messages to the GUI.
5293   - fix: Gui_columns has been rewritten with functors
5294   - fix: commonChatRoom.ml renamed in commonRoom.ml
5295   - add: room panel now displays both active and inactive rooms.
5296   - add: better SoulSeek support:
5297      * Searches work (no download yet :(
5298      * Join/Leave room works (no dialog yet)
5300 2002/08/23: zoggy
5301   - add : an uploads tab (modules Gui_uploads and Gui_uploads_base)
5302           only the tab for this evening, gotta go sleeeeeeep
5303         
5304 2002/08/22: mldonkey
5305   - gui_proto.ml has been cut in guiTypes.ml (types), guiProto.ml (protocols)
5306      and guiEncoding.ml and guiDecoding.ml.
5307   - Better soulseek support
5309 2002/08/21: zoggy
5310   - fix : memorize the size of the vpane in the friends tab, 
5311           for the chat notebook.
5312           BTW, mldonkey compiled like a breeze will ocaml 3.06 
5313           without patch :-) I let mldonkey change the configure 
5314           script, don't want to disturb ;-)
5315         
5316 2002/08/19: zoggy
5317   - fix : a bug closing two chat boxes instead of one
5318   - add : in chat rooms, try to get the user name and give him
5319           its own color to display his name in the messages
5320   - add : file sizes in downloads and result boxes now displayed
5321           with G(iga), M(ega) or k(ilo) suffixes
5322   - fix : scrollbar added to the chat room boxes, and the text
5323           with the messages is not editable any more. 
5324           Chat rooms on direct connect work, except that kicked
5325           people are not removed from the list.
5326         
5327 2002/08/18: zoggy
5328   - add: chat integrated in the gui; pb with the Gtk Main loop:
5329          the chat window receive no event; will investigate,
5330          or add the chat boxes in a notebook of the friends tab ?
5331          Ok, done. I had to find my way through the not really clear
5332          code of the Gui_proto module. And surprise, the code
5333          indent is really, really bad, making it still more difficult 
5334          to understand...
5335          Yet to do : change and memorize the size of the chat notebook,
5336          but now i gotta go while it is not raining.
5337         
5338 2002/08/16: mldonkey
5339   - add: New command "dd <size> <md4>" originally used by mldonkey_submit.
5340      mldonkey now generates a mlsubmit.reg file that can be used under Windows
5341      to submit ed2k urls to mldonkey (thanks to equinox), and the 
5342      mldonkey_submit file.
5343   - fix: Client files are now stored in a tree in the GUIs.
5344   - fix: Config/config.guess and .sub updated.
5346 2002/08/15: mldonkey
5347   - fix: "set" and "vo" should work on simple options of all networks.
5348   - add: New option "calendar" to execute commands at different hours of day.
5350 2002/08/14: mldonkey
5351   - add: The ./configure script is now able to download, compile and install
5352       locally (not as root) ocaml and lablgtk to be able to compile mldonkey.
5353   - fix: The ocaml-3.05.patch file contains the fix for the memory bug.
5355 2002/08/12: mldonkey
5356   - Olivier and Manu now work on another branch for servers rings
5358 2002/08/10: mldonkey
5359   - Move bigEndian.ml to littleEndian.ml to be correct :)
5360   - Started implementing the OpenFT plugin, using LimeWire plugin code.
5362 2002/08/09: mldonkey
5363   - Client_ip is now always recomputed to avoid keeping an old IP address after
5364    the IP changed (unless force_client_ip is true)
5365   - The md4 is only used to save a file if no other name is available
5366   - Files of new friends are correctly displayed (the client structure in the
5367      friend list was not the canonized one).
5368   - When sighup is sent, all networks are reset (disable/enable). Can be used
5369      after a reset of the DSL connection.
5370   - Removed friends are not kept as Contact any more.
5372 2002/08/08: mldonkey 
5373   - Fixed bug in mldonkey_gui2 preventing removal of downloaded files.
5374   - Number of downloaded files is now displayed in mldonkey_gui. I still
5375      don't understand why so many features of the first GUI have been
5376      removed from the new GUI. Moreover, the object-oriented style makes
5377      it hard to understand and uggly to program. PLEASE, never put objects
5378      in the core.
5380 2002/08/08: zoggy
5381   - fix : extended search button now does not appear any more in the friends tab
5382   - add : the user must confirm before cancelling a download
5383   - fix : window and global variables cleared when disconnected
5384   - fix : Detect disconnection to client in the GUI
5385         
5386 2002/08/07: mldonkey
5387   - Upload statistics are correctly displayed by GUIs
5388   - Upload is now computed in bytes
5389   - Server_state and Client_state messages are used again.
5390   - Fixed bug in TcpBufferedSocket preventing UDP packets from being sent when
5391        bandwidth control is disabled (prevent Extended Searches).
5392   - Fixed bug in Options causing Stack Overflow in convert_list
5393   - Implemented simple form of subscription in server
5394   - Predicate should now work completely in server
5395   - Number of replies to a query limited to 1000
5396   - Fixed bug in mldonkey_gui2 forcing GUI protocol 0
5398 2002/08/06: mldonkey
5399   - Rewritten server code to recognize mldonkey clients
5400   - New GUI protocol 2
5401   - Local search works again
5402   - New subscribe button
5404 2002/08/05: mldonkey
5405   - The eDonkey server now shares the list of servers with the eDonkey client
5406   - An error in the ocaml-3.05 patch has been fixed.
5408 2002/08/02: mldonkey
5409   - Fixed a bug in eDonkey saving sources for files in files.ini
5410   - Fixed a bug in the parsing of server.met files downloaded from the WEB
5411      (there was a "made by ..." at the end !!)
5412   - load_url now supports HTTP 302 redirections
5413   - Fixed a bug to connect to friends at startup
5415 2002/08/01: mldonkey
5416   - Fixed a bug in the GUI protocol version 0
5417   - More fields in commonFile.file_impl. Download rate is computed the same
5418       way for all networks.
5419   - LimeWire download bug fixed (3 mp3s loaded for test)
5421 2002/08/01: mldonkey
5422   - Fixed bug with multiple files displayed in the GUI
5423   - New GUI protocol 1 containing Client_stats
5425 2002/07/31: mldonkey
5426   - Old gui2 compiles normally and works.
5427   - SendMessage (-1, PrivateMessage (num, string)) is used to send a private
5428      message outside any room.
5430 2002/07/30: mldonkey
5431   ********* Ocaml 3.05 should now be used to compile mldonkey ********
5432   - The patch to the ocamlopt compiler is not required anymore.
5434 2002/07/29: mldonkey
5435  - Re-included old gui as gui2/ and mldonkey_gui2. Not yet working. 
5436      Let the user choose until mldonkey_gui is working properly.
5438 2002/07/27: mldonkey
5439  - GUI: 
5440     o Only connected servers are normally displayed.
5441     o New button to display all servers.
5443 2002/07/26: zoggy
5444  - GUI: Extended search button only available in the result box of the 
5445         last query
5446  - GUI : fixed font for the console
5447         
5448 2002/07/24: mldonkey
5449  - Added GUI counter for better protocol compression.
5450  - Removed user_remove function
5452 2002/07/23: mldonkey
5453  - Bug fix in Ocaml weak hash tables
5454  - First file downloaded on DC (yeah !!)
5456 2002/07/21: mldonkey
5457  - Fixed a bug in the GUI protocol
5458  - Improve timers behaviors
5460 2002/07/16: mldonkey
5461  - Upload should be OK in Direct-Connect
5462  - CDDB: research is possible in index. building the index takes at least 
5463      600 Mo of RAM ... maybe some work to compress it.
5465 2002/07/15: mldonkey
5466  - New structure network_info
5467  - Direct-Connect: allow other clients to browse our client
5468  - CDDB: use_tags is able to index a freedb database. take about 300 Mo for
5469     the full indexed database. need to build a server now.
5470  - Donkey: fixed a buf in the protocol that removed shared files from shared
5471      list.
5473 2002/07/14: mldonkey
5474  - New env variable MLDONKEY_DIR
5476 2002/07/13: mldonkey
5477  - More options in alternative networks.
5478  - ./configure script accepts a --disable-multinet option.
5479  - New option -check_impl to display unimplemented methods.
5480  - New behavior for computing the downloaded size in donkey.
5482 2002/07/11: mldonkey
5483  - Upload on edonkey is priviledged, thanks to the upload_power option.
5484     Done by giving more upload to some connections in TcpBufferedSocket.
5486 2002/07/10: mldonkey
5487  - Protocol between GUI and Core completely rewritten. No more Ocaml specific.
5488      Other GUIs are encouraged to move to this new protocol.
5489  - network-specific URLs are supported:
5490      ed2k://|file|...
5491      ed2k://|server|ip|port|
5492      ed2k://|friend|ip|port|
5493      dc://|server|ip:port|
5494      dc://|friend|ip:port|
5495  - Client browsing in Opennap.
5497 2002/07/04: mldonkey
5498  - Better types for result, client, user and file in LimeWire
5500 2002/07/03: mldonkey
5501  - Better Opennap support
5502     - Should no more be 'too many pending searches'.
5503     - Better types for result, client, user and file.
5505 2002/07/02: mldonkey
5506  - Per network options better supported (use "set" command with a prefix).
5507  - One step towards soulseek implementation.
5508  - Started implementing 'disable' methods.
5509  - Using Weak hash tables for all common modules.
5511 *** 2002/07/01: in holidays :) no network access for two weeks ...
5513 2002/06/30: mldonkey
5514  - HE3 compress/decompress code completely working for DirectConnect
5515  - Can download file list in DirectConnect (not display it)
5516  - Client IP correctly detected.
5518 2002/06/29: mldonkey
5519  - Added columns configuration for users in GUI.
5520  - Added message BrowseUser from GUI to Core and user_ops.op_user_browse_files.
5521  - Communication between clients in Direct Connect started.
5522  - User information from Direct Connect displayed in GUI (admin/link/bytes)
5524 2002/06/28: mldonkey
5525  - Fixed several problems in WEB/telnet interface
5526  - Added enable(disable) networks menu in GUI (disable not implemented):
5527      networks can be started from GUI. New message EnableNetwork from GUI.
5528  - Added display networks menu in GUI: servers and results from a network
5529      can be hidden.
5531 2002/06/27: mldonkey
5532  - Started using Weak Hashtbl in common/ structures to avoid memory leaks.
5533  - The GUI displays correctly eDonkey, Open-Napster, LimeWire and DirectConnect.
5534  - Lots of debbugging messages have been removed.
5536 Pre-Release 1.99:
5537   Complete change of the architecture. mldonkey should now support multiple
5538    peer-to-peer networks. Currently, download is possible from:
5540     * Audiogalaxy support: works great (oups, not useful anymore :(
5541      1) Must set 'enable_audiogalaxy' to true in downloads.ini 
5542      2) Start mldonkey. It should create 'audiogal.ini'. If you don't have any
5543         audiogalaxy account, create an account: go on http://localhost:4081/
5544         (if you are running mldonkey on localhost), and create it.
5545      3) Stop mldonkey. Edit audiogal.ini. Set the 'login' and 'password' 
5546          options from your account.
5547      4) Restart mldonkey. Go on http://localhost:4081/ to choose files to
5548          download. 
5550    * LimeWire bridge. works great.
5551      1) Must set 'enable_limewire' to true in downloads.ini
5552      2) It should automatically connect to several ultra peers.
5553      - Recover downloads works
5555    * Open Napster support. Seems to work.
5556      1) Must set 'enable_opennap' to true in downloads.ini
5558    * Direct Connect support. Not working  yet.
5559      1) Must set 'enable_directconnect' to true in downloads.ini
5560      2) You can connect to some hubs and search for files. Download
5561       is not yet working, nor sharing, so that you will probably be
5562       kicked fast.
5564   IMPORTANT:
5565    If you want to test some of these networks, edit the downloads.ini to
5566    enable them. There are a lot of debugging messages (pipe to /dev/null,
5567    don't kill the terminal). Most telnet commmands should work, but it is
5568    not sure. In the GUI, use the File->Settings->GUI->Columns panel and,
5569    for each type of structure, add the Network column to see in which 
5570    network a server or a file is located.
5572   * Improved server implementation (enable_server option). Not working yet.
5573   * Started implementing freedb bridge. Not working yet.
5574   * replace Sys.rename with Unix2.rename (to allow cross-device moves)
5575   * brand new GUI : choice of columns, icons, external chat utility, support
5576         for custom searches. See file ~/.mldonkey_gui.ini for changing icons
5577         and keyboard shortcuts. Searches skeletons are defined in the
5578         searches.ini file in the directory where you launched the mldonkey core.
5581 Release 1.16:
5582   * Compaction forced every 'compaction_delay' hours (default is 2).
5583   * File age computed for files smaller than one chunk. Better downloads for
5584       these files.
5585   * Servers sending extended search results are remembered, and immediatly
5586      asked if their files are downloaded.
5587   * Predicates in Indexer should work in most cases.
5588   * Fixed #100833: new options 'http_bind_addr', 'gui_bind_addr', 
5589      'telnet_bind_addr' and 'telnet_bind_addr'.
5590   * Started implementing 'use_tags', a program to rename mp3s from tags (and
5591       maybe from freedb, someone interested ?)
5592   * New option 'propagate_sources' to allow mldonkey to propagate sources
5593      to other peers. When enabled, send far fewer messages than in 1.15.
5594   * Fixed #100870: WEB interface can be configured through 'html_header', 
5595      'web_common_header' and 'vd_reload_delay'
5596   * GUI buffer size increased. Can be set by 'interface_buffer' in 
5597      ~/.mldonkey_gui.ini
5598   * Fixed bug making mldonkey use 100% CPU for long periods.
5599   * Fixed option name for 'update_server_list'
5600   * New options 'max_sources_per_file' to limit the number of sources for
5601     a given file. One source is removed each time a new source is added 
5602     above this number.
5603   * New command 'id' to display ID numbers for connected servers.
5604   * 'client_buffer_size' set to 500000 by default.
5605   * Fixed bug in ocaml patch that made open_mldonkey never finish downloads.
5607 Release 1.15:
5608   * Started implementing mldonkey_s (eDonkey compatible server)
5609   * GUI:
5610     - Should fit in 640x480 screens.
5611     - Server can be specified by ip:port in Add Server entry.
5612     - Removed some non-tailrecursive functions.
5613   * Core acts now with all (direct) clients as a server to diffuse sources
5614      for files. Indirect mldonkey clients can also receive information.
5615   * WEB interface:
5616     - New option 'customized_searches' that can be used to add new
5617        queries in the WEB interface (see new option file searches.ini
5618        for examples).
5619     - Improved searches (work also in the GTK GUI): 
5620        * In the keyword/artist/title/album fields, a '-' in front of
5621         a word means 'without'. Words separated by
5622         spaces must appear in the reply. 
5623        * In the format field: you can specify several formats, separated by
5624         spaces. A '-' in front of a format means you don't want that format.
5625     - New options 'web_header' and 'web_header_frame' to customize the header
5626        displayed by the Web interface.
5627     - Generate correct HTML with HEAD and TITLE :)
5628     - Downloads can be sorted by name/percent/downloaded/size/rate.
5629     - Paused downloads are correctly displayed.
5630     - Use tables instead of spaces (for non-fixed fonts).
5631     - Added option 'use_html_frames'. When frames are enabled, clicking
5632        on a result to download will only modify the second frame.
5633     - Checklist of downloads and results can be activated/desactivated with
5634       the option 'html_checkbox_file_list'.
5635     - The number of days since the file was last seen complete is now displayed
5636   * Core:
5637     - New option 'file_completed_cmd' for a command which is called when 
5638      a file download is completed with as arguments: 
5639      <filename on disk> <md4> <size> <names on the edonkey networks>*
5640     - Started moving local indexation from mldonkey to an auxiliary program,
5641      controled by options 'local_index_find_cmd' and 'local_index_add_cmd'.
5642      See the 'Using auxiliary programs for local indexation' section in
5643      the help (in progress, doesn't work).
5644     - New command line option -client_ip that can be used to force the
5645      IP used by mldonkey (if you have a firewall). Be careful with
5646      dynamic IPs.
5647     - Delay between md4 computation can be set by 'compute_md4_delay' option.
5648      Chunks downloaded improve to reduce long md4 computations.
5649   * Most problems with ed2k:// links should be fixed (/ at the end, and
5650      spaces in the middle). MLdonkeySubmit is distributed for Konqueror users.
5651   * Improved implementation of indexation. Documents description are
5652      stored on disk. Different choices of indexation.
5653   * Server black list: 'bs <ip1> <ip2> ...' in console to add IPs to the
5654     server blacklist. Servers on this black list are eventually removed,
5655     and will never be added again.
5656   * New option 'master_server_min_users' that prevent mldonkey from remaining
5657      connected to a server with too few users.
5658   * New option 'dont_update_server_list' to disable automatic update of
5659      server lists.
5660   * Telnet interface: 
5661      - New command 'remove_old_servers'
5662   * New (less-aggressive) management of sources:
5663      - New option 'max_source_age' (in days) to remove old sources.
5664      - New option 'max_clients_per_second' to prevent bursts of connections.
5665   * Faster computation of md4s for i486/i586/i686 Linux systems.
5666   * Fixed bugs:  
5667    - #100662: only valid server IPs are accepted.
5668    - Use IP returned by getsockname instead of the one from gethostbyname.
5669    - #100761: new option 'update_server_list' to choose whether you want 
5670      mldonkey to automatically add new servers to your server list.
5671    - Fixed bug preventing sharing of in-download files after restart.
5672    - Fixed bug making history.met always increase.
5674 Release 1.14:
5675   * Bandwidth is now controled by the 'max_hard_download_rate' and
5676       'max_hard_upload_rate' options. Old rate options are obsolete.
5677   * All simple options can now be set by arguments on the command line (use 
5678      -help to show arguments).
5679   * Bug fixes:
5680     - Removed non-tailrecursive function in options.ml causing segfault when
5681        loading files.ini.
5682     - Connected clients without names in GUI should not appear anymore.
5683     - Remove 2 minutes timeout for queued clients.
5685 Release 1.13:
5686   * Annotations on files in file 'comments.met'. Commands 'comments <filename>'
5687     to load a file, and 'comment <md4> <comment>' to add a new comment.
5688     Such comments could be downloaded from web sites (sharereactor.com).
5689   * New option 'web_infos' and new command 'add_url' on console: allow
5690     to download a file from the WEB automatically everyday (or less 
5691     frequently). Currently, only server.met and comments.met files are
5692     supported.
5693   * GUI:
5694      - New config file in $HOME/.mldonkey_gui.ini with GUI options
5695      - colors added in lists (see .mldonkey_gui.ini)
5696      - Layout is saved.
5697      - File locations are updated.
5698      - Improved protocol to decrease bandwidth
5699      - Comments are displayed in searches, and can be added in contextual menu.
5700      - Shortcuts can be configured by options.
5701   * Mailer accept non-canonnical addresses.
5702   * Option 'verbose': '#' for download, 'U' for upload, and other messages.
5703   * When possible, find extra names for files in history.
5704   * Console:
5705       - New command 'close_fds' to close all open files, to free space on disk 
5706         after remove.
5707       - New command 'pause' and 'resume' to pause and resume downloads (use
5708          arg 'all' to apply to all files).
5709   * Some control on how many connections can be opened per minute.
5710   * Better scheduling of compaction (new option 'compaction_overhead')
5711      in both core and GUI that caused delay when exiting.
5712   * Bug fixes:
5713     - Remove block change causing many 'exceeding block boundaries'
5714     - history.dat changed to history.met, using more secure marshaling.
5715     - OVERFLOW with GUI should not appear anymore.
5716     - Compaction makes GUI memory usage better.
5718 Release 1.12:
5719   * Bug fixes:
5720     - Remove error 'bad file descriptor' when saving files.
5721     - Remove possible infinite loop in upload function.
5723 Release 1.11:
5724   * Option 'shared_directories' to specify other directories where files to
5725    share can be found.
5726   * Setting 'telnet_port', 'http_port' or 'gui_port' to 0 disables the
5727       corresponding access.
5728   * Console: 
5729    - Sort results by size in vr.
5730    - When 'd' fails with Already_done, you can use 'force_download' to force
5731       an already downloaded file to be restarted.
5732    - New command 'dllink' taking an ed2k URL to download as argument.
5733    - Command 'set' can be used to set the allowed_ips option:
5734        set allowed_ips '127.0.0.1 128.91.255.255' 
5735      255 is for networks.
5736    - shorten names in 'vd' output (see 'max_name_len' option). 
5737   * WEB:
5738    - New Cancel links in 'vd' output.
5739    - New 'Complex Search' link in interface.
5740    - 'View Options' output can be edited to modify options.
5741   * GUI:
5742    - The GUI tries to connect to the core every second until it succeeds.
5743    - Corrected MD4 columns
5744    - In search panel, 'Max hits' combo set the maximal number of replies
5745       per server.
5746   * Bug fixes:
5747    - Don't add twice the incoming dir to shared file names.
5748    - Cross-partition moves fail, but filename is renamed in temp dir.
5749    - Limited open fds for files to 50 (doesn't limit shared files
5750        and downloaded files).
5751    - Execute entry on WEB interface always displayed.
5752    - Removed a timeout closing all client connection after 2 minutes.
5753    - Shared files are opened in read-only mode.
5755 Release 1.10:
5756   * Default timeout for server connection set to 5 for faster connection.
5757   * Options are now divided into four configuration files: downloads.ini,
5758       servers.ini, friends.ini and files.ini.
5759   * Console: better display of downloads.
5760   * Verification of IP addresses for admin ('allowed_ips' option).
5761   * WEB interface: added pragma no-cache. 
5762   * Keep checking servers in the background.
5763   * GUI: Auto-resize is now delayed. Default selection
5764      mode is EXTENDED. Contextual menu items to switch between
5765     auto-resize/manual resize and EXTENDED/MULTIPLE selection.
5766   * Send a mail when download is finished. You must complete the
5767     'smtp_server', 'smtp_port' and 'mail' options.
5768   * Bug fixes: partial page in WEB interface fixed (often with vr).
5769       Removed two minutes timeout on good client connections.
5770       NoSpaceLeft causes pause in download.
5772 Release 1.09:
5773   * Bug fixes: fixed bad md4 computation of the first chunk, preventing
5774      completion of downloads.
5775   * New command 'recover_temp' to recover all lost files from the temp
5776      directory.
5777   * See  http://www.freesoftware.fsf.org/mldonkey/ for porting mldonkey on new OSes.
5779 Release 1.08:
5780   * Remove use of the 'mmap' system call.
5781   * Better management of delays between connection attempts.
5782   * Local searches use minsize/maxsize information.
5783   * More information on availability on WEB/console interface.
5784   * Small improvement in MD4 computation. Shared files MD4s are saved in
5785      a 'shared_files.ini' file to avoid computating them again.
5786   * Filters on replies: set the 'filters' option to a string containing
5787      sub-words you want to remove, separated by spaces.
5788   * Maximal download rate can be specified in 'max_download_rate' option.
5789    (need probably to be rewritten more carefully).
5790   * Bug fixes: files greater than 9mb in incoming/ can now be shared,
5791       ftruncate replaced by lseek (for vfat FS), multiple connections to
5792       the same client fixed.
5794 Release 1.07:
5795   * Exchange of sets of sources between mldonkey clients.
5796   * Started implementing chat between friends.
5797   * GUI allows adding friends by specifying IP and port. New 
5798      'Connect friend' menu. Better properties of files.
5799   * New menu item 'preview' in GUI, associated with option 'previewer'.
5800   * New menu 'Select All' in lists.
5801   * Bug fixes: in mp3 tags edition, in connected servers count, in
5802     displaying friends files, in passive connections.
5804 Release 1.06:
5805   * History of seen files. New commands: 'ls' for local search on the history,
5806     of search on servers, 'clh' for clear local history. New options: 
5807     'use_file_history' to allow history on files, 'save_file_history' to
5808     save the history on disk. For now, search only by words (not size).
5809   * Authentification by the 'auth' command on the telnet client.
5810   * Bug fixes: servers disconnected viewed as connected.
5812 Release 1.05:
5813  * UDP protocol implemented: extended searches to all servers.
5814  * Improved HTTP interface (port 4080).
5815  * Limitation on minimal upload dropped to 1 kB/s.
5816  * Fixed bug preventing queries on multiple words.
5818 Release 1.04:
5819   * Improved WEB interface (download files by clicking).
5820   * Stats on upload.
5822 Release 1.03:
5823   * Upload can be disabled temporarily, if your client has been running long
5824    enough.
5826 Release 1.02:
5827   * max_upload_rate is not modified automically anymore.
5828   * command-line client available from the GUI.
5830 Release 1.01:
5831   * New command 'set' in command-line client to change options values
5832   * Command-line client accessible from the GUI or any 
5833    WEB browser (at http://localhost:4080/)
5835 Release 1.00:
5836   * Upload/download works
5837   * Friends works
5838   * Complex queries works
5839   * Command-line interface works
5840   * Graphical interface works
5841   * Import old config works