- adding a time stamp to lobby events (new item tag)
- controllign 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)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4859 b45a01b8-16f6-495d-af2f-9b41ad6348cc
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 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
* 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
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
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
* 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
* print out messages when serialisation fails.
* removed BUG in TlvGetString() which allows a zero length TLV
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4496 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- 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
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4393 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added Old Cache Storage... so these can be retrieved.
* Connected up the CancelCacheFile() -> FileCancel.
Other Changes.
* Removed ipaddr = 1 bug (thought someone else had commited this earlier???)
* added #ifdefs to remove debugging output in p3BitDht.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4330 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- ported LinksCloud to a new plugin, and removed it from main sources
Next moves:
- add gui for managing plugins
- handle windows compilation
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4275 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
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
* new uniform #define DEBUG_TRANSFERS to switch on packet timings.
* switched off by default.
* enabled BinData printing again.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3785 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Committing these so others can run tests.
Most of these changes will be removed once the problem is fixed!
* Fixed formatting of various serialiser item::print() fns.
* Disabled printout of TlvBinaryData - data.
* added AccurateTimeString() function to util/rsprint.cc
* print serialise / deserialise of FileRequest & FileData + Timestamps.
* added print + timestamp in ftFileProvider::getFileData()
* #define TRANSFER_DEBUG to isolate these changes.
* enabled debugging in fttransfermodule.cc
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3779 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
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
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
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
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
- replaced the findItems() call into a hand-written search (this was causing a rare bug in displaying downloads)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3318 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- written test for new forumreadstatus item, and other recent changes to distrib items
added graphics support to blogs - can now have pics for html blogs! but removed attachment, a channels artifact
added copy constructor to rstlvimage, needed for tests to work
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3317 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
This will cause loss of all forums (again).
Sorry - I don't lightly change datatypes... but better to do it all at once.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3258 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
* Removed nasty list of ip addresses from rsPeerNetItem
* create TLV type to handle ip address history instead.
* switched to new data type. (should be seemless?)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3246 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
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
- memory leaks in pqi/cleanupxpgp.cc , 2 new char[] => 2 delete[]
- reordering some constructors' initializing order
- char* myString = "foo" constructs must be prefixed by "const"
- using size_t for variable types when dealing with STL
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3079 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
2951: cleaned up some desastrous code in rsdiscitems.cc
2952: put back an exit when the local address+port are already in use.
Otherwise this corrupts file lists, config files etc.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2953 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- suppressed old DwlQueue class
- turned mDownloads into a list of pointers to allow easy cross-info update between queue and std::map of downloads
- added queue functionality for moving files top/bottom/up/down
- added the necessary functions in rsFiles
Put back display of exact sizes in FileTransferInfoWidget
Suppressed some warnings.
**Warning**: this commit requires a make clean.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2493 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- exchange of chunk availability maps from different peers
- correct handling of what is available to which source before asking the data
- correct display of chunks in the progress bars
- generalised the use of compressed chunk maps
- removed the size parameters from the hash search functions
- In addition:
- suppressed a number of per-value transfers of std::string
- improved the FileTransferInfo Widget, to show some additional info
Still to be done:
- chunk map exchange for non anonymous traffic (easy)
- improve accuracy of completion for uploads (for now it's a integer number of chunks)
- check compilation on windows
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1993 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
The side effect is that even when stopped, downloads show the correct downloaded size (up to the size of one chunk).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1865 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
* Modified tlvitems to support future expansions.
* added random tlv test functios.
* added dummy Wide Directory functions to rsdir (for the future;)
* Fixed Mutex Bug in fimonitor.
* added netiface_test for hiberation / net change testing.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1620 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
Once completed this will allow standard ssl authentication and provide the base for
the openpgp authenticator,
* Tweaks, and removed debug statements.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1140 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
* Added TlvShallowClear() to serialisers
* Added RsQueueThread for periodic queue processes.
* Completed ftDataMultiplex which replaces ftServer/ClientModules.
* Added Server Queue / Thread to ftDataMultiplex.
* Added ftdataplextest to exercise ftDataMultiplex.
* Generalised ftFileSearch to handle an array of ftSearch classes.
* Tweaked rsfiles.h #defines to match new ftFileSearch scheme.
* Added Generic ftData Interfaces for Testing.
* added ftDataSend/Recv Interfaces to ftServer + ftDataMultiplex respectively.
* Completed much of ftServer (External Interface), but not yet done.
* Extra debugging and small changes to ftExtraList
* Integrated new ftTransferModule with minor interface changes.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@660 b45a01b8-16f6-495d-af2f-9b41ad6348cc