Changelog for 0.3.23 / 0.4.9
dclib 0.3.23
- 23/11/2008 Empty default email not "email".
- 23/11/2008 Store source IP address of received UDP packets (search results).
- 23/11/2008 Add source IP address to search result object.
- 23/11/2008 Modify CSearchSocket to capture source IP address.
- 24/11/2008 Remove free and max slot numbers from CMessageMyInfo, they were set when receiving passive search results but otherwise unused.
- 28/11/2008 Adjust compat.h _ULL() definition for 64-bit platforms.
- 11/12/2008 Remove file stuff from compat.h - no files involved in hash code.
- 11/12/2008 Add test for CNetAddr::IsPrivateI4() - TODO run it on a big-endian arch.
- 11/12/2008 CXml EscapeSpecials() and UnEscapeSpecials() are static.
- 13/12/2008 CByteArray: use NULL with pointers, perror() for errors, and remove printf() when sanity checks fail (mainly appending zero bytes).
- 17/12/2008 Remove unused clistenmanager.h include from cdownloadmanager.cpp.
- 17/12/2008 Change Makefiles to stop some compiler flags being given twice.
- 18/12/2008 Mutex not unlocked after not sending ADCGET/ADCSND due to unknown type.
- 18/12/2008 Add test for CString::Compare().
- 18/12/2008 Re-write CString::Compare(). Most likely, gcc optimized the old version to end up the same as the new version anyway.
- 20/12/2008 Adjust transfer wait list matching to fill in missing info and require both nick and user IP:port to match when both are available. Fixes if you download from yourself, one object may get added to the transfer wait list but never removed.
- 21/12/2008 Use snprintf / _snprintf for md5 result hex conversion.
- 22/12/2008 Remove no longer used dclib data path (was used by WIN32 valknut).
- 23/12/2008 Make CConfig::SetAwayMode() virtual and not inline.
- 26/12/2008 "typdef enum ..." is not necessary in C++.
- 26/12/2008 Fix a comment.
- 02/01/2009 Remove unnecessary "if" from CSocket.
- 02/01/2009 Private chat to/from offline users settings reset (offline = not in userlist, the hub/bots)
- The setting for send to offline users did match the code but didn't match the GUI.
- The setting for receive from offline users didn't match the code but did match the GUI.
- As a result, the settings have been reset by being renamed.
- Messages from offline users (the hub probably) will now be shown by default.
- 03/01/2009 Minor cleanup in CSocket.
- 03/01/2009 Properly handle SSL_set_fd failing in CSocket.
- 04/01/2009 hubtracker.com has moved to openhublist.org.
- 05/01/2009 Fix http proxy authorization.
- 06/01/2009 Use HTTP 1.0 not 1.1, so that dclib does not have to handle "Transfer-Encoding: chunked".
- 07/01/2009 Do required things for OpenSSL to be used safely on multiple threads.
- Valknut basically runs on 2 threads, the GUI and dclib, all the OpenSSL should be on the dclib thread anyway.
- Bad news: even more mutex locking and unlocking.
- But: dclib does so much mutex locking and unlocking anyway it shouldn't make any difference.
- 07/01/2009 Unbreak transfer wait list matching broken on 20/12/2008. Fixed by not using the random source ports, which change each attempt.
- 20/01/2009 Add log message and disconnect on partial listing error.
- 27/01/2009 Removed timed out entries from the wait list. Otherwise if dclib sends a ConnectToMe but gets no response, the entry is never removed from that list. That list is restricted to 250 entries, if it is full no further transfers are allowed. Bug in all previous versions.
- 31/01/2009 Use C headers everywhere rather than <cstdio> occasionally.
- 02/02/2009 Further unbreak wait list, fix downloading from someone who is downloading from you.
- 04/02/2009 Send hub hostname in first commands sent over peer to peer connection. It's for identifying bad hubs that use everyone in them for denial-of-service attacking. In DC++.
valknut 0.3.23 / 0.4.9
- 23/11/2008 Remove all userlist column width/visibility handling code except for saving on hub close and restoring on hub open.
- 23/11/2008 Re-order search result columns, now file details then user details then hub details.
- 23/11/2008 Add source IP address column to search results.
- 28/11/2008 Remove empty "Sponsor" tab.
- 28/11/2008 Remove disabled code for sending backtraces via the web.
- 29/11/2008 Save/restore search results sort column/order.
- 30/11/2008 Show sort indicators in filelist browser.
- 10/12/2008 Fix opening text filelists that were downloaded (and converted to %20 etc.) by dclib <= 0.3.13.
- 11/12/2008 Initialize the (harmlessly) uninitialized variables in the warning. When adding a source to an existing download, they were being passed to dclib uninitialized, but dclib does not use those parameters when adding a source.
- 16/12/2008 Add malloc (low level memory usage) info button to debug settings dialog.
- 16/12/2008 Qt4: Fix all emoticons appearing as blank page icon after chat cleared.
- 17/12/2008 Fix sub menu building for hub/custom commands.
- 17/12/2008 Qt4: Change Makefiles to stop some compiler flags being given twice.
- 21/12/2008 Remove creating copies of download manager, file manager and traffic objects (things that update the status bar).
- 22/12/2008 WIN32: Valknut's data path needs to be the folder containing the .exe.
- 23/12/2008 /away and /back are now like DC++, the old /away command is now /awaymsg, which just sets the away message.
- 23/12/2008 Update the away mode in the main menu if it gets set elsewhere.
- 23/12/2008 Qt4: Fix auto away mode.
- 23/12/2008 Move hide/shown columns menu, now shown when right-clicking the column headings.
- 26/12/2008 Fix UserCommand removal/clearing to handle commands that go in menus valknut does not support.
- 26/12/2008 "typedef enum ..." is not necessary in C++.
- 29/12/2008 Cleanup layout of GUI -> Chat options tab, move some settings to new Colors tab.
- 29/12/2008 Qt3: "Unlimited" (maximum paragraphs) and "Never hide popups" were in the wrong boxes.
- 31/12/2008 Icon changes
- Icons from the "default" theme, which are mainly from KDE's crystalsvg, replaced with PNG versions.
- Tango icons replaced - with crystalsvg for filetype icons and gnome for "simple" emoticons.
- Add a few more icons.
- Use arrows supplied by Qt for move up and move down buttons,
instead of in addition to text. Qt4 only.
- 31/12/2008 s/QT(R)/Qt®/ so that it's not referring to QuickTime.
- 01/01/2009 Qt4: Make alternating row colors optional.
- 01/01/2009 Use columnCount() instead of "9" for number of user list columns, fix off by one error in copy row.
- 01/01/2009 Qt3: Use icons beside text for filelist browser toolbar buttons.
- 01/01/2009 Change code for "jump to file" when browsing filelist from search to be safer/more reliable (not need QApplication::processEvents()).
- 01/01/2009 Use provided qApp in main, removing a variable.
- 02/01/2009 Rename "Ignore messages to offline users" to "Allow sending chat to offline users".
- 02/01/2009 Rename "Ignore messages from offline users" to "Show chat from offline users".
- 03/01/2009 To make the chat right-click menu smaller, do not show instead of showing disabled: kick, force move, hide.
- 03/01/2009 Qt4: When not using tabs for chat: fix hide.
- 03/01/2009 Qt4: When not using tabs for chat: fix undock.
- 05/01/2009 Remove a bool from main.
- 05/01/2009 Only print "CRASH: ..." once.
- 05/01/2009 Qt4: "http_proxy" code totally broken, remove it, redo it for translator only.
- 06/01/2009 Add Add, Edit, and Remove bookmark buttons.
- 09/01/2009 Add icon for "Next".
- 09/01/2009 Fix Qt3-code numeric sorting ascending/descending are the wrong way around. The down arrow in the column heading puts A at the top, but valknut was putting the largest numbers at the top with the down arrow.
- 09/01/2009 Fix sorting by filelist "exact size" column.
- 09/01/2009 Add Find function to filelist browser.
- 09/01/2009 Fix the new "jump to file" code changed on 01/01/2009 which was in slightly the wrong place, so did not always work. The find function uses it.
- 09/01/2009 Qt4: Sort strings in lists using QString::localeAwareCompare which is intended for user visible lists.
- 09/01/2009 Remove all the unnecessary parameters for the Qt3-code mycompare() function that does the numeric sorting for lists.
- 09/01/2009 Qt3: Fix flag icons. Qt3 was scaling them badly, somehow replacing a colour with transparency.
- 09/01/2009 Add "Save" to userlist columns menu, for the settings to be used for new hubs without closing the hub.
- 12/01/2009 Have query on exit show the main window in case it is minimized or hidden.
- 13/01/2009 Only have an event filter on the QApplication when auto away mode is enabled.
- 16/01/2009 Fix missing :D in simple emoticons, use :-D and :D for grin/big smile/smile with teeth.
- 16/01/2009 Qt4: Clicking chat should do something when the left button is released, not any button pressed.
- 16/01/2009 Qt4: Double clicking chat should only do something when the left button was used.
- 16/01/2009 Qt4: Remove some casting and variables from DCClient::eventFilter.
- 16/01/2009 Qt4: Use QTextEdit::moveCursor.
- 16/01/2009 Remove unused DCChat::GetClient.
- 17/01/2009 Add global pointer to main window.
- 17/01/2009 Remove duplicated global pointer assignment.
- 17/01/2009 Give the translator a parent object.
- 18/01/2009 Qt4: Fix compilation with Qt 4.3.
- 18/01/2009 Fix search result list, not all the code was updated when the columns were re-ordered, for sorting and blue nicks when already in queue.
- 21/01/2009 Qt4: Fix splash screen background colour to match splash image.
- 21/01/2009 Add tooltip for summary of right side of filelist browser.
- 21/01/2009 Remove some invisible QFrames where the margin they create is not wanted.
- 23/01/2009 Qt4: re-save all .ui files with Qt Designer (re-indenting, re-formatting, re-arranging).
- 24/01/2009 Qt4: remove fixed size from the .ui files where it has no effect since it is smaller than the preferred size.
- 24/01/2009 Remove InitDocument from translator and filelist browser.
- 24/01/2009 Have the away message entry box expand into the remaining vertical space.
- 24/01/2009 Fix menu commands vs. cheat sheet sizing.
- 04/02/2009 Fix gcc 4.4 build (missing includes).
- 10/02/2009 Qt3: remove last remaining copies of libtool files from svn repository. Everything runs libtoolize now when building from svn.