summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>1996-11-21 16:51:15 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>1996-11-21 16:51:15 +0000
commite327282419e3d97aa889087a4ed9a734bccbf34f (patch)
treeac30ab0edfffb335dd45bd45935ec22e09228538
parenta384ea263cadd7102ab6ee51bbecb6eb142b6062 (diff)
Notes
-rw-r--r--bin/dd/args.c4
-rw-r--r--bin/dd/conv.c10
-rw-r--r--bin/dd/dd.c10
-rw-r--r--bin/dd/dd.h4
-rw-r--r--bin/dd/misc.c15
-rw-r--r--lib/libc/gen/exec.c9
-rw-r--r--libexec/ftpd/ftpd.c17
-rw-r--r--libexec/ftpd/popen.c14
-rw-r--r--libexec/rexecd/rexecd.89
-rw-r--r--libexec/rexecd/rexecd.c38
-rw-r--r--sbin/ping/ping.c11
-rw-r--r--share/doc/FAQ/FAQ.sgml6
-rw-r--r--share/doc/handbook/contrib.sgml7
-rw-r--r--share/doc/handbook/porting.sgml49
-rw-r--r--share/doc/ja_JP.EUC/handbook/Makefile3
-rw-r--r--share/doc/ja_JP.EUC/handbook/contrib.sgml14
-rw-r--r--share/doc/ja_JP.EUC/handbook/handbook.sgml97
-rw-r--r--share/doc/ja_JP.EUC/handbook/jcontrib.sgml7
-rw-r--r--share/doc/ja_JP.EUC/handbook/jmembers.sgml10
-rw-r--r--share/doc/ja_JP.EUC/handbook/sup.sgml115
-rw-r--r--share/doc/ja_JP.EUC/handbook/synching.sgml20
-rw-r--r--share/termcap/termcap.src3
-rw-r--r--sys/i386/isa/npx.c4
-rw-r--r--sys/net/if_ethersubr.c4
-rw-r--r--usr.bin/file/Magdir/audio6
-rw-r--r--usr.bin/kdump/kdump.c4
-rw-r--r--usr.bin/sed/main.c3
-rw-r--r--usr.sbin/arp/arp.420
-rw-r--r--usr.sbin/ctm/mkCTM/Makefile1
-rw-r--r--usr.sbin/ctm/mkCTM/ctm_conf.cvs-cur3
-rw-r--r--usr.sbin/ctm/mkCTM/ctm_conf.gnats2
-rw-r--r--usr.sbin/ctm/mkCTM/ctm_conf.ports-cur3
-rw-r--r--usr.sbin/ctm/mkCTM/ctm_conf.smp-cur3
-rw-r--r--usr.sbin/ctm/mkCTM/ctm_conf.src-cur3
-rw-r--r--usr.sbin/ctm/mkCTM/mkCTM232
-rw-r--r--usr.sbin/ctm/mkCTM/mkctm.c286
-rw-r--r--usr.sbin/ppp/chap.c4
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 &lt;Holger.Veit@gmd.de&gt;
<item>Igor Vinokurov &lt;igor@zynaps.ru&gt;
<item>Ikuo Nakagawa &lt;ikuo@isl.intec.co.jp&gt;
+ <item>IMAMURA Tomoaki &lt;tomoak-i@is.aist-nara.ac.jp&gt;
<item>Ishii Masahiro &lt;?&gt;
<item>J.T. Conklin &lt;jtc@cygnus.com&gt;
<item>James Clark &lt;jjc@jclark.com&gt;
@@ -285,7 +286,7 @@
<item>Mike Peck &lt;mike@binghamton.edu&gt;
<item>MITA Yoshio &lt;mita@jp.FreeBSD.ORG&gt;
<item>MOROHOSHI Akihiko &lt;moro@race.u-tokyo.ac.jp&gt;
- <item>Naoki Hamada &lt;nao@sbl.cl.nec.co.jp&gt;
+ <item>Naoki Hamada &lt;nao@tom-yam.or.jp&gt;
<item>NIIMI Satoshi &lt;sa2c@and.or.jp&gt;
<item>Nick Sayer &lt;nsayer@quack.kfu.com&gt;
<item>Nisha Talagala &lt;nisha@cs.berkeley.edu&gt;
@@ -399,7 +400,7 @@
<item>Michael Clay &lt;mclay@weareb.org&gt;
<item>Michael Galassi &lt;nerd@percival.rain.com&gt;
<item>Mike Durkin &lt;mdurkin@tsoft.sf-bay.org&gt;
- <item>Naoki Hamada &lt;nao@sbl.cl.nec.co.jp&gt;
+ <item>Naoki Hamada &lt;nao@tom-yam.or.jp&gt;
<item>Nate Williams &lt;nate@bsd.coe.montana.edu&gt;
<item>Nick Handel &lt;nhandel@NeoSoft.com&gt;
&lt;nick@madhouse.neosoft.com&gt;
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 &lt;andrew.gordon@net-tel.co.uk&gt;
<item>Andrew Herbert &lt;andrew@werple.apana.org.au&gt;
<item>Andreas Kohout &lt;shanee@rabbit.augusta.de&gt;
+ <item>Andreas Lohr &lt;andreas@marvin.RoBIN.de&gt;
<item>Andrew McRae &lt;amcrae@cisco.com&gt;
<item>Andrew Moore &lt;alm@FreeBSD.org&gt;
<item>Andrew V. Stesin &lt;stesin@elvisti.kiev.ua&gt;
@@ -236,6 +237,7 @@
<item>Holger Veit &lt;Holger.Veit@gmd.de&gt;
<item>Igor Vinokurov &lt;igor@zynaps.ru&gt;
<item>Ikuo Nakagawa &lt;ikuo@isl.intec.co.jp&gt;
+ <item>IMAMURA Tomoaki &lt;tomoak-i@is.aist-nara.ac.jp&gt;
<item>Ishii Masahiro &lt;?&gt;
<item>J.T. Conklin &lt;jtc@cygnus.com&gt;
<item>James Clark &lt;jjc@jclark.com&gt;
@@ -254,6 +256,7 @@
<item>Juha Inkari &lt;inkari@cc.hut.fi&gt;
<item>Julian Jenkins &lt;kaveman@magna.com.au&gt;
<item>Julian Stacey &lt;jhs@freebsd.org&gt;
+ <item>Kazutaka YOKOTA &lt;yokota@zodiac.mech.utsunomiya-u.ac.jp&gt;
<item>Keith Bostic &lt;bostic@toe.CS.Berkeley.EDU&gt;
<item>Keith Moore &lt;?&gt;
<item>Kirk McKusick &lt;mckusick@mckusick.com&gt;
@@ -283,13 +286,14 @@
<item>Mike Peck &lt;mike@binghamton.edu&gt;
<item>MITA Yoshio &lt;mita@jp.FreeBSD.ORG&gt;
<item>MOROHOSHI Akihiko &lt;moro@race.u-tokyo.ac.jp&gt;
- <item>Naoki Hamada &lt;nao@sbl.cl.nec.co.jp&gt;
+ <item>Naoki Hamada &lt;nao@tom-yam.or.jp&gt;
<item>NIIMI Satoshi &lt;sa2c@and.or.jp&gt;
- <item>Nick Sayer &lt;nsayer@quack.kfu.com&gt;
+ <item>Nick Sayer &lt;nsayer@quack.kfu.com&gt;
<item>Nisha Talagala &lt;nisha@cs.berkeley.edu&gt;
<item>Nobuhiro Yasutomi &lt;nobu@psrc.isac.co.jp&gt;
<item>Nobuyuki Koganemaru &lt;kogane@kces.koganemaru.co.jp&gt;
<item>Noritaka Ishizumi &lt;graphite@taurus.bekkoame.or.jp&gt;
+ <item>Oliver Oberdorf &lt;oly@world.std.com&gt;
<item>Paul Kranenburg &lt;pk@cs.few.eur.nl&gt;
<item>Paul Mackerras &lt;paulus@cs.anu.edu.au&gt;
<item>Peter Stubbs &lt;PETERS@staidan.qld.edu.au&gt;
@@ -396,7 +400,7 @@
<item>Michael Clay &lt;mclay@weareb.org&gt;
<item>Michael Galassi &lt;nerd@percival.rain.com&gt;
<item>Mike Durkin &lt;mdurkin@tsoft.sf-bay.org&gt;
- <item>Naoki Hamada &lt;nao@sbl.cl.nec.co.jp&gt;
+ <item>Naoki Hamada &lt;nao@tom-yam.or.jp&gt;
<item>Nate Williams &lt;nate@bsd.coe.montana.edu&gt;
<item>Nick Handel &lt;nhandel@NeoSoft.com&gt;
&lt;nick@madhouse.neosoft.com&gt;
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 ¥×¥í¥¸¥§¥¯¥È¤Ø¤Î²¿¤é¤«¤Î¹×¸¥ (¥½¡¼¥¹¥³¡¼¥É, µ¡´ï, »ñ¶â¤ÎÄ󶡤ʤÉ)
&quotas;
<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>
&current;
&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="&lt;doc-jp@jp.freebsd.org&gt;"></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='&lt;doc-jp@jp.FreeBSD.ORG&gt;'></tt>">
+
<!--
<!ENTITY a.asami "Àõ¸« ¸­
<tt><htmlurl url='mailto:asami@FreeBSD.ORG'
@@ -112,5 +116,5 @@
name='&lt;g92k0323@cfi.waseda.ac.jp&gt;'></tt>">
<!ENTITY a.nao "ÉÍÅÄ Ä¾¼ù
- <tt><htmlurl url='mailto:nao@sbl.cl.nec.co.jp'
- name='&lt;nao@sbl.cl.nec.co.jp&gt;'></tt>">
+ <tt><htmlurl url='mailto:nao@tom-yam.or.jp'
+ name='&lt;nao@tom-yam.or.jp&gt;'></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(&reg_ignore,buf,0,0,0)) {
+ !regexec(&reg_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(&reg_bogus,buf,0,0,0)) {
+ !regexec(&reg_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(&reg_bogus,DEFAULT_BOGUS, REG_EXTENDED | REG_NEWLINE))
+#if 0
+ if (regcomp(&reg_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(&reg_ignore,DEFAULT_IGNORE, REG_EXTENDED | REG_NEWLINE))
+ if (regcomp(&reg_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(&reg_ignore,optarg,
+ if (regcomp(&reg_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(&reg_bogus,optarg,
+ if (regcomp(&reg_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 = {