* WARNING is printed out & LOGGED if it takes more than 0.2 Seconds to complete.
-> This happens occasionally, need to watch it.
-> This is one of the things that kills connections.
-> Ideally want to get the cycle down to 0.05 seconds.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4544 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
* SSL_Peek is called on new connections, and we only accept it when there is data.
* This should stop some of the unstable connections caused by wrong IP:Ports
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4533 b45a01b8-16f6-495d-af2f-9b41ad6348cc
It was using the same port as the DHT, and switching to a Random one, on its own.
* Added debugging for net reset.
* Added further debugging for ssl (reset + killing existing connections)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4530 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
* extract external address from DhtStunner if possible.
* added p3PeerMgr::UpdateOwnAddress(), which should only be called by p3netmgr.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4512 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* set PortForward in NetStateBox when the Network has been setup.
* add GeneralConfig to rsConfig external interface.
* enabled ADVANCED configuration option.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4500 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 peerId to udpstunner->exclusiveMode for debugging purposes.
* added timeout for exclusive mode, this can happen if connection is lost at lower levels.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4489 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Reduce Maximum Transmission size from 1500 -> 1000.
This is the cause of Failed Connections. It looks like UDP packets are being truncated from 1520 -> 1492 bytes.
and this is killing the TCP protocol. Windows is the main suspect. UDP packets this large are liable to get fragmented anyway.
We will start at 1000, verify that connections are okay, then start increasing this parameter.
There is up to 64 bytes of Headers (IP + UDP + Relay + TOU), so 1400 + 64 = 1464 is below the 1492 cutoff. This is the target!
* Switch to RSRandom for Sequence numbers. rand() is rubbish on Windows.
* Added code to handle Larger Packets coming in (e.g. 1500 Bytes input, now that Max Size is 1000).
NB: The code is here needs to be optimised, there are excessive numbers of malloc(), new() & memcpy(), which should be removed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4482 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Increased Timeout Periods for UDP connections - this was stopping half of them from succeeding.
* The other bug (Heartbeat / stream issues) has not been solved.
* Fixed up initialisation of p3BitDht data.
* add DropPeers() as NON-ACTIVE (this allows peers which aren't VISIBLE to still try and connect)
* export AddFriends/FOF/Others to LinkMgr to allow further SSL IDs to be added to p3BitDht.
* Export UDP Addresses to DhtWindow.
* switch off lots of debugging.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4469 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
* switched off the TESTING PERIODS.
* added BASE PROXY wait time.
* Increased PEERNET_CONNECT_TIMEOUT to 120
* Prevented connection startup with Request underway (dpd->mPeerReqState == RSDHT_PEERREQ_RUNNING)
* corrected calculation of Exclusive Delay (Target of MIN_DETERMINISTIC_SWITCH_PERIOD = 60 secs).
* don't do UDP Failed ConnectLogic update when connection was initiated remotely.
* Extended UdpRelay to allow flexible Bandwidth limits in the future.
* Added Timeout for Relays (30min for unknowns - 2hrs for friends).
* Extract bandwidth from UdpRelay, at installation.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4463 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* changed PeerConnectStateBox::getNetState() to calcNetState() to provide up-to-date info (internal mNetState can be stale!)
* Added "bool addrChangeLikely" parameter to ReleaseProxyExclusiveLock() - this parameter is determined by whether we actually started a UDP connection.
* disabled ForceRestun in UdpStunner if addrChange is unlikely.
* Reduced Stunner Period Slow from 3 minutes to 2 minutes - exact value will only be known after real-world testing.
* More debugging.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4458 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* tweaked time periods as these type of connections take longer.
* added NatHoleType() to ConnectStateBox logic - as its required for ProxyPort Determination.
* added ConnectStateBox::getNetState() so we can work out if in ExclusiveNat mode.
* added ExclusiveLock checks at Connection Initiation / Proxy Connection Auth & Connection Ends.
* added Simulation of Symmetric / Exclusive Nat to UdpStunner.
* exported ExclusiveProxyLock for GUI display.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4457 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Forgot that RELAY connections need extra parameters.
* Added proxyAddr, srcAddr and Bandwidth parameters to connection attempts.
* Completed UDP connection callouts from p3bitdht.
* Added TCP connection attempt initiation from p3bitdht.
* Added PASSIVE / ACTIVE determination in p3bitdht.
* completed UDP connection logic in pqissludp.
* enabled UDPSTUN_ALLOW_LOCALNET for testing.
* added CONSTs for TOU Receiver Indices.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4446 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Infact, it doesn't use these two classes at all (so you could pass void in the init function)...
- It should actually update p3PeerMgr when it detects a Net Address change (TODO).
This means that there is potentially no need for a dummy object - p3NetMgrIMPL can be used almost as is!
* changed p3PeerMgrIMPL & p3LinkMgrIMPL pointers back to p3PeerMgr and p3LinkMgr pointers.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4445 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added ConnectionFeedback fn to NetAssistConnect & p3BitDht.
* Added TYPE definitions to pqiassist.h
* added extra parameters to p3LinkMgr::connectAttempt() (flags which will be used to pass DIRECT/PROXY/DIRECT + PASSIVE/ACTIVE)
* Added callback from p3LinkMgr to NetMgr::netAssistStatusUpdate() => Dht::ConnectionFeedback.
* updated peerConnectRequest to trigger either TCP attempt (first) or UDP connection.
* updated parameters for p3LinkMgrIMPL::tryConnectUDP()
* added p3LinkMgrIMPL::locked_ConnectAttempt_SpecificAddress() for DHT => TCP attempt.
* added extra parameter to addAddressIfUnique... bool addFront => DHT attempts get pushed to front of Queue due to timing requirements.
* added extra parameter (flags) to pqiperson::connect() - matches extra parameters to p3LinkMgr::connectAttempt().
* added p3NetMgr::netAssistStatusUpdate()
* added mConnectFlags to pqissludp
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4443 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
* added DETERMINISTIC_SYMMETRIC NAT to retroshare/rsconfig and NetStateBox.
* added ExclusiveMode to udpStunner.
* Tweaked UdpStunner ping logic.
* added TCP_WAIT to Connect Logic.
NB: This stuff is still to be tested!
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4440 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added tick() and setRefreshPeriod() to pqiAddrAssist
* Fixed up NETSTATE #defines, all refer to retroshare/rsconfig.h
* added #define => string translations for NETSTATEs
* Added NetStateBox as an independent Network State determination (has no effect on existing code).
* added slowTick() to p3NetMgr.
* connected p3NetMgr::getNet... to NetStateBox.
* piped network state into NetStateBox.
* added p3NetMgr check for changes in NatType. (to update Stun Rate / Attach Mode (TODO))
* added NetStateBox.reset()
* tweaked lots of debugging.
* added Default Stun Period (pass -1 to setRefreshPeriod())
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4435 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* added OthersList to p3linkmgr. this is important so we can send ACTIONS for removed Peers.
* added missing mStatusChanged when adding Friend.
* added printPeerLists to PeerMgr and LinkMgr.
* tweaked debugging.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4427 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Catch Failed Connections, and add to NewsFeed for GUI notifications.
* outgoing connections are captured via pqissl::FailedCertificate() functions.
* incoming connections are captured at certificate verification.
* Certs are passed to AuthSSL, which calls the notification system.
* Additional types have been added to rsnotify to handle these cases.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4425 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* switched off lots of debugging, and removed "common" messages, so we can focus on the actions.
* Added extra debugging focused on the connections.
* Removed "lastconnect" from p3LinkMgr.
* added p3PeerMgr::updateLastConnect() fn, so this parameter will be stored.
* added calls from p3LinkMgr at connect and disconnect.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4424 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Split p3bitdht_peers.cc debugging in two. Hid Id Translation debug (that code is fine)
* Added initialisation of p3bitdht peer data structure (using values from peernet).
* Added BITDHT_QFLAGS_UPDATES flag.
* Added Tick() interface to NetAssistConnect interface, tick it from p3NetMgr.
* FIXED OLD BUG: netAssistFriend was not being called from p3LinkMgr::connectResult() this meant all peers where being searched for.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4423 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Improved debugging messages for p3linkmgr & p3netmgr, switched on debugging.
* added ids to p3bitdht peers.
* added datatypes to RsDht peers data structure, and translate the data.
* add const to PeerConnectStateBox::connectState().
* cleaned up p3LinkMgr::locked_ConnectAttempt_AddDynDNS() a bit.
* filled in friend data types in p3LinkMgr (allows connections now!)
* added printConnectState() in p3LinkMgr
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4421 b45a01b8-16f6-495d-af2f-9b41ad6348cc
conflict in unix and windows style directory names
led to cleaning of remote and local directories in
Cachestrapper::loadlist()
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4403 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* added retroshare/rsdht.h
* extended p3bitdht to provide RsDht interface. (p3bitdht_interface.cc)
* added UdpRelay to networking stack.
* started expansion of p3bitdht to handle connections.
* added <string> header to rsthreads.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4399 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
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
the TOU interface no longer supports multiple sockets..
all the connections are attached to the same UdpStack.
Multiple sockets will be re-introduced in the next TOU iteration.
At that point the remaining tests will be fixed up.
* tweaked regress.mk
* added scripts to launch tests.
* replaced UdpLayer with UdpStacks.
* only two proper tests: udp_server (passes), test_tou (fails)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4341 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
serialiser:
added tests for rsconfigitems
added regression reporting for tlvrandom_test
fixed rstatusitem_tests
fixed tlvbase_test2 tests, any fix rstlvipaddrv4 from this revision should not break regression
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4320 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Fixed compile under Windows.
Removed CloseHandle of GetModuleHandle.
Added missing return when the function entry of the plugin is NULL.
Fixed checking for the extension ".dll".
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4287 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
- corrected bug that would wipe out the cache file every other start
- missing root directories are not discarded anymore, but kept empty, unless the user really removes them
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4271 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
Removed extra "/" of the filename (e.g. "E://") of the hashed file when sharing a whole drive.
Recompile of the gui needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4200 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
Added new command line parameter "-r retroshare://..." for adding links to the registered running RetroShare.
Recompile of the GUI needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4156 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 new button in ConnectFriendWizard for cleaning the certificate.
Fixed cleaning:
- added blank line after the armor header
- moved the checksum to a new line
Recompile of the GUI needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4134 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- changed the order of check in tick() to allow cancelling a file that is being checked
- removed the hash step from mutex protection
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4113 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Combined the two methods for share and unshare of the download dir.
Added share incoming directory to the QuickStartWizard.
Recompile of the GUI needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4089 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Changed the parameter of the constructor of ftFileCreator and ftFileProvider and some methods of ftTransferModule from "std::string" to "const std::string&"
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4045 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 a RsLoginHandler class, responsible for storing/loading the SSL passwd from keyrings/disk/gpg file
- Removed RsInitConfig::havePasswd, RsInitConfig::haveHelp, etc.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4007 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
* Done save and read, need to do "remove autologin" .
This can be done manually through KeyChain Acess program.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3997 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- kepts compatibility with existing autologin passwds. Only new locations will have a long 64 chars passwd.
- implemented storage of SSL password in gnome keyring for autologin on ubuntu
- added UBUNTU define in both .pro files.
- suppressed display of SSL passwd at login
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3993 b45a01b8-16f6-495d-af2f-9b41ad6348cc
so RS ended up with 200+ zombie child processes. This prevented gpg from being called.
The fix was to add waitpid() calls to cleanup the zombies.
* added cleanupZombies() to authgpg.cc (OSX only).
* updated OSX gpgme libraries to 1.3.0 (added libassuan to RetroShare.pro).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3974 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
- authssl would call OPENSSL_malloc without OPENSSL_free
- pqistore was not deleting items in pqiSSLStore when BIN_FLAGS_NO_DELETE is not here
- rsdir/rsinit were calling opendir withoug closedir (which might eat FDs, in addition)
- udplayer was not freeing it's 16KB buffer at end of loop.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3948 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Changed the usage of RsPeerDetails.validLvl to RsPeerDetails.trustLvl for the display in the column "Did I authenticated peer" in NetworkDialog.
Added an icon to the MessageBox of the NotifySysMessage.
Fixed german language.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3926 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Changed parameter of RsDirUtil::cleanupDirectory from "std::list<std::string> keepFiles" to "const std::list<std::string> &keepFiles".
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3925 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Added new icon in MainWindow and systray icon for existing completed downloads.
You can enable/disable the toaster and the systray icon in NotifyPage.
Recompile of the GUI needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3868 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* shifted dht stats call outside of p3connmgr's mtx.
NB: As Dht callback functions hold DHT lock, then lock p3ConnectMgr...
we cannot have any opposite locks (p3connmgr, then DHT) or we have
potential for a deadlock.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3861 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* mUdpBitDht doesn't need to be protected by a mutex - as it is static for all intensive purposes.
* updated PeerCallback() fn signature, and removed extra address callback. (part of args now!).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3858 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
* print packet size and time - when actually sending it.
* print reason for stopping to read or send packets.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3780 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
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
* new DataDirectory Function in rsinit.cc
* new copyFile() and checkFile() functions in rsdirutils.
* bdboot.txt is checked for and copied over if missing.
NB: This has been tested under OSX, but Linux / Windows need checking.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3713 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- FAIL if too old.
- FAIL if invalid address.
- FAIL if on BannedIpList (=1.0.0.0)
- ACCEPT if extAddress.
- ACCEPT if !extAddress && sameNet(localAddr).
- FAIL all the rest.
* Test Results are printed if CONN_DEBUG is switched on.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3705 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
Moved the hash strings of notifyHashingInfo from the librs to the GUI for translating.
Fixed german translation.
Recompile of GUI needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3659 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Problem:
RetroShare connects to all ssl's at once. In Windows XP there is a build-in connection limit of concurrent incomplete connections.
Quote:
"The TCP/IP stack in Windows XP with Service Pack 2 (SP2) installed limits the number of concurrent, incomplete outbound TCP connection attempts. When the limit is reached, subsequent connection attempts are put in a queue and resolved at a fixed rate so that there are only a limited number of connections in the incomplete state."
This results in a high usage of the nonepaged pool and when it runs over the limit it results in the following error in the system log:
German: "TCP/IP hat das Sicherheitslimit erreicht, das für die Anzahl gleichzeitiger TCP-Verbindungsversuche festgelegt wurde."
English: "TCP/IP has reached the security limit imposed on the number of concurrent (incomplete) TCP connect attempts."
After a longer runtime of RetroShare and a very high usage of the nonepaged pool all connections of all running programs are lost and no new connections can be made. At the end it can cause a blue screen.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3631 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
* NOTE about how to correctly implement Peer filtering.
* added peerConnectRequest() when PeerCallback(success) happens... starts UDP connection.
* Split the p3conmgr::tryConnect() functions into sub functions.
* added p3ConnMgr functions for UDP connections.
* Added AddifUnique(conect_address), to ConnMgr, this should reduce the number of connection attempts, by removing dups.
* Disabled bitdht in libretroshare.pro for the moment.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3605 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 second mutex for the gpg engine.
Now the call to the gpg engine (for example AuthGPGimpl::LoadCertificateFromString) doesn't block the GUI.
The existing problem is still the call of AuthGPGimpl::storeAllKeys every minute before access the gpg data.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3555 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
Removed the status string function from the lib.
Removed static strings like " - " and " : " from translation.
Removed not needed images.
Fixed german translation in MessengerWindow, PeersDialog and PopupChatDialog.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3472 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
You can enable it in libretroshare.pro and RetroShare.pro by uncomment
CONFIG += minimal
This enables two new defines for stripping all not needed things
- libretroshare: MINIMAL_LIBRS
- GUI: MINIMAL_RSGUI
and removes not needed files from build (see end of the files libretroshare.pro and RetroShare.pro).
Beware: All data of the stripped services are lost
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3414 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
Enabled bitdht in RetroShare.pro and retroshare-nogui.pro too
Fixed link of RetroShare on Windows
-> added ws2_32 after bitdht, maybe someone has a better solution
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3335 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* OSX Bug: doesn't like classes in C files. switched to void * pointer.
* A little extra debugging in pqissl on disconnects.
* switched on bitdht by default in libretroshare.pro
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3334 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
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
- by the right-click+Force Check on files.
- when a global hash on a downloaded file does not match the announced hash.
When a CRC map check is ordered, the CRC map is requested to one of the sources for the current file download.
When received, all downloaded chunks are checked w.r.t the reference CRC and marked as not done if the CRCs do not match.
The exchange of CRC32 map and requests has been tested, as well as CRC map checking during download (force check).
To be implemented soon:
- caching of CRC32 maps (although these are fast to compute)
- CRC32 map packets for normal downloads. For now these work only for turtle tunnels.
- handling of errors if the CRC never comes. For now, the download will stay stuck in "Checking..." mode.
So, don't play too much with the force check feature for now...
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3310 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 TS check to SSL_RETURN_ZERO code.
- Existing code was dependent on tick rate. (could kill connection in 2-3 seconds)
- If nothing is received within 15 seconds - the connection will be killed.
* Removed "No send if RETURN_ZERO" check.
- This causes deadlocks and kills connections.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3287 b45a01b8-16f6-495d-af2f-9b41ad6348cc
sslfns.h: test for existing function with #ifdef doesn't work, used OPENSSL_VERSION_NUMBER instead - please test
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3284 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
.
- corrected a bug that caused file copy error: a closeFile() was missing when the file is complete. Because of delays in fwrite, the file would not be always co
mplete, nor exist at all for small files (e.g. cache files), which in the later case caused the copy error.
Warning: needs a make clean in libretroshare to recompile.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3261 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
* 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
* Corrected mLocal -> mExt in ipset.cc
* Added pqiipset_test
* added both Ext and Local address to GUI display.
* p3connmgr: Ip Addresses only updated if we connected (otherwise port is wrong).
* p3connmgr: update external address when we get it.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3251 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
(Sorry for the ridiculously large check-in, wants to fix lots of stuff.)
Other Changes:
* Added SSL Test Harness. (authssltest)
* Added GPG Test Harness. (authssltest)
* Reworked SSL/GPG startup to enable test harnesses
* pqiperson: added notify of FAIL if connection method unavailable.
* added p3tunnel to pqissltunnel init.
* pqimonitor: added ipHistory to connect callback.
p3ConnectMgr Changes:
* removed STUN system - wasn't operating correctly anyway without DHT.
* switched to new IpAddress history data types. (removed lots of code)
* Added Addr history for both Local and Ext addresses.
* removed p3tunnel references in p3connmgr
* fixed up mUseTunnelConnection flags (now used!)
* fixed up mUseExtFinder flags (now used!)
* added improved Net Status.
* corrected UPNP / EXT / UDP startup. (was always UPNP).
* fixed netReset() and netStartup().
* removed unnecessary DEBUG code.
* added UPNP timeout code (600 secs - why does it take so long?)
* added improved netExtCheck().
* removed wierd netConsistencyCheck() ... to rework.
* corrected connect / reconnect code.
* removed DHT notify code.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3247 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
- stores an iterator rather than searching a map twice
- deletes a message when it can't be routed in routeGenericTunnelItem()
- deletes a message when its contents allocation failed in sendFileData()
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3244 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Every call to RsInit::LoadCertificates() now creates a file:
~/.retroshare/xxxxxxxxxxxxxxxxxxxx/lock
which is then bound to a system lock (fcntl F_SETLK).
If the lock request fails, it means another instance is already
running with the same profile.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3241 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
* restored AuthSSL::Failed/CheckCertificate() calls.
* removed mConnMgr->isConnected() checks. These should be elsewhere.
* enabled exit(1) call if cannot open listening socket.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3218 b45a01b8-16f6-495d-af2f-9b41ad6348cc
p3connmgr: This needs major help... and will be revisited.
Only changes to get code compiling for now.
* revert peerStatus() function signatures (to match pqimonitor.h)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3217 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This functionality might need to be restored later,
but should be done with list<> for both Local and Remote Addrs.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3215 b45a01b8-16f6-495d-af2f-9b41ad6348cc
AuthSSL / AuthGPG: Bits and pieces still need fixing up.
AuthSSL will be rechecked later ;)
* Mutex bug in authGPG (not very serious one).
* removed _locked() suffix from functions (as they do the locking now).
* added dummy FailedCertificate / CheckCertificate fns to AuthSSL
* removed last bits of awful SSL_ex_data hack.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3213 b45a01b8-16f6-495d-af2f-9b41ad6348cc
so I can properly document what is being changed!
Revert / Merge : pqissl / pqissludp code.
* restored original timeout system.
* removed weird testing code - should never have been here!
* switched extra checks to generate ALERT msgs - we want to know if they happen.
* removed quietShutdown (breaks TLS protocol - why was this added?)
* switched listening on all the time. (helps restore disconnects).
* restored common connect parameters (removed duplicates in ssludp).
* restored AuthSSL->Failed/CheckCertificate() calls ... useful.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3212 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This used an unprotected singleton -> bad... Probably killed a lot of connections.
* removed mConnMgr tests in authssl
AuthSSL shouldn't use ConnectMgr. what happened to abstraction / seperation of function???
This code prevents quick reconnections.
* Disabled AuthSSL from adding new SSL peers.
This functionality is important... but should be handled elsewhere (p3connmgr or pqissl)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3200 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
NOTE: This tests packets up to size of 1Mb. This causes the test to FAIL
due to getRsPktMaxSize() returning 262142.... What to do? This needs to be fixed!
see comments at serialiser/rsserial.cc line 448
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3180 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added existing ft tests to tests directory (don't work yet!)
* Added dbase tests to tests directory (don't work yet!)
* moved net_setup test to tests/general directory (don't work yet!)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3176 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
Corrects wrong logic when using Win32 API for handling the filesystem, Win32 functions return 0 for an error while POSIX functions return 0 for a success.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3146 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
- 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
3068: added verification for file size computation (bug correction)
3069: set heartbeat values to intermediate values
3070: suppressed uninitialised memory read
3071: automatic removal of file lists from deleted peers, at restart (After
double check that this does not alter exchange of file lists in any way)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3072 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
This avoids that an attacker that captures a broadcast hash request can also ask for the file.
This needed to add back explicit sources in SearchDialog and private chat transfer. I dynamically search
for sources in file lists just before calling FileRequest.
When RS links anchorClick() will work properly with Qt, we can remove the search flag "EXTRA" from the
tunnel digging in p3turtle.cc, otherwise, people having this bug can't transfer files in private chat by
copy+paste of a RS link.
Also:
- added missing mutexes in search requests into fimonitor.cc
- suppressed some debug info in connect manager
- added check for write fails when dumping config files
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3027 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added failure tests for fwrite. Some where missing.
- added a test against the IP 1.0.0.0, which pops up on MacOS (when the peer is not connected to the internet?)
- put some additional debug messages.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3018 b45a01b8-16f6-495d-af2f-9b41ad6348cc