@halon/protobuf-schemas v5.4.0
Protobuf files for talking to Halon
These protobuf files are for communication with the Halon MTA daemons over the control (Unix domain) socket.
All requests begin with a version (currently two bytes with ASCII value 5 and 3) and a one "command identifier" (ASCII char, assigned from a to z..). In requests with a body, it's followed by a binary host packed (LE) unsigned 64 bit integer telling the size of the protobuf data. The command identifiers are alphabetically chosen so make no assumptions about their individual meaning.
The reply begins with either
+
followed by data, for a successful command (with optionally response body)E
followed by data, for an error
Both +
and E
will send a binary host (LE) packed unsigned 64 bit integer telling the size of either the response or the error (string) that follows.
> request
< possible response1
< possible response2...
Command overview
char | protobuf | smtpd | dlpd | rated | hsh |
---|---|---|---|---|---|
a | ConfigGreenDeployRequest | x | |||
b | ConfigGreenStatusResponse | x | |||
c | cancel green testing | x | |||
d | HSLBreakPointRequest | x | x | ||
e | HSLBreakPointRequest | x | |||
f | continue breakpoint | x | |||
g | HSLCacheResponse | x | |||
h | HSLCacheClearRequest | x | |||
i | HSLRateRequest | x | |||
j | HSLRateClearRequest | x | |||
k | reload res_init | x | |||
l | |||||
m | |||||
n | UsersResponse | x | |||
o | reload suspend | x | |||
p | reload pickup policy | x | |||
q | ProcessStatsResponse | x | |||
r | reload config | x | x | x | |
s | SuspendResponse | x | |||
t | SuspendAddRequest | x | |||
u | SuspendDeleteRequest | x | |||
v | PolicyConditionResponse | x | |||
w | PolicyConditionAddRequest | x | |||
x | PolicyConditionDeleteRequest | x | |||
y | HSLMemoryRequest | x | |||
z | HSLMemoryStoreRequest | x | |||
A | HSLMemoryDeleteRequest | x | |||
B | PolicyRateRefillRequest | x | |||
C | clear DNS cache | x | |||
D | QueueGroupByRequest | x | |||
E | QueueImportRequest | x | |||
F | QueueListRequest | x | |||
G | QueueUpdateRequest | x | |||
H | reload delivery settings | x | |||
I | QueueQuotaRequest | x | |||
J | QueueUnloadRequest | x |
smtpd.proto
Blue/Green deployments
Deploy green config
> 'a' <size> ConfigGreenDeployRequest
< '+' <0>
< 'E' <size> <message>
Green config status
> 'b'
< '+' <size> [ConfigGreenStatusResponse]
Cancel green config
> 'c'
< '+' <0>
HSL
Get break point (non-blocking)
> 'd' <size> HSLBreakPointRequest
< '+' <size> [HSLBreakPointResponse]
Get cache [] data
> 'g'
< '+' <size> [HSLCacheResponse]
Clear cache [] data
> 'h' <size> HSLCacheClearRequest
< '+' <size> HSLCacheClearResponse
Reload configuration (smtpd-app.conf)
> 'r'
< '+' <0>
< 'E' <size> <message>
Reload DNS servers
Calls res_init()
> 'k'
< '+' <0>
Get license users
> 'n'
< '+' <size> [UsersResponse]
HSL
Get break point (non-blocking)
> 'd' <size> HSLBreakPointRequest
< '+' <size> [HSLBreakPointResponse]
Get cache [] data
> 'g'
< '+' <size> [HSLCacheResponse]
Clear cache [] data
> 'h' <size> HSLCacheClearRequest
< '+' <size> HSLCacheClearResponse
Get current connections
Messages that are currenty being sent by the queue worker
> 'm'
< '+' <size> ConnectionResponse
Reload configuration (smtpd-app.conf)
> 'r'
< '+' <0>
< 'E' <size> <message>
Reload DNS servers
Calls res_init()
> 'k'
< '+' <0>
rated.proto
Get rates
> 'i' <size> HSLRateRequest
< '+' <size> HSLRateResponse
Clear rates
> 'j' <size> HSLRateClearRequest
< '+' <size> HSLRateClearResponse
Reload configuration
> 'r'
< '+' <0>
< 'E' <size> <message>
hsh.proto
HSL
Get break point (non-blocking)
> 'd' <size> HSLBreakPointRequest
< '+' <size> HSLBreakPointResponse
Wait for break point (blocking)
> 'e' <size> HSLBreakPointRequest
< '+' <size> HSLBreakPointResponse
Continue from previous break point
> 'c'
< '+' <0>