>> Maybe we just fix getent(1) to return an error like it does for ethers?
>
>Whatever we do with gethostent(3) - maybe it's really expendable,
>maybe tons of ports depend on it, who knows - i'm fine with
>removing hosts enumeration support from getent(1).
>
>Almost the same can be accomplished with
>
> cat /etc/hosts
>
>and with more clarity as to what it does and what the shortcomings are.
>
>That would be the following patch:
>
>Yours,
> Ingo
>
>
>Index: getent.c
>===================================================================
>RCS file: /cvs/src/usr.bin/getent/getent.c,v
>retrieving revision 1.6
>diff -u -p -r1.6 getent.c
>--- getent.c 30 Mar 2013 14:03:08 -0000 1.6
>+++ getent.c 19 Oct 2014 00:23:47 -0000
>@@ -270,8 +270,9 @@ hosts(int argc, char *argv[])
>
> sethostent(1);
> if (argc == 2) {
>- while ((he = gethostent()) != NULL)
>- hostsprint(he);
>+ fprintf(stderr, "%s: Enumeration not supported on hosts\n",
>+ __progname);
>+ rv = RV_NOENUM;
> } else {
> for (i = 2; i < argc; i++) {
> he = NULL;
Looks good. Nothing else in base uses gethostent(3) except for perl
supplying it as a stub, and I see nothing using that.
The ports situation might be interesting. Any program using gethostent(3)
will be returning different information than the other APIs -- it always
has..