    TCP_TABLE(5)                                         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. Alternatively, table lookups can be directed
           to a TCP server.

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

           To   test  lookup  tables,  use  the  postmap  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.

    REQUEST FORMAT
           Each request specifies a command, a lookup key, and possi-
           bly a lookup result.

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

           put SPACE key SPACE value NEWLINE
                  This request is currently not implemented.

    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.  In case of an update request, the
                  request  was  rejected.   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 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
           Do  not  use  TCP lookup tables for security critical pur-
           poses.  The client-server connection is not protected  and
           the server is not authenticated.

    SEE ALSO
           regexp_table(5) format of regular expression tables
           pcre_table(5) format of PCRE tables
           cidr_table(5) format of CIDR tables

    BUGS
           Only the lookup method is currently implemented.

           The  client  does  not hang up when the connection is idle
           for a long time.

    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

                                                         TCP_TABLE(5)