Knowledge base

flags verifiedimportantWritten by the Hub

Packed behaviour switches

A bit field holding the console's behaviour switches — the ones with no column of their own.

In detail

Seven choices that are not numbers are packed here, and the mapping was measured on the stand by setting one switch at a time and reading the column after each save: bit 0 (1) timeout_means_delivered, bit 1 (2) lost_means_delivered, bit 3 (8) prefer_idle_connections, bit 5 (32) greylisted_src_ip, bit 6 (64) greylisted_dst_ip, bit 7 (128) retry_bind_errors. Bits 2 and 4 together carry the three-way intro_error: 4 is "proceed to the next MX", 16 is "report a failure", both clear is "respect the reply code". In every pair the bit set to one is the strict or the affirmative option — strict greylisting, a timeout counted as a delivery, a bind error worth retrying. The field is eight bits wide stored in a signed integer column, so anything with bit 7 set reads back negative: -128 is retry_bind_errors alone, -1 is all eight bits set. flags alone does not say what is configured — it is read together with meaningful, which says which bits were set deliberately. A bit that is off in meaningful inherits from the built-in defaults no matter what flags holds, which is why a freshly created profile is 0 / 0 and changes nothing. That is also the safe value for Hub to write.

What happens if you get it wrong

Hub writes flags and leaves meaningful at 255 from an earlier profile.Every switch is then declared deliberate with whatever flags happens to hold: greylisting drops to relaxed, timeouts after the body count as deliveries. Nothing in the interface says so — the console shows the values as if the operator had chosen them.verified by experiment · verified