Commit graph

13 commits

Author SHA1 Message Date
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
2b1c9b74d1 Fix compilation on systems without uint like windows 2017-02-27 10:31:35 +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
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
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