Hey, I'm fixing the package and module for NixOS for proper multiuser support.
While testing it I've had issues where I can't use the fs subsystem for example.
I asked for some help on the #gnunet-dev:matrix.org (conversation:
https://matrix.to/#/!IjaAfLiruzjxFFzKAV:matrix.org/$KMuufGy4RH8gvigN6G6Kv1M8V0Xw4pW7-VNTvsxqB4w?via=matrix.org&via=dodsorf.as&via=tchncs.de)
And I'll sum up the information from there:
```
2023-07-13T22:42:08.433075+0200 fs-942729 DEBUG Loading block plugin
`libgnunet_plugin_block_dht'
2023-07-13T22:42:08.433655+0200 fs-942729 DEBUG Loading block plugin
`libgnunet_plugin_block_setu_test'
2023-07-13T22:42:08.433799+0200 fs-942729 DEBUG Loading block plugin
`libgnunet_plugin_block_regex'
2023-07-13T22:42:08.433909+0200 fs-942729 DEBUG Loading block plugin
`libgnunet_plugin_block_fs'
2023-07-13T22:42:08.434001+0200 fs-942729 DEBUG Loading block plugin
`libgnunet_plugin_block_consensus'
2023-07-13T22:42:08.434101+0200 fs-942729 DEBUG Loading block plugin
`libgnunet_plugin_block_seti_test'
2023-07-13T22:42:08.434247+0200 fs-942729 DEBUG Loading block plugin
`libgnunet_plugin_block_test'
2023-07-13T22:42:08.434464+0200 fs-942729 DEBUG Loading block plugin
`libgnunet_plugin_block_gns'
2023-07-13T22:42:08.434562+0200 fs-942729 DEBUG Loading block plugin
`libgnunet_plugin_block_dns'
2023-07-13T22:42:08.434650+0200 fs-942729 DEBUG Loading block plugin
`libgnunet_plugin_block_set_test'
2023-07-13T22:42:08.434694+0200 fs-942729 DEBUG Scheduling gathering task
(queue size: 0)
2023-07-13T22:42:08.434753+0200 fs-942729 DEBUG I am peer A9G0
2023-07-13T22:42:08.434772+0200 fs-942729 DEBUG Initializing cadet FS server
with a limit of 128 connections
2023-07-13T22:42:08.434791+0200 fs-942729 DEBUG Listening to CADET port X6ZCYXAE
2023-07-13T22:42:08.435511+0200 fs-942729 ERROR Peer identity mismatch,
refusing to start!
2023-07-13T22:42:08.435535+0200 fs-942729 DEBUG Connected to peer PWPD
2023-07-13T22:42:08.435839+0200 fs-942729 DEBUG Cleaning all up
2023-07-13T22:42:08.436142+0200 fs-942729 DEBUG Cleaning all up
```
We thought this could be a configuration error, but this is my configuration:
System:
```
[PATHS]
GNUNET_DATA_HOME=/var/lib/gnunet/data
GNUNET_HOME=/var/lib/gnunet
GNUNET_RUNTIME_DIR=/run/gnunet
GNUNET_USER_RUNTIME_DIR=/run/gnunet
SUID_BINARY_PATH=/run/wrappers/bin
[arm]
START_SYSTEM_SERVICES=YES
START_USER_SERVICES=NO
[ats]
WAN_QUOTA_IN=unlimited
WAN_QUOTA_OUT=unlimited
[dns]
BINARY=/run/wrappers/bin/gnunet-service-dns
[hostlist]
OPTIONS=-b -e
SERVERS=http://v15.gnunet.org/hostlist https://gnunet.io/hostlist
[transport-udp]
PORT=2086
```
User:
```
[arm]
START_SYSTEM_SERVICES = NO
START_USER_SERVICES = YES
[PATHS]
GNUNET_USER_RUNTIME_DIR = /run/user/1001/gnunet
GNUNET_RUNTIME_DIR = /run/gnunet
```
the package in question is built like this:
https://github.com/dali99/nixpkgs/blob/f3f957898abb08f03e6440c5971fd7bdefb4e426/pkgs/applications/networking/p2p/gnunet/default.nix
There are some suspicious things in there like
```
find . \( -name \*.c -or -name \*.conf \) | \
xargs sed -ie 's|\<localhost\>|127.0.0.1|g'
```
We also applied a patch for getting more debug
```
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"Peer identity mismatch, refusing to start! Core delivered
%s.\n",
GNUNET_i2s (my_identity));
```
which led to
`Peer identity mismatch, refusing to start! Core delivered PWPD.`
I have also managed to reproduce the issue on a fresh computer:
```
2023-07-20T00:21:31.607399+0200 fs-436221 DEBUG I am peer MTVW
2023-07-20T00:21:31.607430+0200 fs-436221 DEBUG Initializing cadet FS server
with a limit of 128 connections
2023-07-20T00:21:31.607462+0200 fs-436221 DEBUG Listening to CADET port X6ZCYXAE
2023-07-20T00:21:31.607864+0200 fs-436221 ERROR Peer identity mismatch,
refusing to start! Core delivered CB8Y.
2023-07-20T00:21:31.607897+0200 fs-436221 DEBUG Connected to peer CB8Y
```
Now for new information:
Running `gnunet-peerinfo -s` as my user gives `I am peer
`PWPDYS6QHJKBXGP7QA1R36DQ53G0W1FHQA5EJHGMM0KYDWQZKD8G'. This looks it matches the
"core delivered PWPD" part.
Where A9G0 comes from is a real question.
If I could get any pointers on what or how to debug this I would be grateful,
and we could merge some much needed improvements to the NixOS package.