Commit Graph

466 Commits

Author SHA1 Message Date
csoler
50529654f8
fixed compilation: both rs_jsonapi and rs_webui are needed to compile p3webui.h/cc 2019-11-27 20:24:56 +01:00
Gioacchino Mazzurco
1d4ca64dee
Prepare for merging 2019-11-27 18:44:10 +01:00
csoler
4a257614f1
merged with upstream/master 2019-11-24 18:38:50 +01:00
csoler
3ca22f0052
created separate class for restbed services 2019-11-14 22:02:42 +01:00
csoler
6603dbd913
code to embed webUI server in the main executable (initial version, not yet working) 2019-11-10 17:38:16 +01:00
Gioacchino Mazzurco
05260ace94
Backport as_const C++17 helper
This is expecially useful to use const_iterator without giving up on
  using auto keyword
2019-11-07 19:51:25 +01:00
Gioacchino Mazzurco
63b71e383a
Add support for indexing files dupported by taglib
Add FLAC standalone indexer
Add indexing common music tags for all formats supported by taglib
File indexer reindex files that have been indexed by older versions of
  the indexer and reindex them
Sparse improvements to deep indexing
2019-10-26 15:57:39 +02:00
Gioacchino Mazzurco
3a26ccf6a5
Implement deep indexing for files through Xapian
ATM it support extracting metadata only from OGG files.
The system has been designed to be easly extensible to more file formats
  registering more indexer functions which just need to extract metadata
  from a certain type of file and feed it to Xapian.
The system has been integrated into existent file search system to
  through generric search requests and results, it keep a good level of
  retro-compatibility due to some tricks.
The indexing system is released under AGPLv3  so when libretroshare is compiled
  with deep search enabled AGPLv3 must be honored instead of LGPLv3-or-later.
Cleaned up the debian copyright file using non-deprecated license
  code-names.
2019-10-26 15:57:38 +02:00
Gioacchino Mazzurco
6b71c57a54
Calm down p3netmgr at least when internet connection is not available
Solve compiler warnings, delete tons of cruft and deadcode
2019-09-29 17:59:32 +02:00
Gioacchino Mazzurco
a169250e1c
Add support to build with miniupnpc on Android
Necessary to workaroud issues:
  https://github.com/RetroShare/RetroShare/issues/1649
  https://github.com/mrjimenez/pupnp/issues/119
2019-09-28 13:54:16 +02:00
csoler
c365a96489
moved getpass() method into a cross-plateform file rskbdinput.h/cc 2019-09-05 23:54:48 +02:00
Gioacchino Mazzurco
b52bb4c2dd
Solve a bunch of warnings in TCP ove UDP layer
Remove some deadcode
Improve readability
2019-05-17 15:03:23 +02:00
Gioacchino Mazzurco
64c4982f41
Remove problematic git submodule option
--recommend-shallow seems to nos be effective, and even causing problems with
  older git versions
2019-05-09 12:41:37 +02:00
Gioacchino Mazzurco
f1e2cb047e
Avoid cmake warning, restbed doesn't use C compiler 2019-05-09 12:38:25 +02:00
Gioacchino Mazzurco
de0dd63e3f
Remove a bunch of deadcode
RsSerializable already provide std::ostream &operator<<
Add deprecation notice for RsNotify
2019-05-03 16:55:57 +02:00
Gioacchino Mazzurco
b1285a5de7
Gossip discovery refinement
Rename from RsDisc to more descriptive RsGossipDiscovery
Keep full retrocompatibility suggesting usage of RsGossipDiscovery
Add capability to send and receive full RetroShare invitation
Emit event when receiving a full invitation
Start using new debug utilities
Use enum class instead of defines and constant where appropriate
2019-05-03 16:54:16 +02:00
Gioacchino Mazzurco
5622262c2d
Avoid Debian libupnp-1.6.x workaround fiddling libupnp-1.8.x builds 2019-04-25 03:14:34 +02:00
Gioacchino Mazzurco
650c5f1fa8
Fix compilation with libupnp-1.8.x 2019-04-24 23:36:40 +02:00
Gioacchino Mazzurco
fb4f206427
Attempt to detect best UPnP library available
Because we don't support libupnp-1.8.x yet avoid using that library
If libupnp-1.6.x is available use that, if not try to use miniupnc if
  if unavailble print a warning and disable RetroShare UPnP support
2019-04-24 18:08:35 +02:00
G10h4ck
9a7ce1ae72
Merge pull request #1520 from G10h4ck/broadcast_discovery
Broadcast Domain friends IP:Port Discovery
2019-04-23 17:18:54 +02:00
Gioacchino Mazzurco
5dda6eb771
Remove zeroconf deadcode 2019-04-23 11:57:30 +02:00
Gioacchino Mazzurco
74fa3bdf2b
Change again C compiler selection in CI 2019-04-15 15:16:47 +02:00
Gioacchino Mazzurco
7dab487bde
Implement a JSON API friendly notification system
This should bit by bit substitute RsNotify which would be very difficult
  to support properly in JSON API.
The new system is much simpler to use also from the C++ side of the
  moon.
BroadcastDiscovery take advantage of the new system to notify about new
  non friend peer discovered, tested successfully also in JSON API.
2019-04-15 00:31:49 +02:00
Gioacchino Mazzurco
a7498371a2
Fix Travis and Appveyor continuous integration
The error reported both on OS X and Windows was
The CMAKE_C_COMPILER is set to a C++ compiler
2019-04-12 19:56:57 +02:00
Gioacchino Mazzurco
7b38c1c75a
Initial work on Broadcast Domain Discovery
Discover peers on the same broadcast domain/LAN
Implements own node announcement
Implements others announcement listening
Implements API to get notifiend when other nodes get discovered
Implements API to get discovered nodes
Add discovered peer locator to rsPeers if it is already friend

Yet a bunch of things to do to take full advantage of this new
implementation
2019-04-12 02:53:39 +02:00
G10h4ck
72e0a9607b
Merge pull request #1491 from hunbernd/fix/jsonapi
Fix jsonapi compilation
2019-03-27 10:23:45 +01:00
hunbernd
d2d336ee01 Made the restbed compile command better 2019-03-26 20:54:36 +01:00
hunbernd
bc294b207d Fixed parallel compilation of librestbed 2019-03-16 17:26:27 +01:00
hunbernd
a4ee76e402 Fixed some dependency issues 2019-03-16 16:36:54 +01:00
hunbernd
5df54d7630 Converted extra targets into an extra compiler:
- Multi core compilation works correctly
 - The jsonapi header files are regenerated when there are changes in libretroshare interface files
2019-03-10 01:49:47 +01:00
hunbernd
bbb15fd960 Fixed jsonapi generator:
- Doxygen failed, because it got Unix like paths on Windows
- Josnapi generator created empty output files, because multiple _ in input file names
2019-03-09 20:49:54 +01:00
hunbernd
294d711cc3 Fixed restbed compilation on Windows 2019-03-09 20:38:33 +01:00
Gioacchino Mazzurco
ea7773f86d
Refactor RsReputations for compatibility with JSON API 2019-02-15 15:29:36 -03:00
Gioacchino Mazzurco
a96310d45e
Avoid depending on libupnp on linux if it is not used 2019-02-10 15:43:28 -03:00
csoler
a802e494f8
Merge pull request #1401 from G10h4ck/forum_api
0.6.5 Safer forum API
2018-11-20 21:45:45 +01:00
csoler
9c3d5acd8e
fixed license in libretroshare 2018-11-11 14:24:48 +01:00
csoler
602bc36eec
fixed missing licenses in libretroshare 2018-11-11 14:24:47 +01:00
Gioacchino Mazzurco
f84824271f
Implement ostream operator<< for RsSerializable
So it is not necessary to define it for each class we want to print in
  debug
2018-11-10 16:24:47 +01:00
G10h4ck
047ae7f723
Merge branch 'master' into jsonapi 2018-10-10 22:23:28 +02:00
Gioacchino Mazzurco
74129f670a
jsonwrappersincl target always fails if doxygen fail 2018-10-09 18:06:21 +02:00
Gioacchino Mazzurco
2b3570903f
retroshare-service deep search support for Android 2018-10-06 01:23:08 +02:00
Gioacchino Mazzurco
b28512b889
retroshare-service now build and runs fine on android (even older ones) 2018-10-05 22:29:49 +02:00
Gioacchino Mazzurco
8f3f2cd7cb
retroshare-service improve building process 2018-10-03 15:53:18 +02:00
Gioacchino Mazzurco
0078501dba
Initial work on a RetroShare cross-platform service
This doesn't need any interacion of the user at startup, unlike
retroshare-nogui which requires the user to login on the shell this doesn't
even need a TTY.
At startup this just parse command line, read the PGP keyring, look for
available locations, and start listening for JSON API requests.
Another difference with retroshare-nogui is that this is capable to
generate/import PGP identities, generate locations, and in general anything
possible through the RetroShare API.
retroshare-service is suitable also to run it as a system service, even
in very constrained systems such as Android ot a Docker container.
retroshare-service drop support for libresapi so only the new JSON API
is exposed, it will completely obsolete retroshare-android-service once
retroshare-qml-app is ported to the new JSON API.
2018-09-29 00:15:10 +02:00
Phenom
aec68c2269 Fix qmake double using retroshare.pri
From 544b4af4c2
2018-09-26 17:55:58 +02:00
Phenom
f420bb4644 Fix qmake warnings:
Makefile.libretroshare:3811: warning: overriding recipe for target
'temp/linux-g++/obj/hashstream.o'
Makefile.libretroshare:3772: warning: ignoring old recipe for target
'temp/linux-g++/obj/hashstream.o'
2018-09-26 17:36:33 +02:00
G10h4ck
f09bef2ac8
Merge pull request #1349 from G10h4ck/jsonapi
Implement JSON API HTTP Basic authentication
2018-09-25 18:10:16 +02:00
zapek
458a8b0878 fixed JSONAPI build for Windows 2018-09-20 22:24:05 +02:00
Gioacchino Mazzurco
eb77f921ec
Implement JSON API HTTP Basic authentication
jsonapi-generator is now capable of generating API for headers outside
  retroshare/ directory
jsonapi-generator do a bit of methods parameter sanity check
JsonApiServer is now integrated in the rsinit hell like other services
Add *::exportGPGKeyPairToString to a bunch of classes in cascade
RsControl is now capable of calling back a function when retroshare is almost
  completely stopped, this is useful when running retroshare toghether with
  externally managed runloop such as QCoreApplication
Expose a bunch of methods through JSON API
retroshare-nogui remove some dead code and fix stopping from the RetroShare API
2018-09-19 21:28:26 +02:00
hunbernd
05537d89cb Added warning instead of running the version_detail script 2018-09-15 18:27:15 +02:00