ChangeLog ========= 2003/05/26: Fabrice (release-2-5) Stable release 2.5 2003/05/26: Simon (release-2-5-rc3) - Fasttrack: * Reduce client_name to 32 characters * Stop computing useless SHA1 hashes (inherited from Gnutella copy/paste) 2003/05/26: Simon (release-2-5-rc2) - GUI: * Plugins sorted in config panel - Fixed bug adding one file several times in 'old_files' 2003/05/25: Simon (release-2-5-rc1) - Applied patch #1523, #1527 - Fasttrack: * Limitation on the number of simultaneous sources for a file - Fixed major file corruption bug when using 'buffer_writes' in bittorrent, fasttrack and gnutella. 2003/05/24: Simon (release-2-4-6) - Mac OS X: * Fixed a compilation problem - GUI: * Fixed the problem with servers appearing as New Hosts - Plugins initialized in the correct order (no downloads restarted at 0%) 2003/05/23: Simon (release-2-4-5) - Fasttrack: * Ask for a range only after the connection has succeeded * Support for Complex queries * Works on PPC now - Bittorrent: * Force flush with "buffer_writes" option before Sha1 computation - Applied patches #1512, #1513 2003/05/21: Simon - Applied patch #1510 - "set enable_... true/false" should now immediatly trigger the network (before that, a restart was necessary) 2003/05/20: Simon (release-2-4-4) - Bug fix: the bug causing too many open file descriptors and pausing recovered files maybe fixed. - Gnutella: * Fixed problem with \r in GWebCache - Fasttrack: * sig2dat:// links added * Automatically replace spaces in client name by _ - Searches can be limited to particular network (bug fix in GUI) 2003/05/19: Simon (release-2-4-3) - Applied patch #1503 - Fasttrack: working good now :) * Use HTTP/1.0 (really necessary ? probably not) * Recover sources for files * Reconnect to good sources immediatly * Ask longer ranges - Gnutella2: * Added number of leaves per ultrapeer 2003/05/18: Simon (release-2-4-2) - Applied patches #1476, #1477, #1479 and #1481 - FastTrack: * Can look for new sources - Added mldonkey/tools/pandora/ to help understand protocols 2003/05/14: Simon (release-2-4-1) - FastTrack: first try, far from complete, only for x86 !!! * Copy of gnutella/ plugin architecture to fasttrack/ * Cipher C stubs available from Ocaml * Connection to main server: OK * Connections to ultrapeers: OK * Simple Searches sent: OK * Results received: OK * Downloads: OK, no recover yet - Config: copy old downloads.ini to downloads_expert.ini and donkey.ini if the latter ones are absent 2003/05/10: Simon (release-2.4-0) - BitTorrent: * Fixed a bug making mldonkey use 100% of CPU when misbehaving clients send thousands of Have messages * New option 'delete_original' to get rid of the old file when splitting is successful - Gnutella2: * Enabled by default when Gnutella is enabled * XML tags correctly added to results - GUI: * Added 'New Server' button - Searches: * Added the ability to choose the network for each search - Options: * Fixed bug with options that couldn't be changed anymore in WEB interface - Update ed2k_mozilla/mldonkey_protocol_handler.xpi to version 1.2 2003/05/09: Simon (release-2-4-rc12) - ed2k_hash: computation false for multichunks files, fixed. - Gnutella2: * Reply to QKR * Reply to Q2 for URN requests * Limit downloads to 5 slots (max_available_slots option in gnutella.ini) * Support HTTP/1.1 upload, and /uri-res/N2R?urn:sha1: queries - Options: options have been splitted in different files: 'downloads.ini' : most simple options 'downloads_expert.ini' : options for experts 'donkey.ini' : simple options for edonkey 'donkey_expert.ini' : edonkey options for experts 2003/05/08: Simon (release-2-4-rc11) - RPM: new Makefile rule 'rpm' to build rpms for mldonkey - Gnutella: * Use both keyword and uid searches to recover files * Make a recover search at download startup (next one every hour) * Compiled only if Zlib is available * Gnutella2 support working (no upload yet... for sunday). To try, set enable_gnutella first to true, then set enable_gnutella2 to true in the gnutella plugin (and maybe enable_gnutella1 to false...) * Remove hosts older than 3 hours - Donkey: * Keeps pending messages to clients - ftruncate64 implementation rewritten - GUI: * options panels are not options anymore * Protocol version 15: * ForgetSearch is replaced by CloseSearch which takes 2 args and opcode 53 2003/05/07: Simon (release-2-4-rc10) - Applied patches #1459, #1460 and #1462 - Soulseek: * New option 'servers', with mail.slsk.org:2240 by default - GUI: * Only send modified options 2003/05/05: Simon (release-2-4-rc9) - eDonkey: * Added ed2k_hash to the distribution (use 'make ed2k_hash' to compile) - Options: * List parsing should be tail recursive now - Gnutella1/Gnutella2: * Better management of hosts * More aggressive with QKR queries - DNS: correctly handle names starting with numbers (bittorrent URLs for example) 2003/05/02: Simon - Gnutella2: * Fixed defragmentation * Fixed QH2_H_DN message 2003/05/01: Simon (v release-2-4-rc9) - Gnutella: * Added GGEP extensions to PONG messages * Added Bye-Packet support 2003/04/30: Simon (v release-2-4-rc8) - Applied patch #1432 - Gnutella: * COBS implemented and incoming GGEP * Some Vendor-Messages * More headers understood - BitTorrent: * Better control of max_opened_connections * More Aggressive lifetime for connections (10 minutes without downloads) 2003/04/26: Simon - Applied patches #1427, #1428 2003/04/24: Simon - Applied patch #1424 - Changes in 64bits system calls - Gnutella: * Bug fixes: HTTP return code is correctly tested 2003/04/23: Simon (v release-2-4-rc6) - Applied patch #1402 - Prevent exceptions from raising from calls to lprintf - Fixed bug in Unix32 causing error with file descriptors (and maybe file corruption) - BitTorrent: * Commit directories in multiple files 2003/04/22: Simon (v release-2-4-rc5) - Gnutella: * Old host discovery system doesnot work anymore. Implemented GWebCache system * Option prefix set to GNUT - Updated to use ocaml-3.06+27 which should support all Mac OS X versions - Applied pango's patches: 88_login_missing_in_gui, 89_better_xs_messages, 90_limit_indirects - Applied patch #1397 (upload priority) - Bittorrent: * Fixed problem with never finishing downloads - Driver: * Fixed problem with availability display - Gnutella: * Don't use 'Accept:' header for gnutella1 hosts, since most of them refuse the connection 2003/04/20: Simon - Complete reorganization of source tree - GUI: exit uses CTRL-q instead of CTRL-e 2003/04/19: Simon (v release-2-4-rc4) - Applied patch #1393, #1395 - Gnutella2 (not yet working): * Encoder/Decoder tested successfully on real shareaza recorded stream * Some handlers 2003/04/18: Simon - Applied patches #1389, #1391 2003/04/17: Simon - Changes in Makefile: * Compile only mlnet and mlnet+gui * mldonkey_gui is renamed in mlgui * mldonkey_gui2 is renamed in mlgui2, and not compiled by default * Added target 'install' (use --prefix configure option). * Create mldonkey, mlslsk,... as links to mlnet * Create mldonkey_gui as a link to mlgui - Fixed generated mlsubmit.reg - Donkey: * last_high_id is only changed if option use_server_id is set 2003/04/16: Simon - Changed version number to 2.4-rc4 - Bittorrent: * More aggressive reask delay of 2 minutes * Improve detection of end of download - Removed Sha1 and Tiger assertions in md4.ml, but set a flag when computation failed. 2003/04/15: Simon (v 2.04rc3) - CommonUploads: changed a bad comparison in download_engine - Applied patch #1385, #1387 - Bittorrent: * Fixed a bug that prevented the download from starting in some cases * Any client from which some bytes were downloaded obtains immediatly an upload slot * Can send several requests at once when enough bw is available 2003/04/14: Simon (v 2.04rc2) - Donkey: more accurate when asking for slots 2003/04/13: Simon - Applied patches #1377, #1379 and #1382 - BitTorrent: * File Pause/Resume * More checks to detect download termination - Limewire plugin renamed to Gnutella 2003/04/08: Simon (v 2.04rc1-15) - Applied patch #1372 (= #1373 I hope) - Tiger: try to prevent Bus Error bugs on Solaris by aligning the buffer - BitTorrent: * Verify file before commiting * Properly cancel files - Unix32: flush buffers before closing files - Donkey: connections have now a lifetime of 20 minutes at the beginning, increased when receiving important messages (upload, download). Connections above max_opened_connections have only 1 minute 30 to life. Might improve the limit on the number of connections. 2003/04/07: Simon (v 2.04rc1-14) - Fixed bug with client_uid option in mlnet. - Applied patch #1370 - BitTorrent: * fixed problems in URLs when contacting tracker '+' -> '%20' * Update Downloaded chunks in interface * Resent chunks queries on Unchoke (correct ?) - Gnutella: Send urn:sha1: when available in QueryReplies 2003/04/06: Simon - Applied pango's patch 87_preview_from_all_interfaces - Remove Queries page from GUI menu - Applied patch #1366 2003/04/06: Simon (v 2.04rc1-13) - BitTorrent: almost complete implementation, still to test Current Restrictions: * No support for multiple files in one file (open files.ini, you will find the positions of the sub-files there) * No support for releasing files But upload WORKS correctly - Lot of code has moved, need some more testing before stable 2.04 2003/04/04: Simon - LimeWire Plugin: * GUID fixed - Some C warnings removed - Moved donkey/ upload code to common/commonUploads.ml to be used by other plugins - Fixed Tiger Tree function on BigEndian platforms 2003/04/03: Simon - Fixed bugs #3079 and #3080 :) - New common/commonSwarming.ml module to handle swarming for all networks that support it. - LimeWire Plugin: * Swarming possible, not completely tested * More headers understood: X-Gnutella-Alternate-Location, X-Gnutella-Content-URN, Remote-IP 2003/04/01: Simon (v 2.04rc1-12) - Fixed per user Column Sorting in HTTP interface - Fixed bug #3003 :) - Fixed Filepath.path_to_string so that "" becomes [], and not [""] that makes mldonkey shares its own directory. - Implementation of Tiger trees correct for files < 1 MB - Lots of changes in Unix32 - Applied patch #1340 - Limewire Plugin: probably lots of bugs, many changes * Gnutella2 support started: * Handshakes * Protocol Encoding/Decoding not tested * UDP socket * Support for Magnets and HUGE * Different results if different UIDs, requests for files by UID - Applied pango's patches: 85_ip_from_highids, 86_priority_patch 2003/03/26: Simon - CommonHasher: implemented asynchronous hashing of files using sha1. - Applied patch #1324 2003/03/24: Simon (v 2.04rc1-11) - Fixed compilation problem of md4_c.c and md5_c.c 2003/03/23: Simon (v 2.04rc1-10) - Gnutella/Limewire: * Upload tested successfully with gtk-gnutella * Push message understood (danger: unlimited number of connections) * Added computation of sha1 digests in Md4 module, digests of shared files are not yet computed. - Bug fixes: * Bandwidth should be displayed correctly in WEB interface: the control_ bandwidth should be displayed instead of tcp_ which includes interfaces. * Filename: assert failure removed - Applied patch #1320 2003/03/22: Simon (v 2.04rc1-9) - Bug fixes: * log_file with -daemon option * pending slots should only contain connected clients - Applied patches: * pango: 71_upload_slots_dynamic_allocation 81_implicit_dllink_ovlink_commands 83_hide_upload_slots_round_robin * Savannah: #1315, #1319 2003/03/21: Simon (v 2.04rc1-8) - Fixed config/Makefile.in to compile static binaries - Bug fix: don't close stdout when a log_file is provided 2003/03/20: Simon (v 2.04rc1-7) - Build libraries before building executables - Applied patch #1300, #1302, #1303, #1307 - Use file_add_downloaded in all plugins: display correct download rate 2003/03/19: Simon (v 2.04rc1-6) - Applied patch #1297, #1298 - New command 'rename' - New option 'minimal_packet_size' - TcpBufferSocket: use 'minimal_packet_size' instead of 'ip_packet_size' - Modifications in Unix32 to abstract operations on big files. Next step: filesystems that don't support sparse-files (Windows) - 'auto_commit' is not done immediatly, but tested every minute - Bug fix: Paused files were caused by Printf.printf and print_newline with stdout closed (or terminal killed). Replaced by lprintf and lprint_newline. 2003/03/19: Simon - MinGW port: * Unix.write limited to 16 kB. 2003/03/19: Simon (v 2.04rc1-5) - MinGW port: * Support for non-blocking sockets * New file .depend.mingw for dependencies under MinGW * If an error appears compiling mlnet, try "make mldonkey" - Applied patch #1294 2003/03/18: Simon (v 2.04rc1-4) - Applied patches #1271, #1272 - New experimental options 'buffer_writes', 'buffer_writes_delay' and 'buffer_writes_threshold' to buffer writes to decrease HD usage. - Applied pango's patches: * pango, don't forget that you should modify config/Makefile.in and not only Makefile. 51_new_chunks_scheduling 62_wait_for_id_before_publishing 77_reliable_sources 80_file_received_file_downloaded 2003/03/15: Simon - New command 'calendar_add' to add a command to the calendar - Remove dependency to Zlib in LimeWire/eDonkey 2003/03/14: Simon - Applied patch #1266 - Fixed Challenge, so that it does not depend on Ocaml version 2003/03/13: Simon (v 2.04rc1-3) - Applied patch #1263, #1264 - Fixed bug with allowed_commands option 2003/03/12: Simon (v 2.04rc1-2) - Applied patch #1259, #1261, + pango: 01_more_blocreq_checks, 08_better_default_parameters, 60_no_emule_quota, 78_lugdunum_pings_fix, 79_auto_commit 2003/03/11: Simon (v 2.04rc1-1) - New changes for Emule compatibility. - Added option 'log_file' in downloads.ini 2003/03/10: Simon (release-2-04rc1) - Changes in replies to Emule AvailableSlot - Applied patches #1250, #1251 - Terminal mode: recognize Window size when possible (rfc 1073) - Upload queue has been cleaned. Doesn't work as a fifo anymore. 2003/03/10: Release 2.03, We are forced to release a new stable version a bit earlier than expected, due to problems with old clients accessing savannah at startup. Compared to the 2.02 release, this new release provides: * Better Emule compatibility * New improved sources management (fewer sources, but better sources) * Improved interfaces: * new WEB interface (use html_mods option to use the old one) * some colors in terminal (use term_ansi option to disable) * new external searches in the GUI 2003/03/10: Simon - Fixed 0 upload bug :) 2003/03/06: Simon - Debug: new commands 'debug_client ' to see messages exchanged with those clients, and 'clear_debug' to clear the debug table. - New option '-daemon' and new command 'daemon' to run mldonkey in daemon mode. - New commands 'log_file ' and 'close_log' to log output to a file. - New command '! ' to execute a system command from the interface. The command must have been defined in the option 'allowed_commands' as the symbolic name for another command. You cannot pass arguments, only those associated with the command in 'allowed_commands' are used (default example: df) - New multi-user system: * Options 'password', 'http_login' and 'http_password' have been replaced by one option 'users', that should not be edited manually (to reset, remove it completely), since the passwords are encrypted in config files. * The default user is 'admin'. He should not be removed. He is the only one who has the right to add new users. Default password is "" (empty) * 'auth ' is used to change the user in a console/GUI session * 'add_user ' is used to add a user, or change the password associated with it. Only 'admin' is allowed to use this command. * Searches are now displayed per user. All other views are shared between users. - Bug fixes: * Bug in GUI proto 7..13, where force param of Download_query was sent with bad opcode. - Links to the WEB server of savannah have been banned: in web_infos and network_update_url. The redirector is temporarily used to provide this information. - Telnet interface: * ANSI escape sequences: option "term_ansi", command "ansi true/false", to activate/disactivate colors on terminal * Command "term " for prompt on last line, until I remember how to detect terminal size automatically. - New option 'max_concurrent_downloads', and new state Queued for files being downloaded. Only the 'max_concurrent_downloads' files with highest priority are really being downloaded, other files with lower priority are waiting. - Limewire/Gnutella: * Correctly send the QRT table to ultrapeers * Almost able to reply to searches - GUI: * Upload tab: new button "Add Shared Directory" - Applied patches #1247, #1228, #1235, #1242, #1248, #1232 - Bug fixes in eDonkey: * 'peer_ip' is only called if reliable_sources is activated * A client cannot appear twice in the pending slots queue 2003/03/05: Simon (v 2.02-29 next release: monday) - IMPORTANT Bug fixes (thx pango): * Corrupted blocks are removed * Re-order arguments when computing md4 with threads -> all your shared files hashes will be recomputed :( 2003/03/05: Simon (v 2.02-28) - Bug Fixes: * 'vr' should not raise Exception in String.sub, fix in result_format_of_name - Direct-Connect: use async DNS by threads when available - Applied patches #1226, #1227 from Savannah - Options: some memory improvements (clear unused initial options, avoid building intermediate data structures) 2003/03/04: Simon (v 2.02-27) - Bug fixes: * 'log' command correctly set the size of the log (otherwise, an exception is raised... and no GUI can connect for eg) 2003/03/04: Simon (v 2.02-26) - Applied patches #1219, #1220, #1221, #1222 - Redirection of output to a log: * Only startup messages are sent to stdout * New argument -stdout for all messages to be sent to stdout * New commands: 'log' to see the last non-printed messages, 'stdout ' to enable/disable messages to stdout again. 2003/03/03: Simon (v 2.02-25) - Source Management: * Query files every min_reask_delay even when already connected * Removed the 2 queues for really bad files - Emule compatibility: on disconnect, file queries are stored if a JoinSlot message was sent, and reused if an unrequested AvailableSlot message is received (to be tested). - Duplication of similar chunks between files (the next step should be to only download one of these chunks) tested every 5 minutes - Applied patches #1203, #1204, #1210 and #1215 - Applied patch 77_trusted_sources, activated by option 'trusted_sources' - New option 'max_indirect_connections' to limit the number of incoming connections. - New command 'options' to print options by section 2003/03/02: Simon (v 2.02-24) - New commands 'share ' and 'unshare ' to manipulate shared_directories - Applied pango's patch 71_upload_slots_dynamic_allocation, controlled by option 'dynamic_slots' (false by default) - Applied patch #1199 - Bug Fixes: * Computation of guptime * Dropping all sources of files when too many sources * Mailer that don't accept the <..> addresses (new option 'add_mail_brackets') - Added detection of similar chunks between files, not used yet - Applied patch #1200, with option 'filename_in_subject' - Source Management: * Changed default for min_reask_delay to 600 seconds * Two new queues, one for good clients (every 10 minutes), one for bad clients (every 6 hours) 2003/03/01: Simon (v 2.02-23) - Bug fixes: * stats should be correctly saved * sources above max_sources_per_file should be correctly removed * IMPORTANT: JoinSlot message should be sent correctly again at each connection - Gui: added a "Scan Ports" command to autodetect core port. Be careful, it can trigger intrusion detection softwares ! It is partially asynchronous, so that the replies may appear several seconds after the function returned. 2003/02/28: Simon (v 2.02-22) - eDonkey: respect max_sources_per_file - Applied patch #1198, stats saved as options in 'stats.ini' - Added link to French forum on main WEB page 2003/02/26: Simon (v 2.02-21) - eDonkey: * Save hashes of commited files in shared_files.ini to remove rehashing commited files on startup * Remove / after the md4 in ed2k links * Full-Chunks SUPPORTED - Applied patch #1185 - Applied pango's patches: 63_revert_optimize_chunks_display 65_fix_file_unbound_argument, 66_fix_ocl_parsing, 67_can_download_from_uploaders, 70_fix_duplicates_in_pending_slots_fifo 74_emule_protocol_version Comments on patches not applied: * 73: should not use Weak.t but remove the client when disconnected. * 58: not sure what it does exactly * 60: emule quotas remain until full-chunk is fixed * 69: no full-chunk until we and edonkey can support it * other ones (51, 68, 71, 72): touch the internals of the sensible upload/download engine. need more time to check - Fix: correctly cache IPs in Ip.async_ip 2003/02/25: Simon (v 2.02-20) - Applied patch #1174, #1177, #1178 - With threads, asynchronous DNS resolution of urls - GUI: ed2k links directly saved to selection, but doesnot work yet - eDonkey: * Try to work around the incoming Emule connections sending an immediate AvailableSlot * Inverted 2 shared/commit lines in CommonComplexOptions.file_commit to prevent rehashing of downloaded files - ./configure: Improved pthread support 2003/02/25: Simon (v 2.02-19) - Fixed Makefile for pthread library 2003/02/24: Simon (v 2.02-18) - eDonkey: * Fixes: good sources dropped - Limewire: * Implementation of Query Routing 0.1 - Applied patches #1169, #1173 - ./configure: use option -enable-pthread-lib=pthread, or whatever, to enable use of threads 2003/02/22: Simon (v 2.02-17) - GUI: new application mldonkey_installer'. Guess its goal. Need -enable-devel in ./configure . Not working yet. - Applied patch #1165, #1164, #1161 2003/02/21: Simon - eDonkey: * Removed slot reserved for mldonkey2 * Added some UDP messages for Emule (not yet used) - Applied patch toggle_browse_share by Martin - Applied patch #1151, #1152 and #1156 pango's ones: 59_fix_gui2_compile_warning 61_remove_zone_present_field, 62_telnet_use_interface_buffer 63_optimize_html_mods_chunks 64_html_mods_upstats_links - Fix: 'uploaders' command only prints connected clients. - ./configure: new option -enable-pthread, if you want to compute some md4s in another thread. 2003/02/20: Simon (v 2.02-16) tag unstable-2-02-16 - Applied patch #1137: new html_mods - Added some options in 'vo': client_name,allowed_ips,client_ip, force_client_ip - ./configure: * If no native code compiler is available, compile in bytecode (HPPA) * New option -disable-gui - Protocols: * Overnet: Fixed message 27, removed message 33 * eDonkey: added message 92 * Try to print the IP:port for unknown packets - Net: mtu changed to 1500 2003/02/19: Simon (v 2.02-15) - Applied patch #1136: better mail output - Applied patch adding "rem" command - Applied patch #1128: Adding chunk_width edit option - Applied patch #890: FakeCheck link - Donkey: * Try to recover direct address from connecting client * Try to ask good connecting clients to reconnect (either by tcp or udp) 2003/02/19: Simon (v 2.02-14) - Bug fix: vd (patch #1135) 2003/02/18: Simon (v 2.02-13) - Upgraded to lattest html_mods - GUI: * You can now pass the full path to a file filled with urls (ed2k://) in the ed2k:// entry 2003/02/18: Simon (v 2.02-12) - fixed bug exiting on set_request_result not found. 2003/02/18: Simon (release unstable-2-02-11) - DonkeyServers: fixed a bug with socket Lifetimes - Fixed bugs in gpattern and vm commands 2003/02/17: Simon (release unstable-2-02-10) - DonkeySources3: new source management (use 'sources' command for info) * Increased default max_clients_per_second to 30 * Removed ban on rank > 500 - Applied last html_mods patch. Does not work well on my Mozilla version. So, disabled by default (activate with html_mods = true). WEB Messages have been changed, so that foreign translations are not ok anymore. - DonkeyServers: query more files before deconnection from clients. 2003/02/15: Simon - GUI: * Added small icons (used by default) - Core: * better chroot support * set shell variable MLDONKEY_CHROOT=/dir if you want mldonkey to chroot itself in /dir. mldonkey must be started as root (or setuid) and should drop its priviledges using run_as_user/run_as_useruid. * added option 'run_as_useruid'. The directory where mldonkey will save its files must be writtable by this user, and the incoming directory too (recall: options can be set on the command line: #root> /usr/local/bin/mldonkey -run_as_useruid 502). 2003/02/09: Simon - GUI: * New query tabs: "ShareReactor Search" and "Jigle Search" * More options in "FreeDB Search" tab - Ip: DNS queries are now always cached. 2003/02/07: Simon - Applied patch #1079 (fragmentation) - DonkeyOvernet: * Keyword store completely rewritten * Remove keywords older than 1 hour 2003/02/06: Simon - GUI: * New query tab "IMDB Search" 2003/02/05: Simon - Applied html_mods patch 2 from Mike Jones - GUI: * New query tab "FreeDB Search" 2003/02/04: Simon - Ported to Ocaml CVS version: 3.06+21 is required on Mac OS X. Downloads are done from Savannah for 3.06 and 3.06+21 - GUI: * New message CleanTables sent every 30 minutes to the GUI to clean source tables. - DonkeyProto: closer to Overnet 0.44, still some information missing A client browse trace is available in DonkeyProtoClient.ml 2003/02/03: Simon - WEB interface: applied patch html_mods - Applied patch 1053 (separated blocks in GUI) - GUI: * moved column popup on right button 2003/02/01: Simon - GUI: display rank when possible 2003/01/30: Simon (tag unstable-2-02-9, and good week-end) - Net: attempt to take into account TCP/IP packets size in bandwidth control. Seems to work better - GUI: * Change file priority in GUI * New option 'downloads_up' to permute downloads/downloaded * Click on column titles to sort/add/remove them - Donkey: * Ask files from server in decreasing priorities order * Should be able to import Emule .part.met files - Mailer: patch from applied 2003/01/30: Zoggy - Changed The License of okey, configwin, mp3tag and mlchat to GPL - one tab per list in the column configuration tab (gui/settings) 2003/01/28: Simon - GUI: * new protocol 12 * New state "Queued out" for sources * New state "Aborted " for files * Some items copied from the "downloaded" contextual menu to the "Downloading" contextual menu - Donkey: * Sources Management a la 2-02-5 updated (next time, choose your source management depending on an option ?) - Overnet: * New option "enable_overnet" (true by default), accessible from GUI Settings 2003/01/26: Simon (tag unstable-2-02-8) - Added bundle binaries (core + gui with communication via FIFO) to ease use of alternative networks (mldc+gui, mlslsk+gui, etc). - Donkey: * FIX: connections to Overnet * Updated 'cs' command * FIX: seens in stats replaced by successful connections - Console: * 'mem_stats' prints a bit more info (not yet enough) 2003/01/25: Simon - Direct-Connect: * FIX: Active searches don't work, go back to passive 2003/01/25: Simon (tag unstable-2-02-7) - Direct-Connect: * Better management of users in servers/rooms * Servers headers displayed in GUI console * Active Searches enabled if not "firewalled" (don't forget to set the 'firewalled' option if needed, or to set 'force_client_ip' since IP detection does not work as in edonkey) - GUI: * Queries moved to server tab * FIX: rooms work correctly * Console: - limited to 500 lines - FIX: Font "fixed" is not required anymore - Combo/history of commands - Donkey: * New option 'log_clients_on_console' to log client disconnections on GUI console - Emule Support: * Propagate max 20 direct sources, not older than 10 minutes, verified. 2003/01/24: Simon - Emule Support: * Compressed packets are accepted (not yet requested) * Second Sources packet format accepted - Direct-Connect: * Respect the timeout between searches * Take file state into account - FIX: * don't touch client_ip if not changed * correctly remove "Bad clients" - DonkeySources1: * remove sources not connected since max_source_age * 12 h (half-days instead of days). * correctly save source_age * take priority and popularity into account for score 2003/01/23: Simon - FIX: * Opennap plugin should compile again * Last chunk always downloaded first - Patch applied: new_client_stats (cs command) - DonkeySources: * Improved 'sources' command stats * Scores of sources are saved * File state is taken into account for the score * Sources with rank > 300 are not kept in good clients - Direct-Connect: no leeching anymore ! * mldc replies correctly to passive searches (ie on the same hub) 2003/01/22: Simon (tag unstable-2-02-6) * Mainly a bug-fix release for 2-02-5. Lots of features still missing (sources' scores are not saved, lastreqs,cancelled files sources not immediatly removed,...) - Fix: problem with downloads never starting - Fix: problem with partial chunks not saved - Added www.mldonkey.org in the HTTP interface - Better information on request results for each client - New option 'verbosity' to choose which warnings to display. 2003/01/19: Simon - Replaced date using floats by ints (lots of new bugs...) Please, signal any incompatibility with guis (mldonkeywatch...) 2003/01/17: Simon - Started implementing new source management system 2003/01/16: Simon - Global change to use int64 instead of int32 everywhere. I hope I didnot forget places, otherwise big bugs. 2003/01/16: Fabrice - Added doc/overnet.txt 2003/01/15: Simon - DonkeySources1: * Old sources are stored in two queues to always start by the best ones * FIX: Connected sources are also saved * FIX: Connected sources are also printed 2003/01/14: Simon - DonkeyInteractive: FIX: "out-of-bound" error - DriverControlers: shorter help - DonkeyProtoClient: * FIX: for cDonkey, send both QueryChunksReq and QueryFileReq - DonkeyOneFile: fixed non-shared partial downloads at startup - Options: values can be aliases to reduce space usage ( used in file_sources.ini) - DonkeySources1: * FIX: sources are sorted to avoid recently-connected sources in front of the queue. * clients ranking > 1000 put in concurrent_sources, not good sources - DonkeyClient: * connection lifetime of connection set to 1 minute, and prolounged if either peer uploads or downloads * FIX: challenge is also send for incomning connection * ban clients with queue ranking > 1000 and send them a message * send a bad QueueRanking to banned clients asking to enter the queue. - CommonOption: save_options_delay default set to 15 minutes - config/Makefile.in: IRC compiled by default 2003/01/13: Simon (tag unstable-2-02-5) - DonkeyClients: add md4s of connected clients to a hashtbl to prevent accepting two connections from the same client. - DonkeySources1: * new sources are queued LIFO. * old sources are immediatly stored in old_sources. * fixed adding several times the same file to one source - DonkeyOptions: md4 now identifies mldonkey as emule. - Gui_downloads: expose events redraw the color bar - DonkeyServers: black-list servers on port 4662 2003/01/12: Simon - DonkeyGlobals: remove 1 from size to compute nchunks in new_file - DonkeyTypes: removed field file_all_chunks, recomputed - DonkeyComplexOptions: save mtime and chunk states. mldonkey should not compute the md4 at each startup anymore. 2003/01/11: Simon - Source Management: ask for new sources only if we have fewer than 600 * max_clients_per_second new/good sources. - IRC: completely working ? * Connect to server and login * General channels (right-menu on IRC account) such as '#mldonkey' :) * In channels: receive messages, receive users, send messages, close chat * Private channels with users (double-click on user) 2003/01/10: Simon (tag unstable-2-02-4) - Gui: display chunks availability when selecting a source - DonkeyComplexOptions: saved some space in file_sources.ini - DonkeyClient: * JoinQueue are not forgotten when the queue is full. - DonkeyGlobals: Use Weak Hashtbl for udp_clients. Should save memory. - New command 'sources' to print the state of the different source queues. - DonkeySources2: Always use the same client_num for the same source (to avoid flooding the GUI with new clients) - Pango's patches: 39_readable_server_banners, 40_boot_time_is_redundant, 43_waiting_queries_late_filtering, 46_overnet_fix_errormsg, 50_tight_file_commit, 52_self_create_mldonkey_gui_ini , 53_dont_propagate_overnet_sources, 55_overnet_send_appropriate_infos 57_optional_servers_walking 2003/01/10: Simon (tag unstable-2-02-3) - DonkeySources2: fixes from 2003/01/08 had been reverted by CVS. Sources were dropped under heavy usage 2003/01/09: Simon (tag unstable-2-02-2) - DonkeyClient/DonkeyProtoClient: complete implementation of Emule client-to-client source propagation. - DonkeyClient: limitation of file groups to 1000 files (should save memory) - DonkeyGlobals: removed the mldonkey letters in md4 - Makefile: 'mlim' is compiled only if mldonkey_gui is compiled - DonkeyOptions: removed options are back in downloads.ini 2003/01/08: Simon (tag unstable-2-02-1) - Fixed some bugs in new sources management. Seems to works pretty well. - For fun: new mldonkey authentification, just to see how long it will take to emule devels to break it :) 2003/01/07: Simon - ./configure: * called automatically by make when needed * -enable-im has been removed * -enable-devel has been added for development things - IM: * Friends, accounts and rooms are packed inside a notebook * IRC connects and join channels, but the channel widget is not done * The IM widget is available from mldonkey_gui IM menu * 'mlim' is mldonkey IM-specific program - Donkey: * New source management seems to work, not complete yet * Upload: fill client buffers depending on the upload rate 2003/01/02: Simon - Makefile: simplification and regeneration from config/Makefile.in 2002/12/29: Simon - Gui: fixed the display of the number of shared files 2002/12/28: Simon - DonkeyServers: * New option 'keep_best_server' (default true) to automatically change the server mldonkey remains connected when it finds a better server * walker: does not reconnect if already connected to more than the maximal number of servers (option 'max_walker_servers' (default 1)). 2002/12/27: Simon - Opennap: send shared files to server after connection. 2002/12/26: Simon - Options: * new options file 'edonkey.ini' for options specific to eDonkey/Overnet * eDonkey specific options moved from 'downloads.ini' to 'edonkey.ini' - Direct-Connect: upload works correctly. Need more tests. Maybe add different mailing-lists for (mldonkey-dc@, mldonkey-nap@,...) 2002/12/25: Simon - New argument -find_port, to search other ports when the ones specified are already used. The options are modified accordingly. - Option 'allowed_ips': changed are immediatly taken into account for the HTTP interface. - Major Bug: fixed bug of 100% CPU usage when timeout < 0.0001 and poll used. - Direct-Connect: upload of shared list works - Makefile: different executables for each network. 'mldonkey' -> eDonkey2000 + Overnet 'mldc' -> Direct-Connect 'mlgnut' -> Gnutella 'mlslsk' -> SoulSeek 'mlnap' -> Open Napster and 'mlnet' for all networks 2002/12/24: Simon - Test for existence of the GUI before asking or trying to start it 2002/12/23: Simon (tag release-2-02) MAJOR BUG FIX: - DonkeyClient: fixed a bug preventing download from indirect clients. 2002/12/21: Simon (tag release-2-01-4) - DonkeyOvernet: updated TCP protocol to overnet 0.42 - Bug fixes: * DonkeyOneFile: removed a bug disconnecting from time to time an uploader. * DonkeyClient: * verify that clients have received a slot before uploading * remove client from upload queue when reconnecting 2002/12/20: Simon - Applied patch #812 (KDE Icon set). The old icons can still be used by changing the Makefile line : ICONS_CHOICE=big - Applied patch #852 (wildcards in black-list) - Applied patch #855: correctly sort servers before remove_old_servers - Removed some options for Overnet: publish and search for sources is now automatic - DonkeyOptions: new options: ban_queue_jumper (true): if you want to ban clients reasking files too fast ban_period (6): how long are they banned send_warning_messages (false): send a message when a client is banned max_emule_slots (33): percent of upload slots that emule clients can use (cannot be set under 25%) 2002/12/19: Simon - DonkeyClient: quota limitations: * Emule clients can not get more than 1/3 of the upload slots * at least one mldonkey client can always enter the queue - DonkeyClient: banning mechanism for clients that connect too often (don't prevent downloading from them) - Gui: * Remove duplicates at end of list 2002/12/18: Simon - Multi-column sort should work again. - Reverted again the query for all files to a query for one file. 2002/12/18: Simon (tag release-2-01-3) - Removed the Credit System. The world is already unfair enough, no need to bring a monetary system here. Moreover, it prevents correct downloads from other mldonkey clients ! - Overnet: Applied Norbert Lataille's patch 3.0 2002/12/18: Simon (tag release-2-01-2) - MinGW port: should compile and seems to run. Not yet tested enough. - DonkeyServers: * Better way to choose the master servers: if a new server has 5 times more users or at least 1000 more users than a master server, it replaces the master server. * Don't remove old servers if we are connected to them ! 2002/12/17: Simon - Prevent downloading the entire file list at every connection to a friend - Added Ip.reachable to remove local network addresses - Started port to native Windows via MinGW 2002/12/16: Simon - Applied Martin's patch on WEB Realm - Added option 'run_as_user' that can be used to change (setuid) the priviledges of mldonkey after ports binding. - Started implementing upload in Direct-Connect - New command 'friends' to print a list of all friends 2002/12/15: Simon - Applied Norbert Lataille's patch 2.5 on Overnet publish - Applied Andre Hinrichs's patch for better help - Applied Pango's patches (20021213b): 05_save_client_last_filereqs: applied 07_keep_user_filenames: applied 20_vd_sharp_urls: applied 21_queue_new_sources 24_unbroke_random_order: applied 25_bolder_remove_old_sources 29_mrvn_eta: applied 32_xou_web_interface: applied 34_suxxx_display_chunks_in_telnet: applied 35_fix_console: applied 2002/12/12: Simon - Rewritten remove_old_servers, scheduled every 15 min * CommonComplexOptions.servers is an intmap, not a list anymore * Delays are printed * Black-listed servers are removed immediatly * Last Connection is extracted immediatly 2002/12/09: Simon (tag release-2-01) - Fabrice should compile and release binaries for 2.01 - Fixed problem with stats - Overnet: added an option for publish (false by default since still in dev) - IM: Only Yahoo works - A message is sent to old clients only randomly. 2002/12/08: Simon - Applied Overnet publish patch from Norbert LATAILLE - The Overnet patch is too aggressive (about 5 kB/s). It really needs to be tune. 2002/12/07: Simon - Fixed bug in "nu" command (thanks Rudolf Polzer) - "reshare" now add new files to upload. 2002/12/06: Simon - Applying Pango's patch: 01_display_server_banners: banners already appear in GUI console 02_force_high_id: applied 03_overnet_boot_dns_resolution: already done 05_network_signature_change: applied 06_wrong_lowid_display: already done 07_keep_user_filenames: applied 08_better_default_parameters: partially applied 09_md4_speedup.patch: already done 10_port_blacklist: applied 11_max_connected_servers_offbyone: already done 12_files_md4_corruption: already done 13_revert_iptos: applied, but why in and out ? 14_get_chunks_in_random_order: applied, but with an option to disable it 15_fix_ovweb_default_site: applied, but an option would be better 16_sources_per_chunk: applied 18_remove_cancelled_downloads: applied 20_vd_sharp_urls: applied 24_check_for_x: applied 22_connect_on_server_urls: applied 26_old_file_on_cancel: applied, but option, disabled by default 23_uploaders_command: applied 27_selective_hide_files: applied NOT APPLIED, need some discussion: 17_hide_chunks_being_uploaded: 21_fifo_new_sources: 25_bolder_remove_old_sources: 2002/12/04: Simon - Gpattern: fixed bugs introduced by mldonkey :) - Gui_servers, Gui_friends: server users list and file sources list are only update 1/10 second after selection to avoid flickering. 2002/12/02: Simon - Moved some code in the GUI driver to avoid sending many messages when GUI use the POLL extension. 2002/12/01: Simon - Applets: new directory applets/, containing 3 sub-directories: * api: a common C api used by applets to chat with mldonkey on its GUI port * kde: a KDE panel applet * gnome: a GNOME panel applet A lot to be done. I know a bit GTK, not QT ... The Client_stats message is not yet completely filled with useful data by the core. 2002/11/20: Simon - IM: * Accounts Window, and Toplevel menu to access it * Contacts Window works * Dialog Window 2002/11/18: Simon - Gui_rooms: each opened room has its own users/messages widgets, to avoid reprinting all messages when changing of room. Maxence, could you look at that and explain me how to destroy a widget when room is closed - CommonInteractive: raise Not_found when the option doesnot exists (no more "option NAME value changed" for non-existing options :) - Instant Messaging: Started implementing the interface for instant messaging. 2002/11/17: Simon - CommonClient: check MD4 replies from client (inspired from patch #662) - DriverMain: track options_version, to be able to update the options when a new version of mldonkey is used. 2002/11/16: Simon - CommonOptions: added the redirector-generated server list to web_infos, and an option to change the redirector. Now, we should probably disable auto_update_server by default, since the relocator gives a nice server list. Or we should give more weight to new servers when trying to connect. 2002/11/15: Simon - DonkeyServer: added sending of UDP pings. Check that pings have been replied before sending extended search/locate requests. - DonkeyClient: changed mldonkey-specific protocol to recognize old clients, and send a warning. 2002/11/14: Simon - Fixed bug #1701 ?: read at least 1000 bytes before writing stream in a file from Limewire. Gnutella clients problem, or is_http_ok is not strict enough. - Fixed bug #1708 ?: rewritten get_page and wget in net/http_client.ml to avoid fd leak. - Support #101511: in the Upload panel of the GUI, the contextual menu offers to print ed2k links in the Console panel. - GuiTypes: new event Server_message_event to send server messages to the GUI console. - GuiEncoding/GuiDeconding: now, protocol versions will only change when the encoding of some old messages changes, not when new messages are added, so that new messages can be handled even if an old format is used for other messages (old GUIs can benefit from new messages) - DonkeyOvernet: change the URL in 'ovweb' - DonkeyProtoCom: sending much more information to the redirector, so that: - we can generate our own server list - we can generate an overnet peer list - we can gather some statistics on node bandwidth usage to decide when to create supernodes. - Observer: now generates a 'servers.met' file every 5 minutes, which is sent to savannah, if I find the command :), but the dest is: "http://savannah.nongnu.org/download/mldonkey/network/servers.met" if you want to add to your web_infos. Servers inside are guaranteed alive in the last 5 hours (well, unless the redirector is down which is often true :( ) 2002/11/13: Simon - common/commonOptions.ml: new option "network_update_url" to download files "motd.html" and "motd.conf" used to update some parameters in all clients. "motd.conf" is displayed in the HTML and telnet interfaces, and at startup. Why not in the GUI :) ? These URLs are downloaded every day, and can change the configuration of the client remotely. This will be used later to test different parameters to activate/desactivate ultrapeers behaviors. - donkey/donkeyServer.ml: new implementation of remove_old_servers. The new implementation sorts the servers, and remove all those that exceed their age, but guaranty to let at least "min_left_servers" in the list. - donkey/donkeySupernode.ml: started implementation of supernodes. Supernodes are mldonkey clients, that act as pseudo-servers: - they accept queries from mldonkey clients - they index files from all clients - donkey/donkeyOvernet.ml: fixed bug preventing removal of old connected peers. - config/configure.in: REQUIRED_LABLGTK=1.2.4 (please, dont force people to upgrade if it is not REQUIRED). Use the configure script to detect the version and to generate stubs for simple modifications (lib/gAutoconf.ml.new.in). Only upgrade for major reasons (ocaml release eg). 2002/11/11: Simon - config/configure.in: detection of lablgtk version to be able to compile without lablgtk-20021031 (must find mouse position, zoggy ??). GToolbox.popup_menu is generated by ./configure from lib/gAutoconf.ml.new.in - gpattern/gpattern.ml: using arrays instead of lists. filters directly integrated. Forces many changes in gui/gui*.ml, but should be much faster. - gui/gui_downloads.ml: Call to remove_client removed until a new message is added for that in the protocol - net/udpSocket.ml: implementation of SOCKS 5 support for UDP. Must check that bytes are correctly ordered. 2002/11/10: Simon - Fabrice has to move, and his new employer does not allow him to program in other open-source projects (for Intellectual Property problems). So he will keep administrating the project (web site, forums, releases), while I'm integrated in the developper team as main developper... As a start, I have some bugs to fix, and I would like to create a parallel network over edonkey2000 using mldonkey supernodes. 2002/11/06: zoggy - changes to use lablgtk-20021031 (@#!:@* Why the fuck did you do that ? you are the only developper to use it, nobody can compile now :( 2002/11/04: mldonkey - Applied patch #634 (increase buffer size for md4 comp.) patch #631 (max_connected_servers off by one) patch #630 (low id display) patch #632 (use DNS in "boot") 2002/10/23: Simon - New implementation of 'remove_old_clients' 2002/10/22: mldonkey - Patch #576 applied. - i18n: * Message files changed: ~/.mldonkey_gui_messages.ini for GUI and ~/.mldonkey_messages.ini for core * Some messages customizable in core * web_common_header, html_header and download_html_header moved to ~/.mldonkey_messages.ini * ~/.mldonkey_messages.ini can be overwritten MLDONKEY_MESSAGES 2002/10/21: mldonkey - lib/options.ml: always close open files. "Too Many Open File" bug again. 2002/10/20: mldonkey - New default options for 'web_common_header' and 'html_header' by Xou. - Patches #572, #573 and #574 applied. 2002/10/16: mldonkey - release 2.00 - fix: uploaded files do not appear twice in panel - fix: empty results are not accepted anymore (Overnet ?) - fix: "ovweb" accepts URLs since default site is down 2002/10/15: mldonkey - fix: files should not appear twice anymore in upload panel (files whose md4s have been computed replace [are not added anymore to] their corresponding temporary shared file). - fix: added must_write in udpSocket.ml when bandwidth controler is used (UDP packets were not sent anymore...) - fix: upload not more than the bandwidth each second 2002/10/14: mldonkey - add: internationalisation * envirronment variable MLDONKEY_GUI_MESSAGES - fix: rewritten upload in edonkey. Old mode can be restaured with option 'new_upload_system' set to false 2002/10/13: mldonkey - add: internationalisation * new module lib/gettext.ml for format options * new GUI config file gui_messages.ini * new directory i18n to store gui_messages.ini.?? files for contributed languages 2002/10/12: mldonkey - fix: support for several GUIs at the same time * Changes in how objects updates are monitored * Lots of changes in DriverInterface 2002/10/11: mldonkey - add: 'close_all_sockets' command to close all connection sockets. Added to the SIGHUP signal handler. - fix: SIGHUP doesn't call network_enable/disable anymore. Bug about automatic disabling of edonkey plugin ? - fix: new udp bandwidth management - add: starting reimplementing multi-gui 2002/10/09: mldonkey - add: catch SIGTERM and save the config before exiting - add: publication on Overnet has been implemented, but not tested yet. - fix: "ovstats" displays more information on current searches 2002/10/08: mldonkey - fix: bug in indexer2.ml that prevented complex searches in local history and in filters. - patch #556 and debian/ from #553 from Goswin von Brederlow. Some problems with the end of the patch #553. * Availability seen in % of missing chunks, and height in color bar. * New "last-seen" and "Age" columns in GUI * No segfault on division by zero when size=0 * No queries for paused files. * New debian/ directory - GUI protocol 9 - add: gui open a message box when password is not valid. 2002/10/07: mldonkey - fix: "forget_search" should work correctly now - fix: use Unix.LargeFile.stat instead of Unix.stat to avoid exception when sharing files greater than 1.7 Go - add: filters. Need to enable 'filter_search' option, and to change 'filter_search_delay' (results are gathered during this delay, and all filtered together and displayed, so results are displayed with this period, and no results are displayed before the delay). 2002/10/06: mldonkey - fix: split add_interesting_client in two different functions: force_fast_connect_client (connect immediatly, regardless of min_reask_delay) and connect_as_soon_as_possible. - fix bug #1291: vma does now display all servers - add: new command "version" - fix: "nu" can take negative arguments to decrease the no-upload period - fix: stop adding MD4 to proposed names 2002/10/05: mldonkey - fix: clients_lists are now stored in a 5 buckets array, one per minute. Strange behavior: the list is almost always full, and the number of fds increases dangerously. set client_timeout to 30 or smaller to improve that ? Must check that this timeout is changed when the client becomes interesting (queued for upload or download). Also set max_clients_per_second to more than 5... - fix: prefered files are not queried twice anymore, nor client repeatedly queried after connection, to avoid Emule Black-list stupid mechanism. - fix: unknown commands should print an error now - add: new command "priority" that can be used to change the priority of a file. Such files will get priority times more bandwidth than normal connections. - fix: * new command "use_poll" to switch between poll and select. * Fixed bug in poll making huge CPU usage - add: new messages for publishing files on Overnet. 2002/10/04: mldonkey - fix: file_best_name should be used more often - fix: recover_temp should use the best available name - fix: the number of overnet peers saved in servers.ini is now limited by overnet_max_known_peers 2002/10/03: mldonkey - add: new files for IP multicast, not used, probably never - add: overnet URLs in "ovlink", statistics "ovstats" - add: overnet new options to reduce memory usage "overnet_max_search_hits" and "overnet_max_waiting_peers" 2002/10/02: mldonkey - add: priority of files * read power added to TcpBufferedSocket.t for priviledged connections * DonkeyTypes.file_priority for priviledged files * DonkeyTypes.client_power for priviledged clients 2002/10/01: mldonkey - add: more debug output for 'dump_heap' - donkeyClients.ml: SourceReq clients are not immediatly added to clients_list 2002/09/29: mldonkey - fix: bug #1252: servers were added several times in Opennap/DC to each user. - fix: ed2k link should appear again in 'download' mail 2002/09/28: mldonkey - fix: sources are correctly removed from the GUI locations panel - fix: Makefile should correctly compile targets 'static' and 'byte' - fix: Add command MORECFLAGS="-I patches/ocaml-3.06/ -DHEAP_DUMP" make cdk/heap_c.o to compile with "dump_head" command. 2002/09/28: mldonkey - fix: incoming connections timeout are now correctly set, and connections should be correctly initialized. - fix: * With select, you cannot use more than 1024 file descriptors (otherwise, it segfaults) * Added poll support, that allows to use more than 1024 fds and is used by default. - fix: better control of the number of used fds - add: message in GUI starter about the 'ask_for_gui' option - fix: faster sharing of downloaded files (probably present chunks are checked first) - fix: Ip.valid check for class D addresses - add: new option 'verbose_overnet' - fix: a file name is changed only if it was the MD4 before. - fix: don't query blocks for Paused files 2002/09/27: mldonkey - fix: upload improvements * names are correctly chosen, and sent to the server * all BUFFER_OVERFLOW due to long file lists have been removed * after restart, non commited files are still shared. * bug fixed when shared file list is too long (shortened message) * the size of the ShareReq message directly depends on the space available in the server buffer. * md4s for downloaded files are never recomputed after commit - fix: force download: * new contectual menu item "Force Download" in GUI result panel * "force_download" should now work well - add: core errors are displayed in the GUI console (maybe the last line of the console should be displayed in the status bar ?) - GUI protocol 7 for "force" argument to Download_query 2002/09/27: zoggy - add : web directory to manage source files of generated mldonkey pages - change : chat protocol version (-> 1.1) to be able to communicate with mlchat from Cameleon 2002/09/25: mldonkey - add: new module common/commonDownloads.ml to share the functions used in all network where downloads are in one piece. - fix: mail, chat and file_completed_cmd are used for all finished downloads not only eDonkey (CommonInteractive.file_complete) - fix: file_commit now moves the file to incoming/. All networks must now use the "commit" function, not only edonkey. - fix: try to save the md4 of each file before sharing it. 2002/09/24: mldonkey - fix: renewed my passport (6 hours) - fix: prevent "BAD BAD BAD" lines from removing good sources. Very Important Bug for your downloads. 2002/09/23: mldonkey - fix: mldonkey_gui prints a better error message when the hostname couldn't be resolved. - fix: the configure script allows ocaml versions with +n extensions. - add: new program mldonkey_guistarter to start the GUI immediatly at mldonkey startup * New options 'ask_for_gui', 'start_gui', 'mldonkey_bin' and 'mldonkey_gui' * New option panel 'Startup' - fix: get_int64 works correctly (no more negative upload counters) 2002/09/22: mldonkey - fix: udp packets added to bandwidth computation - GUI: - add: new option panel for plugins - add: each plugin defines its own option for the GUI panel - fix: when gui_poll, don't send options values - Overnet: * No need for servers anymore :), searches and downloads are OK (but no filter on search results) - add: lots of debug messages for bandwidth control. * I should probably remove from remaining_bytes the size of the TCP packet header, each time the write/read is OK. * I should optionnally include the GUIs in the control ! 2002/09/21: mldonkey - fix: removal of out-of-bounds accesses, not supported by Ocaml on OSX Jaguar * added check in ./configure for MacOsX 6.0 to enable CheckBounds * added -inline 10 for checkbounds to be removed for other archs (5 would be enough) * added Autoconf.check_string calls in littleEndian.ml and bigEndian.ml - add: Overnet works for simple queries and sources * two options disabled by default: overnet_search_keyword and overnet_search_sources 2002/09/20: mldonkey - add: OverNet should now be able to add sources to eDonkey downloads (it is triggered using the "overnet" command). You need peers to access OverNet: see the end of the distrib/servers.ini file. - fix: started debugging mldonkey on Mac OS X 10.2 - fix : SIGBUS in telnet "q" command. - need to check all possible array/string out-of-bounds accesses. 2002/09/19: mldonkey - add: OverNet support started in donkey/donkeyProtoOvernet.ml and donkey/donkeyOvernet.ml. Can connect to OverNet peers and learn more peers. - add: new donkey command "import_temp " to import old files currently downloaded by edonkey in mldonkey. - fix: Bug #1052 (buffer overflow warnings when MLdonkey is reading my shared files) 2002/09/18: mldonkey - fix: Bug #420 (Wrong permission on imported files) - fix: Bugs #421 and #591 (vd: meta refresh use external ip) - fix: Bug #842 (mldonkey overwrites the modified download.ini) - fix: Bug #878 (Hidden files are shared) - fix: Bug #1053 (no warning when overwriting files) Note: / and \ in names are also replaced by _ Duplicated files get a .2 , .3, etc 2002/09/16: mldonkey - fix: Bug #432 (same packet is send with the same data) 2002/09/15: mldonkey - add: GUI * Display the current upload/download rate in bytes. 2002/09/14: mldonkey - add: New options in downloads.ini: * [gui_options_panel] to configure the options that are configurable in the GUI without modifying the GUI. Fix for Bug #844 * [debug_net] to display more information about low-level network layer - add: GUI * New protocol 5 for message [Add_section_option] * Boolean and filename options have special entries * More client options in the GUI option panel - fix: LimeWire * Correctly display file sources * No more Unix.write errors due to early disconnections * More ultra-peers agent types allowed 2002/09/11: mldonkey - add: CyMeS server directory 2002/09/08: mldonkey - fix: prevent connecting several times to the same server - fix: remove_old_servers should work again - fix: 'vo' command only display one-line options 2002/09/07: mldonkey - Fix: Removed mldonkey_ suffix from names. - Add: option 'files_queries_per_minute' and 'files_queries_initial_delay' in downloads.ini to meet lugdunum master and Smurk UK requests. - Fix: edonkey private messages should work again. 2002/09/05: mldonkey - fix: upload tab should work 2002/09/04: zoggy - add : upstats in the uploads tab 2002/09/04: mldonkey - fix: shared files are not shared between all networks anymore (each network has its own shared file type). - add: edonkey protocol files are not hidden anymore - add: upload per shared file. - add: new upload messages in GUI protocol 4 2002/09/03: mldonkey - Soulseek: * Browse friend and simple downloads should work. 2002/08/30: zoggy - add : download a whole directory from a friend - fix : the 'goto ' actions, because of the new rooms and uploads tabs - add : an option to specify if we display sizes with G,M, and k suffixes - code : moved the servers, downloads and uploads status label to Gui_servers.pane_servers, Gui_downloads.pane_downloads and Gui_uploads.box_upstats so they can be updated more accurately, and not each time a message comes. 2002/08/29: zoggy - add :Now display the tree of files instead of just the list of files for the selected friend (with a new option files_auto_expand_depth) - add : new added chat room automatically selected 2002/08/29: mldonkey - CVS commit on Savannah: * Ocaml 3.06 is now used to compile. * donkey/donkey.lam is not distributed anymore with mldonkey. It should be downloaded as: http://pauillac.inria.fr/~lefessan/src/edonkey/donkey.lam.SOME_MD5 and copied in the donkey/ directory. where SOME_MD5 is the contents of the file donkey/donkey.lam.md5 This can be automated by the configure script. - GUI protocol version 4: * new message Room_remove_user - Updates to be sent to the GUI are now stored in common/commonEvent.ml - Only one GUI can be connected to mldonkey at any given time. - Soulseek: * Join/Leave room works with dialog and user updates. 2002/08/23: mldonkey - update: ocaml 3.06 should now be used to compile mldonkey without secret/. - add: GUI protocol version 3 should work for poll. - Private messages are now received in a special (hidden) chat room, which is used to send messages to the GUI. - fix: Gui_columns has been rewritten with functors - fix: commonChatRoom.ml renamed in commonRoom.ml - add: room panel now displays both active and inactive rooms. - add: better SoulSeek support: * Searches work (no download yet :( * Join/Leave room works (no dialog yet) 2002/08/23: zoggy - add : an uploads tab (modules Gui_uploads and Gui_uploads_base) only the tab for this evening, gotta go sleeeeeeep 2002/08/22: mldonkey - gui_proto.ml has been cut in guiTypes.ml (types), guiProto.ml (protocols) and guiEncoding.ml and guiDecoding.ml. - Better soulseek support 2002/08/21: zoggy - fix : memorize the size of the vpane in the friends tab, for the chat notebook. BTW, mldonkey compiled like a breeze will ocaml 3.06 without patch :-) I let mldonkey change the configure script, don't want to disturb ;-) 2002/08/19: zoggy - fix : a bug closing two chat boxes instead of one - add : in chat rooms, try to get the user name and give him its own color to display his name in the messages - add : file sizes in downloads and result boxes now displayed with G(iga), M(ega) or k(ilo) suffixes - fix : scrollbar added to the chat room boxes, and the text with the messages is not editable any more. Chat rooms on direct connect work, except that kicked people are not removed from the list. 2002/08/18: zoggy - add: chat integrated in the gui; pb with the Gtk Main loop: the chat window receive no event; will investigate, or add the chat boxes in a notebook of the friends tab ? Ok, done. I had to find my way through the not really clear code of the Gui_proto module. And surprise, the code indent is really, really bad, making it still more difficult to understand... Yet to do : change and memorize the size of the chat notebook, but now i gotta go while it is not raining. 2002/08/16: mldonkey - add: New command "dd " originally used by mldonkey_submit. mldonkey now generates a mlsubmit.reg file that can be used under Windows to submit ed2k urls to mldonkey (thanks to equinox), and the mldonkey_submit file. - fix: Client files are now stored in a tree in the GUIs. - fix: Config/config.guess and .sub updated. 2002/08/15: mldonkey - fix: "set" and "vo" should work on simple options of all networks. - add: New option "calendar" to execute commands at different hours of day. 2002/08/14: mldonkey - add: The ./configure script is now able to download, compile and install locally (not as root) ocaml and lablgtk to be able to compile mldonkey. - fix: The ocaml-3.05.patch file contains the fix for the memory bug. 2002/08/12: mldonkey - Olivier and Manu now work on another branch for servers rings 2002/08/10: mldonkey - Move bigEndian.ml to littleEndian.ml to be correct :) - Started implementing the OpenFT plugin, using LimeWire plugin code. 2002/08/09: mldonkey - Client_ip is now always recomputed to avoid keeping an old IP address after the IP changed (unless force_client_ip is true) - The md4 is only used to save a file if no other name is available - Files of new friends are correctly displayed (the client structure in the friend list was not the canonized one). - When sighup is sent, all networks are reset (disable/enable). Can be used after a reset of the DSL connection. - Removed friends are not kept as Contact any more. 2002/08/08: mldonkey - Fixed bug in mldonkey_gui2 preventing removal of downloaded files. - Number of downloaded files is now displayed in mldonkey_gui. I still don't understand why so many features of the first GUI have been removed from the new GUI. Moreover, the object-oriented style makes it hard to understand and uggly to program. PLEASE, never put objects in the core. 2002/08/08: zoggy - fix : extended search button now does not appear any more in the friends tab - add : the user must confirm before cancelling a download - fix : window and global variables cleared when disconnected - fix : Detect disconnection to client in the GUI 2002/08/07: mldonkey - Upload statistics are correctly displayed by GUIs - Upload is now computed in bytes - Server_state and Client_state messages are used again. - Fixed bug in TcpBufferedSocket preventing UDP packets from being sent when bandwidth control is disabled (prevent Extended Searches). - Fixed bug in Options causing Stack Overflow in convert_list - Implemented simple form of subscription in server - Predicate should now work completely in server - Number of replies to a query limited to 1000 - Fixed bug in mldonkey_gui2 forcing GUI protocol 0 2002/08/06: mldonkey - Rewritten server code to recognize mldonkey clients - New GUI protocol 2 - Local search works again - New subscribe button 2002/08/05: mldonkey - The eDonkey server now shares the list of servers with the eDonkey client - An error in the ocaml-3.05 patch has been fixed. 2002/08/02: mldonkey - Fixed a bug in eDonkey saving sources for files in files.ini - Fixed a bug in the parsing of server.met files downloaded from the WEB (there was a "made by ..." at the end !!) - load_url now supports HTTP 302 redirections - Fixed a bug to connect to friends at startup 2002/08/01: mldonkey - Fixed a bug in the GUI protocol version 0 - More fields in commonFile.file_impl. Download rate is computed the same way for all networks. - LimeWire download bug fixed (3 mp3s loaded for test) 2002/08/01: mldonkey - Fixed bug with multiple files displayed in the GUI - New GUI protocol 1 containing Client_stats 2002/07/31: mldonkey - Old gui2 compiles normally and works. - SendMessage (-1, PrivateMessage (num, string)) is used to send a private message outside any room. 2002/07/30: mldonkey ********* Ocaml 3.05 should now be used to compile mldonkey ******** - The patch to the ocamlopt compiler is not required anymore. 2002/07/29: mldonkey - Re-included old gui as gui2/ and mldonkey_gui2. Not yet working. Let the user choose until mldonkey_gui is working properly. 2002/07/27: mldonkey - GUI: o Only connected servers are normally displayed. o New button to display all servers. 2002/07/26: zoggy - GUI: Extended search button only available in the result box of the last query - GUI : fixed font for the console 2002/07/24: mldonkey - Added GUI counter for better protocol compression. - Removed user_remove function 2002/07/23: mldonkey - Bug fix in Ocaml weak hash tables - First file downloaded on DC (yeah !!) 2002/07/21: mldonkey - Fixed a bug in the GUI protocol - Improve timers behaviors 2002/07/16: mldonkey - Upload should be OK in Direct-Connect - CDDB: research is possible in index. building the index takes at least 600 Mo of RAM ... maybe some work to compress it. 2002/07/15: mldonkey - New structure network_info - Direct-Connect: allow other clients to browse our client - CDDB: use_tags is able to index a freedb database. take about 300 Mo for the full indexed database. need to build a server now. - Donkey: fixed a buf in the protocol that removed shared files from shared list. 2002/07/14: mldonkey - New env variable MLDONKEY_DIR 2002/07/13: mldonkey - More options in alternative networks. - ./configure script accepts a --disable-multinet option. - New option -check_impl to display unimplemented methods. - New behavior for computing the downloaded size in donkey. 2002/07/11: mldonkey - Upload on edonkey is priviledged, thanks to the upload_power option. Done by giving more upload to some connections in TcpBufferedSocket. 2002/07/10: mldonkey - Protocol between GUI and Core completely rewritten. No more Ocaml specific. Other GUIs are encouraged to move to this new protocol. - network-specific URLs are supported: ed2k://|file|... ed2k://|server|ip|port| ed2k://|friend|ip|port| dc://|server|ip:port| dc://|friend|ip:port| - Client browsing in Opennap. 2002/07/04: mldonkey - Better types for result, client, user and file in LimeWire 2002/07/03: mldonkey - Better Opennap support - Should no more be 'too many pending searches'. - Better types for result, client, user and file. 2002/07/02: mldonkey - Per network options better supported (use "set" command with a prefix). - One step towards soulseek implementation. - Started implementing 'disable' methods. - Using Weak hash tables for all common modules. *** 2002/07/01: in holidays :) no network access for two weeks ... 2002/06/30: mldonkey - HE3 compress/decompress code completely working for DirectConnect - Can download file list in DirectConnect (not display it) - Client IP correctly detected. 2002/06/29: mldonkey - Added columns configuration for users in GUI. - Added message BrowseUser from GUI to Core and user_ops.op_user_browse_files. - Communication between clients in Direct Connect started. - User information from Direct Connect displayed in GUI (admin/link/bytes) 2002/06/28: mldonkey - Fixed several problems in WEB/telnet interface - Added enable(disable) networks menu in GUI (disable not implemented): networks can be started from GUI. New message EnableNetwork from GUI. - Added display networks menu in GUI: servers and results from a network can be hidden. 2002/06/27: mldonkey - Started using Weak Hashtbl in common/ structures to avoid memory leaks. - The GUI displays correctly eDonkey, Open-Napster, LimeWire and DirectConnect. - Lots of debbugging messages have been removed. Pre-Release 1.99: Complete change of the architecture. mldonkey should now support multiple peer-to-peer networks. Currently, download is possible from: * Audiogalaxy support: works great (oups, not useful anymore :( 1) Must set 'enable_audiogalaxy' to true in downloads.ini 2) Start mldonkey. It should create 'audiogal.ini'. If you don't have any audiogalaxy account, create an account: go on http://localhost:4081/ (if you are running mldonkey on localhost), and create it. 3) Stop mldonkey. Edit audiogal.ini. Set the 'login' and 'password' options from your account. 4) Restart mldonkey. Go on http://localhost:4081/ to choose files to download. * LimeWire bridge. works great. 1) Must set 'enable_limewire' to true in downloads.ini 2) It should automatically connect to several ultra peers. - Recover downloads works * Open Napster support. Seems to work. 1) Must set 'enable_opennap' to true in downloads.ini * Direct Connect support. Not working yet. 1) Must set 'enable_directconnect' to true in downloads.ini 2) You can connect to some hubs and search for files. Download is not yet working, nor sharing, so that you will probably be kicked fast. IMPORTANT: If you want to test some of these networks, edit the downloads.ini to enable them. There are a lot of debugging messages (pipe to /dev/null, don't kill the terminal). Most telnet commmands should work, but it is not sure. In the GUI, use the File->Settings->GUI->Columns panel and, for each type of structure, add the Network column to see in which network a server or a file is located. * Improved server implementation (enable_server option). Not working yet. * Started implementing freedb bridge. Not working yet. * replace Sys.rename with Unix2.rename (to allow cross-device moves) * brand new GUI : choice of columns, icons, external chat utility, support for custom searches. See file ~/.mldonkey_gui.ini for changing icons and keyboard shortcuts. Searches skeletons are defined in the searches.ini file in the directory where you launched the mldonkey core. Release 1.16: * Compaction forced every 'compaction_delay' hours (default is 2). * File age computed for files smaller than one chunk. Better downloads for these files. * Servers sending extended search results are remembered, and immediatly asked if their files are downloaded. * Predicates in Indexer should work in most cases. * Fixed #100833: new options 'http_bind_addr', 'gui_bind_addr', 'telnet_bind_addr' and 'telnet_bind_addr'. * Started implementing 'use_tags', a program to rename mp3s from tags (and maybe from freedb, someone interested ?) * New option 'propagate_sources' to allow mldonkey to propagate sources to other peers. When enabled, send far fewer messages than in 1.15. * Fixed #100870: WEB interface can be configured through 'html_header', 'web_common_header' and 'vd_reload_delay' * GUI buffer size increased. Can be set by 'interface_buffer' in ~/.mldonkey_gui.ini * Fixed bug making mldonkey use 100% CPU for long periods. * Fixed option name for 'update_server_list' * New options 'max_sources_per_file' to limit the number of sources for a given file. One source is removed each time a new source is added above this number. * New command 'id' to display ID numbers for connected servers. * 'client_buffer_size' set to 500000 by default. * Fixed bug in ocaml patch that made open_mldonkey never finish downloads. Release 1.15: * Started implementing mldonkey_s (eDonkey compatible server) * GUI: - Should fit in 640x480 screens. - Server can be specified by ip:port in Add Server entry. - Removed some non-tailrecursive functions. * Core acts now with all (direct) clients as a server to diffuse sources for files. Indirect mldonkey clients can also receive information. * WEB interface: - New option 'customized_searches' that can be used to add new queries in the WEB interface (see new option file searches.ini for examples). - Improved searches (work also in the GTK GUI): * In the keyword/artist/title/album fields, a '-' in front of a word means 'without'. Words separated by spaces must appear in the reply. * In the format field: you can specify several formats, separated by spaces. A '-' in front of a format means you don't want that format. - New options 'web_header' and 'web_header_frame' to customize the header displayed by the Web interface. - Generate correct HTML with HEAD and TITLE :) - Downloads can be sorted by name/percent/downloaded/size/rate. - Paused downloads are correctly displayed. - Use tables instead of spaces (for non-fixed fonts). - Added option 'use_html_frames'. When frames are enabled, clicking on a result to download will only modify the second frame. - Checklist of downloads and results can be activated/desactivated with the option 'html_checkbox_file_list'. - The number of days since the file was last seen complete is now displayed * Core: - New option 'file_completed_cmd' for a command which is called when a file download is completed with as arguments: * - Started moving local indexation from mldonkey to an auxiliary program, controled by options 'local_index_find_cmd' and 'local_index_add_cmd'. See the 'Using auxiliary programs for local indexation' section in the help (in progress, doesn't work). - New command line option -client_ip that can be used to force the IP used by mldonkey (if you have a firewall). Be careful with dynamic IPs. - Delay between md4 computation can be set by 'compute_md4_delay' option. Chunks downloaded improve to reduce long md4 computations. * Most problems with ed2k:// links should be fixed (/ at the end, and spaces in the middle). MLdonkeySubmit is distributed for Konqueror users. * Improved implementation of indexation. Documents description are stored on disk. Different choices of indexation. * Server black list: 'bs ...' in console to add IPs to the server blacklist. Servers on this black list are eventually removed, and will never be added again. * New option 'master_server_min_users' that prevent mldonkey from remaining connected to a server with too few users. * New option 'dont_update_server_list' to disable automatic update of server lists. * Telnet interface: - New command 'remove_old_servers' * New (less-aggressive) management of sources: - New option 'max_source_age' (in days) to remove old sources. - New option 'max_clients_per_second' to prevent bursts of connections. * Faster computation of md4s for i486/i586/i686 Linux systems. * Fixed bugs: - #100662: only valid server IPs are accepted. - Use IP returned by getsockname instead of the one from gethostbyname. - #100761: new option 'update_server_list' to choose whether you want mldonkey to automatically add new servers to your server list. - Fixed bug preventing sharing of in-download files after restart. - Fixed bug making history.met always increase. Release 1.14: * Bandwidth is now controled by the 'max_hard_download_rate' and 'max_hard_upload_rate' options. Old rate options are obsolete. * All simple options can now be set by arguments on the command line (use -help to show arguments). * Bug fixes: - Removed non-tailrecursive function in options.ml causing segfault when loading files.ini. - Connected clients without names in GUI should not appear anymore. - Remove 2 minutes timeout for queued clients. Release 1.13: * Annotations on files in file 'comments.met'. Commands 'comments ' to load a file, and 'comment ' to add a new comment. Such comments could be downloaded from web sites (sharereactor.com). * New option 'web_infos' and new command 'add_url' on console: allow to download a file from the WEB automatically everyday (or less frequently). Currently, only server.met and comments.met files are supported. * GUI: - New config file in $HOME/.mldonkey_gui.ini with GUI options - colors added in lists (see .mldonkey_gui.ini) - Layout is saved. - File locations are updated. - Improved protocol to decrease bandwidth - Comments are displayed in searches, and can be added in contextual menu. - Shortcuts can be configured by options. * Mailer accept non-canonnical addresses. * Option 'verbose': '#' for download, 'U' for upload, and other messages. * When possible, find extra names for files in history. * Console: - New command 'close_fds' to close all open files, to free space on disk after remove. - New command 'pause' and 'resume' to pause and resume downloads (use arg 'all' to apply to all files). * Some control on how many connections can be opened per minute. * Better scheduling of compaction (new option 'compaction_overhead') in both core and GUI that caused delay when exiting. * Bug fixes: - Remove block change causing many 'exceeding block boundaries' - history.dat changed to history.met, using more secure marshaling. - OVERFLOW with GUI should not appear anymore. - Compaction makes GUI memory usage better. Release 1.12: * Bug fixes: - Remove error 'bad file descriptor' when saving files. - Remove possible infinite loop in upload function. Release 1.11: * Option 'shared_directories' to specify other directories where files to share can be found. * Setting 'telnet_port', 'http_port' or 'gui_port' to 0 disables the corresponding access. * Console: - Sort results by size in vr. - When 'd' fails with Already_done, you can use 'force_download' to force an already downloaded file to be restarted. - New command 'dllink' taking an ed2k URL to download as argument. - Command 'set' can be used to set the allowed_ips option: set allowed_ips '127.0.0.1 128.91.255.255' 255 is for networks. - shorten names in 'vd' output (see 'max_name_len' option). * WEB: - New Cancel links in 'vd' output. - New 'Complex Search' link in interface. - 'View Options' output can be edited to modify options. * GUI: - The GUI tries to connect to the core every second until it succeeds. - Corrected MD4 columns - In search panel, 'Max hits' combo set the maximal number of replies per server. * Bug fixes: - Don't add twice the incoming dir to shared file names. - Cross-partition moves fail, but filename is renamed in temp dir. - Limited open fds for files to 50 (doesn't limit shared files and downloaded files). - Execute entry on WEB interface always displayed. - Removed a timeout closing all client connection after 2 minutes. - Shared files are opened in read-only mode. Release 1.10: * Default timeout for server connection set to 5 for faster connection. * Options are now divided into four configuration files: downloads.ini, servers.ini, friends.ini and files.ini. * Console: better display of downloads. * Verification of IP addresses for admin ('allowed_ips' option). * WEB interface: added pragma no-cache. * Keep checking servers in the background. * GUI: Auto-resize is now delayed. Default selection mode is EXTENDED. Contextual menu items to switch between auto-resize/manual resize and EXTENDED/MULTIPLE selection. * Send a mail when download is finished. You must complete the 'smtp_server', 'smtp_port' and 'mail' options. * Bug fixes: partial page in WEB interface fixed (often with vr). Removed two minutes timeout on good client connections. NoSpaceLeft causes pause in download. Release 1.09: * Bug fixes: fixed bad md4 computation of the first chunk, preventing completion of downloads. * New command 'recover_temp' to recover all lost files from the temp directory. * See http://www.freesoftware.fsf.org/mldonkey/ for porting mldonkey on new OSes. Release 1.08: * Remove use of the 'mmap' system call. * Better management of delays between connection attempts. * Local searches use minsize/maxsize information. * More information on availability on WEB/console interface. * Small improvement in MD4 computation. Shared files MD4s are saved in a 'shared_files.ini' file to avoid computating them again. * Filters on replies: set the 'filters' option to a string containing sub-words you want to remove, separated by spaces. * Maximal download rate can be specified in 'max_download_rate' option. (need probably to be rewritten more carefully). * Bug fixes: files greater than 9mb in incoming/ can now be shared, ftruncate replaced by lseek (for vfat FS), multiple connections to the same client fixed. Release 1.07: * Exchange of sets of sources between mldonkey clients. * Started implementing chat between friends. * GUI allows adding friends by specifying IP and port. New 'Connect friend' menu. Better properties of files. * New menu item 'preview' in GUI, associated with option 'previewer'. * New menu 'Select All' in lists. * Bug fixes: in mp3 tags edition, in connected servers count, in displaying friends files, in passive connections. Release 1.06: * History of seen files. New commands: 'ls' for local search on the history, of search on servers, 'clh' for clear local history. New options: 'use_file_history' to allow history on files, 'save_file_history' to save the history on disk. For now, search only by words (not size). * Authentification by the 'auth' command on the telnet client. * Bug fixes: servers disconnected viewed as connected. Release 1.05: * UDP protocol implemented: extended searches to all servers. * Improved HTTP interface (port 4080). * Limitation on minimal upload dropped to 1 kB/s. * Fixed bug preventing queries on multiple words. Release 1.04: * Improved WEB interface (download files by clicking). * Stats on upload. Release 1.03: * Upload can be disabled temporarily, if your client has been running long enough. Release 1.02: * max_upload_rate is not modified automically anymore. * command-line client available from the GUI. Release 1.01: * New command 'set' in command-line client to change options values * Command-line client accessible from the GUI or any WEB browser (at http://localhost:4080/) Release 1.00: * Upload/download works * Friends works * Complex queries works * Command-line interface works * Graphical interface works * Import old config works