- 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
- added possibility to modify groups (e.g. edit circles)
- fixed mismatched free/delete in fimonitor.cc, authssl.cc, pqibin.cc (saving encrypted hash cache file)
- improved plugin interface class to allow plugins to access GXS objects.
- added method to un-register notify clients from RsNotify
- fixed pqisslproxy for windows, due to win not properly supporting sockets in non blocking mode.
- removed static members form RsInitConfig and made RsAccounts object a pointer. This prevents plugin initialisation problems at symbol resolving time.
- removed bool return from p3IdService::getOwnIds()
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7492 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- changed format of keyId in rstlvkeys.{h,cc}, but kept the serialisation for backward compatibility (A #define needs to be removed to fix it for good). Updated rsrecogn, rsmsgitems, gxssecurity accordingly
- added "chat peer" in IdDialog to help testing distant chat.
Distant chat works and is now encrypted. The GUI still needs some smoothing: display of correct peer names
in chat window, remove the need to add a message in p3chatservice.cc:3217 to force poping up the chat window.
- added MsgAddress class to handle generic address types while keeping type separation in Messages. Not used yet.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7403 b45a01b8-16f6-495d-af2f-9b41ad6348cc
service control. Crypto is not done yet => distant chat is unencrypted.
- changed GUI for distant chat. Removed invitation system.
- added menu item to distant chat GXS ids from IdentityItem (only entry point for now).
- fixed bug in chat lobbies causing re-connexion of lobbies not to happen everytime (bug reported bu Lain)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7378 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- removed copy constructor of RsGenericId from std::string as it allowed many inconsistencies and double transforms of IDs from/to strings
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7289 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Added RsTvlUnit: public RsTlvItem, which handles some of the infrstructure.
- made TlvSize() SetTlv() and print() const.
- split rstlvtypes into its bits and cleaned up header files.
- added templated RsTlvList, imilar to cyrils id one.
- removed GXS_GEN_TESTNET
- cleanedup rsserviceids.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7215 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added extra Mutex to make notifications work.
- Added ServiceControl tick to ServiceServer.
- switched p3discovery2 from pqiMonitor -> pqiServiceMonitor
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7201 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Removed old reputation system from p3idservice
- Removed old Msg types as well (no longer needed)
- Added real submitOpinion()
- Modified serviceString to support Reputation System.
- Added reputation information to both Cached Data, and Standard ID Data.
- Added basics of new reputation system as alternative service. (not gxs).
- Added Generic TLV types for maps.
- Moved configuration files to their own directory .rs/config/
- Finally, fixed up bits missed from the change to updateGroup!
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7131 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- updated ft/, p3msgservice and p3chatservice accordingly
- added a new class for Sha1Sum in t_GeneridIdType<>, and an additional template argument to make ids of identical size
incompatible.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7082 b45a01b8-16f6-495d-af2f-9b41ad6348cc
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
- create Timeout Fn so it can be called by classes derived from pqissl.
- set HIDDEN timeout to 30 seconds.
- add reset_locked() calls on errors in pqisslproxy.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@7039 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- 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
- 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
- removed unused RsFileTransferCacheRequestItem and all related functions
- fixed bug in turtle router calling members of a deleted item
- removed some debug info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6789 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* service->SendItem() now goes direct to pqistreamer buffer.
* split p3FastService out of p3Service.
p3FastService removes the recv buffer for faster processing.
p3Service maintains its original interface, so derivate classes can remain unchanged.
* Added uint32_t usec (wait period) to BinInterface.moretoread() & cansend() for future threading.
* Added Mutex protection to pqistreamer, pqissl and derivatives of both.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6783 b45a01b8-16f6-495d-af2f-9b41ad6348cc
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
- added max storage time for items in chat history. Avoids filling up the history with chat from volatile peers.
- worked out the layout in config->ChatPage in a more compact design and added help
- set the max size of chat messages to 6000 bytes instead of 2000 which was a bit too low
- default max number of lobby messages saved in each lobby is 20. Avoids flooding for peers who havn't configured it yet.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6770 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Fixed interfaces for UPnP.
Some further tweaks to get TCP connections working again:
- hiddenNode issue in p3peers.cc
- fixed socklen_t for bind() and connect() calls.
- initialise addr to IPv4 for netmgr.
- change netAssist (Upnp) interfaces.
Still todo: tou address functions, test UDP functionality.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6755 b45a01b8-16f6-495d-af2f-9b41ad6348cc
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
- Fixed cipher list to "HIGH:!DSS:!aNULL:!3DES", which should disable the weak ones, no idea how to force it to PFS (which it should use).
- fixed void * pointer maths.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6584 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- switched tests to use the common value of argstream in libretroshare, rather than the one in tests/common
- reworked command line arguments in rsinit and retroshare-nogui.
- improved passwd hash explanations
- improved command-line help.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6559 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- adds turtle router as a generic tunneling service
- made ftServer a client of the service. Now turtle file items are handled in ftServer
- added new client: p3MsgService to send/recv pgp-encrypted distant messages
- added new client: p3ChatService to perform private (AES-encrypted) distant chat through tunnels.
- The GUI is disabled for now, since it needs some polishing before being fully usable.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6411 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added key removal method in OpenPGP-SDK
- improved FriendSelectionDialog/Widget to enable select all/none keys, and show non friend keys
- added safe key removal method in PGPHandler. Removed keys from other locations will not cause errors.
- added backup system to public keyring, impossibility to remove public parts of owned secret keys, etc.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6382 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- 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
Added warning in p3ConfigMgr::addConfiguration when a config type is used twice.
Removed checkbox for "Experimental Features" in general page without function.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6027 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This brings a huge amount of goodness into the trunk,
but there is still a big chunk todo before it can be released.
* GXS Backend.
* GXS Services:
- Identities.
- Circles
- Photos
- Wiki
- GxsForums
- Posted.
* SSH no-gui server.
See branch commits for more info.
To switch on GXS stuff, enable CONFIG += gxs
in both libretroshare.pro and retroshare-gui.pro
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5996 b45a01b8-16f6-495d-af2f-9b41ad6348cc
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
* Internally moved storage of data rate from pqipersongroup -> p3serverconfig
* made DataRate + Operating Mode work together.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5889 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- In general it is okay, except for: DataRate Handling, and Win32 specific: WaitingList.
- Cleaned up some functions.
- renamed createPerson and createListener to locked_createPerson and locked_createListener.
This is required as neither Listener nor Person are thread safe (TODO).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5888 b45a01b8-16f6-495d-af2f-9b41ad6348cc
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
groupid assigned to group before service_CreateGroup now (to help with identity using pgp hashes)
fixed up dummy group creation for photo service and ui
completed basic functions of GxsGroupDialog
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5809 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added automatic cleaning of certificates in both formats
- grouped all certificate cleaning/parsing code in rscertificate.cc
- removed unused files cleanupxpgp.h/cc
- added upper/lower case to rsid template.
The new format is to be tested. It is supposed to be much more robust than the previous format,
in particular, allowing any string for location names.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5410 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- switch to OSX10.6 for upgraded SSL, with different fn signature.
- correct library paths in libretroshare.pro
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5331 b45a01b8-16f6-495d-af2f-9b41ad6348cc
User-level changes:
==================
- libgpgme is not used anymore; it is replaced by a built-in piece of code called OpenPGP-SDK
(http://openpgp.nominet.org.uk/cgi-bin/trac.cgi) that was improved to be used by RetroShare
for handling PGP keys.
- the gnupg keyring is not used anymore. Now, RetroShare has it's own gpg keyring, shared by all instances.
On linux it's located in ~/.retroshare/pgp/. A lock system prevents multiple locations to read/write keyrings
simultaneously.
- the trust database from gnupg is not documented, so RetroShare cannot import it. This comes from the fact that
the GPG standard (RFC4880) asks explicitly not to export trust information. So RetroShare has it's own
trust DB shared by locations. This means you need to re-trust people. Sorry for that!
- at start, if no keyring is found, RS will propose to copy the gnupg keyring to use your existing keys. Clicking on
"OK" will do the copy, and you should find back all existing locations, except for DSA keys.
- locations for which the suitable keypair is not in the keyring will not be displayed in the login window
- locations for which the suitable keypair is not a RSA/RSA key will not be displayed. RetroShare does not
support DSA/Elgamal keypairs yet.
- a key import/export exchange function has been added in the certificate creation window (you go there from the login
window by clicking on "manage keys/locations". This allows to easily create a new location with the same pgp key on
another computer. To obtain a suitable keypair using gnupg, you need to concatenate the encrypted private key and the
public key into an ascii file. This can be done using:
gpg -a --export-secret-keys [your ID] > mykey.asc
gpg -a --export [your ID] >> mykey.asc
- importing a key with subkeys in not yet possible. Please remove subkeys before importing.
- The code has been tested for a reasonnable amount of time, but it's not possible to prevent some new bugs
to appear. Please report them asap supplying: call-stacks if possible, and terminal output. In particular,
openpgp has some assert()'s that should not be triggered unless RetroShare is calling it in an improper way.
Internal changes
================
- a specific component, PGPHandler, takes care of the interface between openpgp-sdk and RetroShare
openpgp-sdk is c-code, with it's own memory management, which has been kept well separated from
RetroShare.
- GPG Ids are now a specific class (not a std::string anymore) for code consistency reasons. As strings are
still used in many places, this requires a few conversions. In particular, AuthGPG takes strings as
function params and calls GPGHandler with the proper PGPIdType class. In the future, RetroShare should
only use PGPIdType. The same will be done for SSL ids.
- signature cleaning is still handled by the Retroshare built-in function, not by openpgp, but we will
do this later.
Still to do
===========
- DSA needs subkey handling, since the encryption is performed by a Elgamal subkey. Not sure this will be done.
- GPGIds/SSLIds cleaning (meaning replace strings by appropriate types). Lots of confusion throughout the code in retroshare-gui in particular.
- key removal from keyring. This is a challenge to keep locations synchronised.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5293 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- p3bwctrl.h/.cc & rsbwctrlitems.h/.cc
- New Interface in pqihandler to extract the data.
- New Interface in rsconfig to display in GUI.
- Added extra debugging in pqistreamer for catching big outqueues.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5241 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Fixed crash after the second call to RsInit::InitRetroShare when keyring does not exist.
The instance of AuthSSL was created twice and AuthGPG was deleted without stopping the thread. Stopped the AuthGPG thread on exit of RetroShare.
- Added the correct path to the keyring for Windows in RsInit::copyGnuPGKeyrings.
- Changed the detection of the portable version on Windows from the file "gpg.exe" to the file "portable".
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5211 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Show "RetroShare" as sender of system messages to myself.
Added new quick view in MessagesDialog to filter system messages.
Changed RetroShare link in friend request message to certificate.
Added new subject image for the system messages (defnax).
Removed not used notify in message service.
Recompile needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5129 b45a01b8-16f6-495d-af2f-9b41ad6348cc
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
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
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
- 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
- added checkbox in ConfCertDialog to allow adding/removing signatures
- enabled again key signature button in friend wizard
- RS cert links now use small keys.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4836 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- This will only effect people who upgrade from a very old version.
- Other people will have to switch it on manually.
- Default is 0 friends, 1 FOF & 1 General @ 1kb/s... max 4kb/s usage per peer.
* Switched off lots of debugging.
* Bugfix for natassist (zeroconf returns 0.0.0.0:0 when its doesn't work).
* Logged IP Addresses for Failed incoming connections.
* Hacked IP address into the NewsFeed notifications (ugly).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4827 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added limit of 10kB for Certificate size. If it is bigger - discard certificate.
* Remove certificates for slow / trickle connections (for Relay connections).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4822 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Certificate transmission will be disabled until we have worked out how to export Minimal Certs.
* Disabled check for gpgcert text in p3disc.
* Disabled creation of GPG Cert in AuthGPG.
* Added extra error code to pqinetwork.
This change will mean that friends of friends certificates will no-longer be shared if you have discovery on.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4821 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added DataRate accounting to Relay and Dht.
* Rates are exposed through rsDht.h interface.
* Added LastIncomingTS() to pqistreamer.
* Turned HeartBeat reset() into a warning.
* Added NoPacket in 60 sec reset().
* Minor typos/errors corrected.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4818 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Hid lots of DEBUG_BASIC behind #defines in pqissl.
- Added PeerID() in many places, so grep for a single peer.
- fixed linkMgr output so we can tell a FAILURE vs FAILED ATTEMPT
- reduced most logging to a single line.
- print out of errno in HumanText for SSL errors.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4814 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* new classe p3zcNatAssist
* moved some common ZeroConf functions / definitions around.
* moved virtual tick() to parent class: pqiNetAssist
* added zcNetAssist section to makefiles. (active for OSX build)
* setup switch between p3zcNatAssist & upnphandler in rsinit.cc
NOTE: Still to test network restart, etc, and correct exchange of external Ip Address.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4800 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Changes to support Relays.
* added p3BitDht::addKnownNode() so that DhtIds can be used instead of SslIds.
* switched from bdStdDht() functions to use bdModDht().
* made DhtFunctions a class variable.
* added function to modify NodePerBucket() parameter.
* Bugfix for LinkType. peerConnectAddress.flags was not initialised.
* Extra debugging of LinkType data (use LINKMGR_DEBUG_LINKTYPE).
* cleaned up udprelay output.
* Added Compile Rules to libretroshare.pro for building LocalNet Testing Version. (testnetwork)
* Added NumQueryNodes() function to bdDhtFunctions.
* Switched bdquery.cc to use bdNumQueryNodes().
* Extended bdStdDht class to bdModDht to allow NodesPerBucket to be modified.
* Fixed up Connection Fail Callback for Relay Servers.
* Added Extra debugging for Proxy Connections.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4796 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* added p3BitDht::addKnownNode() so that DhtIds can be used instead of SslIds.
* switched from bdStdDht() functions to use bdModDht().
* made DhtFunctions a class variable.
* added function to modify NodePerBucket() parameter.
* Bugfix for LinkType. peerConnectAddress.flags was not initialised.
* Extra debugging of LinkType data (use LINKMGR_DEBUG_LINKTYPE).
* cleaned up udprelay output.
* Added Compile Rules to libretroshare.pro for building LocalNet Testing Version. (testnetwork)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4795 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Merging Dht Relay improvements into the trunk. These changes should finally make relays functional.
There are still some service changes required to reduce the traffic over relays.
Summary of Changes
---------------------
* Changed the way proxy/relay peers are selected in bdConnection. (needs more work).
* Added LinkType to peer info in p3LinkMgr & rspeers.h interface.
* Added getConnectionType() to p3PeerMgr. This defaults to FRIEND for the moment.
* Provide information about Bandwidth, Transport and Peer Type via LinkType().
* Added RateCap() to limit traffic over Relay connections.
* Set Internal Rate to 75% of Relay Limit to account for transport overhead.
* Added various #include "util/rswin.h" to fix compile errors with standard ssl package.
* Removed Local variables (mConnectProxyAddr, etc) which were hiding Class Variables.
* Cleaned up bits in pqissl.cc and p3linkmgr.cc
* Increased UDP Relay Packet size (max transport of 1400 bytes per UDP packet)
* Modified checkRelay() to use Low Pass Filter to calculate Relay Bandwidth.
* Improved udprelay debugging.
* increased (x2) Relay Lifetimes - this is so that enough useful data can be transported (1meg).
* Added LOCALNET_TESTING code to rsinit.cc. This allows Port Restrictions to simulate firewalls.
* more debugging and minor bugfixes.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4780 b45a01b8-16f6-495d-af2f-9b41ad6348cc
of the overhead associated with TCP and Relay connections:
* The Internal rate is calculated based on transmitted data (a reliable stream).
* The Relay rate is calculated at UDP packet level and is x1.1 - x1.2 higher than internal rate.
The Relay will drop the connection if peers exceed specified level - so best to leave some head room.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4773 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* 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