Tag Archives: cyrus

Cyrus said: 554 5.6.0 Message contains NUL characters

Feia unes quantes setmanes que rebia un munt de correus de backscatter a postmaster que em portaven de corcoll. Els missatges indicaven que el nostre MDA (Cyrus IMAP 2.2) no acceptava els correus que havien arribat al MTA intern (Postfix 2.5.1) perquè contenien caràcters nuls:

<xxxxxxxx@[x.x.x.x]>: host x.x.x.x[/var/run/cyrus/socket/lmtp]
    said: 554 5.6.0 Message contains NUL characters (in reply
    to end of DATA command)

Primer vaig mirar si la versió de Sieve que ve amb Cyrus suporta les extensions per filtrar basant-se en el contingut del cos però no hi va haver sort (amb Cyrus 2.4 ja està suportat però a la 2.2 no). Així que buscant buscant vaig trobar un fil molt interessant de la discussió original l’any 2005, on s’anaven passant la culpa de Postfix a Cyrus i a l’inrevés, com en un partit de tennis, mentre invocaven la màxima aquella de «be liberal in what you accept and strict in what you send». Tot i que en principi en Wietse Venema va dir que no podia dedicar temps a implementar el filtre a Postfix, finalment el va poder incloure a la versió 2.3 i ara la solució és prou senzilla:

message_strip_characters = \0

Amb aquest petit canvi he deixat de rebre diàriament centenars de notificacions de postmaster d’aquest tipus que em feien perdre un munt de temps.