xref: /netbsd-src/external/ibm-public/postfix/dist/proto/tcp_table (revision b1c86f5f087524e68db12794ee9c3e3da1ab17a0)
1#++
2# NAME
3#	tcp_table 5
4# SUMMARY
5#	Postfix client/server table lookup protocol
6# SYNOPSIS
7#	\fBpostmap -q "\fIstring\fB" tcp:\fIhost:port\fR
8#
9#	\fBpostmap -q - tcp:\fIhost:port\fR <\fIinputfile\fR
10# DESCRIPTION
11#       The Postfix mail system uses optional tables for address
12#       rewriting or mail routing. These tables are usually in
13#       \fBdbm\fR or \fBdb\fR format. Alternatively, table lookups
14#       can be directed to a TCP server.
15#
16#       To find out what types of lookup tables your Postfix system
17#       supports use the "\fBpostconf -m\fR" command.
18#
19#       To test lookup tables, use the "\fBpostmap -q\fR" command as
20#       described in the SYNOPSIS above.
21# PROTOCOL DESCRIPTION
22# .ad
23# .fi
24#	The TCP map class implements a very simple protocol: the client
25#	sends a request, and the server sends one reply. Requests and
26#	replies are sent as one line of ASCII text, terminated by the
27#	ASCII newline character. Request and reply parameters (see below)
28#	are separated by whitespace.
29#
30#	Send and receive operations must complete in 100 seconds.
31# REQUEST FORMAT
32# .ad
33# .fi
34#	Each request specifies a command, a lookup key, and possibly a
35#	lookup result.
36# .IP "\fBget\fR SPACE \fIkey\fR NEWLINE"
37#	Look up data under the specified key.
38# .IP "\fBput\fR SPACE \fIkey\fR SPACE \fIvalue\fR NEWLINE"
39#	This request is currently not implemented.
40# REPLY FORMAT
41# .ad
42# .fi
43#	Each reply specifies a status code and text. Replies must be no
44#	longer than 4096 characters including the newline terminator.
45# .IP "\fB500\fR SPACE \fItext\fR NEWLINE"
46#	In case of a lookup request, the requested data does not exist.
47#	In case of an update request, the request was rejected.
48#	The text describes the nature of the problem.
49# .IP "\fB400\fR SPACE \fItext\fR NEWLINE"
50#	This indicates an error condition. The text describes the nature of
51#	the problem. The client should retry the request later.
52# .IP "\fB200\fR SPACE \fItext\fR NEWLINE"
53#	The request was successful. In the case of a lookup request,
54#	the text contains an encoded version of the requested data.
55# ENCODING
56# .ad
57# .fi
58#	In request and reply parameters, the character %, each non-printing
59#	character, and each whitespace character must be replaced by %XX,
60#	where XX is the corresponding ASCII hexadecimal character value. The
61#	hexadecimal codes can be specified in any case (upper, lower, mixed).
62#
63#	The Postfix client always encodes a request.
64#	The server may omit the encoding as long as the reply
65#	is guaranteed to not contain the % or NEWLINE character.
66# SECURITY
67# .ad
68# .fi
69#	Do not use TCP lookup tables for security critical purposes.
70#	The client-server connection is not protected and the server
71#	is not authenticated.
72# BUGS
73#	Only the lookup method is currently implemented.
74#
75#	The client does not hang up when the connection is idle for
76#	a long time.
77# SEE ALSO
78#	postmap(1), Postfix lookup table manager
79#	regexp_table(5), format of regular expression tables
80#	pcre_table(5), format of PCRE tables
81#	cidr_table(5), format of CIDR tables
82# README FILES
83# .ad
84# .fi
85#	Use "\fBpostconf readme_directory\fR" or
86#	"\fBpostconf html_directory\fR" to locate this information.
87# .na
88# .nf
89#	DATABASE_README, Postfix lookup table overview
90# LICENSE
91# .ad
92# .fi
93#	The Secure Mailer license must be distributed with this software.
94# AUTHOR(S)
95#	Wietse Venema
96#	IBM T.J. Watson Research
97#	P.O. Box 704
98#	Yorktown Heights, NY 10598, USA
99#--*/
100