v0.3.5 20.08.2004 MZ: gcc 3.4 fixes, some other minor things 19.08.2004 MZ: More consistent tracking of the marked files, their progress, etc 12.08.2004 MZ: Fixed problem with unprintable chars in terminal, fixed pipe issue with system command 09.08.2004 MZ: Gwebcache bug fixed MZ: Added a property to disable redirect following in gwebcache support 29.07.2004 MZ: Uploads parse URLs more correctly 19.01.2004 MZ: Upload range header fix 10.01.2004 MZ: Initial GGEP support 02.12.2003 MZ: Support for the BYE message 28.11.2003 MZ: Cookies now support the path attribute, temlate changed respectively 21.10.2003 MZ: Stuck connections reported by Michael should be fixed now 14.10.2003 MZ: Crash in gnudirector fixed 29.09.2004 MZ: Support for "MakredFiles": we keep track of all files we have ever touched. 27.09.2003 MZ: README updated. Util added to the build tree. 17.09.2003 MZ: Finally finished the documentation of mutella's options. Some options have neen renamed, appropriate migration mechanism has been implemented at last :-) 26.08.2003 MZ: Added a feature "WhiteList" to guarantee upload slots to given IPs or nets 07.05.2003 MZ: TString memory allocation updated (made less economical, but hopefully causing less fragmentation) 06.05.2003 MZ: 'setadd' and 'setremove' commands for HTTP UI implemented template updated accordingly 04.05.2003 MZ: Access settingd via HTTP UI. 'set' command works, 'set+' is yet to be done. Fixed crach in HTTP UI 29.04.2003 MZ: Uploads must support now "Connection: KeepAlive" Multiple fixes in uploads to reduce resource utilisation and memory fragmentation 27.04.2003 MZ: Sorting of searches in HTTP UI MZ: Bugfixes in HTTP UI 26.04.2003 MZ: Download rate limiting MZ: Local socket is deleted on exit MZ: Native daemon mode MZ: Few more command line options MZ: 'leave' command in text mode interface MZ: Dont remember what else I was doing these days 03.04.2003 MZ: --with-sgi-stl configure option added 02.04.2003 MZ: Hacked the terminal UI to enable external stop command 31.03.2003 MZ: Local socket text-mode interface added. MZ: Util directory added for useful scripts and small programs MZ: Small C program , which enables easy communication with the unix socket UI placed in util 27.03.2003 MZ: More diagnistics in MShareThread::GetIndexBySha1() MZ: Separated text-mode command interpreter from the terminal-mode UI MZ: Started to implement unix socket text-mode UI MZ: Fixed filenames of auto-searches 06.03.2003 MZ: Merged in GWebCache patch which preserves URL's case MZ: Experimental implementation of the "known files" database MZ: Searches rewritten to allow more flexible grouping and improve performance MZ: Re-search problem fixed. Should please the GDF. v0.4.3 28.01.2003 MZ: We now submut client and version information to gwebcaches v0.4.3-rc2 15.01.2003 MZ: Repair stuck at 100% downloads (or to be more exact their partial files) on mutella's start. MZ: Less GCC 3.x warnings MZ: Configure check for nanosleep fixed. v0.4.3-rc1 17.11.2002 MZ: Configure checks for sys/int_types.h MZ: Configure checks for zlib MZ: Remote UI fixed to support properly alternative RemoteDir MZ: Ultrapeer (un)election made smoother MZ: Various patches applied MZ: DynDnsFirewall option added for firewalls which change IPs 16.11.2002 MZ: Cookie support in remote-ui. Now browther always goes forward and never back which forces reloads of the modified pages 15.11.2002 MZ: Uploads now support URI requests and also can send files not to the very end 13.11.2002 MZ: ChangeTime removed from share_hash cache. File format changed! MZ: URI requests instead of /get/x/ for BS 11.11.2002 MZ: Some kind of download queuing 08.11.2002 MZ: Bug fixed in Blacklist, when overlapping IPs and subnets were added. Now Blacklist compacts itself automatically and must work 07.11.2002 MZ: Version number incremented to make distiction with widespread CVS copy of 0.4.2 which still had connection problems v0.4.2 06.11.2002 MZ: Storing of hasing results between sessions 05.11.2002 MZ: Sha1 hashing of local file (no caching for repeated scans yet) 03.11.2002 MZ: Ultrapeer-leaf mode works! Ultrapeer mode still need attention 28.10.2002 MZ: Fixed bug in MAsyncSoclet which caused improper callbacks observed in push uploads. 26.10.2002 MZ: Started to rewrite GnuNode (thanks to Gnucleus) to introduce ultrapeer support. 18.10.2002 MZ: More debug diagnostics in GnuNode 17.10.2002 MZ: Downloads should not hang anymore when the remote peer sends us more data than we asked for. More diagnostic traces in uploads 15.10.2002 MZ: Looks like I got 'em working! 14.10.2002 MZ: Uploads and downloads seem to work again (but they still require work) 13.10.2002 MZ: Radical rewrite of MAsyncFile. Expect problems MZ: Adoptation of MDown*** to work with the new incarnation of MAsyncFile 09.10.2002 MZ: Upload logging Blacklist accepts subnets 08.10.2002 MZ: General purpose logging centre (separate thread) 07.10.2002 MZ: Async DNS (experimental) 05.10.2002 MZ: GnuWebCache client support 24.09.2002 MZ: Downloads fixes to somehow resolve the "almost-done" problem 19.09.2002 MZ: Connections repaired to support new host-cache format 19.09.2002 MZ: HTTP header fixed for Content-Range 31.07.2002 MZ: Added 'erase' command to delete searches and partial files. Not yet added to the HTML template. Not tested thoroughly. v0.4.1 07.07.2002 MZ: Experiments with MAsyncSocket to sort the sockets by activity MZ: 'loop' option added to the 'info' command 06.07.2002 MZ: Cygwin fixes 28.06.2002 MZ: Performance tuning for searches MZ: Added support for user auto-get searches MZ: Approximate size matching is now possible for user searches 26.06.2002 MZ: Share download directory (with no sub-directories). New downloaded files are added automatically upon completion. 24.06.2002 MZ: Clever removal of ineffective connections (the ones that don't send us query-replies). Median rate is used as a measure of *what-is-good*. 23.06.2002 MZ: Removed 'GroupByName' and 'GroupBySize' options MZ: Modified grouping algorithm (made more agressive) MZ: Got rid of vectors in searches. Should be saving great deal of memory now. 21.06.2002 MZ: New very accurate and effective bandwidth limiting for connections. 20.06.2002 MZ: List-type options are now supported. 'set+' and 'set-' commands are added to add and remove items MZ: Blacklist added to ignore results by IP (conntrolled by "BlackListActive and "BlackList" options) MZ: Word filter added to ignore results, containing offensive words (conntrolled by "WordFilterActive" and "WordFilter" options) 19.06.2002 MZ: Crash fixed in downloads when parsing the handshake from a very slow connection MZ: Common messaging mechanism is used in share thread MZ: Set-type propertyes just introduced v0.4 11.06.2002 MZ: Cleaning up headers and sources. No content changed just various reallocations 09.06.2002 MZ: Nodes now calculate more in/out statistics like packets in/out per second and number of query-reply packets per second. New tags for web-ui (#NODEPACKIN# #NODEPACKOUT# #NODEREPLYIN#) added MZ: GnuDirector makes use of query-reply-rate and periodically removes the node with the lowest rate. 08.06.2002 MZ: MaxPerFileUploads variable added to enable sharing both rare and popular content MZ: Nodes now report more realistic rates (averaged over last 3 minutes) 07.06.2002 MZ: Downloads now, upon fail, report amount of data received in this effort MZ: MaxDownloads now should have some effect. Not yet tested however MZ: Host cacher (cache) reingenered. Second cache added, which collects the hosts, to which we have succeeded connecting MZ: The cache of 'good' hosts made persistent. Should improve connection speed on startup greatly 28.05.2002 MZ: Http access log (~/.mutella/htaccess.log) is not allowed now to go back for more than one month. 27.05.2002 MZ: Mean bug fixed, which caused crashes on BSD systems when 'move' or 'edit' pages of HTML interface were used. However, it seemed not to persist on Linux. The cause was the effort to munmap() uninitialised pointer (because of misprints in edit and move pages) MZ: configure now checks more properly for slist (Greg have commented out to many lines IMHO) MZ: The requirement for readline 4.2 made optional. The command and variable completion is disabled if readline appear to be too old. 26.05.2002 MZ: Man page edits MZ: Completion added for the 'color' and 'help' commands 22.05.2002 MZ: Memory allocations reviewed in TString, new/delete replaced with (re)alloc/free. Should not affect the release MZ: New assignment functions added to TString MZ: httpui: loopResults and loopGroups tries to predict required buffer size to minimize reallocations 19.05.2002 MZ: --enable-optimisation flag added to configure. Optimisation is disabled by default due to observed crashes. 18.05.2002 MZ: Const cast added in conversions.cpp in fake_hostent() MZ: Multiple changes to makefiles in order to get make install working MZ: Check for compilers moved up in configure.in 'cos $CC is used to check for cygwin, exe-suffix and so on. 15.05.2002 MZ: Added sort-by-speed option to the results display in the HTTP ui. MZ: disabled unused SIGSEV handlers in main.cpp 30.04.2002 GB: Checked in Alex Kittenberger's .cvsignore patch GB: Moved license file from COPYING to LICENSE. GB: Updated all headers to contain GNU license note. GB: configure will look for poll() in libpoll. GB: Updated version to 0.4.0 29.04.2002 GB: Tagged 0.39b as MUTELLA_0_39_b_RELEASE GB: Correcting TRUE/FALSE predefined issue - no biggie. GB: Correcting color ugliness for Unix Navigator. GB: Move/Edit Search did not import the CSS correctly. 22.04.2002 MZ: Checkboxes added to the results*.html pages to enable getting multiple files with less hassle 21.04.2002 GB: Checking in changes so that we allow for "http://*:*/remote" to work. Note the lack of trailing slash on the URL - that previously broke the HTML and caused it to miss lots. 20.04.2002 MZ: Missed some calls to usleep() which might have caused problems on solaris. 19.04.2002 GB: Man page added to CVS and install-man requirements added to the build system. 19.04.2002 GB: Build system cleanup. 18.04.2002 GB: Build system cleanup. GB: Added online help for ReachableForPush and PushTimeout GB: Fixed makefile.dist GB: Modified configure.in to check for rl_get_screen_size in GNU readline and fail with a complaint about requiring 4.2 if the existing readline library does not provide it. 17.04.2002 GB: Adding image and module templates to build system for install. 16.04.2002 GB: Checked in new nanosleep code and associated autoconf changes. GB: Checked in minor updates to HTTP interface. GB: Checked in code to add Date, Last-Modified, and Expires hdrs. HTML will default to all set to 'now' while others report a last modify date of 1970 and want to be kept around for an hour. 15.04.2002 GB: Checking in the 'final' UI revision. She's done, methinks. 14.04.2002 GB: Work on HTML templates continues; changed to remove the wee little baby-font sizes' hardcoding to 0.8. GB: Removing the last vestiges of Libtool stuff from configure 12.04.2002 GB: Fixed the new build changes to work under 1.4/2.13. MZ: Fixed chash on non-existant file include (remote-ui) 11.04.2002 GB: Brought mutella's build system up to date with automake-1.6 and autoconf 2.52. Hope it works. 11.04.2002 MZ: 'e' is not treated anymore as a shortcut for 'exit' supported by the http-ui Support for 'Content-type:text/css' "SaveStatePeriod" variable added to control auto-save-state period (in minutes) 10.04.2002 MZ: Correct http headers for gif,jpeg and png images in http-ui 09.04.2002 GB: Adding a new mailing list where all CVS checkins will go. 08.04.2002 MZ: ShareFilter option supported 07.04.2002 MZ: Memory leaks in MGnuDownload fixed Http-ui bugfixes Sort new results by speed when updating downloaders 05.04.2002 MZ: Crash in command completion fixed. Small fixes in terminal-ui help system. 04.04.2002 MZ: README updated to mention thing or two about http-ui Access logging in http-ui 03.04.2002 MZ: Simple http-ui template now is a part of a projest and is being installed to ${prefix}/share/mutella/remote/template by 'make install' 29.03.2002 MZ: Event log support in remote ui 27.03.2002 MZ: many small diffuse changes to get it to compile on solaris 8 with gcc-3.x 26.03.2002 MZ: usleep() & sleep() replaced with xusleep() & xsleep() Using std::queue removed because of name conflict on Solaris Check for alloca.h added to configure MAFContext::WaitForThreadsStop() fixed for write clients Fixed missing \r\n in the 0.6 handshake Fixed crash (I hope) in MDownloader::OnDataWritten() 25.03.2002 MZ: GCC 3.x -- configure and namespaces should be fixed 22.03.2002 MZ: -D_PROFILER is recognised. Because of the bug in gprof which requires non-zero total CPU time to be spent in the main thread of execution the thread model has to be altered when -pg option is used Applied patches required to compile on g++ 3.x 21.03.2002 MZ: Huge CPU consumption by push downloads (removed FD_WRITE from the select flags) Basic authenitfication in HTML interface 14.03.2002 MZ: Absolute time formating function added to common.* Time printed in the event report 13.03.2002 GB: Darwin (MacOSX) has a very broken implementation of the gethostby* functions; a workaround has been provided and included which will check names to see if they are IP addresses and perform an inet_aton in its place; this will eliminate most calls to gethostbyname(), as the great majority of calls are for IP addresses. 13.03.2002 MZ: configure.in fixed around processing '--debug' option 11.03.2002 GB: autoconf now checks for existence of sys/poll.h 11.03.2002 GB: autoconf now checks for existence of pthread_condattr_init 11.03.2002 GB: autoconf now checks for existence of pthread_condattr_destroy 11.03.2002 GB: autoconf no longer uses AC_CHECK_COMPILERS, which isn't very forward-compatible or friendly to non-std environments. this changes both configure.in and acinclude.m4. 11.03.2002 GB: Adding "fakepoll.h" when sys/poll.h is not present. This version of poll, needed under environments like Darwin, is implemented using select(). 11.03.2002 GB: Support for MacOS X/Darwin, Apple's flavor of BSD, is there. 11.03.2002 GB: Fixed problem in define.h for systems who already define MIN() and MAX() macros. 11.03.2002 GB: People running automake 1.5 should be able to build the project without difficulty; they must first, however, remove the reference to bin_PROGRAMS = mutella which occurs twice in mutella/Makefile.am - it may only appear once. (KDE environment gotcha) 10.03.2002 MZ: Whole lot of empty lines in the end of source files 09.03.2002 MZ: Fixed problem with 'last bit' in download 08.03.2002 MZ: Fixed HTTP headers. Now we send HTTP/1.0 or HTTP/1.1 'move' & 'edit' support in HTML interface 07.03.2002 MZ: Updated servent list Move & edit commands added 05.03.2002 MZ: DownloadItems loop in HTML interface TagIDs are moved to defines, symbol has changed to # 04.03.2002 MZ: Zero-repeat block in HTTP template Wait for HTTP sockets to complete sending 03.03.2002 MZ: Small bugfixes here and there (uiremote & download) 02.03.2002 MZ: HTTP interface reviewed and made quite functional 01.03.2002 MZ: Custom request handling added to MAsyncFile 28.02.2002 MZ: Massive changes in gnudownload. 08.02.2002 MZ: Remote HTTP interface -- first functional version 02.02.2002 MZ: Substantial revision of MController to enable multiple UIs MThread re-ingenered in an effort to add auto-deleting threads Fixed long standing problem with MThread::wait() Fixed race condition in MWaitCondition::wait()/wakeAll() 01.02.2002 MZ: General cleanup of the code, few functons and structures changed their location 31.01.2002 MZ: MGnuSock::OnReceive rewritten to enable request fragmentation Terminal UI moved from mui.* to uiterminal.*. Class MUI made abstract. Former MUI renamed to MUITerminal. 30.01.2002 MZ: Basic support for command and variable name completion CAsyncProxySocket class added to project (not used yet) 29.01.2002 MZ: Experiments with "libtecla" to replace readline v0.3.3 24.01.2002 MZ: Storing searches between sessions Small fixes here and there 20.01.2002 MZ: Version 0.6 connection-reply debugged Version 0.6 outbound connection support 19.01.2002 MZ: "kill" command added "ReachableForPush" setting added MAsyncFile fixes (hopefully final) 18.01.2002 MZ: Further work on MGnuUpload Support for sections in options "color" comand added First moves towards event support 17.01.2002 MZ: MAsyncFile fixes MGnuUpload/MGnuDownload fixes Push-uploads fixed (crash + incorrect function) 12.01.2002 MZ: Color - continue 11.01.2002 MZ: Color to the people! "" and '' is regarded as empty string (set command) 10.01.2002 MZ: Configuration migrated to .mutella MUI revised First effort to introduce colors/styles 08.01.2002 MZ: API fixes, terminal UI re-coded with new API Some asserts removed from MGnuDownload 07.01.2002 MZ: Cleaning up the API between the UI and the network kernel v0.3.2 16.12.2001 MZ: Global LibC mutex abuse fixed in dir.cpp AutoConnectSrvX variables added 12.12.2001 MZ: General cleanup. MGnuDownload debugging mthread.h host type detection 11.12.2001 MZ: Gnutella protocol v6 support for incomming connections 10.12.2001 MZ: MThread for Solaris v0.3.1 05.12.2001 MZ: Race condition in MAsyncFile is fixed (hopefuly) 29.11.2001 MZ: Fixed race condition in MGnuUpload -- possible crash reason Fixed pushed upload -- broken in v0.3 Fixed race condition in MGnuUpload -- possible crash reason (fixs from 26.11 did not really fix the problem) 27.11.2001 MZ: CygWin fixes -- now compiles with recent CygWin install 26.11.2001 MZ: Possible crash reasons sort of fixed in GnuDownload 24.11.2001 MZ: Exclusive searches v0.3 21.11.2001 MZ: BUGFIX: ExpandPath was missing in MGnuDownload::CheckFile which resulted on some systems in creation of "~" directory in the current path 18.11.2001 MZ: Configure fixes for term_help.c 17.11.2001 MZ: Help for options Removed unused options 15.11.2001 MZ: Warnings during compilation fixed Non-persistent properties added Terminal* props made non-persistent Version command added Conection bandwidth limiting 11.11.2001 MZ: Pipe output of a command to other program (thanks to Benjamin Charron) Limiting number of incomming connections for each subnet class. Improves network coverage. Configure scripts to inclide -lcurses when needed by term_help.h 01.11.2001 MZ: MGnuApload now uses MAsyncFile -- can share slow media Paged output support 29.10.2001 MZ: Optimized polling: FD_WRITE is removed from everywhere where it is not needed. v0.2 17.10.2001 MZ: info command refined. doc updated. 15.10.2001 MZ: configure script fixes -- seem to work on Solaris now 13.10.2001 MZ: fixed stupid memory-leak in MAsyncSocket::Heartbeat TString::format() coded to replace sprintf().. later. Vendor ID is set to 'MUTE' 11.10.2001 MZ: plugging MAsyncFile into download and upload objects 10.10.2001 MZ: MAsyncFile now is functional 08.10.2001 MZ: readline4 fix 'failed to stop thread' message removed factor 10 improved help command v0.1 07.10.2001 MZ: `library' command added UI output polishing README modified Various fixes v0.1pre 06.10.2001 MZ: initial release of v0.1