aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net/Makefile1
-rw-r--r--net/uucp/Makefile52
-rw-r--r--net/uucp/distinfo1
-rw-r--r--net/uucp/files/patch-Makefile.in44
-rw-r--r--net/uucp/files/patch-dev300
-rw-r--r--net/uucp/files/patch-format25
-rw-r--r--net/uucp/files/patch-grade89
-rw-r--r--net/uucp/files/patch-ipv6484
-rw-r--r--net/uucp/files/patch-man212
-rw-r--r--net/uucp/files/patch-policy128
-rw-r--r--net/uucp/files/patch-sample21
-rw-r--r--net/uucp/files/uuchk.844
-rw-r--r--net/uucp/files/uuconv.157
-rw-r--r--net/uucp/files/uulog.184
-rw-r--r--net/uucp/files/uuname.145
-rw-r--r--net/uucp/files/uupick.172
-rw-r--r--net/uucp/files/uusched.824
-rw-r--r--net/uucp/files/uuto.141
-rw-r--r--net/uucp/pkg-comment1
-rw-r--r--net/uucp/pkg-descr7
-rw-r--r--net/uucp/pkg-plist37
21 files changed, 1769 insertions, 0 deletions
diff --git a/net/Makefile b/net/Makefile
index 2dc943f88ccc..22372b264e9d 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -447,6 +447,7 @@
SUBDIR += tvark
SUBDIR += unison
SUBDIR += urlendec
+ SUBDIR += uucp
SUBDIR += vchat
SUBDIR += vnc
SUBDIR += vomit
diff --git a/net/uucp/Makefile b/net/uucp/Makefile
new file mode 100644
index 000000000000..9a4be7d9e9e5
--- /dev/null
+++ b/net/uucp/Makefile
@@ -0,0 +1,52 @@
+# Ports collection makefile for: uucp
+# Date created: 22 Okt 2001
+# Whom: Dirk Meyer <dinoex@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= uucp
+PORTVERSION= 1.06.1
+CATEGORIES= net comms
+MASTER_SITES= ${MASTER_SITE_GNU}
+MASTER_SITE_SUBDIR=uucp
+
+MAINTAINER= dinoex@FreeBSD.org
+
+MAN1= cu.1 uuconv.1 uucp.1 uulog.1 uuname.1 uupick.1 uustat.1 \
+ uuto.1 uux.1
+MAN8= uuchk.8 uucico.8 uusched.8 uuxqt.8
+EXT1= uuconv.1 uulog.1 uuname.1 uupick.1 uuto.1
+EXT8= uuchk.8 uusched.8
+SAMPLE= call config dial dialcode passwd port sys1 sys2
+GNU_CONFIGURE= yes
+MAKE_ENV+= INSTALL_SCRIPT="${INSTALL_SCRIPT}"
+INSTALL_TARGET= install install-info
+G_UUCP= ${PREFIX}/libexec/uucp/uuxqt
+G_DIALER= ${PREFIX}/bin/cu ${PREFIX}/bin/uuname \
+ ${PREFIX}/libexec/uucp/uucico
+
+post-configure:
+ @${PERL5} -pi -e "s=HAVE_POLL_H 1=HAVE_POLL_H 0=" ${WRKSRC}/config.h
+ @${PERL5} -pi -e "s=HAVE_POLL 1=HAVE_POLL 0=" ${WRKSRC}/config.h
+
+post-install:
+ ${INSTALL_SCRIPT} ${WRKSRC}/uuto ${PREFIX}/bin/
+ ${MV} ${PREFIX}/libexec/uucp/uuchk ${PREFIX}/libexec/uucp/uuconv \
+ ${PREFIX}/sbin/
+ ${CHOWN} uucp:uucp ${G_UUCP}
+ ${CHMOD} 6550 ${G_UUCP}
+ ${CHOWN} uucp:dialer ${G_DIALER}
+ ${CHMOD} 6555 ${G_DIALER}
+ install-info ${PREFIX}/info/uucp.info ${PREFIX}/info/dir
+.for i in ${EXT1}
+ ${INSTALL_MAN} ${FILESDIR}/${i} ${PREFIX}/man/man1
+.endfor
+.for i in ${EXT8}
+ ${INSTALL_MAN} ${FILESDIR}/${i} ${PREFIX}/man/man8
+.endfor
+.for i in ${SAMPLE}
+ ${INSTALL_DATA} ${WRKSRC}/sample/${i} ${PREFIX}/etc/uucp/${i}.sample
+.endfor
+
+.include <bsd.port.mk>
diff --git a/net/uucp/distinfo b/net/uucp/distinfo
new file mode 100644
index 000000000000..90738f43cf47
--- /dev/null
+++ b/net/uucp/distinfo
@@ -0,0 +1 @@
+MD5 (uucp-1.06.1.tar.gz) = 64c65057fb5d83f588e87f93d8aae21c
diff --git a/net/uucp/files/patch-Makefile.in b/net/uucp/files/patch-Makefile.in
new file mode 100644
index 000000000000..64bf2654f02f
--- /dev/null
+++ b/net/uucp/files/patch-Makefile.in
@@ -0,0 +1,44 @@
+--- Makefile.in.orig Sun Aug 20 21:36:06 1995
++++ Makefile.in Mon Oct 22 23:04:41 2001
+@@ -21,8 +21,8 @@
+
+ # Where to install uucico, uuxqt, uuchk and uuconv. If you use this
+ # definition, $(exec_prefix)/lib must exist.
+-sbindir = $(exec_prefix)/lib/uucp
+-#sbindir = $(exec_prefix)/libexec/uucp
++#sbindir = $(exec_prefix)/lib/uucp
++sbindir = $(exec_prefix)/libexec/uucp
+
+ # Where to install uucp, uux, uustat, uuname, uulog, uuto, uupick and
+ # cu.
+@@ -43,12 +43,13 @@
+ # The directory to look in for new style configuration files (when
+ # using HAVE_TAYLOR_CONFIG). Note that by default this is different
+ # from sbindir, unlike traditional UUCP packages.
+-newconfigdir = $(prefix)/conf/uucp
++newconfigdir = $(prefix)/etc/uucp
+ #newconfigdir = /etc/uucp
+
+ # The directory to look in for HDB (when using HAVE_HDB_CONFIG) or
+ # V2 (when using HAVE_V2_CONFIG) style configuration files.
+-oldconfigdir = /usr/lib/uucp
++#oldconfigdir = /usr/lib/uucp
++oldconfigdir = $(prefix)/etc/uucp/hdb
+
+ # If you don't want to compile tstuu, which requires BSD style ptys
+ # and the Taylor configuration files, comment out the following line
+@@ -145,12 +146,12 @@
+ if test -d $(bindir); then true; else mkdir $(bindir); fi
+ -if test -f $(sbindir)/uucico.old; then rm -f $(sbindir)/uucico; else mv $(sbindir)/uucico $(sbindir)/uucico.old; fi
+ -if test -f $(sbindir)/uuxqt.old; then rm -f $(sbindir)/uuxqt; else mv $(sbindir)/uuxqt $(sbindir)/uuxqt.old; fi
+- -if test -f $(sbindir)/uusched.old; then rm -f $(sbindir)/uusched; else mv $(sbindir)/uusched $(sbindir)/uusched.old; fi
++ -if test -f $(bindir)/uusched.old; then rm -f $(bindir)/uusched; else mv $(sbindir)/uusched $(bindir)/uusched.old; fi
+ $(INSTALL_PROGRAM) uucico $(sbindir)/uucico
+ $(INSTALL_PROGRAM) uuxqt $(sbindir)/uuxqt
+ $(INSTALL_PROGRAM) uuchk $(sbindir)/uuchk
+ $(INSTALL_PROGRAM) uuconv $(sbindir)/uuconv
+- $(INSTALL_PROGRAM) uusched $(sbindir)/uusched
++ $(INSTALL_SCRIPT) uusched $(bindir)/uusched
+ chown $(owner) $(sbindir)/uucico $(sbindir)/uuxqt
+ chmod 4555 $(sbindir)/uucico $(sbindir)/uuxqt
+ chown $(owner) $(sbindir)/uuchk $(sbindir)/uuconv
diff --git a/net/uucp/files/patch-dev b/net/uucp/files/patch-dev
new file mode 100644
index 000000000000..65de8d26d54a
--- /dev/null
+++ b/net/uucp/files/patch-dev
@@ -0,0 +1,300 @@
+--- contrib/tstout.c Wed Mar 4 23:15:24 1992
++++ contrib/tstout.c.new Sat Dec 9 10:35:30 2000
+@@ -36,7 +38,7 @@
+ char *z;
+
+ if (argc != 2
+- || strncmp (argv[1], "/dev/", sizeof "/dev/" - 1) != 0)
++ || strncmp (argv[1], _PATH_DEV, sizeof _PATH_DEV - 1) != 0)
+ {
+ fprintf (stderr, "Usage: tstout device\n");
+ exit (EXIT_FAILURE);
+--- unix/cohtty.c Sun Aug 20 21:30:13 1995
++++ unix/cohtty.c.new Sat Dec 9 10:35:30 2000
+@@ -29,6 +31,7 @@
+
+ #include <ctype.h>
+ #include <access.h>
++#include <paths.h>
+
+ /* fscoherent_disable_tty() is a COHERENT specific function. It takes the name
+ * of a serial device and then scans /etc/ttys for a match. If it finds one,
+@@ -139,9 +142,10 @@
+ x = ixswait ((unsigned long) ipid,
+ (const char *) NULL);
+ }
+- *pzenable = zbufalc (sizeof "/dev/"
++ *pzenable = zbufalc (sizeof _PATH_DEV
+ + strlen (enable_device));
+- sprintf(*pzenable,"/dev/%s", enable_device);
++ sprintf(*pzenable,"%s%s",_PATH_DEV,
++ enable_device);
+ /* ulog(LOG_NORMAL,"Enable string is {%s}",*pzenable); */
+ return TRUE;
+ }else{
+@@ -246,7 +250,7 @@
+ char resource[LOKFLEN];
+ char filename[LOKFLEN];
+
+- sprintf(filename, "/dev/%s", ttyn);
++ sprintf(filename, "%s%s", _PATH_DEV, ttyn);
+ if (NULL == gen_res_name(filename, resource)){
+ return(0); /* Non-existent tty can not be locked :-) */
+ }
+--- unix/cusub.c Sun Aug 20 21:30:15 1995
++++ unix/cusub.c.new Sat Dec 9 10:35:30 2000
+@@ -63,6 +63,7 @@
+ #endif /* ! defined (O_NONBLOCK) */
+
+ #include <errno.h>
++#include <paths.h>
+
+ /* 4.2 systems don't define SIGUSR2. This should work for them. On
+ systems which are missing SIGUSR1, or SIGURG, you must find two
+@@ -156,8 +157,8 @@
+ zfree = NULL;
+ if (*zline != '/')
+ {
+- zfree = zbufalc (sizeof "/dev/" + strlen (zline));
+- sprintf (zfree, "/dev/%s", zline);
++ zfree = zbufalc (sizeof _PATH_DEV + strlen (zline));
++ sprintf (zfree, "%s%s", _PATH_DEV, zline);
+ zline = zfree;
+ }
+
+@@ -188,14 +189,14 @@
+ zfree2 = NULL;
+ if (*zline != '/')
+ {
+- zfree1 = zbufalc (sizeof "/dev/" + strlen (zline));
+- sprintf (zfree1, "/dev/%s", zline);
++ zfree1 = zbufalc (sizeof _PATH_DEV + strlen (zline));
++ sprintf (zfree1, "%s%s", _PATH_DEV, zline);
+ zline = zfree1;
+ }
+ if (*zpline != '/')
+ {
+- zfree2 = zbufalc (sizeof "/dev/" + strlen (zpline));
+- sprintf (zfree2, "/dev/%s", zpline);
++ zfree2 = zbufalc (sizeof _PATH_DEV + strlen (zpline));
++ sprintf (zfree2, "%s%s", _PATH_DEV, zpline);
+ zpline = zfree2;
+ }
+
+--- unix/detach.c Sun Aug 20 21:30:16 1995
++++ unix/detach.c Sat Dec 9 10:35:30 2000
+@@ -30,6 +32,7 @@
+ #include "sysdep.h"
+
+ #include <errno.h>
++#include <paths.h>
+
+ #if HAVE_SYS_IOCTL_H
+ #include <sys/ioctl.h>
+@@ -123,7 +126,7 @@
+ {
+ int o;
+
+- o = open ((char *) "/dev/tty", O_RDONLY);
++ o = open ((char *) _PATH_TTY, O_RDONLY);
+ if (o >= 0)
+ {
+ (void) ioctl (o, TIOCNOTTY, (char *) NULL);
+@@ -137,10 +140,10 @@
+ (void) close (0);
+ (void) close (1);
+ (void) close (2);
+- if (open ((char *) "/dev/null", O_RDONLY) != 0
+- || open ((char *) "/dev/null", O_WRONLY) != 1
+- || open ((char *) "/dev/null", O_WRONLY) != 2)
+- ulog (LOG_FATAL, "open (/dev/null): %s", strerror (errno));
++ if (open ((char *) _PATH_DEVNULL, O_RDONLY) != 0
++ || open ((char *) _PATH_DEVNULL, O_WRONLY) != 1
++ || open ((char *) _PATH_DEVNULL, O_WRONLY) != 2)
++ ulog (LOG_FATAL, "open (%s): %s", _PATH_DEVNULL, strerror (errno));
+
+ #if HAVE_SETSID
+
+--- unix/init.c Sun Aug 20 21:30:24 1995
++++ unix/init.c.new Sat Dec 9 10:35:30 2000
+@@ -31,6 +33,7 @@
+ #include "sysdep.h"
+
+ #include <errno.h>
++#include <paths.h>
+ #include <pwd.h>
+
+ #if HAVE_FCNTL_H
+@@ -189,13 +192,13 @@
+
+ /* Make sure stdin, stdout and stderr are open. */
+ if (fcntl (0, F_GETFD, 0) < 0
+- && open ((char *) "/dev/null", O_RDONLY, 0) != 0)
++ && open ((char *) _PATH_DEVNULL, O_RDONLY, 0) != 0)
+ exit (EXIT_FAILURE);
+ if (fcntl (1, F_GETFD, 0) < 0
+- && open ((char *) "/dev/null", O_WRONLY, 0) != 1)
++ && open ((char *) _PATH_DEVNULL, O_WRONLY, 0) != 1)
+ exit (EXIT_FAILURE);
+ if (fcntl (2, F_GETFD, 0) < 0
+- && open ((char *) "/dev/null", O_WRONLY, 0) != 2)
++ && open ((char *) _PATH_DEVNULL, O_WRONLY, 0) != 2)
+ exit (EXIT_FAILURE);
+
+ iuuconf = uuconf_spooldir (puuconf, &zSspooldir);
+--- unix/portnm.c Sun Aug 20 21:30:33 1995
++++ unix/portnm.c.new Sat Dec 9 10:35:30 2000
+@@ -12,6 +14,7 @@
+ #endif
+ #include <sys/socket.h>
+ #endif
++#include <paths.h>
+
+ #ifndef ttyname
+ extern char *ttyname ();
+@@ -44,8 +47,8 @@
+ z = ttyname (0);
+ if (z == NULL)
+ return NULL;
+- if (strncmp (z, "/dev/", sizeof "/dev/" - 1) == 0)
+- return z + sizeof "/dev/" - 1;
++ if (strncmp (z, _PATH_DEV, sizeof _PATH_DEV - 1) == 0)
++ return z + sizeof _PATH_DEV - 1;
+ else
+ return z;
+ }
+--- unix/serial.c Sun Aug 20 21:30:38 1995
++++ unix/serial.c.new Sat Dec 9 10:35:30 2000
+@@ -37,6 +37,7 @@
+
+ #include <errno.h>
+ #include <ctype.h>
++#include <paths.h>
+
+ #if HAVE_SYS_PARAM_H
+ #include <sys/param.h>
+@@ -497,10 +498,10 @@
+ size_t clen;
+
+ clen = strlen (zdevice);
+- q->zdevice = zbufalc (sizeof "/dev/" + clen);
+- memcpy (q->zdevice, "/dev/", sizeof "/dev/" - 1);
+- memcpy (q->zdevice + sizeof "/dev/" - 1, zdevice, clen);
+- q->zdevice[sizeof "/dev/" + clen - 1] = '\0';
++ q->zdevice = zbufalc (sizeof _PATH_DEV + clen);
++ memcpy (q->zdevice, _PATH_DEV, sizeof _PATH_DEV - 1);
++ memcpy (q->zdevice + sizeof _PATH_DEV - 1, zdevice, clen);
++ q->zdevice[sizeof _PATH_DEV + clen - 1] = '\0';
+ }
+ q->o = -1;
+ q->ord = -1;
+@@ -519,7 +520,7 @@
+ {
+ /* chmod /dev/tty to prevent other users from writing messages to
+ it. This is essentially `mesg n'. */
+- (void) chmod ("/dev/tty", S_IRUSR | S_IWUSR);
++ (void) chmod (_PATH_TTY, S_IRUSR | S_IWUSR);
+ return fsserial_init (qconn, &sstdincmds, (const char *) NULL);
+ }
+
+@@ -920,6 +921,9 @@
+ #ifdef B115200
+ { B115200, 115200 },
+ #endif
++#ifdef B230400
++ { B230400, 230400 },
++#endif
+ { B0, 0 }
+ };
+
+@@ -956,8 +960,8 @@
+ #else
+ const char *z;
+
+- if (strncmp (q->zdevice, "/dev/", sizeof "/dev/" - 1) == 0)
+- z = q->zdevice + sizeof "/dev/" - 1;
++ if (strncmp (q->zdevice, _PATH_DEV, sizeof _PATH_DEV - 1) == 0)
++ z = q->zdevice + sizeof _PATH_DEV - 1;
+ else
+ z = q->zdevice;
+ ulog_device (z);
+@@ -1648,8 +1652,8 @@
+ zfree = NULL;
+ if (*z != '/')
+ {
+- zfree = zbufalc (sizeof "/dev/" + strlen (z));
+- sprintf (zfree, "/dev/%s", z);
++ zfree = zbufalc (sizeof _PATH_DEV + strlen (z));
++ sprintf (zfree, "%s%s", _PATH_DEV, z);
+ z = zfree;
+ }
+
+@@ -2371,7 +2375,7 @@
+ else
+ csleepchars = MAX_INPUT - 10;
+
+- isleep = (int) (((long) csleepchars * 10000L) / q->ibaud);
++ isleep = (int) (((long) csleepchars * 10000L) / (q->ibaud? q->ibaud: (long)1200));
+ isleep -= 10;
+
+ if (isleep > 10)
+@@ -2773,8 +2777,8 @@
+ / baud bits/sec)
+ * 10 bits/byte)
+ */
+- stime.tv_sec = (long) 10240 / q->ibaud;
+- stime.tv_usec = ((((long) 1024000000 / q->ibaud) * (long) 10)
++ stime.tv_sec = (long) 10240 / (q->ibaud? q->ibaud: (long)1200);
++ stime.tv_usec = ((((long) 1024000000 / (q->ibaud? q->ibaud: (long)1200)) * (long) 10)
+ % (long) 1000000);
+
+ imask = 1 << q->o;
+@@ -2846,7 +2850,7 @@
+ we don't need to use the catch stuff, since we know
+ that HAVE_RESTARTABLE_SYSCALLS is 0. */
+ usset_signal (SIGALRM, usalarm, TRUE, (boolean *) NULL);
+- alarm ((int) ((long) 10240 / q->ibaud) + 1);
++ alarm ((int) ((long) 10240 / (q->ibaud? q->ibaud: (long)1200)) + 1);
+
+ /* There is a race condition here: on a severely loaded
+ system, we could get the alarm before we start the
+--- unix/spawn.c Sun Aug 20 21:30:41 1995
++++ unix/spawn.c.new Sat Dec 9 10:35:30 2000
+@@ -29,6 +29,7 @@
+ #include "sysdep.h"
+
+ #include <errno.h>
++#include <paths.h>
+
+ #if HAVE_FCNTL_H
+ #include <fcntl.h>
+@@ -210,7 +213,7 @@
+ {
+ if (onull < 0)
+ {
+- onull = open ((char *) "/dev/null", O_RDWR);
++ onull = open ((char *) _PATH_DEVNULL, O_RDWR);
+ if (onull < 0
+ || fcntl (onull, F_SETFD,
+ fcntl (onull, F_GETFD, 0) | FD_CLOEXEC) < 0)
+--- unix/tli.c Sun Aug 20 21:30:46 1995
++++ unix/tli.c.new Sat Dec 9 10:35:30 2000
+@@ -38,6 +38,7 @@
+ #include "system.h"
+
+ #include <errno.h>
++#include <paths.h>
+
+ #if HAVE_SYS_IOCTL_H
+ #include <sys/ioctl.h>
+@@ -267,8 +268,8 @@
+ zfreedev = NULL;
+ if (*zdevice != '/')
+ {
+- zfreedev = zbufalc (sizeof "/dev/" + strlen (zdevice));
+- sprintf (zfreedev, "/dev/%s", zdevice);
++ zfreedev = zbufalc (sizeof _PATH_DEV + strlen (zdevice));
++ sprintf (zfreedev, "%s%s", _PATH_DEV, zdevice);
+ zdevice = zfreedev;
+ }
+
diff --git a/net/uucp/files/patch-format b/net/uucp/files/patch-format
new file mode 100644
index 000000000000..786f06802b6f
--- /dev/null
+++ b/net/uucp/files/patch-format
@@ -0,0 +1,25 @@
+--- uudefs.h Sun Aug 20 21:29:52 1995
++++ uudefs.h.new Sun Aug 2 16:35:35 1998
+@@ -287,7 +287,11 @@
+ #if ANSI_C && HAVE_VFPRINTF
+ extern void ulog P((enum tlog ttype, const char *zfmt, ...))
+ #if GNUC_VERSION > 1
++#ifdef __printf0like
++ __printf0like (2, 3)
++#else
+ __attribute__ ((format (printf, 2, 3)))
++#endif
+ #endif
+ ;
+ #else
+--- uuconv.c Sun Aug 20 21:29:45 1995
++++ uuconv.c.new Thu Jul 5 12:49:43 2001
+@@ -684,7 +684,7 @@
+ {
+ if ((*pz)[0] != '-' && pz != pzarg)
+ fprintf (e, " ");
+- fprintf (e, *pz);
++ fprintf (e, "%s", *pz);
+ }
+ }
+
diff --git a/net/uucp/files/patch-grade b/net/uucp/files/patch-grade
new file mode 100644
index 000000000000..779c8199a6e9
--- /dev/null
+++ b/net/uucp/files/patch-grade
@@ -0,0 +1,89 @@
+--- uucico.c.orig Mon Aug 21 13:28:23 1995
++++ uucico.c Mon Feb 22 21:04:40 1999
+@@ -126,6 +126,9 @@
+ struct sconnection *qconn;
+ };
+
++/* min. grade set on commandline */
++static char cmdlgrade = '\0';
++
+ /* Local functions. */
+
+ static void uusage P((void));
+@@ -176,6 +179,7 @@
+ { "nodetach", no_argument, NULL, 'D' },
+ { "loop", no_argument, NULL, 'e' },
+ { "force", no_argument, NULL, 'f'},
++ { "grade", required_argument, NULL, 'g'},
+ { "stdin", required_argument, NULL, 'i' },
+ { "prompt", no_argument, NULL, 'l' },
+ { "port", required_argument, NULL, 'p' },
+@@ -250,9 +254,9 @@
+ ++zProgram;
+
+ #if COHERENT_C_OPTION
+- zopts = "c:CDefi:I:lp:qr:s:S:u:x:X:vwz";
++ zopts = "c:CDefg:i:I:lp:qr:s:S:u:x:X:vwz";
+ #else
+- zopts = "cCDefi:I:lp:qr:s:S:u:x:X:vwz";
++ zopts = "cCDefg:i:I:lp:qr:s:S:u:x:X:vwz";
+ #endif
+
+ while ((iopt = getopt_long (argc, argv, zopts,
+@@ -293,6 +297,14 @@
+ failed call. */
+ fforce = TRUE;
+ break;
++
++ case 'g':
++ /* Force a grade */
++ if (isalpha(optarg[0]))
++ cmdlgrade = optarg[0];
++ else
++ fprintf (stderr, "%s: invalid grade \n", zProgram);
++ break;
+
+ case 'i':
+ /* Type of port to use for standard input. Only TLI is
+@@ -794,6 +806,7 @@
+ printf ("Usage: %s [options]\n", zProgram);
+ printf (" -s,-S,--system system: Call system (-S implies -f)\n");
+ printf (" -f,--force: Force call despite system status\n");
++ printf (" -g,--grade: limit outgoing call to a given grade\n");
+ printf (" -r state: 1 for master, 0 for slave (default)\n");
+ printf (" --master: Act as master\n");
+ printf (" --slave: Act as slave (default)\n");
+@@ -940,6 +953,9 @@
+ if (! qsys->uuconf_fcall || qsys->uuconf_qtimegrade == NULL)
+ continue;
+
++ if (qport && strcmp (qsys->uuconf_zport,qport->uuconf_zname))
++ continue;
++
+ fnevertime = FALSE;
+
+ /* Make sure this is a legal time to call. */
+@@ -1331,12 +1347,18 @@
+ boolean fret;
+
+ /* Determine the grade we should request of the other system. A
+- '\0' means that no restrictions have been made. */
+- if (! ftimespan_match (qsys->uuconf_qcalltimegrade, &ival,
+- (int *) NULL))
+- bgrade = '\0';
++ '\0' means that no restrictions have been made.
++ If a grade is set on the command line, the calltimegrade-value
++ is overwritten. */
++
++ if (cmdlgrade != '\0')
++ bgrade = cmdlgrade;
+ else
+- bgrade = (char) ival;
++ if (! ftimespan_match (qsys->uuconf_qcalltimegrade, &ival,
++ (int *) NULL))
++ bgrade = '\0';
++ else
++ bgrade = (char) ival;
+
+ /* Determine the name we will call ourselves. */
+ if (qsys->uuconf_zlocalname != NULL)
diff --git a/net/uucp/files/patch-ipv6 b/net/uucp/files/patch-ipv6
new file mode 100644
index 000000000000..0e68d1ff2558
--- /dev/null
+++ b/net/uucp/files/patch-ipv6
@@ -0,0 +1,484 @@
+--- config.h.in Mon Oct 22 20:54:46 2001
++++ config.h.in.new Thu May 25 18:38:15 2000
+@@ -217,6 +219,9 @@
+ is on AIX. */
+ #define HAVE_TXADDCD 0
+
++/* Set HAVE_SOCKADDR_SA_LEN to 1 if struct sockaddr has sa_len member. */
++#define HAVE_SOCKADDR_SA_LEN 1
++
+ /* There are now a number of functions to check for. For each of
+ these, the macro HAVE_FUNC should be set to 1 if your system has
+ FUNC. For example, HAVE_VFPRINTF should be set to 1 if your system
+@@ -288,6 +293,10 @@
+ #define HAVE_STRRCHR 1
+ #define HAVE_RINDEX 1
+
++/* If neither of these functions exists, you should add getaddrinfo.o to
++ lib/Makefile. */
++#define HAVE_GETADDRINFO 1
++
+ /* There are also Unix specific functions which are replaced in the
+ subdirectory unix. If they are missing, the configure script will
+ automatically add them to unix/Makefile to force them to be
+--- uuconf.h Sun Aug 20 21:29:44 1995
++++ uuconf.h.new Thu May 25 18:38:15 2000
+@@ -417,6 +419,8 @@
+ /* The TCP port number to use. May be a name or a number. May be
+ NULL, in which case "uucp" is looked up using getservbyname. */
+ char *uuconf_zport;
++ /* Address family to use for a TCP connection. */
++ int uuconf_zfamily;
+ /* A NULL terminated sequence of dialer/token pairs (element 0 is a
+ dialer name, element 1 is a token, etc.) May be NULL. */
+ char **uuconf_pzdialer;
+--- uuconf/hport.c Sun Aug 20 21:31:08 1995
++++ uuconf/hport.c.in Thu May 25 18:38:21 2000
+@@ -29,6 +29,7 @@
+ const char _uuconf_hport_rcsid[] = "$Id: hport.c,v 1.14 1995/06/21 19:22:58 ian Rel $";
+ #endif
+
++#include <sys/socket.h>
+ #include <errno.h>
+ #include <ctype.h>
+
+@@ -217,6 +218,19 @@
+ | UUCONF_RELIABLE_EIGHT | UUCONF_RELIABLE_FULLDUPLEX
+ | UUCONF_RELIABLE_SPECIFIED);
+ qport->uuconf_u.uuconf_stcp.uuconf_zport = pzsplit[1];
++
++ /* I leave with IPv4 only for compatibility reason. If
++ you wish to use IPv6, please try Taylor UUCP
++ configuration instead. If you still wish to use IPv6
++ with HDB configuration, re-make with INET6 defined.
++ In this case, you cannot specify the protocol family
++ in HDB configuration file. */
++#ifdef INET6
++ qport->uuconf_u.uuconf_stcp.uuconf_zfamily = PF_UNSPEC;
++#else
++ qport->uuconf_u.uuconf_stcp.uuconf_zfamily = PF_INET;
++#endif
++
+ ppzdialer = &qport->uuconf_u.uuconf_stcp.uuconf_pzdialer;
+ }
+ else if (ctoks >= 5
+--- unix/tcp.c Sun Aug 20 21:30:45 1995
++++ unix/tcp.c.new Thu May 25 18:38:21 2000
+@@ -63,7 +63,7 @@
+ interface. */
+
+ /* The normal "uucp" port number. */
+-#define IUUCP_PORT (540)
++#define IUUCP_PORT "540"
+
+ /* Local functions. */
+ static void utcp_free P((struct sconnection *qconn));
+@@ -78,7 +78,9 @@
+ const char *zphone,
+ struct uuconf_dialer *qdialer,
+ enum tdialerfound *ptdialer));
+-static int itcp_port_number P((const char *zport));
++static int itcp_getaddrinfo P((const char *zhost, const char *zport,
++ const struct addrinfo *hints,
++ struct addrinfo **res));
+
+ /* The command table for a TCP connection. */
+ static const struct sconncmds stcpcmds =
+@@ -131,34 +133,13 @@
+ {
+ xfree (qconn->psysdep);
+ }
+-
+-/* Open a TCP connection. If the fwait argument is TRUE, we are
+- running as a server. Otherwise we are just trying to reach another
+- system. */
+
+ static boolean
+-ftcp_open (qconn, ibaud, fwait)
+- struct sconnection *qconn;
+- long ibaud;
+- boolean fwait;
++utcp_init (qsysdep)
++ struct ssysdep_conn *qsysdep;
+ {
+- struct ssysdep_conn *qsysdep;
+- struct sockaddr_in s;
+- const char *zport;
+- uid_t ieuid;
+- boolean fswap;
+-
+- ulog_device ("TCP");
+-
+- qsysdep = (struct ssysdep_conn *) qconn->psysdep;
+-
+- qsysdep->o = socket (AF_INET, SOCK_STREAM, 0);
+- if (qsysdep->o < 0)
+- {
+- ulog (LOG_ERROR, "socket: %s", strerror (errno));
+- return FALSE;
+- }
+-
++ if (!qsysdep)
++ return FALSE;
+ if (fcntl (qsysdep->o, F_SETFD,
+ fcntl (qsysdep->o, F_GETFD, 0) | FD_CLOEXEC) < 0)
+ {
+@@ -176,6 +157,32 @@
+ qsysdep->o = -1;
+ return FALSE;
+ }
++}
++
++/* Open a TCP connection. If the fwait argument is TRUE, we are
++ running as a server. Otherwise we are just trying to reach another
++ system. */
++
++static boolean
++ftcp_open (qconn, ibaud, fwait)
++ struct sconnection *qconn;
++ long ibaud;
++ boolean fwait;
++{
++ struct ssysdep_conn *qsysdep;
++ struct addrinfo hints, *res, *res0;
++ struct sockaddr_storage s;
++ const char *zport;
++ int zfamily;
++ uid_t ieuid;
++ boolean fswap;
++ int err;
++
++ ulog_device ("TCP");
++
++ qsysdep = (struct ssysdep_conn *) qconn->psysdep;
++
++ qsysdep->o = -1;
+
+ /* We save our process ID in the qconn structure. This is checked
+ in ftcp_close. */
+@@ -190,11 +197,68 @@
+ From this point on if the server gets an error we exit; we only
+ return if we have received a connection. It would be more robust
+ to respawn the server if it fails; someday. */
+- bzero ((pointer) &s, sizeof s);
+- s.sin_family = AF_INET;
+ zport = qconn->qport->uuconf_u.uuconf_stcp.uuconf_zport;
+- s.sin_port = itcp_port_number (zport);
+- s.sin_addr.s_addr = htonl (INADDR_ANY);
++ zfamily = qconn->qport->uuconf_u.uuconf_stcp.uuconf_zfamily;
++ memset (&hints, 0, sizeof(hints));
++ hints.ai_family = zfamily;
++ hints.ai_socktype = SOCK_STREAM;
++ hints.ai_flags = AI_PASSIVE;
++ if ((err = itcp_getaddrinfo (NULL, zport, &hints, &res0)) != 0)
++ {
++ ulog (LOG_ERROR, "getaddrinfo (NULL, %s): %s",
++ zport, gai_strerror (err));
++ return FALSE;
++ }
++#if HAVE_GETADDRINFO
++ if (zfamily == PF_UNSPEC)
++ {
++ for (res = res0; res; res = res->ai_next)
++ {
++ if (res->ai_family == AF_INET6)
++ {
++ qsysdep->o = socket (res->ai_family, res->ai_socktype,
++ res->ai_protocol);
++ if (qsysdep->o >= 0)
++ break;
++ }
++ }
++ }
++#endif
++ if (qsysdep->o < 0)
++ {
++ for (res = res0; res; res = res->ai_next)
++ {
++ qsysdep->o = socket (res->ai_family, res->ai_socktype,
++ res->ai_protocol);
++ if (qsysdep->o >= 0)
++ break;
++ }
++ if (qsysdep->o < 0)
++ {
++ freeaddrinfo (res);
++ ulog (LOG_ERROR, "socket: %s", strerror (errno));
++ return FALSE;
++ }
++ }
++#ifdef IPV6_BINDV6ONLY
++ if (res->ai_family == AF_INET6)
++ {
++ int flag = (zfamily == PF_UNSPEC) ? 0 : 1;
++
++ if (setsockopt (qsysdep->o, IPPROTO_IPV6, IPV6_BINDV6ONLY,
++ (char *)&flag, sizeof (flag)) < 0)
++ {
++ freeaddrinfo (res);
++ ulog (LOG_FATAL, "setsockopt: %s", strerror (errno));
++ return FALSE;
++ }
++ }
++#endif
++ if (!utcp_init (qsysdep))
++ {
++ freeaddrinfo (res);
++ return FALSE;
++ }
+
+ /* Swap to our real user ID when doing the bind call. This will
+ permit the server to use privileged TCP ports when invoked by
+@@ -208,16 +272,19 @@
+ {
+ (void) close (qsysdep->o);
+ qsysdep->o = -1;
++ freeaddrinfo (res);
+ return FALSE;
+ }
+ }
+
+- if (bind (qsysdep->o, (struct sockaddr *) &s, sizeof s) < 0)
++ if (bind (qsysdep->o, res->ai_addr, res->ai_addrlen) < 0)
+ {
++ freeaddrinfo (res);
+ if (fswap)
+ (void) fsuucp_perms ((long) ieuid);
+ ulog (LOG_FATAL, "bind: %s", strerror (errno));
+ }
++ freeaddrinfo (res);
+
+ /* Now swap back to the uucp user ID. */
+ if (fswap)
+@@ -333,8 +400,8 @@
+ {
+ struct ssysdep_conn *qsysdep;
+ const char *zhost;
+- struct hostent *q;
+- struct sockaddr_in s;
++ struct addrinfo hints, *res, *res0;
++ int err, connected = FALSE;
+ const char *zport;
+ char **pzdialer;
+
+@@ -354,37 +421,38 @@
+ }
+
+ errno = 0;
+- q = gethostbyname ((char *) zhost);
+- if (q != NULL)
++ zport = qconn->qport->uuconf_u.uuconf_stcp.uuconf_zport;
++ memset (&hints, 0, sizeof(hints));
++ hints.ai_family = qconn->qport->uuconf_u.uuconf_stcp.uuconf_zfamily;
++ hints.ai_socktype = SOCK_STREAM;
++ hints.ai_protocol = 0;
++ if ((err = itcp_getaddrinfo (zhost, zport, &hints, &res0)) != 0)
+ {
+- s.sin_family = q->h_addrtype;
+- memcpy (&s.sin_addr.s_addr, q->h_addr, (size_t) q->h_length);
++ ulog (LOG_ERROR, "getaddrinfo (%s, %s): %s",
++ zhost, zport, gai_strerror (err));
++ return FALSE;
+ }
+- else
+- {
+- if (errno != 0)
+- {
+- ulog (LOG_ERROR, "gethostbyname (%s): %s", zhost, strerror (errno));
+- return FALSE;
+- }
+
+- s.sin_family = AF_INET;
+- s.sin_addr.s_addr = inet_addr ((char *) zhost);
+- if ((long) s.sin_addr.s_addr == (long) -1)
+- {
+- ulog (LOG_ERROR, "%s: unknown host name", zhost);
+- return FALSE;
++ for (res = res0; res; res = res->ai_next)
++ {
++ qsysdep->o = socket (res->ai_family, res->ai_socktype, res->ai_protocol);
++ if (qsysdep->o < 0)
++ continue;
++ if (connect (qsysdep->o, res->ai_addr, res->ai_addrlen) >= 0)
++ {
++ connected = TRUE;
++ break;
+ }
++ close (qsysdep->o);
+ }
+-
+- zport = qconn->qport->uuconf_u.uuconf_stcp.uuconf_zport;
+- s.sin_port = itcp_port_number (zport);
+-
+- if (connect (qsysdep->o, (struct sockaddr *) &s, sizeof s) < 0)
++ freeaddrinfo (res0);
++ if (!connected)
+ {
+ ulog (LOG_ERROR, "connect: %s", strerror (errno));
+ return FALSE;
+ }
++ if (!utcp_init (qsysdep))
++ return FALSE;
+
+ /* Handle the dialer sequence, if any. */
+ pzdialer = qconn->qport->uuconf_u.uuconf_stcp.uuconf_pzdialer;
+@@ -398,47 +466,18 @@
+ return TRUE;
+ }
+
+-/* Get the port number given a name. The argument will almost always
+- be "uucp" so we cache that value. The return value is always in
+- network byte order. This returns -1 on error. */
+-
+ static int
+-itcp_port_number (zname)
+- const char *zname;
++itcp_getaddrinfo (zhost, zport, hints, res)
++ const char *zhost, *zport;
++ const struct addrinfo *hints;
++ struct addrinfo **res;
+ {
+- boolean fuucp;
+- static int iuucp;
+- int i;
+- char *zend;
+- struct servent *q;
+-
+- fuucp = strcmp (zname, "uucp") == 0;
+- if (fuucp && iuucp != 0)
+- return iuucp;
+-
+- /* Try it as a number first. */
+- i = strtol ((char *) zname, &zend, 10);
+- if (i != 0 && *zend == '\0')
+- return htons (i);
+-
+- q = getservbyname ((char *) zname, (char *) "tcp");
+- if (q == NULL)
+- {
+- /* We know that the "uucp" service should be 540, even if isn't
+- in /etc/services. */
+- if (fuucp)
+- {
+- iuucp = htons (IUUCP_PORT);
+- return iuucp;
+- }
+- ulog (LOG_ERROR, "getservbyname (%s): %s", zname, strerror (errno));
+- return -1;
+- }
+-
+- if (fuucp)
+- iuucp = q->s_port;
++ int err;
+
+- return q->s_port;
++ if ((err = getaddrinfo (zhost, zport, hints, res)) != EAI_SERVICE ||
++ strcmp(zport, "uucp") != 0)
++ return err;
++ return getaddrinfo (zhost, IUUCP_PORT, hints, res);
+ }
+
+ #endif /* HAVE_TCP */
+--- uuconf/tportc.c Sun Aug 20 21:31:23 1995
++++ uuconf/tportc.c.new Thu May 25 18:38:22 2000
+@@ -29,6 +29,7 @@
+ const char _uuconf_tportc_rcsid[] = "$Id: tportc.c,v 1.14 1995/06/21 19:24:52 ian Rel $";
+ #endif
+
++#include <sys/socket.h>
+ #include <errno.h>
+
+ static int ipproto_param P((pointer pglobal, int argc, char **argv,
+@@ -37,6 +38,8 @@
+ pointer pvar, pointer pinfo));
+ static int ipdialer P((pointer pglobal, int argc, char **argv, pointer pvar,
+ pointer pinfo));
++static int ipfamily P((pointer pglobal, int argc, char **argv, pointer pvar,
++ pointer pinfo));
+ static int ipcunknown P((pointer pglobal, int argc, char **argv,
+ pointer pvar, pointer pinfo));
+
+@@ -151,6 +154,9 @@
+ { "service", UUCONF_CMDTABTYPE_STRING,
+ offsetof (struct uuconf_port, uuconf_u.uuconf_stcp.uuconf_zport),
+ NULL },
++ { "family", UUCONF_CMDTABTYPE_FN | 0,
++ offsetof (struct uuconf_port, uuconf_u.uuconf_stcp.uuconf_zfamily),
++ ipfamily },
+ { "dialer-sequence", UUCONF_CMDTABTYPE_FULLSTRING,
+ offsetof (struct uuconf_port, uuconf_u.uuconf_stcp.uuconf_pzdialer),
+ NULL },
+@@ -279,6 +285,7 @@
+ break;
+ case UUCONF_PORTTYPE_TCP:
+ qport->uuconf_u.uuconf_stcp.uuconf_zport = (char *) "uucp";
++ qport->uuconf_u.uuconf_stcp.uuconf_zfamily = PF_UNSPEC;
+ qport->uuconf_u.uuconf_stcp.uuconf_pzdialer = NULL;
+ qport->uuconf_ireliable = (UUCONF_RELIABLE_SPECIFIED
+ | UUCONF_RELIABLE_ENDTOEND
+@@ -488,6 +495,35 @@
+ iret |= UUCONF_CMDTABRET_EXIT;
+ return iret;
+ }
++}
++
++/* Handle a "family" commands. The first argument is "inet" for
++ PF_INET or "inet6" for PF_INET6 */
++
++/*ARGSUSED*/
++static int
++ipfamily (pglobal, argc, argv, pvar, pinfo)
++ pointer pglobal;
++ int argc;
++ char **argv;
++ pointer pvar;
++ pointer pinfo;
++{
++ int *pzfamily = (int *) pvar;
++
++ if (argc < 2)
++ return UUCONF_SYNTAX_ERROR | UUCONF_CMDTABRET_EXIT;
++ if (!strcmp(argv[1], "inet"))
++ *pzfamily = PF_INET;
++#if HAVE_GETADDRINFO
++ else if (!strcmp(argv[1], "inet6"))
++ *pzfamily = PF_INET6;
++#endif
++ else if (!strcmp(argv[1], "inet46"))
++ *pzfamily = PF_UNSPEC;
++ else
++ return UUCONF_SYNTAX_ERROR | UUCONF_CMDTABRET_EXIT;
++ return UUCONF_CMDTABRET_KEEP;
+ }
+
+ /* Give an error for an unknown port command. */
+--- uuconf/vsinfo.c Sun Aug 20 21:31:29 1995
++++ uuconf/vsinfo.c.new Thu May 25 18:38:22 2000
+@@ -29,6 +29,7 @@
+ const char _uuconf_vsinfo_rcsid[] = "$Id: vsinfo.c,v 1.14 1995/06/21 19:25:24 ian Rel $";
+ #endif
+
++#include <sys/socket.h>
+ #include <errno.h>
+ #include <ctype.h>
+
+@@ -271,6 +272,19 @@
+ else
+ qset->uuconf_qport->uuconf_u.uuconf_stcp.uuconf_zport
+ = pzsplit[3];
++
++ /* I leave with IPv4 only for compatibility reason. If you
++ wish to use IPv6, please try Taylor UUCP configuration
++ instead. If you still wish to use IPv6 with V2
++ configuration, re-make with INET6 defined. In this case,
++ you cannot specify the protocol family in V2
++ configuration file. */
++#ifdef INET6
++ qset->uuconf_qport->uuconf_u.uuconf_stcp.uuconf_zfamily = PF_UNSPEC;
++#else
++ qset->uuconf_qport->uuconf_u.uuconf_stcp.uuconf_zfamily = PF_INET;
++#endif
++
+ qset->uuconf_qport->uuconf_u.uuconf_stcp.uuconf_pzdialer = NULL;
+ }
+
diff --git a/net/uucp/files/patch-man b/net/uucp/files/patch-man
new file mode 100644
index 000000000000..ec6a625d2f01
--- /dev/null
+++ b/net/uucp/files/patch-man
@@ -0,0 +1,212 @@
+--- cu.1 Sun Aug 20 21:29:24 1995
++++ cu.1.new Thu Jul 12 14:34:55 2001
+@@ -304,7 +305,7 @@
+ approximation.
+
+ .br
+-/usr/lib/uucp/config - Configuration file.
++/etc/uucp/config - Configuration file.
+ .SH AUTHOR
+ Ian Lance Taylor
+ <ian@airs.com>
+--- uucico.8 Sun Aug 20 21:29:42 1995
++++ uucico.8.new Thu Jul 12 14:34:56 2001
+@@ -250,7 +251,7 @@
+ .B \-\-debug abnormal,chat.
+
+ The debugging output is sent to the debugging file, usually one of
+-/usr/spool/uucp/Debug, /usr/spool/uucp/DEBUG, or
++/var/spool/uucp/Debug, /usr/spool/uucp/DEBUG, or
+ /usr/spool/uucp/.Admin/audit.local.
+ .TP 5
+ .B \-I file, \-\-config file
+@@ -269,20 +270,20 @@
+ configuration file, so these are only approximations.
+
+ .br
+-/usr/lib/uucp/config - Configuration file.
++/etc/uucp/config - Configuration file.
+ .br
+-/usr/lib/uucp/passwd - Default UUCP password file.
++/etc/uucp/passwd - Default UUCP password file.
+ .br
+-/usr/spool/uucp -
++/var/spool/uucp -
+ UUCP spool directory.
+ .br
+-/usr/spool/uucp/Log -
++/var/spool/uucp/Log -
+ UUCP log file.
+ .br
+-/usr/spool/uucppublic -
++/var/spool/uucppublic -
+ Default UUCP public directory.
+ .br
+-/usr/spool/uucp/Debug -
++/var/spool/uucp/Debug -
+ Debugging file.
+ .SH SEE ALSO
+ kill(1), uucp(1), uux(1), uustat(1), uuxqt(8)
+--- uucp.1 Sun Aug 20 21:29:46 1995
++++ uucp.1.new Thu Jul 12 14:34:57 2001
+@@ -181,15 +182,15 @@
+ configuration file, so these are only approximations.
+
+ .br
+-/usr/lib/uucp/config - Configuration file.
++/etc/uucp/config - Configuration file.
+ .br
+-/usr/spool/uucp -
++/var/spool/uucp -
+ UUCP spool directory.
+ .br
+-/usr/spool/uucp/Log -
++/var/spool/uucp/Log -
+ UUCP log file.
+ .br
+-/usr/spool/uucppublic -
++/var/spool/uucppublic -
+ Default UUCP public directory.
+ .SH SEE ALSO
+ mail(1), uux(1), uustat(1), uucico(8)
+--- uucp.texi Sun Aug 20 21:29:51 1995
++++ uucp.texi.new Thu May 25 18:38:17 2000
+@@ -5204,6 +5207,13 @@
+ found, port number 540 (the standard UUCP-over-TCP port number) will be
+ used.
+
++@item family @var{string} [ tcp only ]
++@findex family
++
++Name the protocol family to use. Available value is @samp{inet} for
++IPv4 only, @samp{inet6} for IPv6 only, or @samp{inet46} for both IPv4
++and IPv6. The default is @samp{inet46}.
++
+ @item push @var{strings} [ tli only ]
+ @findex push
+
+@@ -5474,7 +5484,12 @@
+ @samp{uucp} in @file{/etc/services}; if the @samp{uucp} service is not
+ defined, port 540 will be used. You can set the port number to use with
+ the command @samp{port service @var{xxx}}, where @var{xxx} can be either
+-a number or a name to look up in @file{/etc/services}. You can specify
++a number or a name to look up in @file{/etc/services}. By default UUCP
++will determine the protocol family by querying DNS; if the AAAA record
++is found, IPv6 will be used, and if not found, IPv4 will be used. You
++can set the protocol family to use with the command @samp{port family
++@var{xxx}}, where @var{xxx} can be @samp{inet} for IPv4 only,
++@samp{inet6} for IPv6 only or @samp{inet46} for both. You can specify
+ the address of the remote host with @samp{address @var{a.b.c}}; if you
+ don't give an address, the remote system name will be used. You should
+ give an explicit chat script for the system when you use TCP; the
+@@ -5506,6 +5521,10 @@
+ in @file{/etc/services}; this may be specified as a number), using
+ remote host @file{@var{host}.@var{domain}}, with some chat script.
+
++@samp{port family @var{xxx}} command is not supported by V2
++configuration files or HDB configuration files. So, with these
++configuration files, IPv6 is disabled for compatibility reason.
++
+ @node TCP Server, , TCP Client, UUCP Over TCP
+ @subsection Running a TCP Server
+
+@@ -5525,6 +5544,15 @@
+ and @samp{Password:}; the results will be checked against the UUCP (not
+ the system) password file (@pxref{Configuration File Names}).
+
++By default UUCP will listen on both IPv4 and IPv6. You can set the
++protocol family to listen with the command @samp{port family @var{xxx}},
++where @var{xxx} can be @samp{inet} for IPv4 only, @samp{inet6} for IPv6
++only or @samp{inet46} for both IPv4 and IPv6.
++
++@samp{port family @var{xxx}} command is not supported by V2
++configuration files or HDB configuration files. So, with these
++configuration files, IPv6 is disabled for compatibility reason.
++
+ Another way to run a UUCP TCP server is to use the BSD @code{uucpd}
+ program.
+
+--- uustat.1 Sun Aug 20 21:29:55 1995
++++ uustat.1.new Thu Jul 12 14:34:59 2001
+@@ -540,12 +541,12 @@
+ configuration file, so these are only approximations.
+
+ .br
+-/usr/lib/uucp/config - Configuration file.
++/etc/uucp/config - Configuration file.
+ .br
+-/usr/spool/uucp -
++/var/spool/uucp -
+ UUCP spool directory.
+ .SH SEE ALSO
+-ps(1), rmail(1), uucp(1), uux(1), uucico(8), uuxqt(8)
++ps(1), rmail(8), uucp(1), uux(1), uucico(8), uuxqt(8)
+ .SH AUTHOR
+ Ian Lance Taylor
+ (ian@airs.com)
+--- uux.1 Sun Aug 20 21:29:57 1995
++++ uux.1.new Thu Jul 12 14:35:00 2001
+@@ -40,7 +41,7 @@
+ not absolute, it will be appended to the current working directory on
+ the local system; the result may not be meaningful on the remote
+ system. A pathname may begin with ~/, in which case it is relative to
+-the UUCP public directory (usually /usr/spool/uucppublic) on the
++the UUCP public directory (usually /var/spool/uucppublic) on the
+ appropriate system. A pathname may begin with ~name/, in which case
+ it is relative to the home directory of the named user on the
+ appropriate system.
+@@ -231,15 +232,15 @@
+ configuration file, so these are only approximations.
+
+ .br
+-/usr/lib/uucp/config - Configuration file.
++/etc/uucp/config - Configuration file.
+ .br
+-/usr/spool/uucp -
++/var/spool/uucp -
+ UUCP spool directory.
+ .br
+-/usr/spool/uucp/Log -
++/var/spool/uucp/Log -
+ UUCP log file.
+ .br
+-/usr/spool/uucppublic -
++/var/spool/uucppublic -
+ Default UUCP public directory.
+ .SH SEE ALSO
+ mail(1), uustat(1), uucp(1), uucico(8), uuxqt(8)
+--- uuxqt.8 Sun Aug 20 21:29:58 1995
++++ uuxqt.8.new Thu Jul 12 14:35:00 2001
+@@ -64,7 +65,7 @@
+ .B \-\-debug abnormal,chat.
+
+ The debugging output is sent to the debugging file, usually one of
+-/usr/spool/uucp/Debug, /usr/spool/uucp/DEBUG, or
++/var/spool/uucp/Debug, /usr/spool/uucp/DEBUG, or
+ /usr/spool/uucp/.Admin/audit.local.
+ .TP 5
+ .B \-I file, \-\-config
+@@ -83,18 +84,18 @@
+ configuration file, so these are only approximations.
+
+ .br
+-/usr/lib/uucp/config - Configuration file.
++/etc/uucp/config - Configuration file.
+ .br
+-/usr/spool/uucp -
++/var/spool/uucp -
+ UUCP spool directory.
+ .br
+-/usr/spool/uucp/Log -
++/var/spool/uucp/Log -
+ UUCP log file.
+ .br
+-/usr/spool/uucppublic -
++/var/spool/uucppublic -
+ Default UUCP public directory.
+ .br
+-/usr/spool/uucp/Debug -
++/var/spool/uucp/Debug -
+ Debugging file.
+ .SH SEE ALSO
+ uucp(1), uux(1), uucico(8)
diff --git a/net/uucp/files/patch-policy b/net/uucp/files/patch-policy
new file mode 100644
index 000000000000..260dd4371f0d
--- /dev/null
+++ b/net/uucp/files/patch-policy
@@ -0,0 +1,128 @@
+--- policy.h Sun Aug 20 21:36:06 1995
++++ policy.h.new Mon Oct 22 08:47:33 2001
+@@ -65,7 +65,7 @@
+ */
+ #define HAVE_BSD_TTY 0
+ #define HAVE_SYSV_TERMIO 0
+-#define HAVE_POSIX_TERMIOS 0
++#define HAVE_POSIX_TERMIOS 1
+
+ /* This code tries to guess which terminal driver to use if you did
+ not make a choice above. It is in this file to make it easy to
+@@ -105,7 +105,7 @@
+ set to 0 when it should be 1, file transfer will use more CPU time
+ than necessary. If you are unsure, setting HAVE_UNBLOCKED_WRITES
+ to 0 should always be safe. */
+-#define HAVE_UNBLOCKED_WRITES 0
++#define HAVE_UNBLOCKED_WRITES 1
+
+ /* When the code does do a blocking write, it wants to write the
+ largest amount of data which the kernel will accept as a single
+@@ -118,7 +118,7 @@
+ SINGLE_WRITE is too small, file transfer will use more CPU time
+ than necessary. If you have no idea, 64 should work on most modern
+ systems. */
+-#define SINGLE_WRITE 64
++#define SINGLE_WRITE 100
+
+ /* Some tty drivers, such as those from SCO and AT&T's Unix PC, have a
+ bug in the implementation of ioctl() that causes CLOCAL to be
+@@ -203,7 +203,7 @@
+ HAVE_SAVED_SETUID to 1, but your system does not have saved set
+ user ID, uucp will fail with an error message whenever anybody
+ other than the uucp user uses it. */
+-#define HAVE_SAVED_SETUID 1
++#define HAVE_SAVED_SETUID 0
+
+ /* On some systems, such as 4.4BSD-Lite, NetBSD, the DG Aviion and,
+ possibly, the RS/6000, the setreuid function is broken. It should
+@@ -241,7 +241,7 @@
+ the sendmail choice below. Otherwise, select one of the other
+ choices as appropriate. */
+ #if 1
+-#define MAIL_PROGRAM "/usr/lib/sendmail -t"
++#define MAIL_PROGRAM "/usr/sbin/sendmail -t"
+ #define MAIL_PROGRAM_TO_BODY 1
+ #define MAIL_PROGRAM_SUBJECT_BODY 1
+ #endif
+@@ -301,7 +301,7 @@
+ /* #define LOCKDIR "/etc/locks" */
+ /* #define LOCKDIR "/usr/spool/locks" */
+ /* #define LOCKDIR "/usr/spool/uucp/LCK" */
+-/* #define LOCKDIR "/var/spool/lock" */
++#define LOCKDIR "/var/spool/lock"
+
+ /* You must also specify the format of the lock files by setting
+ exactly one of the following macros to 1. Check an existing lock
+@@ -348,7 +348,7 @@
+ The format for QNX lock files was made up just for Taylor UUCP.
+ QNX doesn't come with a version of UUCP. */
+ #define HAVE_V2_LOCKFILES 0
+-#define HAVE_HDB_LOCKFILES 0
++#define HAVE_HDB_LOCKFILES 1
+ #define HAVE_SCO_LOCKFILES 0
+ #define HAVE_SVR4_LOCKFILES 0
+ #define HAVE_SEQUENT_LOCKFILES 0
+@@ -466,7 +466,7 @@
+ configuration files will be read first, followed by the V2
+ configuration files, followed by the HDB configuration files. */
+ #define HAVE_V2_CONFIG 0
+-#define HAVE_HDB_CONFIG 0
++#define HAVE_HDB_CONFIG 1
+
+ /* Exactly one of the following macros must be set to 1. The exact
+ format of the spool directories is explained in unix/spool.c.
+@@ -566,21 +566,21 @@
+ exist when a new message is written out, it will be created.
+ Setting CLOSE_LOGFILES to 1 will obviously require slightly more
+ processing time. */
+-#define CLOSE_LOGFILES 0
++#define CLOSE_LOGFILES 1
+
+ /* The name of the default spool directory. If HAVE_TAYLOR_CONFIG is
+ set to 1, this may be overridden by the ``spool'' command in the
+ configuration file. */
+-#define SPOOLDIR "/usr/spool/uucp"
+-/* #define SPOOLDIR "/var/spool/uucp" */
++/* #define SPOOLDIR "/usr/spool/uucp" */
++#define SPOOLDIR "/var/spool/uucp"
+
+ /* The name of the default public directory. If HAVE_TAYLOR_CONFIG is
+ set to 1, this may be overridden by the ``pubdir'' command in the
+ configuration file. Also, a particular system may be given a
+ specific public directory by using the ``pubdir'' command in the
+ system file. */
+-#define PUBDIR "/usr/spool/uucppublic"
+-/* #define PUBDIR "/var/spool/uucppublic" */
++/* #define PUBDIR "/usr/spool/uucppublic" */
++#define PUBDIR "/var/spool/uucppublic"
+
+ /* The default command path. This is a space separated list of
+ directories. Remote command executions requested by uux are looked
+@@ -643,20 +643,20 @@
+ /* The default log file when using HAVE_TAYLOR_LOGGING. When using
+ HAVE_TAYLOR_CONFIG, this may be overridden by the ``logfile''
+ command in the configuration file. */
+-#define LOGFILE "/usr/spool/uucp/Log"
+-/* #define LOGFILE "/var/spool/uucp/Log" */
++/* #define LOGFILE "/usr/spool/uucp/Log" */
++#define LOGFILE "/var/spool/uucp/Log"
+
+ /* The default statistics file when using HAVE_TAYLOR_LOGGING. When
+ using HAVE_TAYLOR_CONFIG, this may be overridden by the
+ ``statfile'' command in the configuration file. */
+-#define STATFILE "/usr/spool/uucp/Stats"
+-/* #define STATFILE "/var/spool/uucp/Stats" */
++/* #define STATFILE "/usr/spool/uucp/Stats" */
++#define STATFILE "/var/spool/uucp/Stats"
+
+ /* The default debugging file when using HAVE_TAYLOR_LOGGING. When
+ using HAVE_TAYLOR_CONFIG, this may be overridden by the
+ ``debugfile'' command in the configuration file. */
+-#define DEBUGFILE "/usr/spool/uucp/Debug"
+-/* #define DEBUGFILE "/var/spool/uucp/Debug" */
++/* #define DEBUGFILE "/usr/spool/uucp/Debug" */
++#define DEBUGFILE "/var/spool/uucp/Debug"
+
+ #endif /* HAVE_TAYLOR_LOGGING */
+
diff --git a/net/uucp/files/patch-sample b/net/uucp/files/patch-sample
new file mode 100644
index 000000000000..aff32c85ca2c
--- /dev/null
+++ b/net/uucp/files/patch-sample
@@ -0,0 +1,21 @@
+--- sample/dial Thu Jan 14 07:29:52 1993
++++ sample/dial.new Sat Aug 28 01:33:44 1999
+@@ -23,13 +25,17 @@
+ # 4) send "ATDT", then the telephone number (after translating any
+ # dialcodes).
+ # 5) wait until the modem echoes "CONNECT"
+-chat "" ATZ\r\d\c OK ATDT\T CONNECT
++# 6) Wait a little more, if your modem give CONNECT before carrier up
++chat "" ATZ\r\d\c OK ATDT\T CONNECT \p\c
+
+ # If we get "BUSY" or "NO CARRIER" during the dial chat script we
+ # abort the dial immediately.
+ chat-fail BUSY
++chat-fail ERROR
++chat-fail NO\sDIALTONE
+ chat-fail NO\sCARRIER
+
+ # When the call is over, we make sure we hangup the modem.
++# You don't need this stuff, if you modem can handle DTR drop properly
+ complete \d\d+++\d\dATH\r\c
+ abort \d\d+++\d\dATH\r\c
diff --git a/net/uucp/files/uuchk.8 b/net/uucp/files/uuchk.8
new file mode 100644
index 000000000000..0ef98140c3ae
--- /dev/null
+++ b/net/uucp/files/uuchk.8
@@ -0,0 +1,44 @@
+.\" $FreeBSD: /tmp/pcvs/ports/net/uucp/files/Attic/uuchk.8,v 1.1 2001-11-20 08:10:25 dinoex Exp $
+.TH uuchk 1 "Taylor UUCP 1.06"
+.SH NAME
+uuchk \- displays information from the UUCP configuration
+.SH SYNOPSIS
+.B uuchk
+[-s system] [standard UUCP options]
+.SH DESCRIPTION
+The
+.B uuchk
+program reads the UUCP configuration files and displays
+a rather lengthy description of what it finds. This is useful when
+configuring UUCP to make certain that the UUCP package will do
+what you expect it to do.
+.SH OPTIONS
+The following options may be given to
+.B uuchk:
+.TP 5
+.B \-s, \-\-system
+Display the
+configuration for just the specified system, rather than for all
+systems. The
+.B uuchk
+program also supports the standard UUCP program
+options.
+.TP 5
+.B \-x type
+.TP 5
+.B \-\-debug type
+.TP 5
+.B \-I file
+.TP 5
+.B \-\-config file
+.TP 5
+.B \-v, \-\-version
+.TP 5
+.B \-\-help
+Standard UUCP options.
+.SH SEE ALSO
+uucp(1)
+.SH AUTHOR
+Ian Lance Taylor (ian@airs.com).
+This Manpage based on the Taylor UUCP 1.06 Texinfo documentation.
+
diff --git a/net/uucp/files/uuconv.1 b/net/uucp/files/uuconv.1
new file mode 100644
index 000000000000..8f932d28a39d
--- /dev/null
+++ b/net/uucp/files/uuconv.1
@@ -0,0 +1,57 @@
+.\" $FreeBSD: /tmp/pcvs/ports/net/uucp/files/Attic/uuconv.1,v 1.1 2001-11-20 08:10:25 dinoex Exp $
+.TH uuconv 1 "Taylor UUCP 1.06"
+.SH NAME
+uuconv \- convert UUCP configuration files
+.SH SYNOPSIS
+.B uuconv
+\-i type \-o type [-p program] [standard UUCP options]
+.SH DESCRIPTION
+The
+.B uuconv
+program can be used to convert UUCP configuration
+files from one format to another. This can be useful for
+administrators converting from an older UUCP package. Taylor UUCP
+is able to read and use old configuration file formats, but some
+new features can not be selected using the old formats.
+.PP
+The type of configuration file to read is specified
+using the `-i' or `--input' options. The type of configuration file to
+write is specified using the `-o' or `--output' options.
+.PP
+The supported configuration file types are `taylor', `v2', and
+`hdb'. For a description of the `taylor' configuration files, see
+*Note Configuration Files::. The other types of configuration files
+are used by traditional UUCP packages, and are not described in this
+manual.
+.PP
+An input configuration of type `v2' or `hdb' is read from a compiled
+in directory (specified by `oldconfigdir' in `Makefile'). An input
+configuration of type `taylor' is read from a compiled in directory by
+default, but may be overridden with the standard `-I' or `--config'
+options.
+.PP
+The output configuration is written to files in the directory in
+which
+.B uuconv
+is run.
+.PP
+Some information in the input files may not be representable in the
+desired output format, in which case
+.B uuconv
+will silently discard it.
+The output of
+.B uuconv
+should be carefully checked before it is used.
+The
+.B uuchk(8)
+program may be used for this purpose.
+.PP
+The `-p' or `--program' option may be used to convert specific `cu'
+configuration information, rather than the default of only converting
+the `uucp' configuration information.
+.SH SEE ALSO
+cu(1), uucp(1)
+.SH AUTHOR
+Ian Lance Taylor (ian@airs.com).
+This Manpage based on the Taylor UUCP 1.06 Texinfo documentation.
+
diff --git a/net/uucp/files/uulog.1 b/net/uucp/files/uulog.1
new file mode 100644
index 000000000000..5cbe8a8c3954
--- /dev/null
+++ b/net/uucp/files/uulog.1
@@ -0,0 +1,84 @@
+.\" $FreeBSD: /tmp/pcvs/ports/net/uucp/files/Attic/uulog.1,v 1.1 2001-11-20 08:10:25 dinoex Exp $
+.TH uulog 1 "Taylor UUCP 1.06"
+.SH NAME
+uulog \- display UUCP log entries
+.SH SYNOPSIS
+.B uulog
+[-#] [-n lines] [-sf system] [-u user] [-DSF] [--lines lines]
+[--system system] [--user user] [--debuglog] [--statslog]
+[--follow] [--follow=system] [standard UUCP options]
+.SH DESCRIPTION
+The
+.B uulog
+program can be used to display entries in the UUCP log
+file. It can select the entries for a particular system or a
+particular user. You can use it to see what has happened to your
+queued jobs in the past.
+.SH OPTIONS
+The following options may be given to
+.B uulog.
+.TP 5
+.B \-#, \-n lines, \-\-lines lines
+Here `#' is a number; e.g., `-10'. The specified number of lines
+is displayed from the end of the log file. The default is to
+display the entire log file, unless the `-f', `-F', or `--follow'
+options are used, in which case the default is to display 10 lines.
+.TP 5
+.B \-s system, \-\-system system
+Display only log entries pertaining to the specified system.
+.TP 5
+.B \-u user, \-\-user user
+Display only log entries pertaining to the specified user.
+.TP 5
+.B \-D, \-\-debuglog
+Display the debugging log file.
+.TP 5
+.B \-S, \-\-statslog
+Display the statistics log file.
+.B \-F, \-\-follow
+Keep displaying the log file forever, printing new lines as they
+are appended to the log file.
+.TP 5
+.B \-f system, \-\-follow=system
+Keep displaying the log file forever, displaying only log entries
+pertaining to the specified system.
+.TP 5
+.B \-X type
+.TP 5
+.B \-\-debug type
+.TP 5
+.B \-I file
+.TP 5
+.B \-\-config file
+.TP 5
+.B \-v, \-\-version
+.TP 5
+.B \-\-help
+Standard UUCP options.
+Note that
+.B uulog
+specifies the debugging type using `-X' rather than the usual `-x'.
+.PP
+The operation of
+.B uulog
+depends to some degree upon the type of log
+files generated by the UUCP programs. This is a compile time option.
+If the UUCP programs have been compiled to use HDB style log files,
+.B uulog
+changes in the following ways:
+.PP
+The new options `-x' and `--uuxqtlog' may be used to list the
+.B uuxqt
+log file.
+.PP
+It is no longer possible to omit all arguments: one of `-s',
+`--system', `-f', `--follow=system', `-D', `--debuglog', `-S',
+`--statslog', `-x', or `--uuxqtlog' must be used.
+.PP
+The option `--system ANY' may be used to list log file entries
+which do not pertain to any particular system.
+.SH SEE ALSO
+uucp(1)
+.SH AUTHOR
+Ian Lance Taylor (ian@airs.com).
+This Manpage based on the Taylor UUCP 1.06 Texinfo documentation.
diff --git a/net/uucp/files/uuname.1 b/net/uucp/files/uuname.1
new file mode 100644
index 000000000000..6e9b1a805f62
--- /dev/null
+++ b/net/uucp/files/uuname.1
@@ -0,0 +1,45 @@
+.\" $FreeBSD: /tmp/pcvs/ports/net/uucp/files/Attic/uuname.1,v 1.1 2001-11-20 08:10:25 dinoex Exp $
+.TH uuname 1 "Taylor UUCP 1.06"
+.SH NAME
+uuname \- list known remote UUCP sites
+.SH SYNOPSIS
+.B uuname
+[-a] [-l] [standard UUCP options]
+.SH DESCRIPTION
+The
+.B uuname
+program by default lists all the remote systems your
+system knows about. You can also use it to get the name of your
+local system. It is mostly useful for shell scripts.
+.SH OPTIONS
+The following options may be given to
+.B uuname.
+.TP 5
+.B \-a, \-\-aliases
+List all aliases for remote systems, as well as their canonical
+names. Aliases may be specified in the
+.I sys
+file.
+.TP 5
+.B \-l, \-\-local
+Print the UUCP name of the local system, rather than listing the
+names of all the remote systems.
+.TP 5
+.B \-x type
+.TP 5
+.B \-\-debug type
+.TP 5
+.B \-I file
+.TP 5
+.B \-\-config file
+.TP 5
+.B \-v, \-\-version
+.TP 5
+.B \-\-help
+Standard UUCP options.
+.SH SEE ALSO
+uucp(1)
+.SH AUTHOR
+Ian Lance Taylor (ian@airs.com).
+This Manpage based on the Taylor UUCP 1.06 Texinfo documentation.
+
diff --git a/net/uucp/files/uupick.1 b/net/uucp/files/uupick.1
new file mode 100644
index 000000000000..0ede57a146e9
--- /dev/null
+++ b/net/uucp/files/uupick.1
@@ -0,0 +1,72 @@
+.\" $FreeBSD: /tmp/pcvs/ports/net/uucp/files/Attic/uupick.1,v 1.1 2001-11-20 08:10:25 dinoex Exp $
+.TH uupick 1 "Taylor UUCP 1.06"
+.SH NAME
+uupick \- retrieve files transferred by uuto
+.SH SYNOPSIS
+.B uupick
+[\-s] [standard UUCP options]
+.SH DESCRIPTION
+The
+.B uupick
+program is used to conveniently retrieve files
+transferred by the
+.B uuto(1)
+program.
+For each file transferred by
+.B uuto(1),
+.B uupick
+will display the
+source system, the file name, and whether the name refers to a regular
+file or a directory. It will then wait for the user to specify an
+action to take. One of the following commands must be entered:
+.TP 5
+.I q
+Quit out of
+.B uupick.
+.TP 5
+.I RETURN
+Skip the file.
+.TP 5
+.I m [directory]
+Move the file or directory to the specified directory. If no
+directory is specified, the file is moved to the current directory.
+.TP 5
+.I a [directory]
+Move all files from this system to the specified directory. If no
+directory is specified, the files are moved to the current
+directory.
+.TP 5
+.I p
+List the file on standard output.
+.TP 5
+.I d
+Delete the file.
+.TP 5
+.I ! [command]
+Execute `command' as a shell escape.
+.SH OPTIONS
+The following options may be given to
+.B uupick.
+.TP 5
+.B \-s, \-\-system system
+This option may be used to restrict
+.B uupick
+to only present files transferred from a particular system.
+.TP 5
+.B \-x type
+.TP 5
+.B \-\-debug type
+.TP 5
+.B \-I file
+.TP 5
+.B \-\-config file
+.TP 5
+.B \-v, \-\-version
+.TP 5
+.B \-\-help
+Standard UUCP options.
+.SH SEE ALSO
+uucp(1), uuto(1)
+.SH AUTHOR
+Ian Lance Taylor (ian@airs.com).
+This Manpage based on the Taylor UUCP 1.06 Texinfo documentation.
diff --git a/net/uucp/files/uusched.8 b/net/uucp/files/uusched.8
new file mode 100644
index 000000000000..a5e2a3c4d73c
--- /dev/null
+++ b/net/uucp/files/uusched.8
@@ -0,0 +1,24 @@
+.\" $FreeBSD: /tmp/pcvs/ports/net/uucp/files/Attic/uusched.8,v 1.1 2001-11-20 08:10:25 dinoex Exp $
+.TH uusched 8 "Taylor UUCP 1.06"
+.SH NAME
+uusched \- UUCP file transfer daemon
+.SH SYNOPSIS
+.B uusched
+[uucico options]
+.SH DESCRIPTION
+The
+.B uusched
+program is actually just a shell script which invokes
+the
+.B uucico(8)
+daemon. It is provided for backward compatibility. It
+causes
+uucico(8) to call all systems for which there is work. Any
+option which may be given to uucico(8) may also be given to
+.B uusched
+.SH SEE ALSO
+uucico(8), uucp(1)
+.SH AUTHOR
+Ian Lance Taylor (ian@airs.com).
+This Manpage based on the Taylor UUCP 1.06 Texinfo documentation.
+
diff --git a/net/uucp/files/uuto.1 b/net/uucp/files/uuto.1
new file mode 100644
index 000000000000..8d248af7f8af
--- /dev/null
+++ b/net/uucp/files/uuto.1
@@ -0,0 +1,41 @@
+.\" $FreeBSD: /tmp/pcvs/ports/net/uucp/files/Attic/uuto.1,v 1.1 2001-11-20 08:10:25 dinoex Exp $
+.\" based on the uucp texinfo documentation
+.TH uuto 1 "Taylor UUCP 1.06"
+.SH NAME
+uuto \- send files to a user on a remote system.
+.SH SYNOPSIS
+.B uuto
+[uucp options] files... system!user
+.SH DESCRIPTION
+The
+.B uuto
+program may be used to conveniently send files to a
+particular user on a remote system. It will arrange for mail to be sent
+to the remote user when the files arrive on the remote system, and he or
+she may easily retrieve the files using the
+.B uupick
+program. Note that
+.B uuto
+does not provide any
+security--any user on the remote system can examine the files.
+.PP
+The last argument specifies the system and user name to which to send
+the files. The other arguments are the files or directories to be sent.
+.PP
+The
+.B uuto
+program is actually just a trivial shell script which
+invokes the
+.B uucp
+program with the appropriate arguments. Any option
+which may be given to
+.B uucp
+may also be given to
+.B uuto.
+.SH SEE ALSO
+uucp(1)
+.SH AUTHOR
+Ian Lance Taylor (ian@airs.com).
+This Manpage based on the Taylor UUCP 1.06 Texinfo documentation.
+
+
diff --git a/net/uucp/pkg-comment b/net/uucp/pkg-comment
new file mode 100644
index 000000000000..a82ccab54efc
--- /dev/null
+++ b/net/uucp/pkg-comment
@@ -0,0 +1 @@
+Taylor UUCP (unix-to-unix copy program)
diff --git a/net/uucp/pkg-descr b/net/uucp/pkg-descr
new file mode 100644
index 000000000000..b5748ab8c25a
--- /dev/null
+++ b/net/uucp/pkg-descr
@@ -0,0 +1,7 @@
+This is a port of the Taylor UUCP Unix-to-Unix Copy Program suite
+of utilities.
+
+- no scripts in etc/periodic/daily/
+- no scripts in etc/periodic/weekly/
+- no program libexec/uucpd
+- info/uucp not compressed
diff --git a/net/uucp/pkg-plist b/net/uucp/pkg-plist
new file mode 100644
index 000000000000..4c087694bff8
--- /dev/null
+++ b/net/uucp/pkg-plist
@@ -0,0 +1,37 @@
+bin/uucp
+bin/uulog
+bin/uupick
+bin/uusched
+bin/uustat
+bin/uuto
+bin/uux
+etc/uucp/call.sample
+etc/uucp/config.sample
+etc/uucp/dial.sample
+etc/uucp/dialcode.sample
+etc/uucp/passwd.sample
+etc/uucp/port.sample
+etc/uucp/sys1.sample
+etc/uucp/sys2.sample
+info/uucp.info
+info/uucp.info-1
+info/uucp.info-2
+info/uucp.info-3
+info/uucp.info-4
+info/uucp.info-5
+info/uucp.info-6
+info/uucp.info-7
+info/uucp.info-8
+@exec install-info %D/info/uucp.info %D/info/dir
+@unexec install-info --delete %D/info/uucp.info %D/info/dir
+@group dialer
+bin/cu
+bin/uuname
+libexec/uucp/uucico
+@group uucp
+libexec/uucp/uuxqt
+@group wheel
+sbin/uuchk
+sbin/uuconv
+@dirrm etc/uucp
+@dirrm libexec/uucp