retroshare (0.5.4-0.XXXXXX~YYYYYY) YYYYYY; urgency=low * Improvements - DHT * disable bitdht printStatus * increased expected dht startup period, as message rate has been dropped. * updated bdboot.txt file. - Chat * Made the private lobbies more accessible: - record which friend participates in a lobby even after they unsubscribed. The lobby list that is sent to these - friends contains the privaye lobby as well. In practice, people jsut need to be invited once to a private lobby. - Afterwards, they get the lobby in the list of nearby lobbies and can join by clicking on it. - added new item RsChatLobbyList_deprecated2, to replace old existing item. Should be removed in v0.6 - changed PublicLobbies for VisibleLobbies in the code, to avoid confusion - the change is backward compatible, although old peers won't receive private lobby info from new peers, of course. - GUI * Set email address in GenCertDialog to optional. * Fixed display of "TextLabel" in SecurityItem. - * Added patch from Henry: enable italian language * Added patch from Henry: Renamed gpg to pgp * removed some unused images * Added "Edit Share Permissions" Context Menu entry to My Directions, to edit easily share permissions for each directory * Updated languages from transiflex. * updated English, Danish, German, Swedish translations * Added OperatingMode ComboBox to the status bar - Added second (temporary) switch to turtle. - Use session switch for OperatingMode. - made OperatingMode temporary - not saved. - Moved DataRate interface from rsiface (old) -> rsConfig. - Internally moved storage of data rate from pqipersongroup -> p3serverconfig - made DataRate + Operating Mode work together. - add ToolTip to OpModeStatus .... (can't actually view - please correct as necessary) * Fixed utf8 characters for group names in RemoteDirModel (shared files). * Fixed layout of the FriendRequestPage in ConnectFriendWizard. * Added flags for services and service permissions for peers Flags are identity-related, meaning that all locations of the same peers have the same flags. - It's now possible to tweak which services each peer can use. Service that can be disabled are forums/channels, discovery, anonymous routing. - by default, peers have all flags on. - File Transfer * use a std::map to search file hashes instead of sweeping the entire database. Improves performance a lot. - OpenPGP-SDK * Added function "ops_open" to openpgpsdk to open files with utf8 characters on Windows. * changed fopen into RsDirUtil::rs_fopen in PGPHandler, to allow paths with utf8 chars on windows. Shoudl probably fix many startup issues * Bugs - added proper filtering of directories from RSLinks and RsCollection to avoid the possibility of writing out of the download directory. - Added missing closeConnection when the connection dies with SSL_ERROR_SYSCALL. - Fixed display of files in flat view. The files of friends are shown again - fixed bug in ShareManager causing directory flags to be set on wrong directory after sorting - Protected waitingIds with Mutex in pqipersongrp.cc. - Reviewed Mutex in pqihandler. * In general it is okay, except for: DataRate Handling, and Win32 specific: WaitingList. * Cleaned up some functions. * renamed createPerson and createListener to locked_createPerson and locked_createListener. This is required as neither Listener nor Person are thread safe (TODO). - fixed missing error msg in p3cfgmgr when serialisation fails. - fixed bug in RemoteDirModel causing infinite loop to happen when group name is unknown -- Cyril Soler Tue, 20 Nov 2012 12:30:00 +0100 retroshare (0.5.4-0.5875~precise) precise; urgency=low * Improvements - GUI * patch from AC to perform html optimization of forum posts using the canonical function optimizeHtml() * fixed bug preventing share manager to modify more than one directory at once * Moved most of the hardcoded colors of lists and trees to the file qss.default (with help from braindead). Now the stylesheet can redefine these colors. * Added multiselective mute/unmute to chat lobby. Added mute/unmute with double click on icon. * Added flag for hungarian language. * Fixed sorting of date in forums * redesigned the Chatlobby participants list - used now QTreeWidget instead of a QListWidget - added icons for display the muted participants - added context menu for "Mute participant" ( context menu fix from thunder) * Removed context help button from the dialogs (currently not used) and added minimize/maximize buttons to the "floating" dialogs. * Added to identify for Channel Files if its a media file(s) or not, to change the Play Button text from "Play" to "Open" - FT * added dynamic adding of direct sources from file lists. Useful for channels. Is called once every 61 seconds. * Added new link type: EXTRA_FILE, to allow sendign links with sources included so as to trigger direct transfer. This makes possible to send files through chat without permitting tunnel access to the files. The client requests the file as a direct transfer only, using the supplied source. - Patch to allow compilation on BSD - Fixed command to grab upnp patched version - Merged branch that provide group-based file permissions. Now users can sort peers into groups in the friend list, and attribute flags and parent groups to the directories in the share manager. Flags are B-B-N, meaning in order: - browsable for peers in the parent groups - browsable for everyone - network wide for everyone Backward compatibility makes previously BN flags been interpreted as -BN, meaning browsable/network wide for everyone. The merge also includes a significant improvement of the naming of flags with incompatible types which should sort out some existing bugs as well, since inconsistencies in flag usage have been found during the process. * Bugs - added additional checking of incoming compressed chunk map, in case the data is currupted, which might happens with a corrupted ft_transfer.cfg file. - fixed permission of drap+dropped files. all attached files get added to extra list, but with different permission flags depending on the client. From that, we compute sharing permissions : turtle, or direct transfer only - suppressed unitialized memory read in p3peers.cc - added missing mutex in destructor of ftFileProvider. Probably responsible for some random crashes -- Cyril Soler Tue, 20 Nov 2012 12:30:00 +0100 retroshare (0.5.4-0.5755~natty) natty; urgency=low * Improvements - GUI * Added icons for the Channel TreeWidget * Added placeholder text for Search Filter items on Group TreeWidget * Added placeholder text for Search Filter items in Messages Dialog * update the authors on the help page * Redesigned GenCertDialog for the usage in Profile Manager. * Removed the filter comboboxes and replaced it with a menu in LineEditClear. * Added settings for the blinking icons - private chat window/tab - chat lobby tab - all tray notifier * Added a find Icon Button for the class LineEditClear * Removed all not needed find icons from the Dialogs. * Enabled sorting for the Lobby Dialog * Added a placeholder text for the Search Forum filter * Added blinking of the chat icon for private chat window and chat lobby * Added blinking of the systray icon for the notifier and enabled it for private chat. * Cleaned includes in FriendsDialog.cpp * Fixed switching between combined and not combined tray icon notify with available messages. * Added sounds when message has arrived and download was finished. * The next unread button in forums search for child items and start at the top when the end of the list is reached. * Changed SoundManger to allow the plugins to play sounds. * Added example to VOIP (commented out). * Added more PRE_TARGETDEPS for Windows compile. - DHT * Improved the dht msg history storage. * specify how long we store for. * cleanup old msgs. * improve printing of history. * add timeline storage as well. * disabled by default, enable USE_HISTORY in bdnode.c There appears to be a bug related to copying bdId's around. Some of the bootstrap ids are malformed, and this crashes rs. * Bugs * Fixed stupid bug inDHT. Labels are the wrong way around. This meant limit is set to HIGH (50msg/sec) when it should be LOW (5msg/sec) -- Cyril Soler Sat, 27 Oct 2012 14:30:00 +0100 retroshare (0.5.4-0.5697~natty) natty; urgency=low * Improvements - GUI * Added Search Filter for the FriendsList * set a minimum spacing on ChatWidget * Added to display tooltip's for the Voip button's * Moved the Send Button to right side of the Chat LineEdit for better look. * Changed some language strings in the GUI, removed hardcoded fonts (Patch from Henry) * removed html strings from GenCertDialog * moved some description text from the header, to look better * update translation strings * several improvements of the GUI layout. * cleaned up many unnecessary files * Improved (ungendered) English friend recommendation message (patch ID: 3536093 ) * Support for custom qss in data dir and config dir * update win installer script, to install turkish Qt translation * renamed Bubble Compact folder * Added attempt to load the translations for the Qt's internal srings from datadir/translations - VOIP plugin * Added support for external translation files for the main application and the plugins LinksCloud and VOIP. The following files are loaded from the directory /translations: retroshare_*.qm, LinksCloud_*.qm, VOIP_*.qm * Added turkish voip translation * Added Brazilian Portuguese VOIP translation * Bugs - Fixed "jumping" of the items in channels and news feed when items are changed (load, toggle and remove). - Added workaround for QTBUG-3372. - Hide request Label, when peer is unknown - Fixed edit of a message with plaintext. The newlines remain unchanged (investigated by braindead) - Plugin LinksCloud: * Fixed crash when clicking on the link. * Fixed process of https links. -- Cyril Soler Sat, 20 Oct 2012 14:30:00 +0100 retroshare (0.5.4-0.5611~natty) natty; urgency=low * Improvements - removed some warnings and debug info - Fixed sensitivity of the action in the context menu to copy a link from the chat text when scrollbars are visible. - Stored some license files to utf-8 encoding, required by nsis installer - Changed font color in ProfileWidget to standard. - Corrected installer translation - Disabled fix color of chat messages for Qt 4.5 and lower because of missing methods on QColor in Qt 4.5 - Add direct public sources for files shared in channels, when available - Improvements to turtle router: * made faster tunnels stay longer by increasing tunnel campain time. Should favor fast tunnels. * desactivated tunnel shortenning since it cannot produce consistent tunnels every time * increase cache TTL for search requests to 240 secs and tunnel requests to 120 secs. This should remove some zombie tunnels and search requests. - Debian Buildscript. Fixed Version for Packagename * Bugs - Fixed crash when closing the settings dialog -- Cyril Soler Sat, 26 Sept 2012 22:30:00 +0100 retroshare (0.5.4-0.5582~natty) natty; urgency=low * Improvements - updated to v0.5.4a - improved chat readability (Patch from AC) - Added patch from braindead for embedded images in private chat and messages (only for QT version 4.7.0 and higher) (Not enabled on 0.5.4a release) - removed debug info outputs - changed priority of search request items to 6 instead of 5, to make it consistent with tunnel request priority - added missing libs to compile on arch linux (Patch by AC) * Bugs - ensure that ssl id is always converted to lower case before being used to add a new friend. This fixes the bug allowing to add multiple times the same friend by changing the case is the SSL id -- Cyril Soler Sat, 22 Sept 2012 14:30:00 +0100 retroshare (0.5.4-0.5555~natty) natty; urgency=low * Improvements - improved plugin system * now using two lists of rejected/accepted plugins. RS asks at start to load unknown plugins when plugins or main executable have changed. * added API and SVN numbers into required external plugin symbols * added help dialog to plugins * improved version number scripts to add the missing revision number as a int - Added window icon for the application. All windows without a parent are now showing this icon. - Moved some internal stylesheets to the file Standard.qss. - Tweaked standard style of the feed items. - moved file rsversion.h to rsguiversion.h, since it caused a conflict with libretroshare/src/util/rsversion.h when included as util/rsversion.h. Updated version detail script. - reworked context channel menu to allow unsubscribing from own channels. Removed some irrelevant items. Added warning when publish rights can/cannot be restored. - Improved ProfileManager * removed combobox and added export to the list of identities * add extension to the filename when the user enters a name without extension * refill list after generating a new identity - Fixed height of the search input field when using no stylesheet. - Changed the colors of the feed items. It was too bright. - Enabled the menu item in the context menu again to copy the link when right clicking on a link. - Reworked some elements in the standard gui. - Added VOIP Plugin to windows installer - Added new finish translation from Beluga - Added two buttons to the NotifyPage to show examples of the activated news feeds and toasters. Can also be used to test the stylesheets. - Reworked design of the toaster and moved internal stylesheets to the file Standard.qss. * Bugs - Fixed report of failing connexion attempts/recepts. Cleaned the code a little bit - Fixed message in pgphandler when signing a post - Fixed small display issue causing the availability map to become black when more than 6 sources are present - Added missing close of the temporary keyring file. Now the keyring is saved properly and the newly added keys are not lost after shutdown of RetroShare. - Patch from AsamK to avoid crash when no uids are present in the key. How can this happen anyway? -- Cyril Soler Sat, 15 Sept 2012 14:30:00 +0100 retroshare (0.5.3-0.5503~natty) natty; urgency=low * Improvements - Big cleaning of style sheets * Moved some internal stylesheets to the file Standard.qss. * Set the built-in stylesheet "Standard" as default for new profiles. * Removed some unnecessary style sheets. * Added two internal stylesheets: - qss.default - This file is used as default for all stylesheets (e.g. the frames of the AvatarWidget) and can be overloaded from the selected stylesheet - Standard.qss - The standard stylesheet for the current look of RetroShare. More internal stylesheets can be added. The plan is to move nearly all internal stylesheets to the files Standard.qss/qss.default. After that the "empty" stylesheet should represent the system theme of the os. - Added clear chat history to the context menu of the message text browser - Added new base class HeaderFrame - image and text at top of the windows - Enabled the RetroShare icon of the collection file dialogs. - estored SSLid to lower case in old certificate format. - Removed dialog FriendRequest and use ConnectFriendWizard instead. - Added new certificate format (Easier to parse/clean, more robust) * checkbox for using old cert format in security page. Old format used by default, to avoid confusing newbees * added new RsCertificate class to handle all certificate actions - Several small tweaks to the gui - Redesigned the Create Chat lobby dialog - Fixed compilation with newer versions of libupnp, except for debian sid which uses a patched old version (crap!) - update Spanish translation (from Senpai) - Added a new page for user request to ConnectFriendWizard. The page is shown instead of the conclusion page when the user clicks on the certificate link in a message of type user request. - Enabled icons for VOIP plugin - Enabled display of plugin version in plugin items * Hide the import/export button, and set the new identity CheckBox set checked, when start a new Profile generation from Profile Manager. * Set PluginItem icon size to 24 - Added automatic clean of the friend certificate in ConnectFriendWizard. - Fixed code for certificate link generation. - Added new Chat style Bubble, generated by Victor for RetroShare - Added a profile manager. Shoudl be useful for importing/exporting identities. * Bugs - fixed nasty bug causing crashes when syncing the keyring from disc - added writing of public keyring to a tmp file + rename, to avoid corrupting it when RS stops during the whole operation - Added a quick fix for the freeze of RetroShare when using a file dialog on Windows - Fixed showup of self signatures in certificates that are not in the keyring already - Added code to avoid corruption of bdboot.txt: first write to tmp file then move the file. Refers on Windows utf16ToUtf8 from libretroshare. This forward reference can be improved. - Fixed bug with empty certificate strings when clicking on a certificate link with only a PGP id. - Removed deadly assert in validate.c:338 causing crashes on error. -- Cyril Soler Mon, 25 June 2012 21:30:00 +0100 retroshare (0.5.3-0.5400~natty) natty; urgency=low * Improvements - improved GenCertDialog logic, showing import buttons only when necessary, enabled key import when no key is present - show count of new messages in the toolbar - improved chat dialog (enabled colored nicknames) - Reworked notification code in system tray. - Added a base class and a possibility for the main dialogs and the plugins (derived from MainPage) to provide a notifier. - added systray notifications for chat lobbies. - Enabled some more translations in news feed items and fixed german translation. - Removed not needed file "Thumbs.db" in skin directory. - improved pgp cleaning function * Bugs - fixed a few bugs in cert creation window: * private key was not correctly added to private keyring * self signature validation was reported unsuccessful when unknown signatures where found - fixed re-copy of dht bootstrap file when the file is empty - fixed up memory leak in openpgp - Trim right spaces from certificate name. - removed a couple of assert that could crash RS - Fixed bad default value for filter column in ForumsDialog - return false when ssl passphrase is of length 0. This should not happen, unless the file is void, since openpgp does not complain about decrypting empty files - added auto-clean of certificates at load time. Removes many errors. - fixed bug due to misinterpreting non SSLid drectories as potential locations * Ongoing developments - merged GXS branch into trunk. No visible changes to the end user for now. -- Cyril Soler Mon, 25 June 2012 21:30:00 +0100 retroshare (0.5.3-0.5327~natty) natty; urgency=low * Improvements - Merged branch v0.5-OpenPGP into trunk. Please read the following important release notes: User-level changes: ================== * libgpgme is not used anymore; it is replaced by a built-in piece of code called OpenPGP-SDK (http://openpgp.nominet.org.uk/cgi-bin/trac.cgi) that was improved to be used by RetroShare for handling PGP keys. * the gnupg keyring is not used anymore. Now, RetroShare has it's own gpg keyring, shared by all instances. On linux it's located in ~/.retroshare/pgp/. A lock system prevents multiple locations to read/write keyrings simultaneously. * the trust database from gnupg is not documented, so RetroShare cannot import it. This comes from the fact that the GPG standard (RFC4880) asks explicitly not to export trust information. So RetroShare has it's own trust DB shared by locations. This means you need to re-trust people. Sorry for that! * at start, if no keyring is found, RS will propose to copy the gnupg keyring to use your existing keys. Clicking on "OK" will do the copy, and you should find back all existing locations, except for DSA keys. * locations for which the suitable keypair is not in the keyring will not be displayed in the login window * locations for which the suitable keypair is not a RSA/RSA key will not be displayed. RetroShare does not support DSA/Elgamal keypairs yet. * a key import/export exchange function has been added in the certificate creation window (you go there from the login window by clicking on "manage keys/locations". This allows to easily create a new location with the same pgp key on another computer. To obtain a suitable keypair using gnupg, you need to concatenate the encrypted private key and the public key into an ascii file. This can be done using: gpg -a --export-secret-keys [your ID] > mykey.asc gpg -a --export [your ID] >> mykey.asc * importing a key with subkeys in not yet possible. Please remove subkeys before importing. * The code has been tested for a reasonnable amount of time, but it's not possible to prevent some new bugs to appear. Please report them asap supplying: call-stacks if possible, and terminal output. In particular, openpgp has some assert()'s that should not be triggered unless RetroShare is calling it in an improper way. Internal changes ================ * a specific component, PGPHandler, takes care of the interface between openpgp-sdk and RetroShare openpgp-sdk is c-code, with it's own memory management, which has been kept well separated from RetroShare. * GPG Ids are now a specific class (not a std::string anymore) for code consistency reasons. As strings are still used in many places, this requires a few conversions. In particular, AuthGPG takes strings as function params and calls GPGHandler with the proper PGPIdType class. In the future, RetroShare should only use PGPIdType. The same will be done for SSL ids. * signature cleaning is still handled by the Retroshare built-in function, not by openpgp, but we will do this later. Still to do =========== * DSA needs subkey handling, since the encryption is performed by a Elgamal subkey. Not sure this will be done. * GPGIds/SSLIds cleaning (meaning replace strings by appropriate types). Lots of confusion throughout the code in retroshare-gui in particular. * key removal from keyring. This is a challenge to keep locations synchronised. - Rework of tcponudp/tcpstream should make UDP connections much more stable. * Fixed retransmit algorithm. Much more closely matched to TCP standard: http://tools.ietf.org/html/rfc2988 * This increases retransmit timeouts, and reduces the number of packets resent. * Added better debugging for retrans/close as separate #defines. * Further testing is required ;) - Added dynamic choose of sources for chunk crc requests. Fixes the bug that would let a transfer not finish if the original surce for a crc is not here anymore. If you have a unfinished transfer do a force-check after restart to get back chunks that where still on verification stage. - moved channel action menu into right click, for better consistency - Enabled word wrap of the description in ChanNewItem. - Added a new button in ChanMsgItem and ForumMsgItem to set the message as read (without expanding the message) and remove the item from the news feed. - Redesigned ChanMsgItem. - updated french translation (Max Romeo) - improved build bat file (san) - Moved the include folder OpenSSL to the other external includes for Windows compile. - added warning for unsupported keys. It is triggered when no valid keypairs are found at start, and when unsupported keys pairs are found when copying the keyring - Enabled translation (system default language) of the message box before the login to a profile. - Fixed german translation. - removed not needed info buttons for the infodialog - desactivated TrustMatrix, by the time we decide wether it is worth keeping it, and implement a better version of it - updated package building scripts for ubuntu * Bugs - fixed stupid bug in friendlyUnits() causing crashes when displaying files with size > 1TB - possible fix for bug on ARM archs (reported by Ralfk) - fixed possible bug due to misplaced mutex (Reported by bNK) - added missign break, causing a crash when creating a new key - Fixed crash when starting the help browser from friend details the second time. -- Cyril Soler Mon, 25 June 2012 21:30:00 +0100 retroshare (0.5.3-0.5254~natty) natty; urgency=low * Improvements - Added windows for bandwidth/display analysis in tray menu - Reworked tcponudp/tcpstream. Should make UDP connections much more stable Increses increases retransmit timeouts, and reduces the number of packets resent. Added better debugging for retrans/close as separate #defines. - Moved QoS from pqihandler to pqistreamer. Removes one out queue, suppressed lags when program is eavily loaded. - Added bandwidth monitoring service to libretroshare * p3bwctrl.h/.cc & rsbwctrlitems.h/.cc * New Interface in pqihandler to extract the data. * New Interface in rsconfig to display in GUI. * Added extra debugging in pqistreamer for catching big outqueues. - Enabled full chunk checking code: * unchecked chunks are not made available to swarming sources, not saved as done. * force check now uses the simple method to put all chunks in checking mode * force checked files can be cancelled (finally!) * improved display (use red for active chunks, yellow for checking) * cache file are not using chunk checking (assume_availability=true) - fixed compilation on OSX - Added patch #3510849 from Adam (interfect). Capitalize "copy RetroShare key to clipboard" - Added "file:///" to "%style-dir%" for the chat styles. - Renamed "RetorShare" to "RetroShare". - Fixed german language - Changed chatstyle structure from - [RS-Dir] / stylesheets / {public | private | history} / my_chatstyle / to [RS-Dir] / stylesheets / my_chatstyle / {public | private | history} / - Optimized the fill of the up- and downloads in TransfersDialog * Bugs - fixed bug in friendly display of size > 1TB causing crashes in e.g. channels - fixed bug in display of upload progress - Fixed bug in Qt for Windows Vista and higher. Convert path from native separators of filenames from QFileDialog::getOpenFileName(s) (Patch from AsamK) - Fixed sorting (case insensitive, numbers) in SearchDialog. - bug fix, avatar item deserialisation unsafely assumes valid image length. caused crash on windows. -- Cyril Soler Mon, 25 June 2012 21:30:00 +0100 retroshare (0.5.3-0.5189~lucid) lucid; urgency=low * Improvements - Sort participants list in the chat lobby case insensitive - Added check for empty lobby nick name. - Moved notify of lobby nick name change from the gui to p3ChatService. - Added new placeholder %style-dir% for ChatStyles (patch from Imanuel) - Fixed replacing of %color% in ChatStyle. It should not be replaced after %message%. - Redesigned ConnectFriendWizard as ui file. - Added new base class DropLineEdit. - Fixed german language. - changed base-class of AvatarWidget to QLabel (Patch from braindead) - prepared property-dependend stylesheets - simplified avatarwidget * Bugs - Added missing mutex locks for p3ChatService::_default_nick_name. -- Cyril Soler Wed, 24 May 2012 22:30:00 +0100 retroshare (0.5.3-0.XXXXXX~YYYYYY) YYYYYY; urgency=low * Improvements - Added threaded loading of channels (GUI). - added paste own certificate to chat/forum context menu (patch from AC) - Added function to mute some participants in chat lobbies - Switched on optimized compile on Windows. - Improved multi-source file transfer in two ways: * tunnels can borrow data chunks from only slower tunnels, to prevent blocking fast tunnels * inactive chunks are asked again after a longer time, to avoid wasting bandwidth asking them twice - Added new notify on connect attempt by the local message system. - Removed not needed field in FriendRequest Dialog - Added new friend request toaster from defnax. - Fixed base path for the external stylesteets - Optimized channel loading and layout. - Optimized RsCollectionDialog (still without thread). - Enabled extended selection and mark with the key 'space'. - Improved the default recommendation text - Added a default styleSheet for the "Confirm Friend / Add as Friend" Button - Moved HandleRichText from the folder "chat" to "util" and redesigned the source - Extended RsHtml::formatText to replace the RetroShare links with an image and enabled this for the certificate links in the system messages (friend recommendation and user request) - Added new ObjectPainter for painting a button on a pixmap - Display old and new nickname to Peers during nickname change in ChatLobby. - update french translation (Max Romeo) - Fixed utf8 in notifyQt - Improved friend recommendation - Added a title label to Friend Request Toaster, little design changes - Added empty entry to stylesheet-choice for "no stylesheet" and moved method "loadStyleSheet" from MainWindow to Rshare (patch from braindead) - Added ability to style the system messages in chat (e.g. Lobby management) - Added new message flag for system messages like friend request. - Show "RetroShare" as sender of system messages to myself. - Added new quick view in MessagesDialog to filter system messages. - Changed RetroShare link in friend request message to certificate. - Added new subject image for the system messages (defnax). - Removed not used notify in message service. * Bugs - Removed data race in QObject::connect() vs. NotifyQt signals by enabling notification signals only after GUI is created - Added dynamic locking function for the OpenSSL library to prevent data races. - Fixed handling of html links in HandleRichText::formatText. - Removed possible data race on boolean value (Not critical) - Removed non-mutex-protected reference in p3turtle.cc - Fixed issue with lost downloads when RetroShare exits (or crashes) during the load of the file transfer items. The pending list was not saved. - Fixed bug probably responsible for random crashes in DHT code - Removed usages of "std::istringstream" and "std::stringstream", which are not thread-safe. -- Cyril Soler Wed, 16 May 2012 22:30:00 +0100 retroshare (0.5.3-0.5114~natty) natty; urgency=low * Improvements - removed minimal version - Improved TR routing strategy: * updated base forward probabilities to larger values * used a minimum FP to 1/nb_connected_friends instead of 0. This is the larger non-explosive value. * changed tunnel management time to 2 secs instead of 1, setting the overall number of TR/s emmitted for all downloads to 0.5 (Should reduce the TR load for the whole network by a factor of 2). - Activate DHTML in Doxygen Documentation, for Fold in/out Class hierarchy images. - New Doxygen configuratin for Retroshare GUI, see at http://notdefine.de/retroshare/retroshare/trunk/retroshare-gui/src/html/index.html - Add missing includes "unistd.h" for compiling with gcc 4.7.0. (Patch from AC) - Added a label for Connect Attempt after nickname "wants to be friends with you on RetroShare" - Added "You have a friend request" label to FriendRequest Dialog - Renamed "Accept Friend Request" Button to "Confirm", - set correct stylesheet for new forum item - Added stylesheet for the Friend Request Buttons - Added new basic class for a QLineEdit with a clear button - LineEditClear. - Enabled file preview on Windows. - The link file to preview a not finished download is created in temp directory. - Added a messagebox when preview a not finished download to remove the link file. - Fixed german language - Removed the max length from the ip fields in ProfileWidget to display all 15 digits. - enabled disabling autodownload for channel admin (patch from asamK) * Bugs - removed all calls to std::stringstream, causing a thread data race on windows - don't remove color and font when the last char is deleted from the chat text entry box (Patch from AC) - Fixed, hide "Accept Friend Request" Button for Unknown Peers - Improved Search Dialog (Patch from AsamK) * don't add friend sources count to anonymous count each time a result for the same file is received!, this could lead to enormously large sources numbers * don't readd search in summary list if it was already removed by the user * don't clear the filter when new search results are added * when using the file name filter only show result from the current search, not also from previous searches * fixed adding only file types which were searched for, for this I created a new hidden column in summary list to store the file type * fixed sorting by file size/age, pad string with '0' instead of ' ' Search feature: a quirk I've found * decrease gui hanging: -when adding search results temporarily disable sorting -only add 250 instead of 500 items in one go -don't call selectSearchResults() for each item added to the result list; instead call hideOrShowSearchResult() which only sets the hidden status of the added item, not the complete list -replace std::string with QString, removes unnecessary conversions - Fixed clickable links in forum message feed. -- Cyril Soler Sat, 21 apr 2012 10:00:00 +0100 retroshare (0.5.3-0.5067~natty) natty; urgency=low * Improvements - Added Copy Certificate Button to ProfileWidget - Fixed compile of VOIP on Windows with Qt >4.7 - Modified some defaults (auto check of shared directories to 15 minutes, time to idle mode to 5 minutes) - Added welcome message to the chat lobby - Changed display of the own name in FriendsDialog from "Name (me) Location" to "Name (Location)". - update new Spanish translation from Aitor - Added two new functions to libretroshare for writing formatted data to std::string - Added two new images from defnax to SecurityItem for SEC_TYPE_CONNECT_ATTEMPT and SEC_TYPE_UNKNOWN_IN.kkkkk - added new toasters for private/group/lobby chat. - added copy certificate button to profile widget - added topics to chat lobbies. Improved CL gui - added deferred checking of chunks in FT. Not fully functional yet, for backward compatibility reasons. - prepared libretroshare for OpenSSL-1.0 - Bring the main window to foreground when receiving a link from the browser (Windows only). - Fixed compilation on MacOS 10.6 (patch from K.Gupta) - Update installer script, added spanish,arabic,italian,greek and portuguese language support - Optimized layout of the newsfeed items. - Fixed linking of the VOIP plugin on Windows (Exports all symbols from RetroShare.exe and import it in the plugins. Removed the direct linking of the libretroshare and libbitdht from the plugins.) - Fixed utf8 characters in the transfer tab name of plugins. - Functional version of VOIP plugin. - Added ability for plugins to return their own PopupChatDialog class - Count the friends (gpg id's) instead of the locations (ssl id's) in the statusbar. - Moved update of the friends from QTimer to signals. - Combined p3LinkMgr::getFriendCount and p3LinkMgr::getOnlineCount and moved to p3PeerMgr. - Fixed scroll position of the text browser in the chat dialog when the friend changes the status and the info frame is shown or hidden - Reworked the start of a chat with a gpg id (doubleclick in friends tree). Removed the question to send a message when a chat with an offline friend is started. Start the chat when only one ssl id exist (online or offline) or only one ssl id is online. Show a messagebox when more than one ssl ids are online or all are offline. - Added check for required location during gpg key generation. * Bugs - Added thread safe function for inet_ntoa in libbitdht using the existing thread safe function for inet_ntoa in libretroshare - Fixed deadlock when receiving a chat message with open history browser. - fixed version script (Patch form AC) - Fixed Download link for Email Invite - Fixed utf8 in dropping links to channels (patch from AsamK) - Fixed pasting cert links in the friend list (patch from AsamK) - Added code to allow pasting GPG certificates missing a newline at the end (patch from AsamK) - Fixed display of the location with utf8 characters in ConnectFriendWizard. - Fixed icon size in forums - Disabled adding new keys from friends of friends in non-discovery mode. - Fixed display of friend status in chat window - Fixed bug returning false while a string is expected in p3distrib -- Cyril Soler Fri, 20 feb 2012 12:00:00 +0100 retroshare (0.5.3-0.4973~natty) natty; urgency=low * Improvements - added BSD specific changes - made settings page system more automatic - updated french translation - mark local existing files in search dialog with red color - started working on VOIP plugin (not finished yet) * merged p3voRS code with plugin code * created new interface directory retroshare-gui/src/retroshare-gui * improved plugin system to allow adding settings pages from plugins * Bugs - fixed crash in config dialog - fixed missing return value in ftcontroller.cc -- Cyril Soler Fri, 20 feb 2012 12:00:00 +0100 retroshare (0.5.3-0.4953~natty) natty; urgency=low * Improvements - removed unused plugins in .pro file - added early sendign of chunkmap requests to new sources (FT) - saving finished/checking transfers (FT) - improved swarming test code with fault simulation - started conversion of VOIP code (from Joss) into a plugin. Unfinished! - Added multi friend recommendation dialog. You can start it from the tools menu in FriendsDialog. - GUI * Moved the news feed tab to the first position. * Added icon to the ConnectFriendWizard. * renamed Dht to DHT, Authemticated to Authenticated * The channel message (in channels) is set to read when the user clicks on the show more button. * The forum/channel news feed is removed when the user reads the message in forums/channels * The standard font is now used for new chat lobbies. * Added a new menu item to set the font of a private chat and chat lobby to the default font. * Changed the color of the time of the compact chat style from red to gray. * disabled autodownload when subscribing to a channel. * set a icon for Friend Recommendation menu action * Sort nick names by name in the chat lobby. - Added missing IPs to certificate links - set max chunk inactivity period to 5 mins instead of 1 mins. Shoudl favor slow DLs. This is nw possible since missing bits will be re-asked regularly (FT) - added Cache system to GPG certificates. Should reduce GPG calls by 90% - added code for Intro Server: automatically accept peers, and spews a chat lobby where users can meet. - Show clickable links in the channel feed message. - updated franch and german translations - added control over TR forward rate, so that we can experiment with it on large bandwidth servers * Bugs - fixed 2 potential flaws of swarming causing request of unavailable data - only ask CRC32 maps to peers that have a complete file. - Fixed private message notification. Remove offline private messages of none friends at startup and when a friend is removed. - Moved the removing of the history of removed friends from p3PeerMgrIMPL to p3ChatService. - Fixed Download toaster (utf8 in file name, use QDesktopServices vs RsUrlHandler for collections, fixed crash after opening a collection) (Patch from AsamK). - fixed utf8 chars in certificate links (Patch from AsamK) - removed cache adding strategy to DL queue that was O(n^2). Now addign cache at the end of the queue - Fixed bug when the user clicks on a link without http:// in a QTextBrowser. This link was oppened directly in RetroShare. - Attempted fix for maintaining External Port in Manual Forwarded Mode. * added check for RS_NET_MODE_EXT instead of RS_NET_MODE_TRY_EXT... as trys aren't used in p3PeerMgr. * removed tryMode from external interface - as this data is not available anymore. * Removed setting this parameter in p3peers.cc - Fixed reference to tryNetMode. -- Cyril Soler Fri, 17 feb 2012 14:00:00 +0100 retroshare (0.5.3-0.4909~lucid) lucid; urgency=low * Improvements - Added Code to convert retroshare-nogui into an "Introduction Server". Perhaps the community can use this instead of their existing certificate exchanger. - Updated the help page, added few more infos * Bug fixes - Fixed RS links with special caracters: ",&,# - Removed unused plugins from trunk - Fixed parenthesis problem with #ifdef that armed lupdate - Fixed layout of the CryptoPage and german language. - Fixed many tranlation issues -- Cyril Soler Wed, 08 feb 2012 22:00:00 +0100 retroshare (0.5.3-0.4885~natty) natty; urgency=low * Improvements - Added new variant to the compact chat style with colored nicknames calculated from the name. It's disabled by default. You can enable it with the define COLORED_NICKNAMES in ChatStyle.cpp. - Fixed up Email Invite Text... * Unified Text Source. * Added "Cut Below Here" line - Switched BanList sharing to only your own list. (was OWN + FRIENDS lists) This data is not used at the moment, so just reducing data before release. - Updated English Email Invite (sorry guys, you'll have to redo translations). - Set OSX default style to "Cleanlooks" - as AQUA style hides some windows. - Updated Version strings to V0.5.3a. / 4874 - Fixed missing headers for plugin manager. - Disabled ZEROCONF for OSX. - minor improvements to plugin system - updated french translation (from Max Romeo) - Added new compact style for chat. - Improved the HTML optimizer. - Start the CreateLobbyDialog from the list of chat lobbies with the privacy level of the selected item. - fixed to display the the correct help icon on MainWindow - Fixup BSD qmake parameters: mainly library locations. * Bug fixes - Fixed handling of utf8 characters in lobby nick name. - fixed small bug in certificate correction (missing ending newline caused crash) -- Cyril Soler Fri, 03 Feb 2012 22:00:00 +0100 retroshare (0.5.2-0.4861~natty) natty; urgency=low * Improvements - Added (make functional) the lobby menu in the context menu of the gpg and group item in FriendList. - Added button to add/remove signatures and button to copy RS cert link to clipboard - Added doubleclick to join a lobby. - Disable the Startup Wizard. Most of the defaults are sensible now, so its no longer needed! - Fixed default data rates to sensible options: 200 kB/s down, 50 kB/s up. - Added Minimal certificates to discovery exchange. They are invoked if the standard cert is over 10k. - Switched std::vector.data => &(std::vector[0]) to remove linuxism in radix64. - Added new common widget FriendSelectionWidget for selecting friends and use it in CreateLobbyDialog, ShareKey (forums and channels) and MessageComposer. - Fixed german language. * Bug fixes - Added Check for successful Req creation (was crashing with NULL pointer). - Fixed echoes in chat lobbies * added a time stamp to lobby events (new item tag) * controlling time stamp of lobby msg and event: drop packets if time is older than cache duration. * moved connexion challenge code to lobby management loop * added new type of lobby invite to handle connexion challenges and avoid false invitations in the GUI New lobby event format is not backward compatible -> "peer typing" and "peer joined/left" will need the new version. Messages are still compatible) - Fixed crash when closing a chat window. - Fixed Auto-Download Button - Fixed wrong display of the news feed notify in FriendsDialog when the tabs were moved. - Another fix for the discovery fiasco... Turns out that I broke the system with my previous changes. * Allow certificates through with no attached GPG Certs. * Added StoreAllKeys() call after adding new GPG Certificate. -- Cyril Soler Thu, 24 Jan 2012 19:00:00 +0100 retroshare (0.5.2-0.4840~natty) natty; urgency=low * Improvements - added retroshare certificate links: allows to paste certificates everywhere. - added certificate links in friend recommandations - added certificate cleaning method, to remove signatures at export - improved chat lobby GUI * added proper counting of peers in chat lobbies, using keep-alive packets, time stamps, etc. * Moved the chat lobby tabs to the FriendsDialog. * Extracted a new widget ChatWidget for the basic chat handling from the PopupChatDialog and use it in ChatLobbyDialog too. * Added an own ui for the ChatLobbyDialog. * Saved settings of the ChatLobbyDialog. - Reworked SoundManager and SoundPage in the settings. - Added new icon in the statusbar to switch off the sound - Enabled Relays by default. * This will only effect people who upgrade from a very old version. * Other people will have to switch it on manually. * Default is 0 friends, 1 FOF & 1 General @ 1kb/s... max 4kb/s usage per peer. - Disabled Thread debugging. - Fixed up bdProxyId initialisation - Improved Error Code translation (for unknown entries) - cleaned up some of the std::cerr output. - Changed parameters of RsStatus interface from "std::string" to "const std::string&" - Fixed german language. - Added Native (Bonjour API) Nat Port Forwarding to OSX. * new classe p3zcNatAssist * moved some common ZeroConf functions / definitions around. * moved virtual tick() to parent class: pqiNetAssist * added zcNetAssist section to makefiles. (active for OSX build) * setup switch between p3zcNatAssist & upnphandler in rsinit.cc - Changes to support Relays. * added p3BitDht::addKnownNode() so that DhtIds can be used instead of SslIds. * switched from bdStdDht() functions to use bdModDht(). * made DhtFunctions a class variable. * added function to modify NodePerBucket() parameter. * Bugfix for LinkType. peerConnectAddress.flags was not initialised. * Extra debugging of LinkType data (use LINKMGR_DEBUG_LINKTYPE). * cleaned up udprelay output. * Added Compile Rules to libretroshare.pro for building LocalNet Testing Version. (testnetwork) * Added NumQueryNodes() function to bdDhtFunctions. * Switched bdquery.cc to use bdNumQueryNodes(). * Extended bdStdDht class to bdModDht to allow NodesPerBucket to be modified. * Fixed up Connection Fail Callback for Relay Servers. * Added Extra debugging for Proxy Connections. * disabled turtle routing for relayed connexions * Bugs - lobby participant list now updated when peers join/leave - Added chat lobby privacy type to lobby invite => lobby type is propagated correctly to friends that are invited. - Bugfix for natassist (zeroconf returns 0.0.0.0:0 when its doesn't work). - Logged IP Addresses for Failed incoming connections. - Hacked IP address into the NewsFeed notifications (ugly). - Attempts at fixing disconnections :) * Added limit of 10kB for Certificate size. If it is bigger - discard certificate. * Remove certificates for slow / trickle connections (for Relay connections). * Disabled check for gpgcert text in p3disc. * Disabled creation of GPG Cert in AuthGPG. * Added extra error code to pqinetwork. * Added DataRate accounting to Relay and Dht. * Rates are exposed through rsDht.h interface. * Added LastIncomingTS() to pqistreamer. * Turned HeartBeat reset() into a warning. * Added NoPacket in 60 sec reset(). * Minor typos/errors corrected. - Fixed message reply and forward. The new lines were removed falsely. - Improved logging of Connection Behaviours. - Added history for chat lobbies and disabled it until the lobbies are saved. - Added check in cachestrapper to see if a duplicate cache has been requested. In this case, don't cancel the old one - just keep going! -- Cyril Soler Thu, 24 Jan 2012 19:00:00 +0100 retroshare (0.5.2-0.4783~natty) natty; urgency=low * Improvements - Added Chat Lobbies: decentalized anonymous chat rooms. * Chat lobbies are private (on invitation only) or public (friends can join) * Bit of GUI to show lobby list, with one tab per active chat lobby * Most fonctionality of chat are ported to lobbies including status messages * Internally to libretroshare, lobbies are virtual peers to talk to. * Deriving a RsItem from ChatLobbyBouncingObject allows the item to be bounced to all peers in the lobby. * Improved message splitting by adding sub item ids to lobby messages. Should be ported to normal chat in the next version. * Added parent id to RsChatLobbyMsgItem, to allow threaded chat. * List of public lobbies at friends are requested only when needed * Major cleaning of p3chatservice.cc - Added new entry in config->transfers to allow reserving n slots to non cache transfers - Add the ip address of the DNSResolver to the top of the list of the connect addresses. - Little design improvements for Plugin Item - Added manual entry for plugins - Added relay connexions (Note: There are still some service changes required to reduce the traffic over relays) * Merging Dht Relay improvements into the trunk. These changes should finally make relays functional. * Changed the way proxy/relay peers are selected in bdConnection. (needs more work). * Added LinkType to peer info in p3LinkMgr & rspeers.h interface. * Added getConnectionType() to p3PeerMgr. This defaults to FRIEND for the moment. * Provide information about Bandwidth, Transport and Peer Type via LinkType(). * Added RateCap() to limit traffic over Relay connections. * Set Internal Rate to 75% of Relay Limit to account for transport overhead. * Added various #include "util/rswin.h" to fix compile errors with standard ssl package. * Removed Local variables (mConnectProxyAddr, etc) which were hiding Class Variables. * Cleaned up bits in pqissl.cc and p3linkmgr.cc * Increased UDP Relay Packet size (max transport of 1400 bytes per UDP packet) * Modified checkRelay() to use Low Pass Filter to calculate Relay Bandwidth. * Improved udprelay debugging. * increased (x2) Relay Lifetimes - this is so that enough useful data can be transported (1meg). * Added LOCALNET_TESTING code to rsinit.cc. This allows Port Restrictions to simulate firewalls. * more debugging and minor bugfixes. libbitdht * added Relay Flags to bdNode::setNodeDhtMode() * added dropRelayServers() / pingRelayServers() functions for mode switches * added utility function: bdFriendList::findPeersWithFlags() * added utility function: bdSpace::clean_node_flags(uint32_t flags) * added RelayMode to ConnectManager. * added failedConnection callback when in Server Mode. * added incomplete udpproxylayer code. (not compiled) libretroshare * added Configuration to p3BitDht for storing Relay Settings. (bit Hackish!) * added RelayHandler & getRelayReceiver() - to outsource some Relay functions. * + RelayHandler_InstallRelayConnection() & RelayHandler_LogFailedProxyAttempt() * added RelayServer, Mode and RelayAllowance to external DHT interface. * added p3PeerMgr::getGpgId() for ZeroConf usage. * updated parts of pqiassist virtual interfaces. * added Bandwidth storage to udprelay. * modified the way Relay Slots are allocated to match GUI interface. * ZeroConf now working on OSX. * added ZeroConf to OSX compilation. * extended rsDht interface to expose Relay configuration. retroshare-gui * added Relay configuration panel. -- Cyril Soler Thu, 12 Jan 2012 19:00:00 +0100 retroshare (0.5.2-0.4747~natty) natty; urgency=low * Improvements - Added the real size of all files of a collection to the link when added with drag and drop. - ConnectionFriendWizard: Show the messagebox "Your Cert is copied to Clipboard" after copying the cert into the clipboard. - Removed "release" from the win32 build in retroshare-nogui.pro. - Added retroshare-nogui to the subdir project. - DHT (Merging r4705 through r4717 from retroshare/branches/v0.5-dhtmods) * Switched on Local BadPeer DHT Filter. - This will remove any peer detected to be spoofing yourself or your friends. - This list is also shared with you friends. (in Test Mode). * Added Cleanup of BadPeer Filter. - Instead of permanent ban, peers are be banned for 6 hours. - bdManager periodically calls this - which prints out ban list too. * Added Checks against spoofing to UdpStunner. - Throw away Stun Results where remote_addr = reported ext_addr. - Added extra checks to ensure that the same Ext IP is returned, before reporting. - accept BadPeer List from DHT BadPeer Detection. * Changed BanList Service Id from Test ID to Real ID. - Added new widget for hashing files. - Added new common class FilesDefs to handle informations of file types like icons and names. - Removed calls to exit() in rsinit. Replaced them by proper return false - Adjustment of some values for file transfer: some delays can be larger, now that chunks are shared between sources. This makes file transfer more stable: FT_TM_DOWNLOAD_TIMEOUT: 10 -> 20 secs (RTT limit of 10 secs is too low -> transfers in long tunnels kept switching between active and inactive) INACTIVE_CHUNKS_CHECK_DELAY: 60 -> 240 secs (Chunks are kept longer before beign cancelled, which is now affordable) MAX_TIME_INACTIVE_REQUEUED: 60 -> 120 secs.(Transfers a kept longer before being re-prioritized in queue) * Bug fixes - Added the size of the collection to the link only for files (missing test) - Show the correct name in the title of the RsCollectionDialog when the filename contains ".". - Fixed creating of the download path of the collection when running as portable version. -- Cyril Soler Wed, 21 Dec 2011 20:30:00 +0100 retroshare (0.5.2-0.4706~lucid) lucid; urgency=low * Improvements - DHT: * Reduced Default DHT Message rate from 50msg/sec to 5msg/sec (Searches now take longer, but it should make crappy firewalls happy.) * Added Interface to allow this rate to be dynamically changed (no GUI yet). * Bugfixes for p3BanList: removed internal IPs from Lists, fixed AddBanPeer() logic bug. * Disabled p3Dsdv, after brief test. * Added knowledge of Friends / FoFs and Relays to DHT. * Added bdFriendList class to store this information. * Added Checks against known Peer:IP information to detect bad peers. * Bad Peer Checking is in Test Mode Only for the moment, * New Interfaces to exchange above information with libretroshare * Cleaned up various compiler warnings. - GUI * Added new button "Open Collection" in TransfersDialog. * Show main window with click on system icon when the main window is minimized. * Beautified RsCollectionDialog. * Fixed german language. * Added new column "Last Contact" to the FriendsDialog and MessengerWindow. Moved some more basic functions to FriendsList and optimized the exisiting code. * Added translation for plugins and added german language to LinksCloud. Recompile needed. * Changed the name and the description of the plugin to utf8. * fixed download priority handling. Proof-tested on multiple DL from the same peer. - libretroshare Improvements: * corrected disabled RequestdirDetails in FileIndexStore to be able to retrieve root directory of a user ID * removed dependency of mRateIncrease into measured rtt -> would cause very slow transfers through long tunnels * Removed compiler warnings. * Added p3BanList Service and DataTypes to exchange Bad Peer information. * Added Plumbing to get info from network to DHT and back. * Supply Friend List from p3LinkMgr * Supply Friend of Friend List from p3Disc. * Added p3Dsdv Service and DataTypes for NetworkWide Routing (Testing Mode). * Various BugFixes. * Patch Manual Forward mode to preserve user selected Port. * Bug fixes - 2 bug fixes (by AsamK) to make rscollection files compatible with utf8 - fixed bug asking data to deleted mTransfer -- Cyril Soler Wed, 02 Dec 2011 20:30:00 +0100 retroshare (0.5.2-0.4653~lucid) lucid; urgency=low * Improvements - implemented handling and creation of collection files - improved computation of CRC32 maps (separate thread, cache keeping, sending of keep-alive packets) - fixed compilation of some tests in libretroshare/src/tests/ft/ - updated german language - started implementing a file mapper to allow linear download of data with automatic de-fragmentation (not enabled yet) * Bug fixes - bug in CRC32 map cross-checking: only downloaded chunks would be checked. - fixed bug in file transfer re-allocating a local variable -- Cyril Soler Wed, 09 Nov 2011 20:30:00 +0100 retroshare (0.5.2-0.4653~lucid) lucid; urgency=low * Improvements - removed delay in file checking that would cause excessively long file update cycle - implemented slice sharing between peers. - Replaced spaces with %20 in RetroShare links. - obfuscation of TR and SR by random rare non-increase of length 1 requests (original idea by Costa) - layout changes for PluginItem, fixed qrc resource load in plugins. * Bug fixes - corrected bug about wrong layout of friend list (patch from asamK) - corrected bug that would allow a direct friend to DL a file that is NETWORK_WIDE only, using direct transfer -- Cyril Soler Sun, 24 Oct 2011 20:30:00 +0100 retroshare (0.5.2-0.4642~lucid) lucid; urgency=low * Improvements - updated build scripts and .pro files forubuntu oneiric - fixed plugin system on windows. - updated french translation - Add the private chat message to the history after removing the private chat queue (when the user has read the message). - Added loading text to forumsdialog and enabled percentage numbers to be shown also - added display of TR forwarding probability as a function of depth. - Moved the chat history into the libretroshare. * Now the history is saved encrypted. Please delete all files with "chat*.xml" in your profile folder. * Added new config p3HistoryMgr and interface p3History. * Added new option to limit the count of the saved history items. * Added new simple html optimizer "RsHtml::optimizeHtml" to reduce the size of the html strings. * Bug fixes - fixed issue of loading the correct instance of RetroShare.conf when switching locations (Patch from AsamK #3423256) - fixed utf8 issues (umlauts in the Windows user name, search string with utf8, location names, links from browser, history manager) - fixed update of friend status in chat window - fixed bug with anonymous channels asking for friends to be sources - fixed link passed issue due to usin self-closign links (Patch from Asamk #3418941) - fixed display of filename when an upload is a partially downloaded file - removed early pruning of TR which was preventing any TR to go beyond the limit in case of heavy traffic. Pruning now applied probabilitically at end of loop. -- Cyril Soler Sun, 16 Oct 2011 20:30:00 +0100 retroshare (0.5.2-0.4622~lucid) lucid; urgency=low * Improvements - Changed default random number generator to use RAND_bytes from openssl. - Updated random testing code and fixed compilation - Fixed compilation on FreeBSD, and improved sorting on DHT window (Patch from Ben Laurie) - Added next unread button to forums (patch from devnewton #3401840) - Fixed inaccurate text in transfer page - Removed calls to rsfiles->get{Download,Partials}Directory() in RsDiscSpace class, since it would trigger a call to ftController - Changed names of functions in ftTransferModules to locked_* when appropriate (helps debugging) - Show the availability status of peers at the level of locations instead of GPG keys (patch from AsamK) - Added paste of RS links to post on channels, and additional check that the file is actually shared. * Bug fixes - fixed missing TCP connection call - when peer is found on the DHT. * save IP address for DHT display. * store Action in action Queue (the BUG). - fixed sorting of transfer by priority - fixed utf8 issues in sending cert by email (patch from asamK #3393826) - added a lock into ftTransferModule::recvFileData() (Crash reported by Costa of data race due to storing data in a deleted transfer module) - Added chunk splitting in case part of the file transfer data does not come. Added strategy to ask again for missing data. The combination of these two cannot result into an infinite loop (as before) -- Cyril Soler Thu, 29 Sep 2011 20:30:00 +0100 retroshare (0.5.2-0.4608~lucid) lucid; urgency=low * Improvements - Stopping hash when a shared directory containing the file was removed - Reworked the process of the RetroShare links. Now RetroShare asks when adding a file or a person link and shows a detailed result. - Merging distrib split into trunk, suppressed p3distrib in services - Send msg in plain text when the html encoding does not change anything into the message. This drastically reduces message s size - Added missing status frame for idle. - Merged QoS branch into trunk. - Set own status initially to online - Added double click to NetworkDialog to show the peer details - Put some pqissl warnings in log file only in debug mode, since this is quite CPU demanding - Added new widget to display an avatar with or without the status frame - AvatarWidget. Changed all existing avatars to AvatarWidget. - Added avatar image to ConfCertDialog (defnax). - Added new class AvatarDefs to get the avatar for a ssl id or gpg id * Bug fixes - Fixed bug fue to deleting ftFileCreator used by datamultiplex before asking datamultiplex to remove it! - Fixed crash in pqiSSLstore::readPkt() when rsSerialiser->deserialise() returns NULL - Added auto-split of long private messages, and re-combination of partial messages on client side. Corrects the bug causing disconnection when sending messages of side larger than the maximum packet size - Patch from AsamK to fix up crash at startup due to a missing else in config load -- Cyril Soler Fri, 16 Sep 2011 20:30:00 +0100 retroshare (0.5.2-0.4584~lucid) lucid; urgency=low * Improvements - changed local root directory to be "My files" instead of SSLid - set default of the signature checkbox in ConnectFriendWizard to disabled - set the initial option for the download directory to network wide only - set the default of a new shared directory to network wide - added private groups option to forums - Added a new checbox in the settings (NotifyPage) to enable/disable the new SecurityItem. It is enabled by default, but all existing users need to enable it. - Added new buttons to SecurityItem to add/remove the peer and view peer details. - Added new call to notifyListChange with NOTIFY_LIST_FRIENDS in AuthGPGimpl::AllowConnection. - Fixed german language. - Removed "location:" before the ssl name in FriendsDialog and MessengerWindow. * Bug fixes - fixed up color codes for qt 4.7 in NetworkGraph (bug in qt::lighter()) - corrected a few bugs in the cert cleaning method. - corrected several utf8 issues (for peer names, in private chat and file list, and search) - fixed time display in security item - removed potential mem leak with p3distrib group edit - Added check for administrator rights to add/remove the retroshare:// protocol. -- Cyril Soler Sat, 13 Aug 2011 20:30:00 +0100 retroshare (0.5.2-0.4550~lucid) lucid; urgency=low * Improvements - Plugin system * Added configuration saving for plugin manager and serialization methods * added a list of accepted plugin hashes * added plugin widget for each plugin in settings, to allow enabling/disabling plugins * updated LinkCloud plugin to new rsPlugin class * put the addconfiguration for plugin manager in rsinit.cc a bit earlier to allow to load the list of accepted hashes early enough * added icon for disabled plugins * added missing Q_INIT_RESOURCE call to get the plugins icon loading correctly - GUI * Fixed an error when cancel the login password dialog at startup, the password dialog can be canceled. * Fixed layout in GeneralPage under Windows (there are three additional checkboxes). * Applied patch to enable the sort of the columns star and unread in messages (from AsamK) * Added missing "FORWARDED_PORT" case to natstatus * updated Dht and Nat Indicators to accurately reflect Network status. Roughly: - DHT. Off: gray, ERROR: red, NO RS PEERS: yellow, GOOD: green. - NAT. Offline: gray, BAD NET: red, NO DHT, or FIREWALLED: yellow, GOOD: green * added Advanced mode to the GUI - Switched ServerPage to use netMode, rather than tryNetMode. This fixes the Network Status. - Added "Advanced Mode" to Settings GeneralPage. - Store / Set Advanced Mode via rsConfig::get/setConfigurationOptions. - removed %0D%0A from Linux / OSX emails - made it Windows Only. - updated GetStartedDialog text. - disable GetStartedDialog is AdvancedMode is set. - Enabled buttons for "Invite Friends" and "Add Friend". Linked to Email Invite, and Connect Friend Wizard. - Switched out FAQ for links to website, and email support buttons. * Added Basic Dht Details Window to Retroshare GUI. - created gui/dht/DhtWindow class. - brought across the basic structure from PeerNetQt... will be a condensed version of that GUI. - added to status Menu. - enabled via #define USE_DHTWINDOW (which is defined! in MainWindow at the moment). - Dht Details only displays Dht Peers at the moment. * Net, Dht and Configuration changes. - set PortForward in NetStateBox when the Network has been setup. - add GeneralConfig to rsConfig external interface. - enabled ADVANCED configuration option. * Addition of a "Getting Started Guide". * Optimized layout of the SubFileItem. * Optimized layout of the private chat window. * Show the cancel button only when downloading or when used in CreateChannelMsg. * Fixed layout problem (vertical scrollbar) in ChannelFeed. * Added a new image to the private chat window to set the window always on top. * Indent text of the channel message and set it to selectable. * Removed the single notify systray icon (combined icon) and combined it with the normal RetroShare systray icon. The user can choose, which notify icon is shown as single icon in systray or with the normal RetroShare icon. - Key mamagement * added a signature add/remove button in connect wizard, only when gpgme-1.3.1 or greater is used, based on the availability of the GPGME_EXPORT_MODE_MINIMAL option. - Connectivity * Added Second Queue, to check if connections are actually valid before installing. * Added Check of Time for main Core Cycle. * Fixed Bug in choosing port for Proxy UDP. Chooses a Random one between 30000-50000. * Added Address update from p3NetMgr => p3PeerMgr, when external address has been determined. * Simplification of p3ConnectMgr => p3LinkMgr, p3PeerMgr & p3NetMgr. - p3peermgr now uses RS_NET_MODE_XXXX instead of RS_NET_MODE_TRY_XXXX - p3netmgr maintains both TRY and ACTUAL mode (not visible through old interface -- TO FIX) - added default to UPNP mode. * Increased TCP WAIT time to allow external port to stabilize. * Improvements to tcponudp library to allow multiple UdpStacks / ports, with alternative receivers. * Improved a lot UDP Connection Code - Increased Timeout Periods for UDP connections - this was stopping half of them from succeeding. - Export UDP Addresses to DhtWindow. - disabled DIRECT UDP connections (Not always stable, especially if you are firewalled, and not needed as a TCP connection can be made!) - Added DropPeers() as NON-ACTIVE (this allows peers which aren't VISIBLE to still try and connect) - Resurrected the UdpStunner code, and improved it. - Added UdpRelay code. - Modified startup code and ssludp code to use the new tcponudp and add a stunner. * Added notifications of Failed Connection Attempts in both ways - Services * Refactored p3chatservice move avatar declaration to p3chat header and encapsulating config methods * added www.myip.dk, and removed showmyip.org address from extaddrfinder - Internationalization * Fixed german language. * Changed the generation of the gpg key and location to utf8. - DHT * Added Bloom filter to speed up finding RS peers in DHT. * Added External DHT Interface to display Connection Information. * extended p3bitdht to provide RsDht interface. (p3bitdht_interface.cc) * Switched on Dht "Attach" Mode if RS is firewalled. (and not nice firewall). * Added interfaces to enable AttachMode switch. * Updated bdboot file. - Tests * Restored and improved regression test for tcponudp * Added another Test UdpLayer: TimedUdpLayer, This simulates the firewalled situation, by only accepting packets after 60 seconds. * Added quick and dirty BitDht Packet check. test against "d1:" for the first 3 bytes. This should not conflict with Stun, Relay or TOU packets. - packaging * Added win32 build bat for libbitdht * Bug fixes - Fixed "double-click" chat startup bug, the gpgOnly flag was incorrectly set false. - Fixed the sending of outgoing messages - Removed popup window for file copy error, and redirected the message to std::cerr, to save users. - Set maximum port value to 65535 instead of old arbitrary value of 50000, and warned about system-reserved ports in server settings gui enabled sorting and added dht icon for the window - Fixed bug in dnsresolver reset function - Silly Bug, overwritten the mConnectFlag with the Bandwidth parameter. - Added missing mutex protection that caused random SIGSEGV in p3disc - Corrected a bug due to reading uint64_t with wrong format on some systems, which caused the hash cache to sometime fail - Fixed bug for 'copy error' and losing cache data conflict in unix and windows style directory names led to cleaning of remote and local directories in Cachestrapper::loadlist() - Bugfixes to serialization * print out messages when serialisation fails. * removed BUG in TlvGetString() which allows a zero length TLV - Fixed startup bug (loops into FAILURE) - Fixed buggy rs_inet_ntoa - Fixed a bunch of apple gcc warnings. mainly for(;;); => for(;;) ; - Stops loading of a cache in p3GroupDistrib::loadFileMsgs on shutdown of RetroShare. - Fixed early initialization of QIcon in LinksCloud plugin - Fixed duplicate msgs found between cachefile being formed (caused by not marking cache opt loaded files as local or not) also missing own-msgs bug caused by not accounting for msgs created by users - Added a name to the RsMutex class, allowing debugging of the waiting time for a lock of RsMutex in rsthreads.h with #define RSMUTEX_DEBUG 300. That means all locks waiting longer than 300ms are logged into the stderr. - Added missing notify when sending a message to an offline user. - DHT code: * fixed up buggy overloading for the udplayer (for testing). * added processing multiple (5) remote processes per tick * removed unused variables from query data structure. * #defined out debugging in bdSpace, removed old functions. * More agressive attempts to find proxies for connections. * made "final query attempt" use exact peer address rather than midid. * tweaked bdconnection debugging. * increase CONNECTION_MAX_TIMEOUT from 30 => 45. wasn't enough! * Limited bdQuery::QueryIdlePeriod to 15min (was unlimited). * added bdQuery::PotentialPeer cleanup functions - for more robust reporting. * fixed bdQuery debugging printouts. * Implemented BITDHT_QFLAGS_UPDATES flag. - TcoOnUdp code: * Reduce Maximum Transmission size from 1500 -> 1000. This is the cause of Failed Connections. It looks like UDP packets are being truncated from 1520 -> 1492 bytes, and this is killing the -- Cyril Soler Sat, 13 Aug 2011 20:30:00 +0100 retroshare (0.5.1-0.4350~lucid) lucid; urgency=low * Improvements - Updated tests for tcponudp. * Bug fixes - fixed bug in search with size in MB. Caused crash due to deserialization error. - Added Check for the existance of each Cache File before that are passed on the loader. This should once and for-all remove the copy file warnings -- Cyril Soler Tue, 28 Jun 2011 19:35:46 +0100 retroshare (0.5.1-0.4337~lucid) lucid; urgency=low * Bug fixes - Fixed the cache transfer killing bug (misplaced brackets) - Fixed bug in pqissl wrongly casting a pointer to unsigned long, possibly impacting 64bit systems - Fixed bug responsible for corrupting large packets. Solved the chat bug, the errors in GetTlvString, the corrupted exchange of keys, location names, etc. -- Cyril Soler Sat, 25 Jun 2011 19:35:46 +0100 retroshare (0.5.1-0.4331~lucid) lucid; urgency=low * Improvements - Started dev of plugin system. Works on linux, not yet on windows. - Added gui for plugins in Settings - Ported LinksCloud service as a plugin - Improvement of the unit tests, and coverage calculations. - Hash cache: missing root directories are not discarded anymore, but kept empty, unless the user really removes them explicitely. - Reworked settings dialog - Automatic add the recommended friend(s) as CC in the MessageComposer. - Send plain text message instead of html, when the text contains no html specifics. This is a huge gain in forum posts size, up to a factor of 50 - Enabled Spanish translation - Moved the fill function of the ForumsDialog to a QThread. - Made multiple keyword search use an AND instead of an OR. * Bug fixes - Fixed display of upload transfers - Fixed the Missing Cache File bug. - Added Old Cache Storage... so these can be retrieved. - Connected up the CancelCacheFile() -> FileCancel. - Removed "ipaddr=1" bug - Fixed uninitialized value in p3turtle - Fixed html title bug in forum message when answering from news feed - Fixed reaction of the checkbox "web of trust" - Fixed calculation of the unread messages in MessagesDialog - Corrected bug that would wipe out the hash cache file every other start - Fixed crash in ForumsDialog - Fixed memory leak of the fill thread of the history browser - Fixed refill of the threads tree after receiving a new message. Now the new message is expanded. -- Cyril Soler Mon, 11 Apr 2010 21:35:46 +0100 retroshare (0.5.1-0.4239~lucid) lucid; urgency=low * Improvements - Optimized the functions for the forum messages. - added a star functionality to forums - placed private message editing into a separate window - added a tab to graphically display turtle router statistics - added automatic handling of turtle requests/search conjestion cases - patched for compilation on OpenSuze11.4 - put links to peer and signers in certificate dialog - updated french translation - added copy/paste functionality of RS links to friends keys - various GUI tweaks - added to RetroShare Help page noew commands entry for "-r retroshare://..." - added history cache optimisation to subscribed/client groups (functionality is now disabled) - Added new RetroShare link format to write a message retroshare://message?id=...[&subject=...] - Added new RetroShare link format to start a search retroshare://search?keywords=... - Enabled on Private Chat to display for the status string smileys, when there is smiley codes used. * Bug fixes - Channels: Fixed bug related to opening cache hist file in text mode for windows - Chat: Sending large messages now works, thanks to RsChatMsgItem splitting (not 100% backward compatible, but avoids crashing) - Chat: Removed crash due to dynamic_cast onto a deleted pointer. - Dbase: Removed the difference of the separator for Linux and Windows. - Dbase: Removed extra "/" of the filename (e.g. "E://") of the hashed file when sharing a whole drive. - Forums: Fixed drag and drop of files to a forum message with utf8 chars. - General: Fixed recommend friend. - Search: Fixed sorting by date in search -- Cyril Soler Mon, 11 Apr 2010 21:35:46 +0100 retroshare (0.5.1-0.4179~lucid) lucid; urgency=low * Improvements - updated packaging for ubuntu natty, removed dependency on qt4-opengl - updated french/german translations - updated icons - enabled drag and drop of directories in share manager * Bug fixes - suppred unwanted apparence of channel source id as channel source - improved strategy for cleaning stalled cache transfers - fixed leaking of sources in channel posts -- Cyril Soler Mon, 11 Apr 2010 21:35:46 +0100 retroshare (0.5.1-0.4166~lucid) lucid; urgency=low * Improvements - made flat view for shared files less CPU demanding - added automated treatment of RS links from web browser * Bug fixes - removed potential segfault when decrypting cache file -- Cyril Soler Mon, 11 Apr 2010 21:35:46 +0100 retroshare (0.5.1-0.4154~lucid) lucid; urgency=low * Improvements - added flat view for shared files, with search, sorting and temporised update - enabled file preview for partially downloaded files, for non windows users - removed display of directories from search - added auto-download option to channels - added random bias to turtle search and tunnels at maximum depth, to prevent security issues - added biased rerouting of tunnels requests to statistically optimize tunnel length - made sign GPG button disabled by default - optimized lookups of/into FileEntry structures (faster, better memory coalescence) - added tunning for auto-check of shared directories, in config - updated french/german translations - saved the visible state of the avatar picture in private chat for the friend. - removed own settings for news feed - added tooltip for systray to display nickname and location - made lock file warning more explicit * Bug fixes - channel download is now called only once for each channel post - fixed cleaning issue of certificates. Added a button in cert dialog for cleaning. - removed automatic cleaning of certs. - fixed bug with utf8 chatacters in %appdata% paths on windows - fixed crash on shutdown when the cache loading is running - fixed some stylesheets to use gradients instead of a background images, - fixed thread leak in file checking due to not calling pthread_join() on finished thread - showing uploads by default, instead of current transfer -- Cyril Soler Mon, 11 Apr 2010 21:35:46 +0100 retroshare (0.5.1-0.4097~lucid) lucid; urgency=low * Improvements - attempt to make GPG errors more verbose at cert exchange time - translate QuickStartWizard, GenCertDialog and StartDialog into german - fixed tab order of the upload and download settings in QuickStartWizard - Added a basic description of the chat style - Added share incoming directory to the QuickStartWizard, while keeping the Download directory shared by default * Bug Fixes - implemented a backward compatible fix for advance searching with size larger than 2Gb - implemented a better management of tunnel requests -- Cyril Soler Thu, 07 Mar 2010 21:35:46 +0100 retroshare (0.5.1-0.4087~lucid) lucid; urgency=low * Improvements - The working (hashing) thread FileIndexMonitor is now stopped when RetroShare is closed. - Removed tab focus from the toolbar and image buttons. - Fixed german translation. * Bug Fixes: - Fixed a toolbar icon to display with a correct size on macosx - Added missing return... which was causing crash at start during directory creation. - Supressed memory leak due to not deleting a RsItem - Suppressed potential SIGSEGV as exit time -- Cyril Soler Thu, 07 Mar 2010 21:35:46 +0100 retroshare (0.5.1-0.4069~lucid) lucid; urgency=low * Improvements: - Added a confirm to the delete history action. - Added the RetroShare icon to the password input window. - Added display of number of intermediate tunnels, and limited the number of displayed tunnel requests * Bug Fixes: - Fixed potential SIGSEGV because of not checking returned pointer in DHT code. - Fixed memory leak in GUI responsible for high leaks in large networks. - Fixed memory leak in p3distrib -- Cyril Soler Thu, 28 Feb 2010 21:35:46 +0100 retroshare (0.5.1-0.4059~lucid) lucid; urgency=low * Release 0.5.1: New features (DHT, Channels, Network View), Improved stability w.r.t. previous version 0.5.0g -- Cyril Soler Thu, 24 Feb 2010 21:35:46 +0100