summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr.sbin/lpr/Makefile4
-rw-r--r--usr.sbin/lpr/lptest/Makefile7
-rw-r--r--usr.sbin/lpr/lptest/lptest.175
-rw-r--r--usr.sbin/lpr/lptest/lptest.c70
-rw-r--r--usr.sbin/lpr/pac/Makefile11
-rw-r--r--usr.sbin/lpr/pac/pac.8130
-rw-r--r--usr.sbin/lpr/pac/pac.c463
-rw-r--r--usr.sbin/ypserv/Makefile4
-rw-r--r--usr.sbin/ypserv/yptest/Makefile6
-rw-r--r--usr.sbin/ypserv/yptest/yptest.858
-rw-r--r--usr.sbin/ypserv/yptest/yptest.c124
11 files changed, 4 insertions, 948 deletions
diff --git a/usr.sbin/lpr/Makefile b/usr.sbin/lpr/Makefile
index 5072e4afda2..3079ef51c0f 100644
--- a/usr.sbin/lpr/Makefile
+++ b/usr.sbin/lpr/Makefile
@@ -1,6 +1,6 @@
-# $OpenBSD: Makefile,v 1.5 2010/01/04 17:50:39 deraadt Exp $
+# $OpenBSD: Makefile,v 1.6 2015/11/17 15:22:55 deraadt Exp $
-SUBDIR= lpc lpd lpq lpr lprm lptest pac filters
+SUBDIR= lpc lpd lpq lpr lprm filters
CFLAGS+= -Wall
.include <bsd.subdir.mk>
diff --git a/usr.sbin/lpr/lptest/Makefile b/usr.sbin/lpr/lptest/Makefile
deleted file mode 100644
index ca3431ddbb5..00000000000
--- a/usr.sbin/lpr/lptest/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-# from: @(#)Makefile 8.1 (Berkeley) 6/6/93
-# $OpenBSD: Makefile,v 1.2 1997/01/17 16:12:48 millert Exp $
-
-PROG= lptest
-
-.include "../../Makefile.inc"
-.include <bsd.prog.mk>
diff --git a/usr.sbin/lpr/lptest/lptest.1 b/usr.sbin/lpr/lptest/lptest.1
deleted file mode 100644
index 181e3a31477..00000000000
--- a/usr.sbin/lpr/lptest/lptest.1
+++ /dev/null
@@ -1,75 +0,0 @@
-.\" $OpenBSD: lptest.1,v 1.7 2007/05/31 19:20:25 jmc Exp $
-.\" $NetBSD: lptest.1,v 1.7 1999/03/22 18:44:00 garbled Exp $
-.\"
-.\" Copyright (c) 1985, 1990, 1993
-.\" The Regents of the University of California. All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" @(#)lptest.1 8.2 (Berkeley) 12/30/93
-.\"
-.Dd $Mdocdate: May 31 2007 $
-.Dt LPTEST 1
-.Os
-.Sh NAME
-.Nm lptest
-.Nd generate lineprinter ripple pattern
-.Sh SYNOPSIS
-.Nm lptest
-.Op Ar length
-.Op Ar count
-.Sh DESCRIPTION
-.Nm lptest
-writes the traditional
-.Dq ripple test
-pattern on standard output.
-In 96 lines,
-this pattern will print all 96 printable
-.Tn ASCII
-characters
-in each position.
-While originally created to test printers, it is quite
-useful for testing terminals,
-driving terminal ports for debugging purposes,
-or any other task where a quick supply of random data is needed.
-.Pp
-The
-.Ar length
-argument specifies the output line length if the default
-length of 79 is inappropriate.
-.Pp
-The
-.Ar count
-argument specifies the number of output lines to be generated if
-the default count of 200 is inappropriate.
-Note that if
-.Ar count
-is to be specified,
-.Ar length
-must also be specified.
-.Sh HISTORY
-.Nm
-appeared in
-.Bx 4.3 .
diff --git a/usr.sbin/lpr/lptest/lptest.c b/usr.sbin/lpr/lptest/lptest.c
deleted file mode 100644
index b91214d31dc..00000000000
--- a/usr.sbin/lpr/lptest/lptest.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/* $OpenBSD: lptest.c,v 1.9 2015/11/04 21:27:03 tedu Exp $ */
-/* $NetBSD: lptest.c,v 1.6 1996/12/09 09:57:50 mrg Exp $ */
-
-/*
- * Copyright (c) 1983, 1993
- * The Regents of the University of California. All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-
-/*
- * lptest -- line printer test program (and other devices).
- */
-int
-main(int argc, char **argv)
-{
- int len, count;
- int i, j, fc, nc;
- char outbuf[BUFSIZ];
-
- setvbuf(stdout, outbuf, _IOFBF, sizeof outbuf);
- if (argc >= 2)
- len = atoi(argv[1]);
- else
- len = 79;
- if (argc >= 3)
- count = atoi(argv[2]);
- else
- count = 200;
- fc = ' ';
- for (i = 0; i < count; i++) {
- if (++fc == 0177)
- fc = ' ';
- nc = fc;
- for (j = 0; j < len; j++) {
- putchar(nc);
- if (++nc == 0177)
- nc = ' ';
- }
- putchar('\n');
- }
- (void)fflush(stdout);
- exit(0);
-}
diff --git a/usr.sbin/lpr/pac/Makefile b/usr.sbin/lpr/pac/Makefile
deleted file mode 100644
index 41fd7878bb1..00000000000
--- a/usr.sbin/lpr/pac/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-# from: @(#)Makefile 8.1 (Berkeley) 6/6/93
-# $OpenBSD: Makefile,v 1.3 2002/05/20 23:13:50 millert Exp $
-
-PROG= pac
-CFLAGS+=-I${.CURDIR}/../common_source
-MAN= pac.8
-SRCS= pac.c common.c common_vars.c
-.PATH: ${.CURDIR}/../common_source
-
-.include "../../Makefile.inc"
-.include <bsd.prog.mk>
diff --git a/usr.sbin/lpr/pac/pac.8 b/usr.sbin/lpr/pac/pac.8
deleted file mode 100644
index 3856e74e26b..00000000000
--- a/usr.sbin/lpr/pac/pac.8
+++ /dev/null
@@ -1,130 +0,0 @@
-.\" $OpenBSD: pac.8,v 1.9 2007/05/31 19:20:25 jmc Exp $
-.\" $NetBSD: pac.8,v 1.9 2002/01/19 03:24:14 wiz Exp $
-.\"
-.\" Copyright (c) 1983, 1991, 1993
-.\" The Regents of the University of California. All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" @(#)pac.8 8.1 (Berkeley) 6/6/93
-.\"
-.Dd $Mdocdate: May 31 2007 $
-.Dt PAC 8
-.Os
-.Sh NAME
-.Nm pac
-.Nd printer/plotter accounting information
-.Sh SYNOPSIS
-.Nm pac
-.Op Fl cmrs
-.Bk -words
-.Op Fl P Ns Ar printer
-.Ek
-.Bk -words
-.Op Fl p Ns Ar price
-.Ek
-.Op Ar user ...
-.Sh DESCRIPTION
-.Nm pac
-reads the printer/plotter accounting files, accumulating the number
-of pages (the usual case) or feet (for raster devices)
-of paper consumed by each named
-.Ar user ,
-and prints out how much each user consumed in pages or feet and dollars.
-.Pp
-When no
-.Ar user
-arguments are given, statistics are printed for every user who has used any
-paper.
-.Pp
-The options are as follows:
-.Bl -tag -width Ds
-.It Fl P Ns Ar printer
-Accounting is done for the named printer.
-Normally, accounting is done for the default printer (site dependent) or
-the value of the environment variable
-.Ev PRINTER
-is used.
-.It Fl c
-Causes the output to be sorted by cost; usually the
-output is sorted alphabetically by name.
-.It Fl m
-Causes the host name to be ignored in the accounting file.
-This allows for a user on multiple machines to have all of his printing
-charges grouped together.
-.It Fl p Ns Ar price
-The value
-.Ar price
-is used for the cost in dollars instead of the default value of 0.02
-or the price specified in
-.Pa /etc/printcap .
-.It Fl r
-Reverse the sorting order.
-.It Fl s
-Accounting information is summarized on the
-summary accounting file; this summarization is necessary since on a
-busy system, the accounting file can grow by several lines per day.
-.El
-.Sh OUTPUT FORMAT
-.Nm
-formats the output into a simple table, using four columns:
-.Bl -enum
-.It
-The host name followed by the user's login name (column "Login").
-If the
-.Fl m
-option was specified, the host name will be omitted.
-.It
-The number of pages or feet printed (column "pages/feet").
-.It
-The number of copies made (column "runs").
-.It
-The total price for the user (column "price").
-.El
-.Pp
-If no
-.Ar user
-argument was specified,
-.Nm
-will print a summary line with print totals.
-.Sh FILES
-.Bl -tag -width /var/account/?_sum -compact
-.It Pa /var/account/?acct
-raw accounting files
-.It Pa /var/account/?_sum
-summary accounting files
-.It Pa /etc/printcap
-printer capability database
-.El
-.Sh SEE ALSO
-.Xr printcap 5
-.Sh HISTORY
-The
-.Nm
-command appeared in
-.Bx 4.0 .
-.Sh BUGS
-The relationship between the computed price and reality is
-as yet unknown.
diff --git a/usr.sbin/lpr/pac/pac.c b/usr.sbin/lpr/pac/pac.c
deleted file mode 100644
index a5d811bcd4f..00000000000
--- a/usr.sbin/lpr/pac/pac.c
+++ /dev/null
@@ -1,463 +0,0 @@
-/* $OpenBSD: pac.c,v 1.25 2015/08/20 22:46:32 deraadt Exp $ */
-/* $NetBSD: pac.c,v 1.14 2000/04/27 13:40:18 msaitoh Exp $ */
-
-/*
- * Copyright (c) 1983, 1993
- * The Regents of the University of California. All rights reserved.
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * Do Printer accounting summary.
- * Currently, usage is
- * pac [-Pprinter] [-pprice] [-s] [-r] [-c] [-m] [user ...]
- * to print the usage information for the named people.
- */
-
-#include <ctype.h>
-#include <signal.h>
-#include <dirent.h>
-#include <err.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <limits.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "lp.h"
-#include "lp.local.h"
-
-static char *acctfile; /* accounting file (input data) */
-static int allflag = 1; /* Get stats on everybody */
-static int errs;
-static int hcount; /* Count of hash entries */
-static int mflag = 0; /* disregard machine names */
-static int pflag = 0; /* 1 if -p on cmd line */
-static float price = 0.02; /* cost per page (or what ever) */
-static long price100; /* per-page cost in 100th of a cent */
-static int reverse; /* Reverse sort order */
-static int sort; /* Sort by cost */
-static char *sumfile; /* summary file */
-static int summarize; /* Compress accounting file */
-
-volatile sig_atomic_t gotintr;
-
-/*
- * Grossness follows:
- * Names to be accumulated are hashed into the following
- * table.
- */
-
-#define HSHSIZE 97 /* Number of hash buckets */
-
-struct hent {
- struct hent *h_link; /* Forward hash link */
- char *h_name; /* Name of this user */
- float h_feetpages; /* Feet or pages of paper */
- int h_count; /* Number of runs */
-};
-
-static struct hent *hashtab[HSHSIZE]; /* Hash table proper */
-
-static void account(FILE *);
-static int chkprinter(const char *);
-static void dumpit(void);
-static int hash(const char *);
-static struct hent *enter(const char *);
-static struct hent *lookup(const char *);
-static int qucmp(const void *, const void *);
-static void rewrite(void);
-__dead void usage(void);
-
-int
-main(int argc, char **argv)
-{
- FILE *acct;
- int ch;
-
- /* these aren't actually used in pac(1) */
- effective_uid = geteuid();
- real_uid = getuid();
- effective_gid = getegid();
- real_gid = getgid();
-
- while ((ch = getopt(argc, argv, "P:p:scmr")) != -1) {
- switch (ch) {
- case 'P':
- /*
- * Printer name.
- */
- printer = optarg;
- continue;
-
- case 'p':
- /*
- * get the price.
- */
- price = atof(optarg);
- pflag = 1;
- continue;
-
- case 's':
- /*
- * Summarize and compress accounting file.
- */
- summarize = 1;
- continue;
-
- case 'c':
- /*
- * Sort by cost.
- */
- sort = 1;
- continue;
-
- case 'm':
- /*
- * disregard machine names for each user
- */
- mflag = 1;
- continue;
-
- case 'r':
- /*
- * Reverse sorting order.
- */
- reverse = 1;
- continue;
-
- default:
- usage();
- /* NOTREACHED */
- }
- }
- argc -= optind;
- argv += optind;
-
- /*
- * If there are any arguments left, they're names of users
- * we want to print info for. In that case, put them in the hash
- * table and unset allflag.
- */
- for( ; argc > 0; argc--, argv++) {
- (void)enter(*argv);
- allflag = 0;
- }
-
- if (printer == NULL && (printer = getenv("PRINTER")) == NULL)
- printer = DEFLP;
- if (!chkprinter(printer))
- errx(2, "unknown printer: %s", printer);
-
- if ((acct = fopen(acctfile, "r")) == NULL)
- err(1, "%s", acctfile);
- account(acct);
- fclose(acct);
- if ((acct = fopen(sumfile, "r")) != NULL) {
- account(acct);
- fclose(acct);
- }
- if (summarize)
- rewrite();
- else
- dumpit();
- exit(errs);
-}
-
-/*
- * Read the entire accounting file, accumulating statistics
- * for the users that we have in the hash table. If allflag
- * is set, then just gather the facts on everyone.
- * Note that we must accommodate both the active and summary file
- * formats here.
- * The Format of the accounting file is:
- * feet_per_page [runs_count] [hostname:]username
- * Some software relies on whitespace between runs_count and hostname:username
- * being optional (such as Ghostscript's unix-lpr.sh).
- *
- * Host names are ignored if the -m flag is present.
- */
-static void
-account(FILE *acct)
-{
- char linebuf[BUFSIZ];
- double t;
- long l;
- char *cp, *cp2, *ep;
- struct hent *hp;
- int ic;
-
- while (fgets(linebuf, sizeof(linebuf), acct) != NULL) {
- cp = linebuf;
- while (isspace((unsigned char)*cp))
- cp++;
-
- /* get t, feet_per_page */
- errno = 0;
- t = strtod(cp, &ep);
- if (!isspace((unsigned char)*ep) || errno == ERANGE)
- continue;
-
- /* get ic, runs_count (optional) */
- for (cp = ep + 1; isspace((unsigned char)*cp); )
- cp++;
- l = strtol(cp, &ep, 10);
- if (cp == ep)
- l = 0; /* runs_count not specified */
- else if (l < 0 || l >= INT_MAX)
- continue;
- ic = (int)l;
-
- /* get [hostname:]username */
- for (cp = ep; isspace((unsigned char)*cp); cp++)
- ;
- for (cp2 = cp; *cp2 && !isspace((unsigned char)*cp2); cp2++)
- ;
- *cp2 = '\0';
- /* if -m was specified, don't use the hostname part */
- if (mflag && (cp2 = strchr(cp, ':')) != NULL)
- cp = cp2 + 1;
-
- hp = lookup(cp);
- if (hp == NULL) {
- if (!allflag)
- continue;
- hp = enter(cp);
- }
- hp->h_feetpages += t;
- if (ic)
- hp->h_count += ic;
- else
- hp->h_count++;
- }
-}
-
-/*
- * Sort the hashed entries by name or footage
- * and print it all out.
- */
-static void
-dumpit(void)
-{
- struct hent **base;
- struct hent *hp, **ap;
- int hno, c, runs;
- float feet;
-
- hp = hashtab[0];
- hno = 1;
- base = calloc(hcount, sizeof(hp));
- if (base == NULL)
- err(1, NULL);
- for (ap = base, c = hcount; c--; ap++) {
- while (hp == NULL)
- hp = hashtab[hno++];
- *ap = hp;
- hp = hp->h_link;
- }
- qsort(base, hcount, sizeof hp, qucmp);
- printf(" Login pages/feet runs price\n");
- feet = 0.0;
- runs = 0;
- for (ap = base, c = hcount; c--; ap++) {
- hp = *ap;
- runs += hp->h_count;
- feet += hp->h_feetpages;
- printf("%-24s %7.2f %4d $%6.2f\n", hp->h_name,
- hp->h_feetpages, hp->h_count, hp->h_feetpages * price);
- }
- if (allflag) {
- printf("\n");
- printf("%-24s %7.2f %4d $%6.2f\n", "total", feet,
- runs, feet * price);
- }
-
- free(base);
-}
-
-/*
- * Rewrite the summary file with the summary information we have accumulated.
- */
-static void
-rewrite(void)
-{
- struct hent *hp;
- int i;
- FILE *acctf;
-
- if ((acctf = fopen(sumfile, "w")) == NULL) {
- warn("%s", sumfile);
- errs++;
- return;
- }
- for (i = 0; i < HSHSIZE; i++) {
- hp = hashtab[i];
- while (hp != NULL) {
- fprintf(acctf, "%7.2f\t%s\t%d\n", hp->h_feetpages,
- hp->h_name, hp->h_count);
- hp = hp->h_link;
- }
- }
- fflush(acctf);
- if (ferror(acctf)) {
- warn("%s", sumfile);
- errs++;
- }
- fclose(acctf);
- if ((acctf = fopen(acctfile, "w")) == NULL)
- warn("%s", acctfile);
- else
- fclose(acctf);
-}
-
-/*
- * Hashing routines.
- */
-
-/*
- * Enter the name into the hash table and return the pointer allocated.
- */
-
-static struct hent *
-enter(const char *name)
-{
- struct hent *hp;
- int h;
-
- if ((hp = lookup(name)) != NULL)
- return(hp);
- h = hash(name);
- hcount++;
- hp = malloc(sizeof *hp);
- if (hp == NULL)
- err(1, NULL);
- hp->h_name = strdup(name);
- if (hp->h_name == NULL)
- err(1, NULL);
- hp->h_feetpages = 0.0;
- hp->h_count = 0;
- hp->h_link = hashtab[h];
- hashtab[h] = hp;
- return(hp);
-}
-
-/*
- * Lookup a name in the hash table and return a pointer
- * to it.
- */
-
-static struct hent *
-lookup(const char *name)
-{
- int h;
- struct hent *hp;
-
- h = hash(name);
- for (hp = hashtab[h]; hp != NULL; hp = hp->h_link)
- if (strcmp(hp->h_name, name) == 0)
- return(hp);
- return(NULL);
-}
-
-/*
- * Hash the passed name and return the index in
- * the hash table to begin the search.
- */
-static int
-hash(const char *name)
-{
- int h;
- const char *cp;
-
- for (cp = name, h = 0; *cp; h = (h << 2) + *cp++)
- ;
- return((h & 0x7fffffff) % HSHSIZE);
-}
-
-/*
- * The qsort comparison routine.
- * The comparison is ascii collating order
- * or by feet of typesetter film, according to sort.
- */
-static int
-qucmp(const void *a, const void *b)
-{
- struct hent *h1, *h2;
- int r;
-
- h1 = *(struct hent **)a;
- h2 = *(struct hent **)b;
- if (sort)
- r = h1->h_feetpages < h2->h_feetpages ?
- -1 : h1->h_feetpages > h2->h_feetpages;
- else
- r = strcmp(h1->h_name, h2->h_name);
- return(reverse ? -r : r);
-}
-
-/*
- * Perform lookup for printer name or abbreviation --
- */
-static int
-chkprinter(const char *s)
-{
- int stat;
- int len;
-
- if ((stat = cgetent(&bp, printcapdb, s)) == -2) {
- printf("pac: can't open printer description file\n");
- exit(3);
- } else if (stat == -1)
- return(0);
- else if (stat == -3)
- fatal("potential reference loop detected in printcap file");
-
- if (cgetstr(bp, "af", &acctfile) == -1) {
- printf("accounting not enabled for printer %s\n", printer);
- exit(2);
- }
- if (!pflag && (cgetnum(bp, "pc", &price100) == 0))
- price = price100/10000.0;
- len = strlen(acctfile) + 5;
- sumfile = malloc(len);
- if (sumfile == NULL)
- err(1, "pac");
- strlcpy(sumfile, acctfile, len);
- strlcat(sumfile, "_sum", len);
- return(1);
-}
-
-__dead void
-usage(void)
-{
- extern char *__progname;
-
- fprintf(stderr, "usage: %s [-cmrs] [-Pprinter] [-pprice] [user ...]\n",
- __progname);
- exit(1);
-}
diff --git a/usr.sbin/ypserv/Makefile b/usr.sbin/ypserv/Makefile
index 2c99ca31d0c..43f4b44dccd 100644
--- a/usr.sbin/ypserv/Makefile
+++ b/usr.sbin/ypserv/Makefile
@@ -1,6 +1,6 @@
-# $OpenBSD: Makefile,v 1.6 1997/07/26 12:12:26 maja Exp $
+# $OpenBSD: Makefile,v 1.7 2015/11/17 15:22:55 deraadt Exp $
SUBDIR= makedbm mkalias mknetid revnetgroup stdethers stdhosts \
- ypinit ypserv yptest yppush ypxfr
+ ypinit ypserv yppush ypxfr
.include <bsd.subdir.mk>
diff --git a/usr.sbin/ypserv/yptest/Makefile b/usr.sbin/ypserv/yptest/Makefile
deleted file mode 100644
index f0d197a2b7f..00000000000
--- a/usr.sbin/ypserv/yptest/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# $OpenBSD: Makefile,v 1.2 1996/05/30 09:53:31 deraadt Exp $
-
-PROG= yptest
-MAN= yptest.8
-
-.include <bsd.prog.mk>
diff --git a/usr.sbin/ypserv/yptest/yptest.8 b/usr.sbin/ypserv/yptest/yptest.8
deleted file mode 100644
index d5978b36b25..00000000000
--- a/usr.sbin/ypserv/yptest/yptest.8
+++ /dev/null
@@ -1,58 +0,0 @@
-.\" $OpenBSD: yptest.8,v 1.14 2013/07/16 11:13:34 schwarze Exp $
-.\"
-.\" Copyright (c) 1994 Mats O Jansson <moj@stacken.kth.se>
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
-.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.Dd $Mdocdate: July 16 2013 $
-.Dt YPTEST 8
-.Os
-.Sh NAME
-.Nm yptest
-.Nd calls different YP routines
-.Sh SYNOPSIS
-.Nm yptest
-.\".Op Fl u Ar file
-.\".Nm /usr/sbin/makedbm
-.\".Op Fl bls
-.\".Op Fl i Ar yp_input_file
-.\".Op Fl o Ar yp_output_file
-.\".Op Fl d Ar yp_domain_name
-.\".Op Fl m Ar yp_master_name
-.\".Ar infile
-.\".Ar outfile
-.Sh DESCRIPTION
-.Nm
-checks various YP functions to see if the YP server works as expected.
-.\".Pp
-.\"The options are as follows:
-.\".Bl -tag -width Ds
-.\".It Fl d Ar yp_domain_name
-.\"Include an entry the in the map with the key YP_DOMAIN_NAME and the argument
-.\"as value.
-.\".El
-.Sh SEE ALSO
-.Xr yp 8 ,
-.Xr ypserv 8
-.Sh AUTHORS
-.An Mats O Jansson Aq Mt moj@stacken.kth.se
diff --git a/usr.sbin/ypserv/yptest/yptest.c b/usr.sbin/ypserv/yptest/yptest.c
deleted file mode 100644
index c0ead320f7a..00000000000
--- a/usr.sbin/ypserv/yptest/yptest.c
+++ /dev/null
@@ -1,124 +0,0 @@
-/* $OpenBSD: yptest.c,v 1.18 2009/11/21 19:31:40 ian Exp $ */
-
-/*
- * Copyright (c) 1994 Mats O Jansson <moj@stacken.kth.se>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <stdio.h>
-#include <unistd.h>
-#include <string.h>
-#include <rpc/rpc.h>
-#include <rpc/xdr.h>
-#include <rpcsvc/yp.h>
-#include <rpcsvc/ypclnt.h>
-
-static int
-yptest_foreach(u_long status, char *key, int keylen, char *val, int vallen,
- void *data)
-{
- if (status == 2)
- return(0);
-
- key[keylen] = '\0';
- val[vallen] = '\0';
- printf("%s %s\n", key, val);
- return 0;
-}
-
-int
-main(int argc, char *argv[])
-{
- char *Domain, *Value, *Key2;
- char *Map = "hosts.byname", *Key = "localhost";
- int ValLen, Status, Order, KeyLen;
- struct ypall_callback Callback;
- struct ypmaplist *ypml, *y;
-
- Status = yp_get_default_domain(&Domain);
- if (Status)
- printf("yp error: %s\n", yperr_string(Status));
-
- printf("Test 1: yp_match %s %s\n", Key, Map);
- KeyLen = strlen(Key);
- Status = yp_match(Domain, Map, Key, KeyLen, &Value, &ValLen);
- if (Status)
- printf("yp error: %s\n", yperr_string(Status));
- else
- printf("%*.*s\n", ValLen, ValLen, Value);
-
- printf("\nTest 2: yp_first\n");
- Status = yp_first(Domain, Map, &Key2, &KeyLen, &Value, &ValLen);
- if (Status)
- printf("yp error: %s\n", yperr_string(Status));
- else
- printf("%*.*s %*.*s\n", KeyLen, KeyLen, Key2, ValLen, ValLen, Value);
-
- printf("\nTest 3: yp_next\n");
- while (Status == 0) {
- Status = yp_next(Domain, Map, Key2, KeyLen, &Key2,
- &KeyLen, &Value, &ValLen);
- if (Status)
- printf("yp error: %s\n", yperr_string(Status));
- else
- printf("%*.*s %*.*s\n", KeyLen, KeyLen, Key2,
- ValLen, ValLen, Value);
- }
-
- printf("\nTest 4: yp_master\n");
- Status = yp_master(Domain, Map, &Key2);
- if (Status)
- printf("yp error: %s\n", yperr_string(Status));
- else
- printf("%s\n", Key2);
-
- printf("\nTest 5: yp_order\n");
- Status = yp_order(Domain, Map, &Order);
- if (Status)
- printf("yp error: %s\n", yperr_string(Status));
- else
- printf("%d\n", Order);
-
- printf("\nTest 6: yp_maplist\n");
- ypml = NULL;
- switch (yp_maplist(Domain, &ypml)) {
- case 0:
- for (y = ypml; y; ) {
- ypml = y;
- printf("%s\n", ypml->map);
- y = ypml->next;
- }
- break;
- default:
- printf("yp error: %s\n", yperr_string(Status));
- break;
- }
-
- printf("\nTest 7: yp_all\n");
- Callback.foreach = yptest_foreach;
- Status = yp_all(Domain, Map, &Callback);
- if (Status)
- printf("yp error: %s\n", yperr_string(Status));
- return 0;
-}