Go to the first, previous, next, last section, table of contents.
protocol string
-
Specifies which protocols to use for the other system, and in which
order to use them. This would not normally be used. For example,
`protocol tfg'.
The default depends on the characteristics of the port and the dialer,
as specified by the
seven-bit
and reliable
commands. If
neither the port nor the dialer use either of these commands, the
default is to assume an eight-bit reliable connection. The commands
`seven-bit true' or `reliable false' might be used in either
the port or the dialer to change this. Each protocol has particular
requirements that must be met before it will be considered during
negotiation with the remote side.
The `t' and `e' protocols are intended for use over TCP or
some other communication path with end to end reliability, as they do no
checking of the data at all. They will only be considered on a TCP port
which is both reliable and eight bit. For technical details, see section UUCP `t' Protocol, and section UUCP `e' Protocol.
The `i' protocol is a bidirectional protocol. It requires an
eight-bit connection. It will run over a half-duplex link, such as
Telebit modems in PEP mode, but for efficient use of such a connection
you must use the half-duplex
command (see section The Port Configuration File).
See section UUCP `i' Protocol.
The `g' protocol is robust, but requires an eight-bit connection.
See section UUCP `g' Protocol.
The `G' protocol is the System V Release 4 version of the `g'
protocol. See section UUCP `G' Protocol.
The `a' protocol is a Zmodem like protocol, contributed by Doug
Evans. It requires an eight-bit connection, but unlike the `g' or
`i' protocol it will work if certain control characters may not be
transmitted.
The `j' protocol is a variant of the `i' protocol which can
avoid certain control characters. The set of characters it avoids can
be set by a parameter. While it technically does not require an eight
bit connection (it could be configured to avoid all characters with the
high bit set) it would be very inefficient to use it over one. It is
useful over a eight-bit connection that will not transmit certain
control characters. See section UUCP `j' Protocol.
The `f' protocol is intended for use with X.25 connections; it
checksums each file as a whole, so any error causes the entire file to
be retransmitted. It requires a reliable connection, but only uses
seven-bit transmissions. It is a streaming protocol, so, while it can
be used on a serial port, the port must be completely reliable and flow
controlled; many aren't. See section UUCP `f' Protocol.
The `v' protocol is the `g' protocol as used by the DOS
program UUPC/Extended. It is provided only so that UUPC/Extended users
can use it; there is no particular reason to select it. See section UUCP `v' Protocol.
The `y' protocol is an efficient streaming protocol. It does error
checking, but when it detects an error it immediately aborts the
connection. This requires a reliable, flow controlled, eight-bit
connection. In practice, it is only useful on a connection that is
nearly always error-free. Unlike the `t' and `e' protocols,
the connection need not be entirely error-free, so the `y' protocol
can be used on a serial port. See section UUCP `y' Protocol.
The protocols will be considered in the order shown above. This means
that if neither the seven-bit
nor the reliable
command are
used, the `t' protocol will be used over a TCP connection and the
`i' protocol will be used over any other type of connection
(subject, of course, to what is supported by the remote system; it may
be assumed that all systems support the `g' protocol).
Note that currently specifying both `seven-bit true' and
`reliable false' will not match any protocol. If this occurs
through a combination of port and dialer specifications, you will have
to use the protocol
command for the system or no protocol will be
selected at all (the only reasonable choice would be `protocol f').
A protocol list may also be specified for a port (see section The Port Configuration File),
but, if there is a list for the system, the list for the port is
ignored.
protocol-parameter character string ...
-
character is a single character specifying a protocol. The
remaining strings are a command specific to that protocol which will be
executed if that protocol is used. A typical command is something like
`window 7'. The particular commands are protocol specific.
The `i' protocol supports the following commands, all of which take
numeric arguments:
window
-
The window size to request the remote system to use. This must be
between 1 and 16 inclusive. The default is 16.
packet-size
-
The packet size to request the remote system to use. This must be
between 1 and 4095 inclusive. The default is 1024.
remote-packet-size
-
If this is between 1 and 4095 inclusive, the packet size requested by
the remote system is ignored, and this is used instead. The default is
0, which means that the remote system's request is honored.
sync-timeout
-
The length of time, in seconds, to wait for a SYNC packet from the remote
system. SYNC packets are exchanged when the protocol is started. The
default is 10.
sync-retries
-
The number of times to retry sending a SYNC packet before giving up.
The default is 6.
timeout
-
The length of time, in seconds, to wait for an incoming packet before
sending a negative acknowledgement. The default is 10.
retries
-
The number of times to retry sending a packet or a negative
acknowledgement before giving up and closing the connection. The
default is 6.
errors
-
The maximum number of errors to permit before closing the connection.
The default is 100.
error-decay
-
The rate at which to ignore errors. Each time this many packets are
received, the error count is decreased by one, so that a long connection
with an occasional error will not exceed the limit set by
errors
.
The default is 10.
ack-frequency
-
The number of packets to receive before sending an acknowledgement. The
default is half the requested window size, which should provide good
performance in most cases.
The `g', `G' and `v' protocols support the following
commands, all of which take numeric arguments, except
short-packets
which takes a boolean argument:
window
-
The window size to request the remote system to use. This must be
between 1 and 7 inclusive. The default is 7.
packet-size
-
The packet size to request the remote system to use. This must be a
power of 2 between 32 and 4096 inclusive. The default is 64 for the
`g' and `G' protocols and 1024 for the `v' protocol.
Many older UUCP packages do not support packet sizes larger than 64, and
many others do not support packet sizes larger than 128. Some UUCP
packages will even dump core if a larger packet size is requested. The
packet size is not a negotiation, and it may be different in each
direction. If you request a packet size larger than the remote system
supports, you will not be able to send any files.
startup-retries
-
The number of times to retry the initialization sequence. The default
is 8.
init-retries
-
The number of times to retry one phase of the initialization sequence
(there are three phases). The default is 4.
init-timeout
-
The timeout in seconds for one phase of the initialization sequence. The
default is 10.
retries
-
The number of times to retry sending either a data packet or a request
for the next packet. The default is 6.
timeout
-
The timeout in seconds when waiting for either a data packet or an
acknowledgement. The default is 10.
garbage
-
The number of unrecognized bytes to permit before dropping the
connection. This must be larger than the packet size. The default is
10000.
errors
-
The number of errors (malformed packets, out of order packets, bad
checksums, or packets rejected by the remote system) to permit before
dropping the connection. The default is 100.
error-decay
-
The rate at which to ignore errors. Each time this many packets are
received, the error count is decreased by one, so that a long connection
with an occasional error will not exceed the limit set by
errors
.
The default is 10.
remote-window
-
If this is between 1 and 7 inclusive, the window size requested by the
remote system is ignored and this is used instead. This can be useful
when dealing with some poor UUCP packages. The default is 0, which
means that the remote system's request is honored.
remote-packet-size
-
If this is between 32 and 4096 inclusive the packet size requested by
the remote system is ignored and this is used instead. There is
probably no good reason to use this. The default is 0, which means that
the remote system's request is honored.
short-packets
-
If this is true, then the code will optimize by sending shorter packets
when there is less data to send. This confuses some UUCP packages, such
as System V Release 4 (when using the `G' protocol) and Waffle;
when connecting to such a package, this parameter must be set to false.
The default is true for the `g' and `v' protocols and false
for the `G' protocol.
The `a' protocol is a Zmodem like protocol contributed by Doug
Evans. It supports the following commands, all of which take numeric
arguments except for escape-control
, which takes a boolean
argument:
timeout
-
Number of seconds to wait for a packet to arrive. The default is 10.
retries
-
The number of times to retry sending a packet. The default is 10.
startup-retries
-
The number of times to retry sending the initialization packet. The
default is 4.
garbage
-
The number of garbage characters to accept before closing the
connection. The default is 2400.
send-window
-
The number of characters that may be sent before waiting for an
acknowledgement. The default is 1024.
escape-control
-
Whether to escape control characters. If this is true, the protocol may
be used over a connection which does not transmit certain control
characters, such as
XON
or XOFF
. The connection must
still transmit eight bit characters other than control characters. The
default is false.
The `j' protocol can be used over an eight bit connection that will
not transmit certain control characters. It accepts the same protocol
parameters that the `i' protocol accepts, as well as one more:
avoid
-
A list of characters to avoid. This is a string which is interpreted as
an escape sequence (see section Chat Scripts). The protocol does not have a
way to avoid printable ASCII characters (byte values from 32 to 126,
inclusive); only ASCII control characters and eight-bit characters may
be avoided. The default value is `\021\023'; these are the
characters
XON
and XOFF
, which many connections use for
flow control. If the package is configured to use HAVE_BSD_TTY
,
then on some versions of Unix you may have to avoid `\377' as well,
due to the way some implementations of the BSD terminal driver handle
signals.
The `f' protocol is intended for use with error-correcting modems
only; it checksums each file as a whole, so any error causes the entire
file to be retransmitted. It supports the following commands, both of
which take numeric arguments:
timeout
-
The timeout in seconds before giving up. The default is 120.
retries
-
How many times to retry sending a file. The default is 2.
The `t' and `e' protocols are intended for use over TCP or
some other communication path with end to end reliability, as they do no
checking of the data at all. They both support a single command, which
takes a numeric argument:
timeout
-
The timeout in seconds before giving up. The default is 120.
The `y' protocol is a streaming protocol contributed by Jorge Cwik.
It supports the following commands, both of which take numeric
arguments:
timeout
-
The timeout in seconds when waiting for a packet. The default is 60.
packet-size
-
The packet size to use. The default is 1024.
The protocol parameters are reset to their default values after each
call.
Go to the first, previous, next, last section, table of contents.