BUG: $Organization used in Message-Id which can violate rfc5322 depending on what user sets

rt 4.4.4 here

I don’t see any docs about what should be in $Organization setting in config. So I had it set to “My_Org_c.o.” (note the dot at the end).

rt uses this $Organization in raw form in Message-Id headers. These headers have strict rules:

https://datatracker.ietf.org/doc/html/rfc5322#section-3.6.4

which do not allow dot at the end for example. rt doesn’t do any normalization of $Organization before using it in Message-Id. That broke logging and handling of message id in my MTA (exim in my case and yes, exim does Message-Id validation).

Please consider this to be a bug report. rt should do normalization or just add “[” “]” (and strip “]” and “”), so message-id would be:

Message-Id: [$Organization]

as allowed by rfc 5322:

msg-id = [CFWS] “<” id-left “@” id-right “>” [CFWS]

id-left = dot-atom-text / obs-id-left

id-right = dot-atom-text / no-fold-literal / obs-id-right

no-fold-literal = “[” *dtext “]”

dtext = %d33-90 / ; Printable US-ASCII
%d94-126 / ; characters not including
obs-dtext ; “[”, “]”, or “”

btw. Workaround like changing $Organization is not a option here because it breaks all references between tickets.

Should be
Message-Id: something@[$Organization]