Tak dneska sme meli naprogramovat program jmenem GREYLIST, Forst nam rikal, ze jsme jedna z mala skupin, poctenych tim, ze muzou testovat nove zadani...
Program greylist se ma automaticky spustit na kazdy prichozi mail a podivat se, jestli ma v databazovem souboru "sender tab" zaznam o jeho odesilateli. ( soubor sender tab je ve formatu:
jmeno(nebo mail)<tab>allow(nebo deny/check)<tab>[datum]<tab>[klic])
... vysveteni pride )
Kdyz prichozi mail je od nekoho, kdo je v databazi a na radku je pak jen allow, preposle se na adresu vlastnika ( tu sme meli v promenne RCPT ), kdyz deny tak se smaze. Kdyz je na radce i datum, podiva se skript, jestli uz neni prosle a kdyz neni, udela to same, co by udelal, kdyby tam vubec nebylo.
Kdyz bylo datum prosle, tak je to jako kdyby jmeno uzivatele nebylo v databazi..
Kdyz teda jmeno odesilatele v databazi neni, mail od nej si skript nekam ulozi a :
1) vygeneruje nahodny klic
2) posle odesilateli zpravu s danym klicem
(text zpravy nacte ze souboru greylist.cfg, kde je misto, kde ma byt ve zprave klic oznaceno <KEY>.)
3) ulozi uzivatele do databaze a misto allow/deny
mu tam napise check, nastavi mu tam datum o 30
dni od ted a klic, co se vygeneroval
Dal skript ceka od tohohle uzivatele na mail, obsahujici klic. Dokud ho nedostane nebo neuplyne urcena doba, je uzivatel porad "check" a vsechny jeho maily se nekam ukladaji. Kdyz se uzivatel do 30 dnu neozve mailem, kde je klic, vsechny ulozene maily se vymazou a vymaze se i zaznam z databaze.
Kdyz napise mail s klicem, udela se z nej "allow" a vsechny ulozene maily se poslou na adresu v RCPT...
Mno mozna tam byly jeste nejaky malickosti, ale takle nejak to nove zadani vypada...
Tak doufam, ze to dam, kdyz uz se tu v labu kuli tomu musim flakat dve hodky,.
Zk 2.6. 2006
- Void
- Matfyz(ák|ačka) level II
- Příspěvky: 54
- Registrován: 17. 1. 2006 16:21
- Typ studia: Informatika Mgr.
Zk 2.6. 2006
Aurë Entuluva!!
-
- Matfyz(ák|ačka) level I
- Příspěvky: 1
- Registrován: 28. 1. 2006 10:20
- Typ studia: Informatika Bc.
- Kontaktovat uživatele:
Tu jeden z tych, s ktorymi si este chcel promluvit.
Zobral pisomku a zacal ju celu prechadzat. Mal som tam dve celkom zavazne chyby...
1. Pomylil som si prikazy "echo" a "cat" .
2. Databazovy subor som cital pomocou "for" a dalej som predpokladal, ze v premennej budem mat cely radek. To je samozrejme zle. Spytal sa ma, co to naozaj robi. Povedal som mu a pokracoval dalej v pisomke.
Potom sa ma este spytal na jedno male zlepsenie, ale to ma vtedy nenapadlo...
Na konci rozmyslal, ze co so mnou a po chvili si na svoj papier napisal ze "1", z coho som ostal milo prekvapeny . Takze myslim, ze sa nie je coho bat. Clovek, co bol predomnou na ustnej, dostal dvojku.
Zobral pisomku a zacal ju celu prechadzat. Mal som tam dve celkom zavazne chyby...
1. Pomylil som si prikazy "echo" a "cat" .
2. Databazovy subor som cital pomocou "for" a dalej som predpokladal, ze v premennej budem mat cely radek. To je samozrejme zle. Spytal sa ma, co to naozaj robi. Povedal som mu a pokracoval dalej v pisomke.
Potom sa ma este spytal na jedno male zlepsenie, ale to ma vtedy nenapadlo...
Na konci rozmyslal, ze co so mnou a po chvili si na svoj papier napisal ze "1", z coho som ostal milo prekvapeny . Takze myslim, ze sa nie je coho bat. Clovek, co bol predomnou na ustnej, dostal dvojku.