View Issue Details

IDProjectCategoryView StatusLast Update
0005669GNUnetrest servicepublic2026-01-25 14:15
Reporterschanzen Assigned Toschanzen Due Date
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Target Version0.17.6Fixed in Version0.17.6 
Summary0005669: REST service is not multiuser enabled
DescriptionThe service potentially exposes a users GNUnet services to other users (on the same system) through the REST service.

the GNUnet architecture is comprised of services which communicate via IPC. On UNIX systems, the communications happen via UNIX sockets.
The architecture distinguishes user components and system components.
System components are processes used by all users of the same system and user components are processes of the user.
https://gnunet.org/en/architecture.html

An example for a system component would be the basic connectivity service such as core or transport.
An example for a user component would be the "identity" service which store's a user's identities (public/private key pairs).
Each user runs his own identity service.

The problem with the current REST service is that it listens on a specific port: 7776.
So there can only be one process (service) => It must be a system service.
However, the identity REST API must use the correct identity service for the user calling the API.

Hence, the goal is to extend the REST service to:

1. Authenticate the user (e.g. using PAM and setuid()). For example using HTTP Basic Authentication
2. Load the user-specific GNUnet service configuration to connect to the (correct) user services.

It may also be a good idea to have the option for a "single user" mode for the REST service which does not require a password.
TagsNo tags attached.

Activities

There are no notes attached to this issue.

Issue History

Date ModifiedUsernameFieldChange
2019-03-27 16:13schanzenNew Issue
2019-03-27 16:13schanzenStatusnew => assigned
2019-03-27 16:13schanzenAssigned To => schanzen
2021-02-14 10:12schanzenDescription Updated
2021-02-21 10:01schanzenTag Attached: gsoc
2022-02-26 22:14schanzenTarget Version => 1.0.0
2022-09-08 20:21schanzenTarget Version1.0.0 => 0.17.6
2022-09-08 20:22schanzenStatusassigned => resolved
2022-09-08 20:22schanzenResolutionopen => fixed
2022-09-08 20:22schanzenFixed in Version => 0.17.6
2022-09-26 18:54Christian GrothoffStatusresolved => closed
2026-01-25 14:15Christian GrothoffTag Detached: gsoc