Commit Graph

1105 Commits

Author SHA1 Message Date
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
csoler
3993fbf5cc fixed auto-positive opinions for contacts 2016-08-04 16:10:00 +02:00
csoler
c7576309a7 added callback in RsGenExchange subclasses to autorise new groups, to be used by p3GxsIdentity 2016-08-04 13:12:55 +02:00
csoler
7545ad4d11 simplied/improved reputation system. Now ids can be banned based on their owner node using a single checkbox in the Person tab, with immediate effect 2016-08-04 11:43:35 +02:00
csoler
c4ef4d7743 saved owner node ID in GXS reputation item 2016-08-03 14:52:37 +02:00
csoler
f5e55e849b fixed a few bugs in the People tab 2016-07-25 16:04:30 -04:00
csoler
218977170c added two new options to people page for handlign reputations: change the ban limit from friend opinions, and allow to auto-set positive opinions to contacts 2016-07-25 15:45:49 -04:00
Phenom
7c7da7e6d1 Fix Posted Feed Item when received comment. 2016-07-23 01:48:35 +02:00
csoler
713deac758 time-stamping newly received GXS ids 2016-07-16 18:39:36 -04:00
csoler
71168c7a00 drop net ID request when peer list is empty 2016-07-15 22:47:35 -04:00
csoler
8fdd255185 improved strategy for merging pending ID load requests, fixing bug in previous commit 2016-07-15 22:28:36 -04:00
csoler
9126076336 removed debug info in p3IdService and RsGxsNetService 2016-07-15 17:09:22 -04:00
csoler
90dfc6e14a improved explicit requests of missing GXS ids, also fixing situations where empty peers lists would wipe out pending peer lists 2016-07-15 16:59:57 -04:00
csoler
c555300c37 fixed merging with upstream 2016-07-12 22:45:23 -04:00
csoler
ed523e8edf fixed backend for locl circles 2016-07-11 22:44:15 -04:00
csoler
a7d82cf197 delete GXS IDs with no TS 2016-07-11 18:44:52 -04:00
csoler
95915fa31d removed cross deadlock between p3GxsReputation and p3IdService 2016-07-10 22:46:37 -04:00
csoler
218ca45ac8 removed some debug info in rsdataservice 2016-07-03 23:12:56 -04:00
csoler
09ad53981d fixed red color in IdDialog 2016-07-03 22:02:23 -04:00
csoler
c98416dc28 added auto-cleaning of reputation info for outdated/removed identities 2016-07-03 18:59:30 -04:00
csoler
e611b2bb05 moved isIdentitybanned from p3GxsReputations to p3IdService, so as to avoid calling back p3IdService from p3GxsReputations, which simplifies the code 2016-07-03 18:06:01 -04:00
csoler
720c6fd915 fixed bug causing TS update of some unused identities 2016-07-02 22:41:12 -04:00
sehraf
5d962682e1 removed unused variable warnings 2016-06-21 14:02:52 +02:00
Cyril Soler
35da9cb193 Merge pull request #419 from PhenomRetroShare/Fix_ChannelNewsFeedWhenComment
Fix GxsChannelPostItem when received comment.
2016-06-18 15:36:03 -04:00
Cyril Soler
90a27f4e81 Merge pull request #418 from sehraf/pr-improve-debug
This is the first set of patches to improve RS' logging functionality
2016-06-18 15:33:10 -04:00
Phenom
d84fdff2e1 Fix GxsChannelPostItem when received comment. 2016-06-18 20:10:14 +02:00
sehraf
3cf1968943 fixed p3msgservice.cc 2016-06-18 18:04:18 +02:00
sehraf
09afbbed5d switched to new rslog method 2016-06-18 13:00:15 +02:00
csoler
eb05922cd1 added a tooltip and read color for unsecure GXS identities. These are still supported for a few weeks at most. So get rid of them 2016-06-17 22:21:06 -04:00
csoler
25c0c9d4ce added systematic consistency checking of public/private RSA keys at deserialisation time 2016-06-16 23:06:07 -04:00
csoler
dbd78d2401 merged with upstream/master 2016-06-16 20:19:03 -04:00
csoler
e63f9361f2 improved strategy for removal of unused GXS ids with proper constants for unknown/signed/known ids. Forbid the stamping of banned keys. 2016-06-15 21:33:27 -04:00
csoler
54a0ca4678 added line in circle tooltip for visibility. Re-worked tooltip text a little bit 2016-06-05 15:49:33 -04:00