TCP_TABLE(5)                  File Formats Manual                 TCP_TABLE(5)

NAME
       tcp_table - Postfix client/server table lookup protocol

SYNOPSIS
       postmap -q "string" tcp:host:port

       postmap -q - tcp:host:port <inputfile

DESCRIPTION
       The  Postfix  mail system uses optional tables for address rewriting or
       mail routing. These tables are usually in dbm or  db  format.  Alterna‐
       tively, table lookups can be directed to a TCP server.

       To  find  out  what types of lookup tables your Postfix system supports
       use the "postconf -m" command.

       To test lookup tables, use the "postmap -q" command as described in the
       SYNOPSIS above.

PROTOCOL DESCRIPTION
       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
       The tcp_table protocol supports only the lookup request.   The  request
       has the following form:

       get SPACE key NEWLINE
              Look up data under the specified key.

       Postfix  will  not  generate  partial  search keys such as domain names
       without one or more subdomains, network addresses without one  or  more
       least-significant octets, or email addresses without the localpart, ad‐
       dress  extension  or  domain  portion. This behavior is also found with
       cidr:, pcre:, and regexp: tables.

REPLY FORMAT
       Each reply specifies a status code and text. Replies must be no  longer
       than 4096 characters including the newline terminator.

       500 SPACE text NEWLINE
              In  case of a lookup request, the requested data does not exist.
              The text describes the nature of the problem.

       400 SPACE text NEWLINE
              This indicates an error condition. The text describes the nature
              of the problem. The client should retry the request later.

       200 SPACE text NEWLINE
              The request was successful. In the case of a lookup request, the
              text contains an encoded version of the requested data.

ENCODING
       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 hexadec‐
       imal 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
       Do  not  use  TCP  lookup  tables  for security critical purposes.  The
       client-server connection is not protected and the server is not authen‐
       ticated.

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
       DATABASE_README, Postfix lookup table overview

LICENSE
       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

                                                                  TCP_TABLE(5)