Jak wykonywać programy zewnętrzne w mechanizmie tabeli odnośników?

1

Muszę wykonać niestandardowy algorytm za pomocą odnośnika header_checks.

Mam konfigurację, smtpd_sasl_authenticated_header = yesaby zobaczyć w nagłówkach, który użytkownik wysyła wiadomość, np .:

Received: from [0.0.0.0] (unknown [192.168.255.4]) (Authenticated sender: [email protected]) by smtp.mydomain.com (Postfix) with ESMTP id 08333374399 for <[email protected]>; Tue, 28 Oct 2008 10:45:37 -0400 (EDT)

Muszę zrobić mechanizm przepisać (Authenticated sender: [email protected])do (Authenticated sender: XXXXXX)... gdzie XXXXXXjest md5sum na adres e-mail (ze względów bezpieczeństwa).

Czy mogę to zrobić za pomocą header_checkstabeli odnośników?

Wiem, że jest to możliwe, za pośrednictwem demona zewnętrznego (php lub perl skryptu, na przykład), który działa jako serwer dla TCPlub SOCKETMAPtypów tabeli odnośników, ale tam jest bardziej uproszczony mechanizm Archiwum to?

Eduardo Leggiero
źródło
Dawno temu szukałem, ale nic nie znalazłem. Z łatwością mógłbym to rozwinąć, gdybym miał na to czas.
peterh

Odpowiedzi:

2

Ograniczenie: w przypadku tego rozwiązania należy podać listę wszystkich użytkowników i jego md5. Z wyjątkiem rozwiązania demona tcptable / zewnętrznego, obliczenia MD5 nie są obsługiwane przez większość tabel Postfix

Aby to osiągnąć, możesz użyć funkcji tabeli poleceń użytkownika i funkcji kontroli_ nagłówka. Podaj ten wiersz w tabeli nagłówka. Przetestowałem to wyrażenie w tabeli typu pcre.

/^(Received: .*Authenticated sender:)(.*?\))(.*)$/ REPLACE $1 md5ofstring) $3

Odniesienia: man sprawdzanie nagłówka | człowiek pcre_table

masegaloeh
źródło