Ok, I did shut up but I'm tired now of hearing things about xmule 1.7.0.
It's not that I would like to start a war, it's just I don't like telling lies to anyone, and even more, I really hate soft delvelopers that lie to users. Un-Thesis, and malware if he's involved on 1.7.0 releases, along with the other developers appearing on changelog, are
LYING to users with 1.7.0 release and changelog.
When I first read 1.7.0 changelog, I thought to myself: wow, lots of great things to import to aMule, this will really improve *mule apps.
(near) ALL xmule 1.7.0 is a
FAKE.
See xMule 1.7.0 Changelog:
There are over 58 changes including security fixes, lots of fixed memory leaks and CPU leaks, extended support for more systems, notably OpenBSD and Solaris, and extended support for most of the eMule 3x protocol changes.
Highlights:
* There are no known exploits in this version.
* Lots of fixed memleaks and cpuleaks.
* Extended support for more eMule v3x protocol changes.
* Enhanced transfer controls.
* Supports every eDonkey server.
malware's contributions:
* FIXED: endless loop in sending UDP packets.
* FIXED: a possibly exploitable bug as noticed by S. Esser from e-matters
(#3 "Servername Format String Vulnerabilities").
* FIXED: new downloads assigned to random category.
* FIXED: Bug rehashing a part file.
* FIXED: Various minor problems found by malloc debuggers.
* FIXED: Bug using MFC CMap.
* Speed up the initial sharing by making KnowFileList a hash map.
* Remove the assign to category context menu entry only if it was
already there.
* Reimplemented hashing thread.
* Removed unused locks. As the NetBSD team pointed out they are
causing problems on their system because it does core dump on
unlocking a mutex that was not locked.
* Made the title for systray the same as for the main dialog.
* Never share a file twice.
* Check size of OP_SERVERSTATUS packet more strictly.
* Do not display the unit for file size twice in shared file list web page.
* Make xmule not to send the MOD_VERSION information. This does avoid a
problem with the LSD mod and other xmules.
* Added check for libm to configure.in.
* Avoid accepting an unrequested hashset.
* Removed memory leak from hashing thread.
* Implemented rescaling of the graph of currently active connections.
* Remove invalid gap information entries which might be caused by
incomplete part.met files.
* Removed all font specifications from the XML resources.
* Do not start a search after adding an ED2K-Link.
* Enable clipping in download list control.
* Possible fix for some problems while ending the program.
* Keep the requested file in sync with the part status in CUpDownClient.
* Imported from eMule:
- Source exchange v2
- Do not swap a source to a stopped file.
- Up-/download auto-priority
- Request of shared files by directory.
- "Obtained Parts" bar in the shared files list
Un-Thesis' contributions:
* FIXED: Bug that kept auto-backtrace from occuring in Linux.
* FIXED: Rare crash occuring in Preferences->Directories.
* FIXED: Optimization and compilation warnings using -O2 with GCC 3.3.x.
* FIXED: Two memleaks in ClientCreditList.cpp.
* FIXED: Several GCC 3.4 problems.
* FIXED: Several Intel C++ problems.
* Added more support for Solaris, thanks to wimms.
* Corrected various Linux-specific #ifdefs.
* Now masquerades as eMule v0.31 in order to use hostile eMule servers.
* Added initial support for GCC 3.2+ AthlonXP optimizations.
* Added initial support for wxGTK 2.5.1.
* Two tweaks to make SuSE builds less CPU-intensive.
* New build system, easier to maintain and automake free. Yay!
* Streamlined included images: now only necessary ones are there.
* Added initial support for JusSx's ed2k+ daemon.
* Added initial support for Hetfield's systray daemon.
* Added initial support for my telnet/ssh/www daemon.
NetBSD team's contributions:
* FIXED: bug with the mutex protecting calls to gethostbyname.
* Try to increase some resource limitation to the permitted maximum.
sepahewe's contributions:
* Fix images in transfer list web page.
Justinas' contributions:
* Fixed the mfc.h warnings at lines 418.
Ok, now take xmule 1.7.0 sources sand xmule 1.6.1 sources.
If you do a diff between folders, you'll get a large output. Anyway, if you're a developer, you'll notice what I want to show. But if you're not, just remove all things related to this line of Changelog:
* New build system, easier to maintain and automake free. Yay!
So do a 'rm xmule-1.6.1/src/Make* && rm xmule-1.7.0/src/Make*'
Now, do a diff of the two releases.
[code:1]kry@Edelweiss:~/xmule$ diff xmule-1.6.1/src/ xmule-1.7.0/src/
Only in xmule-1.6.1/src/: ArchiveRecovery.h
Only in xmule-1.6.1/src/: BtnST.h
Only in xmule-1.6.1/src/: ChatSelector.h
diff xmule-1.6.1/src/ClientCredits.cpp xmule-1.7.0/src/ClientCredits.cpp
48c48
< delete m_pCredits;
---
> delete[] m_pCredits;
97c97
< delete cur_credit;
---
> delete[] cur_credit;
Only in xmule-1.6.1/src/: CreditsDlg.h
Only in xmule-1.6.1/src/: CreditsThread.h
diff xmule-1.6.1/src/DirectoryTreeCtrl.cpp xmule-1.7.0/src/DirectoryTreeCtrl.cpp
29c29
< CDirectoryTreeCtrl::CDirectoryTreeCtrl(wxWindow*& parent,int id,const wxPoint& pos,wxSize siz,int flags)
---
> CDirectoryTreeCtrl::CDirectoryTreeCtrl(wxWindow* parent,int id,const wxPoint& pos,wxSize siz,int flags)
diff xmule-1.6.1/src/DirectoryTreeCtrl.h xmule-1.7.0/src/DirectoryTreeCtrl.h
28c28
< CDirectoryTreeCtrl(wxWindow*& parent,int id,const wxPoint& pos,wxSize siz,int flags);
---
> CDirectoryTreeCtrl(wxWindow* parent,int id,const wxPoint& pos,wxSize siz,int flags);
Only in xmule-1.6.1/src/: Drawgdix.h
Only in xmule-1.6.1/src/: EMSocketL.h
Only in xmule-1.6.1/src/: EnBitmap.h
Only in xmule-1.6.1/src/: GDIThread.h
Only in xmule-1.6.1/src/: HashThread.h
Only in xmule-1.6.1/src/: HyperTextCtrl.h
Only in xmule-1.6.1/src/: IconStatic.h
Only in xmule-1.6.1/src/: IrcMain.h
Only in xmule-1.6.1/src/: IrcSocket.h
Only in xmule-1.6.1/src/: IrcWnd.h
Only in xmule-1.6.1/src/: MemDC.h
Only in xmule-1.6.1/src/: MeterIcon.h
Only in xmule-1.6.1/src/: PageSelectionBox.h
Only in xmule-1.6.1/src/: ProgressCtrlX.h
Only in xmule-1.6.1/src/: RazorPreferencesDlg.h
Only in xmule-1.6.1/src/: RazorPreferencesDlg_wdr.h
diff xmule-1.6.1/src/SharedFileList.cpp xmule-1.7.0/src/SharedFileList.cpp
44d43
< #include >CreditsDlg.h>
Only in xmule-1.6.1/src/: SplashScreen.h
Only in xmule-1.6.1/src/: StatsSetup.h
Only in xmule-1.6.1/src/: TabCtrl.cpp
Only in xmule-1.6.1/src/: TabCtrl.h
Only in xmule-1.6.1/src/: TaskbarNotifier.h
Only in xmule-1.6.1/src/: TitleMenu.h
Only in xmule-1.6.1/src/: TrayDialog.h
Only in xmule-1.6.1/src/: VisualStylesXP.h
Only in xmule-1.6.1/src/: afx.h
Common subdirectories: xmule-1.6.1/src/bitmaps and xmule-1.7.0/src/bitmaps
Only in xmule-1.6.1/src/: gsocket.h
Only in xmule-1.6.1/src/: gsockunx.h
Only in xmule-1.6.1/src/: mdump.h
Only in xmule-1.6.1/src/: newops.h
Common subdirectories: xmule-1.6.1/src/pixmaps and xmule-1.7.0/src/pixmaps
Only in xmule-1.6.1/src/: return.h
Only in xmule-1.6.1/src/: stdafx.h
Common subdirectories: xmule-1.6.1/src/wx and xmule-1.7.0/src/wx
diff xmule-1.6.1/src/xmuleDlg.cpp xmule-1.7.0/src/xmuleDlg.cpp
31c31
< #include >CreditsDlg.h>
---
> //#include >CreditsDlg.h>
kry@Edelweiss:~/xmule$[/code:1]
Now, they removed some unused files from source tar. Ok, let's remove those lines from diff ouput:
[code:1]
diff xmule-1.6.1/src/ClientCredits.cpp xmule-1.7.0/src/ClientCredits.cpp
48c48
< delete m_pCredits;
---
> delete[] m_pCredits;
97c97
< delete cur_credit;
---
> delete[] cur_credit;
diff xmule-1.6.1/src/DirectoryTreeCtrl.cpp xmule-1.7.0/src/DirectoryTreeCtrl.cpp
29c29
< CDirectoryTreeCtrl::CDirectoryTreeCtrl(wxWindow*& parent,int id,const wxPoint& pos,wxSize siz,int flags)
---
> CDirectoryTreeCtrl::CDirectoryTreeCtrl(wxWindow* parent,int id,const wxPoint& pos,wxSize siz,int flags)
diff xmule-1.6.1/src/DirectoryTreeCtrl.h xmule-1.7.0/src/DirectoryTreeCtrl.h
28c28
< CDirectoryTreeCtrl(wxWindow*& parent,int id,const wxPoint& pos,wxSize siz,int flags);
---
> CDirectoryTreeCtrl(wxWindow* parent,int id,const wxPoint& pos,wxSize siz,int flags);
diff xmule-1.6.1/src/SharedFileList.cpp xmule-1.7.0/src/SharedFileList.cpp
44d43
< #include >CreditsDlg.h>
diff xmule-1.6.1/src/xmuleDlg.cpp xmule-1.7.0/src/xmuleDlg.cpp
31c31
< #include >CreditsDlg.h>
---
> //#include >CreditsDlg.h>
[/code:1]
Now, take a closer look. They comented some headers out or removed them (they were unused). This won't affect the final code. Remove them too.
[code:1]
diff xmule-1.6.1/src/ClientCredits.cpp xmule-1.7.0/src/ClientCredits.cpp
48c48
< delete m_pCredits;
---
> delete[] m_pCredits;
97c97
< delete cur_credit;
---
> delete[] cur_credit;
diff xmule-1.6.1/src/DirectoryTreeCtrl.cpp xmule-1.7.0/src/DirectoryTreeCtrl.cpp
29c29
< CDirectoryTreeCtrl::CDirectoryTreeCtrl(wxWindow*& parent,int id,const wxPoint& pos,wxSize siz,int flags)
---
> CDirectoryTreeCtrl::CDirectoryTreeCtrl(wxWindow* parent,int id,const wxPoint& pos,wxSize siz,int flags)
diff xmule-1.6.1/src/DirectoryTreeCtrl.h xmule-1.7.0/src/DirectoryTreeCtrl.h
28c28
< CDirectoryTreeCtrl(wxWindow*& parent,int id,const wxPoint& pos,wxSize siz,int flags);
---
> CDirectoryTreeCtrl(wxWindow* parent,int id,const wxPoint& pos,wxSize siz,int flags);
[/code:1]
That's all. Changes on ClienCredits.cp, DirectoryTreeCtrl.cpp and DirectoryTreeCtrl.h.
Now, changes on DirectoryTreeCtrl.cpp and DirectoryTreeCtrl.h are only on a function's header and will only avoid some warnings on compilation. That won't affect final code either.
EDIT: Un-Thesis said it fixed the * FIXED: Rare crash occuring in Preferences->Directories.
so I'm trusting him, dunno why.[/i]
So:
[code:1]diff xmule-1.6.1/src/ClientCredits.cpp xmule-1.7.0/src/ClientCredits.cpp
48c48
< delete m_pCredits;
---
> delete[] m_pCredits;
97c97
< delete cur_credit;
---
> delete[] cur_credit;[/code:1]
Ok, two memleaks fixed. This one is for real!.
Now, xMule 1.7.0 changelog.
Fake lines are in
red bold.
There are over 58 changes including security fixes, lots of fixed memory leaks and CPU leaks, extended support for more systems, notably OpenBSD and Solaris, and extended support for most of the eMule 3x protocol changes.
Highlights:
* There are no known exploits in this version.
Kry - Only if there were none in previous
* Lots of fixed memleaks and cpuleaks.
Kry - TWO memleaks fixed
* Extended support for more eMule v3x protocol changes.
* Enhanced transfer controls.
* Supports every eDonkey server.
Kry - Not even this one is true. Doesn't support zlib servers
malware's contributions:
* FIXED: endless loop in sending UDP packets.
* FIXED: a possibly exploitable bug as noticed by S. Esser from e-matters
(#3 "Servername Format String Vulnerabilities").
* FIXED: new downloads assigned to random category.
* FIXED: Bug rehashing a part file.
* FIXED: Various minor problems found by malloc debuggers.
* FIXED: Bug using MFC CMap.
* Speed up the initial sharing by making KnowFileList a hash map.
* Remove the assign to category context menu entry only if it was
already there.
* Reimplemented hashing thread.
* Removed unused locks. As the NetBSD team pointed out they are
causing problems on their system because it does core dump on
unlocking a mutex that was not locked.
* Made the title for systray the same as for the main dialog.
* Never share a file twice.
* Check size of OP_SERVERSTATUS packet more strictly.
* Do not display the unit for file size twice in shared file list web page.
* Make xmule not to send the MOD_VERSION information. This does avoid a
problem with the LSD mod and other xmules.
* Added check for libm to configure.in.
* Avoid accepting an unrequested hashset.
* Removed memory leak from hashing thread.
* Implemented rescaling of the graph of currently active connections.
* Remove invalid gap information entries which might be caused by
incomplete part.met files.
* Removed all font specifications from the XML resources.
* Do not start a search after adding an ED2K-Link.
* Enable clipping in download list control.
* Possible fix for some problems while ending the program.
* Keep the requested file in sync with the part status in CUpDownClient.
* Imported from eMule:
- Source exchange v2
- Do not swap a source to a stopped file.
- Up-/download auto-priority
- Request of shared files by directory.
- "Obtained Parts" bar in the shared files list
[/b]
Un-Thesis' contributions:
* FIXED: Bug that kept auto-backtrace from occuring in Linux.
* FIXED: Rare crash occuring in Preferences->Directories.
Kry - This one is true, also (Un-Thesis told me)
* FIXED: Optimization and compilation warnings using -O2 with GCC 3.3.x.
* FIXED: Two memleaks in ClientCreditList.cpp.
Kry - This one is true
* FIXED: Several GCC 3.4 problems.
* FIXED: Several Intel C++ problems.
* Added more support for Solaris, thanks to wimms.
* Corrected various Linux-specific #ifdefs.
* Now masquerades as eMule v0.31 in order to use hostile eMule servers.
* Added initial support for GCC 3.2+ AthlonXP optimizations.
* Added initial support for wxGTK 2.5.1.
* Two tweaks to make SuSE builds less CPU-intensive.
* New build system, easier to maintain and automake free. Yay!
Kry - This one is true, also. Nice build system, btw
* Streamlined included images: now only necessary ones are there.
* Added initial support for JusSx's ed2k+ daemon.
* Added initial support for Hetfield's systray daemon.
* Added initial support for my telnet/ssh/www daemon.
NetBSD team's contributions:
* FIXED: bug with the mutex protecting calls to gethostbyname.
* Try to increase some resource limitation to the permitted maximum.
sepahewe's contributions:
* Fix images in transfer list web page.
Justinas' contributions:
* Fixed the mfc.h warnings at lines 418.[/color]
All other changes either do not exist, or they were there before 1.7.0, both options being a lie to the users.
Just jugde yourself. But, and now I want to make this completely clear, I feel really ASHAMED as coder and developer, and former developer of the xMule project, of this fake release and total betrayal to users that confy on we, developers, to get them the better software.
I won't say anything against Un-Thesis, facts talk by themselves.
Also, I'd like the other developers that appear on changelog (specially 'NetBSD Team') to show up and explain why are they on this Changelog and if they were aware of the total fakeness of this release at the time xmule 1.7.0 was released to public.