summaryrefslogtreecommitdiffstats
path: root/libexec/bugfiler
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1995-12-30 19:02:48 +0000
committerpeter <peter@FreeBSD.org>1995-12-30 19:02:48 +0000
commitc3f352d4ad515968c54d216a0e53252eff8ab3ef (patch)
tree48ddeda3c6c8d8572cc34bf52ccf9cb9bd97d488 /libexec/bugfiler
parentab124e78b0271ddb904b761b31e5c9a0cf24e070 (diff)
downloadFreeBSD-src-c3f352d4ad515968c54d216a0e53252eff8ab3ef.zip
FreeBSD-src-c3f352d4ad515968c54d216a0e53252eff8ab3ef.tar.gz
This commit was generated by cvs2svn to compensate for changes in r13122,
which included commits to RCS files with non-trunk default branches.
Diffstat (limited to 'libexec/bugfiler')
-rw-r--r--libexec/bugfiler/bug.h92
-rw-r--r--libexec/bugfiler/bugfiler.8290
-rw-r--r--libexec/bugfiler/bugfiler.c167
-rw-r--r--libexec/bugfiler/bugformat32
-rw-r--r--libexec/bugfiler/error.c89
-rw-r--r--libexec/bugfiler/extern.h41
-rw-r--r--libexec/bugfiler/gethead.c165
-rw-r--r--libexec/bugfiler/pathnames.h38
-rw-r--r--libexec/bugfiler/process.c115
-rw-r--r--libexec/bugfiler/redist.c131
-rw-r--r--libexec/bugfiler/reply.c118
-rw-r--r--libexec/bugfiler/sendbug.185
-rw-r--r--libexec/bugfiler/sendbug.sh66
13 files changed, 0 insertions, 1429 deletions
diff --git a/libexec/bugfiler/bug.h b/libexec/bugfiler/bug.h
deleted file mode 100644
index 69ea986..0000000
--- a/libexec/bugfiler/bug.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 1986, 1987, 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. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. 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.
- *
- * @(#)bug.h 8.1 (Berkeley) 6/4/93
- */
-
-#define BUGS_HOME "owner-bugs@ucbvax.Berkeley.EDU"
-#define BUGS_ID "bugs"
-
-/*
- * the METOO definition has the bugfiler exit with an error (-1) status
- * if there's a problem. This causes sendmail to send off a copy of the
- * report (as failed mail) to the "owner" of the mail alias that executed
- * the bugfiler. This is great if you would have otherwise lost the bug
- * report. It's not so great if you get a whole bunch of mail that you
- * really don't want.
- */
-#define METOO
-
-/* files */
-#define ACK_FILE "bug:ack" /* acknowledge file */
-#define DIST_FILE "bug:redist" /* redistribution file */
-#define ERROR_FILE "log" /* error file */
-#define LOCK_FILE "bug:lock" /* lock file name */
-#define SUMMARY_FILE "summary" /* summary file */
-#define TMP_BUG "errors/BUG_XXXXXX" /* tmp bug report */
-#define TMP_DIR "errors" /* tmp directory */
-
-#define CHN (char *)NULL /* null arg string */
-#define COMMENT '#' /* comment in redist file */
-#define EOS (char)NULL /* end of string */
-#define ERR -1 /* error return */
-#define MAXLINELEN 200 /* max line length in message */
-#define NO 0 /* no/false */
-#define OK 0 /* okay return */
-#define YES 1 /* yes/true */
-
-typedef struct {
- short found, /* line number if found */
- redist; /* if part of redist headers */
- int (*valid)(); /* validation routine */
- short len; /* length of tag */
- char *tag, /* leading tag */
- *line; /* actual line */
-} HEADER;
-extern HEADER mailhead[];
-
-#define DATE_TAG 0 /* "Date:" offset */
-#define FROM_TAG 1 /* "From " offset */
-#define CFROM_TAG 2 /* "From:" offset */
-#define INDX_TAG 3 /* "Index:" offset */
-#define MSG_TAG 4 /* "Message-Id:" offset */
-#define RPLY_TAG 5 /* "Reply-To:" offset */
-#define RET_TAG 6 /* "Return-Path:" offset */
-#define SUBJ_TAG 7 /* "Subject:" offset */
-#define TO_TAG 8 /* "To:" offset */
-#define APPAR_TO_TAG 9 /* "Apparently-To:" offset */
-
-/* so sizeof doesn't return 0 */
-extern char bfr[MAXBSIZE], /* general I/O buffer */
- dir[MAXNAMLEN], /* subject and folder */
- folder[MAXNAMLEN],
- tmpname[sizeof(TMP_BUG) + 5]; /* temp bug file */
diff --git a/libexec/bugfiler/bugfiler.8 b/libexec/bugfiler/bugfiler.8
deleted file mode 100644
index 1fc86d2..0000000
--- a/libexec/bugfiler/bugfiler.8
+++ /dev/null
@@ -1,290 +0,0 @@
-.\" 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. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by the University of
-.\" California, Berkeley and its contributors.
-.\" 4. 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.
-.\"
-.\" @(#)bugfiler.8 8.2 (Berkeley) 12/11/93
-.\"
-.Dd December 11, 1993
-.Dt BUGFILER 8
-.Os BSD 4.2
-.Sh NAME
-.Nm bugfiler
-.Nd file bug reports in folders automatically
-.Sh SYNOPSIS
-.Nm bugfiler
-.Op Fl ar
-.Op Fl v Ar version
-.Sh DESCRIPTION
-.Nm Bugfiler
-is a program to automatically intercept, acknowledge,
-redistribute and store bug reports.
-.Nm Bugfiler
-is normally invoked
-by the mail delivery program with a line similar to the following in
-.Pa /etc/aliases .
-.Bd -literal -offset indent
-bugs: "|bugfiler"
-.Ed
-.Pp
-It should be noted that the login
-.Dq bugs
-must exist for the bugfiler
-to run. Unless otherwise noted all paths used by
-.Nm bugfiler
-are
-relative to the home directory of this login.
-.Nm Bugfiler
-also
-expects all of its files and directories to be owned by
-.Dq bugs .
-.Pp
-Available options.
-.Bl -tag -width Ds
-.It Fl a
-Do not send automatic mail acknowledgement to the bug report filer.
-(The default is to send the acknowledgement with the file
-.Pa ~bugs/version/bug:ack
-appended).
-.It Fl r
-Do not redistribute.
-.It Fl v Ar version
-Override the
-.Ar version
-provided within the bug report itself.
-.El
-.Pp
-For the bug report to be correctly filed, it must contain a line
-in the following format:
-.Pp
-.Bd -filled -offset indent -compact
-.Bl -column Index folder
-.It Index: Ta Em folder Ta Ar version
-.El
-.Ed
-.Pp
-The directories
-.Pa ~bugs/ Ns Ar version
-and
-.Pa ~bugs/ Ns Ar version/ Ns Em folder
-must exist before
-.Nm bugfiler
-attempts to store the bug report. Bug
-reports will be stored in files named by the concatenation of
-.Ar version ,
-.Em folder ,
-and sequential numbers, i.e. if
-.Ar version
-is
-.Dq 4.3 Tn BSD
-and
-.Em folder
-is
-.Dq ucb
-the first bug report will be placed in
-.Pa ~bugs/4.3BSD/ucb/1 .
-If
-.Em folder
-contains more than one component only
-the first one will be used, e.g. if
-.Em folder
-is
-.Dq bin/from.c
-or
-.Dq bin/adb/con.c
-it will be treated as if it were simply
-.Dq bin .
-.Pp
-.Pp
-If the
-.Fl r
-flag is not supplied, redistribution of the bug reports
-is done as specified in the file
-.Pa ~bugs/version/bug:redist .
-This file
-is in the format of the
-.Xr aliases 5
-file, including comments and
-entries requiring multiple lines, with the single exception that the
-.Em folder
-component of the
-.Dq Index:
-line replaces the name to alias.
-The special folder
-.Dq all:
-receives a redistribution of all bug reports
-sent to this
-.Ar version .
-For example, the
-.Pa bug:redist
-file
-.Pp
-.Bd -literal -offset indent -compact
-# bigbug gets a copy of everything
-all: bigbug
-# ucb folder redistribution list
-ucb: karels, kjd@coke.berkeley.edu
- ra@beno.css.gov
-.Ed
-.Pp
-will send copies of all bug reports with
-.Dq ucb
-as the
-.Em folder
-to bigbug, karels, kjd, and ra.
-.Pp
-Reports that cannot be filed, due to an invalid
-.Dq Index:
-line or
-some other error, are placed in the directory
-.Pa ~bugs/errors .
-The
-.Nm bugfiler
-maintainer should correct these bug reports and then
-run
-.Nm bugfiler ,
-with the corrected report as its standard input,
-as bug reports with errors are neither acknowledged or redistributed.
-All reports that
-.Nm bugfiler
-handles are logged in
-.Pa ~bugs/log.
-.Pp
-Valid bugs are also logged in the file
-.Pa ~bugs/version/summary.
-This file has an entry for each bug report for
-.Ar version
-in the
-format:
-.Pp
-.Bd -literal -offset indent -compact
-Filename Date
- Subject:
- Index:
- Owner: Bugs Bunny
- Status: Received
-.Ed
-.Pp
-.Li Filename
-is the concatenation of
-.Ar version ,
-.Em folder ,
-and a number
-as described above.
-.Xr Date
-is the date as reported by the system
-clock, using
-.Xr ctime 3 .
-The
-.Li Subject:
-and
-.Li Index:
-lines are
-copies of the
-.Dq Subject:
-and
-.Dq index:
-lines contained in the bug
-report. The
-.Li Owner
-and
-.Li Status
-fields are intended to provide a
-rudimentary method of tracking the status of bug reports.
-.Pp
-The file
-.Pa ~bugs/bug:lock
-is the focus of all locking for
-.Nm bugfiler .
-If you wish to manipulate any of the log or error files, rename or remove
-it and
-.Nm bugfiler
-will treat all bug reports that it receives as if
-they were incorrectly formatted, i.e. it will place them in the directory
-.Pa ~bugs/errors ,
-for later recovery by the
-.Nm bugfiler
-maintainer.
-Obviously, this file must be created when you first install
-.Nm bugfiler .
-.Pp
-All errors that occur before
-.Pa ~bugs/log
-is found are logged into the system
-log file, using
-.Xr syslog 8 .
-.Sh FILES
-.Bl -tag -width /usr/share/misc/bugformatxx -compact
-.It Pa ~bugs/bug:ack
-the acknowledgement message
-.It Pa ~bugs/bug:redist
-the redistribution list
-.It Pa ~bugs/bug:lock
-the locking file
-.It Pa ~bugs/errors/BUG_??????
-bug reports with format errors
-.It Pa ~bugs/log
-the log file
-.It Pa ~bugs/folder/summary
-the summary files
-.It Pa /usr/sbin/sendmail
-the mail delivery program
-.It Pa /usr/share/misc/bugformat
-a sample bug report format
-.El
-.Sh SEE ALSO
-.Xr sendbug 1 ,
-.Xr aliases 5 ,
-.Xr syslog 8
-.Sh BUGS
-Since mail can be forwarded in a number of different ways,
-.Nm bugfiler
-does not recognize forwarded mail and will acknowledge to the forwarder
-instead of the original sender unless there is a
-.Dq Reply-To
-field in the
-header.
-.Pp
-This version of
-.Nm bugfiler
-is not compatible with the version
-released with
-.Bx 4.3
-in that it doesn't complain to the sender about
-incorrectly formatted bug reports.
-Frankly, we got tired of the profanity, not to mention the extended
-conversations
-.Nm bugfiler
-was holding with
-.Xr vacation 1 .
-.Sh HISTORY
-The
-.Nm
-command appeared in
-.Bx 4.2 .
diff --git a/libexec/bugfiler/bugfiler.c b/libexec/bugfiler/bugfiler.c
deleted file mode 100644
index 75dbef3..0000000
--- a/libexec/bugfiler/bugfiler.c
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright (c) 1983, 1986, 1987, 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. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. 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.
- */
-
-#ifndef lint
-static char copyright[] =
-"@(#) Copyright (c) 1983, 1986, 1987, 1993\n\
- The Regents of the University of California. All rights reserved.\n";
-#endif /* not lint */
-
-#ifndef lint
-static char sccsid[] = "@(#)bugfiler.c 8.1 (Berkeley) 6/4/93";
-#endif /* not lint */
-
-/*
- * Bug report processing program, designed to be invoked
- * through aliases(5).
- */
-#include <sys/param.h>
-#include <sys/time.h>
-#include <sys/stat.h>
-
-#include <dirent.h>
-#include <pwd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#include "bug.h"
-#include "extern.h"
-
-char bfr[MAXBSIZE], /* general I/O buffer */
- tmpname[sizeof(TMP_BUG) + 5]; /* temp bug file */
-
-static void logit __P((void));
-static void make_copy __P((void));
-
-int
-main(argc, argv)
- int argc;
- char *argv[];
-{
- extern char *optarg; /* getopt arguments */
- register struct passwd *pwd; /* bugs password entry */
- register int ch; /* getopts char */
- int do_ack, /* acknowledge bug report */
- do_redist; /* redistribut BR */
- char *argversion; /* folder name provided */
-
- do_ack = do_redist = YES;
- argversion = NULL;
- while ((ch = getopt(argc, argv, "av:r")) != EOF)
- switch(ch) {
- case 'a':
- do_ack = NO;
- break;
- case 'v':
- argversion = optarg;
- break;
- case 'r':
- do_redist = NO;
- break;
- case '?':
- default:
- fputs("usage: bugfiler [-ar] [-v version]\n", stderr);
- error("usage: bugfiler [-ar] [-v version]", CHN);
- }
-
- if (!(pwd = getpwnam(BUGS_ID)))
- error("can't find bugs login.", BUGS_ID);
-
- if (chdir(pwd->pw_dir)) /* change to bugs home directory */
- error("can't chdir to %s.", pwd->pw_dir);
-
- if (seteuid(pwd->pw_uid))
- error("can't set id to %s.", BUGS_ID);
-
- (void)umask(02); /* everything is 664 */
- seterr(); /* redirect to log file */
- logit(); /* log report arrival */
- make_copy(); /* save copy in case */
- gethead(do_redist);
-
- if (argversion) /* specific folder requested */
- (void)strcpy(dir, argversion);
-
- process();
-
- if (seteuid(0))
- error("can't set id to root.", CHN);
- if (do_ack)
- reply();
- if (do_redist)
- redist();
- (void)unlink(tmpname);
- exit(OK);
-}
-
-/*
- * make_copy --
- * make a copy of bug report in error folder
- */
-static void
-make_copy()
-{
- register int cnt, /* read return value */
- tfd; /* temp file descriptor */
-
- if (access(TMP_DIR, F_OK))
- (void)mkdir(TMP_DIR, S_IRWXU|S_IRWXG|S_IROTH|S_IXOTH);
- (void)strcpy(tmpname, TMP_BUG);
- if (tfd = mkstemp(tmpname)) {
- while ((cnt = read(fileno(stdin),
- bfr, sizeof(bfr))) != ERR && cnt)
- write(tfd, bfr, cnt);
- (void)close(tfd);
- return;
- }
- error("can't make copy using %s.", tmpname);
-}
-
-/*
- * logit --
- * log this run of the bugfiler
- */
-static void
-logit()
-{
- struct timeval tp;
- char *C1, *C2;
-
- if (gettimeofday(&tp, (struct timezone *)NULL))
- error("can't get time of day.", CHN);
- for (C1 = C2 = ctime(&tp.tv_sec); *C1 && *C1 != '\n'; ++C1);
- *C1 = EOS;
- fputs(C2, stderr);
-}
diff --git a/libexec/bugfiler/bugformat b/libexec/bugfiler/bugformat
deleted file mode 100644
index 97a767d..0000000
--- a/libexec/bugfiler/bugformat
+++ /dev/null
@@ -1,32 +0,0 @@
-Subject: Short summary of the problem (please make this meaningful!)
-Index: folder 4.4BSD-alpha
-
-Description:
- Detailed description of the problem, suggestion, or complaint.
-Repeat-By:
- Describe the sequence of events that causes the problem
- to occur.
-Fix:
- Description of how to fix the problem. If you don't know a
- fix for the problem, don't include this section.
-
--------- Remove this line and what's below it, for reference only. --------
-
-To ensure that your bug report is handled correctly by bugfiler(8),
-you must replace "folder" (on the line above starting with "Index:")
-with one of the following values:
-
- folder ::= bin | doc | etc | games | ideas | include | lib
- | local | man | misc | new | sys | ucb
- | usr.bin | usr.lib
-
-If you're not running 4.3BSD, you should also replace "4.3BSD" on
-the same line with one of the following values.
-
- version ::= 4.3BSD | 4.3BSD-tahoe | 4.3BSD-reno | net2
- | 4.4BSD-alpha
-
-For example, if your bug concerns the program "/usr/bin/file" and
-you're currently running 4.3BSD-Reno, you should replace "folder"
-with "usr.bin/file", and "4.4BSD-alpha" with "4.3BSD-Reno". The folder
-"ideas" is for suggestions.
diff --git a/libexec/bugfiler/error.c b/libexec/bugfiler/error.c
deleted file mode 100644
index bd00b2b..0000000
--- a/libexec/bugfiler/error.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 1986, 1987, 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. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. 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.
- */
-
-#ifndef lint
-static char sccsid[] = "@(#)error.c 8.1 (Berkeley) 6/4/93";
-#endif /* not lint */
-
-#include <sys/param.h>
-
-#include <dirent.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <syslog.h>
-
-#include "bug.h"
-#include "extern.h"
-
-static short err_redir; /* stderr redirected */
-
-/*
- * seterr --
- * redirect stderr for error processing
- */
-void
-seterr()
-{
- if (!freopen(ERROR_FILE, "a", stderr))
- error("can't open error file %s.", ERROR_FILE);
- err_redir = YES;
-}
-
-/*
- * error --
- * write errors to log file and die
- */
-void
-error(fmt, arg)
- register char *fmt,
- *arg;
-{
- static char logmsg[MAXLINELEN]; /* syslog message */
-
- if (err_redir) {
- /* don't combine these, "fmt" may not require "arg" */
- fprintf(stderr, "\t%s\n\t", tmpname);
- fprintf(stderr, fmt, arg);
- fputc('\n', stderr);
- }
- else {
- sprintf(logmsg, "bugfiler: %s", fmt);
- syslog(LOG_ERR, logmsg, arg);
- }
-#ifdef METOO
- exit(ERR);
-#else
- exit(OK);
-#endif
-}
diff --git a/libexec/bugfiler/extern.h b/libexec/bugfiler/extern.h
deleted file mode 100644
index b096f3d..0000000
--- a/libexec/bugfiler/extern.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*-
- * Copyright (c) 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. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. 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.
- *
- * @(#)extern.h 8.1 (Berkeley) 6/4/93
- */
-
-void error __P((char *, char *));
-void gethead __P((int));
-int process __P((void));
-void redist __P((void));
-void reply __P((void));
-void seterr __P((void));
diff --git a/libexec/bugfiler/gethead.c b/libexec/bugfiler/gethead.c
deleted file mode 100644
index ba7e361..0000000
--- a/libexec/bugfiler/gethead.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright (c) 1986, 1987, 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. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. 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.
- */
-
-#ifndef lint
-static char sccsid[] = "@(#)gethead.c 8.1 (Berkeley) 6/4/93";
-#endif /* not lint */
-
-#include <sys/param.h>
-#include <sys/stat.h>
-
-#include <dirent.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#include "pathnames.h"
-#include "bug.h"
-#include "extern.h"
-
-static int chk1 __P((char *));
-static int pbuf __P((char *));
-
-#define ENT(X) sizeof(X) - 1, X
-HEADER mailhead[] = { /* mail headers */
- { NO, YES, NULL, ENT("Date:"), },
- { NO, NO, NULL, ENT("From "), },
- { NO, YES, NULL, ENT("From:"), },
- { NO, NO, chk1, ENT("Index:"), },
- { NO, YES, NULL, ENT("Message-Id:"), },
- { NO, YES, NULL, ENT("Reply-To:"), },
- { NO, YES, NULL, ENT("Return-Path:"), },
- { NO, NO, pbuf, ENT("Subject:"), },
- { NO, YES, NULL, ENT("To:"), },
- { NO, NO, NULL, ENT("Apparently-To:"), },
- { ERR, }
-};
-
-FILE *dfp; /* distf file pointer */
-char dir[MAXNAMLEN], /* subject and folder */
- folder[MAXNAMLEN];
-
-/*
- * gethead --
- * read mail and bug headers from bug report, construct redist headers
- */
-void
-gethead(redist)
- int redist;
-{
- register HEADER *hp; /* mail header pointer */
-
- if (redist) {
- int fd;
- char *distf;
-
- distf = strdup(_PATH_TMP);
- if (!(fd = mkstemp(distf)) || !(dfp = fdopen(fd, "w+")))
- error("can't create redistribution file %s.", distf);
- /* disappear after last reference is closed */
- (void)unlink(distf);
- free(distf);
- }
- if (!freopen(tmpname, "r", stdin))
- error("can't read temporary bug file %s.", tmpname);
-
- while (fgets(bfr, sizeof(bfr), stdin)) {
- for (hp = mailhead; hp->found != ERR; ++hp)
- if (!hp->found)
- if (!strncmp(hp->tag, bfr, hp->len)) {
- if (hp->valid && !((*(hp->valid))(bfr)))
- break;
- if (!(hp->line =
- malloc((u_int)(strlen(bfr) + 1))))
- error("malloc failed.", CHN);
- (void)strcpy(hp->line, bfr);
- hp->found = YES;
- break;
- }
- if ((hp->found == ERR || hp->redist) && redist)
- fputs(bfr, dfp);
- }
-
- if (!mailhead[INDX_TAG].found)
- error("no readable \"Index:\" header in bug report.", CHN);
-}
-
-/*
- * chk1 --
- * parse the "Index:" line into folder and directory
- */
-static int
-chk1(line)
- char *line;
-{
- register char *C; /* tmp pointer */
- struct stat sbuf; /* existence check */
-
- if (sscanf(line, " Index: %s %s ", folder, dir) != 2)
- return(NO);
- if (C = strchr(folder, '/')) { /* deal with "bin/from.c" */
- if (C == folder)
- return(NO);
- *C = EOS;
- }
- if (stat(dir, &sbuf) || (sbuf.st_mode & S_IFMT) != S_IFDIR)
- return(NO);
- (void)pbuf(line);
- return(YES);
-}
-
-/*
- * pbuf --
- * kludge so that summary file looks pretty
- */
-static int
-pbuf(line)
- char *line;
-{
- register char *rp, /* tmp pointers */
- *wp;
-
- for (rp = line; *rp == ' ' || *rp == '\t'; ++rp);
- for (wp = line; *rp; ++wp) {
- if ((*wp = *rp++) != ' ' && *wp != '\t')
- continue;
- *wp = ' ';
- while (*rp == ' ' || *rp == '\t')
- ++rp;
- }
- if (wp[-1] == ' ') /* wp can't == line */
- --wp;
- *wp = EOS;
- return(YES);
-}
diff --git a/libexec/bugfiler/pathnames.h b/libexec/bugfiler/pathnames.h
deleted file mode 100644
index 7ff5ab6..0000000
--- a/libexec/bugfiler/pathnames.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 1989, 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. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. 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.
- *
- * @(#)pathnames.h 8.1 (Berkeley) 6/4/93
- */
-
-#define MAIL_CMD "/usr/sbin/sendmail -i -t -F \"Bugs Bunny\" -f owner-bugs"
-#undef _PATH_TMP
-#define _PATH_TMP "/tmp/BUG_XXXXXX"
diff --git a/libexec/bugfiler/process.c b/libexec/bugfiler/process.c
deleted file mode 100644
index 6d376fd..0000000
--- a/libexec/bugfiler/process.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 1986, 1987, 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. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. 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.
- */
-
-#ifndef lint
-static char sccsid[] = "@(#)process.c 8.1 (Berkeley) 6/4/93";
-#endif /* not lint */
-
-#include <sys/param.h>
-#include <sys/time.h>
-
-#include <ctype.h>
-#include <dirent.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include "bug.h"
-#include "extern.h"
-
-char pfile[MAXPATHLEN]; /* permanent file name */
-
-static int getnext __P((void));
-
-/*
- * process --
- * copy report to permanent file,
- * update summary file.
- */
-int
-process()
-{
- register int rval; /* read return value */
- struct timeval tp; /* time of day */
- int lfd; /* lock file descriptor */
-
- if (access(LOCK_FILE, R_OK) || (lfd = open(LOCK_FILE, O_RDONLY, 0)) < 0)
- error("can't find lock file %s.", LOCK_FILE);
- if (flock(lfd, LOCK_EX))
- error("can't get lock.", CHN);
- sprintf(pfile, "%s/%s/%d", dir, folder, getnext());
- fprintf(stderr, "\t%s\n", pfile);
- if (!(freopen(pfile, "w", stdout)))
- error("can't create %s.", pfile);
- rewind(stdin);
- while ((rval = read(fileno(stdin), bfr, sizeof(bfr))) != ERR && rval)
- if (write(fileno(stdout), bfr, rval) != rval)
- error("write to %s failed.", pfile);
-
- /* append information to the summary file */
- sprintf(bfr, "%s/%s", dir, SUMMARY_FILE);
- if (!(freopen(bfr, "a", stdout)))
- error("can't append to summary file %s.", bfr);
- if (gettimeofday(&tp, (struct timezone *)NULL))
- error("can't get time of day.", CHN);
- printf("\n%s\t\t%s\t%s\t%s\tOwner: Bugs Bunny\n\tStatus: Received\n",
- pfile, ctime(&tp.tv_sec), mailhead[INDX_TAG].line,
- mailhead[SUBJ_TAG].found ? mailhead[SUBJ_TAG].line : "Subject:\n");
- (void)flock(lfd, LOCK_UN);
- (void)fclose(stdout);
-}
-
-/*
- * getnext --
- * get next file name (number)
- */
-static int
-getnext()
-{
- register struct dirent *d; /* directory structure */
- register DIR *dirp; /* directory pointer */
- register int highval, newval;
- register char *p;
-
- (void)sprintf(bfr, "%s/%s", dir, folder);
- if (!(dirp = opendir(bfr)))
- error("can't read folder directory %s.", bfr);
- for (highval = -1; d = readdir(dirp);) {
- for (p = d->d_name; *p && isdigit(*p); ++p);
- if (!*p && (newval = atoi(d->d_name)) > highval)
- highval = newval;
- }
- closedir(dirp);
- return(++highval);
-}
diff --git a/libexec/bugfiler/redist.c b/libexec/bugfiler/redist.c
deleted file mode 100644
index 87a18b6..0000000
--- a/libexec/bugfiler/redist.c
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (c) 1986, 1987, 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. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. 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.
- */
-
-#ifndef lint
-static char sccsid[] = "@(#)redist.c 8.1 (Berkeley) 6/4/93";
-#endif /* not lint */
-
-#include <sys/param.h>
-
-#include <ctype.h>
-#include <dirent.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "bug.h"
-#include "pathnames.h"
-#include "extern.h"
-
-/*
- * redist --
- * Redistribute a bug report to those people indicated in the
- * redistribution list file.
- */
-void
-redist()
-{
- extern FILE *dfp; /* dist file fp */
- extern char pfile[]; /* permanent bug file */
- register char *C1, *C2;
- FILE *pf;
- int group;
-
- (void)sprintf(bfr, "%s/%s", dir, DIST_FILE);
- if (!freopen(bfr, "r", stdin))
- return;
- for (pf = NULL, group = 0; fgets(bfr, sizeof(bfr), stdin);) {
- if (C1 = strchr(bfr, '\n'))
- *C1 = '\0';
-nextline: if (*bfr == COMMENT ||
- isspace(*bfr) || !(C1 = index(bfr, ':')))
- continue;
- *C1 = EOS;
- if (!strcmp(bfr, folder) || !strcmp(bfr, "all")) {
- for (++C1; *C1 && (*C1 == ' ' || *C1 == '\t'); ++C1);
- if (!*C1) /* if empty list */
- continue;
- if (!pf) {
- if (!(pf = popen(MAIL_CMD, "w")))
- error("sendmail pipe failed.", CHN);
- if (mailhead[SUBJ_TAG].found)
- fprintf(pf,
- "%s", mailhead[SUBJ_TAG].line);
- else
- fprintf(pf,
- "Subject: Untitled Bug Report\n");
- if (!mailhead[TO_TAG].line) {
- if (mailhead[APPAR_TO_TAG].line)
- fprintf(pf, "To%s",
- strchr(mailhead[APPAR_TO_TAG].line,
- ':'));
- else
- fprintf(pf, "To: %s\n", BUGS_ID);
- }
- fputs("Resent-To: ", pf);
- }
- /*
- * write out first entry, then succeeding entries
- * backward compatible, handles back slashes at end
- * of line
- */
- if (group++)
- fputs(", ", pf);
- for (;;) {
- if (C2 = strchr(C1, '\\'))
- *C2 = EOS;
- fputs(C1, pf);
- if (!fgets(bfr, sizeof(bfr), stdin))
- break;
- if (C1 = strchr(bfr, '\n'))
- *C1 = '\0';
- if (*bfr != ' ' && *bfr != '\t')
- goto nextline;
- for (C1 = bfr;
- *C1 && (*C1 == ' ' || *C1 == '\t'); ++C1);
- }
- }
- }
- if (!pf)
- return;
-
- putc('\n', pf);
-
- rewind(dfp);
- /* add Reference header and copy bug report out */
- while (fgets(bfr, sizeof(bfr), dfp) && *bfr != '\n')
- fputs(bfr, pf);
- fprintf(pf, "\n%sReference: %s\n\n", mailhead[INDX_TAG].line, pfile);
- while (fgets(bfr, sizeof(bfr), dfp))
- fputs(bfr, pf);
- (void)pclose(pf);
-}
diff --git a/libexec/bugfiler/reply.c b/libexec/bugfiler/reply.c
deleted file mode 100644
index 0f99401..0000000
--- a/libexec/bugfiler/reply.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (c) 1986, 1987, 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. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. 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.
- */
-
-#ifndef lint
-static char sccsid[] = "@(#)reply.c 8.1 (Berkeley) 6/4/93";
-#endif /* not lint */
-
-#include <sys/param.h>
-
-#include <dirent.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-
-#include "bug.h"
-#include "extern.h"
-#include "pathnames.h"
-
-/*
- * reply --
- * tell the user we got their silly little bug report
- */
-void
-reply()
-{
- register char *C, /* traveling pointer */
- *to; /* who we're replying to */
- register int afd, /* ack file descriptor */
- rval; /* return value */
- FILE *pf; /* pipe pointer */
-
- if (mailhead[RPLY_TAG].found) {
- for (C = mailhead[RPLY_TAG].line + mailhead[RPLY_TAG].len;
- *C != '\n' && (*C == ' ' || *C == '\t');++C);
- if (*C)
- goto gotone;
- }
- if (mailhead[FROM_TAG].found) {
- for (C = mailhead[FROM_TAG].line + mailhead[FROM_TAG].len;
- *C != '\n' && (*C == ' ' || *C == '\t');++C);
- if (*C)
- goto gotone;
- }
- if (mailhead[CFROM_TAG].found) {
- for (C = mailhead[CFROM_TAG].line + mailhead[CFROM_TAG].len;
- *C != '\n' && (*C == ' ' || *C == '\t');++C);
- if (*C)
- goto gotone;
- }
- return;
-
- /* if it's a foo <XXX>, get the XXX, else get foo (first string) */
-gotone: if (to = strchr(C, '<'))
- for (C = ++to;
- *C != '\n' && *C != ' ' && *C != '\t' && *C != '>';++C);
- else {
- to = C;
- for (to = C++;*C != '\n' && *C != ' ' && *C != '\t';++C);
- }
- *C = EOS;
-
- if (!(pf = popen(MAIL_CMD, "w")))
- error("sendmail pipe failed.", CHN);
-
- fprintf(pf, "Reply-To: %s\nFrom: %s (Bugs Bunny)\nTo: %s\n",
- BUGS_HOME, BUGS_HOME, to);
- if (mailhead[SUBJ_TAG].found)
- fprintf(pf, "Subject: Re:%s",
- mailhead[SUBJ_TAG].line + mailhead[SUBJ_TAG].len);
- else
- fputs("Subject: Bug report acknowledgement.\n", pf);
- if (mailhead[DATE_TAG].found)
- fprintf(pf, "In-Acknowledgement-Of: Your message of %s",
- mailhead[DATE_TAG].line + mailhead[DATE_TAG].len);
- if (mailhead[MSG_TAG].found)
- fprintf(pf, "\t\t%s", mailhead[MSG_TAG].line);
- fputs("Precedence: bulk\n\n", pf); /* vacation(1) uses this... */
- fflush(pf);
-
- (void)sprintf(bfr, "%s/%s", dir, ACK_FILE);
- if ((afd = open(bfr, O_RDONLY, 0)) >= 0) {
- while ((rval = read(afd, bfr, sizeof(bfr))) != ERR && rval)
- (void)write(fileno(pf), bfr, rval);
- (void)close(afd);
- }
- pclose(pf);
-}
diff --git a/libexec/bugfiler/sendbug.1 b/libexec/bugfiler/sendbug.1
deleted file mode 100644
index 31ca802..0000000
--- a/libexec/bugfiler/sendbug.1
+++ /dev/null
@@ -1,85 +0,0 @@
-.\" Copyright (c) 1983, 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. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by the University of
-.\" California, Berkeley and its contributors.
-.\" 4. 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.
-.\"
-.\" @(#)sendbug.1 8.1 (Berkeley) 6/4/93
-.\"
-.Dd June 4, 1993
-.Dt SENDBUG 1
-.Os BSD 4.2
-.Sh NAME
-.Nm sendbug
-.Nd mail a system bug report to 4bsd-bugs
-.Sh SYNOPSIS
-.Nm sendbug
-.Op Ar address
-.Sh DESCRIPTION
-Bug reports sent to `4bsd-bugs@Berkeley.EDU' are intercepted
-by a program which expects bug reports to conform to a standard format.
-.Nm Sendbug
-is a shell script to help the user compose and mail bug reports
-in the correct format.
-.Nm Sendbug
-works by invoking the editor specified by the environment variable
-.Ev EDITOR
-on a temporary copy of the bug report format outline. The user must fill in the
-appropriate fields and exit the editor.
-.Nm Sendbug
-then mails the completed report to `4bsd-bugs@Berkeley.EDU' or the
-.Ar address
-specified on the command line.
-.Sh ENVIRONMENT
-.Nm Sendbug
-will utilize the following environment variable if it exists:
-.Bl -tag -width EDITOR
-.It Ev EDITOR
-Specifies the preferred editor. If
-.Ev EDITOR
-is not set,
-.Nm
-defaults to
-.Xr vi 1 .
-.El
-.Sh FILES
-.Bl -tag -width /usr/share/misc/bugformat -compact
-.It Pa /usr/share/misc/bugformat
-Contains the bug report outline.
-.El
-.Sh SEE ALSO
-.Xr vi 1 ,
-.Xr environ 7 ,
-.Xr bugfiler 8 ,
-.Xr sendmail 8
-.Sh HISTORY
-The
-.Nm sendbug
-command
-appeared in
-.Bx 4.2 .
diff --git a/libexec/bugfiler/sendbug.sh b/libexec/bugfiler/sendbug.sh
deleted file mode 100644
index 911ef9d..0000000
--- a/libexec/bugfiler/sendbug.sh
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/bin/sh -
-#
-# 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. All advertising materials mentioning features or use of this software
-# must display the following acknowledgement:
-# This product includes software developed by the University of
-# California, Berkeley and its contributors.
-# 4. 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.
-#
-# @(#)sendbug.sh 8.1 (Berkeley) 6/4/93
-#
-
-# create a bug report and mail it to '4bsd-bugs'.
-
-PATH=/bin:/sbin:/usr/sbin:/usr/bin
-export PATH
-
-TEMP=/tmp/bug$$
-FORMAT=/usr/share/misc/bugformat
-
-# uucp sites should use ": ${BUGADDR=ucbvax!4bsd-bugs}" with a suitable path.
-: ${BUGADDR=4bsd-bugs@CS.Berkeley.EDU}
-: ${EDITOR=vi}
-
-trap 'rm -f $TEMP ; exit 1' 1 2 3 13 15
-
-cp $FORMAT $TEMP
-chmod u+w $TEMP
-if $EDITOR $TEMP
-then
- if cmp -s $FORMAT $TEMP
- then
- echo "File not changed, no bug report submitted."
- exit
- fi
- case "$#" in
- 0) sendmail -t -oi $BUGADDR < $TEMP ;;
- *) sendmail -t -oi "$@" < $TEMP ;;
- esac
-fi
-
-rm -f $TEMP
OpenPOWER on IntegriCloud