Commit Graph

5876 Commits

Author SHA1 Message Date
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
chrisparker126
983efff1c0 initialial doxygen documentation
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@289 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-10 22:19:00 +00:00
chrisparker126
bbd3c17b6d completed: compiles but not debugged
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@287 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-06 13:07:20 +00:00
chrisparker126
1ca334090f added licence info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@286 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-01-06 13:05:32 +00:00
drbob
46a001af47 Final changes to add the new serialiser.
- added Chat / Msg and Disc services.
- expanded rsiface to handle new serialiser.
- mods to rsserver with new conversions etc.
- added service directory to Makefile.
- removed PROXY / CHANNELS from make.opt



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@276 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-12-12 01:43:17 +00:00
drbob
d9efb76b01 Modifications to bring in the new serialiser:
- Switched to 64 bit lengths for files.
- Switched to new data types (RsItem).
- Moved Msg and Chat to services.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@275 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-12-12 01:39:09 +00:00
drbob
2c9c31eaf0 Major changes to the networking core of retroshare to introduce the new serialiser.
- 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
2007-12-12 01:29:14 +00:00
drbob
07d33009b9 - Removed old file indexing code.
- Switched file sizes from 32bits -> 64 bits so rs can handle large files.
- combined Cache/Service Ids are now located in serialiser/rsserviceids.h



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@273 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-12-12 01:08:31 +00:00
drbob
470ceaa73b Changes to configuration scripts to remove CHANNELS/PROXY compile options.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@272 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-12-12 00:58:28 +00:00
drbob
393110a4ed Addition of a util platform independent networking header file.
(mainly for the serialiser's benefit)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@271 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-12-12 00:56:46 +00:00
drbob
e8ccb0b427 Major improvements to the serialiser to make it work with retroshare.
This is still a first draft - the message types will surely change.

-corrected ids and added service classes.
-Added disc/msg/chat/cache/file messages
-Extended serialiser to handle service extensions.
-corrected IpAddrPort code.
-More debugging code.
-Added some tests.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@270 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-12-12 00:54:42 +00:00
drbob
0a32122ada Added the first top-level serialiser test for rsfileitem.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@265 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-11-22 04:04:13 +00:00
drbob
8f63b77a57 A couple of fixes to make TLV compile.
added tlvconfig_test to regressions.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@264 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-11-22 02:28:28 +00:00
chrisparker126
7da0e9b3f3 test file for last four tlv objects
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@263 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-11-20 01:13:31 +00:00
chrisparker126
72d46a5f3b merged r249 and 250
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@262 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-11-20 01:02:22 +00:00
chrisparker126
75694f0701 temporary
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@255 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-11-18 00:02:45 +00:00
chrisparker126
18126f6eb7 temporary
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@254 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-11-18 00:02:32 +00:00
chrisparker126
9815664fcf temporary
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@253 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-11-18 00:02:09 +00:00
chrisparker126
22ae522fd6 woohoo
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@252 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-11-17 23:57:55 +00:00
chrisparker126
23d1894b2b ### This file configures various client-side behaviors.
###
### The commented-out examples below are intended to demonstrate
### how to use this file.

### Section for authentication and authorization customizations.
[auth]
### Set store-passwords to 'no' to avoid storing passwords in the
### auth/ area of your config directory.  It defaults to 'yes'.
### Note that this option only prevents saving of *new* passwords;
### it doesn't invalidate existing passwords.  (To do that, remove
### the cache files by hand as described in the Subversion book.)
# store-passwords = no
### Set store-auth-creds to 'no' to avoid storing any subversion
### credentials in the auth/ area of your config directory.
### It defaults to 'yes'.  Note that this option only prevents
### saving of *new* credentials;  it doesn't invalidate existing
### caches.  (To do that, remove the cache files by hand.)
# store-auth-creds = no

### Section for configuring external helper applications.
[helpers]
### Set editor to the command used to invoke your text editor.
###   This will override the environment variables that Subversion
###   examines by default to find this information ($EDITOR, 
###   et al).
# editor-cmd = editor (vi, emacs, notepad, etc.)
### Set diff-cmd to the absolute path of your 'diff' program.
###   This will override the compile-time default, which is to use
###   Subversion's internal diff implementation.
# diff-cmd = diff_program (diff, gdiff, etc.)
### Set diff3-cmd to the absolute path of your 'diff3' program.
###   This will override the compile-time default, which is to use
###   Subversion's internal diff3 implementation.
# diff3-cmd = diff3_program (diff3, gdiff3, etc.)
### Set diff3-has-program-arg to 'true' or 'yes' if your 'diff3'
###   program accepts the '--diff-program' option.
# diff3-has-program-arg = [true | false]

### Section for configuring tunnel agents.
[tunnels]
### Configure svn protocol tunnel schemes here.  By default, only
### the 'ssh' scheme is defined.  You can define other schemes to
### be used with 'svn+scheme://hostname/path' URLs.  A scheme
### definition is simply a command, optionally prefixed by an
### environment variable name which can override the command if it
### is defined.  The command (or environment variable) may contain
### arguments, using standard shell quoting for arguments with
### spaces.  The command will be invoked as:
###   <command> <hostname> svnserve -t
### (If the URL includes a username, then the hostname will be
### passed to the tunnel agent as <user>@<hostname>.)  If the
### built-in ssh scheme were not predefined, it could be defined
### as:
# ssh = $SVN_SSH ssh
### If you wanted to define a new 'rsh' scheme, to be used with
### 'svn+rsh:' URLs, you could do so as follows:
# rsh = rsh
### Or, if you wanted to specify a full path and arguments:
# rsh = /path/to/rsh -l myusername
### On Windows, if you are specifying a full path to a command,
### use a forward slash (/) or a paired backslash (\\) as the
### path separator.  A single backslash will be treated as an
### escape for the following character.

### Section for configuring miscelleneous Subversion options.
[miscellany]
### Set global-ignores to a set of whitespace-delimited globs
### which Subversion will ignore in its 'status' output, and
### while importing or adding files and directories.
# global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store
### Set log-encoding to the default encoding for log messages
# log-encoding = latin1
### Set use-commit-times to make checkout/update/switch/revert
### put last-committed timestamps on every file touched.
# use-commit-times = yes
### Set no-unlock to prevent 'svn commit' from automatically
### releasing locks on files.
# no-unlock = yes
### Set enable-auto-props to 'yes' to enable automatic properties
### for 'svn add' and 'svn import', it defaults to 'no'.
### Automatic properties are defined in the section 'auto-props'.
# enable-auto-props = yes

### Section for configuring automatic properties.
[auto-props]
### The format of the entries is:
###   file-name-pattern = propname[=value][;propname[=value]...]
### The file-name-pattern can contain wildcards (such as '*' and
### '?').  All entries which match will be applied to the file.
### Note that auto-props functionality must be enabled, which
### is typically done by setting the 'enable-auto-props' option.
# *.c = svn:eol-style=native
# *.cpp = svn:eol-style=native
# *.h = svn:eol-style=native
# *.dsp = svn:eol-style=CRLF
# *.dsw = svn:eol-style=CRLF
# *.sh = svn:eol-style=native;svn:executable
# *.txt = svn:eol-style=native
# *.png = svn:mime-type=image/png
# *.jpg = svn:mime-type=image/jpeg
# Makefile = svn:eol-style=native



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@250 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-11-16 23:20:54 +00:00
drbob
a89e5a4784 Addition of new makefile scripts.
Addition of the new serialiser (the start anyway).
Addition of regression test system.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@249 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-11-16 04:45:00 +00:00
drbob
e0304cd2de Tweaked the build scripts to work with the compile script.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@248 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-11-16 01:36:46 +00:00
drbob
935745a08e Created V0.3.x branch and moved the head into the trunk directory.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@246 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2007-11-15 03:18:48 +00:00