dclib:
dclib/cclient.cpp | 166 ++++++-------- dclib/cclient.h | 42 ++- dclib/cclientssl.cpp | 17 - dclib/cclientssl.h | 2 dclib/cconfig.cpp | 12 - dclib/cconfig.h | 20 - dclib/cconnectionmanager.cpp | 2 dclib/cdownloadmanager.cpp | 108 +++------ dclib/cdownloadmanager.h | 3 dclib/cfilemanager.cpp | 90 +++++++ dclib/cfilemanager.h | 4 dclib/cmessagehandler.cpp | 166 +++++--------- dclib/cmessagehandler.h | 2 dclib/core/cbytearray.cpp | 14 - dclib/core/cconnection.cpp | 15 + dclib/core/cfile.cpp | 47 +++- dclib/core/cfile.h | 8 dclib/core/ciconv.cpp | 7 dclib/core/cstringlist.h | 2 dclib/core/ctraffic.h | 14 - dclib/core/cxml.cpp | 74 +++--- dclib/core/cxml.h | 3 dclib/csearchindex.cpp | 487 ++++++++++++++++++------------------------- dclib/csearchindex.h | 29 ++ dclib/csearchmanager.cpp | 13 - dclib/csharelist.cpp | 24 -- dclib/dcobject.cpp | 30 -- dclib/dcobject.h | 73 ------ dclib/dcos.h.in | 4 tests/Makefile.am | 18 + tests/case-fold.cpp | 49 ++++ tests/ciconv-test.cpp | 82 +++++++ tests/cstring-find.cpp | 138 ++++++++++++ tests/cstring-self.cpp | 86 +++++++ tests/tth-test.cpp | 63 +++++ 35 files changed, 1127 insertions(+), 787 deletions(-)
valknut:
dcchat.cpp | 27 ++++- dcclient.cpp | 9 + dcgui.cpp | 5 - dcguiutils.cpp | 1 dcoptions.cpp | 44 ++++---- dcoptions.h | 2 dcsigterm.cpp | 104 +++++++++++++++++++++ dcsigterm.h | 61 ++++++++++++ dctransferview.cpp | 15 ++- main.cpp | 38 ++----- ui/DCDialogHubSearch.ui | 26 ++--- ui/DCDialogMagnet.ui | 235 ++++++++++++++++++++++++++++++++++++++++++++++++ ui/DCDialogOptions.ui | 10 +- 13 files changed, 500 insertions(+), 77 deletions(-)
Because it was a smaller release, fixing serious bugs, the diffstat is quite useful. Besides the bug fixes, in dclib the code for /rebuild and /validate was separated and re-written, and 5 tests for "make check" were added.
In valknut, there were a few bug fixes, the dialog for magnet links was added but is not used in 0.3.21, the code for handling SIGTERM was re-written as per the Qt documentation, and put into a new class, DCSigTerm.
dclib:
dclib/ccasefolder.h | 5 dclib/cclient.cpp | 120 +- dclib/cclient.h | 27 dclib/cclientssl.cpp | 2 dclib/cclientssl.h | 14 dclib/cconfig.cpp | 262 +---- dclib/cconfig.h | 150 ++- dclib/cconnectionmanager.cpp | 41 dclib/cconnectionmanager.h | 20 dclib/cdcproto.cpp | 47 - dclib/cdcproto.h | 17 dclib/cdownloadmanager.cpp | 634 +++++-------- dclib/cdownloadmanager.h | 87 + dclib/cdownloadqueue.cpp | 37 dclib/cdownloadqueue.h | 36 dclib/cencrypt.cpp | 41 dclib/cencrypt.h | 9 dclib/cfilehasher.cpp | 166 +-- dclib/cfilehasher.h | 53 - dclib/cfilemanager.cpp | 58 - dclib/cfilemanager.h | 18 dclib/chttp.cpp | 9 dclib/chttp.h | 15 dclib/chublistmanager.cpp | 148 --- dclib/chublistmanager.h | 22 dclib/clistenmanager.cpp | 24 dclib/clistenmanager.h | 21 dclib/cmessagehandler.cpp | 1921 ++++++++++++++++++++---------------------- dclib/cmessagehandler.h | 26 dclib/core/casyncdns.cpp | 20 dclib/core/casyncdns.h | 22 dclib/core/cbase32.cpp | 130 +- dclib/core/cbase32.h | 24 dclib/core/cbase64.cpp | 10 dclib/core/cbase64.h | 14 dclib/core/cbytearray.cpp | 34 dclib/core/cbytearray.h | 20 dclib/core/cbz.cpp | 149 ++- dclib/core/cbz.h | 29 dclib/core/ccallback.h | 22 dclib/core/cconnection.cpp | 113 +- dclib/core/cconnection.h | 22 dclib/core/cdir.cpp | 159 +-- dclib/core/cdir.h | 23 dclib/core/cfile.cpp | 61 - dclib/core/cfile.h | 14 dclib/core/che3.cpp | 2 dclib/core/che3.h | 27 dclib/core/ciconv.cpp | 8 dclib/core/ciconv.h | 14 dclib/core/clist.h | 62 - dclib/core/clisten.cpp | 2 dclib/core/clisten.h | 18 dclib/core/clogfile.cpp | 12 dclib/core/clogfile.h | 14 dclib/core/cmanager.cpp | 6 dclib/core/cmanager.h | 25 dclib/core/cmutex.cpp | 27 dclib/core/cmutex.h | 26 dclib/core/cnetaddr.cpp | 80 + dclib/core/cnetaddr.h | 14 dclib/core/cplugin.h | 11 dclib/core/csingleton.h | 11 dclib/core/csocket.cpp | 156 +-- dclib/core/csocket.h | 43 dclib/core/cssl.cpp | 4 dclib/core/cssl.h | 28 dclib/core/cstring.cpp | 46 - dclib/core/cstring.h | 80 + dclib/core/cstringlist.h | 32 dclib/core/cthread.cpp | 109 ++ dclib/core/cthread.h | 50 + dclib/core/ctraffic.h | 7 dclib/core/cxml.cpp | 68 + dclib/core/cxml.h | 12 dclib/core/czlib.cpp | 2 dclib/core/czlib.h | 10 dclib/core/platform.cpp | 87 - dclib/core/platform.h | 34 dclib/core/types.h | 12 dclib/cpluginmanager.cpp | 11 dclib/cpluginmanager.h | 28 dclib/cquerymanager.cpp | 9 dclib/cquerymanager.h | 33 dclib/csearchindex.cpp | 204 ++-- dclib/csearchindex.h | 58 - dclib/csearchmanager.cpp | 23 dclib/csearchmanager.h | 33 dclib/csearchsocket.cpp | 36 dclib/csearchsocket.h | 19 dclib/csharelist.cpp | 114 -- dclib/csharelist.h | 15 dclib/csharetreefolder.cpp | 8 dclib/csharetreefolder.h | 2 dclib/ctransfer.cpp | 428 ++------- dclib/ctransfer.h | 67 + dclib/cuserlist.cpp | 106 +- dclib/cuserlist.h | 19 dclib/cutils.cpp | 35 dclib/cutils.h | 13 dclib/dclib.cpp | 47 - dclib/dclib.h | 33 dclib/dcobject.cpp | 84 - dclib/dcobject.h | 245 ++--- dclib/dcos.h.in | 26 tests/case-fold.cpp | 34 tests/cstring-number.cpp | 165 +++ tests/cstring-upper-lower.cpp | 91 + tests/threads-mutex.cpp | 191 ++++ tests/tth-test.cpp | 48 + 110 files changed, 4303 insertions(+), 3957 deletions(-)
valknut:
about.h | 24 dcapplicationevents.cpp | 2 dcapplicationevents.h | 4 dcchat.cpp | 552 ++++++++++++------ dcchat.h | 12 dcclient.cpp | 248 ++++---- dcclient.h | 10 dcconfig.cpp | 164 +++-- dcconfig.h | 76 -- dcconnectionmanager.cpp | 68 -- dcconnectionmanager.h | 4 dcdebug.cpp | 61 +- dcdebug.h | 4 dceditserver.cpp | 12 dceditserver.h | 6 dcedittransfer.cpp | 2 dcedittransfer.h | 4 dcevent.cpp | 2 dcevent.h | 4 dcfilebrowser.cpp | 115 ++- dcfilebrowser.h | 6 dcfilebrowseritems.cpp | 2 dcfilebrowseritems.h | 4 dcfilelistdecompressor.cpp | 144 +++- dcfilelistdecompressor.h | 2 dcfiletool.cpp | 4 dcfiletool.h | 6 dcfiletransferinfo.cpp | 4 dcfiletransferinfo.h | 4 dcfriendobject.h | 8 dcgui.cpp | 37 - dcgui.h | 4 dcguiutils.cpp | 34 + dcguiutils.h | 5 dchubfilter.cpp | 2 dchubfilter.h | 4 dchublistitems.cpp | 2 dchublistmanager.cpp | 86 +- dchublistmanager.h | 4 dchubprofile.cpp | 21 dchubprofile.h | 4 dchubsearch.cpp | 93 +-- dchubsearch.h | 4 dciconloader.cpp | 2 dciconloader.h | 4 dcmenuhandler.cpp | 14 dcmenuhandler.h | 7 dcoptions.cpp | 321 +++------- dcoptions.h | 25 dcpluginmanager.cpp | 2 dcpluginmanager.h | 4 dcshellcommandrunner.cpp | 10 dcshellcommandrunner.h | 6 dcsigterm.cpp | 2 dcsplash.cpp | 9 dcsplash.h | 4 dcspy.cpp | 23 dcspy.h | 6 dctransferview.cpp | 25 dctransferview.h | 4 dctransferviewitems.h | 39 - dctranslator.cpp | 2 dctranslator.h | 4 dcusercommandeditor.cpp | 46 - dcusercommandeditor.h | 10 dcuserslist.cpp | 2 dcuserslist.h | 4 main.cpp | 56 - ui/DCDialogAbout.ui | 4 ui/DCDialogEditServer.ui | 11 ui/DCDialogFileBrowser.ui | 10 ui/DCDialogHubProfile.ui | 4 ui/DCDialogOptions.ui | 1334 ++++++++++++++++++++++++--------------------- ui/cdialogmessage.cpp | 2 ui/cdialogmessage.h | 4 ui/cdialogpicturemap.cpp | 2 ui/cdialogpicturemap.h | 4 ui/dcqtextedit.cpp | 2 ui/dcqtextedit.h | 4 ui/dcwidget.cpp | 109 +-- ui/dcwidget.h | 30 - 81 files changed, 2138 insertions(+), 1871 deletions(-)
Besides numerous bug fixes, there were changes to upload slot handling.
All the sources were converted to UTF-8 (mostly a name), and some comments were added to dclib. cmessagehandler.cpp had a lot of re-indenting after checking if "new" returned NULL was removed (it doesn't).
dclib:
dclib/ccasefolder.cpp | 6 - dclib/cclient.cpp | 43 +------- dclib/cclient.h | 6 - dclib/cconfig.cpp | 83 ++++------------- dclib/cconfig.h | 45 +++------ dclib/cconnectionmanager.cpp | 2 dclib/cconnectionmanager.h | 4 dclib/cdcproto.cpp | 8 + dclib/cdcproto.h | 2 dclib/cdownloadmanager.cpp | 83 +++++++++++++++-- dclib/cdownloadmanager.h | 12 +- dclib/cdownloadqueue.cpp | 36 +++++++ dclib/cdownloadqueue.h | 10 ++ dclib/cfilehasher.h | 4 dclib/chttp.cpp | 4 dclib/chttp.h | 4 dclib/chublistmanager.cpp | 2 dclib/core/casyncdns.h | 4 dclib/core/cbytearray.cpp | 30 ++---- dclib/core/cbytearray.h | 3 dclib/core/cdir.h | 4 dclib/core/clogfile.h | 4 dclib/core/cplugin.h | 4 dclib/core/csocket.cpp | 73 +++++++-------- dclib/core/csocket.h | 16 +-- dclib/core/cssl.cpp | 50 ++++++++++ dclib/core/cssl.h | 16 +++ dclib/core/cstring.cpp | 40 ++++---- dclib/core/ctraffic.h | 4 dclib/core/cxml.h | 4 dclib/core/types.h | 80 ++++++++-------- dclib/cquerymanager.h | 4 dclib/csearchmanager.cpp | 16 +-- dclib/csearchmanager.h | 18 +-- dclib/csearchsocket.cpp | 131 +++++++++++++++++++-------- dclib/csearchsocket.h | 31 ++++-- dclib/ctransfer.cpp | 4 dclib/ctransfer.h | 13 +- dclib/cuserlist.cpp | 37 ------- dclib/cuserlist.h | 3 dclib/dcobject.cpp | 7 - dclib/dcobject.h | 14 +- dclib/dcos.h.in | 4 dclib/unicode/gen-case-folding-src.cpp | 4 tests/cstring-compare.cpp | 160 +++++++++++++++++++++++++++++++++ tests/priv-ips.cpp | 68 ++++++++++++++ 46 files changed, 769 insertions(+), 431 deletions(-)
valknut:
dcchat.cpp | 70 ++- dcchat.h | 2 dcclient.cpp | 471 +++++++++-------------- dcclient.h | 19 dcconfig.cpp | 249 ++---------- dcconfig.h | 119 +---- dcdebug.cpp | 140 +----- dcdebug.h | 18 dcevent.cpp | 12 dcfilebrowser.cpp | 402 +++++++++++++++++-- dcfilebrowser.h | 22 - dcfilebrowseritems.cpp | 4 dcfilelistdecompressor.cpp | 40 + dcfiletool.cpp | 47 +- dcfiletool.h | 4 dcgui.cpp | 129 +++++- dcgui.h | 14 dchublistmanager.cpp | 366 ++++++++++------- dchublistmanager.h | 11 dchubsearch.cpp | 60 +- dchubsearch.h | 11 dciconloader.cpp | 174 ++++---- dciconloader.h | 91 ++-- dcmenuhandler.cpp | 70 +-- dcmenuhandler.h | 5 dcoptions.cpp | 232 +++++------ dcoptions.h | 10 dcshellcommandrunner.cpp | 1 dctransferview.cpp | 15 dctranslator.cpp | 19 dctranslator.h | 7 main.cpp | 85 +--- search-result-columns.h | 36 + ui/DCDialogAbout.ui | 8 ui/DCDialogAskDownloadMode.ui | 7 ui/DCDialogDebug.ui | 14 ui/DCDialogDebugSettings.ui | 52 ++ ui/DCDialogFileBrowser.ui | 73 +++ ui/DCDialogHubListManager.ui | 67 ++- ui/DCDialogHubSearch.ui | 17 ui/DCDialogOptions.ui | 860 +++++++++++++++++------------------------- ui/dcwidget.cpp | 19 ui/dcwidget.h | 2 43 files changed, 2191 insertions(+), 1883 deletions(-)
In dclib, added capturing the source IP address of active mode (UDP) search results, and made changes to transfer wait list handling, which then lead to fixing a bug present in all previous versions - never removing entries which got no response.
In valknut, the main feature is the find function for searching within filelists. The icon changes and several Qt4 specific bug fixes are not shown in the diffstat.
The hub address was also added to the Lock/PK of transfers, which is to help trace hubs that use the clients in them for denial-of-service attacks, this has also been added to DC++.