Commit Graph

72 Commits

Author SHA1 Message Date
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
drbob
798e19d58c Conversion of the SSL connection methods.
* Added new XPGP functions to checking certificates.
* Converted SSL classes from cert * -> p3AuthMgr.
* Added check of addresses before connect attempt.
* started up listener correctly.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@319 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-28 05:40:32 +00:00
drbob
bfb0b2be2b Modifications to chat and msgs to allow wchar_t messages
(support for multiple languages)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@317 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-26 13:00:57 +00:00
drbob
c7ce92aba2 Commit of the new UDP Connection methods and
the rewrite of the retroshare core networking stack.

This check-in commits the changes to the rsiface code.

Addition of new Retroshare Interface for Peer/Neighbour control.
Mods to notifytxt to use new interface.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@315 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-25 08:01:40 +00:00
drbob
fd8adceb7e Commit of the new UDP Connection methods and
the rewrite of the retroshare core networking stack.

This check-in commits the changes to the rsserver code.
Major changes to use the new networking code. Added
p3peers.h as a new interface for peer/neighbour management.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@314 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-25 07:58:29 +00:00
drbob
7c2d5611bd Commit of the new UDP Connection methods and
the rewrite of the retroshare core networking stack.

This check-in commits the changes to the server code.
Changes inline with p3authmgr.h, and conversion of
the configuration storage to p3cfgmgr.h




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@313 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-25 07:54:31 +00:00
drbob
9ba4549133 Commit of the new UDP Connection methods and
the rewrite of the retroshare core networking stack.

This check-in commits the changes to the serialiser code.
Added serialisation of Key-Value pairs Config message.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@312 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-25 07:52:46 +00:00
drbob
37d6a4b968 Commit of the new UDP Connection methods and
the rewrite of the retroshare core networking stack.

This check-in commits the changes to the services code.
Modifications to match the switch to p3connmgr.h and p3authmgr.h



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@311 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-25 07:49:28 +00:00
drbob
059d43244a Commit of the new UDP Connection methods and
the rewrite of the retroshare core networking stack.

This check-in commits the changes to the upnp code.
Modifications to use the new generic p3upnpmgr.h interface.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@310 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-25 07:25:05 +00:00
drbob
456325dc08 Commit of the new UDP Connection methods and
the rewrite of the retroshare core networking stack.

This check-in commits the changes to the dht code.
An interface to a second new DHT system (OpenDHT) has been added.
This has a number of features that make it preferable to the KAD dht network.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@309 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-25 07:22:15 +00:00
drbob
e28c8a846f Commit of the new UDP Connection methods and
the rewrite of the retroshare core networking stack.

This check-in commits the changes to the util code.
added some more utility functions for HexToBin & Hashing.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@308 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-25 06:45:12 +00:00
drbob
2780be3931 Commit of the new UDP Connection methods and
the rewrite of the retroshare core networking stack.

This check-in commits the changes to the dbase code.

only minor changes: 
rename loadCache->loadLocalCache to avoid clash.
switch to new monitoring system in cachestrapper.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@307 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-25 06:42:55 +00:00
drbob
6435357c07 Commit of the new UDP Connection methods and
the rewrite of the retroshare core networking stack.

This check-in commits the changes to the pqi code, 
and provides the majority of the improvements.

(1) Introduced new interfaces for DHT and UPnP abstraction: p3dhtmgr.h, p3upnpmgr.h
(2) Introduces abstraction for Authentication: p3authmgr.h
(3) New Connection Manager to coordinate networking code: p3connmgr.h
(4) New Configuration Manager: p3cfgmgr.h

This library has been significantly modified to support DHT synced connections
to enable connections between Firewalled Friends. The connection code has
been rewritten within a new framework, which should make extensions easier to code.

Also removed significant amount of old code relating to Tunnels, Channels etc.
This will be recycled later as higher level services that should not be
part of the core networking library.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@306 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-25 06:36:40 +00:00
drbob
de0ce110b9 The first commit of the new UDP Connection methods and
the rewrite of the retroshare core networking stack.

This check-in commits the changes to the TCPonUCP code.

This library has been significantly modified to support
multiple UDP "connections" from a single port.
This requires some trickery and a listener thread.
Code to "STUN" peers was also added.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@305 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-25 06:11:39 +00:00
drbob
905e1ee66a Added missing destructor functions.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@303 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-21 10:40:49 +00:00
drbob
0712590a99 * Addition of the basic Games Launcher - used to organise networked games with peers.
* New external interface for launcher (rsiface/rsgame.h)
* changed pqiservice type Ids from int -> uint32_t.
* added NO_DELETE option to pqistreamer.
* added HASHDATA flag for BinInterfaces





git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@301 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-21 09:22:42 +00:00