ebe6e0e440
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
156 lines
3.1 KiB
Makefile
156 lines
3.1 KiB
Makefile
# $NetBSD: options.mk,v 1.1 2009/06/06 13:08:27 obache Exp $
|
|
|
|
PKG_OPTIONS_VAR= PKG_OPTIONS.amule
|
|
PKG_SUPPORTED_OPTIONS= amule-monolithic
|
|
PKG_SUPPORTED_OPTIONS+= amule-gui amule-daemon amule-cmd amule-webserver
|
|
PKG_SUPPORTED_OPTIONS+= amule-cas amule-wxcas amule-ed2k amule-alc amule-alcc
|
|
PKG_SUPPORTED_OPTIONS+= debug geoip upnp
|
|
PKG_SUGGESTED_OPTIONS= amule-monolithic amule-ed2k upnp
|
|
|
|
.include "../../mk/bsd.options.mk"
|
|
|
|
PLIST_VARS+= share skins alc alcc amule ed2k daemon gui cmd web cas wxcas
|
|
|
|
###
|
|
### monolithic aMule app
|
|
###
|
|
.if !empty(PKG_OPTIONS:Mamule-monolithic)
|
|
CONFIGURE_ARGS+= --enable-monolithic
|
|
PLIST.amule= yes
|
|
PLIST.share= yes
|
|
PLIST.skins= yes
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-monolithic
|
|
.endif
|
|
|
|
###
|
|
### aMule daemon version
|
|
###
|
|
.if !empty(PKG_OPTIONS:Mamule-daemon)
|
|
CONFIGURE_ARGS+= --enable-amule-daemon
|
|
PLIST.daemon= yes
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-amule-daemon
|
|
.endif
|
|
|
|
###
|
|
### aMule remote GUI
|
|
###
|
|
.if !empty(PKG_OPTIONS:Mamule-gui)
|
|
CONFIGURE_ARGS+= --enable-amule-gui
|
|
PLIST.gui= yes
|
|
PLIST.skins= yes
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-amule-gui
|
|
.endif
|
|
|
|
###
|
|
### aMule command line client
|
|
###
|
|
.if !empty(PKG_OPTIONS:Mamule-cmd)
|
|
CONFIGURE_ARGS+= --enable-amulecmd
|
|
PLIST.cmd= yes
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-amulecmd
|
|
.endif
|
|
|
|
###
|
|
### aMule WebServer
|
|
###
|
|
.if !empty(PKG_OPTIONS:Mamule-webserver)
|
|
CONFIGURE_ARGS+= --enable-webserver
|
|
PLIST.web= yes
|
|
PLIST.share= yes
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-webserver
|
|
.endif
|
|
|
|
###
|
|
### C aMule Statistics
|
|
###
|
|
.if !empty(PKG_OPTIONS:Mamule-cas)
|
|
.include "../../graphics/gd/buildlink3.mk"
|
|
CONFIGURE_ARGS+= --enable-cas
|
|
CONFIGURE_ARGS+= --with-gdlib-config=${BUILDLINK_PREFIX.gd}/bin/gdlib-config
|
|
PLIST.cas= yes
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-cas
|
|
.endif
|
|
|
|
###
|
|
### aMule GUI Statistics
|
|
###
|
|
.if !empty(PKG_OPTIONS:Mamule-wxcas)
|
|
CONFIGURE_ARGS+= --enable-wxcas
|
|
PLIST.wxcas= yes
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-wxcas
|
|
.endif
|
|
|
|
###
|
|
### aMule ed2k links handler
|
|
###
|
|
.if !empty(PKG_OPTIONS:Mamule-ed2k)
|
|
CONFIGURE_ARGS+= --enable-ed2k
|
|
PLIST.ed2k= yes
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-ed2k
|
|
.endif
|
|
|
|
###
|
|
### aMule LinkCreator GUI version
|
|
###
|
|
.if !empty(PKG_OPTIONS:Mamule-alc)
|
|
CONFIGURE_ARGS+= --enable-alc
|
|
PLIST.alc= yes
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-alc
|
|
.endif
|
|
|
|
###
|
|
### aMule LinkCreator for console
|
|
###
|
|
.if !empty(PKG_OPTIONS:Mamule-alcc)
|
|
CONFIGURE_ARGS+= --enable-alcc
|
|
PLIST.alcc= yes
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-alcc
|
|
.endif
|
|
|
|
###
|
|
### Additional debugging output
|
|
###
|
|
.if !empty(PKG_OPTIONS:Mdebug)
|
|
CONFIGURE_ARGS+= --enable-debug
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-debug
|
|
.endif
|
|
|
|
###
|
|
### GeoIP IP2Country support
|
|
###
|
|
.if !empty(PKG_OPTIONS:Mgeoip)
|
|
.include "../../net/GeoIP/buildlink3.mk"
|
|
CONFIGURE_ARGS+= --enable-geoip
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-geoip
|
|
.endif
|
|
|
|
###
|
|
### UPnP support
|
|
###
|
|
.if !empty(PKG_OPTIONS:Mupnp)
|
|
BUILDLINK_API_DEPENDS.libupnp+= libupnp>=1.6.6
|
|
.include "../../net/libupnp/buildlink3.mk"
|
|
CONFIGURE_ARGS+= --enable-upnp
|
|
CONFIGURE_ARGS+= --with-libupnp-prefix=${BUILDLINK_PREFIX.libupnp}
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-upnp
|
|
.endif
|
|
|
|
.if !empty(PKG_OPTIONS:Mamule-alc) || \
|
|
!empty(PKG_OPTIONS:Mamule-monolithic) || \
|
|
!empty(amule-wxcas) || \
|
|
!empty(amule-gui)
|
|
.include "../../sysutils/desktop-file-utils/desktopdb.mk"
|
|
.endif
|