[Postfixbuch-users] hash, pcre und regexp

Andreas Winkelmann ml at awinkelmann.de
So Mai 27 22:40:06 CEST 2007


On Sunday 27 May 2007 21:18, Peer Heinlein wrote:

> > Wenn er versucht mit postmap eine regexp: oder pcre:-Map zu bearbeiten,
> > sollte es eine Fehlermeldung geben.
>
> sollte, müßte, sollte, müßte, sollte, müßte.
>
> Auf diese Wörter gebe ich schon lange nichts mehr.

Das sind die 16 Jahre Berufserfahrung im EDV-Geschäft. Lässt sich nicht mehr 
so einfach abstellen.

> a) Man sollte/müßte die auch lesen und wir alle wissen, daß...
>
> b) postmap sollte/müßte hier gar keine Fehlermeldung erzeugen, weil er ja
> keine Ahnung hat, daß  "/pattern/" nicht einfach nur der
> ASCII-Text "/pattern" sein soll. Oder andersrum: Warum sollte sich
> postmap beschweren? 

Ich meinte sowas wie:

# postmap pcre:/etc/postfix/pcre_map

Das gibt eine Fehlermeldung.

> Es KANN eventuell Fehlermeldungen geben, wenn in den 
> Regexp-Pattern Leerzeichen vorkommen, bzw. wenn Doppelpunkte in
> Verbindung mit Leerzeichen vorkommen. DANN jammert postmap, daß im das
> Format der vermeindlichen hash-Tabelle durcheinandergeraten ist. Aber
> solange das nicht der Fall ist, hat postmap doch keine Chance zu merken,
> daß ".*" hier nicht eben einfach nur ein ".*" als ASCII-Text sein soll.

Wir haben wohl aneinander vorbei geredet.

> > Postfix lädt auch hash:-Maps in den Hauptspeicher.
>
> Falsch, was man schon daran sieht, daß man sie zur Laufzeit von Postfix
> einfach updaten kann. Ein postfix reload/restart ist hier schließlich
> nicht nötig.

Postfix lädt den Inhalt des Files in den Hauptspeicher. Lässt das File 
allerdings offen/gelockt, so dass es Änderungen mitbekommt. Trifft solch eine 
Änderung ein, beendet sich der Prozess zum nächstmöglichen Zeitpunkt und wird 
vom master neu gestartet. Änderungen an den Daten wirken sich nicht auf einen 
laufenden Prozess aus.

> > Sonst müsste man sie ja auch ins chroot kopieren.
>
> Schon wieder dieses "müsste" :-)
>
> Man kann offene Dateihandles mit ins chroot mitnehmen und darum ist das
> hier kein Problem.
>
> > > Darum braucht
> > > man GAR KEIN postmap drauf und Postfix wertet auch nicht die
> > > .db-Datei aus. postmap konvertiert das zwar treudoof, wenn man ihn
> > > drauf ansetzt. Aber er versteht das halt als ASCII-Text drin und
> > > wandelt das halt in die Binärvariante um -- aber das ist ja Postfix
> > > egal. Wenn Du auf die Datei mittels pcre=/etc/postfix/bla verweist,
> > > so nutzt Postfix tatsächlich die datei bla und nicht etwa bla.db.
> >
> > Hmm, Du meinst?:
> >
> > # postmap hash:/etc/postfix/pcre_map
> >
> > und es irgendwo als: pcre:/etc/postfix/pcre_map zuweisen?
> >
> > Zwar krank, aber so ginge es.
>
> Wäää? Habe ich jetzt nicht verstanden, was Du meinst. Also genauer, was Du
> meinst, daß ich meine. :-)
>
> Ich meinte hier GAR NICHT, daß man irgendwas mit postmap machen soll. Ich
> habe nur erklärt, daß WENN man es (wie der Fragesteller)
> fälschlicherweise anwendet, daß postmap dann zwar auch eine Datei
> pcre_map generiert, die aber nicht ausgewertet wird und schnurzpiepegal
> ist.

-- 
	Andreas



Mehr Informationen über die Mailingliste Postfixbuch-users