* Stun code now runs continually - to check external network state.
* Udpsorter controls DHT stun is on/off. (via p3ConnectMgr)
* added code to enable threads to join/restart
* enabled NetRestart for UDP and TCP.
* tweaked networking code for faster startup (now ~30 seconds - can still be improved).
* tweaked debug messages for testing networking
* Added test for checking external IP address determination.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1492 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This is not enabled by default. Instructions to enable are at the end of msg.
This is 60% complete. Supports creation of certificates, adding friends and connections.
Parts still to do: pgpids, p3discovery, signing and trusting peers.
The main reason it is being commited is so that connections between peers can be
properly tested, and development on OSX and win can start.
This requires gpg and the gpgme.h development libraries, and no longer
requires the custom ssl libraries.
To compile it switch the configuration flags in scripts/config-linux.mk
To compile XPGP (v0.4.x) enable PQI_USE_XPGP:
#PQI_USE_SSLONLY = 1
PQI_USE_XPGP = 1
To compile SSL only, enable PQI_USE_SSLONLY:
PQI_USE_SSLONLY = 1
#PQI_USE_XPGP = 1
To compile OpenPGP, disable both:
#PQI_USE_SSLONLY = 1
#PQI_USE_XPGP = 1
and enable RS_USEPGPSSL in rsiface/rsinit.h
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1265 b45a01b8-16f6-495d-af2f-9b41ad6348cc
RsItem Packets.... but used an alterative streamer similar to pqiarchive.
This will cause problems, and delete the configuration for those
who have upgraded in the last month .... but will maintain compatibility
with previous stable release.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1201 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Once completed this will allow standard ssl authentication and provide the base for
the openpgp authenticator,
* Tweaks, and removed debug statements.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1140 b45a01b8-16f6-495d-af2f-9b41ad6348cc
build against a standard OpenSSL library...
Still lots to do (implement AuthSSL), compiles all but final gui.
use USE_XPGP flag in build script to control it.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@796 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added call to function when loading certificate from a string.
(ie when the user cut n pastes it).
* added return 1 call to pqipersongrp.cc
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@714 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Switched off most of std::cerr output. (expect UPnP)
* moved pqi/pqidebug to util/rsdebug to allow greater usage.
* added Mutexes to logging.
* Downgraded many log messages to DEBUG.
* New Log messages for connections, dht and udp code.
* Added check for bad UDP socket.
* Added check for non-firewalled scenario.
* Increased Storage period from 1 Month to 6 Months for Links & Blog.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@644 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Removed periodic Check and thread.
* Added Shutdown.
* switched to terminating background thread.
* removed temporary lease.
* A bit of a HACK - this class could be cleaned up significantly.
Adding the start of forums/channels.
* Dummy Interface and Forum data (so GUI work can start)
* rough p3distrib - needs a lot of work.
Added shutdown function to p3connmgr, to shutdown Upnp.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@493 b45a01b8-16f6-495d-af2f-9b41ad6348cc
(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
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
* 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
* 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
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
- Added new serialiser (PQItem -> RsItem), removed old one.
- switched packet sorting from ChanId (array of ids) to PeerId (string)
- introduced cleaner service interface (pqiservice).
- moved p3disc to service interface.
- modified streamers to use the new serialiser.
- moved msg/chat to service interface.
- removed old source code. (supernode / p3loopback).
I've disabled UDP connections / Proxy and Channels for the moment.
The code it still here, but is not compiled. The Proxy and Channels
will become services, and the UDP connections will be reworked
in the near future.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@274 b45a01b8-16f6-495d-af2f-9b41ad6348cc