Commit Graph

205 Commits

Author SHA1 Message Date
thunder2
545743ad77 Removed some std::ostringstream.
To be continued.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5097 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-14 00:30:23 +00:00
csoler
65cde95fba - added/fixed patch from defnax to allow setting up a topic for each chat lobby. The topic is displayed to friends.
- handled backward compatibility by keeping/sending old LobbyList item. Should be remove in the near future.
- removed constraint to have at least one friends invited when creating a new lobby.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5024 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-03-16 22:47:49 +00:00
csoler
889a2b2433 Added deferred check of chunks during file transfer. Chunk sha1 sums are requested to the sources and checked for downloaded data.
Validated chunks are shared to other peers. Force check is now very simple since it just turns all chunks into "needs checking" mode
and sums are asked to sources. Sources maintain a temporary cache of chunks. Since sums are requested sparsely, this should not 
affect the sources in terms of performance. We can still imagine precomputing and saving sha1 of chunks while hashing them.

For backward compatibility reasons, the following has been setup *temporarily* in this version:
- unvalidated chunks are still considered as already obtained, and are shared and saved
- force check has been disabled
- final file check is maintained
- in case of file fail, the old checking mode will be used.

All changes for next version are kept in the define 'USE_NEW_CHUNK_CHECKING_CODE' that will be made the default in a few weeks.
At start, I expect most chunk to stya yellow during download, until most sources are able to provide chunk hashs.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5019 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-03-15 19:55:43 +00:00
csoler
a4320d785f moved RS_SERVICE_TYPE_VOIP into plugin
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4992 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-26 15:36:07 +00:00
csoler
ee5dcd1a8c - moved RsAutoUpdatePage into retroshare-gui/ directory, to allow plugins to use it
- removed VOIP code from main executable. Moved it into VOIP plugin (c.f next commit)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4963 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-19 15:03:07 +00:00
csoler
c3be19227d Suppressed echoes in chat lobbies by:
- 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
2012-01-27 23:13:28 +00:00
csoler
0a0ccd1f4f removed debug output
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4829 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-20 20:47:05 +00:00
csoler
036bd64811 - Added chat lobby privacy type to lobby invite => lobby type is propagated correctly to friends
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
2012-01-14 21:09:04 +00:00
csoler
e9d6940b09 Improvements to chat lobbies:
- 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
2012-01-06 22:17:08 +00:00
csoler
60bb76e3df Imported chat lobby function from branch v0.5-ChatLobby (merged commits 4682-4739)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4740 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-27 16:32:19 +00:00
csoler
3addb36e4c added unsubscribe protocol, updated GUI
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-ChatLobby@4738 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-27 13:47:37 +00:00
csoler
9b79d70fa8 debugging of connectivity challenge
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-ChatLobby@4736 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-26 17:39:38 +00:00
csoler
d4abb42788 added challenge protocol to securely improve lobby connectivity
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-ChatLobby@4735 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-26 14:45:45 +00:00
drbob
2048bb5e47 Improvements to BanPeer Code, mainly from a UdpStunner perspective.
* 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
2011-12-08 20:15:08 +00:00
csoler
a0e3522273 debugged basic chat lobby communication
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-ChatLobby@4708 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-12-04 14:31:48 +00:00
drbob
02b03d1a0f Fixed Dsdv debugging and cleanup of old entries.
Added PRIORITIES for BanListItems and DsdvItems.
Increased Dsdv Max Distance to 5...

Its almost ready for network-wide test!



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4698 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-29 17:14:51 +00:00
csoler
723a8ca7f0 added serialisation code for lobby msgs, and test code for the new RsItems
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-ChatLobby@4692 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-26 15:58:52 +00:00
csoler
cd30487898 Added send and forward methods. Improved data structures.
Next: serialization of ChatLobbyItems



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-ChatLobby@4690 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-25 21:31:52 +00:00
drbob
85ea54395b Improvement to BanPeers Sharing Code.
* 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
2011-11-25 00:58:01 +00:00
drbob
f01d06c806 Added first part of p3banlist.
This is a service to exchange bad IP addresses within Retroshare network.
 


git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4684 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-23 16:40:32 +00:00
drbob
1cfcac7377 Added Dsdv Data transport packet.
Shifted Dsdv address to separate TLV data type.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4679 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-21 14:38:13 +00:00
drbob
7f30b19f2a First pass at adding a DSDV system to libretroshare
- Added Routing Data Types.
	- Completed Basic Logic
	- Added Interface for GUI display.

Lots to do:
	- Handle edge cases (drop / add )
	- Test on the network.
	- Partner service, which actually uses system.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4678 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-11-21 07:49:38 +00:00
thunder2
29c090fb44 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.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4623 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-09-29 09:20:09 +00:00
csoler
b73fd06753 added auto-split of long private messages, and re-combination of partial messages on client side. Corrects the bug causing disconnection when sendign messages of side larger than the maximum packet size.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4598 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-09-09 19:37:38 +00:00
csoler
0ed60eaf86 merge of QoS branch into trunk
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4588 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-09-04 20:01:30 +00:00
thunder2
c6beee44ec Removed unused parameter warnings in libretroshare.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4558 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-12 13:42:30 +00:00
drbob
8e3e7d5209 Cleaned up rsPeers to remove 10 minute reconnect. The reconnect was caused by
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
2011-08-07 21:11:00 +00:00
drbob
e993068521 Added Test Service for determining VoIP possibilities.
* 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
2011-08-03 17:43:26 +00:00
drbob
91e10f1590 * Fixed up network configuration.
- 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
2011-07-30 12:18:56 +00:00
drbob
3d71e6338e Added more debug to serialisers.
* 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
2011-07-29 15:17:39 +00:00
csoler
cca2962116 removed LinkCloud files from main executable
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4395 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-05 20:56:58 +00:00
csoler
ccfbfa9984 Improvement of the 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



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4393 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-07-05 20:29:07 +00:00
drbob
a333b12618 Fixed the Missing Cache File bug.
* 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
2011-06-24 15:10:52 +00:00
csoler
a2c91a7924 - Added basic infrastructure to plugin system in libretroshare and retroshare-gui.
- 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
2011-06-16 21:59:26 +00:00
thunder2
c45e7562bb Added a star column for messages.
Recompile of the gui needed.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4217 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-05-23 23:45:31 +00:00
csoler
31b950a8fe Corrected bugs in chat:
- 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
2011-05-04 20:52:45 +00:00
csoler
34fc615d2c added code to display msg text in debug mode
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4180 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-05-01 21:22:11 +00:00
csoler
827dbd8cf3 added a memory management class for small objects.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4046 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-02-20 21:36:21 +00:00
csoler
bad9007019 fix for compilation issue
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3981 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-01-25 11:24:06 +00:00
csoler
474aa31fd1 suppressed debug printfs and costly outputs
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3967 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-01-20 17:25:30 +00:00
thunder2
28b4534fdf Removed unnecessary variable "ownId" in ftController::FileRequest.
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
2011-01-04 19:46:27 +00:00
csoler
b08a924376 corrected uninitialised memory read
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3838 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-11-21 13:30:34 +00:00
drbob
7203229126 Cleaned up Transfer debug, now that we've found the windows bug.
* 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
2010-11-13 11:46:17 +00:00
drbob
06273fa775 Hackish changes to debug Windows Transfers...
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
2010-11-11 20:51:17 +00:00
chrisparker126
885d71370c added channels file clean up warning
added channels private key notification, and new private channel key behaviour (must subscribe to accept a private key)

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3756 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-11-07 00:02:51 +00:00
thunder2
3c65283f8f - Change methods of RsMsgs from "std::string" to "const std::string&"
- 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
2010-11-02 21:11:11 +00:00
thunder2
fc0ff38206 Added read/unread state to channel service (copied from forum service).
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
2010-10-07 00:17:42 +00:00
chrisparker126
9bdf222418 new msg items to store srcid/from address for rs messages
also updated tests for new rsitems

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3594 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-10-03 11:56:53 +00:00
thunder2
077b2871f1 Groups for friends in PeersDialog.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3523 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-22 22:37:57 +00:00
thunder2
1352b27e7a Added version to RsPrivateChatMsgConfigItem for better extensibility.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3518 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-09-21 12:18:57 +00:00