chiark / gitweb /
Backgrounded commands and RELOAD.
[tripe] / doc / tripe-admin.5
... / ...
CommitLineData
1.\" -*-nroff-*-
2.TH tripe-admin 5 "18 February 2001" "Straylight/Edgeware" "TrIPE: Trivial IP Encryption"
3.SH NAME
4tripe-admin \- administrator commands for TrIPE
5.SH DESCRIPTION
6This manual page describes the administration interface provided by the
7.BR tripe (8)
8daemon.
9.PP
10The
11.BR tripectl (8)
12program can be used either interactively or in scripts to communicate
13with the server using this interface. Alternatively, simple custom
14clients can be written in scripting languages such as Perl, Python or
15Tcl, or more advanced clients such as GUI monitors can be written in C
16with little difficulty.
17.PP
18By default, the server listens for admin connections on the Unix-domain
19socket
20.BR /var/lib/tripe/tripesock .
21Administration commands use a simple textual protocol. Each client
22command or server response consists of a line of ASCII text terminated
23by a single linefeed character. No command may be longer than 255
24characters.
25.SS "General structure"
26Each command or response line consists of a sequence of
27whitespace-separated words. The number and nature of whitespace
28characters separating two words in a client command is not significant;
29the server always uses a single space character. The first word in a
30line is a
31.I keyword
32identifying the type of command or response contained. Keywords in
33client commands are not case-sensitive; the server always uses uppercase
34for its keywords.
35.SS "Simple commands"
36For simple client command, the server responds with zero or more
37.B INFO
38lines, followed by either an
39.B OK
40line or a
41.B FAIL
42line. Each
43.B INFO
44provides information requested in the command. An
45.B OK
46response contains no further data. A
47.B FAIL
48code is followed by a machine-readable explanation of why the command
49failed.
50.PP
51Simple command processing is strictly synchronous: the server reads a
52command, processes it, and responds, before reading the next command.
53All commands can be run as simple commands. Long-running commands
54(e.g.,
55.B ADD
56and
57.BR PING )
58block the client until they finish, but the rest of the server continues
59running.
60.SS "Asynchronous messages"
61There are three types of asynchronous messages which
62aren't associated with any particular command.
63.PP
64The
65.B WARN
66message contains a machine-readable message warning of an error
67encountered while processing a command, unexpected or unusual behaviour
68by a peer, or a possible attack by an adversary. Under normal
69conditions, the server shouldn't emit any warnings.
70.PP
71The
72.B TRACE
73message contains a human-readable tracing message containing diagnostic
74information. Trace messages are controlled using the
75.B \-T
76command-line option to the server, or the
77.B TRACE
78administration command (see below). Support for tracing can be disabled
79when the package is being configured, and may not be available in your
80version.
81.PP
82Finally, the
83.B NOTE
84message is a machine-readable notification about some routine but
85interesting event such as creation or destruction of peers.
86.PP
87The presence of asynchronous messages can be controlled using the
88.B WATCH
89command.
90.SS "Background commands"
91Some commands (e.g.,
92.B ADD
93and
94.BR PING )
95take a long time to complete. To prevent these long-running commands
96from tying up a server connection, they can be run in the background.
97Not all commands can be run like this: the ones that can provide a
98.B \-background
99option, which must be supplied with a
100.IR tag .
101.PP
102A command may fail before it starts running in the background. In this
103case, the server emits a
104.B FAIL
105response, as usual. To indicate that a command has started running in
106the background, the server emits a response of the form
107.BI "BGDETACH " tag \fR,
108where
109.I tag
110is the value passed to the
111.B \-background
112option. From this point on, the server is ready to process more
113commands and reply to them.
114.PP
115Responses to background commands are indicated by a line beginning with
116one of the tokens
117.BR BGOK ,
118.BR BGFAIL ,
119or
120.BR BGINFO ,
121followed by the command tag. These correspond to the
122.BR OK ,
123.BR FAIL ,
124and
125.B INFO
126responses for simple commands:
127.B BGINFO
128indicates information from a background command which has not completed
129yet; and
130.B BGOK
131and
132.B BGFAIL
133indicates that a background command succeeded or failed, respectively.
134.PP
135A background command will never issue an
136.B OK
137response: it will always detach and then issue a
138.B BGOK
139response.
140.SS "Network addresses"
141A network address is a sequence of words. The first is a token
142identifying the network address family. The length of an address and
143the meanings of the subsequent words depend on the address family.
144Address family tokens are not case-sensitive on input; on output, they
145are always in upper-case.
146.PP
147At present, only one address family is understood.
148.TP
149.BI "INET " address " " port
150An Internet socket, naming an IPv4 address and UDP port. On output, the
151address is always in numeric dotted-quad form, and the port is given as
152a plain number. On input, DNS hostnames and symbolic port names are
153permitted. Name resolution does not block the main server, but will
154block the requesting client. This hopefully makes life simpler for
155stupid clients. Complex clients which don't wish to be held up can open
156extra connections or do the resolution themselves.)
157.PP
158If, on input, no recognised address family token is found, the following
159words are assumed to represent an
160.B INET
161address.
162.SH "COMMAND REFERENCE"
163The commands provided are:
164.TP
165.BI "ADD " peer " \fR[" options "\fR] " address "\fR..."
166Adds a new peer. The peer is given the name
167.IR peer ;
168the peer's public key is assumed to be in the file
169.B keyring.pub
170(or whatever alternative file was specified in the
171.B \-K
172option on the command line). The
173.I address
174is the network address (see above for the format) at which the peer can
175be contacted. The following options are recognised.
176.RS
177.TP
178.BI "\-background " tag
179Run the command in the background, using the given
180.IR tag .
181.TP
182.BI "\-keepalive " time
183Send a no-op packet if we've not sent a packet to the peer in the last
184.I time
185interval. This is useful for persuading port-translating firewalls to
186believe that the `connection' is still active. The
187.I time
188is expressed as a nonnegative integer followed optionally by
189.BR d ,
190.BR h ,
191.BR m ,
192or
193.BR s
194for days, hours, minutes, or seconds respectively; if no suffix is
195given, seconds are assumed.
196.TP
197.BI "\-tunnel " tunnel
198Use the named tunnel driver, rather than the default.
199.RE
200.TP
201.BI "ADDR " peer
202Emits an
203.B INFO
204line reporting the IP address and port number stored for
205.IR peer .
206.TP
207.B "DAEMON"
208Causes the server to disassociate itself from its terminal and become a
209background task. This only works once. A warning is issued.
210.TP
211.BI "EPING \fR[" options "\fR] " peer
212Sends an encrypted ping to the peer, and expects an encrypted response.
213This checks that the peer is running (and not being impersonated), and
214that it can encrypt and decrypt packets correctly. Options and
215responses are the same as for the
216.B PING
217command.
218.TP
219.BI "FORCEKX " peer
220Requests the server to begin a new key exchange with
221.I peer
222immediately.
223.TP
224.B "HELP"
225Causes the server to emit an
226.B INFO
227line for each command it supports. Each line lists the command name,
228followed by the names of the arguments. This may be helpful as a memory
229aid for interactive use, or for program clients probing for features.
230.TP
231.BI "IFNAME " peer
232Emits an
233.B INFO
234line containing the name of the network interface used to collect IP
235packets which are to be encrypted and sent to
236.IR peer .
237Used by configuration scripts so that they can set up routing tables
238appropriately after adding new peers.
239.TP
240.BI "KILL " peer
241Causes the server to forget all about
242.IR peer .
243All keys are destroyed, and no more packets are sent. No notification
244is sent to the peer: if it's important that the peer be notified, you
245must think of a way to do that yourself.
246.TP
247.B "LIST"
248For each currently-known peer, an
249.B INFO
250line is written containing the peer's name, as given to
251.BR ADD .
252.TP
253.BI "NOTIFY " tokens\fR...
254Issues a
255.B USER
256notification to all interested administration clients.
257.TP
258.BI "PING \fR[" options "\fR] " peer
259Send a transport-level ping to the peer. The ping and its response are
260not encrypted or authenticated. This command, possibly in conjunction
261with tracing, is useful for ensuring that UDP packets are actually
262flowing in both directions. See also the
263.B EPING
264command.
265.IP
266An
267.B INFO
268line is printed describing the outcome:
269.RS
270.TP
271.BI "ping-ok " millis
272A response was received
273.I millis
274after the ping was sent.
275.TP
276.BI "ping-timeout"
277No response was received within the time allowed.
278.TP
279.BI "ping-peer-died"
280The peer was killed (probably by another admin connection) before a
281response was received.
282.RE
283.IP
284Options recognized for this command are:
285.RS
286.TP
287.BI "\-background " tag
288Run the command in the background, using the given
289.IR tag .
290.TP
291.BI "\-timeout " time
292Wait for
293.I time
294seconds before giving up on a response. The default is 5 seconds. (The
295time format is the same as for the
296.B "ADD \-keepalive"
297option.)
298.RE
299.TP
300.B "PORT"
301Emits an
302.B INFO
303line containing just the number of the UDP port used by the
304.B tripe
305server. If you've allowed your server to allocate a port dynamically,
306this is how to find out which one it chose.
307.TP
308.B "RELOAD"
309Instructs the server to recheck its keyring files. The server checks
310these periodically anyway but it may be necessary to force a recheck,
311for example after adding a new peer key.
312.TP
313.B "QUIT"
314Instructs the server to exit immediately. A warning is sent.
315.TP
316.BI "STATS " peer
317Emits a number of
318.B INFO
319lines, each containing one or more statistics in the form
320.IB name = value \fR.
321The statistics-gathering is experimental and subject to change.
322.TP
323.BR "TRACE " [\fIoptions\fP]
324A trace argument consists of a string of letters (listed below)
325selecting trace outputs, optionally interspersed with
326.RB ` + '
327to enable, or
328.RB ` \- '
329to disable, the subsequently listed outputs; the initial behaviour is to
330enable listed outputs. For example, the string
331.B ra\-st+x
332enables tracing of peer management, admin-connection handling and
333key-exchange processing, and disables tracing of symmetric keyset
334management and the system-specific tunnel driver. If no argument is
335given, a table is returned showing the available tracing option letters
336and their meanings. Programs should not attempt to parse this table:
337its format is not guaranteed to remain the same.
338.RS
339.PP
340Currently, the following tracing options are supported:
341.TP
342.B t
343Tunnel events: reception of packets to be encrypted, and injection of
344successfully-decrypted packets.
345.TP
346.B r
347Peer management events: creation and destruction of peer attachments,
348and arrival of messages.
349.TP
350.B a
351Administration interface: acceptance of new connections, and handling of
352the backgroud name-resolution required by the
353.B ADD
354command.
355.TP
356.B p
357Display contents of packets sent and received by the tunnel and/or peer
358modules.
359.TP
360.B c
361Display inputs, outputs and intermediate results of cryptographic
362operations. This includes plaintext and key material. Use with
363caution.
364.TP
365.B s
366Handling of symmetric keysets: creation and expiry of keysets, and
367encryption and decryption of messages.
368.TP
369.B x
370Key exchange: reception, parsing and emission of key exchange messages.
371.TP
372.B m
373Key management: loading keys and checking for file modifications.
374.PP
375Note that the
376.B p
377(packet contents)
378and
379.B c
380(crypto details)
381outputs provide extra detail for other outputs. Specifying
382.B p
383without
384.B r
385or
386.B t
387isn't useful; neither is specifying
388.B c
389without one of
390.BR s ,
391.B x
392or
393.BR m .
394.TP
395.B A
396All of the above.
397.RE
398.TP
399.BR "WATCH " [\fIoptions\fP]
400Enables or disables asynchronous messages
401.IR "for the current connection only" .
402This command has no effect on other connections. A watch argument
403consists of a string of letters (listed below) selecting message types,
404optionally interspersed with
405.RB ` + '
406to enable, or
407.RB ` \- '
408to disable, the subsequently listed types, similar to
409.B trace
410above. The default watch state for the connection the server opens
411automatically on stdin/stdout is to show warnings and trace messages;
412other connections show no asynchronous messages. (This is done in order
413to guarantee that a program reading the server's stdout does not miss
414any warnings.)
415.RS
416.PP
417Currently, the following watch options are supported:
418.TP
419.B t
420.B TRACE
421messages.
422.TP
423.B n
424.B NOTE
425messages.
426.TP
427.B w
428.B WARN
429messages.
430.TP
431.B a
432All of the above.
433.RE
434.TP
435.B "VERSION"
436Causes the server to emit an
437.B INFO
438line stating its software version, as two words: the server name, and
439its version string. The server name
440.B tripe
441is reserved to the Straylight/Edgeware implementation.
442.TP
443.BI "WARN " tokens\fR...
444Issues a
445.B USER
446warning to all interested administration clients.
447.SH "ERROR MESSAGES"
448The following
449.B FAIL
450(or
451.BR BGFAIL )
452messages are sent to clients as a result of errors during command
453processing.
454.TP
455.BI "already-daemon"
456(For
457.BR DAEMON .)
458The
459.B tripe
460server is already running as a daemon.
461.TP
462.BI "bad-syntax \-\- " message
463(For any command.) The command couldn't be understood: e.g., the number
464of arguments was wrong.
465.TP
466.BI "bad-time-spec " word
467The
468.I word
469is not a valid time interval specification. Acceptable time
470specifications are nonnegative integers followed optionally by
471.BR d ,
472.BR h ,
473.BR m ,
474or
475.BR s ,
476for days, hours, minutes, or seconds, respectively.
477.TP
478.BI "bad-trace-option " char
479(For
480.BR TRACE .)
481An unknown trace option was requested.
482.TP
483.BI "bad-watch-option " char
484(For
485.BR WATCH .)
486An unknown watch option was requested.
487.TP
488.BI "daemon-error \-\- " message
489(For
490.BR DAEMON .)
491An error occurred during the attempt to become a daemon, as reported by
492.IR message .
493.TP
494.BI "invalid-port " number
495(For
496.BR ADD .)
497The given port number is out of range.
498.TP
499.BI "peer-create-fail " peer
500(For
501.BR ADD .)
502Adding
503.I peer
504failed for some reason. A warning should have been emitted explaining
505why.
506.TP
507.BI "peer-exists " peer
508(For
509.BR ADD .)
510There is already a peer named
511.IR peer .
512.TP
513.B "ping-send-failed"
514The attempt to send a ping packet failed, probably due to lack of
515encryption keys.
516.TP
517.BI "resolve-error " hostname
518(For
519.BR ADD .)
520The DNS name
521.I hostname
522could not be resolved.
523.TP
524.BI "resolver-timeout " hostname
525(For
526.BR ADD .)
527The DNS name
528.I hostname
529took too long to resolve.
530.TP
531.BI "unknown-command " token
532The command
533.B token
534was not recognised.
535.TP
536.BI "unknown-peer " name
537(For
538.BR ADDR ,
539.BR IFNAME ,
540.BR KILL ,
541and
542.BR STATS .)
543There is no peer called
544.IR name .
545.TP
546.BI "unknown-service " service
547(For
548.BR ADD .)
549The service name
550.I service
551couldn't be found in
552.BR /etc/services .
553.SH "NOTIFICATIONS"
554The following notifications are sent to clients who request them.
555.TP
556.BI "ADD " peer " " ifname " " address \fR...
557A new peer has been added. The peer's name is
558.IR peer ,
559its tunnel is network interface
560.IR ifname ,
561and its network address is
562.IR address .
563.TP
564.BI "DAEMON"
565The server has forked off into the sunset and become a daemon.
566.TP
567.BI "KILL " peer
568The peer
569.I peer
570has been killed.
571.TP
572.BI "KXDONE " peer
573Key exchange with
574.I peer
575finished successfully.
576.TP
577.BI "KXSTART " peer
578Key exchange with
579.I peer
580has begun or restarted. If key exchange keeps failing, this message
581will be repeated periodically.
582.TP
583.BI "USER " tokens\fR...
584An administration client issued a notification using the
585.B NOTIFY
586command.
587.SH "WARNINGS"
588There are many possible warnings. They are categorized according to
589their first tokens.
590.SS "ABORT warnings"
591These all indicate that the
592.B tripe
593server has become unable to continue. If enabled, the server will dump
594core in its configuration directory.
595.TP
596.BI "ABORT repeated-select-errors"
597The main event loop is repeatedly failing. If the server doesn't quit,
598it will probably waste all available CPU doing nothing.
599.SS "ADMIN warnings"
600These indicate a problem with the administration socket interface.
601.TP
602.BI "ADMIN accept-error \-\- " message
603There was an error while attempting to accept a connection from a new
604client.
605.TP
606.BI "ADMIN client-read-error \-\- " message
607There was an error sending data to a client. The connection to the
608client has been closed.
609.SS "KEYMGMT warnings"
610These indicate a problem with the keyring files, or the keys stored in
611them.
612.TP
613.BI "KEYMGMT bad-private-key \-\- " message
614The private key could not be read, or failed a consistency check. If
615there was a problem with the file, usually there will have been
616.B key-file-error
617warnings before this.
618.TP
619.BI "KEYMGMT bad-public-keyring \-\- " message
620The public keyring couldn't be read. Usually, there will have been
621.B key-file-error
622warnings before this.
623.TP
624.BI "KEYMGMT key-file-error " file ":" line " \-\- " message
625Reports a specific error with the named keyring file. This probably
626indicates a bug in
627.BR key (1).
628.TP
629.BI "KEYMGMT public-key " tag " " tokens\fR...
630These messages all indicate a problem with the public key named
631.IR tag .
632.TP
633.BI "KEYMGMT public-key " tag " algorithm-mismatch"
634The algorithms specified on the public key don't match the ones for our
635private key. All the peers in a network have to use the same
636algorithms.
637.TP
638.BI "KEYMGMT public-key " tag " bad \-\- " message
639The public key couldn't be read, or is invalid.
640.TP
641.BI "KEYMGMT public-key " tag " bad-public-group-element"
642The public key is invalid. This may indicate a malicious attempt to
643introduce a bogus key.
644.TP
645.BI "KEYMGMT public-key " tag " bad-algorithm-selection"
646The algorithms listed on the public key couldn't be understood. The
647algorithm selection attributes are probably malformed and need fixing.
648.TP
649.BI "KEYMGMT public-key " tag " incorrect-group"
650The public key doesn't use the same group as our private key. All the
651peers in a network have to use the same group.
652.TP
653.BI "KEYMGMT public-key " tag " not-found"
654The public key for peer
655.I tag
656wasn't in the public keyring.
657.TP
658.BI "KEYMGMT public-key " tag " unknown-type"
659The type of the public key isn't understood. Maybe you need to upgrade
660your copy of
661.BR tripe .
662(Even if you do, you'll have to regenerate your keys.)
663.SS "KX warnings"
664These indicate problems during key-exchange. Many indicate either a bug
665in the server (either yours or the remote one), or some kind of attack
666in progress. All name a
667.I peer
668as the second token: this is the peer the packet is apparently from,
669though it may have been sent by an attacker instead.
670.PP
671In the descriptions below,
672.I msgtoken
673is one of the tokens
674.BR pre-challenge ,
675.BR cookie ,
676.BR challenge ,
677.BR reply ,
678.BR switch-rq ,
679or
680.BR switch-ok .
681.TP
682.BI "KX " peer " bad-expected-reply-log"
683The challenges
684.B tripe
685uses in its protocol contain a check value which proves that the
686challenge is honest. This message indicates that the check value
687supplied is wrong: someone is attempting to use bogus challenges to
688persuade your
689.B tripe
690server to leak private key information. No chance!
691.TP
692.BI "KX " peer " decrypt-failed reply\fR|\fBswitch-ok"
693A symmetrically-encrypted portion of a key-exchange message failed to
694decrypt.
695.TP
696.BI "KX " peer " invalid " msgtoken
697A key-exchange message was malformed. This almost certainly indicates a
698bug somewhere.
699.TP
700.BI "KX " peer " incorrect cookie\fR|\fBswitch-rq\fR|\fBswitch-ok"
701A message didn't contain the right magic data. This may be a replay of
702some old exchange, or random packets being sent in an attempt to waste
703CPU.
704.TP
705.BI "KX " peer " public-key-expired"
706The peer's public key has expired. It's maintainer should have given
707you a replacement before now.
708.TP
709.BI "KX " peer " sending-cookie"
710We've received too many bogus pre-challenge messages. Someone is trying
711to flood us with key-exchange messages and make us waste CPU on doing
712hard asymmetric crypto sums.
713.TP
714.BI "KX " peer " unexpected " msgtoken
715The message received wasn't appropriate for this stage of the key
716exchange process. This may mean that one of our previous packets got
717lost. For
718.BR pre-challenge ,
719it may simply mean that the peer has recently restarted.
720.TP
721.BI "KX " peer " unknown-challenge"
722The peer is asking for an answer to a challenge which we don't know
723about. This may mean that we've been inundated with challenges from
724some malicious source
725.I who can read our messages
726and discarded the valid one.
727.TP
728.BI "KX " peer " unknown-message 0x" nn
729An unknown key-exchange message arrived.
730.SS "PEER warnings"
731These are largely concerned with management of peers and the low-level
732details of the network protocol. The second word is usually the name of
733a peer, or
734.RB ` \- '
735if none is relevant.
736.TP
737.BI "PEER " peer " bad-packet no-type"
738An empty packet arrived. This is very strange.
739.TP
740.BI "PEER " peer " bad-packet unknown-category 0x" nn
741The message category
742.I nn
743(in hex) isn't understood. Probably a strange random packet from
744somewhere; could be an unlikely bug.
745.TP
746.BI "PEER " peer " bad-packet unknown-type 0x" nn
747The message type
748.I nn
749(in hex) isn't understood. Probably a strange random packet from
750somewhere; could be an unlikely bug.
751.TP
752.BI "PEER " peer " corrupt-encrypted-ping"
753The peer sent a ping response which matches an outstanding ping, but its
754payload is wrong. There's definitely a bug somewhere.
755.TP
756.BI "PEER " peer " corrupt-transport-ping"
757The peer (apparently) sent a ping response which matches an outstanding
758ping, but its payload is wrong. Either there's a bug, or the bad guys
759are playing tricks on you.
760.TP
761.BI "PEER " peer " decrypt-failed"
762An encrypted IP packet failed to decrypt. It may have been mangled in
763transit, or may be a very old packet from an expired previous session
764key. There is usually a considerable overlap in the validity periods of
765successive session keys, so this shouldn't occur unless the key exchange
766takes ages or fails.
767.TP
768.BI "PEER " peer " malformed-encrypted-ping"
769The peer sent a ping response which is hopelessly invalid. There's
770definitely a bug somewhere.
771.TP
772.BI "PEER " peer " malformed-transport-ping"
773The peer (apparently) sent a ping response which is hopelessly invalid.
774Either there's a bug, or the bad guys are playing tricks on you.
775.TP
776.BI "PEER " peer " packet-build-failed"
777There wasn't enough space in our buffer to put the packet we wanted to
778send. Shouldn't happen.
779.TP
780.BI "PEER \- socket-read-error \-\- " message
781An error occurred trying to read an incoming packet.
782.TP
783.BI "PEER " peer " socket-write-error \-\- " message
784An error occurred attempting to send a network packet. We lost that
785one.
786.TP
787.BI "PEER " peer " unexpected-encrypted-ping 0x" id
788The peer sent an encrypted ping response whose id doesn't match any
789outstanding ping. Maybe it was delayed for longer than the server was
790willing to wait, or maybe the peer has gone mad.
791.TP
792.BI "PEER \- unexpected-source " address\fR...
793A packet arrived from
794.I address
795(a network address \(en see above), but no peer is known at that
796address. This may indicate a misconfiguration, or simply be a result of
797one end of a connection being set up before the other.
798.TP
799.BI "PEER " peer " unexpected-transport-ping 0x" id
800The peer (apparently) sent a transport ping response whose id doesn't
801match any outstanding ping. Maybe it was delayed for longer than the
802server was willing to wait, or maybe the peer has gone mad; or maybe
803there are bad people trying to confuse you.
804.SS "SERVER warnings"
805These indicate problems concerning the server process as a whole.
806.TP
807.BI "SERVER ignore signal " name
808A signal arrived, but the server ignored it. Currently this happens for
809.B SIGHUP
810because that's a popular way of telling daemons to re-read their
811configuration files. Since
812.B tripe
813re-reads its keyrings automatically and has no other configuration
814files, it's not relevant, but it seemed better to ignore the signal than
815let the server die.
816.TP
817.BI "SERVER quit signal " \fR[\fInn\fR|\fIname\fR]
818A signal arrived and
819.B tripe
820is going to quit.
821.TP
822.BI "SERVER quit admin-request"
823A client of the administration interface issued a
824.B QUIT
825command.
826.TP
827.BI "SERVER select-error \-\- " message
828An error occurred in the server's main event loop. This is bad: if it
829happens too many times, the server will abort.
830.SS "SYMM warnings"
831These are concerned with the symmetric encryption and decryption
832process.
833.TP
834.BI "SYMM replay old-sequence"
835A packet was received with an old sequence number. It may just have
836been delayed or duplicated, or it may have been an attempt at a replay
837attack.
838.TP
839.BI "SYMM replay duplicated-sequence"
840A packet was received with a sequence number we've definitely seen
841before. It may be an accidental duplication because the 'net is like
842that, or a deliberate attempt at a replay.
843.SS "TUN warnings"
844These concern the workings of the system-specific tunnel driver. The
845second word is the name of the tunnel interface in question, or
846.RB ` \- '
847if none.
848.TP
849.BI "TUN \- bsd no-tunnel-devices"
850The driver couldn't find an available tunnel device. Maybe if you
851create some more
852.BI /dev/tun nn
853files, it will work.
854.TP
855.BI "TUN - open-error " device " \-\- " message
856An attempt to open the tunnel device file
857.I device
858failed.
859.TP
860.BI "TUN \- linux config-error \-\- " message
861Configuring the Linux TUN/TAP interface failed.
862.TP
863.BI "TUN " ifname " read-error \-\- " message
864Reading from the tunnel device failed.
865.TP
866.BI "TUN " ifname " slip bad-escape"
867The SLIP driver encountered a escaped byte it wasn't expecting to see.
868The erroneous packet will be ignored.
869.TP
870.BI "TUN " ifname " slip eof"
871The SLIP driver encountered end-of-file on its input descriptor.
872Pending data is discarded, and no attempt is made to read any more data
873from that interface ever.
874.TP
875.BI "TUN " ifname " slip escape-end"
876The SLIP driver encountered an escaped `end' marker. This probably
877means that someone's been sending it junk. The erroneous packet is
878discarded, and we hope that we've rediscovered synchronization.
879.TP
880.BI "TUN \- slip fork-error \-\- " message
881The SLIP driver encountered an error forking a child process while
882allocating a new dynamic interface.
883.TP
884.BI "TUN \- slip no-slip-interfaces"
885The driver ran out of static SLIP interfaces. Either preallocate more,
886or use dynamic SLIP interface allocation.
887.TP
888.BI "TUN " ifname " slip overflow"
889The SLIP driver gave up reading a packet because it got too large.
890.TP
891.BI "TUN \- slip pipe-error \-\- " message
892The SLIP driver encountered an error creating pipes while allocating a
893new dynamic interface.
894.TP
895.BI "TUN \- slip read-ifname-failed \-\- " message
896The SLIP driver encountered an error reading the name of a dynamically
897allocated interface. Maybe the allocation script is broken.
898.TP
899.BI "TUN \- unet config-error \-\- " message
900Configuring the Linux Unet interface failed. Unet is obsolete and
901shouldn't be used any more.
902.TP
903.BI "TUN \- unet getinfo-error \-\- " message
904Reading information about the Unet interface failed. Unet is obsolete
905and shouldn't be used any more.
906.TP
907.BI "TUN \- unet ifname-too-long \-\- " message
908The Unet interface's name overflowed, so we couldn't read it properly.
909Unet is obsolete and shouldn't be used any more.
910.SS "USER warnings"
911These are issued by administration clients using the
912.B WARN
913command.
914.TP
915.BI "USER " tokens\fR...
916An administration client issued a warning.
917.SH "SEE ALSO"
918.BR tripectl (1),
919.BR tripe (8).
920.PP
921.IR "The Trivial IP Encryption Protocol" .
922.SH "AUTHOR"
923Mark Wooding, <mdw@distorted.org.uk>