that are invited.
- added auto-clean of nicknames
- added auto-clean of public lobby records.
Warning: this commit breaks one small bit of compatibility:
* direct invitations from new versions will pass accross versions (private lobbies will need the new version)
* but people can still join public lobbies accross versions.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4801 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added new notifier to p3ChatService
GUI:
- list all public and private chat lobbies
- added subscribe/unsubscribe
- added new basic widget ChatTabWidget and use it in PopupChatWindow and ChatLobbyDialog
- added a tabbed dialog for every subscribed chat lobby
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4782 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added generic methods and items for bouncing generic objects through lobbies
- added handling of peer typing status
- proper handling of peer join/leave lobby
- added sub item ids to lobby messages to allow proper message splitting
- made 2 different message splitting methods for normal chat vs. lobbies. In v0.6, we'll have to handle all messages the same way.
- added parent id to RsChatLobbyMsgItem, to allow threaded chat.
- added possibility to make a lobby public/private (not yet fully working)
- added items for requesting/exchanging list of public lobbies at friends' (not yet fully working)
- major cleaning of p3chatservice.cc
Next move:
- gui for listing friend public lobbies, joining them, etc.
- load/save of persistent lobbies.
- autoremove of inactive lobbies
Warning: lobby message items of this version are incompatible with previous versions. It won't crash, but
messages will not pass through.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4755 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added UdpStunner::dropStunPeer() code to remove bad peer from stun list.
* added calls to UdpStunner::dropStunPeer for BanLists going to/from DHT.
* added DEBUG_BANLIST_CONDENSE to remove unnecessary debug.
* Improved UdpStunner::status() print out of stunlist.
* Added extra check to throw away stun reports where remote_addr == reported ext_addr.
- This was causing peers to get the wrong IP addresses.
* Modified UdpStunner ExtAddr checks to make sure the IP addresses match.
* Changed BANLIST service Id to from Test ID to real ID.
NOTE: These are stop-gap methods to avoid the wrong Stun reports.
A more robust scheme must be implemented. I'd expect that it would
involve a strict initial check to establish your IP address...
(e.g. require 4 peers to confirm it, allowing for some fake entries)
After this we can have a weaker check ensuring IP address matches.
If we detect a likely REAL change of IP address - drop back to requiring
a strick check again.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4717 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Store all possible routes (will be useful later!)
* Periodically cycle through and choose the most stable one.
* added ValidSince field... for tracking age.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4697 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added p3BanList as a service.
* Added interfaces to communicate addresses.
* Added debug to p3BanList.
* Fixed several bugs in the AddEntry/Condense
* Fixed Mutex deadlocks.
Improvements to Dsdv code too.
* Added p3Dsdv as a service.
* Added Function to create a TEST service for routing.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4687 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Added missing Mutex protection in p3BitDht.
- Added p3BitDht::addKnownPeer() to communicate with libbitdht.
- Disabled placeholder versions (addFriend/AddFriendOfFriend)
- Added netAssistKnownPeer() libretroshare interface.
- Added calls to netAssistKnownPeer() from p3disc and p3NetMgr.
- Check for NULL ptr in p3NetMgr before calling p3PeerMgr.
- Added FIX to maintain MANUAL FORWARD port (untested!)
- Removed some compiler warnings.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4681 b45a01b8-16f6-495d-af2f-9b41ad6348cc
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.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4623 b45a01b8-16f6-495d-af2f-9b41ad6348cc
=> Giving new peers a chance to connect.
* Fixed missing return in p3PeerMgr::removeUnusedLocations()
* moved RTT defines to top of file, and increased to 150 results.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4546 b45a01b8-16f6-495d-af2f-9b41ad6348cc
the periodical call of cleanupUsedLocation, which was reloading all the GPG Keys - for each cleanup Key.
This required cleaning up various bits (AuthGPG, rsPeers, p3Disc).
* moved rsPeer::cleanUnusedLocations => p3PeerMgr::removeUnusedLocations();
- made the function light-weight, no loading of GPG Keys.
* moved getSSLCertsFromGPG() fn from rsPeers => p3PeerMgr
* added p3PeerMgr::removeAllFriendLocations() to cleanup when removing a GPG Friend.
* cleaned up rsPeers, made addFriend() / removeFriend() universal functions.
* remove bool p3Peers::setAcceptToConnectGPGCertificate(const std::string &gpg_id, bool acceptance)
* removed all Dummy SSL Ids. - There is no need for this!
* Major changes to p3disc to correct FLAWED logic. (needs more testing).
* removed as many dependancies on retroshare/rspeer.h as possible.
* changed p3turtle dependancy on rsPeers ==> mLinkMgr.
* added p3LinkMgr::getPeerName() and p3PeerMgr::getPeerName()
* added return 1 to pqissllistener::closeConnection().
* removed unused code from AuthGPG().
* removed storeAllKeys() calls in AuthGPG::AllowConnection().
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4542 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* log p3disc::sendHeartbeat(), successful p3linkmgr::connectAttempt()
* log reason for each pqissl::reset().
* log linkmgr & peermgr addFriend() and removeFriend().
* log pqiperson::connect(), p3PeerMgr::cleanUnusedLocations().
* Modify timing of cleanUnusedLocations (=>8min) & NETSTATE_PARAM_TIMEOUT (=>15min) (see if it has an effect).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4539 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Measures Lag and Clock offset, by pinging peers periodically.
* added interface so the results can be plotted.
* added serialisers for ping/pong data types.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4519 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- p3peermgr now uses RS_NET_MODE_XXXX instead of RS_NET_MODE_TRY_XXXX
- p3netmgr maintains both TRY and ACTUAL mode.
- actual mode is not visible through old interface (TO FIX).
- added default to UPNP mode.
* Added debug to show changes to peer->VisState.
- It seems that this is never updated by p3disc. BUG, (TO FIX).
* disabled extra debug in rsdiscitems.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4498 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This brings lots of improvements:
* UDP Connection Code - this it the majority of the new code.
* Simplification of p3ConnectMgr => p3LinkMgr, p3PeerMgr & p3NetMgr.
* Notifications of Failed Connection Attempts
* Addition of a "Getting Started Guide".
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4466 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Shifted real functionality to p3LinkMgrIMPL, p3NetMgrIMPL p3PeerMgrIMPL
This allows us to test most objects with dummy objects (i.e. no need for full AuthSSL/AuthGPG objects)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4441 b45a01b8-16f6-495d-af2f-9b41ad6348cc
You can enable the 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.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4392 b45a01b8-16f6-495d-af2f-9b41ad6348cc
(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
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4374 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Major changes are:
* Improvements to tcponudp library to allow multiple UdpStacks / ports, with alternative recievers.
* 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.
* fixed buggy rs_inet_ntoa
* fixed a bunch of apple gcc warnings. mainly for(;;); => for(;;) ;
These changes shouldn't affect libretroshare stability... those changes will follow!
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4359 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- used "const std::string&" for the parameters
- used "std::map" for the read status
- removed useless variables
Added new define DEBUG_FORUMS in ForumsDialog.cpp.
Added function to generate mass data for the forum messages.
Fixed german language for the FriendsDialog.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4236 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- sending large messages now works, thanks to RsChatMsgItem splitting (not 100% backward compatible, but avoids crashing)
- removed crash due to dynamic_cast onto a deleted pointer.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4187 b45a01b8-16f6-495d-af2f-9b41ad6348cc
also added logic to deal with case where auto dl has been disabled then re-enabled after a manual download
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4137 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added Search Functions (for DummyMsgs) to p3distrib
- added timestamps to RsDistribDummyMsg.
- interfaced in p3forums
Not sure about its interaction with "Read Msgs".
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4020 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added RsDistribDummyMsg class to each GroupInfo.
* Added function to check for missing parents.
* added print functions for debugging.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4010 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* switched to one universal PendingCache list.
* added mHistoricalCaches variable to p3distrib - to indicate when old caches have been loaded.
* added calls to p3GroupDistrib::HistoricalCachesDone() in rsinit.cc
* added "historical" parameter to lots of p3distrib functions.
* updated child classes to only add FeedItems if (historical == false).
* Switched Validate / Duplicate Msg checks to speed up historical data load.
* corrected rsrandom function for OSX.
* bugfix to rsloginhandler function. (compile error).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4008 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added Cache Queues to p3distrib.
* Created p3ThreadedService class.
* added code to launch these threads.
* debug code to see loading.
Seems to be far too many called to gpg->verifySignature()... to look at.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3998 b45a01b8-16f6-495d-af2f-9b41ad6348cc
shared key now saved if not subscribed and rs is shutdown
also 'blue font' update sent once shared key received
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3972 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Optimized parameter of rsForums from "std::string" to "const std::string&". Recompile of the GUI needed.
Cleared childTS in RsDistribMsg::clear.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3949 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Reload all gpg keys in AuthGPGimpl::LoadCertificateFromString, when new signatures are added - not only the key was imported.
Changed parameters of RsPeers and AuthGPG from "std::string" to "const std::string&"
Recompile of the GUI needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3753 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Fixed sent messages doesn't get the flag RS_MSG_FLAGS_NEW
- Rework reply and forward message, now the replied or forwarded message gets the state and not the answer itself
- Added RsMsgParentId (with test) to save the parent of the message in draft
- Change methods of MessageComposer from "std::string" to "QString"
- Show image in the message row in MessagesDialog again
- Fixed umlauts in recommended files in MessageComposer
- Renamed tab "Live Chat" in "Group Chat"
- Fixed german translation
recompile of the GUI needed
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3741 b45a01b8-16f6-495d-af2f-9b41ad6348cc
msgs now save from field in received msgs
also allowed user to delete file added in createChanMsg dialog
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3727 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Plumbed stats through the the retroshare interface.
* Also changed Channel store period back to 10 minutes.... (Reduce overall file count).
This must be done some time before the any changes are made to Channels periods.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3721 b45a01b8-16f6-495d-af2f-9b41ad6348cc
fixed timestamp not being set in p3distrib
and also removed memory look in channel ui (fillchannelList)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3677 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Added new and missing tests of the RsItems.
Added new notifier on channel changes.
Reworked fill of channels in ChannelFeed. Now the channel tree is updated and not refilled.
Show unread message count in channels tree.
Fixed memory leak in context menu.
Show a new tray icon and action icon in MainWindow, when new channel messages are available.
Recompile of the GUI needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3626 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Sort the ChanMsgItems of the channel by date
ChanMsgItem:
- Fixed adding all files (SubFileItem) again by pressing the unsubscribe button (only in Friend Storm)
- Enable unsubscribe button only when channel is subscribed (only in Friend Storm)
- Fixed adding files with umlauts (utf8) on Windows
- Enabled Download and Play button in ChanMsgItem, when they are enabled in the SubFileItems
ftServer:
- Added the method alreadyHaveFile for use in the GUI - recompile of GUI needed
SubFileItem:
- Added state strings like LOCAL, REMOTE, ERROR, ... for translating
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3614 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Use receive time for chat information to have the right order in the history (problem of time zones and wrong clocks).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3593 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Added queue for outgoing private offline chat messages. The queue is also saved until the private chat message could be delivered.
It does not work in the short time between the shutdown of the peer and the switch of the state to offline for that peer. For this we need a response of the peer.
Need recompile.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3517 b45a01b8-16f6-495d-af2f-9b41ad6348cc
When you write a new message and save it to draft more than once, a new message in draft is created everytime you save.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3466 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Added send time to ChatInfo.
Chat:
- Reworked IMHistoryKeeper to save only needed data as raw data (not formatted from PeersDialog).
- Renamed the public chat history file from "his1.xml" to "chatPublic.xml" and moved it from data dir to config dir. The current history is lost. Please delete the file "his1.xml" manually.
- Optimized save of the history. Save only when changed, also during the runtime.
- Clear the history in PeersDialog clears the IMHistoryKeeper too.
- New setting to send chat message with Ctrl+Return. Changed the check for Enter in PeersDialog and PopupChatDialog from textChanged to eventFilter.
- Smileys are inserted at the current cursor position, not added at the end.
- Don't send emty messages.
New class ChatStyle:
- Created a new class for the work with chat styles and smileys.
- Currently only two internal styles are available - private and public. Later more external styles planned.
- Moved functions for loading and showing the emoticons from PeersDialog and PopupChatDialog to the new class.
Private chat:
- Split private chat style into incoming.htm and outgoing.htm.
- Removed style change.
Public chat:
- New chat style incoming.htm, outgoing.htm, hincoming.htm and houtgoing.htm.
Chat feed:
- Show links and emoticons if they are enabled for public chat.
PeersDialog:
- Show the own name and location only once at start and not with QTimer every 1.5 second.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3441 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Reworked the interface of the chat service. So full recomile is needed.
With disabled flags for private chat (RS_CHAT_OPEN_NEW and RS_CHAT_REOPEN), the incoming private chat messages are queued (only for the runtime) until the user shows the private chat dialog.
When a new chat message is available, the icon of the gpg and ssl contact changed in MessengerWindow and PeersDialog and a new tray icon is shown.
Fixed compiler warning.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3421 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Created a new notifier for new chat available - NOTIFY_LIST_CHAT. Removed the QTimer in PeersDialog and connect the signal.
Created news feed for public chat (prework of defnax, need still some gui changes)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3413 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Changed rsmsg interface and item classes so need full recompile.
Created new notifier for tag changes - NOTIFY_LIST_MESSAGE_TAGS.
Changed serialiser tests for message items.
After that all tags are reset to standard and all assigned tags to messages are lost.
Please delete the file msg_locale.cfg in your profile directory.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3381 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added "mStatusChanged = true" on disconnect of a peer - the statusChange was not notified in time
MessengerWindow
- removed unused method updatePeersAvatar
Changes in status service:
- removed unused method statusAvailable
- new notifier for status change
- enabled the tick for receiving items
- always up to date status map
- no huge memory usage, if no list is visible who call getStatus and processed the received items
- send notify on status change
- renamed getStatus to getStatusList and created a new method getStatus to get status of one peer
- fixed: send status directly after the connect of a peer
Now the frame around the avatar in private chat changes when the peer change the state.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3380 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Show own tray icon for new messages.
Removed unused member p3Forums::mForumsChanged.
The message service send a notify on p3MsgService::markMsgIdRead too.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3353 b45a01b8-16f6-495d-af2f-9b41ad6348cc
There are too much unnecessary internal SendItem's for the offline ssl contacts.
Maybe this should be handled in libretroshare. For every call to p3ChatService::sendAvatarRequest and p3ChatService::sendCustomStateRequest with currently no data available, a RsItem as created and sent. This is unnecessary, when the contact is offline.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3347 b45a01b8-16f6-495d-af2f-9b41ad6348cc
libretroshare/src/retroshare/
All the relevant headers have been modified to reflect that change.
This allows installation of libretroshare on a system, headers will
be put in $WHEREVER/retroshare/ and we keep the ability to compile
against them, be it on the system or in the SVN tree.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3342 b45a01b8-16f6-495d-af2f-9b41ad6348cc
a particular distrib service (forum, channels, and blogs) -- needs full rs-gui recompile
- added ability of forum's to save 'msg read' status
(meant to supercede current similar feature implement in qt gui side)
- updated test for distrib items, added forum items test
- added doxygen comments for rsinit and others.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3314 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Changed the timer of RsAutoUpdatePage to a single-shot timer.
The update can take longer than the given timer interval.
Changed status service:
- send status when the peer connects (new monitor)
- send status to all online peers only when user changed it (not in every timer tick)
MessengerWindow:
- remove load and save of custom state string in settings
p3ChatService::sendCustomState
- send empty custom state string too
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3307 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added thread-safe rs_inet_ntoa function (util/rsnet.cc)
* Switched all calls to this function (most of the changes)
* Modified getLocalInterfaces() and getPreferredInterface() to avoid string conversions.
- NB: Modified windows functions too, but unable to test (hope it compiles!)
Also:
* Added EVP_CIPHER_CTX_rand_key() replacement function for old versions of SSL (pre 0.9.8) (for OSX 10.5)
- NB: This code should be reworked to remove these calls anyway.
* Updated tests/pqi to handle above changes.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3281 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Changed calls from AuthSSL to AuthGPG and tested. looks like it works!
* added extra connect addresses in p3connmgr (current[local/server]addr)
* added mConnMgr->addFriend() call to pqissllistener to add unknown ssl certs.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3253 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Bugfix in correctly adding ipList.
* restored setLocal/Ext calls from peer.
* Added extra debugging in p3disc.
* Cleaned up debugging in p3connmgr.
* switched off debugging in rsdiscitems.
* reorder ipList (most recent first).
* removed DEBUG switches in libretroshare.pro
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3252 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Fixed #includes in upnp
* switched p3disc over to the new data types.
* added new source to .pro file
* minor changes to other code.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3249 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Rework of AuthSSL: cleanup and split up.
* Split out independent SSL functions into sslfns.h / sslfns.cc
* Reworked SSL certificate storage.
* Reworked SignDataBin / VerifyDataBin (fixed memory leaks).
* Removed funny code: /* cert->cert_info->key->pkey is NULL */
- just use X509_get_pubkey() instead.
* Removed lots of old code.
* Fixed up Mutex usage in AuthSSL - which was random.
* Removed certificates from tlvSignature serialiser obj.
* removed certificates from p3distrib messages.
* Starting removing "unused parameter" compiler warnings.
* Various related changes to make libretroshare compile.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3222 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- also added support src for serialiser test - add functions here that could be generally used throughout serialiser tests
- fixed empty grp id set of grp keys in creategrp function
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3196 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added a destructor to RsTunnelDataItem, to remove a memory leak on all data packets.
- apparently the code would allow data items of zero size, hence calling malloc(0), which
has undetermined behavior.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3191 b45a01b8-16f6-495d-af2f-9b41ad6348cc
use for handling the packet: RsItem::DATA_QUEUE for data and RsItem::CONTROL_QUEUE for
control packets, to be used in pqistreamer.
Up to now, File data chunks where the only packets that were going into the --less prioritized--
data queue. Now, the default in RsItem::queueType() being to return CONTROL_QUEUE, developpers can
choose which queue t use by simply overloading this method so that it returns a different value.
The first use of this was to make generic turtle tunnel packets use the data queue instead of
the control queuem, which restores a correct balance between turtle downloads and friends downloads.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3153 b45a01b8-16f6-495d-af2f-9b41ad6348cc
3148: modified the update system for address lists, so that the list is totally
replaced (and not merged) when it comes from the peer itself. This helps
cleaning wrong addresses
libretroshare/src/pqi/authssl.cc
libretroshare/src/pqi/p3connmgr.cc
libretroshare/src/pqi/p3connmgr.h
libretroshare/src/services/p3disc.cc
3149: removed uninitialized memory read
libretroshare/src/pqi/authgpg.cc
3151: corrected missed update of peer info when connected. Disabled setting
peer connexion IP from p3disc info (does not make sense, and leads to
errors)
libretroshare/src/services/p3disc.cc
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3152 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- uses joss's/ open ssl sealinit implementation. public key encryption
- invoked by rs_group_encrypted group flag
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3126 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- memory leak -> "RsItem* item" was not freed, when "dynamic_cast<RsStatusItem*>" failed
- optimized return of std::list as parameter and not as return. return will copy the list and its not necessary
p3StatusService::getStatus
- memory leak -> items in "std::list<RsStatusItem* > status_items" was not freed
- potential crash, when receiving a status for an unknown peer
p3Peers::getPeerDetails
- optimized - call to "AuthSSL::getAuthSSL()->OwnId()" only once
- optimized - add ip addresses directly to "d.ipAddressList"
PeersDialog::insertPeers
- fixed possible crash, when ssl child has disappeared and was removed from tree, there was a missing continue
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3125 b45a01b8-16f6-495d-af2f-9b41ad6348cc
3099: libretroshare/src/tcponudp/udplayer.cc
libretroshare/src/tcponudp/udplayer.h
libretroshare/src/util/rsnet.cc
libretroshare/src/util/rsnet.h
moved operator<<(ostream&,sockaddr_in) to rsnet.h, as it is used at
different places
3100: libretroshare/src/util/rsdiscspace.cc
suppressed debug mode
3101: libretroshare/src/serialiser/rsdiscitems.cc
put correct (i.e. non conservative) size for RsDiscReply packets
3102: libretroshare/src/services/p3disc.cc
Made a pass on the code in p3disc. Corrected some bugs:
- suppressed an unwanted return in packet treatment
- prevented sending info to a peer about itself
- changed askInfoToAllPeers() such as not to discard info
from peers with NODISC flag (because we especially need
info for these)
- enabled receiving p3disc info even if p3discovery is
disabled. Indeed, disabeling p3disc is a measure of
protection, so it should limit the export of p3disc info,
not the import.
- removed test discarding info about dummy friends, because
it is useless
- don't discard info about peers that have the NODISC flag
(meaning that we especially need info for them)
- added safety check about received GPG keys. Before we
relied on this test being performed by
p3ConnMgr::addFriend()
- added some debug info
3103: libretroshare/src/ft/ftcontroller.cc
removed debug info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3104 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- save msgId in configuration file
- enable previous improvements read/unread state and tags
new function for creating backups of a file
bool createBackup (std::string sFilename, unsigned int nCount = 5);
currently its only available for windows compile. maybe there is a linux developer who change it for linux.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3064 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- enabled draft box
bugfix MessagesDialog:
- correct from and to in list and message header
changes MessageComposer:
- cleaned channel part
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2994 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- it was previously corrupting group keys
added dynamics size to grps created
- previously limited to 16000 bytes
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2928 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Now used in MainWindow.cpp, MessagesDialog.cpp and peerstatus.cpp
void p3Peers::getPeerCount (unsigned int *pnFriendCount, unsigned int *pnOnlineCount);
void p3Msgs::getMessageCount(unsigned int *pnInbox, unsigned int *pnInboxNew, unsigned int *pnOutbox, unsigned int *pnDraftbox, unsigned int *pnSentbox);
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2898 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- clean up of channels old (> storeperiod) cache file downloads called at rsglobal shutdown
- added extrafilehash and extra-remove to rschannels, so it chooses appropriate way to add files (correct book-keeping)
- added extra files not copied to chan dir if over 100mb (high overhead)
- added limit to channels auto-download (1gig)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2866 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- corrected calculation of message counts
- p3MsgService::checkOutgoingMessages -> notify when message was sent
- refill of message list without clear, selected messages and scroll position are not changed
- corrected sorting of date with only time for today
- changed context menu in message list
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2863 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- getcustom status now generate a requests to that peer.
- setowncustom status now generates an 'status available' item sent to all peers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2769 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Redesign the udp connection
Remove the rsiface duplicates from retroshare-gui.
Add some randomness in timings for connect manager
Merge branch 'connectionTunneling'
Conflicts:
libretroshare/src/libretroshare.pro
libretroshare/src/pqi/p3connmgr.cc
retroshare-gui/src/RetroShare.pro
retroshare-gui/src/rsiface/rsfiles.h
retroshare-gui/src/rsiface/rstypes.h
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1867 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- reverted preceding commit about PNG/JPG in popup chat dialog. This only concerns internal data representation and this string has nothing to do with accepted image formats.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1704 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- suppressed compatibility with old avatar transmition code
- added code for storing and sending a custom status string (for e.g. saying "I'm not here now") in p3ChatService
- added code for sending group chat status messages "peer is typing". Not fully functionnal yet.
Warnings:
- this commit breaks the compatibility for avatar transmission
- the new avatar transmission is not fully working yet
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1696 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* added rsinit.h include so PGPSSL flag is read. (enabling ISSUER sharing)
* extra debugging so we can see the certs being passed around.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1399 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- created a subclass for Own item parts, which is compatible with old format.
- suppressed sending of Issuer packets when not using PGP
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1307 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* p3disc now exchanges "Issuer" (pgp) certificates as well.
* additional types for rsdiscitems.h
* Bug Fix for NULL packet in p3service.cc
* allow unauthed SSL certificates to be added in AuthSSL - otherwise cant add new friends!
* only save authed SSL certificates.
* fixed ref/unref of PGP keys in AuthGPG
* added Mutex protection to AuthGPG
* added PGP reloading when key is imported, or signed.
* Fixed PGP key signing.
* added Additional field validLvl to RsPeerDetails.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1270 b45a01b8-16f6-495d-af2f-9b41ad6348cc
RsItem Packets.... but used an alterative streamer similar to pqiarchive.
This will cause problems, and delete the configuration for those
who have upgraded in the last month .... but will maintain compatibility
with previous stable release.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1201 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- unable to get windows to compile with PopupChat on windows.
- not happy with new SearchDialog. Not an improvement on old dialog + uses Qt4.4
* updated version numbers...
* added a couple of windows scripts.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1200 b45a01b8-16f6-495d-af2f-9b41ad6348cc
additional functionality in other places, including:
* add Sign / Verify functions to authxpgp
* sign/verify messages, and control flags for p3distrib/p3forums.
* add authmgr to p3distrib etc.
* added AUTH flags to rsforums interface.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@867 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Bugfixes for 'sleep' issues under windows.
Extra debugging for transfer module.
Fixed channel directory creation. (extra 'break' statement)
Fixed very slow transfers on Windows platform (uninitialised variable)
Ready for win/linux/osx release now.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@830 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* cleaned up p3distrib callbacks.
* added holdQueue for transfer startup in controller.
* fixed partial resume.
* updated Mac script to only build library.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@828 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Fixed Online and Message Toaster to look bether .
* Update stylesheets for bold fonts for Subject,From,Date,To, Subject Text
* Set for From Text Label Blue font.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@814 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Enabled config in p3file-startup.cc
* Enabled resumeTransfers
* Added new RsFileConfigItem to serialiser.
* extended ftFiMonitor to use Configuration.
* bug fix to add/remove Shared Dirs.
* Increased Channel/forum periods to 3/12 months.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@806 b45a01b8-16f6-495d-af2f-9b41ad6348cc
build against a standard OpenSSL library...
Still lots to do (implement AuthSSL), compiles all but final gui.
use USE_XPGP flag in build script to control it.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@796 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Switched off most of std::cerr output. (expect UPnP)
* moved pqi/pqidebug to util/rsdebug to allow greater usage.
* added Mutexes to logging.
* Downgraded many log messages to DEBUG.
* New Log messages for connections, dht and udp code.
* Added check for bad UDP socket.
* Added check for non-firewalled scenario.
* Increased Storage period from 1 Month to 6 Months for Links & Blog.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@644 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Disabled newsFeed for failed connection and disconnect.
* Switched interface file_size to 64 bits for larger files.
* Flagged distrib groups as changed when subscribe request is processed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@634 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Fixed up variable names in p3Qblog.cc
* Cleaned up unused BaseInfo/PersonInfo/DirInfo in rstypes/rsiface
* added new rsfiles interface (rough outline at the moment)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@628 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Addition of channels serialiser.
* New channels interface.
* Added Channels to startup code.
* New CFG Id for serialiser.
* Cleanup of old channels stuff from interfaces.
* Cleanup of messages as well.
* Changed file size to uint64_t
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@620 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* added interface to rsnotify/p3notify/pqinotify
* added getForumInfo() to forum interface.
* added virtual functions to p3distrib for event feedback.
New NewsFeed Notification.
* Peer Connection/Disconnection.
* Failed Certificate connection.
* New/Updated Forums and Forum Msgs.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@616 b45a01b8-16f6-495d-af2f-9b41ad6348cc
*final modifications to qblog network messages: might need to consider
wstring for profile kvsets tho
*update qblog core to hanldle messages
*updated interface with all methods we will ever need hopefully
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@614 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Various improvements to get p3distrib Messages working:
* Defensive programming in cachestrapper (forcing ownId on save).
* Changed CONFIG_CACHE_ID to last -> to force correct loading order at startup
This should be Config Files, Local Cache Files, then Remote Caches.
* Hack to maintain existing Cache Files.
* Improvments to forum_test.
Lots of work on p3distrib:
* fixed nextCacheSubId.
* Added new Msgs to Config Save.
* Fixed Cache reload issues.
* Overall: Enabled Forum Msg publication.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@611 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Now creates Distribution Groups, with Admin + Publish Keys.
- Distributes Groups + Public Keys in the Cache File.
- Stores private Keys and subscribed groups in Configuration.
- Forum Test to check basic functionality.
- Added nullService for services that require tick(), but no instant messages.
- removed debugging for other services (ranking/gamelauncher)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@593 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* implementation of p3config, cache functionality to p3Qblog
* added peerid (pid) attribute to rsQblog item and its serialisation
* TODO: logical updating for p3Qblog
* TODO: implement tick() so can add to server
* TODO: test p3Qblog after addition of tick with some peers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@571 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Scores can be based on:
Time: Average Comment Age.
Ranking: Sum of peer scores.
Combo: Sum of (score * age)
These are still rather crude and could be improved significantly
if anyone is interested in trying.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@562 b45a01b8-16f6-495d-af2f-9b41ad6348cc
(1) std::map<> doesn't support .at() on OSX or Windows. (use [] or find())
(2) u_int32_t is invalid on windows. (use uint32_t )
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@553 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added Anonymous links, stored in configuration file.
* Friends recommendations are also shared anonymously with peers.
* Own recommendations are shared with friends.
* TODO include ranking (+2 <-> -2) in score.
* some bugfixes too.
Added RandomId to p3service file.
Improved forum interface.
Added dummy forum system (not transmitted) for testing.
Switched on new features as well.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@505 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Removed periodic Check and thread.
* Added Shutdown.
* switched to terminating background thread.
* removed temporary lease.
* A bit of a HACK - this class could be cleaned up significantly.
Adding the start of forums/channels.
* Dummy Interface and Forum data (so GUI work can start)
* rough p3distrib - needs a lot of work.
Added shutdown function to p3connmgr, to shutdown Upnp.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@493 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Switched p3Ranking to share Friends Links as well as own.
* Modified rankmsgs to contain source id.
* Fixed up rsNotify, added pqiNotify and global function call to get it.
* Added notify for Bad Incoming Directory
* Added Emergency Incoming directory so RS can keep running.
* Added notify for Bad Packet (connecting to V0.3.X)
* Added notify for Incomplete Packet Read (not been triggered yet!)
* added close() to BinInterface, close on pqissl calls reset()
* removed exit(1) calls from pqistreamer, replaced with bio->close().
* Increased Maximum Packet Size for HTML messages.
* Fixed Online/Offline Message Forwarding. (TEST).
* Increased DHT bootstrap buckets to 4.
* Cleaned up much of serialiser debug (was slowing down Mac)
* Added directory path to File Listings.
* added ConvertSharedFilePath() so correct local dir can be found.
* Added ForceDirectoryCheck() and InDirectoryCheck() for file hashing.
* removed old TMP cache loading.
* switched off Cache debug.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@448 b45a01b8-16f6-495d-af2f-9b41ad6348cc
(1) xpgp_id to extract the name/id from a certificate.
(2) dht_bootstrap to check the status of the bootstrap peers.
Various bits of code needed to be rearranged to make these utilities possible.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@394 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Added HashFile() utility function.
Also added updated() functions to ranking and photos, so the GUI can update itself when necessary.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@381 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* searching for STUN ID's continues until RS_STUN_FOUND_MIN are found (10).
* abandon STUN search if Ext or Upnp mode.
* add Bootstrap IDs to rear of mStunList. (bugfix)
Force saving of certificates after "oldFormat" loading.
Corrected printStunList() fn call.
Added a notification system:
(1) libretroshare System Notifications.
- System notification if Firewall Status is bad.
(2) PopUp messages.
- Popup for a connected peer.
- Popup for a new message.
* New interface (to be revised).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@376 b45a01b8-16f6-495d-af2f-9b41ad6348cc
(1) A PhotoService / Dialog to share slideshows.
(2) A Network View service, derived from p3disc for a graphical view of peers.
Both of these need a little help to get them fully functional.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@375 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Most of these changes relate to:
(1) rand() is different
(2) sleep() don't exist on Windows.
(3) networking headers are different - these need to be cleaned up in general.
(4) disabled tests that won't compile on Windows.
Will probably have to rollback some of these changes for Unix later.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@372 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added GUI interface for auto connect state.
* Added HTTP retrieval and storage of DHT peers update.
* Added code for partial recv() from DHT peers.
* Disabled Chat/Disc/Udplayer/tcpstream debug output.
* Added Unreachable Check to connMgr.
* Added auto reconnect functions to connMgr (#define to disable).
* Restructured DHT notify code... much cleaner.
* DHT now flags out of date DHT results.
* DHT notifies ConnMgr on any results (same or diff).
* Added Fns to cleanup old udp connection.
* other bugfixes.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@369 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Completed CacheConfig serialisation.
* Switched to Push Cache Mode (faster and more efficient).
* Added CancelCacheTransfer() if we have duplicate HASH / CACHEID.
* Store remote and local caches.
* cleanup all cache directories.
* Broke Cache tests :( - because of dependency of mAuthMgr/mConnMgr.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@343 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added read/writetofile() fns to BinMemInterface
* Added SignData() fns to AuthXPGP.
* Added Certificate saving to AuthXPGP.
* added Signatures to Configuration.
* now discards messages if Hash is wrong (p3msgservice)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@341 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* added serialiser types.
* finished streaming on p3ranking.
* removed Bandwidth limitations from BinFile / BinMem.
* added bytecount() to BinInterface.
* moved the CacheTransfer creation to Startup.
* added ranking to CacheStrapper & server tick() system.
* Tweaked LinksDialog for final touches.
* enabled downloads from Messages.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@335 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Major modifications to p3disc to use the new AuthMgr and ConnMgr.
* Modified RsDiscItems to match new p3disc.
* Modified ConnMgr to accept information from p3disc.
* Addition of new Load/Save Certificate From/To Binary to AuthMgr.
* Corrected default build to Linux.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@325 b45a01b8-16f6-495d-af2f-9b41ad6348cc
the rewrite of the retroshare core networking stack.
This check-in commits the changes to the services code.
Modifications to match the switch to p3connmgr.h and p3authmgr.h
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@311 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* New external interface for launcher (rsiface/rsgame.h)
* changed pqiservice type Ids from int -> uint32_t.
* added NO_DELETE option to pqistreamer.
* added HASHDATA flag for BinInterfaces
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@301 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added Chat / Msg and Disc services.
- expanded rsiface to handle new serialiser.
- mods to rsserver with new conversions etc.
- added service directory to Makefile.
- removed PROXY / CHANNELS from make.opt
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@276 b45a01b8-16f6-495d-af2f-9b41ad6348cc