#++
# 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\fB <\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
#
# Wietse Venema
# Google, Inc.
# 111 8th Avenue
# New York, NY 10011, USA
#--*/