#++ # NAME # tcp_table 5 # SUMMARY # Postfix client/server table lookup protocol # SYNOPSIS # \fBpostmap -q "\fIstring\fB" tcp:\fIhost:port\fR # # \fBpostmap -q - tcp:\fIhost:port\fR <\fIinputfile\fR # DESCRIPTION # The Postfix mail system uses optional tables for address # rewriting or mail routing. These tables are usually in # \fBdbm\fR or \fBdb\fR format. Alternatively, table lookups # can be directed to a TCP server. # # To find out what types of lookup tables your Postfix system # supports use the "\fBpostconf -m\fR" command. # # To test lookup tables, use the "\fBpostmap -q\fR" command as # described in the SYNOPSIS above. # PROTOCOL DESCRIPTION # .ad # .fi # The TCP map class implements a very simple protocol: the client # sends a request, and the server sends one reply. Requests and # replies are sent as one line of ASCII text, terminated by the # ASCII newline character. Request and reply parameters (see below) # are separated by whitespace. # # Send and receive operations must complete in 100 seconds. # REQUEST FORMAT # .ad # .fi # Each request specifies a command, a lookup key, and possibly a # lookup result. # .IP "\fBget\fR SPACE \fIkey\fR NEWLINE" # Look up data under the specified key. # .IP "\fBput\fR SPACE \fIkey\fR SPACE \fIvalue\fR NEWLINE" # This request is currently not implemented. # REPLY FORMAT # .ad # .fi # Each reply specifies a status code and text. Replies must be no # longer than 4096 characters including the newline terminator. # .IP "\fB500\fR SPACE \fItext\fR NEWLINE" # In case of a lookup request, the requested data does not exist. # In case of an update request, the request was rejected. # The text describes the nature of the problem. # .IP "\fB400\fR SPACE \fItext\fR NEWLINE" # This indicates an error condition. The text describes the nature of # the problem. The client should retry the request later. # .IP "\fB200\fR SPACE \fItext\fR NEWLINE" # The request was successful. In the case of a lookup request, # the text contains an encoded version of the requested data. # ENCODING # .ad # .fi # In request and reply parameters, the character %, each non-printing # character, and each whitespace character must be replaced by %XX, # where XX is the corresponding ASCII hexadecimal character value. The # hexadecimal codes can be specified in any case (upper, lower, mixed). # # The Postfix client always encodes a request. # The server may omit the encoding as long as the reply # is guaranteed to not contain the % or NEWLINE character. # SECURITY # .ad # .fi # Do not use TCP lookup tables for security critical purposes. # The client-server connection is not protected and the server # is not authenticated. # BUGS # Only the lookup method is currently implemented. # # The client does not hang up when the connection is idle for # a long time. # SEE ALSO # postmap(1), Postfix lookup table manager # regexp_table(5), format of regular expression tables # pcre_table(5), format of PCRE tables # cidr_table(5), format of CIDR tables # README FILES # .ad # .fi # Use "\fBpostconf readme_directory\fR" or # "\fBpostconf html_directory\fR" to locate this information. # .na # .nf # DATABASE_README, Postfix lookup table overview # LICENSE # .ad # .fi # The Secure Mailer license must be distributed with this software. # AUTHOR(S) # Wietse Venema # IBM T.J. Watson Research # P.O. Box 704 # Yorktown Heights, NY 10598, USA #--*/