Commit Graph

506 Commits

Author SHA1 Message Date
Gioacchino Mazzurco
856ce2ffb1
Do not depend on Qt at all on Android
Do the necessary modifications to not depend on Qt to run on Android
  both in libretroshare and in retroshare-service
2021-11-30 11:55:15 +01:00
G10h4ck
8c52535860
Merge pull request #2508 from G10h4ck/android_ifaddrs
libretroshare Android Qt network dependency optional
2021-11-26 17:22:51 +01:00
Gioacchino Mazzurco
e4f25a558d
Implement pull request mechanism in RsGxsNetService
This could be used to request the online peers to pull updates from us
  ASAP, as an exaple when a group is created a pull request can be
  emitted too so the online peers pull the groups from us ASAP instead
  of waiting for the usual 60 seconds. A mechanism like this is
  especially useful on mobile phones where the internet connection is
  usually turned on only in a few moments (as an example while the user
  is interacting with the app).
Cleanup a few old corners in the code keeping retro-compatibility and
  make the code more welcoming to new developers.
Put a bunch of dead code under #ifdef.
2021-11-12 18:41:10 +01:00
Gioacchino Mazzurco
11f17fef40
libretroshare Android Qt network dependency optional
One of the reason libretroshare dependend on Qt on Android
  and in particular in networking module is the lack of
  `getifaddrs` with API level < 24, we included Android
  Gingerbread internal implementation so this dependency can be avoided
  at compile time.
The code depending on Qt has been placed under `#if` and can be enabled
  at compile time by appending `DEFINES+=LIBRETROSHARE_ANDROID_IFADDRS_QT`
  to `qmake` command line.
2021-11-12 16:02:53 +01:00
Phenom
7755f85c4c Move DNS stuff to single new file rsdnsutils.cc. 2021-11-05 22:48:41 +01:00
Gioacchino Mazzurco
16ca0dc52c
RsThread fix warning and cleanup
Avoid compiler warning due to virtual method being called in destructor
  at this point the empty default version would be called without damage
  but making the compiler concernig about the semantic being different
  from the one the programmer meant.
Delete old superseeded function and do not depend on it on RsThread.
2021-11-04 19:17:57 +01:00
thunder2
7be575045b Fixed git update of submodule supportlibs/libsam3 for MinGW compile 2021-11-01 18:45:10 +01:00
Gioacchino Mazzurco
1b551d809f
First working prototype of GXS service search
Channels are now able to take advantage of the new deep search
  goodies

Rebase on top of master 2021/10/19
2021-10-28 09:51:29 +02:00
csoler
dbb6a7471e fixed compilation (fix by sehraf) 2021-10-24 22:26:10 +02:00
csoler
3ddf3d0853
Merge pull request #2132 from sehraf/pr_add_i2p_sam3
Replace I2P BOB with SAMv3
2021-10-24 20:39:22 +02:00
csoler
4e4427f0bd fixed errors in libretroshare.pro 2021-07-03 22:01:07 +02:00
sehraf
8a2efe3e58
use libsam3 git submodule 2021-03-16 21:15:31 +01:00
sehraf
c869b9757f
drop BOB code 2021-03-16 21:15:31 +01:00
sehraf
10189ba4d0
add i2psam3 2021-03-16 21:15:30 +01:00
thunder2
76b22ada5c Added new config "libretroshare_shared" to build libretroshare as shared library (default off) based on changes from ET. Activated for Windows build with plugins to fix the link error (ld.exe: Error: export ordinal too large) due to too many exported symbols. 2020-11-09 20:00:50 +01:00
thunder2
1895abfb24 Changed updating submodules for Windows build. Use "cd /D" to change directory. 2020-11-09 16:16:29 +01:00
thunder2
0df86aa416 Fixed update of submodule supportlibs/udp-discovery-cpp and supportlibs/restbed with mingw32-make compile 2020-08-11 13:19:08 +02:00
thunder2
4c4648e3e2 Fixed compile of jsonapi with MinGW 2020-08-11 00:37:56 +02:00
thunder2
1760f819c8 Added git update of submodule supportlibs/udp-discovery-cpp for MinGW compile 2020-08-11 00:37:45 +02:00
thunder2
2eb7fecd42 Fixed Windows build of udp-discovery-cpp without MSYS2 2020-08-01 22:31:31 +02:00
hunbernd
a5d23d0b3f Merge remote-tracking branch 'remotes/retroshare/master' into feature/msys2enhancements 2020-06-19 22:48:43 +02:00
sehraf
462f52585b
add helper for i2p related functions 2020-06-10 20:04:54 +02:00
G10h4ck
1d8510069e
Merge pull request #1934 from PhenomRetroShare/Fix_AutoLogin
Fix AutoLogin
2020-06-10 10:19:55 +02:00
Gioacchino Mazzurco
aef87fb1f8
Multiple improvements in debugging helpers
Add variadic style macro helpers that make debugging code disappear completely
  (also the paramethers evaluation) when debugging level is lower
Chained style << is now atomic like variadic style, still can't benefit
  of paramethers eveluation stripping
Reduced to minimum the difference between Android and other platform
  debugging code
Port debugging code to new helpers, expecially a few corner cases to
  test it, and as examples of how to use it.
2020-06-01 00:53:58 +02:00
hunbernd
cd751f12d4 Clang support 2020-05-30 02:16:59 +02:00
hunbernd
a11dc09790 Build webui 2020-05-23 22:05:44 +02:00
Phenom
e5e468b083 Fix AutoLogin 2020-05-23 12:54:17 +02:00
csoler
f7199f1f1c
moved GxsNotify classes to rsgxsnotify.h internal to gxs (not visible in API) since it is unused in GUI. Added event item in forum to handle moderator list changes 2020-04-26 23:35:37 +02:00
Gioacchino Mazzurco
fc5ad40c90
Add C++14 template types helpers that seems missing in TravisCI MacOSX 2020-04-14 12:17:02 +02:00
Gioacchino Mazzurco
39bde58c29
Many serialization and related stuff improvements
Fix bug in array-like containers serialization which could cause almost infinite
  loop on malformed input
Implement VLQ integer serialization
Unify sequence containers serialization code
Add support for VLQ serialization also for string size
Use VLQ compression for file links
Add templated function to fix endiannes for all integer types
Use bitset to print flags in binary form
Unify serialization code for integral types
Serialize 64bit integers types to JSON object with both string and integer
  representation, so it is posible to have this representation also for
  containers types like std::vetor or std::map this breaks retrocompatibility
  but is necessary to support clients written in languages which doesn't have
  64 bit integers support such as JavaScript or Dart
2020-04-14 12:17:01 +02:00
Gioacchino Mazzurco
d203f31d0c
Improve files links generation parsing and errors
Implement URL safe base64 for file links
Implement sneaking file data into URL fragment
Deprecate Radix65 in favore of RsBase64 which supports also URL safe encoding
2020-04-14 12:17:01 +02:00
Gioacchino Mazzurco
55d466f79b
Initial work on RsFiles links support in libretroshare 2020-04-14 12:17:01 +02:00
csoler
01b39bfe63
Merge pull request #1782 from sehraf/pr_improve_udpStunner
Reenable UDP stunner and add documentation
2020-02-15 22:15:36 +01:00
drbob
d748278637 update code to get Wiki / Wire and PhotoShare compiling again 2020-02-10 22:24:47 +11:00
sehraf
a7500473eb
enable DHT stunner 2020-02-09 20:31:13 +01:00
Gioacchino Mazzurco
df87fe53b1
Cleanup RsThread and related classes
Removed antipattern abstraction RsSingleJobThread
Rename runloop() method to run() in RsThread
Ported few classes ineriting from RsSingleJobThread to RsThread
RsThread use std::atomic instead of self implemented strange binary semaphores
Removed RsTickingThread::shutdown() use RsThread::askForStop() instead
Removed RsTickingThread::fullstop() use RsThread::fullstop() instead
Stop properly JSON API server in retroshare-gui
Centralize errno traslation to literal in util/rserrno.*
2019-12-30 10:38:54 +01:00
Gioacchino Mazzurco
655582e970
Improve license according to REUSE 3.0
FSFE licensing checking program lint is now happy

$ reuse lint

* Bad licenses:
* Missing licenses:
* Unused licenses:
* Used licenses: AGPL-3.0-only, AGPL-3.0-or-later, Apache-2.0, CC-BY-SA-4.0, CC0-1.0, GPL-3.0-or-later, LGPL-3.0-or-later, MIT
* Read errors: 0
* Files with copyright information: 6324 / 6324
* Files with license information: 6324 / 6324

Congratulations! Your project is compliant with version 3.0 of the REUSE Specification :-)
2019-12-18 17:57:20 +01:00
Gioacchino Mazzurco
610fedabb8
Fix JSON API related files licensing based on talk with Cyril and FSFE suggestions 2019-11-29 19:46:46 +01:00
Gioacchino Mazzurco
5bf8792bc5
Fix windows compile due to rsversion JSON API 2019-11-28 17:41:03 +01:00
Gioacchino Mazzurco
c73bdb83cd
Drop libresapi and modules that depends on it
A copy of the repository freezed before this deletion to ease old code
  viewing is available at
  https://github.com/RetroShare/zz_archive_RetroShare_libresapi
Removed some more cruft
Temporarly disabled JSON API generation of RsWebUi methods due to
  compilation breakage when rs_webui is disabled, RsWebUi keeps working
  but cannot be restarted from JSON API
2019-11-27 23:32:38 +01:00
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