diff options
-rw-r--r-- | debian/changelog | 4 | ||||
-rw-r--r-- | debian/patches/01_revert_manpage_removal.patch | 7160 | ||||
-rw-r--r-- | debian/patches/series | 1 |
3 files changed, 7165 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index 0ae810b..f8280a7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -12,6 +12,10 @@ inetutils (2:1.8-1) UNRELEASED; urgency=low - debian/patches/50_split_load_conffile.patch: Likewise. - debian/patches/51_add_load_confdir_support.patch: Likewise. - debian/patches/53_man_inetd_max_conn.patch: Likewise. + * Upstream switched to generate man pages from --help output, which is + a regression from previous man pages inherited from BSD. Revert the + removal and disable help2man logic. + - debian/patches/01_revert_manpage_removal.patch: New file. -- Guillem Jover <guillem@debian.org> Tue, 08 Jun 2010 21:16:04 +0200 diff --git a/debian/patches/01_revert_manpage_removal.patch b/debian/patches/01_revert_manpage_removal.patch new file mode 100644 index 0000000..c521ebf --- /dev/null +++ b/debian/patches/01_revert_manpage_removal.patch @@ -0,0 +1,7160 @@ +From 51aff90bccf50ebee86c7e4945f2b059f93aefd2 Mon Sep 17 00:00:00 2001 +From: Guillem Jover <guillem@hadrons.org> +Date: Wed, 9 Jun 2010 03:56:08 +0200 +Subject: [PATCH] Revert "2009-04-30 Alfred M. Szmidt <ams@gnu.org>" + +This reverts commit fed208adedb4b336135f5f82f0a1430e4d25a4d1. +--- + Makefile.am | 2 +- + configure.ac | 2 - + ftp/Makefile.am | 6 + + ftp/ftp.1 | 1155 +++++++++++++++++++++++++++++++++++++++++++ + ftpd/Makefile.am | 8 +- + ftpd/ftpd.8 | 300 +++++++++++ + whois/whois.1 | 96 ++++ + libls/Makefile.am | 2 + + libls/ls.1 | 446 +++++++++++++++++ + ping/Makefile.am | 8 + + ping/ping.8 | 328 +++++++++++++ + src/Makefile.am | 37 ++ + src/inetd.8 | 439 +++++++++++++++++ + src/logger.1 | 96 ++++ + src/rcp.1 | 155 ++++++ + src/rexecd.8 | 145 ++++++ + src/rlogin.1 | 184 +++++++ + src/rlogind.8 | 164 ++++++ + src/rsh.1 | 183 +++++++ + src/rshd.8 | 205 ++++++++ + src/syslog.conf.5 | 251 ++++++++++ + src/syslogd.8 | 163 ++++++ + src/tftp.1 | 169 +++++++ + src/tftpd.8 | 102 ++++ + talk/Makefile.am | 6 + + talk/talk.1 | 125 +++++ + talkd/Makefile.am | 6 + + talkd/talkd.8 | 71 +++ + telnet/Makefile.am | 6 + + telnet/telnet.1 | 1362 +++++++++++++++++++++++++++++++++++++++++++++++++++ + telnetd/Makefile.am | 7 + + telnetd/telnetd.8 | 603 +++++++++++++++++++++++ + 32 files changed, 6827 insertions(+), 5 deletions(-) + create mode 100644 ftp/ftp.1 + create mode 100644 ftpd/ftpd.8 + create mode 100644 whois/whois.1 + create mode 100644 libls/ls.1 + create mode 100755 ping/ping.8 + create mode 100644 src/inetd.8 + create mode 100644 src/logger.1 + create mode 100644 src/rcp.1 + create mode 100644 src/rexecd.8 + create mode 100644 src/rlogin.1 + create mode 100644 src/rlogind.8 + create mode 100644 src/rsh.1 + create mode 100644 src/rshd.8 + create mode 100644 src/syslog.conf.5 + create mode 100644 src/syslogd.8 + create mode 100644 src/tftp.1 + create mode 100644 src/tftpd.8 + create mode 100644 talk/talk.1 + create mode 100644 talkd/talkd.8 + create mode 100644 telnet/telnet.1 + create mode 100644 telnetd/telnetd.8 + +diff --git a/Makefile.am b/Makefile.am +index 7af1c56..34d105b 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -26,7 +26,7 @@ EXTRA_DIST = README-alpha paths ChangeLog.0 + SUBDIRS = lib \ + libinetutils libtelnet libicmp libls \ + src telnet telnetd ftp ftpd talk talkd whois ping ifconfig \ +- doc man \ ++ doc \ + tests + + DISTCLEANFILES = pathdefs.make paths.defs $(PACKAGE)-$(VERSION).tar.gz +diff --git a/configure.ac b/configure.ac +index 2b60bde..f582074 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -133,7 +133,6 @@ AC_PROG_MAKE_SET + AC_PROG_RANLIB + AC_PROG_YACC + AC_PROG_LN_S +-AM_MISSING_PROG(HELP2MAN, help2man, $missing_dir) + + gl_INIT + +@@ -812,7 +811,6 @@ ping/Makefile + ifconfig/Makefile + ifconfig/system/Makefile + doc/Makefile +-man/Makefile + tests/Makefile + confpaths.h:confpaths.h.in + ]) +diff --git a/ftp/Makefile.am b/ftp/Makefile.am +index 9693eed..53ea666 100644 +--- a/ftp/Makefile.am ++++ b/ftp/Makefile.am +@@ -25,6 +25,12 @@ ftp_SOURCES = cmds.c cmdtab.c domacro.c ftp.c main.c ruserpass.c + + noinst_HEADERS = extern.h ftp_var.h + ++if ENABLE_ftp ++man_MANS = ftp.1 ++endif ++ ++EXTRA_DIST = $(man_MANS) ++ + @PATHDEFS_MAKE@ + + INCLUDES = -I$(top_srcdir)/lib -I../lib -I$(top_srcdir)/libinetutils +diff --git a/ftp/ftp.1 b/ftp/ftp.1 +new file mode 100644 +index 0000000..f05718c +--- /dev/null ++++ b/ftp/ftp.1 +@@ -0,0 +1,1155 @@ ++.\" Copyright (c) 1985, 1989, 1990, 1993 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)ftp.1 8.3 (Berkeley) 10/9/94 ++.\" ++.Dd October 9, 1994 ++.Dt FTP 1 ++.Os BSD 4.2 ++.Sh NAME ++.Nm ftp ++.Nd ++.Tn ARPANET ++file transfer program ++.Sh SYNOPSIS ++.Nm ftp ++.Op Fl v ++.Op Fl d ++.Op Fl i ++.Op Fl n ++.Op Fl g ++.Op Ar host ++.Sh DESCRIPTION ++.Nm Ftp ++is the user interface to the ++.Tn ARPANET ++standard File Transfer Protocol. ++The program allows a user to transfer files to and from a ++remote network site. ++.Pp ++Options may be specified at the command line, or to the ++command interpreter. ++.Bl -tag -width flag ++.It Fl v ++Verbose option forces ++.Nm ftp ++to show all responses from the remote server, as well ++as report on data transfer statistics. ++.It Fl n ++Restrains ++.Nm ftp ++from attempting \*(Lqauto-login\*(Rq upon initial connection. ++If auto-login is enabled, ++.Nm ftp ++will check the ++.Pa .netrc ++(see below) file in the user's home directory for an entry describing ++an account on the remote machine. ++If no entry exists, ++.Nm ftp ++will prompt for the remote machine login name (default is the user ++identity on the local machine), and, if necessary, prompt for a password ++and an account with which to login. ++.It Fl i ++Turns off interactive prompting during ++multiple file transfers. ++.It Fl d ++Enables debugging. ++.It Fl g ++Disables file name globbing. ++.El ++.Pp ++The client host with which ++.Nm ftp ++is to communicate may be specified on the command line. ++If this is done, ++.Nm ftp ++will immediately attempt to establish a connection to an ++.Tn FTP ++server on that host; otherwise, ++.Nm ftp ++will enter its command interpreter and await instructions ++from the user. ++When ++.Nm ftp ++is awaiting commands from the user the prompt ++.Ql ftp> ++is provided to the user. ++The following commands are recognized ++by ++.Nm ftp : ++.Bl -tag -width Fl ++.It Ic \&! Op Ar command Op Ar args ++Invoke an interactive shell on the local machine. ++If there are arguments, the first is taken to be a command to execute ++directly, with the rest of the arguments as its arguments. ++.It Ic \&$ Ar macro-name Op Ar args ++Execute the macro ++.Ar macro-name ++that was defined with the ++.Ic macdef ++command. ++Arguments are passed to the macro unglobbed. ++.It Ic account Op Ar passwd ++Supply a supplemental password required by a remote system for access ++to resources once a login has been successfully completed. ++If no argument is included, the user will be prompted for an account ++password in a non-echoing input mode. ++.It Ic append Ar local-file Op Ar remote-file ++Append a local file to a file on the remote machine. ++If ++.Ar remote-file ++is left unspecified, the local file name is used in naming the ++remote file after being altered by any ++.Ic ntrans ++or ++.Ic nmap ++setting. ++File transfer uses the current settings for ++.Ic type , ++.Ic format , ++.Ic mode , ++and ++.Ic structure . ++.It Ic ascii ++Set the file transfer ++.Ic type ++to network ++.Tn ASCII . ++This is the default type. ++.It Ic bell ++Arrange that a bell be sounded after each file transfer ++command is completed. ++.It Ic binary ++Set the file transfer ++.Ic type ++to support binary image transfer. ++.It Ic bye ++Terminate the ++.Tn FTP ++session with the remote server ++and exit ++.Nm ftp . ++An end of file will also terminate the session and exit. ++.It Ic case ++Toggle remote computer file name case mapping during ++.Ic mget ++commands. ++When ++.Ic case ++is on (default is off), remote computer file names with all letters in ++upper case are written in the local directory with the letters mapped ++to lower case. ++.It Ic \&cd Ar remote-directory ++Change the working directory on the remote machine ++to ++.Ar remote-directory . ++.It Ic cdup ++Change the remote machine working directory to the parent of the ++current remote machine working directory. ++.It Ic chmod Ar mode file-name ++Change the permission modes of the file ++.Ar file-name ++on the remote ++sytem to ++.Ar mode . ++.It Ic close ++Terminate the ++.Tn FTP ++session with the remote server, and ++return to the command interpreter. ++Any defined macros are erased. ++.It Ic \&cr ++Toggle carriage return stripping during ++ascii type file retrieval. ++Records are denoted by a carriage return/linefeed sequence ++during ascii type file transfer. ++When ++.Ic \&cr ++is on (the default), carriage returns are stripped from this ++sequence to conform with the ++.Ux ++single linefeed record ++delimiter. ++Records on ++.Pf non\- Ns Ux ++remote systems may contain single linefeeds; ++when an ascii type transfer is made, these linefeeds may be ++distinguished from a record delimiter only when ++.Ic \&cr ++is off. ++.It Ic delete Ar remote-file ++Delete the file ++.Ar remote-file ++on the remote machine. ++.It Ic debug Op Ar debug-value ++Toggle debugging mode. ++If an optional ++.Ar debug-value ++is specified it is used to set the debugging level. ++When debugging is on, ++.Nm ftp ++prints each command sent to the remote machine, preceded ++by the string ++.Ql \-\-> ++.It Xo ++.Ic dir ++.Op Ar remote-directory ++.Op Ar local-file ++.Xc ++Print a listing of the directory contents in the ++directory, ++.Ar remote-directory , ++and, optionally, placing the output in ++.Ar local-file . ++If interactive prompting is on, ++.Nm ftp ++will prompt the user to verify that the last argument is indeed the ++target local file for receiving ++.Ic dir ++output. ++If no directory is specified, the current working ++directory on the remote machine is used. ++If no local ++file is specified, or ++.Ar local-file ++is ++.Fl , ++output comes to the terminal. ++.It Ic disconnect ++A synonym for ++.Ar close . ++.It Ic form Ar format ++Set the file transfer ++.Ic form ++to ++.Ar format . ++The default format is \*(Lqfile\*(Rq. ++.It Ic get Ar remote-file Op Ar local-file ++Retrieve the ++.Ar remote-file ++and store it on the local machine. ++If the local ++file name is not specified, it is given the same ++name it has on the remote machine, subject to ++alteration by the current ++.Ic case , ++.Ic ntrans , ++and ++.Ic nmap ++settings. ++The current settings for ++.Ic type , ++.Ic form , ++.Ic mode , ++and ++.Ic structure ++are used while transferring the file. ++.It Ic glob ++Toggle filename expansion for ++.Ic mdelete , ++.Ic mget ++and ++.Ic mput . ++If globbing is turned off with ++.Ic glob , ++the file name arguments ++are taken literally and not expanded. ++Globbing for ++.Ic mput ++is done as in ++.Xr csh 1 . ++For ++.Ic mdelete ++and ++.Ic mget , ++each remote file name is expanded ++separately on the remote machine and the lists are not merged. ++Expansion of a directory name is likely to be ++different from expansion of the name of an ordinary file: ++the exact result depends on the foreign operating system and ftp server, ++and can be previewed by doing ++.Ql mls remote-files \- ++Note: ++.Ic mget ++and ++.Ic mput ++are not meant to transfer ++entire directory subtrees of files. ++That can be done by ++transferring a ++.Xr tar 1 ++archive of the subtree (in binary mode). ++.It Ic hash Op Ar size ++Toggle hash-sign (``#'') printing for each data block ++transferred. ++The ++.Ar size ++of a data block can optionally be specified. If not given, it defaults to 1024 bytes. ++.It Ic help Op Ar command ++Print an informative message about the meaning of ++.Ar command . ++If no argument is given, ++.Nm ftp ++prints a list of the known commands. ++.It Ic idle Op Ar seconds ++Set the inactivity timer on the remote server to ++.Ar seconds ++seconds. ++If ++.Ar seconds ++is omitted, the current inactivity timer is printed. ++.It Ic lcd Op Ar directory ++Change the working directory on the local machine. ++If ++no ++.Ar directory ++is specified, the user's home directory is used. ++.It Xo ++.Ic \&ls ++.Op Ar remote-directory ++.Op Ar local-file ++.Xc ++Print a listing of the contents of a ++directory on the remote machine. ++The listing includes any system-dependent information that the server ++chooses to include; for example, most ++.Ux ++systems will produce ++output from the command ++.Ql ls \-l . ++(See also ++.Ic nlist . ) ++If ++.Ar remote-directory ++is left unspecified, the current working directory is used. ++If interactive prompting is on, ++.Nm ftp ++will prompt the user to verify that the last argument is indeed the ++target local file for receiving ++.Ic \&ls ++output. ++If no local file is specified, or if ++.Ar local-file ++is ++.Sq Fl , ++the output is sent to the terminal. ++.It Ic macdef Ar macro-name ++Define a macro. ++Subsequent lines are stored as the macro ++.Ar macro-name ; ++a null line (consecutive newline characters ++in a file or ++carriage returns from the terminal) terminates macro input mode. ++There is a limit of 16 macros and 4096 total characters in all ++defined macros. ++Macros remain defined until a ++.Ic close ++command is executed. ++The macro processor interprets `$' and `\e' as special characters. ++A `$' followed by a number (or numbers) is replaced by the ++corresponding argument on the macro invocation command line. ++A `$' followed by an `i' signals that macro processor that the ++executing macro is to be looped. ++On the first pass `$i' is ++replaced by the first argument on the macro invocation command line, ++on the second pass it is replaced by the second argument, and so on. ++A `\e' followed by any character is replaced by that character. ++Use the `\e' to prevent special treatment of the `$'. ++.It Ic mdelete Op Ar remote-files ++Delete the ++.Ar remote-files ++on the remote machine. ++.It Ic mdir Ar remote-files local-file ++Like ++.Ic dir , ++except multiple remote files may be specified. ++If interactive prompting is on, ++.Nm ftp ++will prompt the user to verify that the last argument is indeed the ++target local file for receiving ++.Ic mdir ++output. ++.It Ic mget Ar remote-files ++Expand the ++.Ar remote-files ++on the remote machine ++and do a ++.Ic get ++for each file name thus produced. ++See ++.Ic glob ++for details on the filename expansion. ++Resulting file names will then be processed according to ++.Ic case , ++.Ic ntrans , ++and ++.Ic nmap ++settings. ++Files are transferred into the local working directory, ++which can be changed with ++.Ql lcd directory ; ++new local directories can be created with ++.Ql "\&! mkdir directory" . ++.It Ic mkdir Ar directory-name ++Make a directory on the remote machine. ++.It Ic mls Ar remote-files local-file ++Like ++.Ic nlist , ++except multiple remote files may be specified, ++and the ++.Ar local-file ++must be specified. ++If interactive prompting is on, ++.Nm ftp ++will prompt the user to verify that the last argument is indeed the ++target local file for receiving ++.Ic mls ++output. ++.It Ic mode Op Ar mode-name ++Set the file transfer ++.Ic mode ++to ++.Ar mode-name . ++The default mode is \*(Lqstream\*(Rq mode. ++.It Ic modtime Ar file-name ++Show the last modification time of the file on the remote machine. ++.It Ic mput Ar local-files ++Expand wild cards in the list of local files given as arguments ++and do a ++.Ic put ++for each file in the resulting list. ++See ++.Ic glob ++for details of filename expansion. ++Resulting file names will then be processed according to ++.Ic ntrans ++and ++.Ic nmap ++settings. ++.It Ic newer Ar file-name ++Get the file only if the modification time of the remote file is more ++recent that the file on the current system. ++If the file does not ++exist on the current system, the remote file is considered ++.Ic newer . ++Otherwise, this command is identical to ++.Ar get . ++.It Xo ++.Ic nlist ++.Op Ar remote-directory ++.Op Ar local-file ++.Xc ++Print a list of the files in a ++directory on the remote machine. ++If ++.Ar remote-directory ++is left unspecified, the current working directory is used. ++If interactive prompting is on, ++.Nm ftp ++will prompt the user to verify that the last argument is indeed the ++target local file for receiving ++.Ic nlist ++output. ++If no local file is specified, or if ++.Ar local-file ++is ++.Fl , ++the output is sent to the terminal. ++.It Ic nmap Op Ar inpattern outpattern ++Set or unset the filename mapping mechanism. ++If no arguments are specified, the filename mapping mechanism is unset. ++If arguments are specified, remote filenames are mapped during ++.Ic mput ++commands and ++.Ic put ++commands issued without a specified remote target filename. ++If arguments are specified, local filenames are mapped during ++.Ic mget ++commands and ++.Ic get ++commands issued without a specified local target filename. ++This command is useful when connecting to a ++.No non\- Ns Ux ++remote computer ++with different file naming conventions or practices. ++The mapping follows the pattern set by ++.Ar inpattern ++and ++.Ar outpattern . ++.Op Ar Inpattern ++is a template for incoming filenames (which may have already been ++processed according to the ++.Ic ntrans ++and ++.Ic case ++settings). ++Variable templating is accomplished by including the ++sequences `$1', `$2', ..., `$9' in ++.Ar inpattern . ++Use `\\' to prevent this special treatment of the `$' character. ++All other characters are treated literally, and are used to determine the ++.Ic nmap ++.Op Ar inpattern ++variable values. ++For example, given ++.Ar inpattern ++$1.$2 and the remote file name "mydata.data", $1 would have the value ++"mydata", and $2 would have the value "data". ++The ++.Ar outpattern ++determines the resulting mapped filename. ++The sequences `$1', `$2', ...., `$9' are replaced by any value resulting ++from the ++.Ar inpattern ++template. ++The sequence `$0' is replace by the original filename. ++Additionally, the sequence ++.Ql Op Ar seq1 , Ar seq2 ++is replaced by ++.Op Ar seq1 ++if ++.Ar seq1 ++is not a null string; otherwise it is replaced by ++.Ar seq2 . ++For example, the command ++.Pp ++.Bd -literal -offset indent -compact ++nmap $1.$2.$3 [$1,$2].[$2,file] ++.Ed ++.Pp ++would yield ++the output filename "myfile.data" for input filenames "myfile.data" and ++"myfile.data.old", "myfile.file" for the input filename "myfile", and ++"myfile.myfile" for the input filename ".myfile". ++Spaces may be included in ++.Ar outpattern , ++as in the example: `nmap $1 sed "s/ *$//" > $1' . ++Use the `\e' character to prevent special treatment ++of the `$','[','[', and `,' characters. ++.It Ic ntrans Op Ar inchars Op Ar outchars ++Set or unset the filename character translation mechanism. ++If no arguments are specified, the filename character ++translation mechanism is unset. ++If arguments are specified, characters in ++remote filenames are translated during ++.Ic mput ++commands and ++.Ic put ++commands issued without a specified remote target filename. ++If arguments are specified, characters in ++local filenames are translated during ++.Ic mget ++commands and ++.Ic get ++commands issued without a specified local target filename. ++This command is useful when connecting to a ++.No non\- Ns Ux ++remote computer ++with different file naming conventions or practices. ++Characters in a filename matching a character in ++.Ar inchars ++are replaced with the corresponding character in ++.Ar outchars . ++If the character's position in ++.Ar inchars ++is longer than the length of ++.Ar outchars , ++the character is deleted from the file name. ++.It Ic open Ar host Op Ar port ++Establish a connection to the specified ++.Ar host ++.Tn FTP ++server. ++An optional port number may be supplied, ++in which case, ++.Nm ftp ++will attempt to contact an ++.Tn FTP ++server at that port. ++If the ++.Ic auto-login ++option is on (default), ++.Nm ftp ++will also attempt to automatically log the user in to ++the ++.Tn FTP ++server (see below). ++.It Ic passive ++Toggle passive mode. If passive mode is turned on ++(default is off), the ftp client will ++send a ++.Dv PASV ++command for all data connections instead of the usual ++.Dv PORT ++command. The ++.Dv PASV ++command requests that the remote server open a port for the data connection ++and return the address of that port. The remote server listens on that ++port and the client connects to it. When using the more traditional ++.Dv PORT ++command, the client listens on a port and sends that address to the remote ++server, who connects back to it. Passive mode is useful when using ++.Nm ftp ++through a gateway router or host that controls the directionality of ++traffic. ++(Note that though ftp servers are required to support the ++.Dv PASV ++command by RFC 1123, some do not.) ++.It Ic prompt ++Toggle interactive prompting. ++Interactive prompting ++occurs during multiple file transfers to allow the ++user to selectively retrieve or store files. ++If prompting is turned off (default is on), any ++.Ic mget ++or ++.Ic mput ++will transfer all files, and any ++.Ic mdelete ++will delete all files. ++.It Ic proxy Ar ftp-command ++Execute an ftp command on a secondary control connection. ++This command allows simultaneous connection to two remote ftp ++servers for transferring files between the two servers. ++The first ++.Ic proxy ++command should be an ++.Ic open , ++to establish the secondary control connection. ++Enter the command "proxy ?" to see other ftp commands executable on the ++secondary connection. ++The following commands behave differently when prefaced by ++.Ic proxy : ++.Ic open ++will not define new macros during the auto-login process, ++.Ic close ++will not erase existing macro definitions, ++.Ic get ++and ++.Ic mget ++transfer files from the host on the primary control connection ++to the host on the secondary control connection, and ++.Ic put , ++.Ic mput , ++and ++.Ic append ++transfer files from the host on the secondary control connection ++to the host on the primary control connection. ++Third party file transfers depend upon support of the ftp protocol ++.Dv PASV ++command by the server on the secondary control connection. ++.It Ic put Ar local-file Op Ar remote-file ++Store a local file on the remote machine. ++If ++.Ar remote-file ++is left unspecified, the local file name is used ++after processing according to any ++.Ic ntrans ++or ++.Ic nmap ++settings ++in naming the remote file. ++File transfer uses the ++current settings for ++.Ic type , ++.Ic format , ++.Ic mode , ++and ++.Ic structure . ++.It Ic pwd ++Print the name of the current working directory on the remote ++machine. ++.It Ic quit ++A synonym for ++.Ic bye . ++.It Ic quote Ar arg1 arg2 ... ++The arguments specified are sent, verbatim, to the remote ++.Tn FTP ++server. ++.It Ic recv Ar remote-file Op Ar local-file ++A synonym for get. ++.It Ic reget Ar remote-file Op Ar local-file ++Reget acts like get, except that if ++.Ar local-file ++exists and is ++smaller than ++.Ar remote-file , ++.Ar local-file ++is presumed to be ++a partially transferred copy of ++.Ar remote-file ++and the transfer ++is continued from the apparent point of failure. ++This command ++is useful when transferring very large files over networks that ++are prone to dropping connections. ++.It Ic remotehelp Op Ar command-name ++Request help from the remote ++.Tn FTP ++server. ++If a ++.Ar command-name ++is specified it is supplied to the server as well. ++.It Ic remotestatus Op Ar file-name ++With no arguments, show status of remote machine. ++If ++.Ar file-name ++is specified, show status of ++.Ar file-name ++on remote machine. ++.It Xo ++.Ic rename ++.Op Ar from ++.Op Ar to ++.Xc ++Rename the file ++.Ar from ++on the remote machine, to the file ++.Ar to . ++.It Ic reset ++Clear reply queue. ++This command re-synchronizes command/reply sequencing with the remote ++ftp server. ++Resynchronization may be necessary following a violation of the ftp protocol ++by the remote server. ++.It Ic restart Ar marker ++Restart the immediately following ++.Ic get ++or ++.Ic put ++at the ++indicated ++.Ar marker . ++On ++.Ux ++systems, marker is usually a byte ++offset into the file. ++.It Ic rmdir Ar directory-name ++Delete a directory on the remote machine. ++.It Ic runique ++Toggle storing of files on the local system with unique filenames. ++If a file already exists with a name equal to the target ++local filename for a ++.Ic get ++or ++.Ic mget ++command, a ".1" is appended to the name. ++If the resulting name matches another existing file, ++a ".2" is appended to the original name. ++If this process continues up to ".99", an error ++message is printed, and the transfer does not take place. ++The generated unique filename will be reported. ++Note that ++.Ic runique ++will not affect local files generated from a shell command ++(see below). ++The default value is off. ++.It Ic send Ar local-file Op Ar remote-file ++A synonym for put. ++.It Ic sendport ++Toggle the use of ++.Dv PORT ++commands. ++By default, ++.Nm ftp ++will attempt to use a ++.Dv PORT ++command when establishing ++a connection for each data transfer. ++The use of ++.Dv PORT ++commands can prevent delays ++when performing multiple file transfers. ++If the ++.Dv PORT ++command fails, ++.Nm ftp ++will use the default data port. ++When the use of ++.Dv PORT ++commands is disabled, no attempt will be made to use ++.Dv PORT ++commands for each data transfer. ++This is useful ++for certain ++.Tn FTP ++implementations which do ignore ++.Dv PORT ++commands but, incorrectly, indicate they've been accepted. ++.It Ic site Ar arg1 arg2 ... ++The arguments specified are sent, verbatim, to the remote ++.Tn FTP ++server as a ++.Dv SITE ++command. ++.It Ic size Ar file-name ++Return size of ++.Ar file-name ++on remote machine. ++.It Ic status ++Show the current status of ++.Nm ftp . ++.It Ic struct Op Ar struct-name ++Set the file transfer ++.Ar structure ++to ++.Ar struct-name . ++By default \*(Lqstream\*(Rq structure is used. ++.It Ic sunique ++Toggle storing of files on remote machine under unique file names. ++Remote ftp server must support ftp protocol ++.Dv STOU ++command for ++successful completion. ++The remote server will report unique name. ++Default value is off. ++.It Ic system ++Show the type of operating system running on the remote machine. ++.It Ic tenex ++Set the file transfer type to that needed to ++talk to ++.Tn TENEX ++machines. ++.It Ic trace ++Toggle packet tracing. ++.It Ic type Op Ar type-name ++Set the file transfer ++.Ic type ++to ++.Ar type-name . ++If no type is specified, the current type ++is printed. ++The default type is network ++.Tn ASCII . ++.It Ic umask Op Ar newmask ++Set the default umask on the remote server to ++.Ar newmask . ++If ++.Ar newmask ++is omitted, the current umask is printed. ++.It Xo ++.Ic user Ar user-name ++.Op Ar password ++.Op Ar account ++.Xc ++Identify yourself to the remote ++.Tn FTP ++server. ++If the ++.Ar password ++is not specified and the server requires it, ++.Nm ftp ++will prompt the user for it (after disabling local echo). ++If an ++.Ar account ++field is not specified, and the ++.Tn FTP ++server ++requires it, the user will be prompted for it. ++If an ++.Ar account ++field is specified, an account command will ++be relayed to the remote server after the login sequence ++is completed if the remote server did not require it ++for logging in. ++Unless ++.Nm ftp ++is invoked with \*(Lqauto-login\*(Rq disabled, this ++process is done automatically on initial connection to ++the ++.Tn FTP ++server. ++.It Ic verbose ++Toggle verbose mode. ++In verbose mode, all responses from ++the ++.Tn FTP ++server are displayed to the user. ++In addition, ++if verbose is on, when a file transfer completes, statistics ++regarding the efficiency of the transfer are reported. ++By default, ++verbose is on. ++.It Ic ? Op Ar command ++A synonym for help. ++.El ++.Pp ++Command arguments which have embedded spaces may be quoted with ++quote `"' marks. ++.Sh ABORTING A FILE TRANSFER ++To abort a file transfer, use the terminal interrupt key ++(usually Ctrl-C). ++Sending transfers will be immediately halted. ++Receiving transfers will be halted by sending a ftp protocol ++.Dv ABOR ++command to the remote server, and discarding any further data received. ++The speed at which this is accomplished depends upon the remote ++server's support for ++.Dv ABOR ++processing. ++If the remote server does not support the ++.Dv ABOR ++command, an ++.Ql ftp> ++prompt will not appear until the remote server has completed ++sending the requested file. ++.Pp ++The terminal interrupt key sequence will be ignored when ++.Nm ftp ++has completed any local processing and is awaiting a reply ++from the remote server. ++A long delay in this mode may result from the ABOR processing described ++above, or from unexpected behavior by the remote server, including ++violations of the ftp protocol. ++If the delay results from unexpected remote server behavior, the local ++.Nm ftp ++program must be killed by hand. ++.Sh FILE NAMING CONVENTIONS ++Files specified as arguments to ++.Nm ftp ++commands are processed according to the following rules. ++.Bl -enum ++.It ++If the file name ++.Sq Fl ++is specified, the ++.Ar stdin ++(for reading) or ++.Ar stdout ++(for writing) is used. ++.It ++If the first character of the file name is ++.Sq \&| , ++the ++remainder of the argument is interpreted as a shell command. ++.Nm Ftp ++then forks a shell, using ++.Xr popen 3 ++with the argument supplied, and reads (writes) from the stdout ++(stdin). ++If the shell command includes spaces, the argument ++must be quoted; e.g. ++\*(Lq" ls -lt"\*(Rq. ++A particularly ++useful example of this mechanism is: \*(Lqdir more\*(Rq. ++.It ++Failing the above checks, if ``globbing'' is enabled, ++local file names are expanded ++according to the rules used in the ++.Xr csh 1 ; ++c.f. the ++.Ic glob ++command. ++If the ++.Nm ftp ++command expects a single local file (.e.g. ++.Ic put ) , ++only the first filename generated by the "globbing" operation is used. ++.It ++For ++.Ic mget ++commands and ++.Ic get ++commands with unspecified local file names, the local filename is ++the remote filename, which may be altered by a ++.Ic case , ++.Ic ntrans , ++or ++.Ic nmap ++setting. ++The resulting filename may then be altered if ++.Ic runique ++is on. ++.It ++For ++.Ic mput ++commands and ++.Ic put ++commands with unspecified remote file names, the remote filename is ++the local filename, which may be altered by a ++.Ic ntrans ++or ++.Ic nmap ++setting. ++The resulting filename may then be altered by the remote server if ++.Ic sunique ++is on. ++.El ++.Sh FILE TRANSFER PARAMETERS ++The FTP specification specifies many parameters which may ++affect a file transfer. ++The ++.Ic type ++may be one of \*(Lqascii\*(Rq, \*(Lqimage\*(Rq (binary), ++\*(Lqebcdic\*(Rq, and \*(Lqlocal byte size\*(Rq (for ++.Tn PDP Ns -10's ++and ++.Tn PDP Ns -20's ++mostly). ++.Nm Ftp ++supports the ascii and image types of file transfer, ++plus local byte size 8 for ++.Ic tenex ++mode transfers. ++.Pp ++.Nm Ftp ++supports only the default values for the remaining ++file transfer parameters: ++.Ic mode , ++.Ic form , ++and ++.Ic struct . ++.Sh THE .netrc FILE ++The ++.Pa .netrc ++file contains login and initialization information ++used by the auto-login process. ++It resides in the user's home directory. ++The following tokens are recognized; they may be separated by spaces, ++tabs, or new-lines: ++.Bl -tag -width password ++.It Ic machine Ar name ++Identify a remote machine ++.Ar name . ++The auto-login process searches the ++.Pa .netrc ++file for a ++.Ic machine ++token that matches the remote machine specified on the ++.Nm ftp ++command line or as an ++.Ic open ++command argument. ++Once a match is made, the subsequent ++.Pa .netrc ++tokens are processed, ++stopping when the end of file is reached or another ++.Ic machine ++or a ++.Ic default ++token is encountered. ++.It Ic default ++This is the same as ++.Ic machine ++.Ar name ++except that ++.Ic default ++matches any name. ++There can be only one ++.Ic default ++token, and it must be after all ++.Ic machine ++tokens. ++This is normally used as: ++.Pp ++.Dl default login anonymous password user@site ++.Pp ++thereby giving the user ++.Ar automatic ++anonymous ftp login to ++machines not specified in ++.Pa .netrc . ++This can be overridden ++by using the ++.Fl n ++flag to disable auto-login. ++.It Ic login Ar name ++Identify a user on the remote machine. ++If this token is present, the auto-login process will initiate ++a login using the specified ++.Ar name . ++.It Ic password Ar string ++Supply a password. ++If this token is present, the auto-login process will supply the ++specified string if the remote server requires a password as part ++of the login process. ++Note that if this token is present in the ++.Pa .netrc ++file for any user other ++than ++.Ar anonymous , ++.Nm ftp ++will abort the auto-login process if the ++.Pa .netrc ++is readable by ++anyone besides the user. ++.It Ic account Ar string ++Supply an additional account password. ++If this token is present, the auto-login process will supply the ++specified string if the remote server requires an additional ++account password, or the auto-login process will initiate an ++.Dv ACCT ++command if it does not. ++.It Ic macdef Ar name ++Define a macro. ++This token functions like the ++.Nm ftp ++.Ic macdef ++command functions. ++A macro is defined with the specified name; its contents begin with the ++next ++.Pa .netrc ++line and continue until a null line (consecutive new-line ++characters) is encountered. ++If a macro named ++.Ic init ++is defined, it is automatically executed as the last step in the ++auto-login process. ++.El ++.Sh ENVIRONMENT ++.Nm Ftp ++utilizes the following environment variables. ++.Bl -tag -width Fl ++.It Ev HOME ++For default location of a ++.Pa .netrc ++file, if one exists. ++.It Ev SHELL ++For default shell. ++.El ++.Sh SEE ALSO ++.Xr ftpd 8 ++.Sh HISTORY ++The ++.Nm ftp ++command appeared in ++.Bx 4.2 . ++.Sh BUGS ++Correct execution of many commands depends upon proper behavior ++by the remote server. ++.Pp ++An error in the treatment of carriage returns ++in the ++.Bx 4.2 ++ascii-mode transfer code ++has been corrected. ++This correction may result in incorrect transfers of binary files ++to and from ++.Bx 4.2 ++servers using the ascii type. ++Avoid this problem by using the binary image type. +diff --git a/ftpd/Makefile.am b/ftpd/Makefile.am +index 861fe61..7096935 100644 +--- a/ftpd/Makefile.am ++++ b/ftpd/Makefile.am +@@ -28,6 +28,12 @@ ftpd_SOURCES = ftpcmd.y ftpd.c logwtmp.c popen.c pam.c auth.c \ + + noinst_HEADERS = extern.h + ++if ENABLE_ftpd ++man_MANS = ftpd.8 ++endif ++ ++EXTRA_DIST = $(man_MANS) ftpcmd.c ++ + @PATHDEFS_MAKE@ + + INCLUDES = -I$(top_srcdir)/lib -I../lib -I$(top_srcdir)/libinetutils +@@ -37,5 +43,3 @@ AM_CPPFLAGS = $(PATHDEF_FTPWELCOME) $(PATHDEF_FTPUSERS) \ + + LDADD = -L../libinetutils -linetutils $(LIBLS) ../lib/libgnu.a \ + $(LIBCRYPT) $(LIBWRAP) $(LIBPAM) +- +-EXTRA_DIST = ftpcmd.c +diff --git a/ftpd/ftpd.8 b/ftpd/ftpd.8 +new file mode 100644 +index 0000000..e842141 +--- /dev/null ++++ b/ftpd/ftpd.8 +@@ -0,0 +1,300 @@ ++.\" Copyright (c) 1985, 1988, 1991, 1993 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)ftpd.8 8.3 (Berkeley) 6/1/94 ++.\" ++.Dd June 1, 1994 ++.Dt FTPD 8 ++.Os BSD 4.2 ++.Sh NAME ++.Nm ftpd ++.Nd ++Internet File Transfer Protocol server ++.Sh SYNOPSIS ++.Nm ftpd ++.Op Fl dlADq ++.Op Fl T Ar maxtimeout ++.Op Fl t Ar timeout ++.Op Fl a Ar login-name ++.Sh DESCRIPTION ++.Nm Ftpd ++is the ++Internet File Transfer Protocol ++server process. The server uses the ++.Tn TCP ++protocol ++and listens at the port specified in the ++.Dq ftp ++service specification; see ++.Xr services 5 . ++.Pp ++Available options: ++.Bl -tag -width Ds ++.It Fl d ++Debugging information is written to the syslog ++using LOG_FTP. ++.It Fl l ++Each successful and failed ++.Xr ftp 1 ++session is logged using syslog with a facility of LOG_FTP. ++If this option is specified twice, the retrieve (get), store (put), append, ++delete, make directory, remove directory and rename operations and ++their filename arguments are also logged. ++.It Fl A ++Only anonymous login is allowed. ++.It Fl D ++ftpd enters daemon-mode. That allows ftpd to be run without inetd. ++.It Fl q ++Quiet mode. No information about the version of the ftpd is given to the ++client. ++.It Fl T ++A client may also request a different timeout period; ++the maximum period allowed may be set to ++.Ar timeout ++seconds with the ++.Fl T ++option. ++The default limit is 2 hours. ++.It Fl t ++The inactivity timeout period is set to ++.Ar timeout ++seconds (the default is 15 minutes). ++.It Fl a ++Give anonymous an other ++.Ar login-name ++(anonymous and ftpd will still work). ++.El ++.Pp ++The file ++.Pa /etc/nologin ++can be used to disable ftp access. ++If the file exists, ++.Nm ++displays it and exits. ++If the file ++.Pa /etc/ftpwelcome ++exists, ++.Nm ++prints it before issuing the ++.Dq ready ++message. ++If the file ++.Pa /etc/motd ++exists, ++.Nm ++prints it after a successful login. ++.Pp ++The ftp server currently supports the following ftp requests. ++The case of the requests is ignored. ++.Bl -column "Request" -offset indent ++.It Request Ta "Description" ++.It ABOR Ta "abort previous command" ++.It ACCT Ta "specify account (ignored)" ++.It ALLO Ta "allocate storage (vacuously)" ++.It APPE Ta "append to a file" ++.It CDUP Ta "change to parent of current working directory" ++.It CWD Ta "change working directory" ++.It DELE Ta "delete a file" ++.It HELP Ta "give help information" ++.It LIST Ta "give list files in a directory" Pq Dq Li "ls -lgA" ++.It MKD Ta "make a directory" ++.It MDTM Ta "show last modification time of file" ++.It MODE Ta "specify data transfer" Em mode ++.It NLST Ta "give name list of files in directory" ++.It NOOP Ta "do nothing" ++.It PASS Ta "specify password" ++.It PASV Ta "prepare for server-to-server transfer" ++.It PORT Ta "specify data connection port" ++.It PWD Ta "print the current working directory" ++.It QUIT Ta "terminate session" ++.It REST Ta "restart incomplete transfer" ++.It RETR Ta "retrieve a file" ++.It RMD Ta "remove a directory" ++.It RNFR Ta "specify rename-from file name" ++.It RNTO Ta "specify rename-to file name" ++.It SITE Ta "non-standard commands (see next section)" ++.It SIZE Ta "return size of file" ++.It STAT Ta "return status of server" ++.It STOR Ta "store a file" ++.It STOU Ta "store a file with a unique name" ++.It STRU Ta "specify data transfer" Em structure ++.It SYST Ta "show operating system type of server system" ++.It TYPE Ta "specify data transfer" Em type ++.It USER Ta "specify user name" ++.It XCUP Ta "change to parent of current working directory (deprecated)" ++.It XCWD Ta "change working directory (deprecated)" ++.It XMKD Ta "make a directory (deprecated)" ++.It XPWD Ta "print the current working directory (deprecated)" ++.It XRMD Ta "remove a directory (deprecated)" ++.El ++.Pp ++The following non-standard or ++.Tn UNIX ++specific commands are supported ++by the ++SITE request. ++.Pp ++.Bl -column Request -offset indent ++.It Sy Request Ta Sy Description ++.It UMASK Ta change umask, e.g. ``SITE UMASK 002'' ++.It IDLE Ta set idle-timer, e.g. ``SITE IDLE 60'' ++.It CHMOD Ta change mode of a file, e.g. ``SITE CHMOD 755 filename'' ++.It HELP Ta give help information. ++.El ++.Pp ++The remaining ftp requests specified in Internet RFC 959 ++are ++recognized, but not implemented. ++MDTM and SIZE are not specified in RFC 959, but will appear in the ++next updated FTP RFC. ++.Pp ++The ftp server will abort an active file transfer only when the ++ABOR ++command is preceded by a Telnet "Interrupt Process" (IP) ++signal and a Telnet "Synch" signal in the command Telnet stream, ++as described in Internet RFC 959. ++If a ++STAT ++command is received during a data transfer, preceded by a Telnet IP ++and Synch, transfer status will be returned. ++.Pp ++.Nm Ftpd ++interprets file names according to the ++.Dq globbing ++conventions used by ++.Xr csh 1 . ++This allows users to utilize the metacharacters ++.Dq Li \&*?[]{}~ . ++.Pp ++.Nm Ftpd ++authenticates users according to three rules. ++.Pp ++.Bl -enum -offset indent ++.It ++The login name must be in the password data base, ++.Pa /etc/passwd , ++and not have a null password. ++In this case a password must be provided by the client before any ++file operations may be performed. ++.It ++The login name must not appear in the file ++.Pa /etc/ftpusers . ++.It ++The user must have a standard shell returned by ++.Xr getusershell 3 . ++.It ++If the user name is ++.Dq anonymous ++or ++.Dq ftp , ++an ++anonymous ftp account must be present in the password ++file (user ++.Dq ftp ) . ++In this case the user is allowed ++to log in by specifying any password (by convention an email address for ++the user should be used as the password). ++.El ++.Pp ++In the last case, ++.Nm ftpd ++takes special measures to restrict the client's access privileges. ++The server performs a ++.Xr chroot 2 ++to the home directory of the ++.Dq ftp ++user. ++In order that system security is not breached, it is recommended ++that the ++.Dq ftp ++subtree be constructed with care, following these rules: ++.Bl -tag -width "~ftp/pub" -offset indent ++.It Pa ~ftp ++Make the home directory owned by ++.Dq root ++and unwritable by anyone. ++.ne 1i ++.It Pa ~ftp/bin ++Make this directory owned by ++.Dq root ++and unwritable by anyone (mode 555). ++The program ++.Xr ls 1 ++must be present to support the list command. ++This program should be mode 111. ++.It Pa ~ftp/etc ++Make this directory owned by ++.Dq root ++and unwritable by anyone (mode 555). ++The files ++.Xr passwd 5 ++and ++.Xr group 5 ++must be present for the ++.Xr ls ++command to be able to produce owner names rather than numbers. ++The password field in ++.Xr passwd ++is not used, and should not contain real passwords. ++The file ++.Pa motd , ++if present, will be printed after a successful login. ++These files should be mode 444. ++.It Pa ~ftp/pub ++Make this directory mode 777 and owned by ++.Dq ftp . ++Guests ++can then place files which are to be accessible via the anonymous ++account in this directory. ++.El ++.Sh FILES ++.Bl -tag -width /etc/ftpwelcome -compact ++.It Pa /etc/ftpusers ++List of unwelcome/restricted users. ++.It Pa /etc/ftpwelcome ++Welcome notice. ++.It Pa /etc/motd ++Welcome notice after login. ++.It Pa /etc/nologin ++Displayed and access refused. ++.El ++.Sh SEE ALSO ++.Xr ftp 1 , ++.Xr getusershell 3 , ++.Xr syslogd 8 ++.Sh BUGS ++The server must run as the super-user ++to create sockets with privileged port numbers. It maintains ++an effective user id of the logged in user, reverting to ++the super-user only when binding addresses to sockets. The ++possible security holes have been extensively ++scrutinized, but are possibly incomplete. ++.Sh HISTORY ++The ++.Nm ++command appeared in ++.Bx 4.2 . +diff --git a/whois/whois.1 b/whois/whois.1 +new file mode 100644 +index 0000000..7424da8 +--- /dev/null ++++ b/whois/whois.1 +@@ -0,0 +1,96 @@ ++.TH WHOIS 1 "3 December 1999" "Marco d'Itri" "Debian GNU/Linux" ++.SH NAME ++whois \- client for the whois directory service ++.SH SYNOPSIS ++.B whois ++[\~\fB-h\fP\~\fIHOST\fP\~] ++[\~\fB-p\fP\~ \fIPORT\fP\~] ++[\~\fB-aCFHlLMmrRSVx\fP\~] ++[\~\fB-g\fP\~\fISOURCE:FIRST-LAST\fP\~] ++[\~\fB-i\fP\~\fIATTR\fP\~] ++[\~\fB-S\fP\~\fISOURCE\fP\~] ++[\~\fB-T\fP\~\fITYPE\fP\~] ++.I object ++ ++.B whois ++[\~\fI-t\fP\~] ++[\~\fI-v\fP\~] ++.I template ++.B whois ++[\~\fI-q\fP\~] ++.I keyword ++.PP ++.SH DESCRIPTION ++\fBwhois\fP searches for an object in a \fIRFC-812\fP database. ++ ++This version of the whois client tries to guess the right server to ++ask for the specified object. If no guess can be made it will connect ++to whois.internic.net for domains, ++.\" whois.networksolutions.com for nic handles, ++whois.arin.net for IPv4 addresses and whois.6bone.net for ++IPv6 addresses. ++.PP ++.SH OPTIONS ++.TP 8 ++.B \-h HOST ++Connect to HOST. ++.TP 8 ++.B \-H ++Do not display the legal disclaimers some registries like to show you. ++.TP 8 ++.B \-p PORT ++Connect to PORT. ++.TP 8 ++.B \-V ++Be verbose. ++.TP 8 ++Other options are flags understood by RIPE-like servers. ++.SH NOTES ++Please remember that \fIwhois.networksolutions.com\fP by default will ++only search in the domains database. If you want to search for hostnames, ++NIC handles or people names you have to prepend the appropriate keyword ++(\fIHO\fPst, \fIHA\fPndle or \fINA\fPme). ++.P ++If the \fI!\fP character is prepended to a NIC handle, the default ++server becomes \fIwhois.networksolutions.com\fP. ++.P ++When querying \fIwhois.arin.net\fP for AS numbers, the program will ++automatically convert the request in the appropriate format, inserting ++a space after the string "AS". ++.P ++When querying \fIwhois.ncst.ernet.in\fP for a string without spaces, the ++\fIdomain\fP keyword is prepended. ++.P ++When querying \fIwhois.corenic.net\fP, machine readable output is requested. ++.P ++RIPE-specific options are ignored when querying non-RIPE servers. ++.SH ENVIRONMENT ++.IP LANG ++When querying \fIwhois.nic.ad.jp\fP english text is requested unless the ++\fILANG\fP environment variable specifies a Japanese locale. ++.IP "WHOIS_SERVER" ++This server will be queried if the program cannot guess where the object ++is located. If the variable does not exist then ++\fIwhois.internic.net\fP will be queried. ++.IP "WHOIS_HIDE" ++If this variable is defined, legal disclaimers will be hidden even if ++the \fI-H\fP flag is not used. ++.SH "SEE ALSO" ++\fIRFC 812\fP: NICNAME/WHOIS ++.PP ++\fIRIPE-157\fP, \fIRIPE-189\fP: RIPE NCC Database Documentation ++.PP ++Detailed help on available flags can be found in \fIRIPE-157\fP or in ++the help file which can be obtained with the command: ++.IP ++.B whois -h whois.ripe.net HELP ++.SH HISTORY ++This program closely tracks the user interface of the whois client ++developed at RIPE by Ambrose Magee and others on the base of the ++original BSD client. ++I also added support for the protocol extensions developed by David ++Kessens of QWest for the 6bone server. ++.SH AUTHOR ++.B Whois ++and this man page were written by Marco d'Itri <\fImd@linux.it\fP> ++and are licensed under the GPL. +diff --git a/libls/Makefile.am b/libls/Makefile.am +index b5fe1f5..e8be015 100644 +--- a/libls/Makefile.am ++++ b/libls/Makefile.am +@@ -26,3 +26,5 @@ libls_a_SOURCES = cmp.c stat_flags.c ls.c print.c util.c fts.c + noinst_HEADERS = extern.h ls.h fts.h + + INCLUDES=-I$(top_srcdir)/lib -I../lib ++ ++EXTRA_DIST = ls.1 +diff --git a/libls/ls.1 b/libls/ls.1 +new file mode 100644 +index 0000000..04231ea +--- /dev/null ++++ b/libls/ls.1 +@@ -0,0 +1,446 @@ ++.\" $OpenBSD: ls.1,v 1.23 2000/03/24 21:41:08 aaron Exp $ ++.\" $NetBSD: ls.1,v 1.14 1995/12/05 02:44:01 jtc Exp $ ++.\" ++.\" Copyright (c) 1980, 1990, 1991, 1993, 1994 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" This code is derived from software contributed to Berkeley by ++.\" the Institute of Electrical and Electronics Engineers, Inc. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)ls.1 8.7 (Berkeley) 7/29/94 ++.\" ++.Dd July 29, 1994 ++.Dt LS 1 ++.Os ++.Sh NAME ++.Nm ls ++.Nd list directory contents ++.Sh SYNOPSIS ++.Nm ls ++.Op Fl 1ACFLRSTWacdfgiklmnopqrstux ++.Op Ar file ... ++.Sh DESCRIPTION ++For each operand that names a ++.Ar file ++of a type other than ++directory, ++.Nm ++displays its name as well as any requested, ++associated information. ++For each operand that names a ++.Ar file ++of type directory, ++.Nm ++displays the names of files contained ++within that directory, as well as any requested, associated ++information. ++.Pp ++If no operands are given, the contents of the current ++directory are displayed. ++If more than one operand is given, ++non-directory operands are displayed first; directory ++and non-directory operands are sorted separately and in ++lexicographical order. ++.Pp ++The options are as follows: ++.Bl -tag -width indent ++.It Fl A ++List all entries except for ++.Dq \&. ++and ++.Dq \&.. . ++Always set for the super-user. ++.It Fl C ++Force multi-column output; this is the default when output is to a terminal. ++.It Fl F ++Display a slash ++.Pq Sq / ++immediately after each pathname that is a directory, ++an asterisk ++.Pq Sq \&* ++after each that is executable, ++an at sign ++.Pq Sq @ ++after each symbolic link, ++a percent sign ++.Pq Sq % ++after each whiteout, ++an equal sign ++.Pq Sq = ++after each socket, ++and a vertical bar ++.Pq Sq \&| ++after each that is a FIFO. ++.It Fl L ++If argument is a symbolic link, list the file or directory the link references ++rather than the link itself. ++.It Fl R ++Recursively list subdirectories encountered. ++.It Fl S ++Sort by size, largest file first. ++.It Fl T ++Display complete time information for the file, including ++month, day, hour, minute, second, and year. ++This option has no effect unless one of the long format ++.Pq Fl l , Fl n ++options is also specified. ++.It Fl W ++Display whiteouts when scanning directories. ++.It Fl a ++Include directory entries whose names begin with a ++dot ++.Pq Sq \&. . ++.It Fl c ++Use time file's status was last changed instead of last modification ++time for sorting ++.Pq Fl t ++or printing ++.Pq Fl l , Fl n . ++.It Fl d ++Directories are listed as plain files (not searched recursively) and ++symbolic links in the argument list are not indirected through. ++.It Fl f ++Output is not sorted. ++.It Fl g ++Does nothing; kept for compatibility with older versions of ++.Xr ls 1 . ++.It Fl i ++For each file, print its inode number. ++.It Fl k ++Modifies the ++.Fl s ++option, causing the sizes to be reported in kilobytes. ++Overrides any value specified by the ++.Ev BLOCKSIZE ++environment variable. ++.It Fl l ++(The lowercase letter ++.Dq ell. Ns ) ++List in long format (see below). ++If the output is to a terminal, a total sum of all file ++sizes is output on a line before the long listing. ++.It Fl m ++Stream output format; list files across the page, separated by commas. ++.It Fl n ++List in long format as in ++.Fl l , ++but retain user and group IDs in a numeric format. ++.It Fl o ++Include the file flags in a long format ++.Pq Fl l , Fl n ++output. ++.It Fl p ++Display a slash ++.Pq Sq \&/ ++immediately after each pathname that is a directory. ++.It Fl q ++Force printing of non-graphic characters in file names as ++the character ++.Dq ? ; ++this is the default when output is to a terminal. ++.It Fl r ++Reverse the order of the sort to get reverse ++lexicographical order or the smallest or oldest entries first. ++.It Fl s ++Display the number of file system blocks actually used by each file, ++where partial units are rounded up to the next integer value. ++Blocks are 512 bytes unless overridden by the ++.Fl k ++flag or ++.Ev BLOCKSIZE ++environment variable. ++.It Fl t ++Sort by time modified (most recently modified ++first) before sorting the operands in lexicographical ++order. ++.It Fl u ++Use file's last access time ++instead of last modification time ++for sorting ++.Pq Fl t ++or printing ++.Pq Fl l , Fl n . ++.It Fl x ++Multi-column output sorted across the page rather than down the page. ++.It Fl \&1 ++(The numeric digit ++.Dq one. Ns ) ++Force output to be one entry per line. ++This is the default when ++output is not to a terminal. ++.El ++.Pp ++The ++.Fl 1 , ++.Fl C , ++.Fl l , ++and ++.Fl n ++options all override each other; the last one specified determines ++the format used. ++.Pp ++The ++.Fl c ++and ++.Fl u ++options override each other; the last one specified determines ++the file time used. ++The ++.Fl f ++option overrides any occurrence of either. ++.Pp ++By default, ++.Nm ++lists one entry per line to standard ++output; the exceptions are to terminals or when the ++.Fl C ++or ++.Fl m ++options are specified. ++.Pp ++File information is displayed with one or more ++<blank>s separating the information associated with the ++.Fl i , ++.Fl s , ++.Fl l , ++and ++.Fl n ++options. ++.Ss The Long Format ++If the ++.Fl l ++or ++.Fl n ++options are given, the following information ++is displayed for each file: ++mode, ++number of links, ++owner, ++group, ++size in bytes, ++time of last modification ++.Pq Dq mmm dd HH:MM , ++and the pathname. ++In addition, for each directory whose contents are displayed, the first ++line displayed is the total number of blocks used by the files in the ++directory. ++Blocks are 512 bytes unless overridden by the ++.Fl k ++option or ++.Ev BLOCKSIZE ++environment variable. ++.Pp ++If the owner or group name is not a known user or group name, respectively, ++or the ++.Fl n ++option is given, the numeric ID is displayed. ++.Pp ++If the file is a character special or block special file, ++the major and minor device numbers for the file are displayed ++in the size field. ++.Pp ++If the ++.Fl T ++option is given, the time of last modification is displayed using the ++format ++.Dq mmm dd HH:MM:SS CCYY . ++.Pp ++If the file is a symbolic link, the pathname of the ++linked-to file is preceded by ++.Dq \-> . ++.Pp ++The file mode printed under the ++.Fl l ++or ++.Fl n ++options consists of the entry type, owner permissions, and group ++permissions. ++The entry type character describes the type of file, as follows: ++.Pp ++.Bl -tag -width 4n -offset indent -compact ++.It Sy b ++block special file ++.It Sy c ++character special file ++.It Sy d ++directory ++.It Sy l ++symbolic link ++.It Sy s ++socket link ++.It Sy p ++.Tn FIFO ++.It Sy w ++whiteout ++.It Sy \- ++regular file ++.El ++.Pp ++The next three fields ++are three characters each: ++owner permissions, ++group permissions, and ++other permissions. ++Each field has three character positions: ++.Pp ++.Bl -enum -offset indent -compact ++.It ++If ++.Sy r , ++the file is readable; if ++.Sy \- , ++it is not readable. ++.It ++If ++.Sy w , ++the file is writable; if ++.Sy \- , ++it is not writable. ++.It ++The first of the following that applies: ++.Bl -tag -width 4n -offset indent ++.It Sy S ++If in the owner permissions, the file is not executable and ++set-user-ID mode is set. ++If in the group permissions, the file is not executable ++and set-group-ID mode is set. ++.It Sy s ++If in the owner permissions, the file is executable ++and set-user-ID mode is set. ++If in the group permissions, the file is executable ++and setgroup-ID mode is set. ++.It Sy x ++The file is executable or the directory is ++searchable. ++.It Sy \- ++The file is neither readable, writable, executable, ++nor set-user-ID, nor set-group-ID, nor sticky (see below). ++.El ++.Pp ++These next two apply only to the third character in the last group ++(other permissions): ++.Bl -tag -width 4n -offset indent ++.It Sy T ++The sticky bit is set ++(mode ++.Li 1000 ) , ++but neither executable nor searchable (see ++.Xr chmod 1 ++or ++.Xr sticky 8 ) . ++.It Sy t ++The sticky bit is set (mode ++.Li 1000 ) , ++and is searchable or executable ++(see ++.Xr chmod 1 ++or ++.Xr sticky 8 ) . ++.El ++.El ++.Pp ++In addition, if the ++.Fl o ++option is specified, the file flags (see ++.Xr chflags 1 ) ++are displayed as comma-separated strings in front of the file size, ++abbreviated as follows: ++.Pp ++.Bl -tag -width 8n -offset indent -compact ++.It \&- ++no flags ++.It uappnd ++user append-only ++.It uchg ++user immutable ++.It nodump ++do not dump ++.It opaque ++opaque file ++.It sappnd ++system append-only ++.It arch ++archived ++.It schg ++system immutable ++.El ++.Pp ++The ++.Nm ++utility exits 0 on success or >0 if an error occurred. ++.Sh ENVIRONMENT ++The following environment variables affect the execution of ++.Nm ls : ++.Bl -tag -width BLOCKSIZE ++.It Ev BLOCKSIZE ++If the environment variable ++.Ev BLOCKSIZE ++is set, and the ++.Fl k ++option is not specified, the block counts ++(see ++.Fl s ) ++will be displayed in units of that size block. ++.It COLUMNS ++If this variable contains a string representing a ++decimal integer, it is used as the ++column position width for displaying ++multiple-text-column output. ++The ++.Nm ++utility calculates how ++many pathname text columns to display ++based on the width provided ++(see ++.Fl C ) . ++.It Ev TZ ++The timezone to use when displaying dates. ++See ++.Xr environ 7 ++for more information. ++.El ++.Sh COMPATIBILITY ++The group field is now automatically included in the long listing for ++files in order to be compatible with the ++.St -p1003.2 ++specification. ++.Sh SEE ALSO ++.Xr chflags 1 , ++.Xr chmod 1 , ++.Xr symlink 7 , ++.Xr sticky 8 ++.Sh HISTORY ++An ++.Nm ++utility appeared in ++.At v5 . ++.Sh STANDARDS ++The ++.Nm ++utility is expected to be a superset of the ++.St -p1003.2 ++specification. +diff --git a/ping/Makefile.am b/ping/Makefile.am +index 33584dd..a67d5bc 100644 +--- a/ping/Makefile.am ++++ b/ping/Makefile.am +@@ -21,6 +21,12 @@ bin_PROGRAMS = @ping_BUILD@ @ping6_BUILD@ + + EXTRA_PROGRAMS = ping ping6 + ++if ENABLE_ping ++man_MANS = ping.8 ++endif ++ ++EXTRA_DIST = $(man_MANS) ++ + ping_LDADD = -L../libinetutils -linetutils -L../libicmp -licmp ../lib/libgnu.a + ping6_LDADD = ../lib/libgnu.a -L../libinetutils -linetutils + INCLUDES = -I$(top_srcdir)/lib -I../lib -I$(top_srcdir)/libicmp \ +@@ -42,3 +48,5 @@ install-ping-hook: + done + + install-exec-hook: @ping_INSTALL_HOOK@ ++ ++# EOF +diff --git a/ping/ping.8 b/ping/ping.8 +new file mode 100755 +index 0000000..2382365 +--- /dev/null ++++ b/ping/ping.8 +@@ -0,0 +1,328 @@ ++.\" Copyright (c) 1985, 1991, 1993 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 3. All advertising materials mentioning features or use of this software ++.\" must display the following acknowledgement: ++.\" This product includes software developed by the University of ++.\" California, Berkeley and its contributors. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)ping.8 8.3 (Berkeley) 4/28/95 ++.\" ++.Dd April 28, 1995 ++.Dt PING 8 ++.Os BSD 4.3 ++.Sh NAME ++.Nm ping ++.Nd send ++.Tn ICMP ECHO_REQUEST ++packets to network hosts ++.Sh SYNOPSIS ++.Nm ping ++.Op Fl Rdfnqrv ++.Op Fl c Ar count ++.Op Fl i Ar wait ++.Op Fl l Ar preload ++.Op Fl p Ar pattern ++.Op Fl s Ar packetsize ++.Ar host ++.Sh DESCRIPTION ++.Nm Ping ++uses the ++.Tn ICMP ++protocol's mandatory ++.Tn ECHO_REQUEST ++datagram to elicit an ++.Tn ICMP ECHO_RESPONSE ++from a host or gateway. ++.Tn ECHO_REQUEST ++datagrams (``pings'') have an IP and ++.Tn ICMP ++header, ++followed by a ++.Dq struct timeval ++and then an arbitrary number of ``pad'' bytes used to fill out the ++packet. ++The options are as follows: ++.Bl -tag -width Ds ++.It Fl c Ar count ++Stop after sending (and receiving) ++.Ar count ++.Tn ECHO_RESPONSE ++packets. ++.It Fl d ++Set the ++.Dv SO_DEBUG ++option on the socket being used. ++.It Fl f ++Flood ping. ++Outputs packets as fast as they come back or one hundred times per second, ++whichever is more. ++For every ++.Tn ECHO_REQUEST ++sent a period ``.'' is printed, while for every ++.Tn ECHO_REPLY ++received a backspace is printed. ++This provides a rapid display of how many packets are being dropped. ++Only the super-user may use this option. ++.Bf -emphasis ++This can be very hard on a network and should be used with caution. ++.Ef ++.It Fl i Ar wait ++Wait ++.Ar wait ++seconds ++.Em between sending each packet . ++The default is to wait for one second between each packet. ++This option is incompatible with the ++.Fl f ++option. ++.It Fl l Ar preload ++If ++.Ar preload ++is specified, ++.Nm ping ++sends that many packets as fast as possible before falling into its normal ++mode of behavior. ++.It Fl n ++Numeric output only. ++No attempt will be made to lookup symbolic names for host addresses. ++.It Fl p Ar pattern ++You may specify up to 16 ``pad'' bytes to fill out the packet you send. ++This is useful for diagnosing data-dependent problems in a network. ++For example, ++.Dq Li \-p ff ++will cause the sent packet to be filled with all ++ones. ++.It Fl q ++Quiet output. ++Nothing is displayed except the summary lines at startup time and ++when finished. ++.It Fl R ++Record route. ++Includes the ++.Tn RECORD_ROUTE ++option in the ++.Tn ECHO_REQUEST ++packet and displays ++the route buffer on returned packets. ++Note that the IP header is only large enough for nine such routes. ++Many hosts ignore or discard this option. ++.It Fl r ++Bypass the normal routing tables and send directly to a host on an attached ++network. ++If the host is not on a directly-attached network, an error is returned. ++This option can be used to ping a local host through an interface ++that has no route through it (e.g., after the interface was dropped by ++.Xr routed 8 ) . ++.It Fl s Ar packetsize ++Specifies the number of data bytes to be sent. ++The default is 56, which translates into 64 ++.Tn ICMP ++data bytes when combined ++with the 8 bytes of ++.Tn ICMP ++header data. ++.It Fl v ++Verbose output. ++.Tn ICMP ++packets other than ++.Tn ECHO_RESPONSE ++that are received are listed. ++.El ++.Pp ++When using ++.Nm ping ++for fault isolation, it should first be run on the local host, to verify ++that the local network interface is up and running. ++Then, hosts and gateways further and further away should be ``pinged''. ++Round-trip times and packet loss statistics are computed. ++If duplicate packets are received, they are not included in the packet ++loss calculation, although the round trip time of these packets is used ++in calculating the minimum/average/maximum round-trip time numbers. ++When the specified number of packets have been sent (and received) or ++if the program is terminated with a ++.Dv SIGINT , ++a brief summary is displayed. ++.Pp ++This program is intended for use in network testing, measurement and ++management. ++Because of the load it can impose on the network, it is unwise to use ++.Nm ping ++during normal operations or from automated scripts. ++.Sh ICMP PACKET DETAILS ++An IP header without options is 20 bytes. ++An ++.Tn ICMP ++.Tn ECHO_REQUEST ++packet contains an additional 8 bytes worth ++of ++.Tn ICMP ++header followed by an arbitrary amount of data. ++When a ++.Ar packetsize ++is given, this indicated the size of this extra piece of data (the ++default is 56). ++Thus the amount of data received inside of an IP packet of type ++.Tn ICMP ++.Tn ECHO_REPLY ++will always be 8 bytes more than the requested data space ++(the ++.Tn ICMP ++header). ++.Pp ++If the data space is at least eight bytes large, ++.Nm ping ++uses the first eight bytes of this space to include a timestamp which ++it uses in the computation of round trip times. ++If less than eight bytes of pad are specified, no round trip times are ++given. ++.Sh DUPLICATE AND DAMAGED PACKETS ++.Nm Ping ++will report duplicate and damaged packets. ++Duplicate packets should never occur, and seem to be caused by ++inappropriate link-level retransmissions. ++Duplicates may occur in many situations and are rarely (if ever) a ++good sign, although the presence of low levels of duplicates may not ++always be cause for alarm. ++.Pp ++Damaged packets are obviously serious cause for alarm and often ++indicate broken hardware somewhere in the ++.Nm ping ++packet's path (in the network or in the hosts). ++.Sh TRYING DIFFERENT DATA PATTERNS ++The (inter)network layer should never treat packets differently depending ++on the data contained in the data portion. ++Unfortunately, data-dependent problems have been known to sneak into ++networks and remain undetected for long periods of time. ++In many cases the particular pattern that will have problems is something ++that doesn't have sufficient ``transitions'', such as all ones or all ++zeros, or a pattern right at the edge, such as almost all zeros. ++It isn't necessarily enough to specify a data pattern of all zeros (for ++example) on the command line because the pattern that is of interest is ++at the data link level, and the relationship between what you type and ++what the controllers transmit can be complicated. ++.Pp ++This means that if you have a data-dependent problem you will probably ++have to do a lot of testing to find it. ++If you are lucky, you may manage to find a file that either can't be sent ++across your network or that takes much longer to transfer than other ++similar length files. ++You can then examine this file for repeated patterns that you can test ++using the ++.Fl p ++option of ++.Nm ping . ++.Sh TTL DETAILS ++The ++.Tn TTL ++value of an IP packet represents the maximum number of IP routers ++that the packet can go through before being thrown away. ++In current practice you can expect each router in the Internet to decrement ++the ++.Tn TTL ++field by exactly one. ++.Pp ++The ++.Tn TCP/IP ++specification states that the ++.Tn TTL ++field for ++.Tn TCP ++packets should ++be set to 60, but many systems use smaller values (4.3 ++.Tn BSD ++uses 30, 4.2 used ++15). ++.Pp ++The maximum possible value of this field is 255, and most Unix systems set ++the ++.Tn TTL ++field of ++.Tn ICMP ECHO_REQUEST ++packets to 255. ++This is why you will find you can ``ping'' some hosts, but not reach them ++with ++.Xr telnet 1 ++or ++.Xr ftp 1 . ++.Pp ++In normal operation ping prints the ttl value from the packet it receives. ++When a remote system receives a ping packet, it can do one of three things ++with the ++.Tn TTL ++field in its response: ++.Bl -bullet ++.It ++Not change it; this is what Berkeley Unix systems did before the ++.Bx 4.3 tahoe ++release. ++In this case the ++.Tn TTL ++value in the received packet will be 255 minus the ++number of routers in the round-trip path. ++.It ++Set it to 255; this is what current Berkeley Unix systems do. ++In this case the ++.Tn TTL ++value in the received packet will be 255 minus the ++number of routers in the path ++.Xr from ++the remote system ++.Em to ++the ++.Nm ping Ns Em ing ++host. ++.It ++Set it to some other value. ++Some machines use the same value for ++.Tn ICMP ++packets that they use for ++.Tn TCP ++packets, for example either 30 or 60. ++Others may use completely wild values. ++.El ++.Sh BUGS ++Many Hosts and Gateways ignore the ++.Tn RECORD_ROUTE ++option. ++.Pp ++The maximum IP header length is too small for options like ++.Tn RECORD_ROUTE ++to ++be completely useful. ++There's not much that that can be done about this, however. ++.Pp ++Flood pinging is not recommended in general, and flood pinging the ++broadcast address should only be done under very controlled conditions. ++.Sh SEE ALSO ++.Xr netstat 1 , ++.Xr ifconfig 8 , ++.Xr routed 8 ++.Sh HISTORY ++The ++.Nm ++command appeared in ++.Bx 4.3 . +diff --git a/src/Makefile.am b/src/Makefile.am +index e19a0ce..c893100 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -24,6 +24,43 @@ inetdaemon_PROGRAMS = + bin_PROGRAMS = + EXTRA_PROGRAMS = + ++man_MANS = ++ ++if ENABLE_inetd ++man_MANS += inetd.8 ++endif ++if ENABLE_logger ++man_MANS += logger.1 ++endif ++if ENABLE_rcp ++man_MANS += rcp.1 ++endif ++if ENABLE_rexecd ++man_MANS += rexecd.8 ++endif ++if ENABLE_rlogin ++man_MANS += rlogin.1 ++endif ++if ENABLE_rlogind ++man_MANS += rlogind.8 ++endif ++if ENABLE_rsh ++man_MANS += rsh.1 ++endif ++if ENABLE_rshd ++man_MANS += rshd.8 ++endif ++if ENABLE_syslogd ++man_MANS += syslog.conf.5 syslogd.8 ++endif ++if ENABLE_tftp ++man_MANS += tftp.1 ++endif ++if ENABLE_tftpd ++man_MANS += tftpd.8 ++endif ++ ++EXTRA_DIST = $(man_MANS) + + bin_PROGRAMS += @hostname_BUILD@ + hostname_SOURCES = hostname.c +diff --git a/src/inetd.8 b/src/inetd.8 +new file mode 100644 +index 0000000..942ab3c +--- /dev/null ++++ b/src/inetd.8 +@@ -0,0 +1,439 @@ ++.\" Copyright (c) 1985, 1991, 1993, 1994 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)inetd.8 8.4 (Berkeley) 6/1/94 ++.\" ++.Dd October 21, 2006 ++.Dt INETD 8 ++.Os BSD 4.4 ++.Sh NAME ++.Nm inetd ++.Nd internet ++.Dq super-server ++.Sh SYNOPSIS ++.Nm inetd ++.Op Fl d ++.Op Fl R Ar rate ++.Op Fl -environment ++.Op Fl -resolve ++.Op Ar configuration_files ... ++.Sh WARNING ++The information in this man page may be inaccurate or incomplete. The ++authoritative documentation for the ++.Nm inetd ++utility is contained in ++.Pa inetutils.info ++document. To access it from your command line, type ++.Pp ++\fBinfo inetd\fR ++.Pp ++The online copy of the documentation is available at the following ++address: ++.Pp ++http://www.gnu.org/software/inetutils/manual. ++.Sh DESCRIPTION ++The ++.Nm inetd ++program ++should be run at boot time by ++.Pa /etc/rc ++(see ++.Xr rc 8 ) . ++It then listens for connections on certain ++internet sockets. When a connection is found on one ++of its sockets, it decides what service the socket ++corresponds to, and invokes a program to service the request. ++The server program is invoked with the service socket ++as its standard input, output and error descriptors. ++After the program is ++finished, ++.Nm inetd ++continues to listen on the socket (except in some cases which ++will be described below). Essentially, ++.Nm inetd ++allows running one daemon to invoke several others, ++reducing load on the system. ++.Pp ++The options available for ++.Nm inetd: ++.Bl -tag -width Ds ++.It Fl d, -debug ++Turns on debugging. ++.It Fl -environment ++Pass local and remote address data via environment variables. See ++\fBENVIRONMENT\fP below. ++.It Fl R, -rate Ar rate ++Specifies the maximum number of times a service can be invoked ++in one minute; the default is 1000. ++.It Fl -resolve ++Resolve local and remote IP addresses and pass them to the server program ++via \fBTCPLOCALHOST\fP and \fBTCPREMOTEHOST\fP environment variables. See ++\fBENVIRONMENT\fP below. This option implies \fB--environment\fP. ++.It Fl -version ++Shows the version. ++.It Fl -help ++Shows the help. ++.El ++.Pp ++Upon execution, ++.Nm inetd ++reads its configuration information from a configuration ++file on the command line, by default, ++.Pa /etc/inetd.conf and /etc/inetd.d . ++If the configuration pathname is a directory, all the files in the ++directory are read like a configuration file. All of the configuration ++files are read and merged. There must be an entry for each field in ++the configuration file, with entries for each field separated by a tab ++or a space. Comments are denoted by a ``#'' at the beginning of a ++line. The fields of the configuration file are as follows: ++.Pp ++.Bd -unfilled -offset indent -compact ++service name ++socket type ++protocol ++wait/nowait[.max] ++user ++server program ++server program arguments ++.Ed ++.Pp ++There are two types of services that ++.Nm inetd ++can start: standard and TCPMUX. ++A standard service has a well-known port assigned to it; ++it may be a service that implements an official Internet standard or is a ++BSD-specific service. ++As described in ++.Tn RFC 1078 , ++TCPMUX services are nonstandard services that do not have a ++well-known port assigned to them. ++They are invoked from ++.Nm inetd ++when a program connects to the ++.Dq tcpmux ++well-known port and specifies ++the service name. ++This feature is useful for adding locally-developed servers. ++.Pp ++The ++.Em service-name ++entry is the name of a valid service in ++the file ++.Pa /etc/services . ++For ++.Dq internal ++services (discussed below), the service ++name ++.Em must ++be the official name of the service (that is, the first entry in ++.Pa /etc/services ) . ++For TCPMUX services, the value of the ++.Em service-name ++field consists of the string ++.Dq tcpmux ++followed by a slash and the ++locally-chosen service name. ++The service names listed in ++.Pa /etc/services ++and the name ++.Dq help ++are reserved. ++Try to choose unique names for your TCPMUX services by prefixing them with ++your organization's name and suffixing them with a version number. ++.Pp ++The ++.Em socket-type ++should be one of ++.Dq stream , ++.Dq dgram , ++.Dq raw , ++.Dq rdm , ++or ++.Dq seqpacket , ++depending on whether the socket is a stream, datagram, raw, ++reliably delivered message, or sequenced packet socket. ++TCPMUX services must use ++.Dq stream . ++.Pp ++The ++.Em protocol ++must be a valid protocol as given in ++.Pa /etc/protocols . ++Examples might be ++.Dq tcp ++or ++.Dq udp . ++TCPMUX services must use ++.Dq tcp . ++.Pp ++The ++.Em wait/nowait[.max] ++entry specifies whether the server that is invoked by inetd will take over ++the socket associated with the service access point, and thus whether ++.Nm inetd ++should wait for the server to exit before listening for new service ++requests. ++Datagram servers must use ++.Dq wait , ++as they are always invoked with the original datagram socket bound ++to the specified service address. ++These servers must read at least one datagram from the socket ++before exiting. ++If a datagram server connects ++to its peer, freeing the socket so ++.Nm inetd ++can received further messages on the socket, it is said to be ++a ++.Dq multi-threaded ++server; ++it should read one datagram from the socket and create a new socket ++connected to the peer. ++It should fork, and the parent should then exit ++to allow ++.Nm inetd ++to check for new service requests to spawn new servers. ++Datagram servers which process all incoming datagrams ++on a socket and eventually time out are said to be ++.Dq single-threaded . ++.Xr Comsat 8 , ++.Pq Xr biff 1 ++and ++.Xr talkd 8 ++are both examples of the latter type of ++datagram server. ++.Xr Tftpd 8 ++is an example of a multi-threaded datagram server. ++.Pp ++Servers using stream sockets generally are multi-threaded and ++use the ++.Dq nowait ++entry. ++Connection requests for these services are accepted by ++.Nm inetd , ++and the server is given only the newly-accepted socket connected ++to a client of the service. ++Most stream-based services operate in this manner. ++Stream-based servers that use ++.Dq wait ++are started with the listening service socket, and must accept ++at least one connection request before exiting. ++Such a server would normally accept and process incoming connection ++requests until a timeout. ++TCPMUX services must use ++.Dq nowait . ++.Pp ++The optional ++.Dq max ++suffix (separated from ++.Dq wait ++or ++.Dq nowait ++by a dot) is a decimal number that specifies the maximum number of server ++instances that may be spawned from ++.Nm inetd ++within an interval of 60 seconds. It overrides the settings of the ++\fB-R\fP command line option. ++.Pp ++The ++.Em user ++entry should contain the user name of the user as whom the server ++should run. This allows for servers to be given less permission ++than root. ++.Pp ++The ++.Em server-program ++entry should contain the pathname of the program which is to be ++executed by ++.Nm inetd ++when a request is found on its socket. If ++.Nm inetd ++provides this service internally, this entry should ++be ++.Dq internal . ++.Pp ++The ++.Em server program arguments ++should be just as arguments ++normally are, starting with argv[0], which is the name of ++the program. If the service is provided internally, the ++word ++.Dq internal ++should take the place of this entry. ++.Pp ++The ++.Nm inetd ++program ++provides several ++.Dq trivial ++services internally by use of ++routines within itself. These services are ++.Dq echo , ++.Dq discard , ++.Dq chargen ++(character generator), ++.Dq daytime ++(human readable time), and ++.Dq time ++(machine readable time, ++in the form of the number of seconds since midnight, January ++1, 1900). All of these services are tcp based. For ++details of these services, consult the appropriate ++.Tn RFC ++from the Network Information Center. ++.Pp ++The ++.Nm inetd ++program ++rereads its configuration file when it receives a hangup signal, ++.Dv SIGHUP . ++Services may be added, deleted or modified when the configuration file ++is reread. ++.Sh TCPMUX ++.Pp ++.Tn RFC 1078 ++describes the TCPMUX protocol: ++``A TCP client connects to a foreign host on TCP port 1. It sends the ++service name followed by a carriage-return line-feed <CRLF>. The ++service name is never case sensitive. The server replies with a ++single character indicating positive (+) or negative (\-) ++acknowledgment, immediately followed by an optional message of ++explanation, terminated with a <CRLF>. If the reply was positive, ++the selected protocol begins; otherwise the connection is closed.'' ++The program is passed the TCP connection as file descriptors 0 and 1. ++.Pp ++If the TCPMUX service name begins with a ``+'', ++.Nm inetd ++returns the positive reply for the program. ++This allows you to invoke programs that use stdin/stdout ++without putting any special server code in them. ++.Pp ++The special service name ++.Dq help ++causes ++.Nm inetd ++to list TCPMUX services in ++.Pa inetd.conf . ++.ne 1i ++.Sh "ENVIRONMENT" ++If a connection is made with a streaming protocol (TCP) and if ++\fB--environment\fP option has been given, inetd will set ++the following environment variables before starting the program: ++.Pp ++\fBPROTO\fP: always "TCP". ++.Pp ++\fBTCPLOCALIP\fP: the local IP address of the interface which accepted the connection. ++.Pp ++\fBTCPLOCALPORT\fP: the port number on which the TCP connection was established. ++.Pp ++\fBTCPREMOTEIP\fP: the IP address of the remote client. ++.Pp ++\fBTCPREMOTEPORT\fP: the port number on the client side of the TCP connection. ++ ++.Pp ++In addition, if given the \fB--remote\fP option, ++.Nm inetd ++will set the following environment variables: ++.Pp ++\fBTCPLOCALHOST\fP: the DNS name of \fITCPLOCALIP\fR. ++.Pp ++\fBTCPREMOTEHOST\fP: the DNS name of \fITCPREMOTEIP\fR. ++ ++.Sh "EXAMPLES" ++.Pp ++Here are several example service entries for the various types of services: ++.Bd -literal ++ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l ++ntalk dgram udp wait root /usr/libexec/ntalkd ntalkd ++tcpmux/+date stream tcp nowait guest /bin/date date ++tcpmux/phonebook stream tcp nowait guest /usr/local/bin/phonebook phonebook ++.Ed ++.Sh "ERROR MESSAGES" ++The ++.Nm inetd ++server ++logs error messages using ++.Xr syslog 3 . ++Important error messages and their explanations are: ++.Bd -literal ++\fIservice\fP/\fIprotocol\fP server failing (looping), service terminated. ++.Ed ++The number of requests for the specified service in the past minute ++exceeded the limit. The limit exists to prevent a broken program ++or a malicious user from swamping the system. ++This message may occur for several reasons: ++1) there are lots of hosts requesting the service within a short time period, ++2) a 'broken' client program is requesting the service too frequently, ++3) a malicious user is running a program to invoke the service in ++a 'denial of service' attack, or ++4) the invoked service program has an error that causes clients ++to retry quickly. ++Use the ++.Op Fl R ++option, ++as described above, to change the rate limit. ++Once the limit is reached, the service will be ++reenabled automatically in 10 minutes. ++.sp ++.Bd -literal ++\fIservice\fP/\fIprotocol\fP: No such user '\fIuser\fP', service ignored ++\fIservice\fP/\fIprotocol\fP: getpwnam: \fIuser\fP: No such user ++.Ed ++No entry for ++.Em user ++exists in the ++.Pa passwd ++file. The first message ++occurs when ++.Nm inetd ++(re)reads the configuration file. The second message occurs when the ++service is invoked. ++.sp ++.Bd -literal ++\fIservice\fP: can't set uid \fInumber\fP ++\fIservice\fP: can't set gid \fInumber\fP ++.Ed ++The user or group ID for the entry's ++.Em user ++is invalid. ++.Sh SEE ALSO ++.Xr comsat 8 , ++.Xr fingerd 8 , ++.Xr ftpd 8 , ++.Xr rexecd 8 , ++.Xr rlogind 8 , ++.Xr rshd 8 , ++.Xr telnetd 8 , ++.Xr tftpd 8 ++.Sh BUGS ++The environment variables (see \fBENVIRONMENT\fP) are set only for ++TCP IPv4 nowait connections. ++.Sh HISTORY ++The ++.Nm ++command appeared in ++.Bx 4.3 . ++TCPMUX is based on code and documentation by Mark Lottor. +diff --git a/src/logger.1 b/src/logger.1 +new file mode 100644 +index 0000000..539fc57 +--- /dev/null ++++ b/src/logger.1 +@@ -0,0 +1,96 @@ ++.\" Copyright (c) 1983, 1990, 1993 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)logger.1 8.1 (Berkeley) 6/6/93 ++.\" ++.Dd June 6, 1993 ++.Dt LOGGER 1 ++.Os BSD 4.3 ++.Sh NAME ++.Nm logger ++.Nd make entries in the system log ++.Sh SYNOPSIS ++.Nm logger ++.Op Fl is ++.Op Fl f Ar file ++.Op Fl p Ar pri ++.Op Fl t Ar tag ++.Op Ar message ... ++.Sh DESCRIPTION ++.Nm Logger ++provides a shell command interface to the ++.Xr syslog 3 ++system log module. ++.Pp ++Options: ++.Pp ++.Bl -tag -width "message" ++.It Fl i ++Log the process id of the logger process ++with each line. ++.It Fl s ++Log the message to standard error, as well as the system log. ++.It Fl f Ar file ++Log the specified file. ++.It Fl p Ar pri ++Enter the message with the specified priority. ++The priority may be specified numerically or as a ``facility.level'' ++pair. ++For example, ``\-p local3.info'' logs the message(s) as ++.Ar info Ns rmational ++level in the ++.Ar local3 ++facility. ++The default is ``user.notice.'' ++.It Fl t Ar tag ++Mark every line in the log with the specified ++.Ar tag . ++.It Ar message ++Write the message to log; if not specified, and the ++.Fl f ++flag is not ++provided, standard input is logged. ++.El ++.Pp ++The ++.Nm logger ++utility exits 0 on success, and >0 if an error occurs. ++.Sh EXAMPLES ++.Bd -literal -offset indent -compact ++logger System rebooted ++ ++logger \-p local0.notice \-t HOSTIDM \-f /dev/idmc ++.Ed ++.Sh SEE ALSO ++.Xr syslog 3 , ++.Xr syslogd 8 ++.Sh STANDARDS ++The ++.Nm logger ++command is expected to be ++.St -p1003.2 ++compatible. +diff --git a/src/rcp.1 b/src/rcp.1 +new file mode 100644 +index 0000000..6283dbc +--- /dev/null ++++ b/src/rcp.1 +@@ -0,0 +1,155 @@ ++.\" Copyright (c) 1983, 1990, 1993 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)rcp.1 8.1 (Berkeley) 5/31/93 ++.\" ++.Dd May 31, 1993 ++.Dt RCP 1 ++.Os BSD 4.3r ++.Sh NAME ++.Nm rcp ++.Nd remote file copy ++.Sh SYNOPSIS ++.Nm rcp ++.Op Fl Kpx ++.Op Fl k Ar realm ++.Ar file1 file2 ++.Nm rcp ++.Op Fl Kprx ++.Op Fl k Ar realm ++.Ar file ... ++.Ar directory ++.Sh DESCRIPTION ++.Nm Rcp ++copies files between machines. Each ++.Ar file ++or ++.Ar directory ++argument is either a remote file name of the ++form ``rname@rhost:path'', or a local file name (containing no `:' characters, ++or a `/' before any `:'s). ++.Pp ++.Bl -tag -width flag ++.It Fl K ++The ++.Fl K ++option turns off all Kerberos authentication. ++.It Fl k ++The ++.Fl k ++option requests ++.Nm rcp ++to obtain tickets ++for the remote host in realm ++.Ar realm ++instead of the remote host's realm as determined by ++.Xr krb_realmofhost 3 . ++.It Fl p ++The ++.Fl p ++option causes ++.Nm rcp ++to attempt to preserve (duplicate) in its copies the modification ++times and modes of the source files, ignoring the ++.Ar umask . ++By default, the mode and owner of ++.Ar file2 ++are preserved if it already existed; otherwise the mode of the source file ++modified by the ++.Xr umask 2 ++on the destination host is used. ++.It Fl r ++If any of the source files are directories, ++.Nm rcp ++copies each subtree rooted at that name; in this case ++the destination must be a directory. ++.It Fl x ++The ++.Fl x ++option turns on ++.Tn DES ++encryption for all data passed by ++.Nm rcp . ++This may impact response time and ++.Tn CPU ++utilization, but provides ++increased security. ++.El ++.Pp ++If ++.Ar path ++is not a full path name, it is interpreted relative to ++the login directory of the specified user ++.Ar ruser ++on ++.Ar rhost , ++or your current user name if no other remote user name is specified. ++A ++.Ar path ++on a remote host may be quoted (using \e, ", or \(aa) ++so that the metacharacters are interpreted remotely. ++.Pp ++.Nm Rcp ++does not prompt for passwords; it performs remote execution ++via ++.Xr rsh 1 , ++and requires the same authorization. ++.Pp ++.Nm Rcp ++handles third party copies, where neither source nor target files ++are on the current machine. ++.Sh SEE ALSO ++.Xr cp 1 , ++.Xr ftp 1 , ++.Xr rsh 1 , ++.Xr rlogin 1 ++.Sh HISTORY ++The ++.Nm rcp ++command appeared in ++.Bx 4.2 . ++The version of ++.Nm rcp ++described here ++has been reimplemented with Kerberos in ++.Bx 4.3 Reno . ++.Sh BUGS ++Doesn't detect all cases where the target of a copy might ++be a file in cases where only a directory should be legal. ++.Pp ++Is confused by any output generated by commands in a ++.Pa \&.login , ++.Pa \&.profile , ++or ++.Pa \&.cshrc ++file on the remote host. ++.Pp ++The destination user and hostname may have to be specified as ++``rhost.rname'' when the destination machine is running the ++.Bx 4.2 ++version of ++.Nm rcp . +diff --git a/src/rexecd.8 b/src/rexecd.8 +new file mode 100644 +index 0000000..0790d3d +--- /dev/null ++++ b/src/rexecd.8 +@@ -0,0 +1,145 @@ ++.\" Copyright (c) 1983, 1991, 1993 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)rexecd.8 8.3 (Berkeley) 6/1/94 ++.\" ++.Dd June 1, 1994 ++.Dt REXECD 8 ++.Os BSD 4.2 ++.Sh NAME ++.Nm rexecd ++.Nd remote execution server ++.Sh SYNOPSIS ++.Nm rexecd ++.Sh DESCRIPTION ++.Nm Rexecd ++is the server for the ++.Xr rexec 3 ++routine. The server provides remote execution facilities ++with authentication based on user names and ++passwords. ++.Pp ++.Nm Rexecd ++listens for service requests at the port indicated in ++the ``exec'' service specification; see ++.Xr services 5 . ++When a service request is received the following protocol ++is initiated: ++.Bl -enum ++.It ++The server reads characters from the socket up ++to a NUL ++.Pq Ql \e0 ++byte. The resultant string is ++interpreted as an ++.Tn ASCII ++number, base 10. ++.It ++If the number received in step 1 is non-zero, ++it is interpreted as the port number of a secondary ++stream to be used for the ++.Em stderr . ++A second connection is then created to the specified ++port on the client's machine. ++.It ++A NUL terminated user name of at most 16 characters ++is retrieved on the initial socket. ++.It ++A NUL terminated, unencrypted password of at most ++16 characters is retrieved on the initial socket. ++.It ++A NUL terminated command to be passed to a ++shell is retrieved on the initial socket. The length of ++the command is limited by the upper bound on the size of ++the system's argument list. ++.It ++.Nm Rexecd ++then validates the user as is done at login time ++and, if the authentication was successful, changes ++to the user's home directory, and establishes the user ++and group protections of the user. ++If any of these steps fail the connection is ++aborted with a diagnostic message returned. ++.It ++A NUL byte is returned on the initial socket ++and the command line is passed to the normal login ++shell of the user. The ++shell inherits the network connections established ++by ++.Nm rexecd . ++.El ++.Sh DIAGNOSTICS ++Except for the last one listed below, ++all diagnostic messages are returned on the initial socket, ++after which any network connections are closed. ++An error is indicated by a leading byte with a value of ++1 (0 is returned in step 7 above upon successful completion ++of all the steps prior to the command execution). ++.Pp ++.Bl -tag -width Ds ++.It Sy username too long ++The name is ++longer than 16 characters. ++.It Sy password too long ++The password is longer than 16 characters. ++.It Sy command too long ++The command line passed exceeds the size of the argument ++list (as configured into the system). ++.It Sy Login incorrect. ++No password file entry for the user name existed. ++.It Sy Password incorrect. ++The wrong password was supplied. ++.ne 1i ++.It Sy \&No remote directory. ++The ++.Xr chdir ++command to the home directory failed. ++.It Sy Try again. ++A ++.Xr fork ++by the server failed. ++.It Sy <shellname>: ... ++The user's login shell could not be started. ++This message is returned ++on the connection associated with the ++.Em stderr , ++and is not preceded by a flag byte. ++.El ++.Sh SEE ALSO ++.Xr rexec 3 ++.Sh BUGS ++Indicating ``Login incorrect'' as opposed to ``Password incorrect'' ++is a security breach which allows people to probe a system for users ++with null passwords. ++.Pp ++A facility to allow all data and password exchanges to be encrypted should be ++present. ++.Sh HISTORY ++The ++.Nm ++command appeared in ++.Bx 4.2 . +diff --git a/src/rlogin.1 b/src/rlogin.1 +new file mode 100644 +index 0000000..98e6751 +--- /dev/null ++++ b/src/rlogin.1 +@@ -0,0 +1,184 @@ ++.\" Copyright (c) 1983, 1990, 1993 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)rlogin.1 8.2 (Berkeley) 4/29/95 ++.\" ++.Dd April 29, 1995 ++.Dt RLOGIN 1 ++.Os BSD 4.2 ++.Sh NAME ++.Nm rlogin ++.Nd remote login ++.Sh SYNOPSIS ++.Nm rlogin ++.Op Fl 8EKLdx ++.Op Fl e Ar char ++.Op Fl k Ar realm ++.Op Fl l Ar username ++.Ar host ++.Nm rlogin ++.Op Fl 8EKLdx ++.Op Fl e Ar char ++.Op Fl k Ar realm ++.Ar username@host ++.Sh DESCRIPTION ++.Nm Rlogin ++starts a terminal session on a remote host ++.Ar host . ++.Pp ++.Nm Rlogin ++first attempts to use the Kerberos authorization mechanism, described below. ++If the remote host does not supporting Kerberos the standard Berkeley ++.Pa rhosts ++authorization mechanism is used. ++The options are as follows: ++.Bl -tag -width flag ++.It Fl 8 ++The ++.Fl 8 ++option allows an eight-bit input data path at all times; otherwise ++parity bits are stripped except when the remote side's stop and start ++characters are other than ++^S/^Q . ++.It Fl E ++The ++.Fl E ++option stops any character from being recognized as an escape character. ++When used with the ++.Fl 8 ++option, this provides a completely transparent connection. ++.It Fl K ++The ++.Fl K ++option turns off all Kerberos authentication. ++.It Fl L ++The ++.Fl L ++option allows the rlogin session to be run in ``litout'' (see ++.Xr tty 4 ) ++mode. ++.It Fl d ++The ++.Fl d ++option turns on socket debugging (see ++.Xr setsockopt 2 ) ++on the TCP sockets used for communication with the remote host. ++.It Fl e ++The ++.Fl e ++option allows user specification of the escape character, which is ++``~'' by default. ++This specification may be as a literal character, or as an octal ++value in the form \ennn. ++.It Fl k ++The ++.FL k ++option requests rlogin to obtain tickets for the remote host ++in realm ++.Ar realm ++instead of the remote host's realm as determined by ++.Xr krb_realmofhost 3 . ++.It Fl x ++The ++.Fl x ++option turns on ++.Tn DES ++encryption for all data passed via the ++rlogin session. ++This may impact response time and ++.Tn CPU ++utilization, but provides ++increased security. ++.El ++.Pp ++A line of the form ``<escape char>.'' disconnects from the remote host. ++Similarly, the line ``<escape char>^Z'' will suspend the ++.Nm rlogin ++session, and ``<escape char><delayed-suspend char>'' suspends the ++send portion of the rlogin, but allows output from the remote system. ++By default, the tilde (``~'') character is the escape character, and ++normally control-Y (``^Y'') is the delayed-suspend character. ++.Pp ++All echoing takes place at the remote site, so that (except for delays) ++the ++.Nm rlogin ++is transparent. ++Flow control via ^S/^Q and flushing of input and output on interrupts ++are handled properly. ++.Sh KERBEROS AUTHENTICATION ++Each user may have a private authorization list in the file ++.Pa .klogin ++in their home directory. ++Each line in this file should contain a Kerberos principal name of the ++form ++.Ar principal.instance@realm . ++If the originating user is authenticated to one of the principals named ++in ++.Pa .klogin , ++access is granted to the account. ++The principal ++.Ar accountname.@localrealm ++is granted access if ++there is no ++.Pa .klogin ++file. ++Otherwise a login and password will be prompted for on the remote machine ++as in ++.Xr login 1 . ++To avoid certain security problems, the ++.Pa .klogin ++file must be owned by ++the remote user. ++.Pp ++If Kerberos authentication fails, a warning message is printed and the ++standard Berkeley ++.Nm rlogin ++is used instead. ++.Sh ENVIRONMENT ++The following environment variable is utilized by ++.Nm rlogin : ++.Bl -tag -width TERM ++.It Ev TERM ++Determines the user's terminal type. ++.El ++.Sh SEE ALSO ++.Xr rsh 1 , ++.Xr kerberos 3 , ++.Xr krb_sendauth 3 , ++.Xr krb_realmofhost 3 ++.Sh HISTORY ++The ++.Nm rlogin ++command appeared in ++.Bx 4.2 . ++.Sh BUGS ++.Nm Rlogin ++will be replaced by ++.Xr telnet 1 ++in the near future. ++.Pp ++More of the environment should be propagated. +diff --git a/src/rlogind.8 b/src/rlogind.8 +new file mode 100644 +index 0000000..096c75f +--- /dev/null ++++ b/src/rlogind.8 +@@ -0,0 +1,164 @@ ++.\" Copyright (c) 1983, 1989, 1991, 1993 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)rlogind.8 8.1 (Berkeley) 6/4/93 ++.\" ++.Dd June 4, 1993 ++.Dt RLOGIND 8 ++.Os BSD 4.2 ++.Sh NAME ++.Nm rlogind ++.Nd remote login server ++.Sh SYNOPSIS ++.Nm rlogind ++.Op Fl aln ++.Sh DESCRIPTION ++.Nm Rlogind ++is the server for the ++.Xr rlogin 1 ++program. The server provides a remote login facility ++with authentication based on privileged port numbers from trusted hosts. ++.Pp ++Options supported by ++.Nm rlogind : ++.Bl -tag -width Ds ++.It Fl a ++Ask hostname for verification. ++.It Fl l ++Prevent any authentication based on the user's ++.Dq Pa .rhosts ++file, unless the user is logging in as the superuser. ++.It Fl n ++Disable keep-alive messages. ++.El ++.Pp ++.Nm Rlogind ++listens for service requests at the port indicated in ++the ``login'' service specification; see ++.Xr services 5 . ++When a service request is received the following protocol ++is initiated: ++.Bl -enum ++.It ++The server checks the client's source port. ++If the port is not in the range 512-1023, the server ++aborts the connection. ++.It ++The server checks the client's source address ++and requests the corresponding host name (see ++.Xr gethostbyaddr 3 , ++.Xr hosts 5 ++and ++.Xr named 8 ) . ++If the hostname cannot be determined, ++the dot-notation representation of the host address is used. ++If the hostname is in the same domain as the server (according to ++the last two components of the domain name), ++or if the ++.Fl a ++option is given, ++the addresses for the hostname are requested, ++verifying that the name and address correspond. ++Normal authentication is bypassed if the address verification fails. ++.El ++.Pp ++Once the source port and address have been checked, ++.Nm rlogind ++proceeds with the authentication process described in ++.Xr rshd 8 . ++It then allocates a pseudo terminal (see ++.Xr pty 4 ) , ++and manipulates file descriptors so that the slave ++half of the pseudo terminal becomes the ++.Em stdin , ++.Em stdout , ++and ++.Em stderr ++for a login process. ++The login process is an instance of the ++.Xr login 1 ++program, invoked with the ++.Fl f ++option if authentication has succeeded. ++If automatic authentication fails, the user is ++prompted to log in as if on a standard terminal line. ++.Pp ++The parent of the login process manipulates the master side of ++the pseudo terminal, operating as an intermediary ++between the login process and the client instance of the ++.Xr rlogin ++program. In normal operation, the packet protocol described ++in ++.Xr pty 4 ++is invoked to provide ++.Ql ^S/^Q ++type facilities and propagate ++interrupt signals to the remote programs. The login process ++propagates the client terminal's baud rate and terminal type, ++as found in the environment variable, ++.Ql Ev TERM ; ++see ++.Xr environ 7 . ++The screen or window size of the terminal is requested from the client, ++and window size changes from the client are propagated to the pseudo terminal. ++.Pp ++Transport-level keepalive messages are enabled unless the ++.Fl n ++option is present. ++The use of keepalive messages allows sessions to be timed out ++if the client crashes or becomes unreachable. ++.Sh DIAGNOSTICS ++All initial diagnostic messages are indicated ++by a leading byte with a value of 1, ++after which any network connections are closed. ++If there are no errors before ++.Xr login ++is invoked, a null byte is returned as in indication of success. ++.Bl -tag -width Ds ++.It Sy Try again. ++A ++.Xr fork ++by the server failed. ++.El ++.Sh SEE ALSO ++.Xr login 1 , ++.Xr ruserok 3 , ++.Xr rshd 8 ++.Sh BUGS ++The authentication procedure used here assumes the integrity ++of each client machine and the connecting medium. This is ++insecure, but is useful in an ``open'' environment. ++.Pp ++A facility to allow all data exchanges to be encrypted should be ++present. ++.Pp ++A more extensible protocol should be used. ++.Sh HISTORY ++The ++.Nm ++command appeared in ++.Bx 4.2 . +diff --git a/src/rsh.1 b/src/rsh.1 +new file mode 100644 +index 0000000..dd9c6bc +--- /dev/null ++++ b/src/rsh.1 +@@ -0,0 +1,183 @@ ++.\" Copyright (c) 1983, 1990, 1993 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)rsh.1 8.2 (Berkeley) 4/29/95 ++.\" ++.Dd April 29, 1995 ++.Dt RSH 1 ++.Os BSD 4.2 ++.Sh NAME ++.Nm rsh ++.Nd remote shell ++.Sh SYNOPSIS ++.Nm rsh ++.Op Fl Kdnx ++.Op Fl k Ar realm ++.Op Fl l Ar username ++.Ar host ++.Nm rsh ++.Op Fl Kdnx ++.Op Fl k Ar realm ++.Ar username@host ++.Op command ++.Sh DESCRIPTION ++.Nm Rsh ++executes ++.Ar command ++on ++.Ar host . ++.Pp ++.Nm Rsh ++copies its standard input to the remote command, the standard ++output of the remote command to its standard output, and the ++standard error of the remote command to its standard error. ++Interrupt, quit and terminate signals are propagated to the remote ++command; ++.Nm rsh ++normally terminates when the remote command does. ++The options are as follows: ++.Bl -tag -width flag ++.It Fl K ++The ++.Fl K ++option turns off all Kerberos authentication. ++.It Fl d ++The ++.Fl d ++option turns on socket debugging (using ++.Xr setsockopt 2 ) ++on the ++.Tn TCP ++sockets used for communication with the remote host. ++.It Fl k ++The ++.Fl k ++option causes ++.Nm rsh ++to obtain tickets for the remote host in ++.Ar realm ++instead of the remote host's realm as determined by ++.Xr krb_realmofhost 3 . ++.It Fl l ++By default, the remote username is the same as the local username. ++The ++.Fl l ++option or the ++.Pa username@host ++format allow the remote name to be specified. ++Kerberos authentication is used, and authorization is determined ++as in ++.Xr rlogin 1 . ++.It Fl n ++The ++.Fl n ++option redirects input from the special device ++.Pa /dev/null ++(see the ++.Sx BUGS ++section of this manual page). ++.It Fl x ++The ++.Fl x ++option turns on ++.Tn DES ++encryption for all data exchange. ++This may introduce a significant delay in response time. ++.El ++.Pp ++If no ++.Ar command ++is specified, you will be logged in on the remote host using ++.Xr rlogin 1 . ++.Pp ++Shell metacharacters which are not quoted are interpreted on local machine, ++while quoted metacharacters are interpreted on the remote machine. ++For example, the command ++.Pp ++.Dl rsh otherhost cat remotefile >> localfile ++.Pp ++appends the remote file ++.Ar remotefile ++to the local file ++.Ar localfile , ++while ++.Pp ++.Dl rsh otherhost cat remotefile \&">>\&" other_remotefile ++.Pp ++appends ++.Ar remotefile ++to ++.Ar other_remotefile . ++.\" .Pp ++.\" Many sites specify a large number of host names as commands in the ++.\" directory /usr/hosts. ++.\" If this directory is included in your search path, you can use the ++.\" shorthand ``host command'' for the longer form ``rsh host command''. ++.Sh FILES ++.Bl -tag -width /etc/hosts -compact ++.It Pa /etc/hosts ++.El ++.Sh SEE ALSO ++.Xr rlogin 1 , ++.Xr kerberos 3 , ++.Xr krb_sendauth 3 , ++.Xr krb_realmofhost 3 ++.Sh HISTORY ++The ++.Nm rsh ++command appeared in ++.Bx 4.2 . ++.Sh BUGS ++If you are using ++.Xr csh 1 ++and put a ++.Nm rsh ++in the background without redirecting its input away from the terminal, ++it will block even if no reads are posted by the remote command. ++If no input is desired you should redirect the input of ++.Nm rsh ++to ++.Pa /dev/null ++using the ++.Fl n ++option. ++.Pp ++You cannot run an interactive command ++(like ++.Xr rogue 6 ++or ++.Xr vi 1 ) ++using ++.Nm rsh ; ++use ++.Xr rlogin 1 ++instead. ++.Pp ++Stop signals stop the local ++.Nm rsh ++process only; this is arguably wrong, but currently hard to fix for reasons ++too complicated to explain here. +diff --git a/src/rshd.8 b/src/rshd.8 +new file mode 100644 +index 0000000..a252e40 +--- /dev/null ++++ b/src/rshd.8 +@@ -0,0 +1,205 @@ ++.\" Copyright (c) 1983, 1989, 1991, 1993 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)rshd.8 8.1 (Berkeley) 6/4/93 ++.\" ++.Dd June 4, 1993 ++.Dt RSHD 8 ++.Os BSD 4.2 ++.Sh NAME ++.Nm rshd ++.Nd remote shell server ++.Sh SYNOPSIS ++.Nm rshd ++.Op Fl alnL ++.Sh DESCRIPTION ++The ++.Nm rshd ++server ++is the server for the ++.Xr rcmd 3 ++routine and, consequently, for the ++.Xr rsh 1 ++program. The server provides remote execution facilities ++with authentication based on privileged port numbers from trusted hosts. ++.Pp ++The ++.Nm rshd ++server ++listens for service requests at the port indicated in ++the ``cmd'' service specification; see ++.Xr services 5 . ++When a service request is received the following protocol ++is initiated: ++.Bl -enum ++.It ++The server checks the client's source port. ++If the port is not in the range 512-1023, the server ++aborts the connection. ++.It ++The server reads characters from the socket up ++to a null (`\e0') byte. The resultant string is ++interpreted as an ++.Tn ASCII ++number, base 10. ++.It ++If the number received in step 2 is non-zero, ++it is interpreted as the port number of a secondary ++stream to be used for the ++.Em stderr . ++A second connection is then created to the specified ++port on the client's machine. The source port of this ++second connection is also in the range 512-1023. ++.It ++The server checks the client's source address ++and requests the corresponding host name (see ++.Xr gethostbyaddr 3 , ++.Xr hosts 5 ++and ++.Xr named 8 ) . ++If the hostname cannot be determined, ++the dot-notation representation of the host address is used. ++If the hostname is in the same domain as the server (according to ++the last two components of the domain name), ++or if the ++.Fl a ++option is given, ++the addresses for the hostname are requested, ++verifying that the name and address correspond. ++If address verification fails, the connection is aborted ++with the message, ``Host address mismatch.'' ++.It ++A null terminated user name of at most 16 characters ++is retrieved on the initial socket. This user name ++is interpreted as the user identity on the ++.Em client Ns 's ++machine. ++.It ++A null terminated user name of at most 16 characters ++is retrieved on the initial socket. This user name ++is interpreted as a user identity to use on the ++.Sy server Ns 's ++machine. ++.It ++A null terminated command to be passed to a ++shell is retrieved on the initial socket. The length of ++the command is limited by the upper bound on the size of ++the system's argument list. ++.It ++.Nm Rshd ++then validates the user using ++.Xr ruserok 3 , ++which uses the file ++.Pa /etc/hosts.equiv ++and the ++.Pa .rhosts ++file found in the user's home directory. The ++.Fl l ++option prevents ++.Xr ruserok 3 ++from doing any validation based on the user's ``.rhosts'' file, ++unless the user is the superuser. ++.It ++If the file ++.Pa /etc/nologin ++exists and the user is not the superuser, ++the connection is closed. ++.It ++A null byte is returned on the initial socket ++and the command line is passed to the normal login ++shell of the user. The ++shell inherits the network connections established ++by ++.Nm rshd . ++.El ++.Pp ++Transport-level keepalive messages are enabled unless the ++.Fl n ++option is present. ++The use of keepalive messages allows sessions to be timed out ++if the client crashes or becomes unreachable. ++.Pp ++The ++.Fl L ++option causes all successful accesses to be logged to ++.Xr syslogd 8 ++as ++.Li auth.info ++messages. ++.Sh DIAGNOSTICS ++Except for the last one listed below, ++all diagnostic messages ++are returned on the initial socket, ++after which any network connections are closed. ++An error is indicated by a leading byte with a value of ++1 (0 is returned in step 10 above upon successful completion ++of all the steps prior to the execution of the login shell). ++.Bl -tag -width indent ++.It Sy Locuser too long. ++The name of the user on the client's machine is ++longer than 16 characters. ++.It Sy Ruser too long. ++The name of the user on the remote machine is ++longer than 16 characters. ++.It Sy Command too long . ++The command line passed exceeds the size of the argument ++list (as configured into the system). ++.It Sy Login incorrect. ++No password file entry for the user name existed. ++.It Sy Remote directory. ++The ++.Xr chdir ++command to the home directory failed. ++.It Sy Permission denied. ++The authentication procedure described above failed. ++.It Sy Can't make pipe. ++The pipe needed for the ++.Em stderr , ++wasn't created. ++.It Sy Can't fork; try again. ++A ++.Xr fork ++by the server failed. ++.It Sy <shellname>: ... ++The user's login shell could not be started. This message is returned ++on the connection associated with the ++.Em stderr , ++and is not preceded by a flag byte. ++.El ++.Sh SEE ALSO ++.Xr rsh 1 , ++.Xr rcmd 3 , ++.Xr ruserok 3 ++.Sh BUGS ++The authentication procedure used here assumes the integrity ++of each client machine and the connecting medium. This is ++insecure, but is useful in an ``open'' environment. ++.Pp ++A facility to allow all data exchanges to be encrypted should be ++present. ++.Pp ++A more extensible protocol (such as Telnet) should be used. +diff --git a/src/syslog.conf.5 b/src/syslog.conf.5 +new file mode 100644 +index 0000000..81d67e1 +--- /dev/null ++++ b/src/syslog.conf.5 +@@ -0,0 +1,251 @@ ++.\" Copyright (c) 1990, 1991, 1993 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)syslog.conf.5 8.1 (Berkeley) 6/9/93 ++.\" ++.Dd June 9, 1993 ++.Dt SYSLOG.CONF 5 ++.Os ++.Sh NAME ++.Nm syslog.conf ++.Nd ++.Xr syslogd 8 ++configuration file ++.Sh DESCRIPTION ++The ++.Nm syslog.conf ++file is the configuration file for the ++.Xr syslogd 8 ++program. ++It consists of lines with two fields: the ++.Em selector ++field which specifies the types of messages and priorities to which the ++line applies, and an ++.Em action ++field which specifies the action to be taken if a message ++.Xr syslogd ++receives matches the selection criteria. ++The ++.Em selector ++field is separated from the ++.Em action ++field by one or more tab or space characters. A rule can be splitted in ++several lines if all lines except the last are terminated with a backslash ++(``\''). ++.Pp ++The ++.Em Selectors ++function ++are encoded as a ++.Em facility , ++a period (``.''), and a ++.Em level , ++with no intervening white-space. ++Both the ++.Em facility ++and the ++.Em level ++are case insensitive. ++.Pp ++The ++.Em facility ++describes the part of the system generating the message, and is one of ++the following keywords: auth, authpriv, cron, daemon, kern, lpr, mail, ++mark, news, syslog, user, uucp and local0 through local7. ++These keywords (with the exception of mark) correspond to the ++similar ++.Dq Dv LOG_ ++values specified to the ++.Xr openlog 3 ++and ++.Xr syslog 3 ++library routines. ++.Pp ++The ++.Em level ++describes the severity of the message, and is a keyword from the ++following ordered list (higher to lower): emerg, alert, crit, err, ++warning, notice and debug. ++These keywords correspond to the ++similar ++.Pq Dv LOG_ ++values specified to the ++.Xr syslog ++library routine. ++.Pp ++See ++.Xr syslog 3 ++for a further descriptions of both the ++.Em facility ++and ++.Em level ++keywords and their significance. ++.Pp ++If a received message matches the specified ++.Em facility ++and is of the specified ++.Em level ++.Em (or a higher level) , ++the action specified in the ++.Em action ++field will be taken. ++.Pp ++Multiple ++.Em selectors ++may be specified for a single ++.Em action ++by separating them with semicolon (``;'') characters. ++It is important to note, however, that each ++.Em selector ++can modify the ones preceding it. ++.Pp ++Multiple ++.Em facilities ++may be specified for a single ++.Em level ++by separating them with comma (``,'') characters. ++.Pp ++An asterisk (``*'') can be used to specify all ++.Em facilities ++or all ++.Em levels . ++.Pp ++By default, a ++.Em level ++applies to all messages with the same or higher ++.Em level . ++The equal (``='') character can be prepended to a ++.Em level ++to restrict this line of the configuration file to messages ++with the very same ++.Em level . ++.Pp ++An exclamation mark (``!'') prepended to a ++.Em level ++or the asterisk means that this line of the configuration file does ++.Em not ++apply to the specified level (and higher ones). In conjunction with ++the equal sign, you can exclude single ++.Em levels ++as well. ++.Pp ++The special ++.Em facility ++``mark'' receives a message at priority ``info'' every 20 minutes ++(see ++.Xr syslogd 8 ) . ++This is not enabled by a ++.Em facility ++field containing an asterisk. ++.Pp ++The special ++.Em level ++``none'' disables a particular ++.Em facility . ++.Pp ++The ++.Em action ++field of each line specifies the action to be taken when the ++.Em selector ++field selects a message. ++There are five forms: ++.Bl -bullet ++.It ++A pathname (beginning with a leading slash). ++Selected messages are appended to the file. ++.Pp ++You may prepend a minus (``-'') to the path to omit syncing the file ++after each message log. This can cause data loss at system crashes, but ++increases performance for programs which use logging extensively. ++.It ++A named pipe (fifo), beginning with a vertical bar (``|'') followed ++by a pathname. The pipe must be created with ++.Xr mkfifo 8 ++before syslogd reads its configuration file. ++This feature is especially useful fo debugging. ++.It ++A hostname (preceded by an at (``@'') sign). ++Selected messages are forwarded to the ++.Xr syslogd ++program on the named host. ++.It ++A comma separated list of users. ++Selected messages are written to those users ++if they are logged in. ++.It ++An asterisk. ++Selected messages are written to all logged-in users. ++.El ++.Pp ++Blank lines and lines whose first non-blank character is a hash (``#'') ++character are ignored. ++.Sh EXAMPLES ++.Pp ++A configuration file might appear as follows: ++.Bd -literal ++# Log all kernel messages, authentication messages of ++# level notice or higher and anything of level err or ++# higher to the console. ++# Don't log private authentication messages! ++*.err;kern.*;auth.notice;authpriv.none /dev/console ++ ++# Log anything (except mail) of level info or higher. ++# Don't log private authentication messages! ++*.info;mail.none;authpriv.none /var/log/messages ++ ++# The authpriv file has restricted access. ++authpriv.* /var/log/secure ++ ++# Log all the mail messages in one place. ++mail.* /var/log/maillog ++ ++# Everybody gets emergency messages, plus log them on another ++# machine. ++*.emerg * ++*.emerg @arpa.berkeley.edu ++ ++# Root and Eric get alert and higher messages. ++*.alert root,eric ++ ++# Save mail and news errors of level err and higher in a ++# special file. ++uucp,news.crit /var/log/spoolerr ++.Ed ++.Sh FILES ++.Bl -tag -width /etc/syslog.conf -compact ++.It Pa /etc/syslog.conf ++The ++.Xr syslogd 8 ++configuration file. ++.El ++.Sh BUGS ++The effects of multiple selectors are sometimes not intuitive. ++For example ``mail.crit,*.err'' will select ``mail'' facility messages at ++the level of ``err'' or higher, not at the level of ``crit'' or higher. ++.Sh SEE ALSO ++.Xr syslog 3 , ++.Xr syslogd 8 +diff --git a/src/syslogd.8 b/src/syslogd.8 +new file mode 100644 +index 0000000..a1e064e +--- /dev/null ++++ b/src/syslogd.8 +@@ -0,0 +1,163 @@ ++.\" Copyright (c) 1983, 1986, 1991, 1993 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)syslogd.8 8.1 (Berkeley) 6/6/93 ++.\" ++.Dd June 6, 1993 ++.Dt SYSLOGD 8 ++.Os BSD 4.2 ++.Sh NAME ++.Nm syslogd ++.Nd log systems messages ++.Sh SYNOPSIS ++.Nm syslogd ++.Op Fl V ++.Op Fl a Ar socket ++.Op Fl d ++.Op Fl f Ar config_file ++.Op Fl h ++.Op Fl l Ar host_list ++.Op Fl m Ar mark_interval ++.Op Fl n ++.Op Fl p Ar log_socket ++.Op Fl r ++.Op Fl s Ar domain_list ++.Op Fl -no-klog ++.Op Fl -no-unixaf ++.Op Fl -no-forward ++.Sh DESCRIPTION ++.Nm Syslogd ++reads and logs messages to the system console, log files, other ++machines and/or users as specified by its configuration file. ++The options are as follows: ++.Bl -tag -width Ds ++.It Fl V ++Print version number and exit. ++.It Fl -help ++Display help information and exit. ++.It Fl d ++Enter debug mode. syslogd does not put itself in the background, does ++not fork and shows debug information. ++.It Fl a ++Specify additional sockets from that syslogd has to listen to. ++This is needed if you are going to let some daemon run within ++a chroot()'ed environment. You can specify up to 19 additional ++sockets. ++.It \fB-f\fR, \fB--rcfile\fR=\fIFILE\fP ++Specify the pathname of an alternate configuration file; ++the default is system specific and displayed in the help output. ++.It \fB-h\fR, \fB--hop\fR ++Enable forwarding remote messages. By default syslogd will not ++forward messages it receives from remote hosts. ++.It Fl l ++A colon-seperated lists of hosts which should be considered local; ++they are logged by their hostnames instead by their FQDN. ++.It \fB-m\fR, \fB--mark\fR=\fIINTERVAL/fP ++Select the number of minutes between ``mark'' messages; ++the default is 20 minutes. Setting it to 0 disables timestamps. ++.It \fB-n\fR, \fB--no-detach\fR ++Suppress backgrounding and detachment of the daemon from its ++controlling terminal. ++.It \fB-p\fR, \fB--socket\fR=\fIPATH\fP ++Specify the pathname of an alternate log socket. ++The default is systemspecific and displayed in the help output. ++.It \fB-r\fR, \fB--inet\fR ++Enable to receive remote messages using an internet domain socket. ++The default is to not receive any messages from the network. Older ++version always accepted remote messages. ++.It Fl s ++A colon-seperated list of domainnames which should be stripped from ++the FQDNs of hosts when logging. ++.It Fl -no-klog ++Do not listen to the kernel log device. This is only supported on ++systems which define a kernel log device, on all others this is already ++the default, and the option will be silently ignored. ++.It Fl -no-unixaf ++Do not listen to any unix domain socket. This option overrides \-p and \-a. ++.It Fl -no-forward ++Do not forward any messages. This overrides \-h. ++.El ++.Pp ++.Nm Syslogd ++reads its configuration file when it starts up and whenever it ++receives a hangup signal. ++For information on the format of the configuration file, ++see ++.Xr syslog.conf 5 . ++.Pp ++.Nm Syslogd ++reads messages from the ++.Tn UNIX ++domain socket ++.Pa /dev/log , ++from an Internet domain socket specified in ++.Pa /etc/services , ++and from the special device ++.Pa /dev/klog ++(to read kernel messages). ++.Pp ++.Nm Syslogd ++creates the file ++.Pa /var/run/syslog.pid , ++and stores its process ++id there. ++This can be used to kill or reconfigure ++.Nm syslogd . ++.Pp ++The message sent to ++.Nm syslogd ++should consist of a single line. ++The message can contain a priority code, which should be a preceding ++decimal number in angle braces, for example, ++.Sq Aq 5. ++This priority code should map into the priorities defined in the ++include file ++.Aq Pa sys/syslog.h . ++.Sh FILES ++.Bl -tag -width /var/run/syslog.pid -compact ++.It Pa /etc/syslog.conf ++The configuration file. ++.It Pa /var/run/syslog.pid ++The process id of current ++.Nm syslogd . ++.It Pa /dev/log ++Name of the ++.Tn UNIX ++domain datagram log socket. ++.It Pa /dev/klog ++The kernel log device. ++.El ++.Sh SEE ALSO ++.Xr logger 1 , ++.Xr syslog 3 , ++.Xr services 5 , ++.Xr syslog.conf 5 ++.Sh HISTORY ++The ++.Nm ++command appeared in ++.Bx 4.3 . +diff --git a/src/tftp.1 b/src/tftp.1 +new file mode 100644 +index 0000000..e47a78e +--- /dev/null ++++ b/src/tftp.1 +@@ -0,0 +1,169 @@ ++.\" Copyright (c) 1990, 1993, 1994 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)tftp.1 8.2 (Berkeley) 4/18/94 ++.\" ++.Dd April 18, 1994 ++.Dt TFTP 1 ++.Os BSD 4.3 ++.Sh NAME ++.Nm tftp ++.Nd trivial file transfer program ++.Sh SYNOPSIS ++.Nm tftp ++.Op Ar host ++.Sh DESCRIPTION ++.Nm Tftp ++is the user interface to the Internet ++.Tn TFTP ++(Trivial File Transfer Protocol), ++which allows users to transfer files to and from a remote machine. ++The remote ++.Ar host ++may be specified on the command line, in which case ++.Nm tftp ++uses ++.Ar host ++as the default host for future transfers (see the ++.Cm connect ++command below). ++.Sh COMMANDS ++Once ++.Nm tftp ++is running, it issues the prompt ++.LI tftp> ++and recognizes the following commands: ++.Pp ++.Bl -tag -width verbose -compact ++.It Cm \&? Ar command-name ... ++Print help information. ++.Pp ++.It Cm ascii ++Shorthand for "mode ascii" ++.Pp ++.It Cm binary ++Shorthand for "mode binary" ++.Pp ++.It Cm connect Ar host-name Op Ar port ++Set the ++.Ar host ++(and optionally ++.Ar port ) ++for transfers. ++Note that the ++.Tn TFTP ++protocol, unlike the ++.Tn FTP ++protocol, ++does not maintain connections between transfers; thus, the ++.Cm connect ++command does not actually create a connection, ++but merely remembers what host is to be used for transfers. ++You do not have to use the ++.Cm connect ++command; the remote host can be specified as part of the ++.Cm get ++or ++.Cm put ++commands. ++.Pp ++.It Cm get Ar filename ++.It Cm get Ar remotename localname ++.It Cm get Ar file1 file2 ... fileN ++Get a file or set of files from the specified ++.Ar sources . ++.Ar Source ++can be in one of two forms: ++a filename on the remote host, if the host has already been specified, ++or a string of the form ++.Ar hosts:filename ++to specify both a host and filename at the same time. ++If the latter form is used, ++the last hostname specified becomes the default for future transfers. ++.Pp ++.It Cm mode Ar transfer-mode ++Set the mode for transfers; ++.Ar transfer-mode ++may be one of ++.Em ascii ++or ++.Em binary . ++The default is ++.Em ascii . ++.Pp ++.It Cm put Ar file ++.It Cm put Ar localfile remotefile ++.It Cm put Ar file1 file2 ... fileN remote-directory ++Put a file or set of files to the specified ++remote file or directory. ++The destination ++can be in one of two forms: ++a filename on the remote host, if the host has already been specified, ++or a string of the form ++.Ar hosts:filename ++to specify both a host and filename at the same time. ++If the latter form is used, ++the hostname specified becomes the default for future transfers. ++If the remote-directory form is used, the remote host is ++assumed to be a ++.Tn UNIX ++machine. ++.Pp ++.It Cm quit ++Exit ++.Nm tftp . ++An end of file also exits. ++.Pp ++.It Cm rexmt Ar retransmission-timeout ++Set the per-packet retransmission timeout, in seconds. ++.Pp ++.It Cm status ++Show current status. ++.Pp ++.It Cm timeout Ar total-transmission-timeout ++Set the total transmission timeout, in seconds. ++.Pp ++.It Cm trace ++Toggle packet tracing. ++.Pp ++.It Cm verbose ++Toggle verbose mode. ++.El ++.Sh BUGS ++.Pp ++Because there is no user-login or validation within ++the ++.Tn TFTP ++protocol, the remote site will probably have some ++sort of file-access restrictions in place. The ++exact methods are specific to each site and therefore ++difficult to document here. ++.Sh HISTORY ++The ++.Nm ++command appeared in ++.Bx 4.3 . +diff --git a/src/tftpd.8 b/src/tftpd.8 +new file mode 100644 +index 0000000..ac6a59a +--- /dev/null ++++ b/src/tftpd.8 +@@ -0,0 +1,102 @@ ++.\" Copyright (c) 1983, 1991, 1993 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)tftpd.8 8.1 (Berkeley) 6/4/93 ++.\" ++.Dd June 4, 1993 ++.Dt TFTPD 8 ++.Os BSD 4.2 ++.Sh NAME ++.Nm tftpd ++.Nd ++Internet Trivial File Transfer Protocol server ++.Sh SYNOPSIS ++.Nm tftpd ++.Op Fl l ++.Op Fl n ++.Op Ar directory ... ++.Sh DESCRIPTION ++.Nm Tftpd ++is a server which supports the ++Internet Trivial File Transfer ++Protocol (\c ++.Tn RFC 783). ++The ++.Tn TFTP ++server operates ++at the port indicated in the ++.Ql tftp ++service description; ++see ++.Xr services 5 . ++The server is normally started by ++.Xr inetd 8 . ++.Pp ++The use of ++.Xr tftp 1 ++does not require an account or password on the remote system. ++Due to the lack of authentication information, ++.Nm tftpd ++will allow only publicly readable files to be ++accessed. ++Files containing the string ``/\|\fB.\|.\fP\|/'' are not allowed. ++Files may be written only if they already exist and are publicly writable. ++Note that this extends the concept of ++.Dq public ++to include ++all users on all hosts that can be reached through the network; ++this may not be appropriate on all systems, and its implications ++should be considered before enabling tftp service. ++The server should have the user ID with the lowest possible privilege. ++.Pp ++Access to files may be restricted by invoking ++.Nm tftpd ++with a list of directories by including up to 20 pathnames ++as server program arguments in ++.Pa /etc/inetd.conf . ++In this case access is restricted to files whose ++names are prefixed by the one of the given directories. ++The given directories are also treated as a search path for ++relative filename requests. ++.Pp ++The options are: ++.Bl -tag -width Ds ++.It Fl l ++Logs all requests using ++.Xr syslog 3 . ++.It Fl n ++Suppresses negative acknowledgement of requests for nonexistent ++relative filenames. ++.El ++.Sh SEE ALSO ++.Xr tftp 1 , ++.Xr inetd 8 ++.Sh HISTORY ++The ++.Nm ++command appeared in ++.Bx 4.2 . +diff --git a/talk/Makefile.am b/talk/Makefile.am +index c618238..4029c5e 100644 +--- a/talk/Makefile.am ++++ b/talk/Makefile.am +@@ -25,6 +25,12 @@ talk_SOURCES = ctl.c ctl_transact.c display.c get_addrs.c get_names.c init_disp. + + noinst_HEADERS = talk.h talk_ctl.h + ++if ENABLE_talk ++man_MANS = talk.1 ++endif ++ ++EXTRA_DIST = $(man_MANS) ++ + INCLUDES = -I$(top_srcdir)/lib -I../lib -I$(top_srcdir)/libinetutils $(NCURSES_INCLUDE) + + LDADD = $(LIBCURSES) -L../libinetutils -linetutils ../lib/libgnu.a +diff --git a/talk/talk.1 b/talk/talk.1 +new file mode 100644 +index 0000000..e636667 +--- /dev/null ++++ b/talk/talk.1 +@@ -0,0 +1,125 @@ ++.\" Copyright (c) 1983, 1990, 1993 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)talk.1 8.1 (Berkeley) 6/6/93 ++.\" ++.Dd June 6, 1993 ++.Dt TALK 1 ++.Os BSD 4.2 ++.Sh NAME ++.Nm talk ++.Nd talk to another user ++.Sh SYNOPSIS ++.Nm talk ++.Ar person ++.Op Ar ttyname ++.Sh DESCRIPTION ++.Nm Talk ++is a visual communication program which copies lines from your ++terminal to that of another user. ++.Pp ++Options available: ++.Bl -tag -width ttyname ++.It Ar person ++If you wish to talk to someone on your own machine, then ++.Ar person ++is just the person's login name. If you wish to talk to a user on ++another host, then ++.Ar person ++is of the form ++.Ql user@host . ++.It Ar ttyname ++If you wish to talk to a user who is logged in more than once, the ++.Ar ttyname ++argument may be used to indicate the appropriate terminal ++name, where ++.Ar ttyname ++is of the form ++.Ql ttyXX . ++.El ++.Pp ++When first called, ++.Nm talk ++sends the message ++.Bd -literal -offset indent -compact ++Message from TalkDaemon@his_machine... ++talk: connection requested by your_name@your_machine. ++talk: respond with: talk your_name@your_machine ++.Ed ++.Pp ++to the user you wish to talk to. At this point, the recipient ++of the message should reply by typing ++.Pp ++.Dl talk \ your_name@your_machine ++.Pp ++It doesn't matter from which machine the recipient replies, as ++long as his login-name is the same. Once communication is established, ++the two parties may type simultaneously, with their output appearing ++in separate windows. Typing control-L ++.Ql ^L ++will cause the screen to ++be reprinted, while your erase, kill, and word kill characters will ++behave normally. To exit, just type your interrupt character; ++.Nm talk ++then moves the cursor to the bottom of the screen and restores the ++terminal to its previous state. ++.Pp ++Permission to talk may be denied or granted by use of the ++.Xr mesg 1 ++command. At the outset talking is allowed. Certain commands, in ++particular ++.Xr nroff 1 ++and ++.Xr pr 1 , ++disallow messages in order to ++prevent messy output. ++.Pp ++.Sh FILES ++.Bl -tag -width /var/run/utmp -compact ++.It Pa /etc/hosts ++to find the recipient's machine ++.It Pa /var/run/utmp ++to find the recipient's tty ++.El ++.Sh SEE ALSO ++.Xr mail 1 , ++.Xr mesg 1 , ++.Xr who 1 , ++.Xr write 1 ++.Sh BUGS ++The version of ++.Xr talk 1 ++released with ++.Bx 4.3 ++uses a protocol that ++is incompatible with the protocol used in the version released with ++.Bx 4.2 . ++.Sh HISTORY ++The ++.Nm ++command appeared in ++.Bx 4.2 . +diff --git a/talkd/Makefile.am b/talkd/Makefile.am +index eea1429..c66be17 100644 +--- a/talkd/Makefile.am ++++ b/talkd/Makefile.am +@@ -32,6 +32,12 @@ talkd_SOURCES = \ + talkd.c\ + intalkd.h + ++if ENABLE_talkd ++man_MANS = talkd.8 ++endif ++ ++EXTRA_DIST = $(man_MANS) ++ + @PATHDEFS_MAKE@ + + AM_CPPFLAGS = $(PATHDEF_DEV) +diff --git a/talkd/talkd.8 b/talkd/talkd.8 +new file mode 100644 +index 0000000..8169176 +--- /dev/null ++++ b/talkd/talkd.8 +@@ -0,0 +1,71 @@ ++.\" Copyright (c) 1983, 1991, 1993 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)talkd.8 8.2 (Berkeley) 12/11/93 ++.\" ++.Dd December 11, 1993 ++.Dt TALKD 8 ++.Os BSD 4.3 ++.Sh NAME ++.Nm talkd ++.Nd remote user communication server ++.Sh SYNOPSIS ++.Nm talkd ++.Sh DESCRIPTION ++.Nm Talkd ++is the server that notifies a user that someone else wants to ++initiate a conversation. ++It acts as a repository of invitations, responding to requests ++by clients wishing to rendezvous to hold a conversation. ++In normal operation, a client, the caller, ++initiates a rendezvous by sending a ++.Tn CTL_MSG ++to the server of ++type ++.Tn LOOK_UP ++(see ++.Aq Pa protocols/talkd.h ) . ++This causes the server to search its invitation ++tables to check if an invitation currently exists for the caller ++(to speak to the callee specified in the message). ++If the lookup fails, ++the caller then sends an ++.Tn ANNOUNCE ++message causing the server to ++broadcast an announcement on the callee's login ports requesting contact. ++When the callee responds, the local server uses the ++recorded invitation to respond with the appropriate rendezvous ++address and the caller and callee client programs establish a ++stream connection through which the conversation takes place. ++.Sh SEE ALSO ++.Xr talk 1 , ++.Xr write 1 ++.Sh HISTORY ++The ++.Nm ++command appeared in ++.Bx 4.3 . +diff --git a/telnet/Makefile.am b/telnet/Makefile.am +index 1ea413c..f225804 100644 +--- a/telnet/Makefile.am ++++ b/telnet/Makefile.am +@@ -26,6 +26,12 @@ telnet_SOURCES = authenc.c commands.c main.c network.c ring.c sys_bsd.c \ + + noinst_HEADERS = defines.h externs.h general.h ring.h types.h + ++if ENABLE_telnet ++man_MANS = telnet.1 ++endif ++ ++EXTRA_DIST = $(man_MANS) ++ + INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/lib -I../lib -I$(top_srcdir)/libinetutils + AM_CPPFLAGS=-DTERMCAP -DLINEMODE -DKLUDGELINEMODE -DENV_HACK + +diff --git a/telnet/telnet.1 b/telnet/telnet.1 +new file mode 100644 +index 0000000..48366e5 +--- /dev/null ++++ b/telnet/telnet.1 +@@ -0,0 +1,1362 @@ ++.\" Copyright (c) 1983, 1990, 1993 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)telnet.1 8.6 (Berkeley) 6/1/94 ++.\" ++.Dd June 1, 1994 ++.Dt TELNET 1 ++.Os BSD 4.2 ++.Sh NAME ++.Nm telnet ++.Nd user interface to the ++.Tn TELNET ++protocol ++.Sh SYNOPSIS ++.Nm telnet ++.Op Fl 8EFKLacdfrx ++.Op Fl S Ar tos ++.Op Fl X Ar authtype ++.Op Fl e Ar escapechar ++.Op Fl k Ar realm ++.Op Fl l Ar user ++.Op Fl n Ar tracefile ++.Oo ++.Ar host ++.Op port ++.Oc ++.Sh DESCRIPTION ++The ++.Nm telnet ++command ++is used to communicate with another host using the ++.Tn TELNET ++protocol. ++If ++.Nm telnet ++is invoked without the ++.Ar host ++argument, it enters command mode, ++indicated by its prompt ++.Pq Nm telnet\&> . ++In this mode, it accepts and executes the commands listed below. ++If it is invoked with arguments, it performs an ++.Ic open ++command with those arguments. ++.Pp ++Options: ++.Bl -tag -width indent ++.It Fl 8 ++Specifies an 8-bit data path. This causes an attempt to ++negotiate the ++.Dv TELNET BINARY ++option on both input and output. ++.It Fl E ++Stops any character from being recognized as an escape character. ++.It Fl F ++If Kerberos V5 authentication is being used, the ++.Fl F ++option allows the local credentials to be forwarded ++to the remote system, including any credentials that ++have already been forwarded into the local environment. ++.It Fl K ++Specifies no automatic login to the remote system. ++.It Fl L ++Specifies an 8-bit data path on output. This causes the ++BINARY option to be negotiated on output. ++.It Fl S Ar tos ++Sets the IP type-of-service (TOS) option for the telnet ++connection to the value ++.Ar tos, ++which can be a numeric TOS value ++or, on systems that support it, a symbolic ++TOS name found in the /etc/iptos file. ++.It Fl X Ar atype ++Disables the ++.Ar atype ++type of authentication. ++.It Fl a ++Attempt automatic login. ++Currently, this sends the user name via the ++.Ev USER ++variable ++of the ++.Ev ENVIRON ++option if supported by the remote system. ++The name used is that of the current user as returned by ++.Xr getlogin 2 ++if it agrees with the current user ID, ++otherwise it is the name associated with the user ID. ++.It Fl c ++Disables the reading of the user's ++.Pa \&.telnetrc ++file. (See the ++.Ic toggle skiprc ++command on this man page.) ++.It Fl d ++Sets the initial value of the ++.Ic debug ++toggle to ++.Dv TRUE ++.It Fl e Ar escape char ++Sets the initial ++.Nm ++.Nm telnet ++escape character to ++.Ar escape char. ++If ++.Ar escape char ++is omitted, then ++there will be no escape character. ++.It Fl f ++If Kerberos V5 authentication is being used, the ++.Fl f ++option allows the local credentials to be forwarded to the remote system. ++.ne 1i ++.It Fl k Ar realm ++If Kerberos authentication is being used, the ++.Fl k ++option requests that telnet obtain tickets for the remote host in ++realm realm instead of the remote host's realm, as determined ++by ++.Xr krb_realmofhost 3 . ++.It Fl l Ar user ++When connecting to the remote system, if the remote system ++understands the ++.Ev ENVIRON ++option, then ++.Ar user ++will be sent to the remote system as the value for the variable USER. ++This option implies the ++.Fl a ++option. ++This option may also be used with the ++.Ic open ++command. ++.It Fl n Ar tracefile ++Opens ++.Ar tracefile ++for recording trace information. ++See the ++.Ic set tracefile ++command below. ++.It Fl r ++Specifies a user interface similar to ++.Xr rlogin 1 . ++In this ++mode, the escape character is set to the tilde (~) character, ++unless modified by the -e option. ++.It Fl x ++Turns on encryption of the data stream if possible. This ++option is not available outside of the United States and ++Canada. ++.It Ar host ++Indicates the official name, an alias, or the Internet address ++of a remote host. ++.It Ar port ++Indicates a port number (address of an application). If a number is ++not specified, the default ++.Nm telnet ++port is used. ++.El ++.Pp ++When in rlogin mode, a line of the form ~. disconnects from the ++remote host; ~ is the telnet escape character. ++Similarly, the line ~^Z suspends the telnet session. ++The line ~^] escapes to the normal telnet escape prompt. ++.Pp ++Once a connection has been opened, ++.Nm telnet ++will attempt to enable the ++.Dv TELNET LINEMODE ++option. ++If this fails, then ++.Nm telnet ++will revert to one of two input modes: ++either \*(Lqcharacter at a time\*(Rq ++or \*(Lqold line by line\*(Rq ++depending on what the remote system supports. ++.Pp ++When ++.Dv LINEMODE ++is enabled, character processing is done on the ++local system, under the control of the remote system. When input ++editing or character echoing is to be disabled, the remote system ++will relay that information. The remote system will also relay ++changes to any special characters that happen on the remote ++system, so that they can take effect on the local system. ++.Pp ++In \*(Lqcharacter at a time\*(Rq mode, most ++text typed is immediately sent to the remote host for processing. ++.Pp ++In \*(Lqold line by line\*(Rq mode, all text is echoed locally, ++and (normally) only completed lines are sent to the remote host. ++The \*(Lqlocal echo character\*(Rq (initially \*(Lq^E\*(Rq) may be used ++to turn off and on the local echo ++(this would mostly be used to enter passwords ++without the password being echoed). ++.Pp ++If the ++.Dv LINEMODE ++option is enabled, or if the ++.Ic localchars ++toggle is ++.Dv TRUE ++(the default for \*(Lqold line by line\*(Lq; see below), ++the user's ++.Ic quit , ++.Ic intr , ++and ++.Ic flush ++characters are trapped locally, and sent as ++.Tn TELNET ++protocol sequences to the remote side. ++If ++.Dv LINEMODE ++has ever been enabled, then the user's ++.Ic susp ++and ++.Ic eof ++are also sent as ++.Tn TELNET ++protocol sequences, ++and ++.Ic quit ++is sent as a ++.Dv TELNET ABORT ++instead of ++.Dv BREAK ++There are options (see ++.Ic toggle ++.Ic autoflush ++and ++.Ic toggle ++.Ic autosynch ++below) ++which cause this action to flush subsequent output to the terminal ++(until the remote host acknowledges the ++.Tn TELNET ++sequence) and flush previous terminal input ++(in the case of ++.Ic quit ++and ++.Ic intr ) . ++.Pp ++While connected to a remote host, ++.Nm telnet ++command mode may be entered by typing the ++.Nm telnet ++\*(Lqescape character\*(Rq (initially \*(Lq^]\*(Rq). ++When in command mode, the normal terminal editing conventions are available. ++.Pp ++The following ++.Nm telnet ++commands are available. ++Only enough of each command to uniquely identify it need be typed ++(this is also true for arguments to the ++.Ic mode , ++.Ic set , ++.Ic toggle , ++.Ic unset , ++.Ic slc , ++.Ic environ , ++and ++.Ic display ++commands). ++.Pp ++.Bl -tag -width "mode type" ++.It Ic auth Ar argument ... ++The auth command manipulates the information sent through the ++.Dv TELNET AUTHENTICATE ++option. Valid arguments for the ++auth command are as follows: ++.Bl -tag -width "disable type" ++.It Ic disable Ar type ++Disables the specified type of authentication. To ++obtain a list of available types, use the ++.Ic auth disable \&? ++command. ++.It Ic enable Ar type ++Enables the specified type of authentication. To ++obtain a list of available types, use the ++.Ic auth enable \&? ++command. ++.It Ic status ++Lists the current status of the various types of ++authentication. ++.El ++.It Ic close ++Close a ++.Tn TELNET ++session and return to command mode. ++.It Ic display Ar argument ... ++Displays all, or some, of the ++.Ic set ++and ++.Ic toggle ++values (see below). ++.It Ic encrypt Ar argument ... ++The encrypt command manipulates the information sent through the ++.Dv TELNET ENCRYPT ++option. ++.Pp ++Note: Because of export controls, the ++.Dv TELNET ENCRYPT ++option is not supported outside of the United States and Canada. ++.Pp ++Valid arguments for the encrypt command are as follows: ++.Bl -tag -width Ar ++.It Ic disable Ar type Ic [input|output] ++Disables the specified type of encryption. If you ++omit the input and output, both input and output ++are disabled. To obtain a list of available ++types, use the ++.Ic encrypt disable \&? ++command. ++.It Ic enable Ar type Ic [input|output] ++Enables the specified type of encryption. If you ++omit input and output, both input and output are ++enabled. To obtain a list of available types, use the ++.Ic encrypt enable \&? ++command. ++.It Ic input ++This is the same as the ++.Ic encrypt start input ++command. ++.It Ic -input ++This is the same as the ++.Ic encrypt stop input ++command. ++.It Ic output ++This is the same as the ++.Ic encrypt start output ++command. ++.It Ic -output ++This is the same as the ++.Ic encrypt stop output ++command. ++.It Ic start Ic [input|output] ++Attempts to start encryption. If you omit ++.Ic input ++and ++.Ic output, ++both input and output are enabled. To ++obtain a list of available types, use the ++.Ic encrypt enable \&? ++command. ++.It Ic status ++Lists the current status of encryption. ++.It Ic stop Ic [input|output] ++Stops encryption. If you omit input and output, ++encryption is on both input and output. ++.It Ic type Ar type ++Sets the default type of encryption to be used ++with later ++.Ic encrypt start ++or ++.Ic encrypt stop ++commands. ++.El ++.It Ic environ Ar arguments... ++The ++.Ic environ ++command is used to manipulate the ++the variables that my be sent through the ++.Dv TELNET ENVIRON ++option. ++The initial set of variables is taken from the users ++environment, with only the ++.Ev DISPLAY ++and ++.Ev PRINTER ++variables being exported by default. ++The ++.Ev USER ++variable is also exported if the ++.Fl a ++or ++.Fl l ++options are used. ++.br ++Valid arguments for the ++.Ic environ ++command are: ++.Bl -tag -width Fl ++.It Ic define Ar variable value ++Define the variable ++.Ar variable ++to have a value of ++.Ar value. ++Any variables defined by this command are automatically exported. ++The ++.Ar value ++may be enclosed in single or double quotes so ++that tabs and spaces may be included. ++.It Ic undefine Ar variable ++Remove ++.Ar variable ++from the list of environment variables. ++.It Ic export Ar variable ++Mark the variable ++.Ar variable ++to be exported to the remote side. ++.It Ic unexport Ar variable ++Mark the variable ++.Ar variable ++to not be exported unless ++explicitly asked for by the remote side. ++.It Ic list ++List the current set of environment variables. ++Those marked with a ++.Cm * ++will be sent automatically, ++other variables will only be sent if explicitly requested. ++.It Ic \&? ++Prints out help information for the ++.Ic environ ++command. ++.El ++.It Ic logout ++Sends the ++.Dv TELNET LOGOUT ++option to the remote side. ++This command is similar to a ++.Ic close ++command; however, if the remote side does not support the ++.Dv LOGOUT ++option, nothing happens. ++If, however, the remote side does support the ++.Dv LOGOUT ++option, this command should cause the remote side to close the ++.Tn TELNET ++connection. ++If the remote side also supports the concept of ++suspending a user's session for later reattachment, ++the logout argument indicates that you ++should terminate the session immediately. ++.It Ic mode Ar type ++.Ar Type ++is one of several options, depending on the state of the ++.Tn TELNET ++session. ++The remote host is asked for permission to go into the requested mode. ++If the remote host is capable of entering that mode, the requested ++mode will be entered. ++.Bl -tag -width Ar ++.It Ic character ++Disable the ++.Dv TELNET LINEMODE ++option, or, if the remote side does not understand the ++.Dv LINEMODE ++option, then enter \*(Lqcharacter at a time\*(Lq mode. ++.It Ic line ++Enable the ++.Dv TELNET LINEMODE ++option, or, if the remote side does not understand the ++.Dv LINEMODE ++option, then attempt to enter \*(Lqold-line-by-line\*(Lq mode. ++.It Ic isig Pq Ic \-isig ++Attempt to enable (disable) the ++.Dv TRAPSIG ++mode of the ++.Dv LINEMODE ++option. ++This requires that the ++.Dv LINEMODE ++option be enabled. ++.It Ic edit Pq Ic \-edit ++Attempt to enable (disable) the ++.Dv EDIT ++mode of the ++.Dv LINEMODE ++option. ++This requires that the ++.Dv LINEMODE ++option be enabled. ++.It Ic softtabs Pq Ic \-softtabs ++Attempt to enable (disable) the ++.Dv SOFT_TAB ++mode of the ++.Dv LINEMODE ++option. ++This requires that the ++.Dv LINEMODE ++option be enabled. ++.ne 1i ++.It Ic litecho Pq Ic \-litecho ++Attempt to enable (disable) the ++.Dv LIT_ECHO ++mode of the ++.Dv LINEMODE ++option. ++This requires that the ++.Dv LINEMODE ++option be enabled. ++.It Ic \&? ++Prints out help information for the ++.Ic mode ++command. ++.El ++.It Xo ++.Ic open Ar host ++.Oo Op Fl l ++.Ar user ++.Oc Ns Oo Fl ++.Ar port Oc ++.Xc ++Open a connection to the named host. ++If no port number ++is specified, ++.Nm telnet ++will attempt to contact a ++.Tn TELNET ++server at the default port. ++The host specification may be either a host name (see ++.Xr hosts 5 ) ++or an Internet address specified in the \*(Lqdot notation\*(Rq (see ++.Xr inet 3 ) . ++The ++.Op Fl l ++option may be used to specify the user name ++to be passed to the remote system via the ++.Ev ENVIRON ++option. ++When connecting to a non-standard port, ++.Nm telnet ++omits any automatic initiation of ++.Tn TELNET ++options. When the port number is preceded by a minus sign, ++the initial option negotiation is done. ++After establishing a connection, the file ++.Pa \&.telnetrc ++in the ++users home directory is opened. Lines beginning with a # are ++comment lines. Blank lines are ignored. Lines that begin ++without white space are the start of a machine entry. The ++first thing on the line is the name of the machine that is ++being connected to. The rest of the line, and successive ++lines that begin with white space are assumed to be ++.Nm telnet ++commands and are processed as if they had been typed ++in manually to the ++.Nm telnet ++command prompt. ++.It Ic quit ++Close any open ++.Tn TELNET ++session and exit ++.Nm telnet . ++An end of file (in command mode) will also close a session and exit. ++.It Ic send Ar arguments ++Sends one or more special character sequences to the remote host. ++The following are the arguments which may be specified ++(more than one argument may be specified at a time): ++.Pp ++.Bl -tag -width escape ++.It Ic abort ++Sends the ++.Dv TELNET ABORT ++(Abort ++processes) ++sequence. ++.It Ic ao ++Sends the ++.Dv TELNET AO ++(Abort Output) sequence, which should cause the remote system to flush ++all output ++.Em from ++the remote system ++.Em to ++the user's terminal. ++.It Ic ayt ++Sends the ++.Dv TELNET AYT ++(Are You There) ++sequence, to which the remote system may or may not choose to respond. ++.It Ic brk ++Sends the ++.Dv TELNET BRK ++(Break) sequence, which may have significance to the remote ++system. ++.It Ic ec ++Sends the ++.Dv TELNET EC ++(Erase Character) ++sequence, which should cause the remote system to erase the last character ++entered. ++.It Ic el ++Sends the ++.Dv TELNET EL ++(Erase Line) ++sequence, which should cause the remote system to erase the line currently ++being entered. ++.It Ic eof ++Sends the ++.Dv TELNET EOF ++(End Of File) ++sequence. ++.It Ic eor ++Sends the ++.Dv TELNET EOR ++(End of Record) ++sequence. ++.It Ic escape ++Sends the current ++.Nm telnet ++escape character (initially \*(Lq^\*(Rq). ++.It Ic ga ++Sends the ++.Dv TELNET GA ++(Go Ahead) ++sequence, which likely has no significance to the remote system. ++.It Ic getstatus ++If the remote side supports the ++.Dv TELNET STATUS ++command, ++.Ic getstatus ++will send the subnegotiation to request that the server send ++its current option status. ++.ne 1i ++.It Ic ip ++Sends the ++.Dv TELNET IP ++(Interrupt Process) sequence, which should cause the remote ++system to abort the currently running process. ++.It Ic nop ++Sends the ++.Dv TELNET NOP ++(No OPeration) ++sequence. ++.It Ic susp ++Sends the ++.Dv TELNET SUSP ++(SUSPend process) ++sequence. ++.It Ic synch ++Sends the ++.Dv TELNET SYNCH ++sequence. ++This sequence causes the remote system to discard all previously typed ++(but not yet read) input. ++This sequence is sent as ++.Tn TCP ++urgent ++data (and may not work if the remote system is a ++.Bx 4.2 ++system -- if ++it doesn't work, a lower case \*(Lqr\*(Rq may be echoed on the terminal). ++.It Ic do Ar cmd ++.It Ic dont Ar cmd ++.It Ic will Ar cmd ++.It Ic wont Ar cmd ++Sends the ++.Dv TELNET DO ++.Ar cmd ++sequence. ++.Ar Cmd ++can be either a decimal number between 0 and 255, ++or a symbolic name for a specific ++.Dv TELNET ++command. ++.Ar Cmd ++can also be either ++.Ic help ++or ++.Ic \&? ++to print out help information, including ++a list of known symbolic names. ++.It Ic \&? ++Prints out help information for the ++.Ic send ++command. ++.El ++.It Ic set Ar argument value ++.It Ic unset Ar argument value ++The ++.Ic set ++command will set any one of a number of ++.Nm telnet ++variables to a specific value or to ++.Dv TRUE . ++The special value ++.Ic off ++turns off the function associated with ++the variable, this is equivalent to using the ++.Ic unset ++command. ++The ++.Ic unset ++command will disable or set to ++.Dv FALSE ++any of the specified functions. ++The values of variables may be interrogated with the ++.Ic display ++command. ++The variables which may be set or unset, but not toggled, are ++listed here. In addition, any of the variables for the ++.Ic toggle ++command may be explicitly set or unset using ++the ++.Ic set ++and ++.Ic unset ++commands. ++.Bl -tag -width escape ++.It Ic ayt ++If ++.Tn TELNET ++is in localchars mode, or ++.Dv LINEMODE ++is enabled, and the status character is typed, a ++.Dv TELNET AYT ++sequence (see ++.Ic send ayt ++preceding) is sent to the ++remote host. The initial value for the "Are You There" ++character is the terminal's status character. ++.It Ic echo ++This is the value (initially \*(Lq^E\*(Rq) which, when in ++\*(Lqline by line\*(Rq mode, toggles between doing local echoing ++of entered characters (for normal processing), and suppressing ++echoing of entered characters (for entering, say, a password). ++.It Ic eof ++If ++.Nm telnet ++is operating in ++.Dv LINEMODE ++or \*(Lqold line by line\*(Rq mode, entering this character ++as the first character on a line will cause this character to be ++sent to the remote system. ++The initial value of the eof character is taken to be the terminal's ++.Ic eof ++character. ++.It Ic erase ++If ++.Nm telnet ++is in ++.Ic localchars ++mode (see ++.Ic toggle ++.Ic localchars ++below), ++.Sy and ++if ++.Nm telnet ++is operating in \*(Lqcharacter at a time\*(Rq mode, then when this ++character is typed, a ++.Dv TELNET EC ++sequence (see ++.Ic send ++.Ic ec ++above) ++is sent to the remote system. ++The initial value for the erase character is taken to be ++the terminal's ++.Ic erase ++character. ++.It Ic escape ++This is the ++.Nm telnet ++escape character (initially \*(Lq^[\*(Rq) which causes entry ++into ++.Nm telnet ++command mode (when connected to a remote system). ++.It Ic flushoutput ++If ++.Nm telnet ++is in ++.Ic localchars ++mode (see ++.Ic toggle ++.Ic localchars ++below) ++and the ++.Ic flushoutput ++character is typed, a ++.Dv TELNET AO ++sequence (see ++.Ic send ++.Ic ao ++above) ++is sent to the remote host. ++The initial value for the flush character is taken to be ++the terminal's ++.Ic flush ++character. ++.It Ic forw1 ++.It Ic forw2 ++If ++.Tn TELNET ++is operating in ++.Dv LINEMODE , ++these are the ++characters that, when typed, cause partial lines to be ++forwarded to the remote system. The initial value for ++the forwarding characters are taken from the terminal's ++eol and eol2 characters. ++.It Ic interrupt ++If ++.Nm telnet ++is in ++.Ic localchars ++mode (see ++.Ic toggle ++.Ic localchars ++below) ++and the ++.Ic interrupt ++character is typed, a ++.Dv TELNET IP ++sequence (see ++.Ic send ++.Ic ip ++above) ++is sent to the remote host. ++The initial value for the interrupt character is taken to be ++the terminal's ++.Ic intr ++character. ++.It Ic kill ++If ++.Nm telnet ++is in ++.Ic localchars ++mode (see ++.Ic toggle ++.Ic localchars ++below), ++.Ic and ++if ++.Nm telnet ++is operating in \*(Lqcharacter at a time\*(Rq mode, then when this ++character is typed, a ++.Dv TELNET EL ++sequence (see ++.Ic send ++.Ic el ++above) ++is sent to the remote system. ++The initial value for the kill character is taken to be ++the terminal's ++.Ic kill ++character. ++.It Ic lnext ++If ++.Nm telnet ++is operating in ++.Dv LINEMODE ++or \*(Lqold line by line\*(Lq mode, then this character is taken to ++be the terminal's ++.Ic lnext ++character. ++The initial value for the lnext character is taken to be ++the terminal's ++.Ic lnext ++character. ++.It Ic quit ++If ++.Nm telnet ++is in ++.Ic localchars ++mode (see ++.Ic toggle ++.Ic localchars ++below) ++and the ++.Ic quit ++character is typed, a ++.Dv TELNET BRK ++sequence (see ++.Ic send ++.Ic brk ++above) ++is sent to the remote host. ++The initial value for the quit character is taken to be ++the terminal's ++.Ic quit ++character. ++.It Ic reprint ++If ++.Nm telnet ++is operating in ++.Dv LINEMODE ++or \*(Lqold line by line\*(Lq mode, then this character is taken to ++be the terminal's ++.Ic reprint ++character. ++The initial value for the reprint character is taken to be ++the terminal's ++.Ic reprint ++character. ++.It Ic rlogin ++This is the rlogin escape character. ++If set, the normal ++.Tn TELNET ++escape character is ignored unless it is ++preceded by this character at the beginning of a line. ++This character, at the beginning of a line followed by ++a "." closes the connection; when followed by a ^Z it ++suspends the telnet command. The initial state is to ++disable the rlogin escape character. ++.It Ic start ++If the ++.Dv TELNET TOGGLE-FLOW-CONTROL ++option has been enabled, ++then this character is taken to ++be the terminal's ++.Ic start ++character. ++The initial value for the kill character is taken to be ++the terminal's ++.Ic start ++character. ++.It Ic stop ++If the ++.Dv TELNET TOGGLE-FLOW-CONTROL ++option has been enabled, ++then this character is taken to ++be the terminal's ++.Ic stop ++character. ++The initial value for the kill character is taken to be ++the terminal's ++.Ic stop ++character. ++.It Ic susp ++If ++.Nm telnet ++is in ++.Ic localchars ++mode, or ++.Dv LINEMODE ++is enabled, and the ++.Ic suspend ++character is typed, a ++.Dv TELNET SUSP ++sequence (see ++.Ic send ++.Ic susp ++above) ++is sent to the remote host. ++The initial value for the suspend character is taken to be ++the terminal's ++.Ic suspend ++character. ++.ne 1i ++.It Ic tracefile ++This is the file to which the output, caused by ++.Ic netdata ++or ++.Ic option ++tracing being ++.Dv TRUE , ++will be written. If it is set to ++.Dq Fl , ++then tracing information will be written to standard output (the default). ++.It Ic worderase ++If ++.Nm telnet ++is operating in ++.Dv LINEMODE ++or \*(Lqold line by line\*(Lq mode, then this character is taken to ++be the terminal's ++.Ic worderase ++character. ++The initial value for the worderase character is taken to be ++the terminal's ++.Ic worderase ++character. ++.It Ic \&? ++Displays the legal ++.Ic set ++.Pq Ic unset ++commands. ++.El ++.It Ic slc Ar state ++The ++.Ic slc ++command (Set Local Characters) is used to set ++or change the state of the the special ++characters when the ++.Dv TELNET LINEMODE ++option has ++been enabled. Special characters are characters that get ++mapped to ++.Tn TELNET ++commands sequences (like ++.Ic ip ++or ++.Ic quit ) ++or line editing characters (like ++.Ic erase ++and ++.Ic kill ) . ++By default, the local special characters are exported. ++.Bl -tag -width Fl ++.It Ic check ++Verify the current settings for the current special characters. ++The remote side is requested to send all the current special ++character settings, and if there are any discrepancies with ++the local side, the local side will switch to the remote value. ++.It Ic export ++Switch to the local defaults for the special characters. The ++local default characters are those of the local terminal at ++the time when ++.Nm telnet ++was started. ++.It Ic import ++Switch to the remote defaults for the special characters. ++The remote default characters are those of the remote system ++at the time when the ++.Tn TELNET ++connection was established. ++.It Ic \&? ++Prints out help information for the ++.Ic slc ++command. ++.El ++.It Ic status ++Show the current status of ++.Nm telnet . ++This includes the peer one is connected to, as well ++as the current mode. ++.It Ic toggle Ar arguments ... ++Toggle (between ++.Dv TRUE ++and ++.Dv FALSE ) ++various flags that control how ++.Nm telnet ++responds to events. ++These flags may be set explicitly to ++.Dv TRUE ++or ++.Dv FALSE ++using the ++.Ic set ++and ++.Ic unset ++commands listed above. ++More than one argument may be specified. ++The state of these flags may be interrogated with the ++.Ic display ++command. ++Valid arguments are: ++.Bl -tag -width Ar ++.It Ic authdebug ++Turns on debugging information for the authentication code. ++.It Ic autoflush ++If ++.Ic autoflush ++and ++.Ic localchars ++are both ++.Dv TRUE , ++then when the ++.Ic ao , ++or ++.Ic quit ++characters are recognized (and transformed into ++.Tn TELNET ++sequences; see ++.Ic set ++above for details), ++.Nm telnet ++refuses to display any data on the user's terminal ++until the remote system acknowledges (via a ++.Dv TELNET TIMING MARK ++option) ++that it has processed those ++.Tn TELNET ++sequences. ++The initial value for this toggle is ++.Dv TRUE ++if the terminal user had not ++done an "stty noflsh", otherwise ++.Dv FALSE ++(see ++.Xr stty 1 ) . ++.It Ic autodecrypt ++When the ++.Dv TELNET ENCRYPT ++option is negotiated, by ++default the actual encryption (decryption) of the data ++stream does not start automatically. The autoencrypt ++(autodecrypt) command states that encryption of the ++output (input) stream should be enabled as soon as ++possible. ++.sp ++.Pp ++Note: Because of export controls, the ++.Dv TELNET ENCRYPT ++option is not supported outside the United States and Canada. ++.It Ic autologin ++If the remote side supports the ++.Dv TELNET AUTHENTICATION ++option ++.Tn TELNET ++attempts to use it to perform automatic authentication. If the ++.Dv AUTHENTICATION ++option is not supported, the user's login ++name are propagated through the ++.Dv TELNET ENVIRON ++option. ++This command is the same as specifying ++.Ar a ++option on the ++.Ic open ++command. ++.It Ic autosynch ++If ++.Ic autosynch ++and ++.Ic localchars ++are both ++.Dv TRUE , ++then when either the ++.Ic intr ++or ++.Ic quit ++characters is typed (see ++.Ic set ++above for descriptions of the ++.Ic intr ++and ++.Ic quit ++characters), the resulting ++.Tn TELNET ++sequence sent is followed by the ++.Dv TELNET SYNCH ++sequence. ++This procedure ++.Ic should ++cause the remote system to begin throwing away all previously ++typed input until both of the ++.Tn TELNET ++sequences have been read and acted upon. ++The initial value of this toggle is ++.Dv FALSE . ++.It Ic binary ++Enable or disable the ++.Dv TELNET BINARY ++option on both input and output. ++.It Ic inbinary ++Enable or disable the ++.Dv TELNET BINARY ++option on input. ++.It Ic outbinary ++Enable or disable the ++.Dv TELNET BINARY ++option on output. ++.It Ic crlf ++If this is ++.Dv TRUE , ++then carriage returns will be sent as ++.Li <CR><LF> . ++If this is ++.Dv FALSE , ++then carriage returns will be send as ++.Li <CR><NUL> . ++The initial value for this toggle is ++.Dv FALSE . ++.It Ic crmod ++Toggle carriage return mode. ++When this mode is enabled, most carriage return characters received from ++the remote host will be mapped into a carriage return followed by ++a line feed. ++This mode does not affect those characters typed by the user, only ++those received from the remote host. ++This mode is not very useful unless the remote host ++only sends carriage return, but never line feed. ++The initial value for this toggle is ++.Dv FALSE . ++.It Ic debug ++Toggles socket level debugging (useful only to the ++.Ic super user ) . ++The initial value for this toggle is ++.Dv FALSE . ++.It Ic encdebug ++Turns on debugging information for the encryption code. ++.It Ic localchars ++If this is ++.Dv TRUE , ++then the ++.Ic flush , ++.Ic interrupt , ++.Ic quit , ++.Ic erase , ++and ++.Ic kill ++characters (see ++.Ic set ++above) are recognized locally, and transformed into (hopefully) appropriate ++.Tn TELNET ++control sequences ++(respectively ++.Ic ao , ++.Ic ip , ++.Ic brk , ++.Ic ec , ++and ++.Ic el ; ++see ++.Ic send ++above). ++The initial value for this toggle is ++.Dv TRUE ++in \*(Lqold line by line\*(Rq mode, ++and ++.Dv FALSE ++in \*(Lqcharacter at a time\*(Rq mode. ++When the ++.Dv LINEMODE ++option is enabled, the value of ++.Ic localchars ++is ignored, and assumed to always be ++.Dv TRUE . ++If ++.Dv LINEMODE ++has ever been enabled, then ++.Ic quit ++is sent as ++.Ic abort , ++and ++.Ic eof and ++.B suspend ++are sent as ++.Ic eof and ++.Ic susp , ++see ++.Ic send ++above). ++.It Ic netdata ++Toggles the display of all network data (in hexadecimal format). ++The initial value for this toggle is ++.Dv FALSE . ++.It Ic options ++Toggles the display of some internal ++.Nm telnet ++protocol processing (having to do with ++.Tn TELNET ++options). ++The initial value for this toggle is ++.Dv FALSE . ++.ne 1i ++.It Ic prettydump ++When the ++.Ic netdata ++toggle is enabled, if ++.Ic prettydump ++is enabled the output from the ++.Ic netdata ++command will be formatted in a more user readable format. ++Spaces are put between each character in the output, and the ++beginning of any ++.Tn TELNET ++escape sequence is preceded by a '*' to aid in locating them. ++.It Ic skiprc ++When the skiprc toggle is ++.Dv TRUE , ++.Tn TELNET ++skips the reading of the ++.Pa \&.telnetrc ++file in the users home ++directory when connections are opened. The initial ++value for this toggle is ++.Dv FALSE. ++.It Ic termdata ++Toggles the display of all terminal data (in hexadecimal format). ++The initial value for this toggle is ++.Dv FALSE . ++.It Ic verbose_encrypt ++When the ++.Ic verbose_encrypt ++toggle is ++.Dv TRUE , ++.Tn TELNET ++prints out a message each time encryption is enabled or ++disabled. The initial value for this toggle is ++.Dv FALSE. ++Note: Because of export controls, data encryption ++is not supported outside of the United States and Canada. ++.It Ic \&? ++Displays the legal ++.Ic toggle ++commands. ++.El ++.It Ic z ++Suspend ++.Nm telnet . ++This command only works when the user is using the ++.Xr csh 1 . ++.It Ic \&! Op Ar command ++Execute a single command in a subshell on the local ++system. If ++.Ic command ++is omitted, then an interactive ++subshell is invoked. ++.It Ic \&? Op Ar command ++Get help. With no arguments, ++.Nm telnet ++prints a help summary. ++If a command is specified, ++.Nm telnet ++will print the help information for just that command. ++.El ++.Sh ENVIRONMENT ++.Nm Telnet ++uses at least the ++.Ev HOME , ++.Ev SHELL , ++.Ev DISPLAY , ++and ++.Ev TERM ++environment variables. ++Other environment variables may be propagated ++to the other side via the ++.Dv TELNET ENVIRON ++option. ++.Sh FILES ++.Bl -tag -width ~/.telnetrc -compact ++.It Pa ~/.telnetrc ++user customized telnet startup values ++.El ++.Sh HISTORY ++The ++.Nm Telnet ++command appeared in ++.Bx 4.2 . ++.Sh NOTES ++.Pp ++On some remote systems, echo has to be turned off manually when in ++\*(Lqold line by line\*(Rq mode. ++.Pp ++In \*(Lqold line by line\*(Rq mode or ++.Dv LINEMODE ++the terminal's ++.Ic eof ++character is only recognized (and sent to the remote system) ++when it is the first character on a line. +diff --git a/telnetd/Makefile.am b/telnetd/Makefile.am +index 81704fa..746cd10 100644 +--- a/telnetd/Makefile.am ++++ b/telnetd/Makefile.am +@@ -26,6 +26,12 @@ EXTRA_PROGRAMS = telnetd + telnetd_SOURCES = telnetd.c pty.c term.c utility.c state.c termstat.c slc.c + noinst_HEADERS = telnetd.h + ++if ENABLE_telnetd ++man_MANS = telnetd.8 ++endif ++ ++EXTRA_DIST = $(man_MANS) ++ + @PATHDEFS_MAKE@ + + AM_CPPFLAGS = $(PATHDEF_DEV) $(PATHDEF_TTY) $(PATHDEF_LOGIN) +@@ -36,3 +42,4 @@ LDADD = -L../libinetutils -linetutils \ + -L../libtelnet -ltelnet \ + ../lib/libgnu.a \ + $(LIBTERMCAP) $(LIBUTIL) $(LIBCRYPT) $(LIBAUTH) ++ +diff --git a/telnetd/telnetd.8 b/telnetd/telnetd.8 +new file mode 100644 +index 0000000..05bcf74 +--- /dev/null ++++ b/telnetd/telnetd.8 +@@ -0,0 +1,603 @@ ++.\" Copyright (c) 1983, 1993 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)telnetd.8 8.4 (Berkeley) 6/1/94 ++.\" ++.Dd June 1, 1994 ++.Dt TELNETD 8 ++.Os BSD 4.2 ++.Sh NAME ++.Nm telnetd ++.Nd DARPA ++.Tn TELNET ++protocol server ++.Sh SYNOPSIS ++.Nm /usr/libexec/telnetd ++.Op Fl BUhlkns ++.Op Fl D Ar debugmode ++.Op Fl I Ns Ar initid ++.Op Fl S Ar tos ++.Op Fl X Ar authtype ++.Op Fl a Ar authmode ++.Op Fl edebug ++.Op Fl r Ns Ar lowpty-highpty ++.Op Fl u Ar len ++.Op Fl debug Op Ar port ++.Sh DESCRIPTION ++The ++.Nm telnetd ++command is a server which supports the ++.Tn DARPA ++standard ++.Tn TELNET ++virtual terminal protocol. ++.Nm Telnetd ++is normally invoked by the internet server (see ++.Xr inetd 8 ) ++for requests to connect to the ++.Tn TELNET ++port as indicated by the ++.Pa /etc/services ++file (see ++.Xr services 5 ) . ++The ++.Fl debug ++option may be used to start up ++.Nm telnetd ++manually, instead of through ++.Xr inetd 8 . ++If started up this way, ++.Ar port ++may be specified to run ++.Nm telnetd ++on an alternate ++.Tn TCP ++port number. ++.Pp ++The ++.Nm telnetd ++command accepts the following options: ++.Bl -tag -width "-a authmode" ++.It Fl a Ar authmode ++This option may be used for specifying what mode should ++be used for authentication. ++Note that this option is only useful if ++.Nm telnetd ++has been compiled with support for the ++.Dv AUTHENTICATION ++option. ++There are several valid values for ++.Ar authmode: ++.Bl -tag -width debug ++.It debug ++Turns on authentication debugging code. ++.It user ++Only allow connections when the remote user ++can provide valid authentication information ++to identify the remote user, ++and is allowed access to the specified account ++without providing a password. ++.It valid ++Only allow connections when the remote user ++can provide valid authentication information ++to identify the remote user. ++The ++.Xr login 1 ++command will provide any additional user verification ++needed if the remote user is not allowed automatic ++access to the specified account. ++.It other ++Only allow connections that supply some authentication information. ++This option is currently not supported ++by any of the existing authentication mechanisms, ++and is thus the same as specifying ++.Fl a ++.Cm valid . ++.It none ++This is the default state. ++Authentication information is not required. ++If no or insufficient authentication information ++is provided, then the ++.Xr login 1 ++program will provide the necessary user ++verification. ++.It off ++This disables the authentication code. ++All user verification will happen through the ++.Xr login 1 ++program. ++.El ++.It Fl B ++Specifies bftp server mode. In this mode, ++.Nm telnetd ++causes login to start a ++.Xr bftp 1 ++session rather than the user's ++normal shell. In bftp daemon mode normal ++logins are not supported, and it must be used ++on a port other than the normal ++.Tn TELNET ++port. ++.It Fl D Ar debugmode ++This option may be used for debugging purposes. ++This allows ++.Nm telnetd ++to print out debugging information ++to the connection, allowing the user to see what ++.Nm telnetd ++is doing. ++There are several possible values for ++.Ar debugmode: ++.Bl -tag -width exercise ++.It Cm options ++Prints information about the negotiation of ++.Tn TELNET ++options. ++.It Cm report ++Prints the ++.Cm options ++information, plus some additional information ++about what processing is going on. ++.It Cm netdata ++Displays the data stream received by ++.Nm telnetd. ++.It Cm ptydata ++Displays data written to the pty. ++.It Cm exercise ++Has not been implemented yet. ++.El ++.It Fl debug ++Enables debugging on each socket created by ++.Nm telnetd ++(see ++.Dv SO_DEBUG ++in ++.Xr socket 2 ) . ++.It Fl edebug ++If ++.Nm telnetd ++has been compiled with support for data encryption, then the ++.Fl edebug ++option may be used to enable encryption debugging code. ++.It Fl h ++Disables the printing of host-specific information before ++login has been completed. ++.It Fl I Ar initid ++This option is only applicable to ++.Tn UNICOS ++systems prior to 7.0. ++It specifies the ++.Dv ID ++from ++.Pa /etc/inittab ++to use when init starts login sessions. The default ++.Dv ID ++is ++.Dv fe. ++.It Fl k ++This option is only useful if ++.Nm telnetd ++has been compiled with both linemode and kludge linemode ++support. If the ++.Fl k ++option is specified, then if the remote client does not ++support the ++.Dv LINEMODE ++option, then ++.Nm telnetd ++will operate in character at a time mode. ++It will still support kludge linemode, but will only ++go into kludge linemode if the remote client requests ++it. ++(This is done by by the client sending ++.Dv DONT SUPPRESS-GO-AHEAD ++and ++.Dv DONT ECHO . ) ++The ++.Fl k ++option is most useful when there are remote clients ++that do not support kludge linemode, but pass the heuristic ++(if they respond with ++.Dv WILL TIMING-MARK ++in response to a ++.Dv DO TIMING-MARK) ++for kludge linemode support. ++.It Fl l ++Specifies line mode. Tries to force clients to use line- ++at-a-time mode. ++If the ++.Dv LINEMODE ++option is not supported, it will go ++into kludge linemode. ++.It Fl n ++Disable ++.Dv TCP ++keep-alives. Normally ++.Nm telnetd ++enables the ++.Tn TCP ++keep-alive mechanism to probe connections that ++have been idle for some period of time to determine ++if the client is still there, so that idle connections ++from machines that have crashed or can no longer ++be reached may be cleaned up. ++.It Fl r Ar lowpty-highpty ++This option is only enabled when ++.Nm telnetd ++is compiled for ++.Dv UNICOS. ++It specifies an inclusive range of pseudo-terminal devices to ++use. If the system has sysconf variable ++.Dv _SC_CRAY_NPTY ++configured, the default pty search range is 0 to ++.Dv _SC_CRAY_NPTY; ++otherwise, the default range is 0 to 128. Either ++.Ar lowpty ++or ++.Ar highpty ++may be omitted to allow changing ++either end of the search range. If ++.Ar lowpty ++is omitted, the - character is still required so that ++.Nm telnetd ++can differentiate ++.Ar highpty ++from ++.Ar lowpty . ++.It Fl s ++This option is only enabled if ++.Nm telnetd ++is compiled with support for ++.Tn SecurID ++cards. ++It causes the ++.Fl s ++option to be passed on to ++.Xr login 1 , ++and thus is only useful if ++.Xr login 1 ++supports the ++.Fl s ++flag to indicate that only ++.Tn SecurID ++validated logins are allowed, and is ++usually useful for controlling remote logins ++from outside of a firewall. ++.It Fl S Ar tos ++.It Fl u Ar len ++This option is used to specify the size of the field ++in the ++.Dv utmp ++structure that holds the remote host name. ++If the resolved host name is longer than ++.Ar len , ++the dotted decimal value will be used instead. ++This allows hosts with very long host names that ++overflow this field to still be uniquely identified. ++Specifying ++.Fl u0 ++indicates that only dotted decimal addresses ++should be put into the ++.Pa utmp ++file. ++.ne 1i ++.It Fl U ++This option causes ++.Nm telnetd ++to refuse connections from addresses that ++cannot be mapped back into a symbolic name ++via the ++.Xr gethostbyaddr 3 ++routine. ++.It Fl X Ar authtype ++This option is only valid if ++.Nm telnetd ++has been built with support for the authentication option. ++It disables the use of ++.Ar authtype ++authentication, and ++can be used to temporarily disable ++a specific authentication type without having to recompile ++.Nm telnetd . ++.El ++.Pp ++.Nm Telnetd ++operates by allocating a pseudo-terminal device (see ++.Xr pty 4 ) ++for a client, then creating a login process which has ++the slave side of the pseudo-terminal as ++.Dv stdin , ++.Dv stdout ++and ++.Dv stderr . ++.Nm Telnetd ++manipulates the master side of the pseudo-terminal, ++implementing the ++.Tn TELNET ++protocol and passing characters ++between the remote client and the login process. ++.Pp ++When a ++.Tn TELNET ++session is started up, ++.Nm telnetd ++sends ++.Tn TELNET ++options to the client side indicating ++a willingness to do the ++following ++.Tn TELNET ++options, which are described in more detail below: ++.Bd -literal -offset indent ++DO AUTHENTICATION ++WILL ENCRYPT ++DO TERMINAL TYPE ++DO TSPEED ++DO XDISPLOC ++DO NEW-ENVIRON ++DO ENVIRON ++WILL SUPPRESS GO AHEAD ++DO ECHO ++DO LINEMODE ++DO NAWS ++WILL STATUS ++DO LFLOW ++DO TIMING-MARK ++.Ed ++.Pp ++The pseudo-terminal allocated to the client is configured ++to operate in \*(lqcooked\*(rq mode, and with ++.Dv XTABS and ++.Dv CRMOD ++enabled (see ++.Xr tty 4 ) . ++.Pp ++.Nm Telnetd ++has support for enabling locally the following ++.Tn TELNET ++options: ++.Bl -tag -width "DO AUTHENTICATION" ++.It "WILL ECHO" ++When the ++.Dv LINEMODE ++option is enabled, a ++.Dv WILL ECHO ++or ++.Dv WONT ECHO ++will be sent to the client to indicate the ++current state of terminal echoing. ++When terminal echo is not desired, a ++.Dv WILL ECHO ++is sent to indicate that ++.Tn telnetd ++will take care of echoing any data that needs to be ++echoed to the terminal, and then nothing is echoed. ++When terminal echo is desired, a ++.Dv WONT ECHO ++is sent to indicate that ++.Tn telnetd ++will not be doing any terminal echoing, so the ++client should do any terminal echoing that is needed. ++.It "WILL BINARY" ++Indicates that the client is willing to send a ++8 bits of data, rather than the normal 7 bits ++of the Network Virtual Terminal. ++.It "WILL SGA" ++Indicates that it will not be sending ++.Dv IAC GA, ++go ahead, commands. ++.It "WILL STATUS" ++Indicates a willingness to send the client, upon ++request, of the current status of all ++.Tn TELNET ++options. ++.It "WILL TIMING-MARK" ++Whenever a ++.Dv DO TIMING-MARK ++command is received, it is always responded ++to with a ++.Dv WILL TIMING-MARK ++.ne 1i ++.It "WILL LOGOUT" ++When a ++.Dv DO LOGOUT ++is received, a ++.Dv WILL LOGOUT ++is sent in response, and the ++.Tn TELNET ++session is shut down. ++.It "WILL ENCRYPT" ++Only sent if ++.Nm telnetd ++is compiled with support for data encryption, and ++indicates a willingness to decrypt ++the data stream. ++.El ++.Pp ++.Nm Telnetd ++has support for enabling remotely the following ++.Tn TELNET ++options: ++.Bl -tag -width "DO AUTHENTICATION" ++.It "DO BINARY" ++Sent to indicate that ++.Tn telnetd ++is willing to receive an 8 bit data stream. ++.It "DO LFLOW" ++Requests that the client handle flow control ++characters remotely. ++.It "DO ECHO" ++This is not really supported, but is sent to identify a 4.2BSD ++.Xr telnet 1 ++client, which will improperly respond with ++.Dv WILL ECHO. ++If a ++.Dv WILL ECHO ++is received, a ++.Dv DONT ECHO ++will be sent in response. ++.It "DO TERMINAL-TYPE" ++Indicates a desire to be able to request the ++name of the type of terminal that is attached ++to the client side of the connection. ++.It "DO SGA" ++Indicates that it does not need to receive ++.Dv IAC GA, ++the go ahead command. ++.It "DO NAWS" ++Requests that the client inform the server when ++the window (display) size changes. ++.It "DO TERMINAL-SPEED" ++Indicates a desire to be able to request information ++about the speed of the serial line to which ++the client is attached. ++.It "DO XDISPLOC" ++Indicates a desire to be able to request the name ++of the X windows display that is associated with ++the telnet client. ++.It "DO NEW-ENVIRON" ++Indicates a desire to be able to request environment ++variable information, as described in RFC 1572. ++.It "DO ENVIRON" ++Indicates a desire to be able to request environment ++variable information, as described in RFC 1408. ++.It "DO LINEMODE" ++Only sent if ++.Nm telnetd ++is compiled with support for linemode, and ++requests that the client do line by line processing. ++.It "DO TIMING-MARK" ++Only sent if ++.Nm telnetd ++is compiled with support for both linemode and ++kludge linemode, and the client responded with ++.Dv WONT LINEMODE. ++If the client responds with ++.Dv WILL TM, ++the it is assumed that the client supports ++kludge linemode. ++Note that the ++.Op Fl k ++option can be used to disable this. ++.It "DO AUTHENTICATION" ++Only sent if ++.Nm telnetd ++is compiled with support for authentication, and ++indicates a willingness to receive authentication ++information for automatic login. ++.It "DO ENCRYPT" ++Only sent if ++.Nm telnetd ++is compiled with support for data encryption, and ++indicates a willingness to decrypt ++the data stream. ++.Sh ENVIRONMENT ++.Sh FILES ++.Pa /etc/services ++.br ++.Pa /etc/inittab ++(UNICOS systems only) ++.br ++.Pa /etc/iptos ++(if supported) ++.br ++.Pa /usr/ucb/bftp ++(if supported) ++.Sh "SEE ALSO" ++.Xr telnet 1 , ++.Xr login 1 , ++.Xr bftp 1 ++(if supported) ++.Sh STANDARDS ++.Bl -tag -compact -width RFC-1572 ++.It Cm RFC-854 ++.Tn TELNET ++PROTOCOL SPECIFICATION ++.It Cm RFC-855 ++TELNET OPTION SPECIFICATIONS ++.It Cm RFC-856 ++TELNET BINARY TRANSMISSION ++.It Cm RFC-857 ++TELNET ECHO OPTION ++.It Cm RFC-858 ++TELNET SUPPRESS GO AHEAD OPTION ++.It Cm RFC-859 ++TELNET STATUS OPTION ++.It Cm RFC-860 ++TELNET TIMING MARK OPTION ++.It Cm RFC-861 ++TELNET EXTENDED OPTIONS - LIST OPTION ++.It Cm RFC-885 ++TELNET END OF RECORD OPTION ++.It Cm RFC-1073 ++Telnet Window Size Option ++.It Cm RFC-1079 ++Telnet Terminal Speed Option ++.It Cm RFC-1091 ++Telnet Terminal-Type Option ++.It Cm RFC-1096 ++Telnet X Display Location Option ++.It Cm RFC-1123 ++Requirements for Internet Hosts -- Application and Support ++.It Cm RFC-1184 ++Telnet Linemode Option ++.It Cm RFC-1372 ++Telnet Remote Flow Control Option ++.It Cm RFC-1416 ++Telnet Authentication Option ++.It Cm RFC-1411 ++Telnet Authentication: Kerberos Version 4 ++.It Cm RFC-1412 ++Telnet Authentication: SPX ++.It Cm RFC-1571 ++Telnet Environment Option Interoperability Issues ++.It Cm RFC-1572 ++Telnet Environment Option ++.Sh BUGS ++Some ++.Tn TELNET ++commands are only partially implemented. ++.Pp ++Because of bugs in the original 4.2 BSD ++.Xr telnet 1 , ++.Nm telnetd ++performs some dubious protocol exchanges to try to discover if the remote ++client is, in fact, a 4.2 BSD ++.Xr telnet 1 . ++.Pp ++Binary mode ++has no common interpretation except between similar operating systems ++(Unix in this case). ++.Pp ++The terminal type name received from the remote client is converted to ++lower case. ++.Pp ++.Nm Telnetd ++never sends ++.Tn TELNET ++.Dv IAC GA ++(go ahead) commands. +-- +1.7.1 + diff --git a/debian/patches/series b/debian/patches/series index 1db5f42..d420de8 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,3 +1,4 @@ +01_revert_manpage_removal.patch 10_syslog_klog_doc.patch 22_syslogd_conf.patch 30_ping_suid_perms.patch |