Commit Graph

896 Commits

Author SHA1 Message Date
Gioacchino Mazzurco
ba58eba34e
Complete API for forums
Add new blocking methods
Deprecate old unsafe methods
2018-11-16 17:03:25 +01:00
csoler
630609c11c
fixed retroshare.project email in licenses 2018-11-11 20:42:48 +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
csoler
98bf2922cb
removed old/unused files 2018-11-11 14:24:47 +01:00
Gioacchino Mazzurco
8b8ad3bce5
Forum API for creation and posting
Deprecate old functions that expose internal functioning
2018-11-10 16:30:35 +01:00
Gioacchino Mazzurco
1d110600fc
Minor cleanups in GxsChannels 2018-11-10 16:29:39 +01:00
Gioacchino Mazzurco
e449ffba04
Better include in RsGxsChannels 2018-11-09 23:46:21 +01:00
Gioacchino Mazzurco
ea86fe2615
Safer RsGxsChannel API
Deprecated old method which exposed interna async mechanism to the API
  users, making their and out life difficult
Things that really need to be async like turtle search/requests now accept
  callbacks, so the caller can be notified everytime some result is got
  back
Implement RsThread::async commodity wrapper to execute blocking API
  calls without blocking the caller, this could be optimized
  trasparently using a thread pool if necessary
Added hints into some retroshare-gui files on how to use RsThread::async
  thoghether with QMetaObject::invokeMethod and blocking RetroShare API
  to simplyfy interaction between GUI and libretroshare
2018-11-09 12:41:08 +01:00
Gioacchino Mazzurco
8fd22c8fd1
Safer rsGxsChannel API
Protect data members with mutexes
Print messages when errors happens
2018-11-09 12:41:08 +01:00
Gioacchino Mazzurco
eca4f8adf7
JSON API to check if PGP id is friend 2018-11-01 23:26:42 +01:00
csoler
20391371c7
fixed bug causing some GXS sync tunnels to remain unused and prevent new tunnels to be created 2018-10-28 17:29:48 +01:00
Phenom
358f27be06 Fix warnings in MessagePage.cpp
/retroshare-gui/src/gui/settings/MessagePage.cpp:62:19: warning:
deleting object of polymorphic class type 'Rs::Msgs::MsgTagType' which
has non-virtual destructor might cause undefined behavior [-Wdelete-non-
virtual-dtor]
/retroshare-gui/src/gui/settings/MessagePage.cpp:62: warning: delete
called on non-final 'Rs::Msgs::MsgTagType' that has virtual functions
but non-virtual destructor
/retroshare-gui/src/gui/settings/MessagePage.cpp:86: warning: use of
old-style cast
/retroshare-gui/src/gui/settings/MessagePage.cpp:172: warning: zero as
null pointer constant
/retroshare-gui/src/gui/settings/MessagePage.cpp:176: warning: implicit
conversion changes signedness: 'int' to 'uint32_t' (aka 'unsigned int')
/retroshare-gui/src/gui/settings/MessagePage.cpp:203: warning: zero as
null pointer constant
/retroshare-gui/src/gui/settings/MessagePage.cpp:207: warning: implicit
conversion changes signedness: 'int' to 'uint32_t' (aka 'unsigned int')
/retroshare-gui/src/gui/settings/MessagePage.cpp:261: warning: implicit
conversion changes signedness: 'int' to 'uint32_t' (aka 'unsigned int')

/libretroshare/src/retroshare/rsmsgs.h:168: warning:
'Rs::Msgs::MessageInfo' has virtual functions but non-virtual destructor
/libretroshare/src/retroshare/rsmsgs.h:168: warning: 'MessageInfo' has
no out-of-line virtual method definitions; its vtable will be emitted in
every translation unit
/libretroshare/src/retroshare/rsmsgs.h:234: warning:
'Rs::Msgs::MsgInfoSummary' has virtual functions but non-virtual
destructor
/libretroshare/src/retroshare/rsmsgs.h:234: warning: 'MsgInfoSummary'
has no out-of-line virtual method definitions; its vtable will be
emitted in every translation unit
/libretroshare/src/retroshare/rsmsgs.h:261: warning:
'Rs::Msgs::MsgTagInfo' has virtual functions but non-virtual destructor
/libretroshare/src/retroshare/rsmsgs.h:328: warning: 'ChatId' has
virtual functions but non-virtual destructor
/libretroshare/src/retroshare/rsmsgs.h:400: warning: 'ChatLobbyInvite'
has virtual functions but non-virtual destructor
/libretroshare/src/retroshare/rsmsgs.h:420: warning:
'VisibleChatLobbyRecord' has virtual functions but non-virtual
destructor
/libretroshare/src/retroshare/rsmsgs.h:420: warning:
'VisibleChatLobbyRecord' has no out-of-line virtual method definitions;
its vtable will be emitted in every translation unit
/libretroshare/src/retroshare/rsmsgs.h:449: warning: 'ChatLobbyInfo' has
virtual functions but non-virtual destructor
/libretroshare/src/retroshare/rsmsgs.h:486: warning: 'RsMsgs' has no
out-of-line virtual method definitions; its vtable will be emitted in
every translation unit

About vtable:
https://stackoverflow.com/questions/23746941/what-is-the-meaning-of-
clangs-wweak-vtables
https://stackoverflow.com/questions/50463374/avoid-weak-vtable-warnings-
for-classes-only-defined-in-a-source-file
2018-10-23 17:43:01 +02:00
Gioacchino Mazzurco
e746b5b4a0
JSON API unauthenticated access to /rsAccounts/getCurrentAccountId 2018-10-22 00:24:02 +02:00
Gioacchino Mazzurco
6543d713e4
JSON API import/export PGP key to file 2018-10-21 17:12:13 +02:00
Gioacchino Mazzurco
7a1375ff6f
rsPeers add few JSON API calls 2018-10-20 21:13:10 +02:00
Gioacchino Mazzurco
9e2c4ce49e
JSON API authorize token in createLocation
Solve uncoherent 401 behaviour at first use without login
2018-10-19 15:10:15 +02:00
Gioacchino Mazzurco
b3d73ba6a5
Suppress aliasing warning in DirDetails and DirStub
Order of serialization doesn't matter ATM as we use those only for
  JSON API.
Those classes should be rewritten anyway with proper naming of the
  memebers and using std::uintptr_t instead of void* and rstime_t for
  timestamps
2018-10-10 23:32:32 +02:00
G10h4ck
047ae7f723
Merge branch 'master' into jsonapi 2018-10-10 22:23:28 +02:00
csoler
18eee374f1
Merge pull request #1361 from sehraf/pr_jsonfy-rsMsg
[jsonapi] add most remaining functions of rsMsg
2018-10-10 22:04:32 +02:00
Gioacchino Mazzurco
321fc8a8d4
Implement mostly decent JSON API for channels and post creation
Now the possible id of the cannel/post is returned and channel/post is
indexed on creation without having to wait for gxsutil scan to happen

Note that the id is correct in normal usage, but if one try to overload
the API per eventually get the id of another channel/post with same data
but created by a different call, it is not dangerous so one trying to
overload the API is just getting a possibly wrong but equivalent
channel/post id returned.
2018-10-10 06:40:56 +02:00
Gioacchino Mazzurco
c05c376351
Expose /rsFiles/requestDirDetails via JSON API
This method is useful to browse own shared directries, or directries
shared by friends whith browseable permission
2018-10-09 22:58:17 +02:00
Gioacchino Mazzurco
7798e50123
Expose JSON API for ForceDirectoryCheck 2018-10-09 11:34:57 +02:00
Gioacchino Mazzurco
406822b5ec
Expose JSON API for file filtering 2018-10-09 11:34:56 +02:00
Gioacchino Mazzurco
329050a9c2
Use safer rstime_t instead of time_t
Avoid problems to serialization on different platforms, without breaking
nested STL containers serialization.

The conversion have been made with sed, and checked with grep, plus
kdiff3 visual ispection, plus rutime tests, so it should be fine.
2018-10-07 13:07:06 +02:00
Gioacchino Mazzurco
1d8bb44811
Fix warnings 2018-10-05 01:55:18 +02:00
Gioacchino Mazzurco
321d2e84bd
gxschannel expose blocking create post and channels API 2018-10-04 23:36:01 +02:00
sehraf
6dabb81dc0
rsMsg: unify parameter name 2018-10-04 23:25:23 +02:00
sehraf
500eb7f518
jsonapi: add rsMsg tagging functions 2018-10-04 23:24:06 +02:00
sehraf
897c8e0a8a
jsonapi: more rsMsg functions 2018-10-04 22:43:13 +02:00
sehraf
150af40e09
jsonapi: convert and add getMessageCount 2018-10-04 22:43:12 +02:00
sehraf
285158db5f
jsonapi: access messages (mail) 2018-10-04 22:43:12 +02:00
Gioacchino Mazzurco
7c986b926d
Remove overloaded GetRetroshareInvite method
now the original method has default paramether that return invite for
  own node, this way JSON API is more friendly
2018-10-04 19:14:16 +02:00
Gioacchino Mazzurco
7cc15c703c
Fix forward declarations class struct missmatch 2018-10-03 19:07:46 +02:00
csoler
81fc3b7921
select GxsIds as default list to chose msg destination from 2018-10-03 15:25:53 +02:00
csoler
7ab7c7db93
added possibility to remove extra shared file 2018-09-27 16:53:08 +02:00
csoler
1383846364
added extra list view in own files. 2018-09-27 13:42:49 +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
Gioacchino Mazzurco
cd03953b1a
Provide meaningful devault value in rsversion.h 2018-09-15 21:07:03 +02:00
sehraf
0b6644cd55
get rid of unused variables 2018-09-15 14:38:57 +02:00
sehraf
1e85b05f09
get rid of cipher_version variable. use plain output from openssl 2018-09-15 14:37:40 +02:00
Gioacchino Mazzurco
1694e37c58
More fixes to JSON API
Remove unnecessary dangerous method from RsLoginHelper
Fix documentation for RsServiceControl::getServiceName that was breaking
  JSON API and causing compilation warning
2018-09-12 10:49:37 +02:00
Gioacchino Mazzurco
92f90178c4
RS version is now parametrizable at compile time
Avoid the need of dirty patching to set the version at build time
In case RS version is not passed as argument attempt to determine it
  using git describe, if unavailable use hardcoded default
2018-09-12 10:49:36 +02:00
Gioacchino Mazzurco
5495f43c51
Fix RsServiceControl::getServiceItemNames doc
Was breaking JSON API and causing some compilation warnings
2018-09-12 00:31:16 +02:00
csoler
b138263878
Merge pull request #1323 from csoler/v0.6-ForumAdmin
V0.6 forum admin
2018-09-11 15:17:33 +02:00
csoler
c17b821ea6
Merge pull request #1334 from csoler/v0.6-GxsFix
auto send of own signed GXS ids to friends in discovery
2018-09-10 20:39:29 +02:00
sehraf
247c368279
incorporated requested changes 2018-09-09 22:22:55 +02:00
sehraf
ae6a5c74d2
add rsPeer groups to jsonapi 2018-09-08 17:04:29 +02:00
sehraf
5a961179f3
unify parameter names 2018-09-08 09:48:27 +02:00
sehraf
31b0f67e94
jsonfy RsServiceControl 2018-09-08 09:47:45 +02:00
sehraf
9306d8ccc8
drop deprecated function 2018-09-08 08:58:42 +02:00
sehraf
ae14a01d58
add json support to getWaitingDiscCount 2018-09-07 14:19:06 +02:00
sehraf
be50400114
jsonfy rsDisc 2018-09-07 14:17:44 +02:00
sehraf
fb8e49ee66
jsonjy rsConfig 2018-09-07 12:58:30 +02:00
csoler
3402f7d9b5
auto send of own signed GXS ids to friends in discovery 2018-09-06 21:15:25 +02:00
Gioacchino Mazzurco
2c8aa5a1fe
RsAccounts::getCurrentAccountId is now static 2018-09-06 02:04:48 +02:00
Gioacchino Mazzurco
7787f9d62f
Merge branch 'master' into jsonapi 2018-09-05 00:17:21 +02:00
csoler
59535eac8a
added a flag for moderating messages to help removign them when the author is not a moderator anymore 2018-09-02 17:07:40 +02:00
Gioacchino Mazzurco
cc6f0b1f05
Expose RsPeers JSON API
Added also new method for better usability via the API that allow to add
  friend directly for RetroShare invitation (supports also URL) without
  having to call to mulptiple metods to set IP etc.
  RsPeers::acceptInvite
  /rsPeers/acceptInvite
2018-08-30 21:45:51 +02:00
Gioacchino Mazzurco
a8ddec03fc
Expose more login related JSON API
/rsLoginHelper/isLoggedIn to check if already logged in
/rsAccounts/getCurrentAccountId to get the id of current selected
  account, beware that an account may be selected without actually logging in
2018-08-30 19:09:50 +02:00
csoler
5c2f714ada
merged with upstream/master 2018-08-30 14:50:16 +02:00
csoler
65304a301a
added last relay (a.k.a which direct friend) of search results in sources column 2018-08-28 23:57:16 +02:00
csoler
c9b30f5a72
fixed merged with upstream/master 2018-08-28 23:42:24 +02:00
Gioacchino Mazzurco
75e882bb9f
Make NotifyClient class again 2018-08-28 14:12:09 +02:00
Gioacchino Mazzurco
1dfe64443f
Improve documentation 2018-08-26 11:39:26 +02:00
csoler
c14d898901
added some debug info to file control system and fixes a problem with sending TS 2018-08-25 18:44:29 +02:00
G10h4ck
41f7235ed0
Merge pull request #2 from sehraf/pr_improve_json
Multiple fixes on json handling by sehraf
2018-08-25 18:05:56 +02:00
Gioacchino Mazzurco
c50405c070
Expose /rsFiles/turtleSearchRequest via JSON API
Expose new async C++ API RsFiles::turtleSearchRequest with callback
Modernize TurtleFileInfo serialization code keeping retrocompatibility
2018-08-25 17:58:04 +02:00
sehraf
588295e1e5
make RsGroupInfo serializable 2018-08-25 16:52:46 +02:00
Gioacchino Mazzurco
afb92999d8
Enable JSON conversion for RsGxsImage via MemBlockProxy 2018-08-24 00:31:25 +02:00
Gioacchino Mazzurco
afeb408f7a
Expose more RsFiles via JSON API
FileInfo remove dead static members
2018-08-23 22:38:21 +02:00
Gioacchino Mazzurco
3b72f912e4
Improve API
Manually expose /rsFiles/getFileData to stream/preview files
Automatically expose a bunch of methods via JSON API
Implement serial_process for std::pair
2018-08-23 01:39:26 +02:00
csoler
3055897425
added filter in p3turtle against banned hashes in tunnel requests and search results 2018-08-22 21:57:56 +02:00
Gioacchino Mazzurco
ab6a5c07cc
RsLoginHelper::createLocation expose capability of creating hidden locations 2018-08-22 17:22:27 +02:00
Gioacchino Mazzurco
396fe49312
Merge branch 'master' into jsonapi 2018-08-22 16:59:42 +02:00
Gioacchino Mazzurco
fe8c2c4683
Merge branch 'jsonapi' of github.com:G10h4ck/RetroShare into jsonapi 2018-08-16 23:51:35 +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
csoler
50e03a539c
basic infrastructure for banning unwanted file content 2018-08-16 18:49:36 +02:00
csoler
5b1c150acb
added background for post pinning and logic to edit others posts 2018-08-12 15:30:07 +02:00
csoler
ded9c21617
added selection boxes to add forum moderators 2018-08-09 21:18:37 +02:00
csoler
cc51298de6
fixed warning about badly overloaded function in rsexpr.h 2018-08-02 14:13:14 +02:00
sehraf
97194fd092
Add wrapper function to convert uint16_t service IDs to internal unsigned int.
Use it when looking up service names.
2018-08-01 20:47:02 +02:00
csoler
cc1a05ddc9
fixed certificate creation in TorAuto mode 2018-07-27 12:33:06 +02:00
csoler
d1a375cbd0
removed RETROTOR #ifdef and started using RsAccounts::isTorAuto() instead. Unfinished yet. 2018-07-25 11:37:40 +02:00
csoler
0f758902cd
started cleaning the mess with rsAccounts: only exposed useful functionality of rsAccount beyond a static class and removed all references to rsAccounts in the code 2018-07-24 23:47:32 +02:00
sehraf
e6acb52d17
add simple chat support 2018-07-24 20:09:45 +02:00
Gioacchino Mazzurco
1bc518041c
Experiment of notification via NotifyClient + JSON API 2018-07-23 14:52:17 +02:00
Gioacchino Mazzurco
130007b578
Merge branch 'master' into jsonapi 2018-07-23 13:44:01 +02:00
Gioacchino Mazzurco
f97dc8a125
Properly plug deep search in GXS search
Some modifications breaks retrocompatibility of GXS search:
  remove horrible templated RsTypeSerializer::serial_process for
    RsGxsGroupSummary with hardcoded member names
  RsGxsGroupSummary doesn't use old TLV serialization format anymore
  RsGxsGroupSummary remove unused description member
  RsGxsGroupSummary derive from RsSerializable and use serialization
    helper macro
Add autor id and signature flags to the index so there is no need to
  retrive them from GXS, thus improving performances
RsGroupNetworkStats initialize members properly
RsGxsGroupSummary rename members to follow usual mMemberName convention
2018-07-22 21:33:40 +02:00
Gioacchino Mazzurco
ff166b2295
Merge branch 'master' into deep_search 2018-07-21 12:57:05 +02:00
Gioacchino Mazzurco
3fc9ff3fef
WIP Plug deep search into GXS search 2018-07-20 15:29:37 +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
1de31493a9
fixed up display of GXS net tunnel info 2018-07-15 19:09:12 +02:00
csoler
b20bd0a454
added admin list to forum group data 2018-07-15 10:13:04 +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
csoler
4a64ea5f1f
added optional use of dist sync in GroupFrameDialog 2018-07-05 14:00:04 +02:00
Gioacchino Mazzurco
5a41b3cb37
Index only public channels 2018-07-02 17:31:47 +02:00
Gioacchino Mazzurco
418c42bd11
Extra locators in cert invite made optional 2018-07-02 13:50:02 +02:00