15 Commits

Author SHA1 Message Date
Gioacchino Mazzurco
f19fe56a93 Better documentation about multimap usage 2017-02-27 10:31:35 +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
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