TCP_TABLE(5) TCP_TABLE(5)
名称
tcp_table - Postfix 客户端/服务器表查询协议
概述
postmap -q "字符串" tcp:主机:端口
postmap -q - tcp:主机:端口 <输入文件
描述
Postfix 邮件系统使用可选表进行地址重写或邮件路由。这些表通常采用 dbm 或 db 格式。
此外,表查询也可定向至 TCP 服务器。
要查询您的 Postfix 系统支持的查找表类型,请使用 "postconf -m" 命令。
测试查找表时,请使用 "postmap -q" 命令,语法如概述部分所示。
协议描述
TCP 映射类实现了一个简单协议:客户端发送请求,服务器返回响应。请求和响应均以单行 ASCII 文本形式传输,
以 ASCII 换行符终止。请求和响应参数(如下所述)用空格分隔。
所有发送和接收操作必须在 100 秒内完成。
请求格式
tcp_table 协议目前仅支持查询请求。请求格式如下:
get 空格 键名 换行符
查询指定键对应的数据。
Postfix 不会生成部分搜索键,例如:
- 缺少子域的域名
- 缺少低位字节的网络地址
- 缺少本地部分、地址扩展或域部分的电子邮件地址
此行为与 cidr:、pcre: 和 regexp: 表一致。
响应格式
每个响应包含状态码和说明文本。响应总长度(含换行符)不得超过 4096 字符。
500 空格 文本 换行符
表示查询请求的数据不存在。文本描述具体问题。
400 空格 文本 换行符
表示错误状态。文本描述具体问题,客户端应稍后重试请求。
200 空格 文本 换行符
表示请求成功。对于查询请求,文本包含请求数据的编码版本。
编码规则
在请求和响应参数中,必须对以下字符进行编码:
- % 百分号
- 所有非打印字符
- 所有空白字符
编码格式为 %XX,其中 XX 是对应的 ASCII 十六进制值(不区分大小写)。
Postfix 客户端始终编码请求。若服务器能确保响应不包含 % 或换行符,则可省略编码。
安全性
请勿将 TCP 查找表用于安全关键场景。该协议存在以下限制:
- 客户端/服务器连接未加密
- 服务器身份未经验证
已知问题
当前实现限制:
1. 仅支持查询方法
2. 连接长时间空闲时客户端不会自动断开
参见
postmap(1),Postfix 查找表管理器
regexp_table(5),正则表达式表格式
pcre_table(5),PCRE 表格式
cidr_table(5),CIDR 表格式
说明文件
DATABASE_README,Postfix 查找表概述
许可
本软件必须随附 Secure Mailer 许可证。
作者
Wietse Venema
IBM T.J. Watson 研究院
邮政信箱 704 号
美国纽约州约克镇高地,邮编 10598
Wietse Venema
Google 公司
纽约第八大道 111 号
美国纽约州,邮编 10011
TCP_TABLE(5)