Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Effectiveness of --disable-dynamic-nss?


Someone was mentioning on the #zsh channel that $USERNAME was empty
when they compiled statically and I vaguely remembered glibc doesn't
support name lookup statically, which led me to look at
--disable-dynamic-nss. I noticed it seems to define USE_* stuff when
the switch is not given for some HAVE_* stuff that pertains to name
lookup. However, even in the commit where it was introduced, it
skipped many HAVE_GETPWNAM (for example), and converted others, some
even within the diff context of other defines that were changed. So my
two questions are:

Is there a reason they were left alone or does the switch not work?
If they're all meant to be disabled, why not just have it #undef the
HAVE_* defines instead of defining new things and changing every user,
and hope nobody ever introduces new HAVE_* #ifdefs?

And tangentially, is $USERNAME supposed to return anything when
compiled with this switch given? The function that handles this
parameter was switched to USE_INITGROUPS but still uses HAVE_GETPWNAM,
which is confusing to me.

Mikael Magnusson

Messages sorted by: Reverse Date, Date, Thread, Author