Commit Graph

6506 Commits

Author SHA1 Message Date
csoler
56e17f077e fixed merge with upstream/master 2021-12-13 21:01:06 +01:00
csoler
7455013fc2 fixed std::cerr => RsErr() 2021-12-13 20:58:53 +01:00
csoler
24e862ae25 moved event loop in TorManager to the TorManager class 2021-12-13 20:28:07 +01:00
Gioacchino Mazzurco
e62b847234
Integrate python3 JSON API generator into libretroshare
Add more options to CMake:
  Support for JSON API
  Support for forum deep index

Fix bitdht CMake project name
General CMake files improvements
2021-12-13 18:46:56 +01:00
csoler
1c576411fb fixed control port reading 2021-12-10 18:01:21 +01:00
csoler
1571446a2e debugged pipe system with tor executable 2021-12-10 16:29:10 +01:00
csoler
7c77cfd603 fixed a few bugs in new TorManager 2021-12-09 22:19:00 +01:00
csoler
a757419d65 fixed compilation 2021-12-09 21:04:49 +01:00
Gioacchino Mazzurco
6a92b99da3
Initial CMake support for libretroshare
libretroshare (not all build options yet) and it's dependencies can now
  be built using CMake instead of qmake.
Even Qt itself deprecated qmake, which is not developed anymore, as
  build system and it was making many things much more difficult
  and requiring an enormous amount of black magic to support a wide
  range of platforms.
libretroshare can now easly be build as static or shared library with
  simple commands and a maintaniable build system:
```
cmake \
	-D RS_LIBRETROSHARE_STATIC=OFF -D RS_LIBRETROSHARE_SHARED=ON \
	-S $YOUR_RS_SOURCE_DIR/libretroshare/ -B .
make
```
2021-12-09 13:04:06 +01:00
Gioacchino Mazzurco
94bd099407
Rename DATA_DIR macro to less polluting RS_DATA_DIR 2021-12-09 12:56:48 +01:00
G10h4ck
e55fa2b9d5
Merge pull request #2517 from G10h4ck/android_without_qt
Run on Android without Qt
2021-12-08 13:35:03 +01:00
csoler
e0812dce83 added back read attempt for control port 2021-12-07 21:20:19 +01:00
csoler
b323a1635e fixed compilation. Qt is completely gone 2021-12-06 22:33:50 +01:00
csoler
7dc5c90d63 finished removing latest Qt bits 2021-12-06 22:08:56 +01:00
csoler
e75d312724 removed lots of signals/slots 2021-12-05 22:14:19 +01:00
csoler
bb37e2692b removed more QString, QHostAddress, QFile, QDir,... 2021-12-05 00:02:12 +01:00
csoler
b03802fa1b turned TorProcess into a non-Qt object, using built-in popen3 system 2021-12-02 23:15:06 +01:00
csoler
d7afbea1dd progress in using ByteArray+std::string 2021-12-01 23:05:16 +01:00
Gioacchino Mazzurco
2095dae95d
Fix build with older Java < 7 2021-11-30 17:00:02 +01:00
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
csoler
6a4cdcc471 continue on switching QString and QByteArray 2021-11-29 22:59:46 +01:00
csoler
e4fcf26ea8
Merge pull request #2500 from PhenomRetroShare/Add_ConnectFriendWizard_Imp
Add ConnectFriendWizard improvement.
2021-11-29 21:29:50 +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
csoler
e4ce32bef8 switching QString to std::string and QByteArray to ByteArray. Unfinished yet. 2021-11-25 23:28:01 +01:00
csoler
3845dc1ea7 added new files 2021-11-22 20:06:01 +01:00
csoler
0a5f3328df changed names SocketBioInterface->RsFdBinInterface and TcpSocket->RsTcpSocket (more consistent). Moved them to pqi/ 2021-11-16 22:19:27 +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
csoler
a5b1f2d976 created independent tcpsocket class to be used also in TorManager 2021-11-14 23:31:40 +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
csoler
4d06ab2b4a Merge remote-tracking branch 'upstream/master' into v0.6-TorControl 2021-11-11 18:28:02 +01:00
csoler
bef780e0c7 merged with upstream/master 2021-11-11 17:50:11 +01:00
csoler
5e50f23423 improved checking of short invite / pgp key in friend server. Added a key parsing method in PGPKeyManagement 2021-11-10 23:36:23 +01:00
Phenom
4cc0b9f492 Fix rsGetHostByNameSpecDNS by closing socket. 2021-11-08 10:20:44 +01:00
csoler
25ddbe099d fixed two-ways communication between client and server 2021-11-07 15:16:24 +01:00
csoler
aff7912f41 avoid sending packet slicing probes to the serializer in pqistreamer 2021-11-07 15:16:07 +01:00
csoler
5a55800f31 added sorting of peers (part 2/2) 2021-11-06 17:49:31 +01:00
Phenom
a072b151f5 Add ConnectFriendWizard improvement.
Add cert details in friendCertCleanLabel tooltip.
Use qss for background color of friendCertCleanLabel.
Add Known IP in final view.
2021-11-06 14:10:17 +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
csoler
af6dee088c first part of peer sorting in friend server 2021-11-05 16:52:00 +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
csoler
62655779e5 use recv(...,MSG_DONTWAIT), since read() may return multiple times the same data apparently 2021-11-04 20:52:38 +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
csoler
01da2fbe9e added debug output and fixed one bug in pqistreamer 2021-11-04 14:24:19 +01:00
Phenom
5e9bc9c2b8 Fix RsThread when nothing to do and run finish before start. 2021-11-03 17:14:11 +01:00
csoler
0191072326 added response system from friend server 2021-11-01 22:01:59 +01:00
thunder2
7be575045b Fixed git update of submodule supportlibs/libsam3 for MinGW compile 2021-11-01 18:45:10 +01:00
csoler
6b6d556e98 added nonce system for safe peer removal 2021-11-01 16:14:13 +01:00
csoler
b7c7c4c3f5 moved static/parsing of radix parts of short invites into RsCertificate (more code should be moved static there) and fixed adding incoming keys to friend server 2021-11-01 10:47:07 +01:00
csoler
5da31592f2 send/recv PGP public key and short invite 2021-11-01 09:16:41 +01:00
csoler
e058b3a35f fixed memory error 2021-10-31 18:00:43 +01:00
csoler
a69f9dc09b fixed two-ways communication between RS and friend server 2021-10-31 16:46:06 +01:00
csoler
42b4a821bd fixed basic incoming communication at server side 2021-10-31 12:02:09 +01:00
csoler
f0b23b84f1 added missing override in pqithreadstreamer 2021-10-31 12:01:44 +01:00
csoler
d659f768b5 fixed debug output in pqistreamer 2021-10-31 12:01:07 +01:00
csoler
ffa28000e3 added basic communication between FriendServer and its clients 2021-10-30 15:50:28 +02:00
csoler
d948086b5e added logic to stop/start FriendServer from GUI 2021-10-29 21:44:30 +02:00
csoler
7821b29893 fixed additional GPG->Pgp names 2021-10-29 20:29:18 +02:00
csoler
7672ffa0ec fixed casing of PGP into Pgp 2021-10-29 19:05:54 +02:00
csoler
fdac22f49c renamed remaining *GPG* names into *PGP* 2021-10-29 19:02:09 +02:00
csoler
5e37bd42e4 renamed isGPGAccepted into isPGPAccepted 2021-10-29 18:57:58 +02:00
csoler
b328c3a493 renamed AuthGPG into AuthPGP 2021-10-29 18:51:40 +02: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
csoler
19e42663a0 fixed compilation 2021-10-24 20:01:19 +02:00
csoler
b731cf34ee moved part of the code to libretroshare/src/friend_server 2021-10-24 17:41:23 +02:00
csoler
8939896abf added missing comment in pqi_base 2021-10-20 23:06:25 +02:00
csoler
8e4a9e6a38 implemented multiple clients in Friend Server 2021-10-19 23:24:50 +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
21ea281df4 added empty rsFriendServer struct and basic UI functionality 2021-10-13 22:50:09 +02:00
csoler
d97ad8099c added base network layer for friend server. Not working yet. 2021-10-09 01:08:23 +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