socketmap_table - Postfix socketmap table lookup client
Contents
Bugs
The protocol time limits are not yet configurable.
Configuration Parameters
socketmap_max_reply_size(100000)
The maximum allowed reply size from a socketmap server, not including the netstring encapsulation.
Description
The Postfix mail system uses optional tables for address rewriting, mail routing or policy lookup.
The Postfix socketmap client expects TCP endpoint names of the form inet:host:port:name, or UNIX-domain
endpoints of the form unix:pathname:name. In both cases, name specifies the name field in a socketmap
client request (see "REQUEST FORMAT" below).
History
Socketmap support was introduced with Postfix version 2.10.
The socketmap protocol was published with Sendmail v8.13.
License
The Secure Mailer license must be distributed with this software.
Name
socketmap_table - Postfix socketmap table lookup client
Protocol
Socketmaps use a simple protocol: the client sends one request, and the server sends one reply. Each
request and each reply are sent as one netstring object.
Protocol Limits
The Postfix socketmap client requires that replies are no longer than 100000 bytes (not including the
netstring encapsulation). This limit can be changed with the socketmap_max_reply_size configuration
parameter (Postfix 3.10 and later).
The Postfix socketmap client enforces a 100s time limit to connect to a socketmap server, to send a
request, and to receive a reply. It closes an idle connection after 10s, and closes an active connection
after 100s. These limits are not (yet) configurable.
Readme Files
Use "postconfreadme_directory" or "postconfhtml_directory" to locate this information.
DATABASE_README, Postfix lookup table overview
Reply Format
Replies must have the following form:
OK<space>data
The requested data was found.
NOTFOUND<space>
The requested data was not found.
TEMP<space>reasonTIMEOUT<space>reasonPERM<space>reason
The request failed. The reason, if non-empty, is descriptive text.
Request Format
The socketmap protocol supports only the lookup request. The request has the following form:
name<space>key
Search the named socketmap for 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,
address extension or domain portion. This behavior is also found with cidr:, pcre:, and regexp: tables.
Security
This map cannot be used for security-sensitive information, because neither the connection nor the server
are authenticated.
See Also
https://cr.yp.to/proto/netstrings.txt, netstring definition
postconf(1), Postfix supported lookup tables
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
Synopsis
postmap-q"string"socketmap:inet:host:port:namepostmap-q"string"socketmap:unix:pathname:namepostmap-q-socketmap:inet:host:port:name<inputfilepostmap-q-socketmap:unix:pathname:name<inputfile
