1123 Commits

Author SHA1 Message Date
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