61 Commits

Author SHA1 Message Date
csoler
5b2ba1e81c - added more debug info to p3LinkMgr
- added check for banned IP from DHT at connection time
- added regular removal of banned IPs from friend IP lists
- increased time of banned IP storage to 1 week (previously 6 hours)
- added save for banned IPs to keep them after restart (in bdfilter.cc) to file bdfilter.txt (can be manually updated)
- changed mFiltered into a std::map for increased search efficiency
- added secondary check of cert ID at connection time.-This line, and those below, will be ignored--

M    libretroshare/src/pqi/p3netmgr.cc
M    libretroshare/src/pqi/pqimonitor.h
M    libretroshare/src/pqi/p3peermgr.cc
M    libretroshare/src/pqi/p3linkmgr.h
M    libretroshare/src/pqi/pqissllistener.cc
M    libretroshare/src/pqi/p3peermgr.h
M    libretroshare/src/pqi/p3linkmgr.cc
M    libretroshare/src/pqi/pqiperson.cc
M    libretroshare/src/pqi/pqissl.cc
M    libretroshare/src/rsserver/rsinit.cc
M    libretroshare/src/dht/p3bitdht_relay.cc
M    libretroshare/src/dht/p3bitdht.cc
M    libretroshare/src/dht/p3bitdht.h
M    libretroshare/src/retroshare/rsdht.h
M    libbitdht/src/udp/udpbitdht.h
M    libbitdht/src/udp/udpbitdht.cc
M    libbitdht/src/bitdht/bdmanager.cc
M    libbitdht/src/bitdht/bdmanager.h
M    libbitdht/src/bitdht/bdnode.h
M    libbitdht/src/bitdht/bdfilter.h
M    libbitdht/src/bitdht/bdfilter.cc
M    libbitdht/src/bitdht/bdnode.cc
M    libbitdht/src/bitdht/bdstore.h


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8289 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-05-25 14:02:45 +00:00
csoler
789b76f7b4 added a button to clear the IP address list. Also started to add diagnostic for TOR status. This is unfinished so it does not work yet.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8268 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-05-17 10:00:00 +00:00
csoler
c9d5c7b3cb turned some std::list<PeerId> into std::set, as it automatically prevents duplicates
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8138 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-04-17 21:36:22 +00:00
csoler
059a0b3bf7 prevent discovery and p3PeerMgr::loadList() from erasing service permission flags. Now the existing pgp-based values are kept.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8122 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-04-04 21:18:43 +00:00
csoler
d2c4c3bb09 added new flag to allow peers auto-download recommended files from trusted neighbor nodes, which give the possibility to push data to other nodes
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7955 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-02-18 19:07:58 +00:00
csoler
bf11765ff1 fixed a few compilation warnings
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7859 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-01-23 08:22:54 +00:00
csoler
acc45a4382 removed some debug messages, added some ifdefs
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7775 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-12-21 19:12:40 +00:00
csoler
d547cb6fdb changed post fixed operator++ into prefixed. More efficient on some systems. Patch from Phenom.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7630 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-10-24 22:07:26 +00:00
csoler
b593a918a0 optim: changed postfixed ++ into prefix++ for non trivial operators, replaced test on std::list::size() by std::list::empty() (Patch from Phenom, modified)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7627 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-10-21 22:33:02 +00:00
csoler
03fc766e55 basics for TOR proxy status. Unfinished
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7567 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-09-28 09:54:20 +00:00
csoler
789e6ae24e removed some debug info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7542 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-09-16 19:53:23 +00:00
drbob
0dbe55bd05 Fixed serialiser bug in RsTlvList
Switched to proper Ids in gxsCircle gxsId items.
Fixed up Config serialiser.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7218 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-04-01 08:00:20 +00:00
drbob
0e6302ac6a Removed configuration type (uint32) as its not needed or really used.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7212 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-03-29 05:20:57 +00:00
chrisparker126
0f29d28b1b merge of branch v0.6-idclean 7180
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7187 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-03-17 20:56:06 +00:00
drbob
c0738eec7f Merging branches/v0.6-initdev into trunk.
These split at 6672 -> 7075, so quite a bit merge.
libretroshare compiles - but untested.
retroshare-gui needs GenCertDialog.ui and IdEditDialog.ui to be properly merged. (compile errors).
some plugins will be broken.
retroshare-nogui is untested.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7078 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-02-01 14:16:15 +00:00
drbob
d39c5c028a fixed up hidden addresses and removed whitespace from onion address.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@7036 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-01-18 23:29:22 +00:00
drbob
ee09c3ce9c Allow Local Address to be saved and modified in hidden mode.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@7030 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-01-18 05:05:35 +00:00
drbob
12e7d73941 Added ProxyServer to configuration.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@7029 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-01-18 04:40:39 +00:00
drbob
39db508ce7 Improvements for V0.6 logins to support hidden nodes.
- Separated Acount stuff from rsinit.cc => rsaccounts.cc
 - Moved Account Directory to HID06_xxxxxxx, or STD06_xxxxx
	This allows us to check for Hidden immediately
	And prevents v0.5 accounts being used with 0.6
 - Added functions to support Proxy, and Hidden stuff.
 - Changed Minimum port to 10 to allow port 80 to be used by those who must.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@7027 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-01-18 02:32:55 +00:00
csoler
630824aa1b Updated the notification system. Main changes are:
- the notification system is now a service, p3Notify, that is a public RsNotify.
- RsNotify does nothing except providing a registration system for new notify clients.
- Clients should derive a notify client from the NotifyClient class and register it to rsNotify
- all registered clients get all notifications, so only derive the needed methods. This should allow 
  plugins to get notifications as well.
- updated the code to call RsServer::notify()->[notification method] from inside libretroshare
- pqiNotify has been removed.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6996 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-01-07 22:51:22 +00:00
drbob
90aa57a0f0 Rewrite of the discovery system to be more private, with less traffic.
Split the visState into seperate vs_disc and vs_dht for easier handling.
Split the heartbeat system into a separate service.
Added IPv4 and IPv6 local/ext addresses into discovery & peer config.
Fixed up samenet and samesubnet ipv4 calls.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6773 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-28 08:09:59 +00:00
drbob
6290d8fed9 Massive commit - changing from sockaddr_in => sockaddr_storage.
In preparation for making RS support IPv6.

NB: This breaks the build of retroshare-gui, as the
sockaddr_storage_xxx fns are only defined as prototypes for now.

All the aux libraries like udp / stun / tcponudp / dht have still to be converted.

These changes will probably break various things and need to be tested thoroughly.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6735 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-13 14:35:19 +00:00
drbob
5322040d29 disabled outgoing normal connections - if hidden node.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6730 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-11 07:00:33 +00:00
drbob
bfd915864b mods to support hidden node: setup & cert sharing.
Also removed old configuration mode from p3cfgmgr



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6720 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-09 02:10:49 +00:00
drbob
a6cf738371 Removing old services, serialisers and other references for:
- forums
	- channels
	- tunnel
	- blog
	- gamelauncher.
	- distrib.

Note this majorly breaks the GUI, for the moment.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6683 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-03 14:51:23 +00:00
drbob
212b4c44c9 First of the V0.6 changes.
- Adding basics for proxy connection.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6682 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-03 13:35:39 +00:00
thunder2
041bdaab50 Added send of updated discovery information.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6570 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-08-08 23:00:27 +00:00
thunder2
9ffb625f9a Added missing IndicateConfigChanged to p3PeerMgrIMPL::setDynDNS
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6558 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-08-05 21:51:07 +00:00
csoler
0d3d8ed2bd fixed uninitialized memory read
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6384 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-05-30 18:26:50 +00:00
csoler
c2fcd8bc71 patch from Henry Morgan to avoid removing peer permission flags when removing locations
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6309 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-16 20:10:31 +00:00
csoler
bc463a0f81 fixed remembering flags for own id, tentatively fixed service perm bug
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6292 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-05 21:11:27 +00:00
csoler
8399ce82ee added missing mutex, and warnings if permission flags methods are not called with correct ids
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6287 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-04-03 22:50:50 +00:00
csoler
ee54247cc2 fixed bug that would reset service permission flags when discovery is enabled and discovery info is received
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6283 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-28 19:48:45 +00:00
csoler
66207b81e5 - made the names consistent between ftdata, ftdatamultiplex and tests/
- added missing virtual functions in ftDataRecv
- setup initSSL instance as a static member of AuthSSL, instead of an external (does not change much except the init in rsinit.cc)
- changed p3PeerMgrIMPL to take SSL and PGP ids as parameters. This avoids calling AuthSSL and AuthGPG from the constructor => very helpful for tests.
- added random creation function in t_RsGenericId<>
- added functions setAuthSSL_debug() and setAuthGPG_debug() to manually setup the authSSL and authGPG objects to use. Used in tests.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6035 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-26 18:12:19 +00:00
csoler
e3da77612a - 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.
- fixed missing error msg in p3cfgmgr when serialisation fails.
- fixed bug in RemoteDirModel causing infinite loop to happen when group name is unknown




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5924 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-01 19:22:22 +00:00
thunder2
09f42dbc3c Added new level gpg id to FriendSelectionWidget (groups, gpg id, ssl id).
Added friend selection to the group dialog for better assigning of friends to groups.
Updated english translation.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5881 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-24 14:48:31 +00:00
csoler
8e5ddcb0d6 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
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5557 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-09-16 14:43:38 +00:00
thunder2
83bd45caa4 Removed some std::ostringstream.
To be continued.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5103 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-04-14 22:38:24 +00:00
thunder2
45ac04e2e7 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.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4986 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-25 01:48:56 +00:00
thunder2
970d88200d Removed some more compiler warnings from Windows compile (GCC 4.4).
Added -Wextra to the Windows compile.
Added new define in libbitdht for snprintf and fprintf to proper handling of "%ll" under Windows.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4951 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-17 10:03:38 +00:00
thunder2
a2982f3370 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.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4940 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-14 22:55:14 +00:00
drbob
57c7e66a38 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



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4919 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-02-11 12:18:56 +00:00
drbob
8267739b02 Final core changes required to get relay links working.
* Added LinkType to p3LinkMgr => exposed via rspeers.h
 * Added ConnectionType to p3PeerMgr. This is dummy default to FRIEND at the moment.
 * Flag bandwidth limited Relay links as such.
 * Switched DNS Address connect to in front of historical addresses.
 * Reverted Flags in p3LinkMgr to what they were.
 * Added LinkType Flags to rspeers.h
 * removed getConnectFlags() as it was a bad way to do things.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4769 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-08 22:15:19 +00:00
drbob
58d8606d00 Added extra function to retrieve Peer's GPG IDs.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4750 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-01-05 15:41:24 +00:00
drbob
7b0a33c318 Incremental DHT improvement - support in libretroshare.
- 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
2011-11-22 13:24:42 +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
drbob
ce0a36607d As certificate cleaning is very much more brutal now... (strip all SSL certs not connected to recently).
I've reduced the frequency, and increased the age for removal.
 * Cleared every 31 minutes, first cleaning after 1 hour.
 * old peer is no contact for 90 days.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4547 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2011-08-08 12:02:17 +00:00
drbob
8688c65f4c * Added "lastcontact = now" when added SSL Peer. This ensures that new certificates will be retained for at least 30 days.
=> 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
2011-08-08 11:27:40 +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
aa63ca1aa6 Added Further debugging to try and catch this 10minute reset bug.
* 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
2011-08-06 12:27:23 +00:00