[Exim-users-de] exim4.63 Expansion von local_part_suffix in …

Góra strony
Delete this message
Reply to this message
Autor: Spiro Trikaliotis
Data:  
Dla: exim-users-de
Temat: [Exim-users-de] exim4.63 Expansion von local_part_suffix in einem Router funktioniert nicht mit ${run...} oder ${readfile...}, wie ich es mir dachte
Hallo,

ich habe ein Problem mit exim4 und ich hoffe, dass mir hier
vielleicht jemand helfen kann.

Ich habe diese Frage zuerst auf der Debian-Users-De Mailingliste
gestellt, bin aber darauf hingewiesen worden, dass diese Liste hier
wohl der bessere Adressat ist, was ich auch so sehe.


Ich versuche, in einem Router ein optionales local_part_suffix
einzuführen. Aus diesem Grund habe ich folgende Zeilen in den Router
eingebaut:

     local_part_suffix = -2006 : -2007 : -${run{/bin/date +%Y}}
     local_part_suffix_optional = true


Der Test mit "exim4 -be" ergibt auch (wie erwartet):

# exim4 -be
> -2006 : -2007 : -${run{/bin/date +%Y}}

-2006 : -2007 : -2008

Dummerweise funktionieren -2006 und -2007 als Suffixe, aber -2008 nicht.
Das kann ich mit mit "exim4 -bt" nachvollziehen.

Ok... Nächstes Versuch: date +%Y baut noch ein newline am Ende ein. Also
muss das noch entfernt werden:

     local_part_suffix = -2006 : -2007 : -${extract{1}{\n}{${run{/bin/date +%Y}}}}
     local_part_suffix_optional = true


Jetzt fehlt das newline. Bloß: Es funktioniert immer noch nicht. Die
Suffixe -2006 und -2007 funktionieren, -2008 hingegen immer noch nicht.

Ein debug_print = "..." mit dem Ausdruck aus local_part_suffix zeigt
mir, dass die Auflösung auch in den exim Konfiguration genau so
funktioniert, wie ich es mir denke: Der String wird tatsächlich zu
"-2006 : -2007 : -2008" (ohne die Anführungszeichen) expandiert.

Allerdings zeigt mir "exim4 -d -bt", dass die Suffixe -2006 und das
-2007 direkt beim Abarbeiten des Routers vom local_part entfernt werden:

... snipp ...
--------> dom_aliases router <--------
local_part=test-2007 domain=test.local
stripped suffix -2007
checking domains
... snipp ...

während dies bei -2008 nicht passiert:

... snipp ...
--------> dom_aliases router <--------
local_part=test-2008 domain=test.local
checking domains
...
direct command:
argv[0] = /bin/date
argv[1] = +%Y
... snipp ...


Ein "stripped suffix" erscheint bei diesem Versuch nicht.


Ich habe auch mal versucht, anstelle von ${run...} ein ${readfile...} zu
proberen:

local_part_suffix = ${readfile{/etc/exim4/suffixes}{ : }}

aber das hilft auch nicht weiter, das Problem bleibt das gleiche. (Hier
gibt es noch das Problem, dass ein " : " nach dem letzten Eintrag
generiert wird, aber daran scheint es auch nicht zu liegen.


Hat jemand eine Idee, was ich hier eventuell übersehe?

Ach ja: Ich nutze exim4 aus Debian Etch, also:
# exim4 -bV
Exim version 4.63 #1 built 20-Jan-2007 10:40:39


Beste Grüße,
Spiro.

-- 
Spiro R. Trikaliotis                              http://opencbm.sf.net/
http://www.trikaliotis.net/                     http://www.viceteam.org/