diff options
author | Poul-Henning Kamp <phk@FreeBSD.org> | 1996-11-21 16:51:15 +0000 |
---|---|---|
committer | Poul-Henning Kamp <phk@FreeBSD.org> | 1996-11-21 16:51:15 +0000 |
commit | e327282419e3d97aa889087a4ed9a734bccbf34f (patch) | |
tree | ac30ab0edfffb335dd45bd45935ec22e09228538 | |
parent | a384ea263cadd7102ab6ee51bbecb6eb142b6062 (diff) |
Notes
37 files changed, 501 insertions, 549 deletions
diff --git a/bin/dd/args.c b/bin/dd/args.c index 61b479451826a..ea262d6a3cd71 100644 --- a/bin/dd/args.c +++ b/bin/dd/args.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: args.c,v 1.3 1994/09/24 02:54:42 davidg Exp $ */ #ifndef lint @@ -100,7 +100,7 @@ jcl(argv) in.dbsz = out.dbsz = 512; - while ((oper = *++argv)) {/* JEAG */ + while ((oper = *++argv) != NULL) { if ((arg = strchr(oper, '=')) == NULL) errx(1, "unknown operand %s", oper); *arg++ = '\0'; diff --git a/bin/dd/conv.c b/bin/dd/conv.c index e87c396440da3..8be8e3190fb14 100644 --- a/bin/dd/conv.c +++ b/bin/dd/conv.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: conv.c,v 1.3 1994/09/24 02:54:44 davidg Exp $ */ #ifndef lint @@ -61,7 +61,7 @@ def() int cnt; u_char *inp, *t; - if ((t = ctab)) + if ((t = ctab) != NULL) for (inp = in.dbp - (cnt = in.dbrcnt); cnt--; ++inp) *inp = t[*inp]; @@ -105,7 +105,6 @@ block() int ch, cnt, maxlen; u_char *inp, *outp, *t; - ch = 0; /* * Record truncation can cross block boundaries. If currently in a * truncation state, keep tossing characters until reach a newline. @@ -130,9 +129,10 @@ block() * Copy records (max cbsz size chunks) into the output buffer. The * translation is done as we copy into the output buffer. */ + ch = 0; /* Help the compiler. */ for (inp = in.dbp - in.dbcnt, outp = out.dbp; in.dbcnt;) { maxlen = MIN(cbsz, in.dbcnt); - if ((t = ctab)) + if ((t = ctab) != NULL) for (cnt = 0; cnt < maxlen && (ch = *inp++) != '\n'; ++cnt) *outp++ = t[ch]; @@ -216,7 +216,7 @@ unblock() u_char *inp, *t; /* Translation and case conversion. */ - if ((t = ctab)) + if ((t = ctab) != NULL) for (cnt = in.dbrcnt, inp = in.dbp; cnt--;) *--inp = t[*inp]; /* diff --git a/bin/dd/dd.c b/bin/dd/dd.c index 55c4e76a06c80..80379c5c99c87 100644 --- a/bin/dd/dd.c +++ b/bin/dd/dd.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: dd.c,v 1.4 1995/01/17 23:04:29 ache Exp $ + * $Id: dd.c,v 1.5 1995/10/23 21:31:48 ache Exp $ */ #ifndef lint @@ -56,12 +56,12 @@ static char sccsid[] = "@(#)dd.c 8.5 (Berkeley) 4/2/94"; #include <err.h> #include <errno.h> #include <fcntl.h> +#include <locale.h> #include <signal.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> -#include <locale.h> #include "dd.h" #include "extern.h" @@ -85,7 +85,7 @@ main(argc, argv) int argc; char *argv[]; { - (void) setlocale(LC_CTYPE, ""); + (void)setlocale(LC_CTYPE, ""); jcl(argv); setup(); @@ -105,6 +105,7 @@ static void setup() { u_int cnt; + struct timeval tv; if (in.name == NULL) { in.name = "stdin"; @@ -213,7 +214,8 @@ setup() ctab[cnt] = cnt; } } - (void)time(&st.start); /* Statistics timestamp. */ + (void)gettimeofday(&tv, (struct timezone *)NULL); + st.start = tv.tv_sec + tv.tv_usec * 1e-6; } static void diff --git a/bin/dd/dd.h b/bin/dd/dd.h index 4ad97473e25d4..798b340acfd84 100644 --- a/bin/dd/dd.h +++ b/bin/dd/dd.h @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)dd.h 8.3 (Berkeley) 4/2/94 - * $Id$ + * $Id: dd.h,v 1.2 1994/09/24 02:54:54 davidg Exp $ */ /* Input/output stream state. */ @@ -70,7 +70,7 @@ typedef struct { u_long trunc; /* # of truncated records */ u_long swab; /* # of odd-length swab blocks */ u_long bytes; /* # of bytes written */ - time_t start; /* start time of dd */ + double start; /* start time of dd */ } STAT; /* Flags (in ddflags). */ diff --git a/bin/dd/misc.c b/bin/dd/misc.c index a135c85496a77..17abee4c3d9f9 100644 --- a/bin/dd/misc.c +++ b/bin/dd/misc.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: misc.c,v 1.2 1994/09/24 02:55:01 davidg Exp $ */ #ifndef lint @@ -42,6 +42,7 @@ static char sccsid[] = "@(#)misc.c 8.3 (Berkeley) 4/2/94"; #endif /* not lint */ #include <sys/types.h> +#include <sys/time.h> #include <err.h> #include <stdio.h> @@ -56,12 +57,14 @@ static char sccsid[] = "@(#)misc.c 8.3 (Berkeley) 4/2/94"; void summary() { - time_t secs; + struct timeval tv; + double secs; char buf[100]; - (void)time(&secs); - if ((secs -= st.start) == 0) - secs = 1; + (void)gettimeofday(&tv, (struct timezone *)NULL); + secs = tv.tv_sec + tv.tv_usec * 1e-6 - st.start; + if (secs < 1e-6) + secs = 1e-6; /* Use snprintf(3) so that we don't reenter stdio(3). */ (void)snprintf(buf, sizeof(buf), "%u+%u records in\n%u+%u records out\n", @@ -78,7 +81,7 @@ summary() (void)write(STDERR_FILENO, buf, strlen(buf)); } (void)snprintf(buf, sizeof(buf), - "%u bytes transferred in %u secs (%u bytes/sec)\n", + "%u bytes transferred in %.6f secs (%.0f bytes/sec)\n", st.bytes, secs, st.bytes / secs); (void)write(STDERR_FILENO, buf, strlen(buf)); } diff --git a/lib/libc/gen/exec.c b/lib/libc/gen/exec.c index b62ae63e6fd0d..72b6db43b1daa 100644 --- a/lib/libc/gen/exec.c +++ b/lib/libc/gen/exec.c @@ -190,6 +190,8 @@ execvp(name, argv) int eacces, etxtbsy; char *bp, *cur, *path, buf[MAXPATHLEN]; + eacces = etxtbsy = 0; + /* If it's an absolute or relative path name, it's easy. */ if (index(name, '/')) { bp = (char *)name; @@ -198,12 +200,17 @@ execvp(name, argv) } bp = buf; + /* If it's an empty path name, fail in the usual POSIX way. */ + if (*name == '\0') { + errno = ENOENT; + return (-1); + } + /* Get the path we're searching. */ if (!(path = getenv("PATH"))) path = _PATH_DEFPATH; cur = path = strdup(path); - eacces = etxtbsy = 0; while ( (p = strsep(&cur, ":")) ) { /* * It's a SHELL path -- double, leading and trailing colons diff --git a/libexec/ftpd/ftpd.c b/libexec/ftpd/ftpd.c index 2c698f3b4a118..e5d92a72f63dd 100644 --- a/libexec/ftpd/ftpd.c +++ b/libexec/ftpd/ftpd.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ftpd.c,v 1.23 1996/08/09 22:22:30 julian Exp $ + * $Id: ftpd.c,v 1.25 1996/10/18 17:09:25 ache Exp $ */ #if 0 @@ -1687,7 +1687,7 @@ myoob(signo) void passive() { - int len, on; + int len; char *p, *a; if (pdata >= 0) /* close old port if one set */ @@ -1701,11 +1701,16 @@ passive() (void) seteuid((uid_t)0); - on = restricted_data_ports ? IP_PORTRANGE_HIGH : IP_PORTRANGE_DEFAULT; - if (setsockopt(pdata, IPPROTO_IP, IP_PORTRANGE, - (char *)&on, sizeof(on)) < 0) { - goto pasv_error; +#ifdef IP_PORTRANGE + { + int on = restricted_data_ports ? IP_PORTRANGE_HIGH + : IP_PORTRANGE_DEFAULT; + + if (setsockopt(pdata, IPPROTO_IP, IP_PORTRANGE, + (char *)&on, sizeof(on)) < 0) + goto pasv_error; } +#endif pasv_addr = ctrl_addr; pasv_addr.sin_port = 0; diff --git a/libexec/ftpd/popen.c b/libexec/ftpd/popen.c index 4ca4e5b72406c..2026c41c58aaa 100644 --- a/libexec/ftpd/popen.c +++ b/libexec/ftpd/popen.c @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: popen.c,v 1.4 1996/09/22 21:53:32 wosch Exp $ */ #if 0 @@ -55,6 +55,9 @@ static char sccsid[] = "@(#)popen.c 8.3 (Berkeley) 4/6/94"; #include "extern.h" +#define MAXUSRARGS 100 +#define MAXGLOBARGS 1000 + /* * Special version of popen which avoids call to shell. This ensures noone * may create a pipe to a hidden program as a side effect of a list or dir @@ -70,7 +73,7 @@ ftpd_popen(program, type) char *cp; FILE *iop; int argc, gargc, pdes[2], pid; - char **pop, *argv[100], *gargv[1000]; + char **pop, *argv[MAXUSRARGS], *gargv[MAXGLOBARGS]; if (((*type != 'r') && (*type != 'w')) || type[1]) return (NULL); @@ -86,13 +89,13 @@ ftpd_popen(program, type) return (NULL); /* break up string into pieces */ - for (argc = 0, cp = program;; cp = NULL) + for (argc = 0, cp = program; argc < MAXUSRARGS; cp = NULL) if (!(argv[argc++] = strtok(cp, " \t\n"))) break; /* glob each piece */ gargv[0] = argv[0]; - for (gargc = argc = 1; argv[argc]; argc++) { + for (gargc = argc = 1; argv[argc] && gargc < (MAXGLOBARGS-1); argc++) { glob_t gl; int flags = GLOB_BRACE|GLOB_NOCHECK|GLOB_QUOTE|GLOB_TILDE; @@ -100,7 +103,8 @@ ftpd_popen(program, type) if (glob(argv[argc], flags, NULL, &gl)) gargv[gargc++] = strdup(argv[argc]); else - for (pop = gl.gl_pathv; *pop; pop++) + for (pop = gl.gl_pathv; *pop && gargc < (MAXGLOBARGS-1); + pop++) gargv[gargc++] = strdup(*pop); globfree(&gl); } diff --git a/libexec/rexecd/rexecd.8 b/libexec/rexecd/rexecd.8 index df8950419db94..51034651b1c68 100644 --- a/libexec/rexecd/rexecd.8 +++ b/libexec/rexecd/rexecd.8 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)rexecd.8 8.2 (Berkeley) 12/11/93 -.\" $Id$ +.\" $Id: rexecd.8,v 1.3 1996/09/22 21:54:42 wosch Exp $ .\" .Dd September 23, 1994 .Dt REXECD 8 @@ -99,8 +99,11 @@ by .El .Sh CAVEATS .Nm Rexecd -will no longer allow root logins, access for users listed in /etc/ftpusers, -or access for users with no passwords, which were all serious security holes. +will no longer allow root logins, +access for users listed in /etc/ftpusers, +access for users with no passwords, +or reverse connections to privileged ports, +which were all serious security holes. The entire concept of rexec/rexecd is a major security hole and an example of how not to do things. .Nm Rexecd diff --git a/libexec/rexecd/rexecd.c b/libexec/rexecd/rexecd.c index 61f020aca022f..29051294a22cb 100644 --- a/libexec/rexecd/rexecd.c +++ b/libexec/rexecd/rexecd.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: rexecd.c,v 1.8 1996/09/22 21:54:45 wosch Exp $ */ #ifndef lint @@ -153,18 +153,6 @@ doit(f, fromp) port = port * 10 + c - '0'; } (void) alarm(0); - if (port != 0) { - s = socket(AF_INET, SOCK_STREAM, 0); - if (s < 0) - exit(1); - if (bind(s, (struct sockaddr *)&asin, sizeof (asin)) < 0) - exit(1); - (void) alarm(60); - fromp->sin_port = htons(port); - if (connect(s, (struct sockaddr *)fromp, sizeof (*fromp)) < 0) - exit(1); - (void) alarm(0); - } getstr(user, sizeof(user), "username"); getstr(pass, sizeof(pass), "password"); getstr(cmdbuf, sizeof(cmdbuf), "command"); @@ -217,8 +205,30 @@ doit(f, fromp) error("No remote directory.\n"); exit(1); } + + if (port != 0) { + if (port < IPPORT_RESERVED) { + syslog(LOG_ERR, "%s CONNECTION REFUSED to %s:%d " + "client requested privileged port", + user, remote, port); + error("Privileged port requested for stderr info.\n"); + exit(1); + } + s = socket(AF_INET, SOCK_STREAM, 0); + if (s < 0) + exit(1); + if (bind(s, (struct sockaddr *)&asin, sizeof (asin)) < 0) + exit(1); + (void) alarm(60); + fromp->sin_port = htons(port); + if (connect(s, (struct sockaddr *)fromp, sizeof (*fromp)) < 0) + exit(1); + (void) alarm(0); + } + (void) write(2, "\0", 1); - if (port) { + + if (port != 0) { (void) pipe(pv); pid = fork(); if (pid == -1) { diff --git a/sbin/ping/ping.c b/sbin/ping/ping.c index 9262f5bdf27f2..02b34fcec1be2 100644 --- a/sbin/ping/ping.c +++ b/sbin/ping/ping.c @@ -176,11 +176,6 @@ main(argc, argv) setuid(getuid()); preload = 0; - if (tcgetattr(STDOUT_FILENO, &ts) != -1) { - reset_kerninfo = !(ts.c_lflag & NOKERNINFO); - ts.c_lflag |= NOKERNINFO; - tcsetattr(STDOUT_FILENO, TCSANOW, &ts); - } datap = &outpack[8 + sizeof(struct timeval)]; while ((ch = getopt(argc, argv, "QRc:dfh:i:l:np:qrs:v")) != EOF) @@ -361,6 +356,12 @@ main(argc, argv) (void)signal(SIGALRM, catcher); (void)signal(SIGINFO, status); + if (tcgetattr(STDOUT_FILENO, &ts) != -1) { + reset_kerninfo = !(ts.c_lflag & NOKERNINFO); + ts.c_lflag |= NOKERNINFO; + tcsetattr(STDOUT_FILENO, TCSANOW, &ts); + } + while (preload--) /* fire off them quickies */ pinger(); diff --git a/share/doc/FAQ/FAQ.sgml b/share/doc/FAQ/FAQ.sgml index ca71a52489620..6c5544a6b6f89 100644 --- a/share/doc/FAQ/FAQ.sgml +++ b/share/doc/FAQ/FAQ.sgml @@ -1,11 +1,11 @@ <!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN"> -<!-- $Id: FAQ.sgml,v 1.12 1996/10/09 20:52:35 asami Exp $ --> +<!-- $Id: FAQ.sgml,v 1.13 1996/10/19 23:13:36 roberto Exp $ --> <article> <title>Frequently Asked Questions for FreeBSD 2.X <author>The FreeBSD FAQ Team, <tt/FAQ@FreeBSD.ORG/ -<date>$Date: 1996/10/09 20:52:35 $ +<date>$Date: 1996/11/20 14:18:25 $ <abstract> This is the FAQ for FreeBSD systems version 2.X All entries are assumed to be relevant to FreeBSD 2.0.5+, unless otherwise noted. @@ -2779,7 +2779,7 @@ disk fd1 at fdc0 drive 1 <url url="http://www.FreeBSD.ORG/How/handbook/ppp.html" name="Handbook entry on PPP (kernel version)"> <url url="http://www.FreeBSD.ORG/How/handbook/userppp.html" - name="Handbook entry on SLIP (user-mode version)"> + name="Handbook entry on PPP (user-mode version)"> <sect1> <heading>I can connect with IJPPP but it doesn't work right!</heading> diff --git a/share/doc/handbook/contrib.sgml b/share/doc/handbook/contrib.sgml index 179298e4b16f0..dc3e0a3ca1482 100644 --- a/share/doc/handbook/contrib.sgml +++ b/share/doc/handbook/contrib.sgml @@ -1,4 +1,4 @@ -<!-- $Id: contrib.sgml,v 1.145.2.2 1996/11/10 12:15:06 phk Exp $ --> +<!-- $Id: contrib.sgml,v 1.145.2.3 1996/11/16 21:11:01 phk Exp $ --> <!-- The FreeBSD Documentation Project --> <!-- Please try to keep the file 'avail' (from CVSROOT) @@ -237,6 +237,7 @@ <item>Holger Veit <Holger.Veit@gmd.de> <item>Igor Vinokurov <igor@zynaps.ru> <item>Ikuo Nakagawa <ikuo@isl.intec.co.jp> + <item>IMAMURA Tomoaki <tomoak-i@is.aist-nara.ac.jp> <item>Ishii Masahiro <?> <item>J.T. Conklin <jtc@cygnus.com> <item>James Clark <jjc@jclark.com> @@ -285,7 +286,7 @@ <item>Mike Peck <mike@binghamton.edu> <item>MITA Yoshio <mita@jp.FreeBSD.ORG> <item>MOROHOSHI Akihiko <moro@race.u-tokyo.ac.jp> - <item>Naoki Hamada <nao@sbl.cl.nec.co.jp> + <item>Naoki Hamada <nao@tom-yam.or.jp> <item>NIIMI Satoshi <sa2c@and.or.jp> <item>Nick Sayer <nsayer@quack.kfu.com> <item>Nisha Talagala <nisha@cs.berkeley.edu> @@ -399,7 +400,7 @@ <item>Michael Clay <mclay@weareb.org> <item>Michael Galassi <nerd@percival.rain.com> <item>Mike Durkin <mdurkin@tsoft.sf-bay.org> - <item>Naoki Hamada <nao@sbl.cl.nec.co.jp> + <item>Naoki Hamada <nao@tom-yam.or.jp> <item>Nate Williams <nate@bsd.coe.montana.edu> <item>Nick Handel <nhandel@NeoSoft.com> <nick@madhouse.neosoft.com> diff --git a/share/doc/handbook/porting.sgml b/share/doc/handbook/porting.sgml index 21d8a214f2167..beb61b998e34e 100644 --- a/share/doc/handbook/porting.sgml +++ b/share/doc/handbook/porting.sgml @@ -1,4 +1,4 @@ -<!-- $Id: porting.sgml,v 1.32.2.2 1996/11/10 12:15:13 phk Exp $ --> +<!-- $Id: porting.sgml,v 1.32.2.3 1996/11/12 09:06:42 phk Exp $ --> <!-- The FreeBSD Documentation Project --> <sect1><heading>Porting an existing piece of free software<label id="porting"></heading> @@ -582,6 +582,21 @@ work/foozolix-1.0/ to add support for automatically determining the closest master site and fetching from there! + <p>If your the original tarball is part of one of the following + popular archives: X-contrib, GNU, Perl CPAN, TeX CTAN, or + Linux Sunsite, you refer to those sites in an easy compack + form using MASTER_SITE_XCONTRIB, MASTER_SITE_GNU, + MASTER_SITE_PERL_CPAN, MASTER_SITE_TEX_CTAN, and + MASTER_SITE_SUNSITE. Simply set MASTER_SITE_SUBDIR to the path + with in the archive. Here is an example: +<tscreen><verb> +MASTER_SITES= ${MASTER_SITE_XCONTRIB} +MASTER_SITE_SUBDIR= applications +</verb></tscreen> + <p>The user can also set the MASTER_SITE_* variables in + <tt>/etc/make.conf</tt> to override our choices, and use their + favorate mirrors of these popular archives instead. + <sect3> <heading>PATCHFILES<label id="porting:patchfiles"></heading> @@ -907,23 +922,30 @@ FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2 <heading>Compress manpages, strip binaries</heading> <p>Do compress manpages and strip binaries. If the original - source already does that, fine; otherwise, you can add a - <tt>post-install</tt> rule to do it yourself. Make sure - that you check the variable <tt>NOMANCOMPRESS</tt> that the - user can set in <tt>/etc/make.conf</tt> to disable man page - compression. Here is an example: + source already strips the binary, fine; otherwise, you can add a + <tt>post-install</tt> rule to do it yourself. Here is an example: <tscreen><verb> post-install: strip ${PREFIX}/bin/xdl - .if !defined(NOMANCOMPRESS) - gzip -9nf ${PREFIX}/man/man1/xdl.1 - .endif </verb></tscreen> - <p>Use the <tt>file</tt> command on the installed executable to check whether the binary is stripped or not. If it does not say `not stripped', it is stripped. + <p>To automagically compress the manpages, use the MAN[1-9LN] + variables. They will check the variable <tt>NOMANCOMPRESS</tt> + that the user can set in <tt>/etc/make.conf</tt> to disable man + page compression. + Place them last in the section below the MAINTAINER variable. + Here is an example: +<tscreen><verb> +MAN1= foo.1 bar.1 +MAN5= foo.conf.5 +MAN8= baz.8 +</verb></tscreen> + <p>Note that this is not usually nessicary with ports that are X + applications and use Imake to build. + <sect3> <heading>INSTALL_* macros</heading> <p>Do use the macros provided in <tt>bsd.port.mk</tt> to @@ -1182,10 +1204,13 @@ lib/libtcl.so.7.3 [this section is for other standard bsd.port.mk variables that do not belong to any of the above] - [If it extracts to a directory other than ${DISTNAME}...] - WRKSRC= ${WRKDIR}/xdvi-new [If it asks questions during configure, build, install...] IS_INTERACTIVE= yes + [If it extracts to a directory other than ${DISTNAME}...] + WRKSRC= ${WRKDIR}/xdvi-new + [If the distributed patches were not made relative to ${WRKSRC}, you may need + to tweak this] + PATCH_DIST_STRIP= -p1 [If it requires a "configure" script generated by GNU autoconf to be run...] GNU_CONFIGURE= yes [If it requires GNU make, not /usr/bin/make, to build...] diff --git a/share/doc/ja_JP.EUC/handbook/Makefile b/share/doc/ja_JP.EUC/handbook/Makefile index 302fa0291f347..384d401e93844 100644 --- a/share/doc/ja_JP.EUC/handbook/Makefile +++ b/share/doc/ja_JP.EUC/handbook/Makefile @@ -1,7 +1,8 @@ -# $Id$ +# $Id: Makefile,v 1.1.1.1 1996/11/15 05:14:38 asami Exp $ # Original revision: 1.17 # The FreeBSD Japanese Documentation Project +DOC= handbook DOCDIR=${SHAREDIR}/doc/ja_JP.EUC FORMATS= html roff diff --git a/share/doc/ja_JP.EUC/handbook/contrib.sgml b/share/doc/ja_JP.EUC/handbook/contrib.sgml index 212d324cc0649..2534b8516a3fa 100644 --- a/share/doc/ja_JP.EUC/handbook/contrib.sgml +++ b/share/doc/ja_JP.EUC/handbook/contrib.sgml @@ -1,6 +1,6 @@ -<!-- $Id$ --> +<!-- $Id: contrib.sgml,v 1.2 1996/11/19 11:33:33 max Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> -<!-- Original revision: 1.150 --> +<!-- Original revision: 1.155 --> <!-- Please try to keep the file 'avail' (from CVSROOT) in sync with the list of FreeBSD Developers --> @@ -177,6 +177,7 @@ <item>Andrew Gordon <andrew.gordon@net-tel.co.uk> <item>Andrew Herbert <andrew@werple.apana.org.au> <item>Andreas Kohout <shanee@rabbit.augusta.de> + <item>Andreas Lohr <andreas@marvin.RoBIN.de> <item>Andrew McRae <amcrae@cisco.com> <item>Andrew Moore <alm@FreeBSD.org> <item>Andrew V. Stesin <stesin@elvisti.kiev.ua> @@ -236,6 +237,7 @@ <item>Holger Veit <Holger.Veit@gmd.de> <item>Igor Vinokurov <igor@zynaps.ru> <item>Ikuo Nakagawa <ikuo@isl.intec.co.jp> + <item>IMAMURA Tomoaki <tomoak-i@is.aist-nara.ac.jp> <item>Ishii Masahiro <?> <item>J.T. Conklin <jtc@cygnus.com> <item>James Clark <jjc@jclark.com> @@ -254,6 +256,7 @@ <item>Juha Inkari <inkari@cc.hut.fi> <item>Julian Jenkins <kaveman@magna.com.au> <item>Julian Stacey <jhs@freebsd.org> + <item>Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp> <item>Keith Bostic <bostic@toe.CS.Berkeley.EDU> <item>Keith Moore <?> <item>Kirk McKusick <mckusick@mckusick.com> @@ -283,13 +286,14 @@ <item>Mike Peck <mike@binghamton.edu> <item>MITA Yoshio <mita@jp.FreeBSD.ORG> <item>MOROHOSHI Akihiko <moro@race.u-tokyo.ac.jp> - <item>Naoki Hamada <nao@sbl.cl.nec.co.jp> + <item>Naoki Hamada <nao@tom-yam.or.jp> <item>NIIMI Satoshi <sa2c@and.or.jp> - <item>Nick Sayer <nsayer@quack.kfu.com> + <item>Nick Sayer <nsayer@quack.kfu.com> <item>Nisha Talagala <nisha@cs.berkeley.edu> <item>Nobuhiro Yasutomi <nobu@psrc.isac.co.jp> <item>Nobuyuki Koganemaru <kogane@kces.koganemaru.co.jp> <item>Noritaka Ishizumi <graphite@taurus.bekkoame.or.jp> + <item>Oliver Oberdorf <oly@world.std.com> <item>Paul Kranenburg <pk@cs.few.eur.nl> <item>Paul Mackerras <paulus@cs.anu.edu.au> <item>Peter Stubbs <PETERS@staidan.qld.edu.au> @@ -396,7 +400,7 @@ <item>Michael Clay <mclay@weareb.org> <item>Michael Galassi <nerd@percival.rain.com> <item>Mike Durkin <mdurkin@tsoft.sf-bay.org> - <item>Naoki Hamada <nao@sbl.cl.nec.co.jp> + <item>Naoki Hamada <nao@tom-yam.or.jp> <item>Nate Williams <nate@bsd.coe.montana.edu> <item>Nick Handel <nhandel@NeoSoft.com> <nick@madhouse.neosoft.com> diff --git a/share/doc/ja_JP.EUC/handbook/handbook.sgml b/share/doc/ja_JP.EUC/handbook/handbook.sgml index ecd94d79d3065..be0bff09cf349 100644 --- a/share/doc/ja_JP.EUC/handbook/handbook.sgml +++ b/share/doc/ja_JP.EUC/handbook/handbook.sgml @@ -1,6 +1,6 @@ -<!-- $Id$ --> +<!-- $Id: handbook.sgml,v 1.3 1996/11/19 11:33:33 max Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> -<!-- Original revision: 1.58 --> +<!-- Original revision: 1.59 --> <!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [ @@ -25,7 +25,7 @@ %sections; <!-- The currently released version of FreeBSD --> -<!ENTITY rel.current CDATA "2.1.5"> +<!ENTITY rel.current CDATA "2.1.6"> ]> @@ -36,39 +36,48 @@ <author> <name>FreeBSD ¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È</name> </author> - <date>1996ǯ7·î</date> - -<abstract> FreeBSD ¤Ø¤è¤¦¤³¤½! ¤³¤Î¥Ï¥ó¥É¥Ö¥Ã¥¯¤Ï <bf>FreeBSD Release -&rel.current;</bf> ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ª¤è¤ÓÆü¾ï¤Ç¤Î»È¤¤Êý¤Ë¤Ä¤¤¤Æµ½Ò¤·¤¿¤â¤Î¤Ç¤¹. -Ëܽñ¤Ï<bf>¸½ºß¿Ê¹ÔÃæ¤Îºî¶È</bf> ¤Ç¤¢¤Ã¤Æ, ¿¤¯¤Î¸Ä¿Í¤Î¼ê¤«¤é¤Ê¤ë»Å»ö¤Ç¤¹. -¿¤¯¤Î¥»¥¯¥·¥ç¥ó¤Ï¤Þ¤À¸ºß¤·¤Þ¤»¤ó¤·, ¤¤¤Þ¸ºß¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î¤¤¤¯¤Ä¤«¤Ï -¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹. -¤³¤Î FreeBSD ¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È¤ò¼êÅÁ¤¦¤³¤È¤Ë¶½Ì£¤¬¤¢¤ë¤Ê¤é¤Ð, -&a.doc; ¤Þ¤ÇÅŻҥ᡼¥ë¤òÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤. + <date>1996ǯ11·î</date> + +<abstract>FreeBSD ¤Ø¤è¤¦¤³¤½! ¤³¤Î¥Ï¥ó¥É¥Ö¥Ã¥¯¤Ï<bf>FreeBSD Release +&rel.current;</bf>¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ª¤è¤Ó, Æü¾ï¤Ç¤Î»È¤¤Êý¤Ë¤Ä¤¤¤Æµ½Ò¤·¤¿¤â¤Î¤Ç, +FreeBSD ¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È¤Ë¤è¤Ã¤ÆÊÔ½¸¤µ¤ì¤Æ¤¤¤Þ¤¹. +ÆüËܸìÈǤκîÀ®¤Ï FreeBSD ÆüËܸì¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È¤¬¤ª¤³¤Ê¤Ã¤Æ +¤¤¤Þ¤¹. Ëܽñ¤Ï<bf>¸½ºß¿Ê¹ÔÃæ¤Îºî¶È</bf>¤Ç¤¢¤Ã¤Æ, ¿¤¯¤Î¸Ä¿Í¤Î¼ê¤«¤é¤Ê¤ë +»Å»ö¤Ç¤¹. ¿¤¯¤Î¥»¥¯¥·¥ç¥ó¤Ï¤Þ¤À¸ºß¤·¤Þ¤»¤ó¤·, ¤¤¤Þ¸ºß¤¹¤ë¥»¥¯¥·¥ç¥ó¤Î +¤¤¤¯¤Ä¤«¤Ï¥¢¥Ã¥×¥Ç¡¼¥È¤¬É¬ÍפǤ¹. ¤³¤Î FreeBSD ¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó +¥×¥í¥¸¥§¥¯¥È¤Ë¶¨ÎϤ·¤¿¤¤¤È»×¤Ã¤¿¤é, &a.doc; ¤Þ¤Ç (±Ñ¸ì¤Ç) ÅŻҥ᡼¥ë¤ò +Á÷¤Ã¤Æ¤¯¤À¤µ¤¤. ¥Ï¥ó¥É¥Ö¥Ã¥¯¤½¤Î¤â¤Î¤Ë´Ø¤¹¤ëµÄÏÀ¤Ï, ¤³¤Á¤é¤Ç +¤ª¤³¤Ê¤ï¤ì¤Æ¤¤¤Þ¤¹. (¤â¤Á¤í¤ó±Ñ¸ì¤Ç¤Ç¤¹.) +ÆüËܸìÌõ¤ª¤è¤Ó, ÆüËܸìÈǤΤߤ˴ؤ¹¤ë¤³¤È¤Ï &a.doc-jp; ¤Ë¤ª¤¤¤ÆÆüËܸì¤Ç +µÄÏÀ¤µ¤ì¤Æ¤¤¤Þ¤¹. ɬÍפ˱þ¤¸¤ÆÆüËܸì¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È¤«¤é +Ëܲȥɥ¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È¤ËÂФ·¤Æ¥Õ¥£¡¼¥É¥Ð¥Ã¥¯¤ò¤ª¤³¤Ê¤¤¤Þ¤¹¤Î¤Ç, +±Ñ¸ì¤¬ÆÀ°Õ¤Ç¤Ê¤¤Êý¤Ï &a.doc-jp; ¤Þ¤ÇÆüËܸì¤Ç¥³¥á¥ó¥È¤ò¤ª´ó¤»¤¯¤À¤µ¤¤. ¤³¤Î¥É¥¥å¥á¥ó¥È¤ÎºÇ¿·¥Ð¡¼¥¸¥ç¥ó¤Ï +<url url="http://www.jp.FreeBSD.ORG/" +name="ÆüËܹñÆâ FreeBSD World Wide Web ¥µ¡¼¥Ð"> <url url="http://www.FreeBSD.ORG/" name="FreeBSD World Wide Web ¥µ¡¼¥Ð"> ¤«¤é¤¤¤Ä¤Ç¤âÆþ¼ê¤Ç¤¤Þ¤¹. -<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/docs "name="FreeBSD FTP ¥µ¡¼¥Ð"> -¤«, ¤Þ¤¿¤Ï¿ô¿¤¯¤¢¤ë<ref id="mirrors" name="¥ß¥é¡¼¥µ¥¤¥È">¤Î¤¦¤Á¤Î°ì¤Ä -¤«¤é ascii, LaTeX, postscript, HTML ¤Ê¤É¤Î¥Õ¥¡¥¤¥ë·Á¼°¤ÎÃæ¤«¤é¥À¥¦¥ó¥í¡¼¥É -¤·¤Æ¤¯¤À¤µ¤¤. </abstract> +<url url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/docs" name="FreeBSD FTP ¥µ¡¼¥Ð"> +¤ä, ¤¿¤¯¤µ¤ó¤¢¤ë<ref id="mirrors" name="¥ß¥é¡¼¥µ¥¤¥È">¤«¤é ascii, LaTeX, +postscript, HTML ¤Ê¤É¤Î·Á¼°¤Ç¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹. </abstract> + <toc> -<!-- ************************************************************ --> +<!-- ************************************************************ --> <part><heading>´ðÁÃ</heading> <chapt><heading>¤Ï¤¸¤á¤Ë</heading> -<p> FreeBSD ¤Ï, Intel ¥¢¡¼¥¥Æ¥¯¥Á¥ã (x86) ¥Ù¡¼¥¹¤Î PC ¤Î¤¿¤á¤Î +<p>FreeBSD ¤Ï, Intel ¥¢¡¼¥¥Æ¥¯¥Á¥ã (x86) ¥Ù¡¼¥¹¤Î PC ¤Î¤¿¤á¤Î 4.4BSD-Lite ¤ò¥Ù¡¼¥¹¤È¤·¤¿¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¤¹. FreeBSD ¤Î³µÍפˤĤ¤¤Æ¤Ï, <ref id="nutshell" name="FreeBSD ¤È¤Ï">¤ò¤´Í÷¤¯¤À¤µ¤¤. ¤³¤Î¥×¥í¥¸¥§¥¯¥È¤ÎÎò»Ë¤Ë¤Ä¤¤¤Æ¤Ï, <ref id="history" name="FreeBSD ¾®»Ë"> -¤òÆÉ¤ó¤Ç¤¯¤À¤µ¤¤. ºÇ¿·¤Î¥ê¥ê¡¼¥¹¤Ë¤Ä¤¤¤Æ¤Îµ½Ò¤Ï, -<ref id="relnotes" name="¸½ºß¤Î¥ê¥ê¡¼¥¹¤Ë¤Ä¤¤¤Æ">¤ò¤´Í÷¤¯¤À¤µ¤¤. +¤ò¤´Í÷¤¯¤À¤µ¤¤. ºÇ¿·¤Î¥ê¥ê¡¼¥¹¤Ë¤Ä¤¤¤Æ¤Îµ½Ò¤Ï, +<ref id="relnotes" name="¸½ºß¤Î¥ê¥ê¡¼¥¹¤Ë¤Ä¤¤¤Æ">¤ò¤´Í÷¤¯¤À¤µ¤¤. FreeBSD ¥×¥í¥¸¥§¥¯¥È¤Ø¤Î²¿¤é¤«¤Î¹×¸¥ (¥½¡¼¥¹¥³¡¼¥É, µ¡´ï, »ñ¶â¤ÎÄ󶡤ʤÉ) -¤Ë¤Ä¤¤¤Æ, ¶½Ì£¤¬¤¢¤ì¤Ð, <ref id="submitters" name="FreeBSD ¤Ø¤Î¹×¸¥"> +¤Ë¤Ä¤¤¤Æ¶½Ì£¤¬¤¢¤ì¤Ð, <ref id="submitters" name="FreeBSD ¤Ø¤Î¹×¸¥"> ¤Î¾Ï¤ò¤´Í÷¤¯¤À¤µ¤¤. &nutshell; @@ -85,7 +94,7 @@ FreeBSD ¥×¥í¥¸¥§¥¯¥È¤Ø¤Î²¿¤é¤«¤Î¹×¸¥ (¥½¡¼¥¹¥³¡¼¥É, µ¡´ï, »ñ¶â¤ÎÄ󶡤ʤÉ) &ports; -<!-- ************************************************************ --> +<!-- ************************************************************ --> <part><heading>¥·¥¹¥Æ¥à´ÉÍý</heading> @@ -100,14 +109,13 @@ FreeBSD ¥×¥í¥¸¥§¥¯¥È¤Ø¤Î²¿¤é¤«¤Î¹×¸¥ (¥½¡¼¥¹¥³¡¼¥É, µ¡´ï, »ñ¶â¤ÎÄ󶡤ʤÉ) "as; <chapt><heading>X ¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à</heading> -<p> ¤³¤ÎÀá¤Î´°À®¤ÏÊÝᤵ¤ì¤Æ¤¤¤Þ¤¹. - ¤½¤Î¤«¤ï¤ê¤Ë <url url="http://www.xfree86.org/" - name="The XFree86 Project, Inc"> - ¤Î¥É¥¥å¥á¥ó¥È¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤. +<p>¤³¤ÎÀá¤Î´°À®¤ÏÊÝα¤Ë¤·¤Æ¤¢¤ê¤Þ¤¹. + <url url="http://www.xfree86.org/" name="The XFree86 Project, Inc"> + ¤«¤éÄ󶡤µ¤ì¤ë¥É¥¥å¥á¥ó¥È¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤. &hw; -<!-- ************************************************************ --> +<!-- ************************************************************ --> <part><heading>¥Í¥Ã¥È¥ï¡¼¥¯ÄÌ¿®</heading> @@ -117,48 +125,48 @@ FreeBSD ¥×¥í¥¸¥§¥¯¥È¤Ø¤Î²¿¤é¤«¤Î¹×¸¥ (¥½¡¼¥¹¥³¡¼¥É, µ¡´ï, »ñ¶â¤ÎÄ󶡤ʤÉ) &term; &dialup; - <chapt><heading> PPP¤ÈSLIP </heading> + <chapt><heading>PPP ¤È SLIP</heading> -<p> ¤â¤·¤¢¤Ê¤¿¤¬¥â¥Ç¥à¤ò»È¤Ã¤Æ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ËÀܳ¤·¤¿¤ê, -FreeBSD ¤ò»È¤Ã¤Æ, ¾¤Î¿Í¡¹¤Ë¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Ø¤Î¥À¥¤¥ä¥ë¥¢¥Ã¥×Àܳ¤ò -Ä󶡤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤Î¤Ç¤·¤¿¤é, PPP ¤Þ¤¿¤Ï SLIP Àܳ¤òÁª¤Ö¤³¤È¤¬¤Ç¤¤Þ¤¹. -PPP Àܳ¤Ë¤Ï, 2 ¼ïÎà¤ÎÊýË¡¤¬Ä󶡤µ¤ì¤Æ¤¤¤Þ¤¹. -<em>¥æ¡¼¥¶</em> PPP (iijppp¤È¤â¸Æ¤Ð¤ì¤Þ¤¹) ¤È <em>¥«¡¼¥Í¥ë</em> PPP ¤Ç¤¹. +<p>¤â¤·¤¢¤Ê¤¿¤¬¥â¥Ç¥à¤ò»È¤Ã¤Æ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ËÀܳ¤·¤¿¤ê, +¾¤Î¿Í¡¹¤Ë FreeBSD ¤Ë¤è¤ë¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Ø¤Î¥À¥¤¥ä¥ë¥¢¥Ã¥×Àܳ¤ò +Ä󶡤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤Î¤Ç¤·¤¿¤é, PPP ¤Þ¤¿¤Ï SLIP Àܳ¤òÁªÂò¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹. +PPP Àܳ¤Ë¤Ï, 2 ¼ïÎà¤ÎÊýË¡¤¬Ä󶡤µ¤ì¤Æ¤¤¤Þ¤¹: +<em>¥æ¡¼¥¶</em>PPP (iijppp ¤È¤â¸Æ¤Ð¤ì¤Þ¤¹) ¤È<em>¥«¡¼¥Í¥ë</em>PPP ¤Ç¤¹. ξÊý¤Î PPP ¤ÎÀßÄê¼ê½ç¤È, SLIP ¤ÎÀßÄêÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï°Ê²¼¤Î¾Ï¤Ë½ñ¤«¤ì¤Æ¤¤¤Þ¤¹. &userppp; &ppp; - &slipc; + &slipc; &slips; - <chapt><heading> ¹âÅ٤ʥͥåȥ¥¯ </heading> + <chapt><heading>¹âÅ٤ʥͥåȥ¥¯</heading> &routing; &nfs; &diskless; - <sect><heading>* ¥¤¥¨¥í¡¼¥Ú¡¼¥¸/NIS </heading> - &isdn; + <sect><heading>* ¥¤¥¨¥í¡¼¥Ú¡¼¥¸/NIS</heading> + &isdn; - <chapt><heading>* ÅŻҥ᡼¥ë </heading> + <chapt><heading>* ÅŻҥ᡼¥ë</heading> -<!-- ************************************************************ --> +<!-- ************************************************************ --> - <part><heading> ¤µ¤é¤Ë¿Ê¤ó¤ÀÏÃÂê </heading> + <part><heading>¤µ¤é¤Ë¿Ê¤ó¤ÀÏÃÂê</heading> ¤t; &stable; - &synching; + &synching; &submitters; &troubleshooting; &kerneldebug; &linuxemu; - <chapt><heading> FreeBSD ¤ÎÆâÉô</heading> + <chapt><heading>FreeBSD ¤ÎÆâÉô</heading> &booting; &memoryuse; &dma; -<!-- ************************************************************ --> +<!-- ************************************************************ --> <part><heading>ÉÕÏ¿</heading> @@ -171,7 +179,6 @@ PPP Àܳ¤Ë¤Ï, 2 ¼ïÎà¤ÎÊýË¡¤¬Ä󶡤µ¤ì¤Æ¤¤¤Þ¤¹. &jcontrib; <!-- &glossary; --> - + </book> </linuxdoc> - diff --git a/share/doc/ja_JP.EUC/handbook/jcontrib.sgml b/share/doc/ja_JP.EUC/handbook/jcontrib.sgml index 33b0a0e548a33..346501c89048d 100644 --- a/share/doc/ja_JP.EUC/handbook/jcontrib.sgml +++ b/share/doc/ja_JP.EUC/handbook/jcontrib.sgml @@ -1,4 +1,4 @@ -<!-- $Id$ --> +<!-- $Id: jcontrib.sgml,v 1.1.1.1 1996/11/15 05:14:44 asami Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <chapt><heading>FreeBSD Handbook ÆüËܸ첽¤Ë¤Ä¤¤¤Æ<label id="jcontrib"></heading> @@ -12,9 +12,8 @@ ¥ª¥ê¥¸¥Ê¥ë¤Î FreeBSD Handbook ¤ÏÆüËè¤Ë¹¹¿·¤µ¤ì¤Æ¤ª¤ê, »ä¤¿¤Á¤â¤Þ¤¿ ¤³¤ì¤ËÄɤ¤ÉÕ¤¯¤¿¤á¤Ëºî¶È¤ò³¤±¤Æ¤¤¤¤Þ¤¹. ¤â¤Á¤í¤ó, ¿·¤·¤¤¥á¥ó¥Ð¤âÂç´¿·Þ ¤Ç¤¹. - ÆüËܸìËÝÌõÈǤˤĤ¤¤Æ, ²¿¤«¤ªµ¤¤Å¤¤ÎÅÀ¤¬¤¢¤ê¤Þ¤·¤¿¤é, - FreeBSD ÆüËܸì¥É¥¥å¥á¥ó¥È¥á¡¼¥ê¥ó¥°¥ê¥¹¥È <tt><htmlurl url="mailto:doc-jp@jp.freebsd.org" name="<doc-jp@jp.freebsd.org>"></tt> - ¤Þ¤Ç¤´Ï¢Íí¤¯¤À¤µ¤¤. + ÆüËܸìËÝÌõÈǤˤĤ¤¤Æ, ²¿¤«¤ªµ¤¤Å¤¤ÎÅÀ¤¬¤¢¤ê¤Þ¤·¤¿¤é, &a.doc-jp; +¤Þ¤Ç¤´Ï¢Íí¤¯¤À¤µ¤¤. ¤Þ¤¿, ¤â¤·»ä¤¿¤Á¤Îºî¶È¤ò¼êÅÁ¤Ã¤Æ¤¯¤ì¤ë¤Ê¤é, <url url="http://www.astec.co.jp/~hanai/FreeBSD/" name="FreeBSD ÆüËܸì¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È¤Î¥Ú¡¼¥¸">¤ò¤´Í÷¤Î¾å, À§È󻲲䷤Ƥ¯¤À¤µ¤¤. diff --git a/share/doc/ja_JP.EUC/handbook/jmembers.sgml b/share/doc/ja_JP.EUC/handbook/jmembers.sgml index d725dc23b1fe8..06951314c9e16 100644 --- a/share/doc/ja_JP.EUC/handbook/jmembers.sgml +++ b/share/doc/ja_JP.EUC/handbook/jmembers.sgml @@ -1,10 +1,14 @@ -<!-- $Id$ --> +<!-- $Id: jmembers.sgml,v 1.1.1.1 1996/11/15 05:14:44 asami Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- ËÝÌõ¼ÔµÚ¤ÓººÆÉ¼Ô¤Î̾Á°µÚ¤ÓÅŻҥ᡼¥ë¥¢¥É¥ì¥¹ --> +<!ENTITY a.doc-jp "FreeBSD ÆüËܸì¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È + <tt><htmlurl url='mailto:doc-jp@jp.FreeBSD.ORG' + name='<doc-jp@jp.FreeBSD.ORG>'></tt>"> + <!-- <!ENTITY a.asami "Àõ¸« ¸ <tt><htmlurl url='mailto:asami@FreeBSD.ORG' @@ -112,5 +116,5 @@ name='<g92k0323@cfi.waseda.ac.jp>'></tt>"> <!ENTITY a.nao "ÉÍÅÄ Ä¾¼ù - <tt><htmlurl url='mailto:nao@sbl.cl.nec.co.jp' - name='<nao@sbl.cl.nec.co.jp>'></tt>"> + <tt><htmlurl url='mailto:nao@tom-yam.or.jp' + name='<nao@tom-yam.or.jp>'></tt>"> diff --git a/share/doc/ja_JP.EUC/handbook/sup.sgml b/share/doc/ja_JP.EUC/handbook/sup.sgml index 710a92ba0e2d6..e988f2f3deab9 100644 --- a/share/doc/ja_JP.EUC/handbook/sup.sgml +++ b/share/doc/ja_JP.EUC/handbook/sup.sgml @@ -1,4 +1,4 @@ -<!-- $Id$ --> +<!-- $Id: sup.sgml,v 1.1.1.1 1996/11/15 05:14:43 asami Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.20 --> @@ -59,11 +59,12 @@ sup ¤¬²¿¤ò¤·¤Æ¤¤¤ë¤«¤ò¡Ö¾éĹ¤Ë¡×¤Ë¸«¤¿¤¤¤Ê¤é, ¼¡¤Î¤è¤¦¤Ë -v ¤òÍ¿¤¨¤Æ¤¯¤À¤µ¤¤: <verb> sup -v supfile </verb> -°Ê¾å¤Ç¤¹! ¤¢¤Ê¤¿¤¬ current ¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¤É¤¦¤«, standard-supfile ¤Ç +°Ê¾å¤Ç¤¹! ¤¢¤Ê¤¿¤¬ current ¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¤«¤É¤¦¤«, standard-supfile ¤Ç sup ¤¹¤ë¤È¤¤ËÆÀ¤é¤ì¤ë¤â¤Î¤¬²¿¤«¤ò³Ð¤¨¤Æ¤ª¤, &a.current ¤Ø»²²Ã¤·¤Æ -¤¯¤À¤µ¤¤. -current ¥æ¡¼¥¶¤È¤·¤Æ¤Î¤¢¤Ê¤¿¤Ë²¿¤«¤Ç¤¤Æ²¿¤¬¤Ç¤¤Ê¤¤¤«¤Î -½ÅÍפʾðÊó¤È¤·¤Æ, <ref id="current" name="ºÇ¿·¤Î FreeBSD ¤òÄɤ¤¤«¤±¤ë">¤ò -ÆÉ¤ó¤Ç¤ª¤¤¤¿Êý¤«¤è¤¤¤Ç¤·¤ç¤¦. stable-supfile ¤ò¤ª»È¤¤¤ÎÊý¤Ï, +¤¯¤À¤µ¤¤. -current ¥æ¡¼¥¶¤È¤·¤Æ¤Î¤¢¤Ê¤¿¤ËÂФ·¤Æ, »ä¤¿¤Á¤¬²¿¤¬¤Ç¤¤Æ +²¿¤¬¤Ç¤¤Ê¤¤¤«¤Î½ÅÍפʾðÊó¤È¤·¤Æ, +<ref id="current" name="ºÇ¿·¤Î FreeBSD ¤òÄɤ¤¤«¤±¤ë">¤ò +ÆÉ¤ó¤Ç¤ª¤¤¤¿Êý¤¬¤è¤¤¤Ç¤·¤ç¤¦. stable-supfile ¤ò¤ª»È¤¤¤ÎÊý¤Ï, &a.stable ¤Ø»²²Ã¤· <ref id="stable" name="FreeBSD ¤Î°ÂÄê¾õÂ֤λý³">¤ò ÆÉ¤ó¤Ç¤¯¤À¤µ¤¤. @@ -71,84 +72,84 @@ sup ¤¹¤ë¤È¤¤ËÆÀ¤é¤ì¤ë¤â¤Î¤¬²¿¤«¤ò³Ð¤¨¤Æ¤ª¤, &a.current ¤Ø»²²Ã¤·¤Æ <p>standard-supfile ¤ò»ÈÍѤ·¤¿¥á¥¤¥ó¤Î FreeBSD ÇÛÉÛ¥Õ¥¡¥¤¥ë¤Ï : <verb> -src-base: /usr/src/... /usr/src ¤Î¥È¥Ã¥×¤Ë¤¢¤ë¤½¤Î¾¤Î¥Õ¥¡¥¤¥ë -src-bin: /usr/src/bin ¥æ¡¼¥¶¤È¥·¥¹¥Æ¥à¤Î¥Ð¥¤¥Ê¥ê -src-secure: /usr/src/secure DES ¤Î¥½¡¼¥¹ (US/Canada ONLY) -src-eBones: /usr/src/eBones Kerberos ¤È DES (US/Canada ONLY) -src-etc: /usr/src/etc ¥·¥¹¥Æ¥à¥Õ¥¡¥¤¥ë -src-games: /usr/src/games ¥²¡¼¥à -src-gnu: /usr/src/gnu GNU Public License ²¼¤Ë¤¢¤ë¥½¡¼¥¹ -src-include: /usr/src/include ¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë -src-sys: /usr/src/sys ¥«¡¼¥Í¥ë¤Î¥½¡¼¥¹ -src-lib: /usr/src/lib ¥é¥¤¥Ö¥é¥ê -src-libexec: /usr/src/libexec ¥·¥¹¥Æ¥à¥Ð¥¤¥Ê¥ê -src-release: /usr/src/release release ¤ò¹½ÃÛ¤¹¤ë¤¿¤á¤ËɬÍפʥ½¡¼¥¹ -src-share: /usr/src/share ¿§¡¹¤Ê¶¦Í¥ê¥½¡¼¥¹ -src-sbin: /usr/src/sbin ¥·¥ó¥°¥ë¥æ¡¼¥¶¤Î¥·¥¹¥Æ¥à¥Ð¥¤¥Ê¥ê -src-tools: /usr/src/tools ¿§¡¹¤Ê´ÉÍý¥Ä¡¼¥ë -src-usrbin: /usr/src/usr.bin ¥æ¡¼¥¶¥Ð¥¤¥Ê¥ê -src-usrsbin: /usr/src/usr.sbin ¥·¥¹¥Æ¥à¥Ð¥¤¥Ê¥ê +src-base: /usr/src/... /usr/src ¤Î¥È¥Ã¥×¤Ë¤¢¤ë¤½¤Î¾¤Î¥Õ¥¡¥¤¥ë +src-bin: /usr/src/bin ¥æ¡¼¥¶¤È¥·¥¹¥Æ¥à¤Î¥Ð¥¤¥Ê¥ê +src-secure: /usr/src/secure DES ¤Î¥½¡¼¥¹ (US/Canada ONLY) +src-eBones: /usr/src/eBones Kerberos ¤È DES (US/Canada ONLY) +src-etc: /usr/src/etc ¥·¥¹¥Æ¥à¥Õ¥¡¥¤¥ë +src-games: /usr/src/games ¥²¡¼¥à +src-gnu: /usr/src/gnu GNU Public License ²¼¤Ë¤¢¤ë¥½¡¼¥¹ +src-include: /usr/src/include ¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë +src-sys: /usr/src/sys ¥«¡¼¥Í¥ë¤Î¥½¡¼¥¹ +src-lib: /usr/src/lib ¥é¥¤¥Ö¥é¥ê +src-libexec: /usr/src/libexec ¥·¥¹¥Æ¥à¥Ð¥¤¥Ê¥ê +src-release: /usr/src/release release ¤ò¹½ÃÛ¤¹¤ë¤¿¤á¤ËɬÍפʥ½¡¼¥¹ +src-share: /usr/src/share ¿§¡¹¤Ê¶¦Í¥ê¥½¡¼¥¹ +src-sbin: /usr/src/sbin ¥·¥ó¥°¥ë¥æ¡¼¥¶¤Î¥·¥¹¥Æ¥à¥Ð¥¤¥Ê¥ê +src-tools: /usr/src/tools ¿§¡¹¤Ê´ÉÍý¥Ä¡¼¥ë +src-usrbin: /usr/src/usr.bin ¥æ¡¼¥¶¥Ð¥¤¥Ê¥ê +src-usrsbin: /usr/src/usr.sbin ¥·¥¹¥Æ¥à¥Ð¥¤¥Ê¥ê </verb> -<p>secure-supfile¤ò»ÈÍѤ·¤¿¹ñºÝŪ¤ÊFreeBSDÇÛÉÛ¥Õ¥¡¥¤¥ë¤Ï: +<p>secure-supfile ¤ò»ÈÍѤ·¤¿¹ñºÝŪ¤Ê FreeBSD ÇÛÉÛ¥Õ¥¡¥¤¥ë¤Ï: <verb> -src-secure: /usr/src/secure DES ¤Î¥½¡¼¥¹ -src-eBones: /usr/src/eBones Kerberos ¤È DES +src-secure: /usr/src/secure DES ¤Î¥½¡¼¥¹ +src-eBones: /usr/src/eBones Kerberos ¤È DES </verb> <p>¤Þ¤¿, Í¢½Ðµ¬À©¤Î¤¢¤ë¥½¥Õ¥È¥¦¥§¥¢ (¤¿¤È¤¨¤Ð, <tt>src-secure</tt> ¤È <tt>src-eBones</tt> ¥³¥ì¥¯¥·¥ç¥ó) ¤ÎξÊý¤Î¥Ð¡¼¥¸¥ç¥ó (¹ç½°¹ñÆâ¤Þ¤¿¤Ï ¹ñ³°) ¤ò½ü¤¯, ¾åµ¤¹¤Ù¤Æ¤ò´Þ¤à¥³¥ì¥¯¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹: <verb> -src-all: /usr/src ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥àÁ´ÂÎ (¤Û¤Ü¤¹¤Ù¤Æ) +src-all: /usr/src ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥àÁ´ÂÎ (¤Û¤Ü¤¹¤Ù¤Æ) </verb> <p>¤½¤·¤Æ ports ¥³¥ì¥¯¥·¥ç¥ó¤Ï: <verb> -ports-base: /usr/ports/... /usr/ports ¤Î¥È¥Ã¥×¤Ë¤¢¤ë¤½¤Î¾¤Î¥Õ¥¡¥¤¥ë -ports-archivers: /usr/ports/archivers ¥¢¡¼¥«¥¤¥Ó¥ó¥°¤Î¥Ä¡¼¥ë -ports-astro: /usr/ports/astro ŷʸ³Ø´ØÏ¢¤Î ports -ports-audio: /usr/ports/audio ¥µ¥¦¥ó¥É¥µ¥Ý¡¼¥È -ports-benchmarks: /usr/ports/benchmarks ¥Ù¥ó¥Á¥Þ¡¼¥¯¥×¥í¥°¥é¥à -ports-cad: /usr/ports/cad CAD ¥Ä¡¼¥ë +ports-base: /usr/ports/... /usr/ports ¤Î¥È¥Ã¥×¤Ë¤¢¤ë¤½¤Î¾¤Î¥Õ¥¡¥¤¥ë +ports-archivers: /usr/ports/archivers ¥¢¡¼¥«¥¤¥Ó¥ó¥°¤Î¥Ä¡¼¥ë +ports-astro: /usr/ports/astro ŷʸ³Ø´ØÏ¢¤Î ports +ports-audio: /usr/ports/audio ¥µ¥¦¥ó¥É¥µ¥Ý¡¼¥È +ports-benchmarks: /usr/ports/benchmarks ¥Ù¥ó¥Á¥Þ¡¼¥¯¥×¥í¥°¥é¥à +ports-cad: /usr/ports/cad CAD ¥Ä¡¼¥ë ports-chinese: /usr/ports/chinese Ãæ¹ñ¸ì¥µ¥Ý¡¼¥È -ports-comms: /usr/ports/comms ÄÌ¿®¥½¥Õ¥È¥¦¥§¥¢ -ports-databases: /usr/ports/databases ¥Ç¡¼¥¿¥Ù¡¼¥¹ -ports-devel: /usr/ports/devel ³«È¯¥æ¡¼¥Æ¥£¥ê¥Æ¥£ -ports-editors: /usr/ports/editors ¥¨¥Ç¥£¥¿ -ports-emulators: /usr/ports/emulators ¾¤Î OS ¤Î¥¨¥ß¥å¥ì¡¼¥¿ -ports-games: /usr/ports/games ¥²¡¼¥à -ports-graphics: /usr/ports/graphics ¿§¡¹¤Ê¥°¥é¥Õ¥£¥Ã¥¯¥æ¡¼¥Æ¥£¥ê¥Æ¥£ -ports-japanese: /usr/ports/japanese ÆüËܸ쥵¥Ý¡¼¥È -ports-lang: /usr/ports/lang ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì -ports-mail: /usr/ports/mail ¥á¡¼¥ë¥½¥Õ¥È¥¦¥§¥¢ -ports-math: /usr/ports/math ¿ôÃÍ·×»»¥½¥Õ¥È¥¦¥§¥¢ -ports-mbone: /usr/ports/mbone MBone ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó -ports-misc: /usr/ports/misc ¿§¡¹¤Ê¥æ¡¼¥Æ¥£¥ê¥Æ¥£ -ports-net: /usr/ports/net ¥Í¥Ã¥È¥ï¡¼¥¥ó¥°¥½¥Õ¥È¥¦¥§¥¢ -ports-news: /usr/ports/news USENET ¥Ë¥å¡¼¥¹¤Î¥½¥Õ¥È¥¦¥§¥¢ -ports-plan9: /usr/ports/plan9 Plan9 ¤«¤é¤Î¿§¡¹¤Ê¥×¥í¥°¥é¥à -ports-print: /usr/ports/print °õºþ¥½¥Õ¥È¥¦¥§¥¢ +ports-comms: /usr/ports/comms ÄÌ¿®¥½¥Õ¥È¥¦¥§¥¢ +ports-databases: /usr/ports/databases ¥Ç¡¼¥¿¥Ù¡¼¥¹ +ports-devel: /usr/ports/devel ³«È¯¥æ¡¼¥Æ¥£¥ê¥Æ¥£ +ports-editors: /usr/ports/editors ¥¨¥Ç¥£¥¿ +ports-emulators: /usr/ports/emulators ¾¤Î OS ¤Î¥¨¥ß¥å¥ì¡¼¥¿ +ports-games: /usr/ports/games ¥²¡¼¥à +ports-graphics: /usr/ports/graphics ¿§¡¹¤Ê¥°¥é¥Õ¥£¥Ã¥¯¥æ¡¼¥Æ¥£¥ê¥Æ¥£ +ports-japanese: /usr/ports/japanese ÆüËܸ쥵¥Ý¡¼¥È +ports-lang: /usr/ports/lang ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì +ports-mail: /usr/ports/mail ¥á¡¼¥ë¥½¥Õ¥È¥¦¥§¥¢ +ports-math: /usr/ports/math ¿ôÃÍ·×»»¥½¥Õ¥È¥¦¥§¥¢ +ports-mbone: /usr/ports/mbone MBone ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó +ports-misc: /usr/ports/misc ¿§¡¹¤Ê¥æ¡¼¥Æ¥£¥ê¥Æ¥£ +ports-net: /usr/ports/net ¥Í¥Ã¥È¥ï¡¼¥¥ó¥°¥½¥Õ¥È¥¦¥§¥¢ +ports-news: /usr/ports/news USENET ¥Ë¥å¡¼¥¹¤Î¥½¥Õ¥È¥¦¥§¥¢ +ports-plan9: /usr/ports/plan9 Plan9 ¤«¤é¤Î¿§¡¹¤Ê¥×¥í¥°¥é¥à +ports-print: /usr/ports/print °õºþ¥½¥Õ¥È¥¦¥§¥¢ ports-russian: /usr/ports/russian ¥í¥·¥¢¸ì¥µ¥Ý¡¼¥È -ports-security: /usr/ports/security ¤è¤ê¤è¤¤ (°¤¤?) ¡Ö¥»¥¥å¥ê¥Æ¥£¡×´ØÏ¢¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£ -ports-shells: /usr/ports/shells ¿§¡¹¤Ê UN*X ¥·¥§¥ë -ports-sysutils: /usr/ports/sysutils ¥·¥¹¥Æ¥à¥æ¡¼¥Æ¥£¥ê¥Æ¥£ -ports-www: /usr/ports/www WWW ´ØÏ¢¤Î¥½¥Õ¥È¥¦¥§¥¢ -ports-x11: /usr/ports/x11 X11 ¤Î¥½¥Õ¥È¥¦¥§¥¢ +ports-security: /usr/ports/security ¤è¤ê¤è¤¤ (°¤¤?) ¡Ö¥»¥¥å¥ê¥Æ¥£¡×´ØÏ¢¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£ +ports-shells: /usr/ports/shells ¿§¡¹¤Ê UN*X ¥·¥§¥ë +ports-sysutils: /usr/ports/sysutils ¥·¥¹¥Æ¥à¥æ¡¼¥Æ¥£¥ê¥Æ¥£ +ports-www: /usr/ports/www WWW ´ØÏ¢¤Î¥½¥Õ¥È¥¦¥§¥¢ +ports-x11: /usr/ports/x11 X11 ¤Î¥½¥Õ¥È¥¦¥§¥¢ </verb> <p>¤Þ¤¿, ¾åµ¤¹¤Ù¤Æ¤ò´Þ¤à¥³¥ì¥¯¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹: <verb> -ports-all: /usr/ports ports ¥Ä¥ê¡¼Á´ÂÎ +ports-all: /usr/ports ports ¥Ä¥ê¡¼Á´ÂÎ </verb> <p>ports ¤Î¥ª¥ê¥¸¥Ê¥ë¥½¡¼¥¹¤ò¹¹¿·¤·Â³¤±¤¿¤¤¾ì¹ç¤Ï, ¼¡¤Î¹Ô¤ò supfile ¤Ø Äɲ乤뤳¤È¤¬¤Ç¤¤Þ¤¹. ¤¿¤À¤·¤³¤Î¥³¥ì¥¯¥·¥ç¥ó¤Ï<em>µðÂç</em>¤Ç¤¢¤ë ¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤. ¤½¤·¤Æ, FreeBSD ¥Ä¥ê¡¼Á´ÂΤò (¤¢¤ëÍýͳ¤Ç -¡Ömirror¡×¤Ï»ÈÍѤǤ¤Þ¤»¤ó¤¬) ¥ß¥é¡¼¥ê¥ó¥°¤·¤Æ¤¤¤ë FTP ¥µ¥¤¥È¤Ç¤Ê¤¤¤Î¤Ç +``mirror'' ¤Ï»ÈÍѤǤ¤Þ¤»¤ó¤¬) ¥ß¥é¡¼¥ê¥ó¥°¤·¤Æ¤¤¤ë FTP ¥µ¥¤¥È¤Ç¤Ê¤¤¤Î¤Ç ¤¢¤ì¤Ð, ¤¢¤Ê¤¿¤Ï (¤½¤·¤Æ»ä¤¿¤Á¤Ë¤È¤Ã¤Æ¤â) ¤³¤ì¤é¤ò¼ý½¸¤¹¤ë sup ¤ò»ÈÍѤ·¤Ê ¤¤Êý¤¬¤º¤Ã¤È¤¤¤¤¤Ç¤·¤ç¤¦: <verb> -ports-distfiles: /usr/ports/distfiles original tarballs +ports-distfiles: /usr/ports/distfiles original tarballs </verb> diff --git a/share/doc/ja_JP.EUC/handbook/synching.sgml b/share/doc/ja_JP.EUC/handbook/synching.sgml index 80d8093099e3f..c617109263cdd 100644 --- a/share/doc/ja_JP.EUC/handbook/synching.sgml +++ b/share/doc/ja_JP.EUC/handbook/synching.sgml @@ -1,4 +1,4 @@ -<!-- $Id$ --> +<!-- $Id: synching.sgml,v 1.1.1.1 1996/11/15 05:14:43 asami Exp $ --> <!-- The FreeBSD Japanese Documentation Project --> <!-- Original revision: 1.3 --> @@ -9,7 +9,7 @@ <!-- -Last updated: $Date: 1996/10/04 22:54:16 $ +Last updated: $Date: 1996/11/20 14:49:59 $ This document tries to describe the various ways in which a user may use the internet to keep development sources in synch. @@ -22,7 +22,7 @@ CTM, SUP ¤½¤·¤Æ CVSup (<bf>¿·Ãå</bf>) ¤Ç¤¹: <p>CTM ¤Ï SUP ¤òÄÄÉå²½¤µ¤»¤ë¤È¸À¤ï¤ì¤Æ¤¤Þ¤·¤¿. ¤¬¼ÂºÝ¤Ï, ¤³¤ì¤ÏËÜÅö¤Î ¤³¤È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó. ¤½¤ì¤¾¤ì¤Î¥Ä¡¼¥ë¤Ï¤â¤È¤â¤È°Û¤Ê¤ë»Ù»ýÁؤ˱þ¤¨¤ë¤¿¤á -¤ËÀ߷פµ¤ì¤¿¤Î¤Ç¤¢¤ê, ºÇ½é¤Ë»È¤ï¤ì¤À¤·¤Æ¤«¤é½ÅÍפʲþÎɤ¬»Ü¤µ¤ì¤Æ¤¤Þ¤· +¤ËÀ߷פµ¤ì¤¿¤Î¤Ç¤¢¤ê, ºÇ½é¤Ë»È¤ï¤ì¤Ï¤¸¤á¤Æ¤«¤é½ÅÍפʲþÎɤ¬»Ü¤µ¤ì¤Æ¤¤Þ¤· ¤¿¤¬, ¥½¡¼¥¹¤ÎƱ´üÌäÂê¤ò²ò·è¤¹¤Ù¤¯´ðËÜŪ¤Ë°Û¤Ê¤Ã¤¿¥¢¥×¥í¡¼¥Á¤òºÎ¤Ã¤Æ¤ ¤Þ¤·¤¿. SUP ¤Ï¤â¤È¤â¤È¤Ï¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÀܳ¤ò¼«Í³¤Ë (¤Þ¤¿¤Ï¾¯¤Ê¤¯¤È¤â¹â®¤Ë) »È @@ -32,15 +32,15 @@ SUP ¤Ï¤â¤È¤â¤È¤Ï¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÀܳ¤ò¼«Í³¤Ë (¤Þ¤¿¤Ï¾¯¤Ê¤¯¤È¤â¹â®¤Ë) »È <p><bf>SUP</bf> (Software Update Protocol) ¤Ï¥Ï¡¼¥É¥Ç¥£¥¹¥¯¾å¤Î FreeBSD ¤Î¥½¡¼¥¹¤Î¥í¡¼¥«¥ë¤Ê¥³¥Ô¡¼¤òÄÉÀפ·, ¥æ¡¼¥¶¤¬¥»¥Ã¥È¥¢¥Ã¥×¤·¤¿Àß Äê¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ·¤Æ, ¥Í¥Ã¥È¥ï¡¼¥¯±Û¤·¤Ë FreeBSD ¤Î¥Þ¥¹¥¿¥¢¡¼¥«¥¤¥Ö¾å -¤ÇÊѹ¹¤Î¤¢¤Ã¤¿¥Õ¥¡¥¤¥ë¤ò¼è¤Ã¤Æ¤¤Æ¹¹¿·¤¹¤ë¤¿¤á¤Î¥ê¥¯¥¨¥¹¥È¤òÁ÷¤·¤Þ¤¹. +¤ÇÊѹ¹¤Î¤¢¤Ã¤¿¥Õ¥¡¥¤¥ë¤ò¼è¤Ã¤Æ¤¤Æ¹¹¿·¤¹¤ë¤¿¤á¤Î¥ê¥¯¥¨¥¹¥È¤òÁ÷¤ê¤Þ¤¹. <p>°ìÊý, <bf>CTM</bf> ¤Ï¤¢¤Ê¤¿¤¬»ý¤Ã¤Æ¤¤¤ë¥½¡¼¥¹¤È¥Þ¥¹¥¿¥¢¡¼¥«¥¤¥Ö¾å¤Ë ¤¢¤ë¤½¤ì¤È¤ÎÂÐÏÃŪ¤ÊÈæ³Ó¤ò¤ª¤³¤Ê¤¤¤Þ¤»¤ó. ¤½¤Î¤«¤ï¤ê¤Ë, Á°²ó¤Î¼Â¹Ô»þ¤«¤é¤ÎÊѹ¹¤òǧ¼±¤¹¤ë¥¹¥¯¥ê¥×¥È¤¬¥Þ¥¹¥¿¥¢¡¼¥« -¥¤¥Ö¾å¤Ç°ìÆü¤Ë¿ô²ó¼Â¹Ô¤µ¤ì, ¤¹¤Ù¤Æ¤ÎÊѹ¹¤ò compress ¤·Ä̤·ÈÖ¹æ¤ò¿¶¤ê, -¤µ¤é¤ËÅŻҥ᡼¥ë¤ÇžÁ÷¤Ç¤¤ë¤è¤¦¤Ë¥¨¥ó¥³¡¼¥É¤·¤Þ¤¹ (°õ»þ²Äǽ¤Ê ASCII -¥¥ã¥é¥¯¥¿¤Î¤ß¤Ç¤¹). ¼õ¤±¤È¤Ã¤¿¤¢¤È¤Ï, ¤³¤ì¤é¤Î¡ÖCTM ¤Î¥Ç¥ë¥¿¡×¤Ï¼«Æ° -Ū¤Ë¥Ç¥³¡¼¥É¤·¸¡ºº¤·¤Æ¥æ¡¼¥¶¤Î¥½¡¼¥¹¤Î¥³¥Ô¡¼¤ËÊѹ¹¤òŬÍѤ¹¤ë +¥¤¥Ö¾å¤Ç°ìÆü¤Ë¿ô²ó¼Â¹Ô¤µ¤ì, ¤¹¤Ù¤Æ¤ÎÊѹ¹¤ò compress ¤·¤ÆÄ̤·ÈÖ¹æ¤ò¿¶¤ê, +¤µ¤é¤ËÅŻҥ᡼¥ë¤ÇžÁ÷¤Ç¤¤ë¤è¤¦¤Ë¥¨¥ó¥³¡¼¥É¤·¤Þ¤¹ (°õ»ú²Äǽ¤Ê ASCII +¥¥ã¥é¥¯¥¿¤Î¤ß¤Ç¤¹). ¼õ¿®¤·¤¿¸å¤Ï, ¤³¤ì¤é¤Î¡ÖCTM ¤Î¥Ç¥ë¥¿¡×¤Ï¼«Æ° +Ū¤Ë¥Ç¥³¡¼¥É, ¸¡ºº¤·¤Æ¥æ¡¼¥¶¤Î¥½¡¼¥¹¤Î¥³¥Ô¡¼¤ËÊѹ¹¤òŬÍѤ¹¤ë ctm_rmail(1) ¤Ë¤è¤Ã¤Æ½èÍý²Äǽ¤È¤Ê¤ê¤Þ¤¹. ¤³¤Î½èÍý¤Ï SUP ¤è¤ê¤º¤Ã¤È¸úΨ Ū¤Ç¤¢¤ê, <em>pull</em> ¥â¥Ç¥ë¤È¤¤¤¦¤è¤ê¤à¤·¤í <em>push</em> ¥â¥Ç¥ë¤Ç ¤¢¤ë¤¿¤á, »ä¤¿¤Á¤Î¥µ¡¼¥Ð»ñ¸»¤ÎÉé²Ù¤Ï·Ú¤¯¤Ê¤ê¤Þ¤¹. @@ -58,8 +58,8 @@ ctm_rmail(1) ¤Ë¤è¤Ã¤Æ½èÍý²Äǽ¤È¤Ê¤ê¤Þ¤¹. ¤³¤Î½èÍý¤Ï SUP ¤è¤ê¤º¤Ã¤È¸úΨ ¤Çºî¶È¤·¤Æ¤¤¤Þ¤¹) ¤«¤é FreeBSD ³«È¯¤Î¤É¤ó¤Ê»Ùή¤Ø¤Î¥¢¥¯¥»¥¹¤âÄ󶡤¹¤ë ¤â¤Î¤Ç, SUP ¤Ë¼è¤Ã¤ÆÂå¤ï¤ëÍÎϤʤâ¤Î¤Ç¤¹. SUP ¤Î¿ô¡¹¤Î·çÅÀ¤ò¹îÉþ¤¹¤ë¤â¤Î¤Ç¤¢¤ê, ¤ª¤½¤é¤¯»ä¤¿¤Á¤Î³«È¯¥µ¡¼¥Ð¤«¤é -<htmlurl url="ftp://freefall.freebsd.org/pub/CVSup/" name="¥À¥¦¥ó¥í¡¼ -¥É">¤µ¤ì¤Þ¤¹. ³«È¯¥µ¡¼¥Ð¤Ç¤Ï¤Þ¤¿, ÉÕ²ÃŪ¤Ê¥É¥¥å¥á¥ó¥È¤òÄ󶡤·¤Æ¤¤¤Þ¤¹. +<htmlurl url="ftp://freefall.freebsd.org/pub/CVSup/" name="¥À¥¦¥ó¥í¡¼¥É"> +¤µ¤ì¤Þ¤¹. ³«È¯¥µ¡¼¥Ð¤Ç¤Ï¤Þ¤¿, ÉÕ²ÃŪ¤Ê¥É¥¥å¥á¥ó¥È¤òÄ󶡤·¤Æ¤¤¤Þ¤¹. CVSup ¤Î¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤Ï sup ¤È supfilesrv ¤ÎÇÛÉÛ¥Õ¥¡¥¤¥ë·Á¼°¤È ¸ß´¹À¤¬¤¢¤ê¤Þ¤¹. diff --git a/share/termcap/termcap.src b/share/termcap/termcap.src index ce9a895d0cac8..2f2353a999969 100644 --- a/share/termcap/termcap.src +++ b/share/termcap/termcap.src @@ -30,7 +30,7 @@ # SUCH DAMAGE. # # @(#)termcap.src 8.2 (Berkeley) 11/17/93 -# $Id: termcap.src,v 1.65 1996/10/19 22:47:50 pst Exp $ +# $Id: termcap.src,v 1.66 1996/10/19 22:50:25 pst Exp $ # Termcap source file # John Kunze, Berkeley @@ -2508,6 +2508,7 @@ vt200-em|vt220-em|dec-vt200-em|dec-vt220-em|vt200 emulation (without semigraphic # @(#)termcap X10/6.6 11/7/86, minus alternate screen, plus :cs xterm|vs100|xterm terminal emulator (X window system):\ :li#65:\ + :kh=\EOH:@7=\EOF:\ :hs:km:ts=\E[?E\E[?%i%dT:fs=\E[?F:es:ds=\E[?E:\ :is=\E>\E[?1;3;4;5l\E[?7;8h\E[1;65r\E[65;1H:\ :rs=\E>\E[?1;3;4;5l\E[?7;8h:\ diff --git a/sys/i386/isa/npx.c b/sys/i386/isa/npx.c index 25b75335b30e4..f1c8a539ee66c 100644 --- a/sys/i386/isa/npx.c +++ b/sys/i386/isa/npx.c @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * from: @(#)npx.c 7.2 (Berkeley) 5/12/91 - * $Id: npx.c,v 1.31 1996/09/06 23:07:53 phk Exp $ + * $Id: npx.c,v 1.31.2.1 1996/11/12 09:08:40 phk Exp $ */ #include "npx.h" @@ -367,10 +367,12 @@ npxattach(dvp) } if (!(dvp->id_flags & NPX_DISABLE_I586_OPTIMIZED_BZERO)) bzero = i586_bzero; +#ifdef notyet if (!(dvp->id_flags & NPX_DISABLE_I586_OPTIMIZED_COPYIO)) { copyin_vector = i586_copyin; copyout_vector = i586_copyout; } +#endif } #endif diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index d44a2991a1d56..8ca3e60a39c02 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if_ethersubr.c 8.1 (Berkeley) 6/10/93 - * $Id: if_ethersubr.c,v 1.25 1996/10/17 17:16:58 jkh Exp $ + * $Id: if_ethersubr.c,v 1.26 1996/10/18 15:59:25 jkh Exp $ */ #include <sys/param.h> @@ -927,7 +927,7 @@ ether_ioctl(struct ifnet *ifp, int command, caddr_t data) struct sockaddr *sa; sa = (struct sockaddr *) & ifr->ifr_data; - bcopy((caddr_t) ifp->if_softc, + bcopy(((struct arpcom *)ifp->if_softc)->ac_enaddr, (caddr_t) sa->sa_data, ETHER_ADDR_LEN); } break; diff --git a/usr.bin/file/Magdir/audio b/usr.bin/file/Magdir/audio index 4dc9dddd6614e..709a29e787088 100644 --- a/usr.bin/file/Magdir/audio +++ b/usr.bin/file/Magdir/audio @@ -71,3 +71,9 @@ >45 byte x %d instruments >83 byte 0 (module) >83 byte 1 (song) + +# Gravis UltraSound patches +# From <ache@nagual.ru> + +0 string GF1PATCH110\0ID#000002\0 GUS patch +0 string GF1PATCH100\0ID#000002\0 Old GUS patch diff --git a/usr.bin/kdump/kdump.c b/usr.bin/kdump/kdump.c index da2d48bb40319..4aeddb92e2c6c 100644 --- a/usr.bin/kdump/kdump.c +++ b/usr.bin/kdump/kdump.c @@ -112,10 +112,8 @@ main(argc, argv) default: usage(); } - argv += optind; - argc -= optind; - if (argc > 1) + if (argc > optind) usage(); m = (void *)malloc(size = 1025); diff --git a/usr.bin/sed/main.c b/usr.bin/sed/main.c index dbea5049ab1f6..5324002ab8e2f 100644 --- a/usr.bin/sed/main.c +++ b/usr.bin/sed/main.c @@ -256,7 +256,8 @@ mf_fgets(sp, spflag) { static FILE *f; /* Current open file */ size_t len; - char c, *p; + char *p; + int c; if (f == NULL) /* Advance to first non-empty file */ diff --git a/usr.sbin/arp/arp.4 b/usr.sbin/arp/arp.4 index 0cd7161450052..92caed3d9f41d 100644 --- a/usr.sbin/arp/arp.4 +++ b/usr.sbin/arp/arp.4 @@ -98,11 +98,29 @@ This is no longer supported. ARP watches passively for hosts impersonating the local host (i.e. a host which responds to an ARP mapping request for the local host's address). .Sh DIAGNOSTICS -.Em "duplicate IP address %x!! sent from ethernet address: %x:%x:%x:%x:%x:%x." +.Em "arp: %x:%x:%x:%x:%x:%x is using my IP address %d.%d.%d.%d!" : ARP has discovered another host on the local network which responds to mapping requests for its own Internet address with a different Ethernet address, generally indicating that two hosts are attempting to use the same Internet address. +.Pp +.Em "arp: ether address is broadcast for IP address %d.%d.%d.%d!" : +ARP requested information for a host, and received an answer indicating +that the host's ethernet address is the ethernet broadcast address. +This indicates a misconfigured or broken device. +.Pp +.Em "arp: %d.%d.%d.%d moved from %x:%x:%x:%x:%x:%x to %x:%x:%x:%x:%x:%x" : +ARP had a cached value for the ethernet address of the referenced host, +but received a reply indicating that the host is at a new address. This +can happen normally when host hardware addresses change, or when a mobile +node arrives or leaves the local subnet. It can also indicate a problem +with proxy ARP. +.Pp +.Em "arpresolve: can't allocate llinfo for %d.%d.%d.%d" : +The route for the referenced host points to a device upon which ARP is +required, but ARP was unable to allocate a routing table entry in which +to store the host's MAC address. This usually points to a misconfigured +routing table. It can also occur if the kernel cannot allocate memory. .Sh SEE ALSO .Xr inet 4 , .Xr route 4 , diff --git a/usr.sbin/ctm/mkCTM/Makefile b/usr.sbin/ctm/mkCTM/Makefile index 9e052a94b7e29..4e67fcd2d60a3 100644 --- a/usr.sbin/ctm/mkCTM/Makefile +++ b/usr.sbin/ctm/mkCTM/Makefile @@ -2,6 +2,7 @@ PROG= mkctm SRCS= mkctm.c LDADD= -lmd +NOMAN= 1 CFLAGS= -g -Wall test: mkctm diff --git a/usr.sbin/ctm/mkCTM/ctm_conf.cvs-cur b/usr.sbin/ctm/mkCTM/ctm_conf.cvs-cur index f6489adf27709..fbb5bf26ce733 100644 --- a/usr.sbin/ctm/mkCTM/ctm_conf.cvs-cur +++ b/usr.sbin/ctm/mkCTM/ctm_conf.cvs-cur @@ -2,7 +2,8 @@ set CTMname cvs-cur set CTMref /home/ncvs -set CTMdont {\.core$|^/CVSROOT/history.*$|^/src/secure|^/src/eBones|^/src/kerberosIV|/#cvs|/\.#|^/CVSROOT/val-tags$} +set CTMignore {^src/secure|^src/eBones|^src/kerberosIV|^CVSROOT/val-tags$|CVSROOT/\\.#} +set CTMbogus {\\.core$|/#cvs|/\\.#} set CTMmail ctm-cvs-cur-fast@freebsd.org set CTMqueuemail ctm-cvs-cur@freebsd.org set CTMqueue /home/ctm/queue/ctm-cvs-cur diff --git a/usr.sbin/ctm/mkCTM/ctm_conf.gnats b/usr.sbin/ctm/mkCTM/ctm_conf.gnats index 4c9a23f58d4c0..c2223f02cd1d2 100644 --- a/usr.sbin/ctm/mkCTM/ctm_conf.gnats +++ b/usr.sbin/ctm/mkCTM/ctm_conf.gnats @@ -4,5 +4,5 @@ set CTMname gnats set CTMref /home/gnats set CTMdest $CTMSW/../CTM-pub/$CTMname -#set CTMdont {} +set CTMignore {\\.lock$} set CTMmail ctm-gnats@freebsd.org diff --git a/usr.sbin/ctm/mkCTM/ctm_conf.ports-cur b/usr.sbin/ctm/mkCTM/ctm_conf.ports-cur index ccfe94fdb24bf..b9d3d13a102eb 100644 --- a/usr.sbin/ctm/mkCTM/ctm_conf.ports-cur +++ b/usr.sbin/ctm/mkCTM/ctm_conf.ports-cur @@ -2,5 +2,6 @@ set CTMname ports-cur set CTMref /usr/ports -set CTMdont {\.core$|/CVS$|/CVS/|^/distfiles|/#cvs|/\.#} +set CTMignore {/CVS$|/CVS/|^distfiles} +set CTMbogus {\\.core$|/#cvs|/\\.#} set CTMmail ctm-ports-cur@freebsd.org diff --git a/usr.sbin/ctm/mkCTM/ctm_conf.smp-cur b/usr.sbin/ctm/mkCTM/ctm_conf.smp-cur index 19ac603a3fe85..5c3e1d1bf211e 100644 --- a/usr.sbin/ctm/mkCTM/ctm_conf.smp-cur +++ b/usr.sbin/ctm/mkCTM/ctm_conf.smp-cur @@ -2,5 +2,6 @@ set CTMname smp-cur set CTMref /home/smp -set CTMdont {\.core$|^/CVSROOT/history.*$|/#cvs|/\.#|^/CVSROOT/val-tags$} +set CTMignore {^CVSROOT/history.*$|^CVSROOT/val-tags$|^CVSROOT/\\.#} +set CTMbogus {\\.core$|/#cvs|/\\.#} set CTMmail smp-cvs-cur@freebsd.org diff --git a/usr.sbin/ctm/mkCTM/ctm_conf.src-cur b/usr.sbin/ctm/mkCTM/ctm_conf.src-cur index df9bba7f87934..8589d040efb89 100644 --- a/usr.sbin/ctm/mkCTM/ctm_conf.src-cur +++ b/usr.sbin/ctm/mkCTM/ctm_conf.src-cur @@ -2,7 +2,8 @@ set CTMname src-cur set CTMref /c/src -set CTMdont {\.core$|/CVS$|/CVS/|^/secure|^/eBones|/#cvs|/\.#} +set CTMignore {/CVS$|/CVS/|^/secure|^/eBones} +set CTMbogus {\\.core$|/#cvs|/\\.#} set CTMmail ctm-src-cur-fast@freebsd.org set CTMqueue /home/ctm/queue/ctm-src-cur set CTMqueuemail ctm-src-cur@freebsd.org diff --git a/usr.sbin/ctm/mkCTM/mkCTM b/usr.sbin/ctm/mkCTM/mkCTM index 85944ec17aa45..684fb6a856e24 100644 --- a/usr.sbin/ctm/mkCTM/mkCTM +++ b/usr.sbin/ctm/mkCTM/mkCTM @@ -1,106 +1,6 @@ #!/usr/local/bin/tclsh7.4 ############################################################################# -### Add something -############################################################################# -# Type Name Mode User Group Barf Size Hash - -proc CTMadd {t n m u g b s h} { - global fo_files fo_mkdir changes CTMref - - puts stderr "A $b $t $n" - incr changes - - if {$t == "d"} { - puts $fo_mkdir "CTMDM $n $u $g $m" - } elseif {$t == "f"} { - puts $fo_files "CTMFM $n $u $g $m $h $s" - flush $fo_files - exec cat $CTMref/$n >@ $fo_files - puts $fo_files "" - } else { - puts "confused in CTMadd" - exit 0 - } -} - -############################################################################# -### Delete something -############################################################################# -# Type Name Mode User Group Barf Size Hash - -proc CTMdel {t n m u g b s h} { - global fo_del fo_rmdir changes damage max_damage CTMlock - - puts stderr "D $b $t $n" - incr damage - incr changes - - if {$damage > $max_damage} { - exec rm -f $CTMlock - return - } - if {$t == "d"} { - puts $fo_rmdir "CTMDR $n" - } elseif {$t == "f"} { - puts $fo_del "CTMFR $n $h" - } else { - puts "confused in CTMdel" - exit 0 - } -} - -############################################################################# -### Change something -############################################################################# -# Type Name Mode User Group Barf Size Hash - -proc CTMchg {t1 n1 m1 u1 g1 b1 s1 h1 t2 n2 m2 u2 g2 b2 s2 h2} { - global fo_files CTMref CTMcopy changes damage CTMscratch - - # Ignore attribute changes for directories - if {$t1 == "d" && $t2 == "d"} return - - # turn file into dir or vice versa... - if {$t1 != $t2} { - CTMdel $t1 $n1 $m1 $u1 $g1 $b1 $s1 $h1 - CTMadd $t2 $n2 $m2 $u2 $g2 $b2 $s2 $h2 - return - } - - # only files allowed past this poing... - if {$t1 != "f" && $t2 != "f"} { - puts "confused in CTMchg" - exit 0 - } - - # Ignore attribute changes for files - if {"x$h1" == "x$h2" && $s1 == $s2} return - - if {$s2 == 0} { incr damage } - incr changes - - # If diff will deal with it... - if {$b1 == "0" && $b2 == "0"} { - set i [catch "exec diff -n $CTMcopy/$n1 $CTMref/$n2 > $CTMscratch" j] - set s [file size $CTMscratch] - if {$s < $s2} { - puts stderr "E $b1$b2 $t1$t2 $n1" - puts $fo_files "CTMFN $n1 $u2 $g2 $m2 $h1 $h2 $s" - flush $fo_files - exec cat $CTMscratch >@ $fo_files - puts $fo_files "" - return - } - } - puts stderr "R $b1$b2 $t1$t2 $n1" - puts $fo_files "CTMFS $n2 $u2 $g2 $m2 $h1 $h2 $s2" - flush $fo_files - exec cat $CTMref/$n2 >@ $fo_files - puts $fo_files "" -} - -############################################################################# ### Do we already have this delta ? ############################################################################# @@ -121,7 +21,8 @@ cd $CTMSW # Defaults... set CTMapply 1 -set CTMdont {^///} +set CTMignore {^///} +set CTMbogus {\.core$} set CTMmail {} set CTMqueue {} set CTMqueuemail {} @@ -137,13 +38,13 @@ set CTMtest 0 set CTMspecial 0 set CTMscan . set CTMfirst 0 -set max_damage 1200 +set max_damage 100 set damage 0 set changes 0 -exec sh -c "date -u '+%y%m%d%H%M%S $argv'" >> /home/ctm/log source $argv +exec sh -c "date -u '+%y%m%d%H%M%S $argv'" >> ${CTMSW}/log if {$CTMtmp == ""} { set CTMtmp $CTMSW/../tmp/${CTMname}_${CTMsuff} @@ -163,7 +64,7 @@ exec echo starting > ${CTMlock} if {[catch "exec ln $CTMlock LCK.$CTMname" a]} { puts "Not going, lock exists..." exec rm -f $CTMlock - exit 0 + exit 1 } exec rm -f $CTMlock set CTMlock LCK.$CTMname @@ -181,7 +82,7 @@ while 1 { if {$CTMnbr > 0 && ![find_delta $CTMnbr]} { puts "$CTMname delta $CTMnbr doesn't exist..." exec rm -f $CTMlock - exit 0 + exit 1 } incr CTMnbr @@ -189,7 +90,7 @@ while 1 { if {[find_delta $CTMnbr]} { puts "$CTMname delta $CTMnbr does already exist..." exec rm -f $CTMlock - exit 0 + exit 1 } set fo [open $CTMref/.ctm_status w] @@ -201,114 +102,33 @@ while 1 { set CTMnbr [lindex [exec cat $CTMref/.ctm_status] 1] } - if {"$CTMcopy" == "" } { - set f1 [open /dev/null] - } else { - set f1 [open "| ./ctm_scan $CTMcopy $CTMscan"] - } - puts "Doing CTMname $CTMname CTMnbr $CTMnbr$CTMsuff CTMdate $CTMdate" flush stdout exec sh -c "rm -f ${CTMtmp}.* ${CTMtmp}:*" >&@ stdout - set f2 [open "| ./ctm_scan $CTMref $CTMscan"] - - set fo_del [open $CTMtmp.del w] - set fo_rmdir [open $CTMtmp.rmdir w] - set fo_mkdir [open $CTMtmp.mkdir w] - set fo_files [open $CTMtmp.files w] - - set l1 "" - set l2 "" - - while 1 { - - if {$l1 == ""} {gets $f1 l1} - - if {$l2 == ""} {gets $f2 l2} - - if {$l1 == "" && $l2 == ""} break - - set n1 [lindex $l1 1] - set n2 [lindex $l2 1] - - if {[regexp $CTMdont /$n1]} { set l1 "" ; continue } - if {[regexp $CTMdont /$n2]} { set l2 "" ; continue } - - # they're all the same... - if {$l1 == $l2} { set l1 "" ; set l2 "" ; continue } - - if {$l1 == "" } { eval CTMadd $l2 ; set l2 "" ; continue } - - if {$l2 == "" } { eval CTMdel $l1 ; set l1 "" ; continue } - - # if the name is the same we're safe... - if {$n1 == $n2} { - eval CTMchg $l1 $l2 - set l1 "" - set l2 "" - continue - } - - # To avoid this anomaly: - # A - d src/gnu/lib/libreadline/readline/Attic - # A 0 f src/gnu/lib/libreadline/readline/Attic/readline.h,v - # A 0 f src/gnu/lib/libreadline/readline.c,v - # D 0 f src/gnu/lib/libreadline/readline/readline.h,v - # D 0 f src/gnu/lib/libreadline/readline.c,v - # we have to make things somewhat complicated... + set nm [format "%s.%04d%s" $CTMname $CTMnbr $CTMsuff] - # if they have the same number of components... - set ll1 [llength [split $n1 /]] - set ll2 [llength [split $n2 /]] - if {$ll1 == $ll2} { - if {$n1 < $n2 } { - eval CTMdel $l1 ; set l1 "" ; continue - } else { - eval CTMadd $l2 ; set l2 "" ; continue - } - } - if {$ll1 < $ll2} { - eval CTMadd $l2 ; set l2 "" ; continue - } else { - eval CTMdel $l1 ; set l1 "" ; continue - } + set x1 $CTMcopy + if {$x1 == ""} { + exec mkdir ${CTMtmp}.dir + set x1 ${CTMtmp}.dir } + set r1 [catch "exec ${CTMSW}/mkctm -I ${CTMignore} -B ${CTMbogus} -l ${CTMtmp}.log -D $max_damage $CTMname $CTMnbr $CTMdate . $x1 $CTMref | md5 -p | gzip -9 > ${CTMtmp}:${nm}.gz 2>@ stderr" r2] - close $fo_del - close $fo_rmdir - close $fo_mkdir - close $fo_files - - if {$damage > $max_damage} { - puts "Too much damage: $damage deletes" - exec sh -c "rm -f ${CTMtmp}.*" + if {$r1} { + if {[lindex $errorCode 2] == 4} { + puts "No changes, stopping." exec rm -f $CTMlock - exit 0 - } - - if {!$changes} { - puts "no changes" - exec sh -c "rm -f ${CTMtmp}.*" + exit 0 + } + puts "problems, stopping now." + puts "errorCode $errorCode" + puts "$r2" exec rm -f $CTMlock - exit 0 - } - - exec echo CTM_BEGIN 2.0 $CTMname $CTMnbr $CTMdate $CTMprefix > $CTMtmp.begin - - puts "Assembling delta" - flush stdout - set nm [format "%s.%04d%s" $CTMname $CTMnbr $CTMsuff] - - set fdout [open "| /sbin/md5 -p | gzip -9 > ${CTMtmp}:${nm}.gz" w] - - foreach i {begin del rmdir mkdir files} { - exec cat $CTMtmp.$i >@$fdout + exit 1 } - puts $fdout "CTM_END " nonewline - close $fdout ; unset fdout - - exec sh -c "rm -f ${CTMtmp}.*" >&@ stdout + + puts "mkctm done" if {$CTMtest} { puts "testing, stopping now." @@ -319,7 +139,7 @@ while 1 { puts "Applying delta" flush stdout exec echo now applying > $CTMlock - exec sh -e -c "cd $CTMcopy ; $CTMSW/ctm -v -v -v ${CTMtmp}:${nm}.gz" >&@ stdout + exec sh -e -c "cd $CTMcopy ; $CTMSW/ctm -v -v -v ${CTMtmp}:${nm}.gz" >& ${CTMtmp}.apply exec echo did apply > $CTMlock } puts "Moving delta" @@ -328,6 +148,8 @@ while 1 { exec mv $CTMdest/.CTMtmp_${nm}.gz $CTMdest/${nm}.gz >&@ stdout exec echo moved > $CTMlock + exec sh -c "rm -rf ${CTMtmp}.*" >&@ stdout + if {$CTMmail != ""} { puts "Mailing delta" flush stdout diff --git a/usr.sbin/ctm/mkCTM/mkctm.c b/usr.sbin/ctm/mkCTM/mkctm.c index f9dfcb7e88f79..94540daa9ec61 100644 --- a/usr.sbin/ctm/mkCTM/mkctm.c +++ b/usr.sbin/ctm/mkCTM/mkctm.c @@ -1,20 +1,12 @@ /* Still missing: * - * Damage counter - * Change counter - * Time stamp - * prefix - * cmd-line args - * %100 deltas - * delta and Add are different. delta -> Equ. - * * mkctm * -B regex Bogus * -I regex Ignore * -D int Damage * -q decrease verbosity * -v increase verbosity - * (-l str control logging.) + * -l file logfile * name cvs-cur * prefix src/secure * dir1 "Soll" @@ -38,7 +30,7 @@ #include <signal.h> #define DEFAULT_IGNORE "/CVS$|/\\.#|00_TRANS\\.TBL$" -#define DEFAULT_BOGUS "\\.core$|\\.orig$|\\.rej$" +#define DEFAULT_BOGUS "\\.core$|\\.orig$|\\.rej$|\\.o$" regex_t reg_ignore, reg_bogus; int flag_ignore, flag_bogus; @@ -46,6 +38,8 @@ int verbose; int damage, damage_limit; int change; +FILE *logf; + u_long s1_ignored, s2_ignored; u_long s1_bogus, s2_bogus; u_long s1_wrong, s2_wrong; @@ -73,34 +67,35 @@ Usage(void) void print_stat(FILE *fd, char *pre) { - fprintf(fd,"%sAvoided:\n",pre); - fprintf(fd,"%s ignore: %5lu old %5lu new\n", + fprintf(fd, "%sNames:\n", pre); + fprintf(fd, "%s ignore: %5lu ref %5lu target\n", pre, s1_ignored, s2_ignored); - fprintf(fd,"%s bogus: %5lu old %5lu new\n", + fprintf(fd, "%s bogus: %5lu ref %5lu target\n", pre, s1_bogus, s2_bogus); - fprintf(fd,"%s wrong: %5lu old %5lu new\n", + fprintf(fd, "%s wrong: %5lu ref %5lu target\n", pre, s1_wrong, s2_wrong); - fprintf(fd,"%sDelta:\n",pre); - fprintf(fd,"%s new: %5lu dirs %5lu files %9lu plus\n", + fprintf(fd, "%sDelta:\n", pre); + fprintf(fd, "%s new: %5lu dirs %5lu files %9lu plus\n", pre, s_new_dirs, s_new_files, s_new_bytes); - fprintf(fd,"%s del: %5lu dirs %5lu files %9lu minus\n", + fprintf(fd, "%s del: %5lu dirs %5lu files %9lu minus\n", pre, s_del_dirs, s_del_files, s_del_bytes); - fprintf(fd,"%s chg: %5lu files %9lu plus %9lu minus\n", + fprintf(fd, "%s chg: %5lu files %9lu plus %9lu minus\n", pre, s_files_chg, s_bytes_add, s_bytes_del); - fprintf(fd,"%s same: %5lu dirs %5lu files %9lu bytes\n", + fprintf(fd, "%s same: %5lu dirs %5lu files %9lu bytes\n", pre, s_same_dirs, s_same_files, s_same_bytes); - fprintf(fd,"%sMethod:\n",pre); - fprintf(fd,"%s edit: %5lu files %9lu bytes %9lu saved\n", + fprintf(fd, "%sMethod:\n", pre); + fprintf(fd, "%s edit: %5lu files %9lu bytes %9lu saved\n", pre, s_edit_files, s_edit_bytes, s_edit_saves); - fprintf(fd,"%s sub: %5lu files %9lu bytes\n", + fprintf(fd, "%s sub: %5lu files %9lu bytes\n", pre, s_sub_files, s_sub_bytes); + } void stat_info(int foo) { - signal(SIGINFO,stat_info); - print_stat(stderr,"INFO: "); + signal(SIGINFO, stat_info); + print_stat(stderr, "INFO: "); } void DoDir(const char *dir1, const char *dir2, const char *name); @@ -109,16 +104,16 @@ static struct stat st; static __inline struct stat * StatFile(char *name) { - if (lstat(name,&st) < 0) - err(1,"Couldn't stat %s\n",name); + if (lstat(name, &st) < 0) + err(1, "Couldn't stat %s\n", name); return &st; } int dirselect(struct dirent *de) { - if (!strcmp(de->d_name,".")) return 0; - if (!strcmp(de->d_name,"..")) return 0; + if (!strcmp(de->d_name, ".")) return 0; + if (!strcmp(de->d_name, "..")) return 0; return 1; } @@ -129,15 +124,16 @@ name_stat(const char *pfx, const char *dir, const char *name, struct dirent *de) strlen(de->d_name) + 3); struct stat *st; - strcpy(buf,dir); - strcat(buf,"/"); strcat(buf,name); - strcat(buf,"/"); strcat(buf,de->d_name); + strcpy(buf, dir); + strcat(buf, "/"); strcat(buf, name); + strcat(buf, "/"); strcat(buf, de->d_name); st = StatFile(buf); - printf("%s %s%s %lu %lu %o", + printf("%s %s%s %u %u %o", pfx, name, de->d_name, st->st_uid, st->st_gid, st->st_mode & ~S_IFMT); + fprintf(logf, "%s %s%s\n", pfx, name, de->d_name); if (verbose > 1) { - fprintf(stderr,"%s %s%s\n", pfx, name, de->d_name); + fprintf(stderr, "%s %s%s\n", pfx, name, de->d_name); } } @@ -147,31 +143,31 @@ Equ(const char *dir1, const char *dir2, const char *name, struct dirent *de) if (de->d_type == DT_DIR) { char *p = alloca(strlen(name)+strlen(de->d_name)+2); - strcpy(p,name); strcat(p,de->d_name); strcat(p, "/"); - DoDir(dir1,dir2,p); + strcpy(p, name); strcat(p, de->d_name); strcat(p, "/"); + DoDir(dir1, dir2, p); s_same_dirs++; } else { char *buf1 = alloca(strlen(dir1) + strlen(name) + strlen(de->d_name) + 3); char *buf2 = alloca(strlen(dir2) + strlen(name) + strlen(de->d_name) + 3); - char *m1,md5_1[33],*m2, md5_2[33]; - u_char *p1,*p2; - int fd1,fd2; - struct stat s1,s2; - - strcpy(buf1,dir1); - strcat(buf1,"/"); strcat(buf1,name); - strcat(buf1,"/"); strcat(buf1,de->d_name); - fd1 = open(buf1,O_RDONLY); + char *m1, md5_1[33], *m2, md5_2[33]; + u_char *p1, *p2; + int fd1, fd2; + struct stat s1, s2; + + strcpy(buf1, dir1); + strcat(buf1, "/"); strcat(buf1, name); + strcat(buf1, "/"); strcat(buf1, de->d_name); + fd1 = open(buf1, O_RDONLY); if(fd1 < 0) { perror(buf1); exit(3); } - fstat(fd1,&s1); - strcpy(buf2,dir2); - strcat(buf2,"/"); strcat(buf2,name); - strcat(buf2,"/"); strcat(buf2,de->d_name); - fd2 = open(buf2,O_RDONLY); + fstat(fd1, &s1); + strcpy(buf2, dir2); + strcat(buf2, "/"); strcat(buf2, name); + strcat(buf2, "/"); strcat(buf2, de->d_name); + fd2 = open(buf2, O_RDONLY); if(fd2 < 0) { perror(buf2); exit(3); } - fstat(fd2,&s2); + fstat(fd2, &s2); #if 0 /* XXX if we could just trust the size to change... */ if (s1.st_size == s2.st_size) { @@ -182,23 +178,22 @@ Equ(const char *dir1, const char *dir2, const char *name, struct dirent *de) goto finish; } #endif - p1=mmap(0,s1.st_size,PROT_READ,MAP_PRIVATE,fd1,0); + p1=mmap(0, s1.st_size, PROT_READ, MAP_PRIVATE, fd1, 0); if ((int)p1 == -1) { perror(buf1); exit(3); } close(fd1); - p2=mmap(0,s2.st_size,PROT_READ,MAP_PRIVATE,fd2,0); + p2=mmap(0, s2.st_size, PROT_READ, MAP_PRIVATE, fd2, 0); if ((int)p2 == -1) { perror(buf2); exit(3); } close(fd2); /* If identical, we're done. */ - if((s1.st_size == s2.st_size) && !memcmp(p1,p2,s1.st_size)) { + if((s1.st_size == s2.st_size) && !memcmp(p1, p2, s1.st_size)) { s_same_files++; s_same_bytes += s1.st_size; goto finish; } s_files_chg++; - damage++; change++; if (s1.st_size > s2.st_size) s_bytes_del += (s1.st_size - s2.st_size); @@ -209,11 +204,11 @@ Equ(const char *dir1, const char *dir2, const char *name, struct dirent *de) m2 = MD5Data(p2, s2.st_size, md5_2); /* Just a curiosity... */ - if(!strcmp(m1,m2)) { + if(!strcmp(m1, m2)) { if (s1.st_size != s2.st_size) fprintf(stderr, "Notice: MD5 same for files of diffent size:\n\t%s\n\t%s\n", - buf1,buf2); + buf1, buf2); goto finish; } @@ -262,7 +257,7 @@ Equ(const char *dir1, const char *dir2, const char *name, struct dirent *de) strcat(cmd, buf1); strcat(cmd, " "); strcat(cmd, buf2); - F = popen(cmd,"r"); + F = popen(cmd, "r"); for (j = 1, l = 0; l < s2.st_size; ) { j = fread(ob+l, 1, s2.st_size - l, F); if (j < 1) @@ -278,26 +273,26 @@ Equ(const char *dir1, const char *dir2, const char *name, struct dirent *de) pclose(F); if (l && l < s2.st_size) { - name_stat("CTMFN",dir2,name,de); - printf(" %s %s %d\n",m1,m2,(unsigned)l); - fwrite(ob,1,l,stdout); + name_stat("CTMFN", dir2, name, de); + printf(" %s %s %d\n", m1, m2, (unsigned)l); + fwrite(ob, 1, l, stdout); putchar('\n'); s_edit_files++; s_edit_bytes += l; s_edit_saves += (s2.st_size - l); } else { subst: - name_stat("CTMFS",dir2,name,de); - printf(" %s %s %u\n",m1,m2,(unsigned)s2.st_size); - fwrite(p2,1,s2.st_size,stdout); + name_stat("CTMFS", dir2, name, de); + printf(" %s %s %u\n", m1, m2, (unsigned)s2.st_size); + fwrite(p2, 1, s2.st_size, stdout); putchar('\n'); s_sub_files++; s_sub_bytes += s2.st_size; } } finish: - munmap(p1,s1.st_size); - munmap(p2,s2.st_size); + munmap(p1, s1.st_size); + munmap(p2, s2.st_size); } } @@ -307,11 +302,11 @@ Add(const char *dir1, const char *dir2, const char *name, struct dirent *de) change++; if (de->d_type == DT_DIR) { char *p = alloca(strlen(name)+strlen(de->d_name)+2); - strcpy(p,name); strcat(p,de->d_name); strcat(p, "/"); - name_stat("CTMDM",dir2,name,de); + strcpy(p, name); strcat(p, de->d_name); strcat(p, "/"); + name_stat("CTMDM", dir2, name, de); putchar('\n'); s_new_dirs++; - DoDir(dir1,dir2,p); + DoDir(dir1, dir2, p); } else if (de->d_type == DT_REG) { char *buf2 = alloca(strlen(dir2) + strlen(name) + strlen(de->d_name) + 3); @@ -320,21 +315,21 @@ Add(const char *dir1, const char *dir2, const char *name, struct dirent *de) struct stat st; int fd1; - strcpy(buf2,dir2); - strcat(buf2,"/"); strcat(buf2,name); - strcat(buf2,"/"); strcat(buf2,de->d_name); - fd1 = open(buf2,O_RDONLY); + strcpy(buf2, dir2); + strcat(buf2, "/"); strcat(buf2, name); + strcat(buf2, "/"); strcat(buf2, de->d_name); + fd1 = open(buf2, O_RDONLY); if (fd1 < 0) {perror(buf2); exit (3); } - fstat(fd1,&st); - p1=mmap(0,st.st_size,PROT_READ,MAP_PRIVATE,fd1,0); + fstat(fd1, &st); + p1=mmap(0, st.st_size, PROT_READ, MAP_PRIVATE, fd1, 0); if ((int)p1 == -1) { perror(buf2); exit(3); } close(fd1); m2 = MD5Data(p1, st.st_size, md5_2); - name_stat("CTMFM",dir2,name,de); - printf(" %s %u\n",m2,(unsigned)st.st_size); - fwrite(p1,1,st.st_size,stdout); + name_stat("CTMFM", dir2, name, de); + printf(" %s %u\n", m2, (unsigned)st.st_size); + fwrite(p1, 1, st.st_size, stdout); putchar('\n'); - munmap(p1,st.st_size); + munmap(p1, st.st_size); s_new_files++; s_new_bytes += st.st_size; } @@ -347,19 +342,27 @@ Del (const char *dir1, const char *dir2, const char *name, struct dirent *de) change++; if (de->d_type == DT_DIR) { char *p = alloca(strlen(name)+strlen(de->d_name)+2); - strcpy(p,name); strcat(p,de->d_name); strcat(p, "/"); - DoDir(dir1,dir2,p); - printf("CTMDR %s%s\n",name,de->d_name); + strcpy(p, name); strcat(p, de->d_name); strcat(p, "/"); + DoDir(dir1, dir2, p); + printf("CTMDR %s%s\n", name, de->d_name); + fprintf(logf, "CTMDR %s%s\n", name, de->d_name); + if (verbose > 1) { + fprintf(stderr, "CTMDR %s%s\n", name, de->d_name); + } s_del_dirs++; } else if (de->d_type == DT_REG) { char *buf1 = alloca(strlen(dir1) + strlen(name) + strlen(de->d_name) + 3); char *m1, md5_1[33]; - strcpy(buf1,dir1); - strcat(buf1,"/"); strcat(buf1,name); - strcat(buf1,"/"); strcat(buf1,de->d_name); + strcpy(buf1, dir1); + strcat(buf1, "/"); strcat(buf1, name); + strcat(buf1, "/"); strcat(buf1, de->d_name); m1 = MD5File(buf1, md5_1); - printf("CTMFR %s%s %s\n",name,de->d_name,m1); + printf("CTMFR %s%s %s\n", name, de->d_name, m1); + fprintf(logf, "CTMFR %s%s %s\n", name, de->d_name, m1); + if (verbose > 1) { + fprintf(stderr, "CTMFR %s%s\n", name, de->d_name); + } s_del_files++; s_del_bytes += StatFile(buf1)->st_size; } @@ -369,35 +372,38 @@ void GetNext(int *i, int *n, struct dirent **nl, const char *dir, const char *name, u_long *ignored, u_long *bogus, u_long *wrong) { char buf[BUFSIZ]; + char buf1[BUFSIZ]; for (;;) { for (;;) { (*i)++; if (*i >= *n) return; - *buf = 0; - if (*dir != '/') - strcat(buf,"/"); - strcat(buf,dir); - if (buf[strlen(buf)-1] != '/') - strcat(buf,"/"); - strcat(buf,name); - if (buf[strlen(buf)-1] != '/') - strcat(buf,"/"); - strcat(buf,nl[*i]->d_name); + strcpy(buf1, name); + if (buf1[strlen(buf1)-1] != '/') + strcat(buf1, "/"); + strcat(buf1, nl[*i]->d_name); if (flag_ignore && - !regexec(®_ignore,buf,0,0,0)) { + !regexec(®_ignore, buf1, 0, 0, 0)) { (*ignored)++; + fprintf(logf, "Ignore %s\n", buf1); if (verbose > 2) { - fprintf(stderr,"Ignore %s\n",buf); + fprintf(stderr, "Ignore %s\n", buf1); } } else if (flag_bogus && - !regexec(®_bogus,buf,0,0,0)) { + !regexec(®_bogus, buf1, 0, 0, 0)) { (*bogus)++; - if (verbose > 0) { - fprintf(stderr,"Bogus %s\n",buf); - } + fprintf(logf, "Bogus %s\n", buf1); + fprintf(stderr, "Bogus %s\n", buf1); + damage++; } else { + *buf = 0; + if (*dir != '/') + strcat(buf, "/"); + strcat(buf, dir); + if (buf[strlen(buf)-1] != '/') + strcat(buf, "/"); + strcat(buf, buf1); break; } free(nl[*i]); nl[*i] = 0; @@ -409,7 +415,7 @@ GetNext(int *i, int *n, struct dirent **nl, const char *dir, const char *name, u break; (*wrong)++; if (verbose > 0) - fprintf(stderr,"Wrong %s\n",buf); + fprintf(stderr, "Wrong %s\n", buf); free(nl[*i]); nl[*i] = 0; } } @@ -417,13 +423,13 @@ GetNext(int *i, int *n, struct dirent **nl, const char *dir, const char *name, u void DoDir(const char *dir1, const char *dir2, const char *name) { - int i1,i2,n1,n2,i; - struct dirent **nl1,**nl2; + int i1, i2, n1, n2, i; + struct dirent **nl1, **nl2; char *buf1 = alloca(strlen(dir1) + strlen(name) + 4); char *buf2 = alloca(strlen(dir2) + strlen(name) + 4); - strcpy(buf1,dir1); strcat(buf1,"/"); strcat(buf1,name); - strcpy(buf2,dir2); strcat(buf2,"/"); strcat(buf2,name); + strcpy(buf1, dir1); strcat(buf1, "/"); strcat(buf1, name); + strcpy(buf2, dir2); strcat(buf2, "/"); strcat(buf2, name); n1 = scandir(buf1, &nl1, dirselect, alphasort); n2 = scandir(buf2, &nl2, dirselect, alphasort); i1 = i2 = -1; @@ -449,31 +455,31 @@ DoDir(const char *dir1, const char *dir2, const char *name) break; } else if (i1 >= n1 && i2 < n2) { /* end of list 1, add anything left on list 2 */ - Add(dir1,dir2,name,nl2[i2]); + Add(dir1, dir2, name, nl2[i2]); free(nl2[i2]); nl2[i2] = 0; } else if (i1 < n1 && i2 >= n2) { /* end of list 2, delete anything left on list 1 */ - Del(dir1,dir2,name,nl1[i1]); + Del(dir1, dir2, name, nl1[i1]); free(nl1[i1]); nl1[i1] = 0; } else if (!(i = strcmp(nl1[i1]->d_name, nl2[i2]->d_name))) { /* Identical names */ if (nl1[i1]->d_type == nl2[i2]->d_type) { /* same type */ - Equ(dir1,dir2,name,nl1[i1]); + Equ(dir1, dir2, name, nl1[i1]); } else { /* different types */ - Del(dir1,dir2,name,nl1[i1]); - Add(dir1,dir2,name,nl2[i2]); + Del(dir1, dir2, name, nl1[i1]); + Add(dir1, dir2, name, nl2[i2]); } free(nl1[i1]); nl1[i1] = 0; free(nl2[i2]); nl2[i2] = 0; } else if (i < 0) { /* Something extra in list 1, delete it */ - Del(dir1,dir2,name,nl1[i1]); + Del(dir1, dir2, name, nl1[i1]); free(nl1[i1]); nl1[i1] = 0; } else { /* Something extra in list 2, add it */ - Add(dir1,dir2,name,nl2[i2]); + Add(dir1, dir2, name, nl2[i2]); free(nl2[i2]); nl2[i2] = 0; } } @@ -492,22 +498,24 @@ main(int argc, char **argv) setbuf(stderr, NULL); - if (regcomp(®_bogus,DEFAULT_BOGUS, REG_EXTENDED | REG_NEWLINE)) +#if 0 + if (regcomp(®_bogus, DEFAULT_BOGUS, REG_EXTENDED | REG_NEWLINE)) /* XXX use regerror to explain it */ - err(1,"Default regular expression argument to -B is botched"); + errx(1, "Default regular expression argument to -B is botched"); flag_bogus = 1; - if (regcomp(®_ignore,DEFAULT_IGNORE, REG_EXTENDED | REG_NEWLINE)) + if (regcomp(®_ignore, DEFAULT_IGNORE, REG_EXTENDED | REG_NEWLINE)) /* XXX use regerror to explain it */ - err(1,"Default regular expression argument to -I is botched"); + errx(1, "Default regular expression argument to -I is botched"); flag_ignore = 1; +#endif - while ((i = getopt(argc,argv,"D:I:B:qv")) != EOF) + while ((i = getopt(argc, argv, "D:I:B:l:qv")) != EOF) switch (i) { case 'D': - damage_limit = strtol(optarg,0,0); + damage_limit = strtol(optarg, 0, 0); if (damage_limit < 0) - err(1,"Damage limit must be positive"); + errx(1, "Damage limit must be positive"); break; case 'I': if (flag_ignore) @@ -515,10 +523,10 @@ main(int argc, char **argv) flag_ignore = 0; if (!*optarg) break; - if (regcomp(®_ignore,optarg, + if (regcomp(®_ignore, optarg, REG_EXTENDED | REG_NEWLINE)) /* XXX use regerror to explain it */ - err(1,"Regular expression argument to -I is botched"); + errx(1, "Regular expression argument to -I is botched"); flag_ignore = 1; break; case 'B': @@ -527,12 +535,17 @@ main(int argc, char **argv) flag_bogus = 0; if (!*optarg) break; - if (regcomp(®_bogus,optarg, + if (regcomp(®_bogus, optarg, REG_EXTENDED | REG_NEWLINE)) /* XXX use regerror to explain it */ - err(1,"Regular expression argument to -B is botched"); + errx(1, "Regular expression argument to -B is botched"); flag_bogus = 1; break; + case 'l': + logf = fopen(optarg, "w"); + if (!logf) + err(1, optarg); + break; case 'q': verbose--; break; @@ -547,26 +560,35 @@ main(int argc, char **argv) argc -= optind; argv += optind; - setbuf(stdout,0); + if (!logf) + logf = fopen("/dev/null", "w"); + + setbuf(stdout, 0); if (argc != 6) { Usage(); return (1); } - signal(SIGINFO,stat_info); + signal(SIGINFO, stat_info); + fprintf(stderr, "CTM_BEGIN 2.0 %s %s %s %s\n", + argv[0], argv[1], argv[2], argv[3]); + fprintf(logf, "CTM_BEGIN 2.0 %s %s %s %s\n", + argv[0], argv[1], argv[2], argv[3]); printf("CTM_BEGIN 2.0 %s %s %s %s\n", argv[0], argv[1], argv[2], argv[3]); - DoDir(argv[4],argv[5],""); + DoDir(argv[4], argv[5], ""); if (damage_limit && damage > damage_limit) { - print_stat(stderr,""); - err(1,"Damage would exceede %d files", damage_limit); - } else if (!change) { - err(1,"No changes"); + print_stat(stderr, "DAMAGE: "); + errx(1, "Damage of %d would exceed %d files", + damage, damage_limit); + } else if (change < 2) { + errx(4, "No changes"); } else { printf("CTM_END "); - print_stat(stderr,""); + fprintf(logf, "CTM_END\n"); + print_stat(stderr, "END: "); } exit(0); } diff --git a/usr.sbin/ppp/chap.c b/usr.sbin/ppp/chap.c index a3b1f80f2989c..aa6ce4a0fd6db 100644 --- a/usr.sbin/ppp/chap.c +++ b/usr.sbin/ppp/chap.c @@ -17,7 +17,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: chap.c,v 1.6 1996/05/11 20:48:16 phk Exp $ + * $Id: chap.c,v 1.7 1996/10/12 16:20:21 jkh Exp $ * * TODO: */ @@ -33,7 +33,7 @@ #include "auth.h" static char *chapcodes[] = { - "???", "CHALLENGE", "RESPONCE", "SUCCESS", "FAILURE" + "???", "CHALLENGE", "RESPONSE", "SUCCESS", "FAILURE" }; struct authinfo AuthChapInfo = { |