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.
This commit is contained in:
Gioacchino Mazzurco 2018-09-29 00:15:10 +02:00
parent 359e11433b
commit 0078501dba
No known key found for this signature in database
GPG key ID: A1FBCA3872E87051
18 changed files with 894 additions and 17 deletions

View file

@ -16,7 +16,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
//#include "util/rsurl.h"
#include "rsurl.h"
#include <cstdio>
@ -245,7 +245,7 @@ RsUrl& RsUrl::setFragment(const std::string& fragment)
if(str[i] == '%' && i < boundary)
{
decoded << static_cast<char>(stoi(str.substr(++i, 2), 0, 16));
decoded << static_cast<char>(std::stoi(str.substr(++i, 2), 0, 16));
++i;
}
else decoded << str[i];