Commit Graph

465 Commits

Author SHA1 Message Date
Gioacchino Mazzurco
4d30d4f32b
Avoid cloning huge unused restbed openssl dependency 2018-08-23 15:47:01 +02:00
Gioacchino Mazzurco
18feb23c77
Suggest shallow submodules for jsonapi dependencies 2018-08-23 14:20:24 +02:00
Gioacchino Mazzurco
4b6f751b09
Implement JSON API generation for async API calls
Move JSON helpers to util/rsjson.* for better usability
Implement JSON ostream manipulator to print compact and pretty JSON
Use lambdas for API wrappers, integrate better and avoid namespace
  pollution
Removed experimental JSON API for notify client wrapper, notifications
  can be implemented automatically with moderns async API calls
Implement and automatically expose to JSON API
  RsGxsChannels::turtleSearchRequest(
        const std::string& matchString,
        const std::function<void (const RsGxsGroupSummary&)>& multiCallback,
        std::time_t maxWait )
2018-08-16 23:48:21 +02:00
Gioacchino Mazzurco
130007b578
Merge branch 'master' into jsonapi 2018-07-23 13:44:01 +02:00
Gioacchino Mazzurco
ff166b2295
Merge branch 'master' into deep_search 2018-07-21 12:57:05 +02:00
Gioacchino Mazzurco
a31b06ab60
Merge branch 'master' into deep_search
Needed to make deep search and GXS search cooperate
2018-07-20 13:15:11 +02:00
csoler
2bab688dec
fixed merge with upstream/master 2018-07-19 23:22:24 +02:00
csoler
fd45d44826
added interface to get statistics about GxsNetTunnel 2018-07-15 11:14:58 +02:00
csoler
6848a586f3
merged upstream/master 2018-07-08 21:17:48 +02:00
csoler
0c45217fc0
merged upstream/master 2018-07-05 17:41:30 +02:00
Gioacchino Mazzurco
c0e92ddc6b
WIP Index GXS channels with xapian
Use temporary DB ATM
2018-07-02 17:29:54 +02:00
Gioacchino Mazzurco
1dd707710b
Merge branch 'master' into extra_locators_merge 2018-07-02 12:22:23 +02:00
csoler
db06c32e80
turned turtle encryption routine into a generic authenticated encryption method in librs::crypto 2018-06-28 10:01:57 +02:00
Gioacchino Mazzurco
cb11ad92ea
Merge branch 'master' into jsonapi 2018-06-26 15:19:25 +02:00
Gioacchino Mazzurco
502459a25a
Cleanup rapidjson inclusion
Fix compilation error of android service
2018-06-26 15:12:16 +02:00
Gioacchino Mazzurco
15f39129f1
Complete GxsChannels JSON API with blocking methods
RsGxsIfaceHelper::requestStatus expose it to JSON API
Implemented RsGxsIfaceHelper::waitToken to wait for GXS operations
RsItem::serial_process fix doxygen warning as it's a comment not documentation
RsTypeSerializer add JSON conversion methods for double [de]serialization not
	implemented yet
RsTypeSerializer_PRIVATE_{FROM,TO}_JSON_ARRAY fix doxygen warning as it's a
	comment not documentation
make GxsChannels::ExtraFileHash a bit more reasonable
jsonapi-generator fix unused variable warning if there is no input or output
	paramethers
jsonapi-generator fix generation for inerithed jsonapi methods
Convert to RsSerializable some Gxs structs for the JSON API
2018-06-26 13:20:24 +02:00
Gioacchino Mazzurco
7ad337c8d2
Implement automatic JSON API generation
qmake file add jsonapi-generator target to compile JSON API generator
qmake files add rs_jsonapi CONFIG option to enable/disable JSON API at compile
  time
RsTypeSerializer pass down same serialization flags when creating new context
  for nested objects serial job
RsGxsChannels expose a few methods through JSON API as example
Derive a few GXS types (RsGxsChannelGroup, RsGxsChannelPost, RsGxsFile,
  RsMsgMetaData) from RsSerializables so they can be used for the JSON API
Create RsGenericSerializer::SERIALIZATION_FLAG_YIELDING so JSON objects that
  miss some fields can be still deserialized, this improve API usability
SerializeContext offer friendly constructor with default paramethers
Add restbed 4.6 library as git submodule as most systems doesn't have it yet
Add a bit of documentation about JSON API into jsonapi-generator/README.adoc
Add JsonApiServer class to expose the JSON API via HTTP protocol
2018-06-24 16:28:33 +02:00
csoler
5b9666855d
fixed merge with upstream 2018-06-22 23:38:31 +02:00
Gioacchino Mazzurco
1f76108a9e
Remove some cruft from build files 2018-06-11 14:21:28 +02:00
csoler
b0f391d66f
fixed compilation and re-licensed zeroconf/ 2018-05-30 21:45:18 +02:00
csoler
8641da189c
relicensed util/ and moved rsaes to crypto/ 2018-05-30 21:34:38 +02:00
csoler
6cf2090149
relicensed tcponudp, turtle, unused, upnp, and part of util/ 2018-05-30 21:19:13 +02:00
csoler
b3853156ce
re-licensed services/ 2018-05-29 21:54:27 +02:00
csoler
b3277824eb
license fix in pqi 2018-05-28 22:03:39 +02:00
csoler
544b4af4c2
fixed license in chat, crypto, dht, file_sharing 2018-05-21 20:50:38 +02:00
csoler
8e111c2ee2
added rapidjson-1.1.0 code hard-coded in the source directory to allow everyone to compile without the need to tweak too much. When v1.1.0 is mainstream (espcially on ubuntu) we can revert back to an external dependency 2018-05-02 22:46:27 +02:00
Gioacchino Mazzurco
f3ae61b462
Merge branch 'json_experiments' 2018-04-27 18:17:09 +02:00
Gioacchino Mazzurco
4876a0ea3b
Multiple improvements to build process
Restructure and document retroshare.pri variables and helper functions
Link sqlite statically like other libraries on Android
qmake has multiple win32-* specs match them correctly
Move a buch of generic thing to retroshare.pri instead of having them replocated
  accross project specific .pro
Fix retroshare-gui too many symbols exported on windows liking error by adding
  QMAKE_LFLAGS+=-Wl,--exclude-libs,ALL
Rename retroshare-gui/src/util/win32.h because the name is too prone to
  confusion and build conflicts
libreasapi avoid usage of cretar_prl link_prl that seems unreliable on some
  platforms
libreasapi rename LIBRESAPI_QT to more understendable LIBRESAPI_SETTINGS
Use use_*.pri instead of copy pasting error prone qmake snippets around
Expose bitdht option to retroshare.pri
Add RS_THREAD_LIB qmake variable for better crossplatform support
Move debug and profiling generic options to retroshare.pri (avoid copy/pasting)
Remove Qt script module in qmake as it is not available anymore
2018-04-18 07:56:43 +02:00
csoler
04dc764339
merged upstream/master 2018-03-15 09:19:56 +01:00
Gioacchino Mazzurco
923c383a13
Add naif URL manipulation class RsUrl
Use RsUrl to convert sockaddre_storage from/to string
2018-03-02 19:20:56 +01:00
csoler
7a2d874863
Merge pull request #1153 from csoler/v0.6-TorOnly
V0.6 tor only
2018-02-11 20:49:45 +01:00
Gioacchino Mazzurco
00125864ff Add support for SQLCipher on Android
Plus some cleanup
2018-01-30 18:24:03 +01:00
Gioacchino Mazzurco
ebfe50f814 Make .pro files compiler agnostic on Android 2018-01-30 18:11:31 +01:00
csoler
d0039241d3 replaced usleep() by rstime::rs_usleep() which accepts times >= 1 sec. Should fix problems on windows 2018-01-27 20:22:31 +01:00
Gioacchino Mazzurco
5cdc5aa58d Add automatic JSON serialization/deserialization
Abstract serialization concept to pure virtaul class RsSerializable
  from which every other serializable class must inherit from
Use RapidJSON for JSON manipulation
Add TO_JSON and FROM_JSON SerializeJob
Deprecate unused SerializationFormat
Remove some unused old piece of code
Adjust many lines to max 80 columns for better readability on little
  screens
Clean up documentation and code, remove old cruft
Add copyright notice on edited files that miss it
2018-01-16 03:31:03 +01:00
csoler
da5253059a fixed retrotor compilation when removing dht and udp 2017-12-31 17:27:21 +01:00
csoler
f5ce711ad6 only load hidden nodes in retro-only mode 2017-12-21 21:34:51 +01:00
csoler
76ec079b40 added missing change in .pro 2017-12-20 22:14:58 +01:00
csoler
06f489ec61 Merge pull request #1065 from csoler/v0.6-Links2
V0.6 links2
2017-10-23 22:14:06 +02:00
csoler
f98edd400e added FileTree class to implement a compact representation of file hierarchies 2017-10-18 00:04:04 +02:00
Gioacchino Mazzurco
034d88c4e2 Fix android compilation with newer Qt
In lastest Qt versions linux-* mkspec doesn't match android anymore,
this was triggering a compilation error as DATA_DIR was not defined the
RsAccountsDetail::PathDataDirectory(bool check) code has been rearranged
so it works reasonably also on Android and do not depend on DATA_DIR
define anymore

Updated Android compiling documentation
2017-10-16 20:07:52 +02:00
Phenom
5a1c316fc6 Fix Travis MacOs Compilation 2017-08-12 11:49:33 +02:00
csoler
3e25d96daa fixed unix -> linux-* target in .pri, as qt4 doesnt seem to recognise unix 2017-08-04 21:38:44 +02:00
Gioacchino Mazzurco
59b77da6a2 Merge branch 'master' into qmlapp_pex_alpha 2017-05-31 12:11:15 +02:00
csoler
1ebcc6006b Merge pull request #861 from RetroShare/v0.6-GxsTransport
V0.6 gxs transport
2017-05-30 22:22:06 +02:00
sehraf
a3ee85a30d Add I2P BOB support to libretroashare and RetroShare GUI 2017-05-24 19:40:01 +02:00
Gioacchino Mazzurco
745462a61b Merge branch 'v0.6-GxsTransport' into qmlapp_pex_alpha 2017-05-15 15:05:07 +02:00
csoler
c0c5cc52db Merge branch 'master' into gxs_mail_experiments 2017-05-13 21:08:16 +02:00
Gioacchino Mazzurco
f67617a449 Add override and final placeolders for old GCC compatibility 2017-05-08 16:57:37 +02:00
Gioacchino Mazzurco
8f306346a4 Merge branch 'gxs_mail_experiments' into qmlapp_pex_alpha 2017-05-08 12:33:40 +02:00
Gioacchino Mazzurco
5159e326c7 Merge branch 'master' into gxs_mail_experiments 2017-05-05 15:44:22 +02:00
csoler
cecd9a3368 merged upstream/master 2017-04-30 20:14:23 +02:00
csoler
24c7c38016 removed old file rssrviceserialiser.h/cc 2017-04-30 20:08:30 +02:00
csoler
e401b90e02 moved rsserializer and rstypeserializer to serialiser/ 2017-04-30 16:05:37 +02:00
csoler
1159c863a2 moved wiki and wire items to rsitems/ 2017-04-29 21:50:55 +02:00
csoler
5cba0059c8 moved recognitems to rsitems/ 2017-04-28 23:32:47 +02:00
csoler
688813fbf5 moved photo items to rsitems/ 2017-04-28 18:51:35 +02:00
csoler
22e2416f3e moved rsserviceinfo items to rsitems/ 2017-04-28 17:47:41 +02:00
csoler
c33c34b175 moved rspluginitems to rsitems/ 2017-04-28 16:44:04 +02:00
csoler
45eaf27deb moved rsgxsupdateitems to rsitems/ 2017-04-28 16:30:33 +02:00
csoler
5995e508c5 moved rsstatusitem.h to rsitems/ 2017-04-27 21:24:27 +02:00
csoler
9adbab3281 switched heartbeatitems to new serialization 2017-04-27 21:10:22 +02:00
csoler
349d14b354 moved rsposteditems to rsitems/ 2017-04-27 14:44:41 +02:00
csoler
22f6d150df moved rsnxsitems.cc to rsitems/ 2017-04-27 14:21:46 +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
db645239cb moved rsgxschannel items to rsitems 2017-04-26 20:15:54 +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
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
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
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
csoler
ddbe2ef9a1 created .cc files for serialization 2017-04-02 14:48:17 +02:00
Phenom
5efa8e3f3f Fix Windows Compilation with CONFIG+=no_sqlcipher 2017-03-17 22:14:31 +01:00
Gioacchino Mazzurco
5a219b4d10 Update to Qt 5.8.0
Simplified android buinding and updated documentation
Removed a bunch of unused qml files
2017-03-15 23:11:50 +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
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
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
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
Gio
06a1020724 Add workaround to see debug messages from native code in android service 2016-12-22 13:50:44 +01:00
csoler
81dffbed84 Merge pull request #591 from G10h4ck/split_autologin
Made autologin optional at compile time
2016-12-14 16:45:45 +01:00
Gio
9eef412b44 Expose libresapi for distant chat
Added macro to deprecate symbols usage in a crossplatform way.
Deprecated Request::mMethod and related stuff that make implementation
 more complex without advantage.
Added /chat/{initiate_distant_chat, distant_chat_status,
 close_distant_chat} to libresapi.
Solved subtle bug in ChatId::ChatId(std::string str) that caused zeroed
 DistantChatPeerId being created.
2016-12-07 20:29:33 +01:00
Gio
8656452c68 Made autologin optional at compile time
Autologin is disabled by default at compile time, and a warning to
discourage it's usage is printed if it is enabled.
This will make default RetroShare build safer and reduce dependencies as
example we don't depends anymore on gnome keyring is not needed in default
build for linux anymore.
2016-12-03 20:04:25 +01:00
Gio
8ab3c7de26 Merge branch 'master' into android 2016-11-07 14:37:23 +01:00
mr-alice
2bb9a87b3b merged and fixed conflict with upstream/master 2016-11-04 13:52:11 +01:00
Phenom
2db8dbd45f Fix El Capitan OSX 10.11 Compil 2016-11-02 21:40:46 +01:00
Gio
ea42d822c2 Merge branch 'master' into android 2016-10-26 13:43:24 +02:00
mr-alice
997154f9c5 added preliminary implementation of chacha20/poly1305 2016-10-13 15:13:56 +02:00
Gio
48a9be0ccc Use Qt to read the local addresses on android
getifaddrs is not present on android and an alternative implementation
crashed, use QNetworkInterface::allAddresses() to retrieve local
addresses list instead

This
2016-09-21 12:46:55 +02:00
mr-alice
0757fb303c merged upstream/master 2016-09-20 20:51:50 +02:00
mr-alice
53c65fff9f removed cache transfers from the GUI 2016-09-13 18:54:00 +02:00
mr-alice
6ac9b27d7b moved rsexpr.cc into util/ 2016-09-13 12:14:16 +02:00
mr-alice
a2e34f9cc6 moved regular expression classes into a separate namespace 2016-09-13 12:05:22 +02:00
mr-alice
9f66c0050b moved rsexpr to file_sharing directory 2016-09-12 23:37:19 +02:00