NB: This is not yet working. so SVN is now officially broken :(
Hope to have the bugs ironed out soon.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@782 b45a01b8-16f6-495d-af2f-9b41ad6348cc
It is now almost ready for integration with rs.
Added ftserver3test.cc which successfully tests:
* Hashing of a directory.
* Transfer of Cache Files.
* Local Searching.
* Remote Searching.
* Download from multiple sources.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@773 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
* Made ftTransferModule compile.
* bugfixes to make ftserver1test work.
* New P3Pipe / P3Hub ...
* Added Test Notes.
* First functions added to ftcontroller
* added isOnline to p3ConnectMgr.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@698 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Created pqiNetAssist interfaces for DHT and UPnP.
* Created PQIHub etc for standalone testing (in ft/pqitestor.h for now).
* Add basics of first server test ... its not quite complete yet.
* Improvements to ftserver.
* Changes to many tests to match other mods.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@689 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added TlvShallowClear() to serialisers
* Added RsQueueThread for periodic queue processes.
* Completed ftDataMultiplex which replaces ftServer/ClientModules.
* Added Server Queue / Thread to ftDataMultiplex.
* Added ftdataplextest to exercise ftDataMultiplex.
* Generalised ftFileSearch to handle an array of ftSearch classes.
* Tweaked rsfiles.h #defines to match new ftFileSearch scheme.
* Added Generic ftData Interfaces for Testing.
* added ftDataSend/Recv Interfaces to ftServer + ftDataMultiplex respectively.
* Completed much of ftServer (External Interface), but not yet done.
* Extra debugging and small changes to ftExtraList
* Integrated new ftTransferModule with minor interface changes.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@660 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Completed rough ftExtraList class (with Test Case)
* Added data flow interface (ftData.h)
* Added ftDataMultiplex (server + client modules).
* Finished parts of ftcontroller / ftserver.
* Minor Tweaks to ftTransferModules interface for compilation.
Related Changes in other parts of the code:
* Added new Job/Queue Thread Class.
* Added more user-friendly directory functions.
* Added FileInfo print operator.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@650 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
* Disabled newsFeed for failed connection and disconnect.
* Switched interface file_size to 64 bits for larger files.
* Flagged distrib groups as changed when subscribe request is processed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@634 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* added TMP p3Files class to interface with old system.
* cleaned up old RsControl + RsIface file information.
* removed unnecessary functions from RsServer.
* Tweaked interfaces for ftServer + ftExtraList.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@630 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Fixed up variable names in p3Qblog.cc
* Cleaned up unused BaseInfo/PersonInfo/DirInfo in rstypes/rsiface
* added new rsfiles interface (rough outline at the moment)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@628 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* added new tlv type rstlvwide key value pair for internationalisation
* profile interface method not fully implemented yet
* blog methods implemented
* added extra constructor to facilitate extensibility (rename packet
type)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@625 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Addition of channels serialiser.
* New channels interface.
* Added Channels to startup code.
* New CFG Id for serialiser.
* Cleanup of old channels stuff from interfaces.
* Cleanup of messages as well.
* Changed file size to uint64_t
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@620 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* added interface to rsnotify/p3notify/pqinotify
* added getForumInfo() to forum interface.
* added virtual functions to p3distrib for event feedback.
New NewsFeed Notification.
* Peer Connection/Disconnection.
* Failed Certificate connection.
* New/Updated Forums and Forum Msgs.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@616 b45a01b8-16f6-495d-af2f-9b41ad6348cc
*final modifications to qblog network messages: might need to consider
wstring for profile kvsets tho
*update qblog core to hanldle messages
*updated interface with all methods we will ever need hopefully
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@614 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Various improvements to get p3distrib Messages working:
* Defensive programming in cachestrapper (forcing ownId on save).
* Changed CONFIG_CACHE_ID to last -> to force correct loading order at startup
This should be Config Files, Local Cache Files, then Remote Caches.
* Hack to maintain existing Cache Files.
* Improvments to forum_test.
Lots of work on p3distrib:
* fixed nextCacheSubId.
* Added new Msgs to Config Save.
* Fixed Cache reload issues.
* Overall: Enabled Forum Msg publication.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@611 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added Forum ID to configuration Manager.
* added proper startup for p3Forums.
* updated forums/distrib interfaces.
* Switch Auto-Login on by default.
* switched out lots of debugging.
* add RM libretroshare.a to top-level Makefile.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@594 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Now creates Distribution Groups, with Admin + Publish Keys.
- Distributes Groups + Public Keys in the Cache File.
- Stores private Keys and subscribed groups in Configuration.
- Forum Test to check basic functionality.
- Added nullService for services that require tick(), but no instant messages.
- removed debugging for other services (ranking/gamelauncher)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@593 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Services which are being designed / tested should use an Id
between 0xf000 - 0xffff until the messages are finalised.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@584 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* implementation of p3config, cache functionality to p3Qblog
* added peerid (pid) attribute to rsQblog item and its serialisation
* TODO: logical updating for p3Qblog
* TODO: implement tick() so can add to server
* TODO: test p3Qblog after addition of tick with some peers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@571 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Scores can be based on:
Time: Average Comment Age.
Ranking: Sum of peer scores.
Combo: Sum of (score * age)
These are still rather crude and could be improved significantly
if anyone is interested in trying.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@562 b45a01b8-16f6-495d-af2f-9b41ad6348cc
(1) std::map<> doesn't support .at() on OSX or Windows. (use [] or find())
(2) u_int32_t is invalid on windows. (use uint32_t )
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@553 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This caused the freezing on many people PCs. It happened if
(1) Networking was set to Automatic.
(2) UPnP was not available.
But its fixed now!
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@513 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added Anonymous links, stored in configuration file.
* Friends recommendations are also shared anonymously with peers.
* Own recommendations are shared with friends.
* TODO include ranking (+2 <-> -2) in score.
* some bugfixes too.
Added RandomId to p3service file.
Improved forum interface.
Added dummy forum system (not transmitted) for testing.
Switched on new features as well.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@505 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
* Fixed up Variable Ticking -> max = 1.0 sec now.
* Removed debug output which was massively increasing CPU load.
* Removed some old code from p3face-server.cc
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@461 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* 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
* 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
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
* 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
(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
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
* 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
(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
* 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
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
* 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
* 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
* 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
* 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
* 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
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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
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
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
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
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
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
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