    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 -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
           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.

    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

                                                                      TCP_TABLE(5)