Commit Graph

6380 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
941ec42502
Merge pull request #2513 from G10h4ck/forum_deep_search_wildcard
Forum deep search support wildcard* search
2021-11-26 17:23:09 +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
1e9a26893c
Forum deep search support wildcard* search
Xapian have support for wildcard search
  wild* matches wild, wildcard, wildcat, wilderness
  but it need to be enabled by passing a specific flag to the query
  parser, this is very useful for forum search so enable it in addition
  to default Xapian search capabilities
2021-11-16 10:52:18 +01:00
Gioacchino Mazzurco
cd5dad6a75
Rename GXS pullFromPeers to pullFromPeers
According to what discussed with Cyril
2021-11-12 19:11:02 +01:00
Gioacchino Mazzurco
ebbd8cf938
Forums expose API to request syncronization 2021-11-12 18:46:36 +01:00
Gioacchino Mazzurco
fc404bd5d8
RsGxsNetService trigger pulling on group subscribe 2021-11-12 18:43:52 +01:00
Gioacchino Mazzurco
6295e91304
Request pull from peers when GXS message is created 2021-11-12 18:43:52 +01:00
Gioacchino Mazzurco
b42323013e
Fix includes in rsnxs.h 2021-11-12 18:43:49 +01:00
Gioacchino Mazzurco
a7f1e94cea
Request pull from peers when GXS group is created 2021-11-12 18:42:55 +01:00
Gioacchino Mazzurco
a374f1dc6b
Implement RsNxsSerialiser::create_item for RsNxsPullRequestItem 2021-11-12 18:41:18 +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
4cc0b9f492 Fix rsGetHostByNameSpecDNS by closing socket. 2021-11-08 10:20:44 +01:00
Gioacchino Mazzurco
e8b97405b9
Fix android build due missing include 2021-11-06 11:35:28 +01:00
Phenom
91a35f4a21 Change some code according G10h4ck remarks. 2021-11-06 00:32:36 +01:00
Phenom
7755f85c4c Move DNS stuff to single new file rsdnsutils.cc. 2021-11-05 22:48:41 +01:00
Phenom
81d2ddd7c7 Enable IPv6 DNS ExtIpFinder
Now empty node with only IPv6 can connect to other.
2021-11-05 22:48:41 +01:00
Phenom
a09db6717b Add ability to retrieve External IP using DNS server.
IPV6 compatible.
2021-11-05 22:48:41 +01:00
Gioacchino Mazzurco
fa48b03fac
mark single argument RsStackMutex costructor explicit 2021-11-05 15:31:08 +01:00
Gioacchino Mazzurco
a9fe1ba6de
Make DirStub serialization consistent on all architectures
Thanks elRepo.io developers to detect and report this bug with detail
https://gitlab.com/elRepo.io/elRepo.io-android/-/issues/52
2021-11-05 12:02:56 +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
Phenom
5e9bc9c2b8 Fix RsThread when nothing to do and run finish before start. 2021-11-03 17:14:11 +01:00
thunder2
7be575045b Fixed git update of submodule supportlibs/libsam3 for MinGW compile 2021-11-01 18:45:10 +01:00
Gioacchino Mazzurco
62810d32e1
deep_search: fix compilation with old Xapian versions 2021-10-28 09:53:55 +02:00
Gioacchino Mazzurco
0b58740174
Properly avoid private forum leak in deep search
mGroupFlags & GXS_SERV::FLAG_PRIVACY_PUBLIC is always true for forums
  even if they are circle restricted, use circle flags to check if it
  is really public
2021-10-28 09:53:55 +02:00
Gioacchino Mazzurco
2196505d19
RsGxsForumsDistantSearchEvent fix event type 2021-10-28 09:53:54 +02:00
Gioacchino Mazzurco
bf8ddf498e
Fix Android compilation 2021-10-28 09:53:54 +02:00
Gioacchino Mazzurco
dcb2bee8cc
Epurate this branch from channels deep search changes 2021-10-28 09:53:54 +02:00
Gioacchino Mazzurco
9c38eed648
Implement deep indexing and search for forums
RsGxsNetTunnelService::receiveSearchRequest handle no results case
  properly
RsNxsObserver::handleDistantSearchRequest improve method behaviour
  documentation
RsTurtleClientService Improve documentation
2021-10-28 09:53:48 +02: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
Gioacchino Mazzurco
ab349a8157
Use unannotated pointer as per Cyril taste 2021-10-28 09:51:29 +02:00
Gioacchino Mazzurco
cef43fe048
Notify one deletion per event as Cyril suggested 2021-10-28 09:51:29 +02:00
Gioacchino Mazzurco
045069c3e6
Implement proper GXS message deletion notification
GxsForums propagate message deletion notification as RsEvent
2021-10-28 09:51:29 +02:00
G10h4ck
b920263947
Merge pull request #2442 from G10h4ck/notify_hashing_file_completed
Emit an event when a shared file hashing complete
2021-10-28 09:24:45 +02:00
Gioacchino Mazzurco
b659643748
Attempt to fix non sam3 builds 2021-10-25 15:50:19 +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
Gioacchino Mazzurco
34593d1b6f
Emit an event when a shared file hashing complete
Properly notify when a shared file has been hashed
Deprecate event with arbitrary data packed in std::string
2021-10-19 18:23:55 +02:00
G10h4ck
58016fff65
Merge pull request #2444 from G10h4ck/single_file_share_plus_cleanup
Single file share plus cleanup
2021-10-19 15:45:32 +02:00
csoler
9a440e077e automatically close ongoing uploads when we stop sharing an extra file 2021-09-21 20:47:25 +02:00
csoler
0ca399ebf5
Merge pull request #2467 from csoler/v0.6-BugFixing_13
V0.6 bug fixing 13
2021-09-06 10:08:23 +02:00
Gioacchino Mazzurco
19915a8eb4
Fix broken line endings 2021-09-03 14:56:45 +02:00
Gioacchino Mazzurco
a18d6aaa1e
Add JSON API to get/set storage and sync GXS time 2021-09-03 14:55:03 +02:00
csoler
e22c5c9702 added bool return value to denyLobbyInvite() and marked overriding methods in p3msgs accordingly 2021-08-29 21:15:52 +02:00
csoler
563fc14532
Merge pull request #2459 from hunbernd/fix/partialfiles
Fix: additional / when combining file paths
2021-08-22 21:30:01 +02:00
Gioacchino Mazzurco
8bed99cc9f
Fix compilation with C++17 2021-08-06 12:15:34 +02:00
Gioacchino Mazzurco
e850e00a82
Optimization, cleanup, compiler warning fix
Chores I have made while working on single file share
2021-07-19 16:40:13 +02:00
Gioacchino Mazzurco
817a961013
Improve RsDirUtil::lastWriteTime error reporting 2021-07-18 22:41:14 +02:00
Gioacchino Mazzurco
9970f9d22f
Avoid leaking single shared file path in search results
Single shared files are a bit special and contain the full path in the
  name because they are not shared as part of a directory, epurate the
  path component from matching process and from search result
2021-07-18 21:16:46 +02:00