Commit Graph

1137 Commits

Author SHA1 Message Date
csoler
9adbab3281 switched heartbeatitems to new serialization 2017-04-27 21:10:22 +02:00
Phenom
19b4fb892c Add Friend Time Offset news feed. 2017-04-27 16:42:25 +02:00
csoler
349d14b354 moved rsposteditems to rsitems/ 2017-04-27 14:44:41 +02:00
csoler
35ecc19677 switched rsposteditems to new serialization 2017-04-27 14:41:31 +02:00
csoler
f6e59f7dee moved gxsforumitems to rsitems/ 2017-04-27 11:59:18 +02:00
csoler
f50670f773 moved circle items to rsitems/ 2017-04-26 20:59:59 +02:00
csoler
559137d05b switched gxscircleitems to new serialization 2017-04-26 20:57:28 +02:00
csoler
c31396a010 moved dsdv code to unused directory 2017-04-26 14:31:15 +02:00
csoler
508a2e2864 moved gxs comment and Id items to rsitems/ 2017-04-26 14:28:25 +02:00
csoler
9c610a736d cleaned the hierarchy of serialization classes 2017-04-26 11:40:46 +02:00
csoler
0d7df568b4 moved rsconfigitems and rshistoryitems to rsitems/ 2017-04-24 22:47:08 +02:00
csoler
dc2df071a5 renamed RsSerializer into RsServiceSerializer 2017-04-24 14:14:34 +02:00
csoler
26e95416d1 moved RTT items to rsitems/ 2017-04-24 11:06:51 +02:00
csoler
f6aaee7382 converted RTT items to new serialization 2017-04-24 11:01:45 +02:00
csoler
31c07f4dfd converted RsMsgItems to new serialization. Added format and flag members to RsSerialiser and used the later to handle signature and config serialization techniques 2017-04-23 22:40:26 +02:00
csoler
63b4b3a1f7 moved discovery2 items to rsitems/ 2017-04-23 19:07:26 +02:00
csoler
2e7127077d fixed previous file move 2017-04-22 21:36:39 +02:00
csoler
311f257090 converted GxsReputationItems to new serialization 2017-04-22 21:10:55 +02:00
Gioacchino Mazzurco
5ee517b64f Expose libresapi for GXS contacts import/export
To import contact
/identity/import_key
{"radix":"AgIRBAAABd..."}

To export contact
/identity/export_key
{"gxs_id":"ffffffffffffffffffffffffffffffff"}

In both cases if everithing went fine the answer is something like
{"data":{"radix":"AgIRBAAABd...", "gxs_id":"fff..."}, "returncode":"ok"}

Some retrocompatible adaptations were necessary to libretroshare

RsGenExchange::deserializeGroupData
p3IdService::deserialiseIdentityFromMemory

Now accept an extra optional pointer parameter to return the id of the
  key so we can return it back from libresapi too and can be used to
  request more information about the key to the API.
2017-04-19 23:48:25 +02:00
Gioacchino Mazzurco
4455bfa92d Merge branch 'master' into merge_alpha_master 2017-04-18 21:30:25 +02:00
csoler
e2d9152b22 moved converted serialisation files into new directory rsitems/, leaving serialiser/ for the serialisation classes 2017-04-18 21:11:37 +02:00
Phenom
32eeb957b2 Fix Clang warnings: unused private field
warning: private field 'mAutoBanIdentitiesLimit' is not used [-Wunused-
private-field]
    float mAutoBanIdentitiesLimit ;
warning: private field 'mFiles' is not used [-Wunused-private-field]
    RsFiles* mFiles;
2017-04-17 21:35:29 +02:00
Phenom
e83104ee0f Fix Clang warnings: Add author and date to #warning 2017-04-17 21:32:14 +02:00
Phenom
039908b2c6 Fix Clang warnings: private field not used
warning: private field 'mNetMgr' is not used [-Wunused-private-field]
    p3NetMgr *mNetMgr;
2017-04-17 21:29:16 +02:00
csoler
3130ec9041 added GUI async call to ID serialised data. Allows to copy+paste identities. 2017-04-10 20:02:14 +02:00
csoler
4f5da86aca added method to serialise/deserialise groups to/from memory and export of GxsIdentities to memory chunk in radix format 2017-04-08 19:07:33 +02:00
Gioacchino Mazzurco
2630ed4573 Merge branch 'master' into gxs_mail_experiments 2017-03-13 22:57:33 +01:00
cyril soler
fd84639a45 removed some debug info 2017-03-10 15:05:41 +01:00
csoler
cf2edb50b4 fixed memory leak in deleteGroup and removed unnecessary pointer in the functions called below 2017-03-09 22:47:06 +01:00
csoler
88a5c032e4 removed some debug info 2017-03-05 20:10:01 +01:00
csoler
b71f4757fe qick fix to allow re-advertising for known forums/channels during the same session. Will be reset at restart (probably best) 2017-03-05 14:14:46 +01:00
csoler
d3cdd15e3f fixed uninitialised memory read in GxsReputation 2017-03-04 21:20:34 +01:00
csoler
7111579954 fixed memory leak in config of msgService 2017-03-04 20:52:06 +01:00
Gioacchino Mazzurco
da459c884e Renamed GxsMails to GxsTrans
GxsTrans is a generic transport service, use more generic name trans
 instead of mail to avoid confusion
Renamed size(...) to seria_size(...) for costistence whit the codebase
Moved GxsTrans and related things to gxstrans directory
Removed outdated and now uncompatible gxsmail test service
Avoid expose internal items in public interface methods
2017-03-02 02:37:53 +01:00
Gioacchino Mazzurco
953b70fbe4 Improve async distant chat, fix chat msg receiving
DistantChatService::initiateDistantChatConnexion(...) made notification
  message optional (enabled by default)
p3ChatService removed duplicion avoidance as it is not necessary
p3ChatService::sendStatusString(...) send status only if peer is online
protect p3ChatService::mDistantGxsMap with mutex as operation on it may
  be done by different threads
p3ChatService::receiveGxsMai(...) set chat message item peer id with
  distant tunnel id, so it is recognized as a distant message later
made p3GxsTunnelService::makeGxsTunnelId(...) static as it need no
  access to this, now it can be used easier by other components
rename RsGxsMailItem::recipientsHint to recipientHint as for now only
  one recipient is possible (TODO: update documentation too)
GxsMailsClient::receiveGxsMail(...) changed paramethers for better
  abstracion, now destination id is passed too because it is usually a
  very useful information
ChatWidget some adaptation to async chat, a couple of method have been
  deprecated too
PopupDistantChatDialog::updateDisplay(...) adapt message shown to the
  user to the new async chat paradigm (TODO: need review)
2017-03-01 23:31:13 +01:00
Gioacchino Mazzurco
f19fe56a93 Better documentation about multimap usage 2017-02-27 10:31:35 +01:00
Gioacchino Mazzurco
2b1c9b74d1 Fix compilation on systems without uint like windows 2017-02-27 10:31:35 +01:00
Gioacchino Mazzurco
9a3af092eb Merge branch 'master' into gxs_mail_experiments 2017-02-27 08:43:29 +01:00
Gioacchino Mazzurco
b4727bde29 Gxs Mail disabling is not supported ATM
Fix some compiler warning
Make travis-ci qmake parser happy with {
2017-02-26 13:06:38 +01:00
Gioacchino Mazzurco
3761b14734 Add some documentation to p3GxsMails 2017-02-26 12:13:00 +01:00
Gioacchino Mazzurco
e2078ba6cf Disable gxs mail test subservice by default 2017-02-26 11:30:04 +01:00
Gioacchino Mazzurco
379fb97062 p3GxsMails queues persistents accross RS sessions
RsServer properly handle deletion (childs are not yet)
p3GxsMails properly handle deletion
RsControl::instance() use proper static initialization
p3GxsMails register configuration files at right time
RsGxsMailBaseItem take in account offset in header pointer
RsGxsMailSerializer use C++11 safe enum class for items types
RsGxsMailItem take in account offset in header pointer
RsGxsMailItem::deserialize(...) properly calculate final offset
p3GxsMails::handleResponse(...) delete group items after usage
move ex inner struct OutgoingRecord to gxs mail items header
p3MsgService::saveList removed unused variable
p3MsgService::notifyDataStatus(...) take in account multiple backends
p3MsgService::receiveGxsMail(...) take in account multiple backends
p3MsgService::receiveGRouterData(...) take in account multiple backends
Added prersistence to p3MsgService::gxsOngoingMessages
2017-02-26 00:46:02 +01:00
Gioacchino Mazzurco
f9b0063704 Improve incoming receipts handling 2017-02-22 14:46:40 +01:00
Gioacchino Mazzurco
77c430d553 Use unordered_multimap for ingoingQueue
This will avoid the possibility for a malicious node to cause a memory
leak and smash items in incoming queue of others nodes
2017-02-22 13:34:36 +01:00
Gioacchino Mazzurco
b9091c4ad8 p3MsgService uses p3GxsMails as backend too 2017-02-21 23:08:02 +01:00
Gioacchino Mazzurco
1376b9f031 p3GxsMails expose proper async API
Moved testing code to TestGxsMailClientService
RsGxsMailPresignedReceipt and RsGxsMailItem inherit RsGxsMailBaseItem
p3GxsMails::sendMail(...) check paramenters and return immediately
Added GxsMailsClient::notifySendMailStatus(...) to notify sent mails status
Added p3GxsMails::querySendMailStatus(...) so clients can query status
2017-02-21 12:20:50 +01:00
Gioacchino Mazzurco
55ff9067cf Acknoweldge mail reception via presigned receipt
This method does protect recipient metadata but doesn't support multicasting so
  if a mail has N recipients N copies of the mail need to be sent to the group
RsGenExchange made some members protected instead of private so child classes
  can use them
Create Rs{G,N}xsMailPresignedReceipt items to prepare and dispatch receipts
Move RsNxsMsg deserialization to RsNxsMsg::deserialize(...) method
2017-02-18 20:32:25 +01:00
csoler
f3824f2348 merged upstream/master 2017-02-11 10:46:51 +01:00
Gioacchino Mazzurco
9cde0fd996 Put in place auth policy, storage time and testing
Better memory handling for message dispatching
Better typing for some methods
2017-02-09 16:11:53 +01:00
Gioacchino Mazzurco
4daca00359 More work on GXS mail subservices 2017-02-08 13:39:29 +01:00
Gioacchino Mazzurco
1f1f4ded02 GxsMail: Implemented RSA mail receiving
RsGxsMailBaseItem::deserialize(...) fix offset calculation
RsGxsMailItem::serialize(...) fix offset calculation
RsGxsMailBaseItem initialize cryptoType to UNDEFINED_ENCRYPTION
p3IdService::decryptData(...) implemented multi id variant
RsGixs::*cryptData(...) proper param order
p3IdService::*cryptData(...) proper param order
2017-02-08 13:39:29 +01:00
Gioacchino Mazzurco
54a0f87369 GxsMail implemented RSA encrypted mails sending
Add notice about param not being checked in GxsSecurity
Use proper types for RsGenExchange::getMsg* params
Implement bitwise or and not operators for t_RsGenericIdType
GxsMail unsubscribe old unused groups
GxsMail initial work on supporting client services
Implemented p3IdService::encryptData(...) for multiple recipients
2017-02-08 13:39:29 +01:00
Gioacchino Mazzurco
0af9291e54 Tiny fixes seems groups and messages propagate now 2017-02-08 13:39:29 +01:00
Gioacchino Mazzurco
53e3177c2b First experiments with GXS Mail
Periodically pool GXS backend for new groups and subscribe to all.

A group is created and an email can be sent to it but for some reason
the group and and the email are not received by friends.
2017-02-08 13:39:29 +01:00
csoler
c61ccda431 fixed compilation problem caused by a bug in qtcreator global replace. Warning: always check the result of qtcreator global replace 2017-02-07 22:04:07 +01:00
csoler
37f3e1a62a fixed problem in ID creation code. 2017-02-07 20:15:55 +01:00
csoler
6a9b697e42 made RsReputation::overallReputationLevel() to also return the identity ownership flags so that we dont need to rely on async calls to p3IdService to get them 2017-02-06 23:46:01 +01:00
csoler
a357c52124 fixed a few things in options 2017-01-31 21:51:16 +01:00
csoler
deea1b5344 moved temporary GXS object structures into rsgxsutil.h and used them in p3gxscircles to remove a memory leak 2017-01-31 20:59:50 +01:00
csoler
7327f1a98b fixed deadlock caused by locking the mutex in p3Identity after the one in p3GxsReputation 2017-01-28 15:26:12 +01:00
csoler
06265f2b54 added consistency check in meta data in publishGroup() and updateGroup() in order to avoid bad data supplied from GXS services 2017-01-19 11:13:06 +01:00
csoler
c00caa967d Merge pull request #644 from G10h4ck/ccleanup
Some cleanup and deprecation
2017-01-15 21:28:28 +01:00
csoler
5c296b9349 removed warning when peer list is empty in cache_load of identities 2017-01-15 09:57:06 +01:00
Gioacchino Mazzurco
a881441384 Some cleanup and deprecation
RsGxsDataAccess deprecate unused ansType
RsGxsDataAccess::setReq(...) use proper types for params
RsGxsDataAccess::getGroupData(...) print useful information in case of error
GxsRequest proper initialization in constructor
GxsRequest deprecate meaningless ansType
RsGroupMetaData Fix comment to avoid confusion
Deprecated meaningless RS_TOKREQ_ANSTYPE_* common source of confusion
p3GxsCircles::request_CircleIdList() removed unused variable
p3GxsCircles::request_CircleIdList() preper return value
2017-01-14 23:12:50 +01:00
csoler
233c38d8db Merge pull request #641 from csoler/v0.6-Reputations
V0.6 reputations
2017-01-14 20:45:53 +01:00
csoler
df94de9142 disallow to ban your own identity in forums, and make opinions show up as a function ofwhat the ID opinion already is 2017-01-13 18:31:50 +01:00
Gioacchino Mazzurco
cdd39736d4 Documentation and code cleanup
Fix a warning in RsGenExchange::messagePublicationTest(...)
Fix documentation for RsGenExchange::{generatePublicToken(), acknowledgeTokenGrp(...)}
Properly initialize RsGroupMetaData, RsMsgMetaData and p3GxsForums members
Cleanup RsGxsNotify
2017-01-12 22:34:28 +01:00
csoler
19819b9b77 removed debug info 2017-01-12 22:14:41 +01:00
csoler
3c07d50dac set auto-reset of banned nodes to "never" by default 2017-01-12 21:27:02 +01:00
csoler
70a92a1c32 various small fixes in reputation/identity cleaning 2017-01-12 21:14:36 +01:00
csoler
bd7f6aca99 added to parameters in options to fix the time banned ids are kept in list and prevented to re-download 2017-01-12 20:39:49 +01:00
csoler
a7f0fff0f1 made sure reputations are not stamped when requested for debugging/printing 2017-01-10 23:05:00 +01:00
csoler
a810ae9a74 use rsReputations instead of rsIdentity for reputation calls. Suspended reputation vetting code which is not needed anymore 2017-01-10 21:44:37 +01:00
csoler
2f1d9073fa removed debug info 2017-01-10 20:10:28 +01:00
csoler
8d8453f9c0 removed the reputation calls through rsIdentity. Improved the logic of updating static identity flags in p3gxsreputations 2017-01-09 23:47:51 +01:00
csoler
2fc8d22cf9 changed cleaning strategy of p3gxsreputations to be based on last activity of the reputation system rather than the identity system 2017-01-08 22:00:54 +01:00
csoler
b6a3f53826 changed the needsUpdate flag so that unset/default needs update, and added code to read old reputation set item class 2017-01-08 11:14:18 +01:00
csoler
d631758e8c added hashstream class to hash content of RsIdentityUsage and fix duplication of identity usage statistics 2017-01-05 23:07:59 +01:00
csoler
f72399f2a8 merged upstream/master 2017-01-04 20:24:08 +01:00
csoler
2919058652 finished backend part for identity usage statistics 2017-01-03 23:31:29 +01:00
csoler
a9670a569a Second stage in abstracting GXS identities usage cases (almost done) 2017-01-02 23:53:39 +01:00
csoler
17fc89e3c0 First stage in abstracting GXS identities usage cases (half done) 2017-01-02 15:58:37 +01:00
csoler
a261094120 removed debug output form p3idservice 2017-01-01 20:22:54 +01:00
csoler
1a9f19145e Merge pull request #617 from csoler/v0.6-Circles2
V0.6 circles2
2017-01-01 18:22:01 +01:00
csoler
f07ebbf605 fixed circle authentication policy 2017-01-01 17:51:03 +01:00
Phenom
41386c64b7 Fix some new warnings 2016-12-31 15:17:51 +01:00
csoler
e2dfadf352 started documentation of GXS flags. Fixed a bug in p3gxscircles authentication policy 2016-12-31 14:23:37 +01:00
csoler
3a45bac8e7 removed unused autoBanIdentitiesLimit variable 2016-12-29 15:12:58 +01:00
csoler
f3f0fcea05 added load/save of new thresholds in p3gxsreputation. Removed some unused variables 2016-12-29 10:34:57 +01:00
csoler
fb733916ef added two fields in settings/people to setup the thresholds to decide between neutral and remotely positive/negative reputation 2016-12-28 18:58:49 +01:00
csoler
72fb8f17a9 changed the reputation system to output a level that differentiate your own opinion to your friends opinion 2016-12-23 17:52:02 +01:00
csoler
0a3ec9706d added statistics info for key requests 2016-12-22 00:14:16 +01:00
csoler
d3051eff1a added display of usage statistics for GXS identities 2016-12-21 00:34:07 +01:00
csoler
ef0850e65b added recording system for usage cases of GXS ids 2016-12-19 20:44:15 +01:00
Phenom
674b6de381 Fix Some gcc warnings 383 to 208 lines
Left explicit #warning and deprecated.
Some lines are wrong indented and produce mal formed code.
2016-11-30 22:01:01 +01:00
Gio
633a6cf8c2 Fixed a bunch of warnings in safe ways 2016-10-13 00:01:33 +02:00
csoler
52ee76ed24 removed annoying debug message in ID system 2016-09-24 14:14:32 +02:00
csoler
5d69ae886a reduced period for slow saving of GRouter config data, and removed useless saving of BanList config when received data fro friends does not modify the existing data 2016-08-22 22:25:05 +02:00
Phenom
275c47eff9 Add Title when ask for password. 2016-08-09 01:22:14 +02:00
csoler
cd433e82fd fixed bug causing uninitialised memory read in reputation changing 2016-08-04 22:33:45 +02:00