Saltar al contenido principal

aMule 2.0.0-rc4

· 15 min de lectura

Release name: The 'Mules and rabbits like apples too' version

alehack:

  • Patch to show extra QR info
  • Patch to colorize the download list

aquatroll:

  • Fixed includes for Win32 compilation
  • Cleaning of unused variables on Win32
  • Fixed compilation on Win32

Citroklar:

  • lots of unicode slave work ;)

croakerc:

  • Fixed OpenBSD compilation

deltaHF:

  • Added websearch function (filehash.com)
  • Added jugle.net as Fake-check URL
  • New buttons added:
    • reload sharedfiles
    • switch upload/uploadqueue
    • clear completed files
  • Added 3 new columns in upload window (Client Software , Upload/Download , Remote Status)
  • Added 'Client Software' column in upload-queue window
  • "Asked for another file" on sources now with the filename that is asked for ( i.e. A4AF -> xyz.avi)
  • Added 'copy file feedback to clipboard' function
  • Added new Toolbar icons [ thx to http://www.everaldo.com ;) ]
  • Added icons in Preferences
  • Download menu changed
  • Work on skin support

falso:

  • Typo fix: bandwith to bandwidth

hellimod, one_2_one:

  • MacOSX support

Hetfield:

  • Fixed unicode issues on SysTray.cpp, now apps is really unicoded!
  • deleted separated i18n stuff from SysTray, now uses global one
  • Fixed 2 memory leaks in SysTray
  • updated italian and napoletanean translations
  • Fixed unicode issues in serverlist updates and download tab
  • Fixed unicode issues that stopped adding files to download from ed2k utility and internal link handler

Jacobo221:

  • New feature to open webpages in new tab instead of new window
  • Fixed a compatibility bug in OnlineSig with eMule's and added connecting support
  • Fixed bug in Statistics limits in Preferences
  • Fixed bug in Upload/UpQueue button
  • Fixed SERV.4 bug
  • Fixed DISP.14 bug
  • Added DOS compatibility into CAS and update onlinesig support
  • Several features in XAS (see XAS's changelog)

Kry:

  • Fixed wxWidgets 2.5.x socket code. aMule now works on wx2.5.1 perfectly, wx2.5.2 introduces some GUI bugs.

  • Rewrote Preferences engine to be much nicer, and Mac compatible :) Thanks to deltaHF for the new icons.

  • Added a hack to make new preferences work on wxWidgets 2.4.2. I hope we can get rid of wx 2.4.2 soon ;)

  • Wrong .part.met files no longer make aMule abort on startup. Now a warning is displayed on log and aMule ignores that file.

  • Added the new compatible client flags tag agreed with lphant devs and eMule devs. xMule devs refused to use it.

  • Overloaded the wxSocketClient::Destroy to a safer version, to check cases when deletion is not called from Destroy()

  • Fixed the disconnection of clients that have MS_CHATTING state.

  • Fixed the usage of QueueLogLine fucntion to avoid crashed on too fast computers ;)

  • Remove spaces from search string start and end.

  • Remove spaces from ed2k links start and end.

  • Fixed a mem corruption due to lphant icon size (we all know lphants are big)

  • Splitted internal core and GUI events

    • Socket events mover to core
    • Timer got separated into core_timer and gui_timer, each one with the matching functions.
  • Fixed UDP socket handler being... the TCP handler. Since lmule times.

  • Delayed deletion of sockets to avoid async deletion issues that happens when Destroy() is called on a event

  • Fixed several rare crashes happening on some fast computers on shutdown aMule.

  • Added a debug function to get track of double-deletion of clients.

  • Socket handlers now stop notifying new events when Safe_Delete() is called.

  • m_pszUsername inited before a new call to handle 'new' exceptions correctly.

  • Added a hack on IsRunning() to check for current app object not existing yet (or deleted on shutdown)

  • Fixed all icons to be 16x16 to avoid asserts on 2.5.x for unmatching wxImageList sizes.

  • Fixed all wxImageList sizes to avoid asserts on 2.5.x on object construction.

  • KnownFileList takes account of the duplicates now, so those are not rehashed each time anymore.

  • Fixed EC password not being shadowed on preferences.

  • The preferences dialog should be resizable now.

  • Updated lphant stats to show the version as they added the extended version tag.

  • Fixed 1 double-delete on ListenSocket, when socket is not connected.

  • Each socket has its own handler now. Much safer and faster.

  • Fixed hashing thread implementation to make it shutdown safely.

  • Fixes on geometry handling to make it work properly from commandline.

  • Fixed minimize to tray to work properly with no more double-minimizes.

  • Coded the skeleton of the core/gui separation event system, improved by lfroen later.

  • Fixed CString implementation for operator '+'

  • No linking cas, wxcas and ed2k against crypto, please :) Fixed.

  • Lots of speedups on ClientUDPSocket handling, someone went paranoid and added lot of redundant code.

  • Changed most of the wxT("") to wxEmptyString

  • Fixed the splitter position and client size on restart.

  • Fixed compilation on wxWidgets CVS

  • Fixed amuledlg not being set to null + moved the init to beginning on amule.cpp

  • Fixes mem corruption and crash on PrefsUnifiedDlg

  • Fixed missuse of inet_addr on BaseClient.

  • Fixed crash on stats disabled

  • Reduced memory usage with a centralised icon handling.

  • Fixed wrong var type on EMSocket.h causing mem waste.

  • Fixed bug on SetFileSize (thanks to Pichuein on eMule forums)

  • wxWidgets 2.5 compatible CDirectoryTreeCtrl. WARNING- NEW BEHAVIOUR IS: LEFT CLICK ON ICON -> SHARE, RIGHT CLICK -> RECURSIVE SHARE Also made the icon red if the folder is shared.

  • ModString fixed - Now mods identify themselves correctly.

  • As xMule now identifies as eMule 0.0a, added xMule detection based on username and modstring to keep stats coherent.

  • On debug builds, client stats now show the amount of clients with open socket.

  • Changed theApp.glob_prefs->GetAppDir() to theApp.ConfigDir for speed improvements.

  • Fixed crash on empty shareddir.dat

  • Fixed listen socket being processed before created on fast computers and thus causing crashes on startup.

  • Fixed server version tag.

  • Added frame name to the aMule main window to be handled correctly by X server

  • Fixed a crash on log file re-creating on startup.

  • Fixed the update of the categories tab names to show the file count and the downloading files.

  • Fixed the update of the categories tab names tp happen only when needed to save cpu.

  • Changed several vars and functions to const for speed improvements.

  • Enter button working now for web search.

  • Added a check to disconnect clients sending non-hello packets before finishing handshake.

  • Added preferences items for the upcoming Skin engine.

  • Fix from lugdunum to avoid blacklisting on servers because of key repeat on pressing enter for search :)

  • Use generic BSD wx preprocessor define to make aMule FreeBSD and OpenBSD compatible.

  • Fixed Incoming folder not being shared on strange situations.

  • Fixed usage of '/' instead of '' on Win32 builds.

  • Made file comparison case-insensitive on Win32.

  • Better fitting of notebooks

  • Fixed shared files reloading to stop being dependant of buttons/labels

  • Socket handling now deletes the client if connection fails ;)

  • Fixed some wxSizer usage causing compilation compatibility problems between wx 2.4.2 and 2.5.x

  • aMule now filter bad ips on source seeds.

  • Autoconnect and onlinesig are now on by default.

  • Added a check on graphic stats drawing to avoid crashes if no DC is created yet.

  • aMule now uses crypto++ for MD4 calculation (faster, and endian safe)

  • Added two sanity checks for source drawn with no reqfile associated, avoiding crashes.

  • Fixed mem corruption and possible memleaks and crashes on file comments received.

  • Fixed a BAD and UGLY and EVIL mem corruption happening since more than a year ago and still present on the original program (xMule).

  • Client sending wrong OP_FILEREQUEST packets are now disconnected to avoid further problems caused by their corrupted packets. Old shareazas and most xMule versions have been warned since 2004/04/13 from aMule and since much more time ago from eMule. Shareaza fixed it, but xMule refuses to fix it. eMule 0.43x disconnects them too now.

  • Fixed crashes on sockets because of packet overhead being calculated after packet was deleted.

  • Fixed the CVS mod reporting for aMule 2.x

  • Fixed the Online Signature dir selection.

  • Fixed some shared files not being shared due to a return; on a wrong place ;)

  • Fixed some events being posted to wrong event handler.

  • Added GUIEvents.h to take care of the core/gui separation events.

  • Cleaned ColorFrameCtrl class

  • Cleaned otherfunctions.*

  • Lots of misc code cleaning

  • Several minor messages and GUI bugs.

  • Several warnings removed.

  • Removed useless files: XBMDraw.cpp XBMDraw.h SplitterControl.cpp SplitterControl.h

    ------------ MAC -------------

  • Fixed compilation on wxMac CVS and 2.5.x

  • Fixed socket connection on Mac.

  • Fixed endian issues causing crashes on server communication.

  • Fixed string tags being read wrong.

  • Fixed known.met being corrupted on every save and reload.

  • Fixed stats not working on Mac (no longer crashes because of drawing)

  • Fixed mnemonics on file search not being endian-safe.

  • Fixed server TCP flags.

  • Fiexd bug on lowid callback.

  • Fixed serverlist on Mac:

    • Server users
    • Server files
    • Server ip being reversed on restart
    • Server port set to 0 on restart.

    -------- UNICODE ---------

  • Fixed unicode compilation of most files (except those by Citroklar, Hetfiled, and shakraw)

  • Fixed search on unicode builds.

  • Unicoded most of the app internals :)

  • Fixed part.met on unicode builds

  • Hunted and killed (char*) casts and c_str() calls.

  • Fix unicode client names and misc.

  • Percentage & Download speed fixed

  • Reported several bugs to wxDesigner's mantainer to make it work properly on unicode builds

  • Fix usage of st_mtime to allow files with non-std chars to be shared without crashes on wx2.5.1

  • Fixed PerformFileComplete to allow unicoded files to be finished :)

  • Fixed part met filename being 001.part everytime on unicode builds.

  • Fixed renaming on file completion causing crashes on unicode builds

lfroen:

  • Started to implement various changes needed to split the core and GUI.

Madcat:

  • Fixed preferences layout of panels.
  • Simpler ed2k link integration for Mozilla 1.3+ / FireFox 0.6+ - Using Mozex plugin

niet:

  • Added support for memory usage and binary name (on xas)

Phoenix:

  • Code cleaning in several modules due to making the members size, opcode and prot private in packets.h.
  • CFile Close(), Read() and Seek() made const. Seek() needed the use of mutable with m_fd to be const.
  • Put lots of consts around the code in the routines that should be so.
  • Patch to --enable-stdin to aid in debug with valgrind.
  • Code cleaning in module Packets, made a lot of stuff private now.
  • Small hacks to print debug messages and avoid crashes, mainly in PartFile.cpp.
  • Sanity checks in debug mode (MagicNumbers) to aid finding bogus clients and files.
  • Created debugstuff module, debug build only.
  • New configure option --enale-verbose, so that normal users are not flooded with debug messages.
  • MagicNumbers are swapped to signal deleted source/PartFile.
  • Removed deprecated wxArrayString::Remove(size_t nIndex, size_t nRemove = 1) using wxArrayString::RemoveAt(size_t nIndex, size_t nRemove = 1) now.
  • Get rid of evil wxString::GetWriteBuff() and wxString::UngetWriteBuf() in ECSocket.h.
  • Added -pw/--password command line option to amuleweb.
  • Small unicode fixes.
  • Fixed a messed up display in html code in aMule.tmpl (thanks to steve.reaver)
  • Fixed font problem after Xaignar's great flicker free work in download list control.
  • Fixed broken sort arrow after flicker free clean up.
  • Enabled mouse wheel scrolling in all aMule list controls.
  • Fixed two unhandled events in amule.cpp: CHAT_REFRESH_FRIEND and CHAT_FIND_FRIEND.
  • Fixed compilation in 2.5.x and some unicode issues in aLinkCreator. Using wxAppConsole when wx > 2.5.0.
  • Fixed compilation and linking in 2.5.x for amuleweb. Now uses wxAppConsole when wx > 2.5.0.
  • Added a test for the return value of theApp.serverlist->GetServerByAddress(), which could be NULL. This was the reason why aMule was crashing when trying to connect to server with wxWidgets-2.5.2.
  • Fixed compilation and linking in 2.5.x for amulecmd. Same problem as amuleweb.
  • Commited a patch from wolti that fixes compilation on sparc/Solaris systems.
  • More sparc compilation fixes, thanks to wimms.
  • Removed the declaration of void ParseCommandLine(); from TextClient.h and WebInterface.h. It seems to have been forgotten here.
  • Patch to listctrl.cpp, was segfaulting in 2.5.1 when hiding/resizing columns. In 2.4.2 was just asserting.
  • Patch to Partfile.cpp, workaround the socket == NULL bug, so that amule does not crash.

shakraw:

  • Fixed the "remote connect" bug
  • Unicode support for amuleweb
  • Fixed typos on amuleDlg
  • Unicoded some files.

steve.reaver:

  • Fixed a messed up display in html code in aMule.tmpl

thepolish:

  • wxCas:
    • Fixed for amulesig.dat changes
    • Solved localized decimal separator pb
    • Embeded all pixmaps in src files and remove now unused pixmaps dir (better for portability)
    • Win32 toolbar pixmaps have transparency now
    • Added variable refresh timers
    • Added user preference system
    • Added statistic image creation
    • Added FTP support for an automatic upload of the statistic image
  • aLinkCreator:
    • Added this new maaarvellous tool suggested by DeltaHF to compute ed2k links from a file (same behavior as eMule link creator, but no shared code)
    • Rewrote md4hash and ed2khash code to avoid external dependencies (libcryptopp free), and to be Big Endian proof (works on Mac afaik)
    • Added alcc, the "alc for console" command line client
    • Added toolbar themes (KDE and DeltaHF's default for now)
    • Thanks to Phoenix (Unicode, Hook, commandline...) and one_2_one (Mac tests)
  • aMule:
    • Rewrote Makefile.am tree to fit to GNU standards
    • Removed Makefiles stuff for wxwidgets < 2.2.6
    • With >= wx-2.5, use wx-config --libs=base,net instead wxbase-config (because base in buggy on 2.5), and keep using both on 2.4 versions
    • Check for wx >= 2.4.2 instead of 2.4.0
    • Removed GTK2 warning with wx >= 2.5
    • Fixed GTK2 not detected
    • Enabled documentation installation
    • Install xas in $(libdir)/xchat/plugins. Will work if aMule and xchat are installed with same DESTDIR
    • Suppressed widlcats in makefile (not fully supported in all make)
    • Enabled make dist and make distcheck targets
    • Force automake scripts update (missing...) to suppress warning in configure
    • Force autogen.sh to regenerate intl at each call to keep sychronised with system gettext templates
    • Some minor i18n and unicode fixes
    • Updated POTFILE.in
    • Removed Win32 stuff from autotools scripts
    • Added static MakefileWIN32 for win32 compilation

Unleashed:

--- [ From rc3 (not on changelog)]

  • Cache get_path homedir to speed up multiple calls
  • Removed unused Tag_Struct
  • Fixed var init and memleak in SearchList

--- [ rc4 ]

  • Fixed COMP.10 bug
  • Wiped out USE_DEBUG_SYMS

wimms:

  • More sparc compilation fixes.

wolti:

  • Patch that fixes compilation on sparc/Solaris systems.

Xaignar:

  • Merged lists used to identify file-types to avoid duplicity.
  • Added wrapper-class around MD4 hashes.
  • Fixed a number of places where the hashes where used as NULL-terminated strings, despite them not having a NULL-terminator.
  • Most functions using hashes now use the MD4 wrapper class for arguments.
  • Fixed rare possibility of ending with an unclosed file in CServerListCtrl.
  • Fixed unsafe parsing of OP_SERVERIDENT type packets.
  • Fixed unsafe passing of strings as arguments to functions using format-strings.
  • Changed the chat-dialogs to textctrls, which means that it is now possible to copy text (the unix way) by highlighting it.
  • Fixed some memleaks.
  • Fixed "&"s not being escaped on status-bar.
  • Fixed incorrect source exchange packet format (Many thanks to the eMule Plus team for reporting).
  • Started to document source-files with a Doxygen compatible comment format.
  • Fixed the height of the barshaders used on the download list, it was 2 pixels too high, resulting in a slight cutoff.
  • Reducing CPU-usage of auto-priority by not forcing a redraw every time the priority was automatically changed.
  • Fixed that some overloaded functions hadn't been declared virtual in the base class.
  • Replaced gif-animation widget with something more lightweight.
  • Added sanity checks to CMemFile::Read.
  • Fixed a number of uninitialized variables.
  • Fixed several warnings about non-existing files.
  • Fixes warning about not being able to create dir "" on first run.
  • Changed "Extended Drop Sources" preferences, with the result that the option will be reset to "Swap Sources" when this version of aMule is first run.
  • Got rid of most warnings when compiling.
  • Lots of work on getting rid of c-strings.
  • Fixed bug that would cause deleted sources not to be removed from the A4AF lists. This was a major source of crashes.
  • Improved performance and safety of the source lists used with PartFiles.
  • Lots of small imports from eMule.
  • Made reqfile attribute of CUpDownClient private and added wrapper functions to fix the avilable-part information getting out of sync.
  • Cleanup of includes.
  • Fixed that we were always sending an OP_REASKACK packet and then the correct packet when recieving an OP_REASKFILEPING.
  • Fixed Bug 45: URLs are now properly escaped when opening browsers for Fake-check and such.
  • Fixed Bug 62: aMule will now be brought to front when left-clicking on the tray icon and when it is redisplayed after having been hidden.
  • Added checks against aggressive clients (clients who reask for files too often).
  • Imported checks for known leech-clients from the BlackRat eMule mod ( Many thanks to Le Rat Noir and inoteb for allowing us to use their work ).
  • Fixed wrong initialization of headers for some packets ( Thanks to thomas001 for reporting ).
  • Fixed a delete called on an uninitialized pointer in the statistics dialog and properly initalized serveral other pointers.
  • Optimizing the Comp(Up/Down)DatarateOverhead functions to something that didn't require traversing a list at each call.
  • Complete rework of the source-swapping functions.
  • Fixed the possibility of sources being added to multiple source-lists at the same time (No more mis-matching hashes warnings).
  • Fixed the new columns added by deltaHF not being displayed and added checks in case the same thing happens again.
  • Almost completly eleminated flicker on the download list and did a cleanup of the drawing routines associated the the download list widget.
  • Fixed some lists (Server list, maybe others) not being sorted when aMule is started.
  • Fix mem-corruption bug in SysTray code if the systray was compiled in but hidden.
  • Fixed the problem with deleting the last (connected) server on the server list.
  • Removed the following files:
    • ini2.*
    • CString.h
    • mfc.h
    • position.h
    • resource.h
    • strings.en
  • Cleaned up the following files:
    • CTypedPtrList.h
    • BarShader.*
  • Many other smaller changes.

Special thanks to:

  • Le Rat Noir and Inoteb of the BlackRat eMule mod (http://www.blackrat.fr.tc/) for allowing us to make use of their work on detecting bad clients.
  • Optimazer and the eMule Plus team (http://emuleplus.sourceforge.net/) for reporting a bug in source-exchange packets.
  • thomas001 for reporting a problem with packet headers.
  • Everaldo (http://www.everaldo.com) & "Jimmac" (http://jimmac.musichall.cz/ikony.php3) for new icons
  • Phk for searching for new icons ;)
  • kno and thermoman for their fixes :)
  • TheBlackHand and Hawkster eMule mods
  • uberpenguin for AMPS :)
  • All aMule users, testers & translators
  • eMule & wxWidgets devs
  • Everyone we forgot here ;)