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

Re: "Once-a-day" long delay before startup

On Aug 19, 12:08am, Piotr Karbowski wrote:
} +compaudit:90> (( UID == EUID  ))
} after that it take about 7-8s of nothing and then:
} +compaudit:91> getent group slashbeast

The compaudit script wants to check that you haven't allowed someone
else to feed autoloadable functions to your shell, which would be a
large security risk.

The getent call is used to read the system's groups database for the
groups of your login user, so that the shell can then check whether
other persons in that group might have write access to your fpath.
(There is an assumption that getent is in /usr/bin, so if it's not
there the check relies on the local /etc/group file.)

If you're in an environment (such as, say, a university or a large
corporation) where the groups database is networked and may contain
hundreds or even thousands of entries, that "getent" call can take a
very long time.

After one reading, though, your system has cached the database and
until the cache expires or is flushed subsequent calls to "getent"
return almost instantly.

You can skip this security check by using "compinit -u" when you
load the completion system.

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