Commit Graph

87 Commits

Author SHA1 Message Date
drbob
d69c2f72f1 * Fixed up various memory leaks (mainly serialiser cleanup).
* Added pthread_detach() to allow proper thread cleanup (affected ony Linux!)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@460 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-04-02 13:55:45 +00:00
drbob
a0247d39d1 Forgot this file!
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@453 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-31 21:29:17 +00:00
drbob
5e41b21cef Lots of bugfixes and tweaks:
* Switched p3Ranking to share Friends Links as well as own.
 * Modified rankmsgs to contain source id.
 * Fixed up rsNotify, added pqiNotify and global function call to get it.
 * Added notify for Bad Incoming Directory
 * Added Emergency Incoming directory so RS can keep running.
 * Added notify for Bad Packet (connecting to V0.3.X)
 * Added notify for Incomplete Packet Read (not been triggered yet!)
 * added close() to BinInterface, close on pqissl calls reset() 
 * removed exit(1) calls from pqistreamer, replaced with bio->close().
 * Increased Maximum Packet Size for HTML messages.
 * Fixed Online/Offline Message Forwarding. (TEST).
 * Increased DHT bootstrap buckets to 4.
 * Cleaned up much of serialiser debug (was slowing down Mac)
 * Added directory path to File Listings.
 * added ConvertSharedFilePath() so correct local dir can be found.
 * Added ForceDirectoryCheck() and InDirectoryCheck() for file hashing.
 * removed old TMP cache loading.
 * switched off Cache debug.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@448 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-31 14:06:59 +00:00
drbob
8d3f9a3ec6 Important changes to tighten up the connection methods:
* Switched to miniupnpc-1.0
 * modified miniupnpc to add lease duration.
 * set lease duration to 1 Hr.
 * Modified configure scripts to use miniupnpc-1.0

 * added TIMEOUT to all connections (5 sec for TCP - Important!)
 * reduced TCP offset delay to 2 seconds.
 * BUGFIX: Added missing connect_parameter wrapper function.
 * added reset to other connection methods when connection is made.
 * Added Connection Type (TCP/UDP) information to feedback/GUI

 * Increased default Data Rates: from 50/50 to 100/500 kB/s
 * Removed Default Bootstrap Ids. (only automatic now!)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@423 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-26 15:35:09 +00:00
drbob
048e84630e Changes to upnp interface to support miniupnpc-1.0
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@421 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-26 02:41:01 +00:00
drbob
6370582c9d Commented out 'Universal Binary' Options for the moment.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@412 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-24 14:20:48 +00:00
drbob
1024330b1d Increased DHT Bootstrap BINS to 2.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@410 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-23 22:41:17 +00:00
drbob
0c0147abe6 BUGFIX: Big BUG in External Port notification! FIXED.
An invalid comparison was being made - meaning the EXT_PORT_FLAG was not set.
 This can lead to failed connection attempts.

Added dht_check_peers program.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@409 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-23 22:27:43 +00:00
drbob
d335e37c8d BUGFIX: Authenticated friends were being dropped from Peer Lists at restart.
A config save is now triggered after an Authentication to fix this issue.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@408 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-23 19:29:42 +00:00
drbob
72823768bb BUGFIX: Config MetaFile, and Signature File now saved in correct directory.
BUGFIX: forceExtPort now initialised.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@407 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-23 19:11:36 +00:00
drbob
246bd80190 Changes to build system to support universal binaries on MacOSX.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@400 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-22 14:34:53 +00:00
drbob
247e583a35 Addition of a new Automatic DHT Bootstrap system. This will need to be tweaked as the numbers of users increase.
* hashed keys are posted to specific DHT entries, to create a series of bootstrap lists.
 * these are fetched as needed to bootstrap new clients.
 * Modified Bootstrap monitor program.

Created a minimal backup bootstrap list (temporary)
Added "-e" option to commandline to force 'external port' mode
Bugfix for multiple connection methods, could kill an active connection.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@397 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-21 19:06:34 +00:00
drbob
7044822e1f Addition of several utility functions:
(1) xpgp_id to extract the name/id from a certificate.
(2) dht_bootstrap to check the status of the bootstrap peers.

Various bits of code needed to be rearranged to make these utilities possible.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@394 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-21 02:02:58 +00:00
drbob
79023e7c7c Improvements to the Games Launcher.
Addition of new Bootstrap Peers.
Completion of rsgameitems serialiser.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@383 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-17 14:24:56 +00:00
drbob
fb229c96da Addition of improvements to photo service - can now add local photos - but these are not shared over the network yet.
Added HashFile() utility function.
Also added updated() functions to ranking and photos, so the GUI can update itself when necessary.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@381 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-17 13:51:04 +00:00
drbob
0a9382cea5 Moved p3notify to pqi directory to fix compile order.
This is a bit of a hack, and should be fixed later.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@379 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-06 12:07:54 +00:00
drbob
7eeb4420fe Modifications to Game Launcher to fixup the display of names / status.
Added Date check to DHT Server File, so we don't download each restart.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@378 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-05 19:03:51 +00:00
drbob
0bdc3522a6 Improved the bootstrap Stun system.
* searching for STUN ID's continues until RS_STUN_FOUND_MIN are found (10).
 * abandon STUN search if Ext or Upnp mode.
 * add Bootstrap IDs to rear of mStunList. (bugfix)

Force saving of certificates after "oldFormat" loading.
Corrected printStunList() fn call.

Added a notification system: 
 (1) libretroshare System Notifications.
 	- System notification if Firewall Status is bad.
 (2) PopUp messages.
 	- Popup for a connected peer.
 	- Popup for a new message.
 * New interface (to be revised).



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@376 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-05 16:32:18 +00:00
drbob
08860b25e6 Addition of two more Services / Applications.
(1) A PhotoService / Dialog to share slideshows.
(2) A Network View service, derived from p3disc for a graphical view of peers.
Both of these need a little help to get them fully functional.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@375 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-04 21:31:11 +00:00
drbob
3ed1eef186 Switching default compilation back to Linux.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@374 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-04 15:03:36 +00:00
drbob
fd1beee309 More Tweaks before first release.
* Switched on RELEASE flag.
 * renamed incomplete work to "Unfinished"
 * updated version strings.
 * Added Configuration path to DhtMgr.
 * reduced uPnP timeout to 30 seconds (from 60).
 * more Bin -> BinToHex printouts.
 


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@373 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-03 16:01:25 +00:00
drbob
9bdd44d0f5 Changes required to get Retroshare V0.4 working under windows.
Most of these changes relate to:
 (1) rand() is different 
 (2) sleep() don't exist on Windows.
 (3) networking headers are different - these need to be cleaned up in general.
 (4) disabled tests that won't compile on Windows.

Will probably have to rollback some of these changes for Unix later.





git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@372 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-03 14:41:15 +00:00
drbob
9e954e9c0f Tweaks to the GUI side.
* Fixed the fonts, and default entries in GamesLauncher.
 * Shifted all the unfinished stuff to "In Development" section.
 * Fixed smplayer/rs project files.
 * duplicate variable in p3connmgr.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@371 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-03 14:12:39 +00:00
drbob
85aa75ef5d A series of small bugfixes - as we head towards the first v0.4 release.
* Added stun bootstrap functionality.
 * Added in two temporary StunServers.
 * Reconnect attempts are TCP only.
 * enabled AUTOCONNECT and TCP Connections.
 * reduced UDP keepAlive timer to 15 secs.
 * made UPnP the default startup behaviour.
 * Removed StunId raw printouts -> now use BinToHex()
 * Unified TTLS and PERIODS in p3dhtmgr.h
 * DHT bugfix (data not passed to ConnMgr).




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@370 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-03 14:01:52 +00:00
drbob
63828f77a8 Significant improvements to DHT behaviour, and reconnection attempts.
* Added GUI interface for auto connect state.
 * Added HTTP retrieval and storage of DHT peers update.
 * Added code for partial recv() from DHT peers.
 * Disabled Chat/Disc/Udplayer/tcpstream debug output.
 * Added Unreachable Check to connMgr.
 * Added auto reconnect functions to connMgr (#define to disable).
 * Restructured DHT notify code... much cleaner.
 * DHT now flags out of date DHT results.
 * DHT notifies ConnMgr on any results (same or diff).
 * Added Fns to cleanup old udp connection.
 * other bugfixes.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@369 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-02 14:25:59 +00:00
drbob
2dc2954f40 Added Code to detect Symmetric NAT (BAD!) Firewalls.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@361 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-28 15:58:54 +00:00
drbob
6dd3d30d8e Additions to tcponudp to add a TouKeepAlive system.
This is only used if we are in 'firewalled' mode.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@360 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-28 10:43:33 +00:00
drbob
31454138b7 Fixed up some Upnp issues:
* Enabled a lease duration (requires mods to miniupnpc library)
 * this is set at 10 mins for the moment.
 * Added Check functions to see if UPnP forwarding is still up.
 * improved error checking in Forward() function.
 * added #define for UDP local address testing.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@359 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-27 15:43:02 +00:00
drbob
8b230a55cf Significant changes to aid UDP connections.
* Added Period and Delay parameters to connections.
   - Delay is used to avoid simultaneous TCP connections.
   - Period is used to regulate UDP connections.
 * added Delay code to pqissl.
 * added Period code to tcponudp / pqissludp.
 * modified TTL modification code.
 * increased SynPktRetransmit value.
 * fixed retrans() timeout (one reason code wasn't working before!)
 * fixed tou_close() SEGV bug.
 * modified pqissludp tou_socket creation. (non permanent now).
 * Modified format of peerConnectRequest() CB to make it more useful and rewrote function.
 * Enabled pqissludp NetInterface.
 * using Id comparision to determine Active/Passive UDP connection state.
 * added #def to disable TCP connections. (for testing)
 * enabled UDP connections from retryConnect() function.
 * corrected EXT check in retryConnect() function.
 * + lots of debug output and other stuff.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@358 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-27 02:32:20 +00:00
drbob
e87b7b75e7 Various Bugfixes:
* Clear discFlags before creating DiscItem packets.
 * Don't call stunStatus/peerStatus if refering to self (p3disc).
 * Expand allowed listen port range.
 * Limit max size of stored StunList.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@357 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-26 18:55:16 +00:00
drbob
b64b88df4a Added EXTERNAL flags to p3disc callback (peerStatus).
Corrected id->hash  for p3disc callback (stunStatus).



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@356 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-26 16:52:50 +00:00
drbob
06cb9e0121 Added a seperation between 'desired' net mode and 'actual' net mode
this is needed for accurate stunlist creation. Also added stunStatus
calls from discovery.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@355 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-26 16:14:13 +00:00
drbob
685182ff0b Modified DHT to notify of all possible stun peers, as it doesn't know whether we need to stun or not.
Added a Type parameter, so that the connection Mgr can determine if there is
an external port available or not.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@354 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-25 23:56:23 +00:00
drbob
100a7aea82 Changed DHT string output to use std::ostringstream, as snprintf wasn't working
with inet_ntoa.... also added some other debug and fixed notifytxt.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@353 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-25 21:39:08 +00:00
drbob
3f582afe5a enabled dht, and tweaked some parameters.
disabled notification checks if ext ports.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@347 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-11 23:27:17 +00:00
drbob
98a14ba715 Tweaks to get the UPnP working. Corrected network address passing,
and also adjusted DHT timeout periods.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@345 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-11 16:27:55 +00:00
drbob
276a6bbd99 Added Cache's to retroshare configuration.
* Completed CacheConfig serialisation.
* Switched to Push Cache Mode (faster and more efficient).
* Added CancelCacheTransfer() if we have duplicate HASH / CACHEID.
* Store remote and local caches.
* cleanup all cache directories.
* Broke Cache tests :(  - because of dependency of mAuthMgr/mConnMgr.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@343 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-09 12:47:45 +00:00
drbob
1bb4283986 Tweaks to debug connections.
* bool / int mismatch bug in tou_extaddr()
* extra debugging to p3connmgr
* fixed connect error in p3connmgr.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@342 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-08 17:05:55 +00:00
drbob
3e1b155f1a Completed Basic configuration storage:
* Added read/writetofile() fns to BinMemInterface
 * Added SignData() fns to AuthXPGP.
 * Added Certificate saving to AuthXPGP.
 * added Signatures to Configuration.
 * now discards messages if Hash is wrong (p3msgservice)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@341 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-08 12:39:40 +00:00
drbob
806b8285f2 Lots of little changes to libretroshare. Improvements mainly focused
on configuration storage and loading:
 * Improved Configuration Manager (almost finished)
 * Mutex protections for Configuration system
 * added Configuration storage to p3ConnectMgr.
 * added Configuration storage to p3MsgService.
 * bugfixes in p3GeneralConfig.
 * Added Config Save notification where necessary.
 * added safe FinalConfigSave before exit().
 * added RsPeerNetItem + RsPeerStunItem (serialiser)
 * reordered startup for correct config loading.
 * enabled Loading of certs in AuthXPGP.
 * move sockaddr_clear() to util/rsnet.h
 * switched p3MsgService sendMessage checking to pqiMonitor syste,.
 * corrected pqiarchive saving of PeerIds.
 * added setNetworkMode() & setVisState() to p3ConnectMgr.
 * added Mutex protection to p3ranking.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@336 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-07 16:18:34 +00:00
drbob
2c69fd7eaf Finished off the basic Link Ranking system.
* added serialiser types.
 * finished streaming on p3ranking.
 * removed Bandwidth limitations from BinFile / BinMem.
 * added bytecount() to BinInterface.
 * moved the CacheTransfer creation to Startup.
 * added ranking to CacheStrapper & server tick() system.
 * Tweaked LinksDialog for final touches.
 * enabled downloads from Messages.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@335 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-05 13:45:04 +00:00
drbob
925b1a780e Completed Mutex protection for chat, msgs, and disc services.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@334 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-04 21:40:34 +00:00
drbob
54063ab434 switched stun packet byte layout to network-byte-order.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@333 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-04 18:24:15 +00:00
drbob
8527a5e53f Fixed up the retroshare message system.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@331 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-04 17:55:13 +00:00
drbob
07a458367b Addition of sorting algorithms to the LinksDialog.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@330 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-03 16:43:03 +00:00
drbob
63e177b6ef forgot the #include "util/rsnet.h"
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@329 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-03 12:13:55 +00:00
drbob
31136da7cc Modifications to fix some networking/endian issues on PPC OSX.
* added sockaddr_clear() function to zero network addresses before use.
* used this function in p3connmgr.
* added htonll() and ntohll() functions to rsnet.h with compile-time ENDIAN checking
* use htonll() and ntohll() in serialiser.
* added net_test.cc to check network/endian/inet_addr issues.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@328 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-03 12:07:59 +00:00
drbob
cea158b77d Add the ranking interface file.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@327 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-03 06:32:00 +00:00
drbob
06aae24efd * Addition of almost completed p3ranking class - still streaming / ranking to do.
* Major modifications to p3disc to use the new AuthMgr and ConnMgr.
 * Modified RsDiscItems to match new p3disc.
 * Modified ConnMgr to accept information from p3disc.
 * Addition of new Load/Save Certificate From/To Binary to AuthMgr.
 * Corrected default build to Linux.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@325 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-03 06:29:02 +00:00
drbob
3451af6152 Changes to libretroshare to make the system compile on Mac OSX 10.3
* minor changes to networking headers.
* addition of several virtual destructors (remove warnings)
* switched Makefiles to new system.
* added macosx specific configuration file.
* removed KadC compilation checks.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@324 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-03 06:17:33 +00:00