fix for external circle associated groups not synchronising message (circles being checked for peer who want to share out messages for circle associated group)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6635 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Fixed cipher list to "HIGH:!DSS:!aNULL:!3DES", which should disable the weak ones, no idea how to force it to PFS (which it should use).
- fixed void * pointer maths.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6584 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
- fixed some possible crashs with dynamic_cast
- fixed memory leak in p3GxsCircles::cache_load_for_token and p3Posted::background_loadMsgs
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6532 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
Added system to collect and create chat invites from pgp keys.
Finished the GUI (some layouts need fixing, especially the link creation window).
Still needed: QoS on generic turtle data items. Will need a new item class for any anyway.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6433 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Renamed method "RsFiles::CopyFile" to "RsFiles::copyFile" (lower case) to avoid renaming of "CopyFile" to "CopyFileW" with the newly included "windows.h".
From windows.h
#define CopyFile CopyFileW
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6415 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 key removal method in OpenPGP-SDK
- improved FriendSelectionDialog/Widget to enable select all/none keys, and show non friend keys
- added safe key removal method in PGPHandler. Removed keys from other locations will not cause errors.
- added backup system to public keyring, impossibility to remove public parts of owned secret keys, etc.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6382 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
- new class RsTurtleClientService, from which should inherit the services
- turtle serialisation takes client services for deserialising
- added a client to p3turtle::monitorTunnels()
- added a generic turtle item to pass on arbitrary data
Moved ftServer as a subclass of RsTurtleClientService.
- moved file transfer items that inherited from RsTurtleGenericTunnelItem into a separate file
- moved deserialisation triage into ftServer
- moved sending/receiving methods in ftServer (much less code, much more consistent!)
One bug remains: the TR cannot work as a server.
Changes should be 100% backward compatible.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-GenericTunneling@6293 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added generic tunnel data item, along with item priority consts. Serialization still missing.
- added new class for turtle client services, and entry point methods.
- removed file name and file size ffrom _outgoing_file_hashes and _incoming_file_hashes. They are not needed.
- changed some names to more generic ones.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-GenericTunneling@6285 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- 1 month default message storage period
- cleanup period every 5 minutes
- suggest devs lower this to 5 minute store period and 1 minute cleanup period to test out.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6275 b45a01b8-16f6-495d-af2f-9b41ad6348cc
clean up now on by default
- unsubscription from group also leads to message clean up
- check for keep flag
added functions to retrieve stats
- not active yet
fixed forum authen flag
- do not need author to create group
- also policy variable not initialised correctly
added KEEP and DELETE flag
improved GXS resilience to peers sending NULL grp/msg binary data for deserialisation (peers could crash other peer by sending empty RsTlvBinaryData)
rstokenservice iface affected so full recompile recommended
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6274 b45a01b8-16f6-495d-af2f-9b41ad6348cc
can be enabled with #define GXS_CLEAN_UP, default message store period set
to 1 day, cleaned every 3 minutes. Does not comply fully with spec yet (does not use msg not delete flag)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6267 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Fix for posted lock-up/rsgenexchange bug: did not release after try lock
Removed erroneous use of subscribe_admin to mean subscribed (subscribe_subscribe) in gxsnet
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6245 b45a01b8-16f6-495d-af2f-9b41ad6348cc
tested fragmentation with 1 item coalesion
created groups now have admin/subscribed/publish flag (no publish optimisation yet)
was incorrectly apply group_subscribe_mask to group subscribed, using correct mask now. Added comments clarifying purpose of subscribe_mask
Implemented fragmentation but placed under preprocessor flags for phase 2.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6234 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Fixed up Automatic downloads for GxsChannels.
- Tweaked GXS backend to make Meta Changes happen before requests.
- Added some new Macros.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6231 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Single Vote per comment checks and balances added.
- Fixed up RsGxsImage stuff. (TODO move to proper REF counted Image).
- Added GxsTokenQueue ticks were required.
- Made GenExchange publicToken() fns public, so that comments can use them.
- Added OwnVote details to Comments
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6224 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Added Vote dummy data into channels.
- Fixed up RsGxsImage handling to avoid memory issues - need to switch to shared_ptr later.
- Added "BestScore" calculations into Comments - not sure if the maths is right.
- Added Hashing interface to Channels.
- misc bugfixes.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6218 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Reorganisation of p3posted, stripped out lots of previous stuff.
- Converted p3posted to use GxsComment system.
- Disabled much of the DummyData - switch it on manually when testing.
- Added Basics of ChannelPost processing for AutoDownload. (incomplete).
- Added GxsCommon backend for RsGxsImage and RsGxsFile.
- Completed Serialiser for GxsChannels.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6207 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Tested and seems to work fine
Reverted back setAuthenPolicy static function to overwrite semantics and modified wiki and channels policy to equivalents statements
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6201 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Added return values for deferred sign function in identity and circles
Not ready for deferred sign testing yet
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6199 b45a01b8-16f6-495d-af2f-9b41ad6348cc
(set for 5 attempts before message is dropped)
moved rstokenservice.h to retroshare interface folder
groups do not sync anymore unless user is subscribed to it
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6194 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This includes a generic CommentService, which will be used by other Services.
+ Bugfix, gxs service threads were started before global variables were set.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6186 b45a01b8-16f6-495d-af2f-9b41ad6348cc
To achieve this I created second interface RsGxsIface which RsGxsGenExchange derives from, and RsGxsIfaceImpl (renamed RsGxsIfaceHelper) now takes an instance of this instead so these interfaces don't exposed the RsGenExchange and its underlying types.
The other stuff is simply definitions and type aliases required for the front-ends to work (RsGroupMeta, RsGroupId, etc) and I've moved gxs flags also.
This is a good idea as it seem much more clear what's available to a GXS service (apart from RsGenExchange public methods).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6166 b45a01b8-16f6-495d-af2f-9b41ad6348cc
There were a couple of issues.
- Setting function was wiping other flags. This is fine - if known - but not how we were using the fns.
- Offsets were just wacky!
Added some more debugging so we can know if/why a message is not being created.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6162 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
This also switches to alternative test data path - to ensure it will be empty.
Fixed bug in p3idservice related to dummy id creation.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6114 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
- fixed ftcontollertest. This should help fixing ftserver[123]test as well
- improved pqiTestor using templates (lots of identical functions replaced)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6036 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
- added checksum code for new format certificate. Will be enabled in v0.6, since it is not backward compatible
- fixed very stupid bug in radix64 cleaning function, causing any certificate to be accepted as a radix string
- added list of non backward compatible changes in README.txt, so that we can track them
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6030 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
Added warning in p3ConfigMgr::addConfiguration when a config type is used twice.
Removed checkbox for "Experimental Features" in general page without function.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6027 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This provides ExternalPort + DHTKey to Client. To be used to find and connect - even if Dynamic IP address changes :)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6004 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* converted to new flags format for File Operations.
* converted from PUBLIC to VISIBLE lobbies. NB: This required name changes to protobuf definitions.
* converted DataRates to new function.
* directory sharing shifted to using OTHERS flags (text menus) - No support for group Flags yet.
* Added == operator to Flags Type.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6000 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
add new, and hot ranking, and fixed top ranking for posts (not comments yet)
top ranking decay period set at 4 seconds for testing
enabled ranking posts
fixed comments generation
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5989 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Provide CircleList, and Circle Details via rs interface.
* Added debugging to help check its all working.
* disabled caching of localIds - as this just causes cache to be flushed in p3IdService
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5987 b45a01b8-16f6-495d-af2f-9b41ad6348cc
added ranking retrieval in gui
removed locks from TokenQueue
refactored gxs p3 pointers in p3face header file
and gxs services now shutdown correctly using join(led to bad segfaults on shutdown)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5972 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Switched from own token member to the new methods on TokenQueue.
- Reactivated thread from the old forum to fill the messages.
- Load all messages at once.
- Added processing of missing messages.
- Fixed new/read/unread status.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5952 b45a01b8-16f6-495d-af2f-9b41ad6348cc
commit msg from last:
Fixed minor bug in group creation
msg now set to unread and unprocessed on creation (added read flag in gxsflags.h also)
Got topic and post generation working
Additional changes:
Voting update now working
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5951 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- record which friend participates in a lobby even after they unsubscribed. The lobby list that is sent to these
friends contains the privaye lobby as well. In practice, people jsut need to be invited once to a private lobby.
Afterwards, they get the lobby in the list of nearby lobbies and can join by clicking on it.
- added new item RsChatLobbyList_deprecated2, to replace old existing item. Should be removed in v0.6
- changed PublicLobbies for VisibleLobbies in the code, to avoid confusion
- the change is backward compatible, although old peers won't receive private lobby info from new peers, of course.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5942 b45a01b8-16f6-495d-af2f-9b41ad6348cc
added code for rank calculation best,top, and newest (not enabled, not working yet...)
added variables for circles to grp meta type and modified storage and serialisation accordingly
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5930 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Flags are identity-related, meaning that all locations of the same peers have the same flags.
- It's now possible to tweak which services each peer can use. Service that can be disabled are
forums/channels, discovery, anonymous routing.
- by default, peers have all flags on.
- fixed missing error msg in p3cfgmgr when serialisation fails.
- fixed bug in RemoteDirModel causing infinite loop to happen when group name is unknown
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5924 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Completed serialiser.
- added dummy interface fns. & cleaned-up other linking issues.
- Added into rsinit.cc
* Improved GxsIdentity DummyData to fake Ids from friends
- #define to enable, must be switched off for real usage.
- cleaned up rsIdentity interface.
- removed genDummyData from public interface.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5915 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Disabled posting when no post is selected
Added notes section when viewing post (tres basic)
fix for comment item serialisation
fix for subscription token option not in this commit ;)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5913 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
- left the code for p3gxsserviceVEG and p3postedVEG, until p3posted is finished.
* Converted p3wireVEG => p3wire
* cleaned up rsinit.cc and libretroshare.pro
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5901 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Internally moved storage of data rate from pqipersongroup -> p3serverconfig
* made DataRate + Operating Mode work together.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5889 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- In general it is okay, except for: DataRate Handling, and Win32 specific: WaitingList.
- Cleaned up some functions.
- renamed createPerson and createListener to locked_createPerson and locked_createListener.
This is required as neither Listener nor Person are thread safe (TODO).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5888 b45a01b8-16f6-495d-af2f-9b41ad6348cc
disabled msg synchronisation by default through compilation #define (use GXS_ENABLE_MSG_SYNC to enable message sync)
Finally removed v2 suffix from all photo components and filenames (please edit your libretroshare.pro file accordingly)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5883 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Added friend selection to the group dialog for better assigning of friends to groups.
Updated english translation.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5881 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
Tests updated
Also setting msg and grp Status to unprocessed and unread on receipt from a sync (see rsgxsflag.h). These are set on bits masked by 0xf00.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5834 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Fixed bug with getmsgRelatedFucntion for msgs with no relatives (message with no relatives would end of pulling itself, i.e. the id/data/meta of message whose relative are
being searched for)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5827 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Fix for run thread loop of RsGenExchange (was using logic rather than isRunning, which led to some crashes on rs close
Added request and get MsgRelated function for ids, meta and data
added template function to ease getting meta data from back end;
Updated Nxs tests, tests passed (failed initially because of change option requirements)
Added test for msgrelated Ids, still need to add test for all msgRelated functions (bug with mask, not filtering correctly)
Made changes for forum and wiki gui to use new API but gui needs to call correct get functions now (Bob).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5817 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Implemented correct cacheData send to clients usign constant subid value.
- At start, the association between peers and available file list is always recomputed
- overloaded cacheAvailable() and refreshCache() in FileIndexMonitor
- added callback in rsFiles to force re-generating cache items when group layout has changed
- force re-sent file lists when moving peers between groups in the GUI
(Fixes group leaking problem) Needs full recompilation of libretroshare.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5813 b45a01b8-16f6-495d-af2f-9b41ad6348cc
groupid assigned to group before service_CreateGroup now (to help with identity using pgp hashes)
fixed up dummy group creation for photo service and ui
completed basic functions of GxsGroupDialog
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5809 b45a01b8-16f6-495d-af2f-9b41ad6348cc
as msg sync seems to have stopped working. will fix (qos priority change?).
Added validated field to msg meta
Removed serviceString from msg transport.
Added grp flag setting to album create to test msg validation
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5800 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Added gxsForum interface, service + serialiser to libretroshare.
- Bugfix in rsgenservices getSize() at the wrong point, Added lots of debug too.
- Dummy Collections to Wiki, can now create and retrieve Groups from the GUI.
- Bugfix in rsinit (wrong backend for wiki) + added forum to startup.
- improved debugging in GxsId serialiser.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5797 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Fixed lots of little bugs: ServiceString decoding, not saving to variables, etc.
* Added createIdentity fns. - Can create Anon, but not PGPLinked ones yet? no idea why.
* Added lots more debugging.
* Added mutex protection for class variables.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5789 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Now users can sort peers into groups in the friend list, and attribute flags and parent groups to the
directories in the share manager.
Flags are B-B-N, meaning in order:
- browsable for peers in the parent groups
- browsable for everyone
- network wide for everyone
Backward compatibility makes previously BN flags been interpreted as -BN, meaning browsable/network wide for everyone.
Be careful with this new feature. It has been tested, but it's a bit early to rely on it for highly sensitive data.
The merge also includes a significant improvement of the naming of flags with incompatible types
which should sort out some existing bugs as well, since inconsistencies in flag usage have been
found during the process.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5787 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Temp fix for GXS services hang on dummy data generation. Given each GXS service own thread and chunked grp creation (separate thread may need to be permanent, no obvious around move grp gen cost away from critical path of tick, but unscientifically increases each services thread tick period to reduce cpu cost)
- change grpId assignment from hash of grp data to admin keyid
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5772 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Fixed signing of msgs
Added signing of groups (follows p3distrib grp creation method)
Refactored GxsGroupDialog in 2 new UIs, GxsCreateGroupDialog and GxsViewGroup for ease of logic, retaining flexibility across GXS services.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5762 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added Id & Wiki serialisers to constructors.
* Enabled cache_tick()... thought it doesn't process anything yet.
* Added debug to Id Key cache system.
* Fixed requests to match expected params.
* Added cachetest basics - this is not finished.
* Enabled generation of Lots of Dummy Ids - This demonstrates some queuing issues.
* Added #define to easily enable GxsId as only new service - for testing.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5756 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added type-safe flags in retroshare/rsflags.h. This should be used to make new flags types in order to prevent mixing flags up in function prototypes.
- group handling is left to rsPeers. We'll move it to rsCircles later.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-FileSharingPermissions@5754 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added serialiser for wiki items (actual data to be finalised).
* Added wiki and fixed id services to be run properly.
* Disabled dummyData for ids.
* Fixed some bugs in Id serialiser.
* Added missing fns in p3wiki
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5748 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Did not do check for msgs that already existed, msg is not checked if it exist this is deleted and error is sent to GUI for token
need to do same for groups!
Removed stack allocated msgs which cause crashes for large message items (bug defnax found)
Added function to retrieve group keys from GXS to RsGenExchange
First bits need for validation: Signing now consist of all msg data (msg + meta except msgId and signature)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5718 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Removed V2 references: TokenQueueV2 and RsTokReqOptionsV2 are now TokenQueue and RsTokReqOptions and renamed file
Added initialisation of Posted back end service successfully
Added new msg status flags GXS_SERV::MSG_STATUS_UNPROCESSED and ::MSG_STATUS_UNREAD
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5707 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Lots of tweaks to rsidentity & rsgixs interfaces to make them match.
- added "mask" to gxs flag set operations.
- added dummy RsMsgMetaData print functions.
- enable compilation of code in .pro.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5702 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Filled in p3wiki and rswiki
* tweaked VEG files to prevent clashes.
* added serialiser header.
Still to do:
* complete design of Wiki Links, and the like.
* Finish serialiser
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5692 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Still doesn't compile yet, mainly headers and the like to fix.
NB: Interface Mismatch between RsGenExchange (vector) and individual result for getGroupData() / getMsgData()
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5689 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Updated rgixs with new interfaces. (tentative)
* Switched rsIdentity to GXS basis.
* Added Subscribe Function to rsGxsIfaceImpl + return false to functions.
This code needs to be reviewed by chris ASAP, to see how it fits into the whole structure.
This code is currently not compiled, or compilable.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5677 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added test to test/serialiser
- Updated all relevant gxs test (ran whole suite, added gxsdata_test, tests meta serilisation, to pro file)
Updated flag in rsgxsflags to account for authentication and private types
Changed msgId/grpId generation to sha1 hash
removed photoservice VEG file from pro file
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5630 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Photoshare UI now functional
- subscribing to an album enables message sync
- TokenQueue now operate with FIFO stack to prevent overlap in request completion
- photos are now load on demand as with comments
- fixed some noddy bugs (subscribe flag initialises incorrectly)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5624 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- mem leak caused by not deleting stored msgs and groups, rsdatastore now a group/msg sink
- mem leak caused in rsgxsnetservice by not deleting meta information after retrieval
- fixed mem leak in rstlvkeyset::getTlv due to tlvbindata making own data copy
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5616 b45a01b8-16f6-495d-af2f-9b41ad6348cc
removed VEG photoservice
Enabled group synchronisation between retroshare peers! test synchro between two rs peers worked.
Added crude commenting facility to photoshare, much tuning to be done
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5602 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- made faster tunnels stay longer by increasing tunnel campain time. Should favor fast tunnels.
- desactivated tunnel shortenning since it cannot produce consistent tunnels every time
- increase cache TTL for search requests to 240 secs and tunnel requests to 120 secs.
Will remove some zombie tunnels and search requests.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5589 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
reimplemented getmsgrelatedinfo and getmsginfo as previous was incorrectly done, rstokenservice for msgs buggy now
updated test, commiting to transfer work to windows
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5576 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* The Example services have been renamed eg. p3posted => p3postedVEG, to allow the real services to be added.
* The ServiceIDs have been shifted, to allow both VEG and GXS versions of services to run side-by-side for now.
* The DataTypes have not been renamed - but potentially should be in the future - if they cause clashes.
* Interface variables have also been renamed. eg. rsPosted => rsPostedVEG.
* This means that the GUI will not operate without changes too - TODO.
Minor changes to GXS services to better seperate them from the VEG versions.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5551 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- can add album (with thumbnail!)
- add photo (with photo!)
- can subscribe, but not added to ui yet
need to try some dummy msgs and bring up gxs_net
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5549 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- the user is asked at start wether to load or deny unregistered plugins, but can make it mind later in config->plugins
- added API and SVN numbers into required external plugin symbols
- user-defined plugin rules are dropped when a plugin changes (hash changes) or when the main executable changes.
- added new status flags (Plugin denied, missing API/SVN numbers)
- modified saveList()/loadList() to allow saving a list of rejected plugins as well.
- added methods in notifyBase and inherited classes to ask for plugin confirmation.
- adapted VOIP plugin to follow these new rules (API+SVN numbers). Other plugins should be adapted as well by addign the
missing symbols (RETROSHARE_PLUGIN_api and RETROSHARE_PLUGIN_revision).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5529 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
payload.
Generalised nxstest to simulate sync among arbitrary number of peers
added pass conditions to test scenerio with seperate notify observers
per peer
cleaned up test code and enabled auto cleaning of run dir (remove db
junk)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5480 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
- fixed segv bugs for message retrieval and improved data service meta data retrieval
- fixed compile for windows (exposed too many of rs internals in interface!)
- fixed msg signing functionality and id creation with ssl
- still need to complete photoservice gui and local meta change function
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5443 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
* private key was not correctly added to private keyring
* self signature validation was reported unsuccessful when unknown signatures where found
- enabled key import when no key is present
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5389 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Reactivated Photodialog. almost completed integration, publishing and item storage working,
but data retrieval algorithm needs to be changed (request flags need to be translated, based on update call rather than client assumption)
fixed bug in rsgenexchange notification.
Added LGPL notices
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5387 b45a01b8-16f6-495d-af2f-9b41ad6348cc
TokenQueueV2 added,
first change to photoshare to deal with gxs backend
needed to redirect meta types to mine in order to get compilation working and definition fixes
to rsgenexchange.
Next step is to get GxsRunner going
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5377 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
- switch to OSX10.6 for upgraded SSL, with different fn signature.
- correct library paths in libretroshare.pro
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5331 b45a01b8-16f6-495d-af2f-9b41ad6348cc
started implementing gen exchange client calls
finished implementing msgrelated info dataAccess routine
more refinements to various interface - need to think about how meta is passed about the various
layers of gxs and kept consistent with sqldb
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5321 b45a01b8-16f6-495d-af2f-9b41ad6348cc
a transfer not finish if the original surce for a crc is not here anymore.
If you have a unfinished transfer do a force-check after restart to get back chunks that
where still on verificaiton stage.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5315 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
- Modified dummy data so new comments / votes get added in (testing background processing).
- exposed fns for GUI rankings & testing.
- corrected order of extraction from ranking Map.
- fixed up debug output.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5280 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Defined expected parameters for GxsGroups (see comments in rsidentity.h)
- Added Various #defines for Groups / Msgs (again in rsidentity.h)
- Converted new Group / new Msg into async "token" calls, returing MetaData.
- Refined Grp/Msg Status Flags... similarly to how Forums used them...
Expect UNREAD & UNPROCESSED flags to be set for a new msg,
and UPDATED flag to be set for the corresponding group.
There is flexibility for services to add their own flags too.
- removed groupsChanged(). This can alternatively be implemented using.
getGroupList(opts.Status == UPDATED)...
- refined SubscribeFlags in a similar manner.
- Added "ServiceString" to Group/Msg MetaData. This is freeform cache
storage for service to use... currently p3Posted uses it to count Votes.
- Added MsgStatus & SubscribeFlag filtering to Cache Requests.
- Implemented these filters in GxsDataProxy (no efficient yet!)
* Cleaned up all 6 new Cache Services to conform to new interface.
* Removed old interface code that was #ifdef'd out.
* Implemented Basic Ranking algorithms for p3posted:
- Background process to process new votes/comments.
- getRanking(token) interface call.
- Intercept StatusRequests, etc to hide internal data requests.
- While the basic code is complete, it needs much testing / tweaking.
- Should shift work to a seperate thread.
- Comment Ranking has still to be done.
- Interfacing with GUI not yet attempted.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@5276 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