Log message:
Update aMule to 2.2.5.
Inspired by PR 41508.
Add options to enable/disable features and components.
Changelog:
Version 2.2.5 - The "never say never" version.
----------
2009-05-16
GonoszTopi:
* Fixed possible security hole when previewing filenames containing single quotes
* Fixed default webserver port
Stu Redman:
* Fixed upload of the last part of a file which he broke in 2.2.4
* Fixed setting speed limits from remote gui's tray icon
Special Thanks To:
* CroMag for pointing out the upload problem
--------------------------------------------------------------------------------
Version 2.2.4 - The "we didn't have a .4 version since... well... long \
ago" version.
----------
2009-04-03
freddy77:
* Plugged various memory leaks.
FreeToGo:
* Add comment to desktop file to allow autostart in Gnome
gabrielix:
* Compilation fix for gcc-4.3.2.
Gaznevada:
* Compilation fix for IRIX.
* Fixed file handles on IRIX.
GonoszTopi:
* Fixed compilation of Format.cpp for some platforms.
* Fixed wxWidgets socket library initialization.
* Fixed partfile importer destroying imported data.
* Separated GUI and core code in partfile importer, thus fixing
occasional crashes/hangs.
* Fixed GeoIP-enabled builds crashing on 64b boxes.
* Added another common URN ID to the Magnet link handler.
* Switch to the 'busy' cursor while bringing up the preferences
window.
* Ported several Kademlia fixes and improvements from eMule0.49c:
- Fixes on handling incoming packets with port zero.
- The Kad UDP firewalltest now asks several clients for
its external port, avoiding to get a wrong "Open"
state on NATs which change the source port on each
request but behave like a Full-Cone otherwise.
- Made sure a received Kad routing answer doesn't
contain more contacts than requested. [Xin Sun]
- Kad no longer allows more than 2 IPs from the same
subnet within one routing query reply (except on LANs).
- Kad routing query contacts are checked against the
routing table.
* Implemented non-interactive mode for amulecmd/amuleweb.
* Fixed detection of crypto++ library for versions >= 5.6.0.
* Fixed saving wrong window position when exiting while minimized.
* Fixed rare case when we tried to connect to a LowID client.
* MSW: detect WinSock API version needed by GeoIP.
* Fixed libbfd sometimes depends on libintl, with help from PacoBell.
iz0bbz:
* Fixed static linking with GeoIP on MinGW/MSYS.
* Fixed detecting GeoIP library when building for MinGW.
* Compilation fix with GeoIP-1.4.6.
Stu Redman:
* Fix crash on global search on Windows
* Fix splitter bar position in transfer window not restored properly
* Caught some insane upload requests
* Fixed finished files sometimes getting rehashed (thanks to Skolnick)
* Added restart warning if the ED2K network was re-enabled.
* Fixed Windows lag when opening preferences dialog
* Fixed creation of ED2K links with AICH (thanks to Archmage)
* Remote Gui shows a dialog box with a reason on connection failure
* Changed fix for wrong ordering/placing of clients in the download window
so that sort order is again like in 2.2.2.
Wuischke:
* Add Asturian language
* Updated INSTALL file
* When EC authentication fails, close connection before we send
the response.
* Tell the user why the EC connection failed.
Special Thanks To:
* wires for the strenuous testing on 64-bit
--------------------------------------------------------------------------------
Version 2.2.3 - The "Late Christmas present" version.
----------
2008-12-28
Alfred:
* Fixes to compile with Sun Studio 12.
Gerd78:
* Fix for linking with a static bfd library.
GonoszTopi:
* Fixed improper handling of EC connection failures.
* Fix for shells not properly handling empty lists.
* POSIX fixes in shell code.
* Made not finding GeoIP non-fatal.
* Check if --enable-geoip-static can be fulfilled.
* Fixed loading of zipped ipfilter files. Thanks to CtrlAltDel
for the investigation of the problem.
* Fixed alc progress bar for files >4GB.
* Fixed #1056: amulegui: incorrect results when searching with
min size >= 4GB
* Disable automatic sorting of dowload list while there is a
pop-up menu or file detail dialog displayed.
* MinGW compilation fix.
* Fixed GTK crash on closing search tabs. Thanks to btkaos.
LittleAbacus:
* Support multiple selections on CSearchListCtrl::OnMarkAsKnown().
Skolnick:
* Fix alc and alcc to work with files bigger than 4GB
Stu Redman:
* Fix crash when last category was removed with a completed file in it
* Fix wrong ordering/placing of clients in the download window
* Fix available fileparts display for large files
* Don't open server UDP socked if ED2K is disabled
* Reordered preferences, disabled ED2K/UPnP prefs if ED2K/UPnP is disabled
* MSVC: solution for MSVC 2008 Express edition,
project for ed2k and fileview
* Fix wrong file download rates in transfer window
* Windows: fix broken core timer, use precise tickcount
and so fix download limit
Wuischke:
* Add checks to cas to prevent segfaults
* Fix wxCas save file dialog for file types
* Fix a buffer overflow error in cas
Special Thanks to:
* btkaos and CtrlAltDel for their invaluable help in tracking off bugs.
--------------------------------------------------------------------------------
Version 2.2.2 - The "Similarity." version.
----------
2008-08-08
bomj:
* Patch for alcc to improve usability
Gaznevada:
* implement getopt_long in cas for systems which lack it
GonoszTopi:
* Fixing denoiser
* include <sys/types.h> before <regex.h> as by POSIX
* Fix noinline in crypto for some systems
* Fix display of ccache option
* Add sources from search results for new downloads
* Use output of gdlib-config for gd.h detection
* Solaris mntent fix
* wxMSW fix
* Fix NULL pointer dereference
* Fix for configure not using --with-geoip value in library check
* Added pkg.m4 from pkg-config-0.23
* Ported Kademlia Protocol Version 8 from eMule0.49b.
- Kad now ignores multiple IDs pointing to one IP in
routing request answers
- When calculating the total user count, Kad now uses
(if available) the real number of firewalled clients
for the calculation instead a fixed value. This will
take more effect when 0.49+ nodes become common
- Kad no longer tries to add UDP firewalled (and therefore
mostly unreachable) nodes into its routing table,
reducing overhead and increasing reliability [Idea: Netfinity]
- Optimized the Kad packettracking code to only track
packets which we check later, to save resources
- Fixed a bug which let Kad sometimes assume a Kad2
contact to be Kad1 after probing for both versions
- Did first small step in dropping Kad1 support by not
probing unknown Kad contacts for Kad1 anymore to save
overhead. Kad1 clients will nevertheless still be work
for now.
- Several changes were made to Kad in order to defy
routing attacks researched by University of Minnesota
guys [Peng Wang, James Tyra, Eric Chan-Tin,
Tyson Malchow, Denis Foo Kune, Nicholas Hopper,
Yongdae Kim], in particular:
- Kad contacts will only be able to update
themself in others routing tables if they
provide the proper key (supported by 0.49a+
nodes) in order to make it impossible to
hijack them
- Kad uses now a three-way-handshake (or for
older version a similar check) for new contacts,
making sure they do not use a spoofed IP
- Unverified contacts are not used for routing
tasks
- When reading a nodes.dat without any verified contacts
(possible an old file version), aMule will assume all
contacts to be verified to avoid slowing down the
connecting process
- Implemented a special nodes.dat file version suitable
for mass distribution.
* Fixed not sending sources for clients that did not announce
their part availability.
* Fixed all list columns being disabled in case of invalid data
in config file.
* Fixed directory tree not available.
Kry:
* Fixed: Incorrect SX packets sent, plus no reply to
out-of-multipacket SX as a bonus
MalaPraxis:
* Remap colours on Windows
* Add resources
* Fix wrong usage of CPath::IsOk which caused an infinite loop on Import
* Fix wxTempFile usage for compressed IPFilter files
Phoenix:
* Removed the dlopen() code from UPnP.cpp.
* Added the m4 macro to test for libupnp.
* Updated amule_build_install.sh to work with
--with-libupnp-prefix.
* Changed the UPnP code to allow the use of a service without
having successfully subscribed to it. That should be enough
to deal with some lazy router implementations.
* Do not unregister if no service is found
* Save the found service even if subscription has failed
* Fix for initialization of "resultstr" in cryptopp.m4.
* Fix for message "Duplicate partfile with hash..." in
DonwloadQueue.cpp. It was using deleted corrupted data.
* amule_build_install.sh now uses -a flag in unzip so that
cryptopp files are properly converted from DOS text format.
Stu Redman:
* Scanner fix for MSVC compilation
* Fixed crash when progress bar was resized to zero width
* Fixed sharing of large files on Windows
* Fixed free disc space check
* Sanity check before writing nodes.dat - don't write it
if there are less than 25 contacts
* Download List sorted on startup
* Splitter bar position in transfer window is restored again
* Fixed a GDI resource leak for Windows
Vollstrecker:
* Made possible to deactivate xas
* Various Updates in debian/ see debian/changelog
Wuischke:
* Show connection status in toolbar when changing skin, thanks to greek
xor:
* Fix window resize problem on Mac OS X
* Fix for packets being lost in EC communication.
Fixes aMuleGUI not updating after a while.
--------------------------------------------------------------------------------
Version 2.2.1 - The "Excuse me, have you seen my 2.2.0 release \
anywhere?" version.
----------
2008-06-11
Bas Zoetekouw:
* Patch for debian bug #350396: "amule depletes entropy pool".
brainnolo:
* Patch for loading the correct path for the UPnP libraries
in Mac.
* Added the binaries for libUPnP for Mac to the directory
aMule.app/Contents/Frameworks.
* Universal Binary ed2kHelperScript update.
* avoid removing libupnp libs during initial cleanup
(this would defeat bundling them) . It will now remove only
libwx in the Frameworks directory (which are supposed to be
from an old build).
centaur:
* OpenBSD patch.
Coronas:
* Patch to show kad status in amuleweb (Bug 1103)
* typo in src/webserver/default/shared.php
drkirkby:
* Test for gcc before including gcc specific flags on the
compiler line.
DLH:
* amulegui.xpm icon.
EastWind:
* Patch to prevent overwriting of GDLIB_LIBS
Gaznevada:
* IRIX compatibility patches
* amuleweb php IRIX patches
* Make 64-bit architecture check independant of _ABI64
Gerd78:
* Added autostart-xas to rpm .spec files.
* Patch for autoconf >= 2.60.
* Patch for redefinition of $(docdir) in docs/Makefile.am.
* Patch for aMule .desktop files.
* Added amulegui desktop icon (with Vollstrecker).
* Patch for fixing aMule spec file in Fedora and Mandriva.
* Test for perl File::Copy in configure.
* Fix for building with _FORTIFY_SOURCE.
Gnucco:
* Workaround for string serialization bug.
* Workaround for aMule does not publish new files on kad.
GonoszTopi:
* Added ability to compile amulecmd without thread support in wx.
* Fixed source seeds handling on startup.
* Proper restoration of startup locale after checking available
locales.
* Fixed linkage with wxMSW.
* Got rid of a few more warnings.
* Fixed #929: configure: BUILD_CC uses CC's CFLAGS
* Implemented #962: don't display (0) when not downloading from source
* Fixed #954 - added ability turn IPFilter on/off for servers/clients
independently.
* Added support for magnet ed2k links.
* Improve cross compilation
* Fixed segmentation fault in amuled
* Don't allow sources coming from .seeds to be cleaned up for a while
after startup
* Improve accuracy for ticks
* Improve debug output
* Don't add clients when shutting down
* Added a simple (ascii) text file reader class
* Sed denoiser - removes excessive messages from compilation -
Thanks to Vollstrecker for the idea and discussions.
* Drop path component from logged file names.
* Fix for perl v5.8.8
* wxCas compilation fixes for wxCVS
* Doxyfile doesn't need to be installed, it's unusable without the
sources.
* Fixed #979: No win32 version information
* Updated listctrl code to 2.8.7
* Fixed a buffer overflow in TextFile.cpp
* Cross-compilation fixes.
* Some little optimizations on configure.
* Re-categorized a number of strings whether they need translation or
not.
* Added plurals support.
* Removed a number of unused leftover files from the repositiory.
* Various fixes for wxMSW builds.
* Made 'make dist' work.
* Fixed 'make check' for subdirectory builds.
* Fixed manpages install/uninstall script to handle correctly
subdirectory builds and respect the --program-transform-* switches.
* Fixed a minor bug in the denoiser script.
* Fixed several portability issues in scripts.
* Fixed keeping the preferences in sync with tray icon existance.
* Removed a check that wasn't ever valid.
* Fixed #651: Wrong expansion in statistics.
* Fixed #1082: Events in preferences have layout problems.
* Fixed debug categories being added multiple times to the checklistbox.
* Fixed translations on MSW.
* Languages are not sorted anymore, but displayed in their own name.
* Fixed a number of gcc4 warnings.
* Fixed amuleweb compilation on MSW.
* Added checks for a POSIX compliant regex library.
* Fixed #1289: amule fails to build on non glibc systems (e.g. uclibc)
* Hungarian translation.
* Allow generating feedback from shared files.
* Ported Kademlia2.0 Protocol Version 7.
* Fixed 'bad file descriptor' error on Mac.
* Unittest for the Kademlia::CUInt128 class.
* Added kademlia and obfuscation status to the client details.
* Fix for bars positioned 1 pixel too low.
* Added a small debug utility to display contents of mule files (kad
only yet).
* Fix for #1184; fixed both ed2k and kad searches for >4GB files.
* Proper detection and usage (if possible) of strerror_r()
* Added English names to the language selector - for the curious ones.
* Fixed some memory leaks.
* Got rid of the deprecated HAVE_GETTEXT macros.
* Added gettext support to amuleweb.
* Added preferences option 'Allocate full size'.
* Added crypt overhead to statistics, UDP only for now.
* Added checks to prevent downloading large files to file systems not
supporting them.
* Added check for NetBSD systems.
* Heavy rewrite of autoconf/automake stuff.
gtoso:
* Fix for GeoIP crashing if the default GeoIP.dat file cannot be found.
* Patch to find GeoIP.dat in the application bundle.
Hermit:
* Patch for amulecmd history which ensures that when the same command
is repeated several times in a row it only gets recorded in the
history once.
jcoy:
* Set download priority in amulecmd.
ken:
* Fixed control-clicking (right-clicking) on tabs in notebooks on the
Mac.
* Compilation fix for MacOSX 10.3
* Fixed a crashing bug with static initialization order
* Ship the license as required by the GPL.
* Fixes linking of embedded CryptoPP (on the Mac, if nowhere else).
* Quick-n-dirty hack for stats graphs on the Mac.
Kry:
* Protocol Obfuscation (enabled by default)
* Large file support (>4GB)
* Disabled auto-update of servers from clients and other servers by
default.
* Fixed a bug while getting sources for large files (>4GB)
* Fixed mldonkey_importer to work with mldonkey >= 2.7.6
* Improve exception handling
* Added a column on client view that shows if the user has reported
having disabled shared files.
* Disable the "Show files" option in context menu if the user has
reported having disabled shared files.
* Add generic CTag classes support for Kad data types
* Remove kad IO classes
* Safety on memfiles created from packets
* Fixed publishing and sending shared files requests
* Fixed Unittest
* Update audio and video types
* Update EC to use the equivalent of VBT tags
* Fix ID sending on hello packet to use the hybrid ID instead of plain
ed2k id
* Fix a bug on sending info to other clients on file list request
* Upgrade lex generated code
* Add the --reset-config flag
* Modified getclosetsto() fix, originally by tatikiran
* Changes to flex parsing of search expressions.
* Fix several missing variable initializations
* Swap bytes for int types in EC code
* Lower reask times
* Fix Memleak in ECSocket
* Extend amulecmd with 'show log' and 'reset' command, originally by
quinox, bug #856
* Usage of HOSTCC for compile-time executions
* Created translation status scripts
* Move server packets to the back of the UDP queue if the server is
still resolving a dynamic host
* Script to wikify changelog
* Separate ECTag from ECPacket
* Fix crash on startup
* Fix several rare memleaks
* Fixes on Kademlia keyword store
* Initial Kademlia 2 integration
* Remove duplicated SendPacket functions in Kad
* CPacket uses const CMemfile reference instead of pointer
* Fix for (rare) bogus packets being send on kad
* Fix for empty packets in Kad Search
* Fixed server IP for EC
* Don't destroy shareddir.dat on remote GUI, bug #945
* Incorrect percentage displayed by amulecmd for files > 4Gb, bug #949
* Ask user to download server list when list is empty and ed2k active
* Support automake 1.10
* Reorganization of EC code
* Added script to generate EC files for different programming languages
(C#, Java and C++) from an abstract language
* Dropped support for < wx2.8.x (in case you want to blame someone)
* Added remote gui datastructure for new classes.
* Fixed compilation with wx2.9, also with disabled 2.6 comatibility.
* Heavily modified IP2Country code.
Proper names, guards, creation on the heap... etc.
* Added script to create Kad nodes files
* Fixes for emule-collection support
* Added some sanity checks
* Source links with crypt data support.
* Fix Mac build
* Remember kad and ed2k urls and restore them on restart.
* Force conversion to be ISO8859 for tag names, obvious from the network
standards. This also fixes Kad.
* Changed the inheritance for the UDP sockets to include the encrypted
layer
* Fix for MuleGifDecoder issue
* Windows fixes
* Added OnO patch for Toolbar display.
* Fixed validation of preferences items for wxWidgets 2.8.4
* Fixed cryptopp version recognition on Mac.
* Finish Protocol Obfuscation including GUI
* Fix base for emsocket
* Disable bison generation on Mac
* Endian fixes
* Fix compilation on wxCocoa
* Make obfuscated state persistant
* Change preferences order, add debug info
* Fix getsources with large files
* Add message on triggering new version
* Fix spelling
* Fix Windows compilation
* Remove backups before moving logfile
* Fix compilation
* Fix for connecting to servers if encryption is required
* Fix memleaks
* Use proper base class
* Remove unmaintained translations
* Honour data root settings to remove warning
* Make code compatible to MSVC
* Fix to avoid losing packets
* Avoid multi line strings in GUI to allow MSVC compilation
* Fix wxIPV4address usage where amuleIPV4 is unnecessary
* Change CVS string to SVN
* Adjust MuleDebug
* Fix file types due to overloads of EC
* Moved browser preferences to "Browser/" section on config file.
lfroen:
* Fix partcount not being set in remote gui
* Use only one EC library with amuleweb
* Fix LastSeenComplete
* Fix for NonCurrentSources
* Fix incorrect cookie parsing for amuleweb
* Fix passing strings in EC
* Lock webserver when serving images
* EC implementation in C# (work in progress)
* Fix preferences in amuleweb
* Fix EC crashing webserver when new item added
* GUI implementation in C# (work in progress)
* Implementing split() call
* Compilation fix for MuleGifDecoder
LittleAbacus:
* Patch to show part file numbers.
* set the search string to the search text of currently
selected tab.
magicamule:
* filtered off comments still affect rating
MalaPraxis:
* Fixed some cases where the full IP of a new client would be shown
incorrectly.
* Added a "System Default" option to browser selection that uses
wxWidget's capabilities.
* Fix MSVC compilation errors
* Don't use wxFile flush on Windows
* Toolbar fixes to fix assert on Windows
* Use better defaults for preferences
* Simplified minimize/raise code, remember maxmimized status between
sessions.
* Make sure starting points are inside screen and sanity fixes
* Fixes to view/restore, original function doesn't skip
* Final fixes to Iconize()
* Fix for broken native counter.
* Change data types to clear warnings at /W4 on MSVC
* Cleared MD5_ functions to use standard memset/memcpy
* Cleared types, added asserts for debug, remove unused functions
* More warnings cleared and more asserts
* /W2 fixes on main MSVC project
* Fix compilation of aMuleGUI
* Enable compilation with wx 2.9
* Fix Kad1.0 and Kad2.0 search types
* Enable dynamic GUI reordering when networks are disabled
* Disable packing of non-POD structures
* Change structures with constructors to classes
* Small MSVC fixes, major speedup and adjustment for networks
* Don't use ++ to modify a var value if you assign to same var
* Speedup for some classes as copying is unnecessary
* Further fixes for VS
* Fix notebook logs/info tabs display
* Better macro use
* Add MSVC solution and readme
* Fixed bug on socket event GetResult(), MSVC fixes on files
* Fixed direct callback for type 6 sources for Kad2.0
morricone:
* Fix for wxwin.m4 not autodetecting wxBase.
mr_hyde:
* Patch to enable Kad search with amulecmd.
* Fix for some man pages have wrong name with
--program-suffix.
* Temporary fix for tarball configure.in using SVNDATE.
Nodsu:
* Patch to make amulecmd cancel/pause/resume work with many
files and file names.
* Patch to enable preview in remote GUI.
* Patch to create the magic string $file in previews. This
string is replaced with the file name in the command line,
in case it exists.
* Patch to prevent amule compiled with --disable-nls from
crashing.
nvinay:
* Trivial issue with memset found using google codesearch which may
affect only the debugging.
Phoenix:
* Fix for crash in amulegui/DownloadListCtrl.cpp.
* Upgraded extern/listctrl.{cpp,h} from wxWidgets cvs code.
* Fixed some gtk2 warnings in extern/listctrl.cpp.
* Fix for unhandled exception in new skinned toolbar code.
* Coding style fixes.
* Fix for server disconnection during global search.
* No more wxARRAY's in amuleweb.
* Fixed bug in mutex code in amuleweb (s_mutex_wcThreads).
* No more wxARRAY's in aMule code.
* Fixed bug in ECPacket.cpp: assignment inside assertion.
* Changed CECSocket constructor to be exception safe.
* Fix for invalid rectangle size on COScopeCtrl::PlotHistory().
* Removed the default constructor for Kademlia contacts.
* Fix for "get bwlimits" command in amulecmd always returning
zero for maximum download value.
* Added UPnP support.
* Fix for crash in ECSocket.cpp.
* FileDetailDialog:: now has more intuitive Apply, Ok, Cancel
interface.
* GUI to enter a specific bind IP in
"Preferences->Connection->BindAddress".
* Resurrected support for the tag FT_DL_ACTIVE_TIME in the met
file. It's value, the download active time, can now be seen
in the file details dialog.
* Added the DLACTIVETIME variable to the list of replaced
variables in the DowloadCompleted user event.
* MuleTrayIcon.cpp was not compiling for __WXMAC_CARBON__.
Seems to be fixed, but must be the code now has a lot of
ifdefs and must be tested on other platforms.
* Added two more events: "out of space in temporary partition"
and "error upon completion".
* Fixed a crash in amulegui when adding a new category.
* Fixed a bug in amulegui, removing a category remotely did
not update the category count in amule.conf, so the next
time amule was run, the category was there again.
* Fixed a bug in toolbar skins, the skin file was opened even
when the checkbox "Use skins" was not checked.
* Fixed a crash related to MuleGIFDecoder wx-2.8.0 when
downloading the file IPFIlter.dat.
* Fix for ECSocket.cpp, amulegui was crashing upon entry.
* Fix for ClientDetailDialog in amulegui. Was showing
incorrect IP / Server / Software version information.
* Switch binding of UPnP libraries to use one digit version
names instead of unversioned names.
* Fix for crash in amuleweb when the image file did not exist.
* UPnP add/delete port mappings are now done in every device
found, instead of only the first one.
* Creation of --enable-upnp/--disable-upnp configure flag.
* Update of wxWidgets-2.6.3 deprecated code to version 2.8.2.
* Fixed IPFilter.dat loading from a zipped file.
* Added a termination process to wxExecute() calls, so that we
no longer leave zombies.
* CDirIterator now uses wxDir.
* CheckDirExists() now uses wxDir::Exists().
* CheckFileExists() now uses wxFile::Exists().
* GetLastModificationTime() now uses wxFileModificationTime().
* GetFileSize() now uses wxFile::Length().
* UTF8_CopyFile() now uses wxCopyFile(). Later reverted for locale
fixes.
* UTF8_RemoveFile() now uses wxRemoveFile(). Later reverted for locale
fixes.
* UTF8_MoveFile() now uses wxRenameFile(). Later reverted for locale
fixes.
* theApp is now a global pointer, so that we can access the
global application object from within a core file.
* Partial fix for the COLORREF compilation problem on Windows.
* Fix for libpng version detection on acinclude.m4. It was
failing for strings like 1.2.15beta5 (e.g., debian 4.0 etch).
* Fix for theApp variable usage in amulegui. It was not beeing
initialized and amulegui was segfaulting.
* Fixed the forum address in the backtrace print.
* Applied Bas Zoetekouw's patch for debian bug #350396:
"amule depletes entropy pool".
* Implemented IP2Country using GeoIP.
* When converting from multibyte to wide characters,
ConvAmuleBrokenFileNames now tries UTF-8 first. If this
fails, then it tries ISO-8859-1.
* New directory based skin support, reworked Trevino's patch.
* Fixed amuleweb crashes due to bug in ECSocket.cpp
* Code to refresh port mappings in the event of a temporary router
failure
* Code to deal with previously unhandled UPnP events.
* Fixed remote-gui segfault in UpdateStatsTree()
* syscall_check is no longer a macro
* Fixed a serious bug introduced by ENABLE_UPNP Makefile.am switch
* Fix for libpng version detection on acinclude.m4
* Fix for server list and node list
* Made some common dialog modals and giving them a default style
* Handle different UPnP library versions
* UPnP for amuleweb.
* Fix for crash on exit and a little less redundancy.
* Trying to make listctrls behave on Mac.
* Fix for CheckFreeDiskSpace(). Was probably returning ok if
the directory where the file would be saved did not exist.
* Fix for overflow in CPartFile::HashSinglePart() as reported
by visualage.
* Fix for overflow in CSharedFilesCtrl::DrawAvailabilityBar()
as reported by a3linux, CtrlAltDel and stefanero. Special
thanks to a3linux for the backtrace.
* Improoved the macro CHECK_CRYPTO() in acinclude.m4.
* Fix for the check of cryptopp library version in
configure.in.
* Rewrote the cryptopp m4 stuff.
* Fixed some memory leaks related to the use of
CTerminationProcess.
* Fixed the usage of CryptoPP::Base64Encoder when creating the
key pair for ClientCreditsList. cryptopp semantics is to
give the ownership, so do not create objects like this on
the heap.
* Fix for amuled creating zombies. wxProcess does not work
with wxBase.
* wxProcess now receives OnTerminate() events in amuled.
* Created a specialized termination process object for
amuleweb, so that amule does not kill the web daemon if it
has already died. This fixes a segfault upon exit.
* Changed the amule_build_install.sh script to work with
distro tarballs for release.
pochu:
* Fix for subdirectory builds.
Radek:
* Patch to fix windows compilation.
Raziel:
* Adapt Kad code to the standard coding guidelines.
* Work on EC API
spiralvoice:
* Patch to enable MLDonkey os_info support.
Skolnick:
* Added the time to the aMule stats in the wxCas window and
in the generated image.
* Added the time to the aMule stats in the cas output and
in the generated image
* Added option to generate image in JPG format (along with PNG)
* Added new icon for aMule
Stu Redman:
* Fix for Transferred / Completed not updated in remote GUI.
* Fix for PARTSIZE not being 64 bits. Enums are always 32
bits, even if we use a 64 bit constant to initialize it.
* ratings/comment marks are now shown in the main transfer
window of the remote-gui (the little colored !! on the left).
* comments are now updated when comment packets arrive (not
only when the show comment dialog is open).
* remote names are now updated once on startup. So there is no
more 3s lag until the names are shown when the dialog is
opened for the first time.
* ED2K/Kad User/Filecount is now shown in the remote-gui status
bar and on the Kad Tab.
* Fix for crash on receiving zero-sized UDP packet.
* New BarShader code.
* Sparse partfiles on Windows.
* Fix for zlib detection with an optimizing compiler on configure.
* Made all part-status bars look the same.
* File names in file detail dialog can be scrolled without
messing up the list control
* Fix for copy constructor
Tiziano Müller:
* Fixed compilation when --enable-geoip is used in conjunction
with the ld-flag "--as-needed".
Trevino:
* Fix for "Both the Unknown client icon and the Unknown status
icon points to the same file" issue.
* Skin support with relative paths.
visualage:
* Fix for aMuleWeb unicode search/download link error.
* Fix for aMuleWeb segfault when refreshing too frequently.
* Fix for regular expression in aMuleWeb-PHP/split function.
Vollstrecker:
* Added possibility to give the path for output right with
-p or -o in cas.
* Changed cas to use getopt_long.
* Added --config-dir and -c option to cas.
* Added alias -H --html to cas.
* Added alias -P --picture to cas.
* Added --config-dir and -c option to ed2k.
* Added --config-dir option to amuled.
* Fixed typos in the man pages.
* Added manpage for amulegui.
* Added amulegui desktop icon (with Gerd78).
* Manpages update.
* Add debian folder.
* Correct use of libcrypto >= 5.5 and update of debian-dir.
* Added Option to use generic ipfilter.dat.
* Made possible to select which translations get build and
installed.
* Install only manpages in requested Langs.
wuischke:
* Add emulecollection support on aMule ED2K Links Handler
* Fix online signature update rate
* Fix display of filesize > 4GB in file detail dialog
* Fix toolbar import/about icon order
* Add option to load emulecollection in SharedFilesCtrl
* Add oga and ogv extension for file type search
* Allow skin/webserver template section via wxchoice + skin enhancement
* Some error messages rephrased, to improve readability
* Fix idle mode for UBT
* Fix Ctrl+a in MuleListCtrl
* Replace (f)lex by $(LEX) in Makefile.am files
* Fix libUPnP unloading.
* Fix building with external CryptoPP
* Ship skins with tarball
* Convert skins shipped with aMule to new format
* Display file size in human readable format in FileDetailDialog
* Make SVN compile again
* Some skin code improvements
* Added upload feedback
* Added option to enable EC and set pass in amuled
* bugfix for ec-config option
* Removed GetLocaleDir()
* Zipped skin format
* Fix utf8 problem with file names
* Fixed toolbar display with skins when blinking on incoming message
* Fix #1114, missing break statement, thanks to mr_hyde
* Add option to filter file comments
* Allow compilation against wxBase
* Remove Source Dropping
* Allow usage of local config dir
* Display log message in bold when using local config dir
* Extend range for slot allocation, change default value
* Change Kb to KB
* Suppress skin directory error
* Add Upload feedback
* Fixed GetFeedback
* Correct some spelling mistakes
* Always use SecIdent
* Re-Add option to disable SUI
* Fix sharing files with extended characters
* Fix utf8 problem with file names
* Mark cancelled/removed files grey in search
* fix search colors implementation
* Add maintainercleanfiles for make distclean
* Fix comment icon order and use unitary width for display
* Fix rating display in SearchListCtrl
* Fix permission check on Vista
* Fix compilation with mingw
* Check for and use SVNDATE in tarballs
* Move include up to allow compilation on mingw
* Fix compilation with mingw32
* Fix compilation on Mac
* Fix compilation in ClientListCtrl.cpp
* Fix linking on Windows/mingw32
* Fix linking of amulegui for Windows
* Fix problems with collections using CRLF line endings on *nix
* Fix compilation for gcc 4.3
* Dirty compilation fix for gcc 4.3
* Fix compilation on OpenBSD (and probably other Unix)
Xaignar:
* Renaming the SearchList typedef to CSearchResultList
* Splitting CSearchFile out from SearchList.* to SearchFile.*.
* fix initialization of member variables in CSearchFile when
creating on remote gui.
* Call GetLength safely when sharing files
* Added support for child results to CSearchListCtrl
* Major cleanup of CSearchList
* Add logger target for the thread-scheduler
* Add smart pointers CScopedPtr and CScopedArray
* Fix possible crash due to pending events
* Fix accessing empty list in CMuleListCtrl
* Add support for displaying large files with CBarShader
* Improved sanity checking and simplified exception-handling
via CScopedPtr and CScopedArray.
* Major reworking of threads, add a thread scheduler for
IO intensive tasks, improve thread-safety for AICH-sync thread
* Fix FileIO unittests and add test of const CMemFile objects
* Update AICH from eMule-0.47a Beta1
* fix positioning of individual frames
* Improved exception handling
* Updating the FindMatchingClient function
* Avoid dangling pointers in case of asserts failing
* Updating CFormat to properly handle 64b ints on all platforms
* Fixing CFile::GetAvailable if position is past EOF
* Fixed possible use of uninitialized variables
* Adding template function for freeing the contents of a list/map
* Remove CList
* Fixing a couple of infinite loops
* Fixes file completion under amuled
* Add locking to the ED2KLinks file
* Removed multiple macros for array size
* Removed the CMD4Hash from wxString constructor
* Add swap function to CRangeMap
* Reworking of the notify-code
* Optimized and simplified adding of shared files to the listctrl
* Remove partially copied files when a UTF8_CopyFile fails.
* Drop the file/directory permission settings, use umask
instead.
* Fixed loading of version information for servers. Previously
the information saved in the servers.met file was ignored.
* Fixed problem with reading ST_AUXPORTSLIST tags for servers,
where empty tags would cause the existing server-port to be
overwritten, thereby preventing connections to that server.
* Fixed linking of libmuleappcommon, which would previously
include GUI related symbols, thereby breaking amuled in some
cases.
* Added fuzzy sorting method for strings, currently only used
for sorting server-version information.
* Fixed sorting of the "Static" column on the server-list,
which didn't conform to 'strict-weak ordering'.
* Added missing catch-statements in places where subclasses of
CSafeDataIO was used, thereby preventing crashes in case of
funky files/filesystems, such as network drives only
supporting up to 2GB files. (closes bug #878 and #1205).
* Fixed opening of the Help-page when modifers were applied to
F1, which was causing conflict with various system-wide
shortcuts (this closes bug #1200).
* Used -isystem to mark wxWidgets and Crypto++ include files
as system-files, thereby reducing the number of warnings
generated by these includes.
* Fixed the shared-files-list ctrl assuming that all items
were part-files when creating feedback, which could cause
wrongful casts of CKnownFile objects.
* Changed from using signed longs to store pointers in
wxListCtrl, to using wxUIntPtr, which is guranteeded to be
able to contain pointers on all platforms.
* Fixed unicode-chars not being registered by key-events for
wxListCtrl (applied to our local copy).
* Fixed various problems with using arrow-keys and other
control-keys on the listsctrls in aMule.
* Fixed checks for changes in .part files between runs, which
previously was entirely broken (checked both wrong
timestamps and files).
* Fixed saving AICH-hashsets to an empty file, where buggy
sanity-checks were causing the result to be discarded.
* Improved the CreateHashFrom* functions, preventing the
hashing of empty files, and accessing an empty vector.
* Added a workaround for a bug in wxNotebook, which would
cause the selection returned in page-changed events to
sometimes be invalid, thereby causing aMule to crash when
attempting to access an non-existing page. This should fix
some crashes assosiated with closing search-result tabs.
* Dropped the internal Crypto++ libraries. Most distros have
it these days, and it's just another headache for us to
support (and was becomming pretty outdated).
* Improved checks for NULL points in CClientListCtrl.
* Fixed some poor english in various logging messages.
* Improved thread-safety in various classes, in part because
wxString isn't threadsafe, and we use that class a lot.
* Added support for writing 64-bit ints in CTags, which was
needed for some server-packets.
* Improved debugging-information support in CTag.
* Fixed saving/loading of 64-bit ints for Kademlia, which were
sometimes sent as binary blobs. Previously, we would read
from the net and save them to 'src_index.dat' just fine, but
would fail when it came to reading them from
'src_index.dat', resuling in that file being unreadable.
* Fixed the corruption of some tags (mostly Kademlia), where
the tag-names were wrongly saved as UTF-8, though they
should have been saved unchanged. This closes bug #1188.
* Applied various fixes to better conform to ANSI-C++.
* Fixed repeating of CPPFLAGS when compiling with GeoIP
enabled, which caused problems when -pedantic was used.
* Fixed a couple of small memory-leaks in UPnP (bug #1230).
* Added the "printf" attribute to printf-like functions in the
webserver code, allowing for compile-time error-checking.
* Fixed potential crashes that would result from server
connection attempts that timed out before the hostname
lookup returned.
* Worked around crash in the taskbar icon, which would trigger
if the kicker crashed.
* Fixed safehash-check for files greater than 4GB.
* Added support for pretty-printing of classes to CFormat.
* Added a class for the transparent handling of paths, needed
because we want to be able to handle both mangled (saved in
the wrong locale) and normal filenames. This should fix
problems with accessing files with extended chars in the
filename.
* Added warning in case port could not be bound to the
hostname specified in the preferences.
* Made outbound connections use the hostname specified in the
preferences. Is possibly not fully functional.
* Fixed memory-leak when adding invalid ED2K links.
* Fixed crash when the hashing-result from a now deleted
part-file was returned.
* Allow the update of the server-list from the remote gui.
* Optimized file-syncing, by only flushing the file contents,
rather than the meta-data (timestamps, etc).
* Fixed possible redefinition of the VERSION define.
* Fixed redundancy resulting from the use of two different
list of file-extensions, used when determining the filetype.
* Dropped support for importing configuration files, and the
like, from older eDonkey and *Mule clients, as most of these
were extremly old.
* Re-added double-buffering for listsctrls, in a manner that
should hopefully avoid the problems seen previously.
* Fixed missing unicode-convertion on a number of packets when
sending to unicode-enabled clients.
* Fixes passing of the error-code to OnReceiveError in
CMuleUDPSocket::OnReceive.
* Improved handling of invalidated (closed) UDP sockets, caused
by the fact that wxWidgets errorously treats empty datagram
packets as EOF.
* Fixed setting priorities for part-files on the remote gui
(this resolves bug #1251).
* Improved debugging information when using CFormat.
* Rewrote the CTextFile class, improving the reading speed,
and adding the functionality for writing files.
* Improved sanity-checks in the CQueuedData class, thereby
preventing the possibility of memory-corruption resulting
from mangled packets.
* Added autoconf check for broken exception-handling.
* Added subclass of Cfg_Str for loading/saving paths.
* Added functions for checking permissions of dirs/files, and
for retrieving the free space at a given location, to CPath.
* Increased minimum free size needed before writing ".met"
files from around 5KB to 100KB, as ".met" can easily be
much larger than 5 KB in size.
* Improved checks for permissions of directories, and insured
that the fallback directories are also checked in the case
were the user-specified directories are inaccessible.
* Changed temp/incomming dir variables to "CPath"s, using the
previously added Cfg_Path class.
* Fixed spurious warnings caused by not checking if certain
preference files existed before trying to read them. Also
removed an unnessesary warning for when known.met doesn't
exist.
* Added wrapper-class for wxThread, to allow us to safely
terminate joinable threads without using Delete, a function
that is only intended for use with detached threads.
* Fixed cancelled downloads being reported as succesful.
* Fixed warning about dirs without shareable files, in the
case where there were sharable files, but they were all
duplicates.
* Added support for saving directories (shared, incoming, etc)
as well as the filenames of known files in an
locale-independant manner, so that changes in locale does
not affect our ability to find previously used files or
directories. This will break backwards compatibility when
using unicoded directory-names.
* Fixed the search-string being cleared when starting the
first search.
* When starting a search, the entire search string is selected.
* Fixed creation of ED2k-links with an AICH-hash, in case the
file does not actually have a AICH-hash. Also disabled the
option in the shared-files window when the file lacks an
AICH hash.
* Removed workarounds for old (and resolved) wxWidgets bugs.
* Fixed creation of ED2K links without sources, where an
superflous "|/" would be appended to the end of the link.
* Fixed handling of spaces when creating ED2k links.
* Fixed swapped notify-functions, which caused deleted
client-objects to be left on the upload-queue on the GUI.
* Improved enabling/disabling of items on the right-click menu
on the download queue. Among other things, it is now
possible to stop a paused download, without having to
restart it first. This closes bug #1078.
* Fixed the setting of priorities for shared files via the
remote GUI. This resolves bug #1267.
* Fixed clipping issues when columns are resized to very small
width, causing the contents of one column to be drawn on top
of the next column. This closes bug #1171.
* Fixed copying of text to the clipboard, which previously
used the "primary" clipboard (middle-click) under X11. It
now uses the default clipboard, which is what DEs typically
use for Ctrl+C/V/X. This resolves bug #1139.
* Improved the displaying of the connection status, and fixed
problems where the status of only one of the active networks
would be displayed. This resolves bug #981.
* Fixed percentage display of available parts in the
file-details dialog, where the decimal portion of the value
would always be zero. This resolves bug #1060.
* Improved thread-safety of the AICH-sync thread on amuled,
and prevented the possibility of deadlocks in a few cases.
* Fixed bug where the preferences dialog on the monolithic
client would not be updated, if the preferences had been
changed via EC after the dialog had been first shown.
* Added support for protocol-obfuscation configuration via
the EC protocol.
* Fixed problem where obfuscation of out-going connections
could be enabled even if obfuscation support was not,
leading to clients being wrongly dropped.
* Fixed check-boxes in the preferences dialog for the various
obfuscation options not being updated, when one of the other
obfuscation check-boxes were checked/unchecked.
* Added the ability to update the nodes.dat file, and
bootstrap from specific IPs, when using the remote GUI.
* Added saving/loading of the previous URLs for the server.met
and the nodes.dat files, when using the remote GUI.
* Allow for the creation of ED2k-links on the remote gui.
This resolves bug #893, #567 and #584.
* Fixed link-creation for kad-only clients.
* Fixed drawing of the grid for statistics-graphs on wxMAC.
* Reduced needless offscreen drawing of statistics-graphs.
* Fixed possibility of misordered points on statistics-graphs.
xor:
* Fix for crash on amuled when starting up kademlia.
* Fix for crash when creating backing bitmaps for graphs.
ycjhi:
* fix for OSX aMule-CVS-20071115 fails in loading libixml and
libupnp.
* fix for aMule-CVS-20071115 doesn't update server.met on
startup.
Special Thanks to:
* GeVauDan and gulp for their incredible 'litoral' webserver skin.
* FreeToGo for implementing the first version of IP2Country on
the forum.
* Mark James (http://www.famfamfam.com) for providing the
flags icons and mischamajskij for his unknown icon
* deloun and mischamajskij for their work on aMule skins and
icons for aMule
* Dimitrios Galanakis for his work on language improvements
* Bun Bun, for being there to tell me I'm not stupid.
--------------------------------------------------------------------------------
Version 2.2.0 never existed. It was a temporary numbering for the SVN version \
between 2.1.3 and 2.2.1
|