Jason Woods:
> Hi,
>
> I'm wanting to get some unix socket support on my mail server for
> the same protocol used by the TCP table. I can see patches for
> this were submitted before but had some issues with usability and
> namespace:
> http://comments.gmane.org/gmane.mail.postfix.user/222895
>
> Has any thought been put into this? I'm guessing there may not be
> much demand for it so may be not but I want to check.
Why not use socketmaps? These already support "inet" and "unix"
domain sockets, and they use (length, value) netstrings which require
no encoding of special characters. There are netstring implementations
for many languages, so availability should not be a problem.
The following is from Postfix internal documentation. Unfortunately I did
not find time to make this available as a socketmap_table(5) manpage.
[begin quote]
Postfix socketmap names have the form inet:host:port:socketmap-name or
unix:pathname:socketmap-name, where socketmap-name specifies the sock-
etmap name that the socketmap server uses.
PROTOCOL
The socketmap class implements a simple protocol: the client sends one
request, and the server sends one reply.
ENCODING
Each request and reply are sent as one netstring object.
REQUEST FORMAT
<mapname> <space> <key>
Search the specified socketmap under the specified key.
REPLY FORMAT
Replies must be no longer than 100000 characters (not including the
netstring encapsulation), and must have the following form:
OK <space> <data>
The requested data was found.
NOTFOUND <space>
The requested data was not found.
TEMP <space> <reason>
TIMEOUT <space> <reason>
PERM <space> <reason>
The request failed. The reason, if non-empty, is descriptive
text.
[End quote]
tcp_table(5) is not really something that I am proud of.
Wietse