From raf@mielonka.polbox.pl Wed Dec 29 20:34:17 1999 Path: spawn!polsl.gliwice.pl!news.man.poznan.pl!news.icm.edu.pl!news.polbox.pl!not-for-mail From: rafal wiosna Newsgroups: pl.comp.mail.mta Subject: Re: sendmail Supersedes: <84dd3l$444$2@orfika.office.polbox.pl> Date: 29 Dec 1999 16:33:52 GMT Organization: Polbox On-Line Service Sp. z o.o. Lines: 69 Message-ID: <84dd5g$53b$1@orfika.office.polbox.pl> References: <84cteu$f9g$1@orion.comarch.pl> Reply-To: rafamiga@uucp.polbox.pl NNTP-Posting-Host: orfika.office.polbox.pl Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-2 Content-Transfer-Encoding: 8bit X-Trace: orfika.office.polbox.pl 946485232 5227 195.116.6.19 (29 Dec 1999 16:33:52 GMT) X-Complaints-To: rafamiga@uucp.polbox.pl NNTP-Posting-Date: 29 Dec 1999 16:33:52 GMT X-Newsreader: TIN [UNIX 1.3 unoff BETA 970527; i686 Linux 2.2.13] Xref: spawn pl.comp.mail.mta:2542 * Pawel Matejski wrote: > Rafala Wiosny będzie dla Ciebie bardziej interesujące (choć nie bardzo > rozumiem co ta jego regółka robi, mimo że ostatnio starałem sie doszkolić w > regółkach sendmail'a). To proste: # # reguła S98 -- standardowa reguła sendmaila, tu wpisuje się wszelakie # "hacki" przy rząglowaniu mailerami # W workspace przy wejściu dostajemy adres w formie 'user < @ domena . > reszta' # S98 # # To zmienia workspace na '123.45.6.78 | user < @ domena . > reszta' gdzie to # IP na początku oznacza adres klienta połączonego z sendmailem # R$* $: $(dequote "" $&{client_addr} $) $| $1 # # Sprawdzamy, czy IP należy do klasy zdefiniowanej jako {copy_from}. # Definicja klasy powinna być na początku i mieć formę np.: # F{copy_from} -o /etc/mail/copyfromip # Flaga -o mówi, że plik jest niekonieczny do działania i sendmail nie # zacznie krzyczeć gdy pliku nie będzie # Każda linia pliku zdefiniowanego przez F... to adres lub jego część, np. # 127 # 195.116 # 212.244.204.2 # Gdyby nie było '}$*' w LHS poniższej regułki musiałyby w pliku być pełne # adresy, a tak tylko to, co chcesz. # Poniższa regułka robi co następuje: # sprawdza, czy IP należy do klasy {copy_from} przy okazji zachowując # user < @ domena . > reszta w $3 [$2 to po prostu pałka]; # jeżeli LHS się zgadza [IP należy] do list zostanie wysłany # transportem "copy" do hosta localhost [nieważne...] i juzera z $3 # czyli to, co dostaliśmy na wejściu do S98 # [$3 ponieważ $1 to jest złapany adres/kawałek IP, $2 to reszta z # kawałka IP lub nic jeżeli złapał się cały adres IP, a $3 to to, co # po pałce] R$={copy_from}$* $| $* $#copy $@ localhost $: $3 # Ta regułka jest niepotrzebna, chyba, że pod nią są inne regułku polegające # na tym, że przy wejściu do S98 w workspace mamy user < @ domena . > reszta # Regułka matchuje $1 przed pałką i $2 po pałce # Zapis $@ na początku RHS oznacza "nie wykonuj tej reguły w do skutku" R$* $| $* $@$2 Tu definicja mailera copy. Na wejściu /root/copymail.pl dostaje w STDIN treść listu a w argumencie -- username z koperty listu. Mcopy, P=/root/copymail.pl,, F=lsDFMAw5:/|@qShP, S=10/30, R=20/40, T=DNS/RFC822/X-Unix, A=/root/copymail.pl $u -- __________________________________________________________________________ rafal wiosna * Polbox On-Line Service * Fidonet 2:480/33 * In ARP we trust Powered by /usr/local/bin/joe B.O.F.P [alias|free].polbox.pl admin * ar155 RAFD-RIPE * PGP key available from www.pl.pgp.net/pgpnet/pks/ ("rafamiga") -- __________________________________________________________________________ rafal wiosna * Polbox On-Line Service * Fidonet 2:480/33 * In ARP we trust Powered by /usr/local/bin/joe B.O.F.P [alias|free].polbox.pl admin * AR155 RAFD-RIPE * http://www.ALFAROMEO.polbox.pl * moje opinie sa wylacznie moje