Commit Graph

252 Commits

Author SHA1 Message Date
drbob
123d4a630b Major commit of progress on new GxsServices (Channels and Posted). These are not complete yet!
- 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
2013-03-11 20:40:28 +00:00
chrisparker126
23209c8c45 handled validation/sign of message when key not available
(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
2013-03-06 23:33:23 +00:00
drbob
22782e5edd Adding Basics of GxsChannel Service into libretroshare.
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
2013-03-04 20:26:48 +00:00
csoler
9b01e3658d implemented deferred signature method in notify system to alow signing from a non GUI thread
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6175 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-03-01 23:00:43 +00:00
chrisparker126
50c75de73c Refactored GXS interface to remove exposure to RS internals (i.e. only reference types, declaration in retroshare folder)
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
2013-02-28 21:58:38 +00:00
csoler
4f1dda2ffb added new DL mode: Progressive. This is a random mode that ensures no more than 50MB of free space will be written in the file at once. This should effectively remove the lag when initiating a DL on a big file, while keeping enough entropy to ensure a good dissemination of chunks
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6164 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-02-28 20:42:01 +00:00
csoler
5b4739352e added dynamic menu for choosing download directory for files being transfered, and change the name of the destination file
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6156 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-02-27 16:59:16 +00:00
drbob
61c3afe56d moved GXS Macros (e.g. IS_GROUP_SUBSCRIBED) to gxsflags so they can be used by all gxs services.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6149 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-02-26 23:34:42 +00:00
csoler
e7536960c3 - fixed inconsistency in parameter naming, causing error_string to be mixed up with gpg id (Not a bug).
- removed unimplemented entry loadCertificateFromFile()


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6075 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-01-19 13:43:35 +00:00
thunder2
a60422069c Added api for news feeds to the plugin interface.
Added news feeds to the FeedReader plugin.
Recompile needed.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6066 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-01-08 22:07:52 +00:00
csoler
d893d30883 - made errors of certificate (new formaT) parsing translatable.
- 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
2012-12-22 21:22:03 +00:00
drbob
766d156315 Added SystemExternalAccess Function to RPC.
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
2012-12-17 19:15:04 +00:00
drbob
d3787cb324 Make rs-nogui+SSH compile against the trunk.
* 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
2012-12-17 01:24:16 +00:00
drbob
069b72e0b2 Merged branch v0.5-gxs-b1 into trunk (from -r 5351 -> 5995)
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
2012-12-16 19:17:11 +00:00
chrisparker126
17bdfa7cad enabled token expiration, 30 seconds
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
2012-12-16 00:43:15 +00:00
drbob
95cbb57abf * Created dummy Circles (This takes a while - as we have to wait for dummyIds to be made).
* 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
2012-12-15 23:07:12 +00:00
chrisparker126
3eaf844ec8 Reworked ranking process flow
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
2012-12-11 22:26:11 +00:00
drbob
5be03af4cd * Switch wiki dummy pages to use RsTickEvent.
* Add extra dummy page showing Markdown formatting.
 * Reduced number of dummy Ids generated.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5961 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-10 19:21:53 +00:00
chrisparker126
30b48c59ef Comment and Vote update now functional
Voting and comment count update in gui added via msg notification
clarified comments in RsTokenService

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5958 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-12-09 22:38:49 +00:00
thunder2
4413536926 Forums:
- 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
2012-12-09 02:32:47 +00:00
chrisparker126
6527aaf2d8 Recommiting from old repo:
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
2012-12-08 21:50:13 +00:00
csoler
d01745e54f Made the private lobbies more accessible:
- 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
2012-12-04 21:36:05 +00:00
chrisparker126
bcf9f443b4 added option to RsTokReqOptions for group subscription filter
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
2012-12-02 19:40:17 +00:00
csoler
e3da77612a - Added flags for services and service permissions for peers
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
2012-12-01 19:22:22 +00:00
drbob
4438303d55 * Got GxsCircles running in libretroshare.
- 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
2012-12-01 00:16:24 +00:00
chrisparker126
44d32626bc Added logic for rank calculation and interface methods
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
2012-11-30 18:54:25 +00:00
drbob
5a55c1b5d6 * Added the basics of GxsCircles service to libretroshare.
- 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
2012-11-29 22:48:28 +00:00
drbob
78bc0a4567 * Cleaned up lots of old VEG services.
- 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
2012-11-26 22:53:44 +00:00
drbob
90415627a2 * Added second (temporary) switch to turtle.
* Use session switch for OperatingMode.
 * made OperatingMode temporary - not saved.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5895 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-25 22:49:00 +00:00
chrisparker126
8cef4da896 Added posted comment creation
contextMnurequested does not seem to be working....may have to use an old fashioned non-derived treewidget.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5894 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-25 21:50:45 +00:00
drbob
de80f2aa3e * Moved DataRate interface from rsiface (old) -> rsConfig.
* 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
2012-11-25 20:25:34 +00:00
drbob
696e7735a1 Added new libretroshare interface for switching between Operating Mode.
This is so people can use RS in limited bandwidth or background modes.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5887 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-25 14:59:42 +00:00
csoler
fd723bcea7 added global switch to enable/disable anonymous routing. This will be used for connexion profiles with very limited bandwidth
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5886 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-25 14:26:32 +00:00
chrisparker126
744a78b140 Added cleanup code for GXS services in rsinit (services now based in GXS_phase1 folder in .retroshare/ folder
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
2012-11-24 19:49:23 +00:00
drbob
c6e6d444bf Added Identity Info retrieval to rsIdentities.
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
2012-11-19 22:00:05 +00:00
chrisparker126
92f1673729 A stab at progressing posted, got post creation working and parameterised GxsGroupDialog for creating "create <service>" header for all gxs services
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5837 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-17 21:43:21 +00:00
drbob
9373d26be0 * Added Dummy Forums and Messages to GxsForums.
* Extra GxsForums::getRelatedMessages() fn + HACKs to cover up GXS bugs.
 * more debugging in rsgenexchange.
 * fixed up some of wikis text.
 


git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5828 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-15 23:50:54 +00:00
drbob
b5910e0314 * Updated wiki service to support new MsgRelated data.
* Added Wiki Dummy pages to explain it briefly.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5821 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-14 21:27:37 +00:00
chrisparker126
f74a328d61 Bug fix for ES_GXS_MSG_COMMENTS option
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
2012-11-13 22:36:06 +00:00
csoler
454daf1981 Iproved file list handling:
- 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
2012-11-12 22:51:27 +00:00
chrisparker126
d8dc2a0420 publish key not generated for public groups anymore, added signature creation for publish and id keys (used in main line of code, correctly initialise ur gxs services)
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
2012-11-11 23:45:22 +00:00
drbob
6906f47fa7 Bits and pieces to get forums compiled.
- Added some MACROS - could be moved to GXS headers?
 - fixed some GXS compile warnings.
 - added MsgReadStatus to forums interface



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5806 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-11 15:56:34 +00:00
drbob
eeb96c5e62 Lots of progress with Gxs Services:
- 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
2012-11-09 00:56:07 +00:00
drbob
0327b47ccc * Enabled pgphash background work.
* 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
2012-11-07 21:38:43 +00:00
csoler
6edb9eb4f8 Merged branch that provide group-based file permissions.
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
2012-11-07 20:03:16 +00:00
drbob
c09cab4439 * Added back idKnown, and pgpHash to rsIdentity Group type. (needed in GUI)
* added in scheduling_tick() for coordinating background and pgphash ticks.
 * disabled Signatures until thread-safe version is present.




git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5782 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-06 19:18:11 +00:00
drbob
17e42f1ceb Added core code for pgphash calculations.
- Reworked GxsIdGroup members... moved IdType -> groupFlags, so Hash & Sign are only ones.
 - Reworked GroupServiceString storage.
 - Added core processing functions - yet to test!



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5777 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-05 22:28:08 +00:00
csoler
e753f22909 fixed flags conflicts
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-FileSharingPermissions@5758 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-02 13:52:29 +00:00
csoler
dc82cee700 First shot of file sharing permissions. Compiles, but needs some testing/debugging.
- 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
2012-11-01 10:06:12 +00:00
thunder2
afa3248429 Moved loadCertificate from main, StartDialog and GenCertDialog to Rshare.
Switched StartDialog from QMainWindow to QDialog.
Updated english translation file.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5752 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2012-11-01 01:07:36 +00:00