bin/132692: commit references a PR

dfilter service dfilter at FreeBSD.ORG
Thu May 23 21:00:02 UTC 2013


The following reply was made to PR bin/132692; it has been noted by GNATS.

From: dfilter at FreeBSD.ORG (dfilter service)
To: bug-followup at FreeBSD.org
Cc:  
Subject: Re: bin/132692: commit references a PR
Date: Thu, 23 May 2013 20:52:43 +0000 (UTC)

 Author: ghelmer
 Date: Thu May 23 20:52:30 2013
 New Revision: 250942
 URL: http://svnweb.freebsd.org/changeset/base/250942
 
 Log:
   Add support for netgroup, based on patch in the PR but made consistent
   with existing style.
   
   PR:		bin/132692
 
 Modified:
   head/usr.bin/getent/getent.c
 
 Modified: head/usr.bin/getent/getent.c
 ==============================================================================
 --- head/usr.bin/getent/getent.c	Thu May 23 19:50:36 2013	(r250941)
 +++ head/usr.bin/getent/getent.c	Thu May 23 20:52:30 2013	(r250942)
 @@ -61,6 +61,7 @@ static int	parsenum(const char *, unsign
  static int	ethers(int, char *[]);
  static int	group(int, char *[]);
  static int	hosts(int, char *[]);
 +static int	netgroup(int, char *[]);
  static int	networks(int, char *[]);
  static int	passwd(int, char *[]);
  static int	protocols(int, char *[]);
 @@ -89,6 +90,7 @@ static struct getentdb {
  	{	"rpc",		rpc,		},
  	{	"services",	services,	},
  	{	"shells",	shells,		},
 +	{	"netgroup",	netgroup,	},
  	{	"utmpx",	utmpx,		},
  
  	{	NULL,		NULL,		},
 @@ -571,6 +573,47 @@ shells(int argc, char *argv[])
  }
  
  /*
 + * netgroup
 + */
 +static int
 +netgroup(int argc, char *argv[])
 +{
 +	char		*host, *user, *domain;
 +	int		first;
 +	int		rv, i;
 +
 +	assert(argc > 1);
 +	assert(argv != NULL);
 +
 +#define NETGROUPPRINT(s)	(((s) != NULL) ? (s) : "")
 +
 +	rv = RV_OK;
 +	if (argc == 2) {
 +		fprintf(stderr, "Enumeration not supported on netgroup\n");
 +		rv = RV_NOENUM;
 +	} else {
 +		for (i = 2; i < argc; i++) {
 +			setnetgrent(argv[i]);
 +			first = 1;
 +			while (getnetgrent(&host, &user, &domain) != 0) {
 +				if (first) {
 +					first = 0;
 +					(void)fputs(argv[i], stdout);
 +				}
 +				(void)printf(" (%s,%s,%s)",
 +				    NETGROUPPRINT(host),
 +				    NETGROUPPRINT(user),
 +				    NETGROUPPRINT(domain));
 +			}
 +			if (!first)
 +				(void)putchar('\n');
 +			endnetgrent();
 +		}
 +	}
 +	return rv;
 +}
 +
 +/*
   * utmpx
   */
  
 _______________________________________________
 svn-src-all at freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"
 


More information about the freebsd-bugs mailing list