- added missing decrement to DataCount in rsmemcache::erase()
- added missing note_event_locked() in rstickevent ... can now use previous tick info,
- revamped recogn scheduling. on demand rather than periodic. new function recogn_schedule().
- deferred loading of pgpIdList for pgphashes, until we know it will be needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs_finale@6893 b45a01b8-16f6-495d-af2f-9b41ad6348cc
the basic structure is here. Functions have been added to serialise both SHA1 and floats.
The router is not yet enabled since protocol is likely to change again.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6886 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- items are described in serialiser.
- util functions in util/rsrecogn.cc are used to manipulate it.
- these are attached to GxsIds, with new interface fns.
- Associated Signing Code is in a separate program.
Other Tweaks.
- Added RsMemCache::erase()
- Added RsTlvStringSetRef
- Fix for rsturtleitem (already added to trunk).
- Formatting and debugging.
Status: There is a bug in RsGenExchange::updateGroup which prevents full testing,
The basic generation, parsing and validation functions have been tested and are ok.
The processing as part of p3IdService still needs to be fully debugged.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs_finale@6854 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- fixes issue with, message offsets not being calculated in loop correctly, resulted in only invalid message offset in db after calling message removal
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6819 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Split the visState into seperate vs_disc and vs_dht for easier handling.
Split the heartbeat system into a separate service.
Added IPv4 and IPv6 local/ext addresses into discovery & peer config.
Fixed up samenet and samesubnet ipv4 calls.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6773 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Fixed interfaces for UPnP.
Some further tweaks to get TCP connections working again:
- hiddenNode issue in p3peers.cc
- fixed socklen_t for bind() and connect() calls.
- initialise addr to IPv4 for netmgr.
- change netAssist (Upnp) interfaces.
Still todo: tou address functions, test UDP functionality.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6755 b45a01b8-16f6-495d-af2f-9b41ad6348cc
In preparation for making RS support IPv6.
NB: This breaks the build of retroshare-gui, as the
sockaddr_storage_xxx fns are only defined as prototypes for now.
All the aux libraries like udp / stun / tcponudp / dht have still to be converted.
These changes will probably break various things and need to be tested thoroughly.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6735 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- switched tests to use the common value of argstream in libretroshare, rather than the one in tests/common
- reworked command line arguments in rsinit and retroshare-nogui.
- improved passwd hash explanations
- improved command-line help.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6559 b45a01b8-16f6-495d-af2f-9b41ad6348cc
The static arrays in RsDiscSpace were to small for RS_PGP_DIRECTORY (0x0003)
Added new constant RS_DIRECTORY_COUNT
- Added missing fclose to PGPHandler::encryptTextToFile
Used ops_teardown_file_write instead of ops_writer_close and ops_create_info_delete
Windows cannot move a file when it is still open
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6542 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- copy files to tmp before appending new keys, then rename back to original.
- always check for disk full before syncing keyrings
- use tmp file to sync keyring
- new RsDirUtil::fileExists() method
- check system for disk space in pgp directory
- added RsPGPDirectory() method to RsInit
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6541 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- needed to keep ssl pword a little while longer after rs init
Added more sturdy logic to prevent segv on failed msg/grp meta modification
Added, Data base does not key database if key string is empty
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6448 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- adds turtle router as a generic tunneling service
- made ftServer a client of the service. Now turtle file items are handled in ftServer
- added new client: p3MsgService to send/recv pgp-encrypted distant messages
- added new client: p3ChatService to perform private (AES-encrypted) distant chat through tunnels.
- The GUI is disabled for now, since it needs some polishing before being fully usable.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6411 b45a01b8-16f6-495d-af2f-9b41ad6348cc
added more doc detail to contentvalue (put takes private copy of data).
binds to content pointers take private copy of content.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6320 b45a01b8-16f6-495d-af2f-9b41ad6348cc
-disabled for now (RADIX_STRING to enable), causing segfaults for no obvious reason, works on offline code.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6311 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Please delete your TESTNET folders so a keyed db is created
few additional fixes
- did create id list for meta request in dataservice
- possible fix for uninitialised values for rsdb
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6123 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Added error handling to xml functions
- Added xslt transformation
- Added retransform of existing messages
- Redesigned preview dialog
- Enabled embed images for forum feeds
- Changed config format, switching back to an older version results in a loss of all data of the FeedReader
Added new base class RSPlainTextEdit with placeholder text.
New library libxslt needed
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6081 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added missing virtual functions in ftDataRecv
- setup initSSL instance as a static member of AuthSSL, instead of an external (does not change much except the init in rsinit.cc)
- changed p3PeerMgrIMPL to take SSL and PGP ids as parameters. This avoids calling AuthSSL and AuthGPG from the constructor => very helpful for tests.
- added random creation function in t_RsGenericId<>
- added functions setAuthSSL_debug() and setAuthGPG_debug() to manually setup the authSSL and authGPG objects to use. Used in tests.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6035 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Remove "sid=" from link
Moved stringToUpperCase and stringToLowerCase from rsinit.cc to util/rsstring.cc
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6029 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This brings a huge amount of goodness into the trunk,
but there is still a big chunk todo before it can be released.
* GXS Backend.
* GXS Services:
- Identities.
- Circles
- Photos
- Wiki
- GxsForums
- Posted.
* SSH no-gui server.
See branch commits for more info.
To switch on GXS stuff, enable CONFIG += gxs
in both libretroshare.pro and retroshare-gui.pro
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5996 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Defined the control group stuff.
- Background task to determine friend membership.
- Caching of Circle info,
- Added GXS interface class to gxs/rsgixs.h
- TODO: Serialiser is incomplete.
- TODO: SubCircles to be done in Phase 2.
* Improvements to RsMemCache:
- Added Value& ref(Key) to avoid data copying.
- Added Statistics to check cache performance.
- Fixed up bugs in tracking membership.
* Improvements to RsTickEvent:
- Added additional string parameter for more specificity.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5910 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This is now pretty much complete for Phase 1 of GXS.
Still todo:
- PGPHash signatures.
- Reputations.
- Added two helper classes GxsTokenQueue: similar to TokenQueue, but for libretroshare
& RsTickEvent: schedule one shot events, and basic stats.
- Reorganised/simplified p3IdService using these two classes.
- Added fns to load/reload a list of Own Identities.
- Improved the Cache to store all GUI required Info.
- Updater retroshare/rsidentity.h with new Identity interface.
- added fns to update Cache from internal background tasks.
- Modified RsMemCache to support replace operation.
- Found nasty Bug that caused PGPHASHes not to match & Patched same bug in GXS.
- added generic CacheArbitration.
- Added AuthorIds to dummy Forum messages.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5848 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added latest translations from beluga
- fixed SecurityItem to hide request Label, when attempt comes from a friend
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5583 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added svn revision number checking to plugin system. If svn revision is > 0 and matches the compiled revision number, the plugin is always accepted.
- improved version number scripts to add the missing revision number as a int
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5512 b45a01b8-16f6-495d-af2f-9b41ad6348cc
also tested group meta mod request for service strings
all group and msg submission and retrieval requests now tested
msg meta mod request to test still
Added fixes:
genexchange (mGrpSign was not included in overloaded assignment
operator)
added grp sign flag as Db field
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5473 b45a01b8-16f6-495d-af2f-9b41ad6348cc
msgId retrieval fixed, including incorrect stack mtx lock
msgRelatedId retrieval fixed, mem leak removed (did not clean meta)
msg data retrieval fixed
added related tests
RsThread::start now initialises mIsRunning to true, needed to unit tear
down on gxs test system.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5471 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added automatic cleaning of certificates in both formats
- grouped all certificate cleaning/parsing code in rscertificate.cc
- removed unused files cleanupxpgp.h/cc
- added upper/lower case to rsid template.
The new format is to be tested. It is supposed to be much more robust than the previous format,
in particular, allowing any string for location names.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5410 b45a01b8-16f6-495d-af2f-9b41ad6348cc
new pure radix format, which is easier to parse and much more robust.
- added test program to load/parse certificates in both formats.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5403 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Revisions 4771 => 5334
* This merge brings a lot of unfinished code for GXS (new cache system)
- See branch commits for more details.
* Code is disabled, and should have minimal effect on trunk build.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5338 b45a01b8-16f6-495d-af2f-9b41ad6348cc
User-level changes:
==================
- libgpgme is not used anymore; it is replaced by a built-in piece of code called OpenPGP-SDK
(http://openpgp.nominet.org.uk/cgi-bin/trac.cgi) that was improved to be used by RetroShare
for handling PGP keys.
- the gnupg keyring is not used anymore. Now, RetroShare has it's own gpg keyring, shared by all instances.
On linux it's located in ~/.retroshare/pgp/. A lock system prevents multiple locations to read/write keyrings
simultaneously.
- the trust database from gnupg is not documented, so RetroShare cannot import it. This comes from the fact that
the GPG standard (RFC4880) asks explicitly not to export trust information. So RetroShare has it's own
trust DB shared by locations. This means you need to re-trust people. Sorry for that!
- at start, if no keyring is found, RS will propose to copy the gnupg keyring to use your existing keys. Clicking on
"OK" will do the copy, and you should find back all existing locations, except for DSA keys.
- locations for which the suitable keypair is not in the keyring will not be displayed in the login window
- locations for which the suitable keypair is not a RSA/RSA key will not be displayed. RetroShare does not
support DSA/Elgamal keypairs yet.
- a key import/export exchange function has been added in the certificate creation window (you go there from the login
window by clicking on "manage keys/locations". This allows to easily create a new location with the same pgp key on
another computer. To obtain a suitable keypair using gnupg, you need to concatenate the encrypted private key and the
public key into an ascii file. This can be done using:
gpg -a --export-secret-keys [your ID] > mykey.asc
gpg -a --export [your ID] >> mykey.asc
- importing a key with subkeys in not yet possible. Please remove subkeys before importing.
- The code has been tested for a reasonnable amount of time, but it's not possible to prevent some new bugs
to appear. Please report them asap supplying: call-stacks if possible, and terminal output. In particular,
openpgp has some assert()'s that should not be triggered unless RetroShare is calling it in an improper way.
Internal changes
================
- a specific component, PGPHandler, takes care of the interface between openpgp-sdk and RetroShare
openpgp-sdk is c-code, with it's own memory management, which has been kept well separated from
RetroShare.
- GPG Ids are now a specific class (not a std::string anymore) for code consistency reasons. As strings are
still used in many places, this requires a few conversions. In particular, AuthGPG takes strings as
function params and calls GPGHandler with the proper PGPIdType class. In the future, RetroShare should
only use PGPIdType. The same will be done for SSL ids.
- signature cleaning is still handled by the Retroshare built-in function, not by openpgp, but we will
do this later.
Still to do
===========
- DSA needs subkey handling, since the encryption is performed by a Elgamal subkey. Not sure this will be done.
- GPGIds/SSLIds cleaning (meaning replace strings by appropriate types). Lots of confusion throughout the code in retroshare-gui in particular.
- key removal from keyring. This is a challenge to keep locations synchronised.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5293 b45a01b8-16f6-495d-af2f-9b41ad6348cc
added new nxs net test hub code for testing nxs netservice (fails at the moment)
also a completed definitions and other related compile time issue due to incorrect inheritance statements
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5290 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Updated dataservice tests and fixed subsequent bugs
added bug fixes for RetroDb and fixed postability issue (removed map.at use)
Added:
Data access module used as token service
gxs service backend (RsGenExchange)
RsPhotoV2 which is a modification to deal with different interface provided by RsGenExchange
also added subsequent p3photoserviceV2
NxsTestHub to help with testing nxsnetservice (RsGxsNetService is not yet working)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5274 b45a01b8-16f6-495d-af2f-9b41ad6348cc
timestamp has been added to grp sync item
updated data service and grps to deal with this
added msg and grp meta types which serves to hold meta data of grp and msg
removed observer temporarily
updated nxs item tests, need to update data service tests
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5256 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Added missing check of file pointer in PGPHandler::decryptTextFromFile
- Added missing fclose of the ssl passphrase file in RsLoginHandler::getSSLPasswdFromGPGFile. Is this still needed, because PGPHandler::decryptTextFromFile does the same check?
- Fixed possible memory leak in ops_decrypt_memory.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-OpenPGP@5222 b45a01b8-16f6-495d-af2f-9b41ad6348cc
updated rsnxsitems with discrete msgs and grp item rather than collection of msgs/grps
added flags header file
added first declaration of implemented genexchange service (client API interface)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5180 b45a01b8-16f6-495d-af2f-9b41ad6348cc
nxsitems not tested yet
renamed retrodb src file to .cc regular librs naming convention
wrote deserialisation section of nxsitems, need to write print and clear rsitem base functions
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5144 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Validated chunks are shared to other peers. Force check is now very simple since it just turns all chunks into "needs checking" mode
and sums are asked to sources. Sources maintain a temporary cache of chunks. Since sums are requested sparsely, this should not
affect the sources in terms of performance. We can still imagine precomputing and saving sha1 of chunks while hashing them.
For backward compatibility reasons, the following has been setup *temporarily* in this version:
- unvalidated chunks are still considered as already obtained, and are shared and saved
- force check has been disabled
- final file check is maintained
- in case of file fail, the old checking mode will be used.
All changes for next version are kept in the define 'USE_NEW_CHUNK_CHECKING_CODE' that will be made the default in a few weeks.
At start, I expect most chunk to stya yellow during download, until most sources are able to provide chunk hashs.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5019 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Updated English Email Invite (sorry guys, you'll have to redo translations).
- Set OSX default style to "Cleanlooks" - as AQUA style hides some windows.
- Updated Version strings to V0.5.3a. / 4874
- Fixed missing headers for plugin manager.
- Disabled ZEROCONF for OSX.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4874 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Hid lots of DEBUG_BASIC behind #defines in pqissl.
- Added PeerID() in many places, so grep for a single peer.
- fixed linkMgr output so we can tell a FAILURE vs FAILED ATTEMPT
- reduced most logging to a single line.
- print out of errno in HumanText for SSL errors.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4814 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Compilation for FreeBSD.
* Notes that MT is not cryptographically secure.
* modified sorting of DHT Window.
Only one change that I didn't commit:
bitdht {
- LIBS += ../../libbitdht/src/lib/libbitdht.a
- PRE_TARGETDEPS *= ../../libbitdht/src/lib/libbitdht.a
+ LIBS += ../../libbitdht/src/libbitdht.a
+ PRE_TARGETDEPS *= ../../libbitdht/src/libbitdht.a
}
As this would have broken compilation on the other platforms.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4619 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added a lock into ftTransferModule::recvFileData() (Crash reported by Costa due to storing data in a deleted transfer module)
- changed names of functions in ftTransferModules to locked_* when appropriate (helps debugging)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4612 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Moved ProfileView and ProfileEdit to the folder unfinished.
- Removed "location:" before the ssl name in FriendsDialog and MessengerWindow.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4567 b45a01b8-16f6-495d-af2f-9b41ad6348cc