View Issue Details

IDProjectCategoryView StatusLast Update
0005119GNUnetGNSpublic2019-02-28 11:17
Reporternikita Assigned Tonikita  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.11.0Fixed in Version0.11.0 
Summary0005119: followup to 0005078 / GNS library file changes
DescriptionI was just informed that was solved by:

> Users / distros now must manually move the $PREFIX/lib/gnunet/nss/* files to the respective directory where libc expects NSS plugins (or adjust the search path).

This is bad in practice. There is no notice about this, no message. And even if you are expected to read something as a package maintainer (as in package in distro) you are likely to miss it.
The best is to to assume no interaction.
So what's the best way to solve this? I can simply adjust this on my system and the package, that's not a problem.
There should be a configure time option to select the directory for this.
TagsNo tags attached.


Christian Grothoff

2018-04-01 15:52

manager   ~0012912

The big issue here is that this is not so much about installing the plugin in the NSS directory. The bigger required change (for the user) is to activate it by editing /etc/nsswitch.conf. Doing that is a big decision, so it should only be done by a package maintainer or end-user who knows what they are doing (and how to revert).


2018-05-22 12:49

developer   ~0012941

/etc/nssswitch.conf is no problem in my opinion.
What bothers me more is expected manual intervention for lib/gnunet/nss/* ... the nssswitch.conf can be installed (it is now in contrib/conf/nss/) as "example" data under share/gnunet/nss/$file.
It's not problem to adjust and extend the nss search-path, but we should communicate it. 9 out of 10 package maintainers will probably not get it if we simply write it in the manual. And for those who skip the README file, we can make an output on the screen ("for nss support, do...") after make has finished.

That's how I would resolve this issue for now.


Christian Grothoff

2018-06-04 18:43

manager   ~0012979

Having a configure option still means maintainers could miss it. But feel free to add it, as long as not setting it doesn't break the build.


2019-02-13 21:24

developer   ~0013711

Another take on this: install it as example data as part of a normal installation.

Christian Grothoff

2019-02-13 22:32

manager   ~0013712

You mean the configuration file? I hope you don't intend to install the plugin as example data ;-)


2019-02-13 22:40

developer   ~0013713

Last edited: 2019-02-13 22:41

Yes, the configuration file.
Since it's been a while, can you list the files required for this to be copied, including the configuration file?

in the default setting, $out/lib/gnunet/nss/ does not exist, so I have no current list to go by (or I failed to pass the path to nss).

Christian Grothoff

2019-02-13 22:55

manager   ~0013714

Basically, the line "hosts" in /etc/nsswitch.conf must be changed
to contain gns.

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

hosts: files gns [NOTFOUND=return] mdns4_minimal [NOTFOUND=return] dns mdns4


2019-02-13 23:26

developer   ~0013721

Okay, thanks.

No other files are involved, no .so moving somewhere by hand / automation?

Christian Grothoff

2019-02-13 23:52

manager   ~0013730

Only this file, plus that the NSS plugin must be in the "correct" location.


2019-02-14 00:00

developer   ~0013734

Okay, I think I can work with this.
This could be closed for now, we should work this into the README, the documentation handbook and other relevant parts as well as include it as a change in the release message maybe (for maintainers to pick up on it).

Christian Grothoff

2019-02-14 10:12

manager   ~0013740

Ok, for the release message, I've started a pad for collaborative editing:

Issue History

Date Modified Username Field Change
2017-08-17 18:35 nikita New Issue
2018-04-01 15:52 Christian Grothoff Note Added: 0012912
2018-05-22 12:49 nikita Note Added: 0012941
2018-05-22 12:50 nikita Assigned To => nikita
2018-05-22 12:50 nikita Status new => assigned
2018-06-04 18:43 Christian Grothoff Note Added: 0012979
2019-02-13 21:24 nikita Note Added: 0013711
2019-02-13 21:24 nikita Assigned To nikita => Christian Grothoff
2019-02-13 21:24 nikita Status assigned => feedback
2019-02-13 22:32 Christian Grothoff Note Added: 0013712
2019-02-13 22:40 nikita Note Added: 0013713
2019-02-13 22:40 nikita Status feedback => assigned
2019-02-13 22:41 nikita Note Edited: 0013713
2019-02-13 22:55 Christian Grothoff Note Added: 0013714
2019-02-13 22:55 Christian Grothoff Assigned To Christian Grothoff => nikita
2019-02-13 22:55 Christian Grothoff Status assigned => feedback
2019-02-13 23:26 nikita Note Added: 0013721
2019-02-13 23:52 Christian Grothoff Note Added: 0013730
2019-02-14 00:00 nikita Note Added: 0013734
2019-02-14 10:12 Christian Grothoff Note Added: 0013740
2019-02-14 10:12 Christian Grothoff Status feedback => resolved
2019-02-14 10:12 Christian Grothoff Resolution open => fixed
2019-02-14 10:12 Christian Grothoff Fixed in Version => 0.11.0
2019-02-14 10:13 Christian Grothoff Product Version => Git master
2019-02-14 10:13 Christian Grothoff Target Version => 0.11.0
2019-02-28 11:17 Christian Grothoff Status resolved => closed