Clapf fordítás nem megy [MEGOLDVA] - Clapf üzembehelyezés

Fórumok

Kedves fórumozók!

Szeretném kipróbálni és, ha működik használni a Clapf-ot. Jónak tűnik, remélem hosszú életű lesz. ;)

(Debian Etch)
Szóval a következő kapcsolókkal konfigolom:

mosaic:~/clapf-0.4.2# ./configure --enable-clamd --with-tokendb=mysql --with-userdb=mysql --enable-blackhole --enable-rbl --with-clapf-user=clapf --localstatedir=/var --with-store=fs --enable-policy --enable-whitelist --enable-lmtp

A make parancs után:

In file included from av.h:8,
from session.c:15:
defs.h:144: error: expected identifier or '(' before ',' token
defs.h:146: error: expected ';' before 'MYSQL'
session.c: In function 'init_session_data':
session.c:71: error: expected identifier before '=' token
session.c:71: error: 'struct session_data' has no member named '__policy'
session.c:71: error: 'struct session_data' has no member named '__as'
session.c:71: error: 'struct session_data' has no member named '__minefield'
session.c:72: error: 'struct session_data' has no member named '__training'
session.c:72: error: 'struct session_data' has no member named '__update'
session.c:72: error: 'struct session_data' has no member named '__store'
session.c:72: error: 'struct session_data' has no member named '__inject'
session.c: In function 'postfix_to_clapf':
session.c:149: error: 'struct session_data' has no member named 'mysql'
session.c:150: error: 'struct session_data' has no member named 'mysql'
session.c:151: error: 'struct session_data' has no member named 'mysql'
session.c:153: error: 'struct session_data' has no member named 'mysql'
session.c:300: error: expected identifier before '+=' token
session.c:310: error: 'struct session_data' has no member named '__policy'
session.c:346: error: expected identifier before '+=' token
session.c:363: error: expected identifier before '+=' token
session.c:375: error: 'struct session_data' has no member named '__training'
session.c:408: error: 'struct session_data' has no member named '__minefield'
session.c:495: error: 'struct session_data' has no member named '__as'
session.c:523: error: 'struct session_data' has no member named '__training'
session.c:541: error: 'struct session_data' has no member named '__training'
session.c:559: error: 'struct session_data' has no member named '__update'
session.c:575: error: 'struct session_data' has no member named '__store'
session.c:583: error: 'struct session_data' has no member named '__as'
session.c:588: error: 'struct session_data' has no member named '__as'
session.c:619: error: 'struct session_data' has no member named '__inject'
session.c:654: error: expected identifier before '+' token
session.c:655: error: expected identifier before '/' token
session.c:656: warning: too few arguments for format
session.c:656: warning: too few arguments for format
session.c:860: error: 'struct session_data' has no member named '__minefield'
session.c:986: error: 'struct session_data' has no member named 'mysql'
make: *** [session.o] Error 1

Totál elakadtam. Help please.

Hozzászólások

Talan valami hianyzo header lesz. Szerintem van szerzoje is a clapf-nak, probaltad bejelenteni a bugot? ;-)

Legalabb a config.log-ot kitehetned pastebin-re.

Letöltöttem a 0.4.1 verziót. szépen lefordult.

Az egyik felhasznalo 32-bites debian 4.0-an talalkozott ezzel a jelenseggel. Ott a solution az volt (ugyanazokkal a 64-bites csomagokkal nem sikerult reprodukalni a hibat), hogy a __user valtozot atnevezte _user-re (azaz ket underscore helyett csak egy) az osszes file-ban (defs.h, session.c, antispam.c), majd make clean all

Es ahogy LGee is mondta, nyugodtan irhatsz a cimemre, nem harapok :-) Ezt a topikot csak veletlenul vettem eszre ...

Btw. sikerult osszelonod eximmel?

SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta

Köszi. Tudom, hogy nem harapsz és bíztam benne, hogy itt is észreveszed.
Most működik.

De elakadtam az első tanításánál:

mosaic:/usr/local/libexec/clapf# /usr/local/libexec/clapf/db_init_mysql.sh HAM-mbox SPAM-mbox /usr/local/share/clapf/.my.cnf
ham and spam should be either (Maildir) directories or mbox format files

Nem nagyon értem, hogy mitévő legyek :(

Használt doksik:
http://clapf.acts.hu/install.php
http://wiki.hup.hu/index.php/Clapf

Legyen ez a topic a Clapf beüzemelése :)

A HUP wiki mar elegge outdated (majd kezdek is vele valamit), de az install.php valid.

A tanitashoz szukseg van 2 level kollekciora: 1 mbox-nyi spam, ill. 1 mbox-nyi ham. A leveleknek nem kell mbox-ban lenniuk, lehetnek maildir formatumban is.

Nalam igy nez(ne) ki:

$ls -la ~sj/*AM
-rw------- 1 sj users 38330514 2009-xx-xx 12:55 /home/sj/HAM
-rw------- 1 sj users 18623398 2009-xx-xx 12:55 /home/sj/SPAM

A HAM ill. SPAM nevu file-ok ebben az esetben olyan mailbox formatumu postafiokot jelentenek, mint amilyen pl. a ~/Mailbox file. Ezert en igy tanitanam a szurot (a sajat gepemen):

/usr/local/libexec/clapf# /usr/local/libexec/clapf/db_init_mysql.sh ~sj/HAM ~sj/SPAM /usr/local/share/clapf/.my.cnf

Ha neked a ham leveleid nem egy spool/mbox file-ban vannak, hanem egy konyvtarban (egy level egy file), pl.

drwxr-xr-x 2 sj users 2551808 2009-11-02 13:41 /home/sj/ham/
drwxr-xr-x 2 sj users 2551808 2009-11-02 13:41 /home/sj/spam/

$ls -l ~sj/spam
-rw------- 1 sj users 4312 2009-xx-xx 12:55 /home/sj/spam/whatever-file-name-1
-rw------- 1 sj users 5192 2009-xx-xx 12:55 /home/sj/spam/whatever-file-name-2
...

akkor hasznald igy:

/usr/local/libexec/clapf# /usr/local/libexec/clapf/db_init_mysql.sh ~sj/ham ~sj/spam /usr/local/share/clapf/.my.cnf

SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta

Nem igazán értem a működését.
Teszt rendszerem Debian etch 32bit, Fetchmail+Postfix+Cyrus-IMAP.

Nem látom át, hogy hogyan fog ez működni Postfix-el és a felhasználókkap.

A levelek:

/var/cyrus/mail/t/testuser (INBOX)
/var/cyrus/mail/t/testuser/Drafts
/var/cyrus/mail/t/testuser/Junk
/var/cyrus/mail/t/testuser/Sent
/var/cyrus/mail/t/testuser/Spam
/var/cyrus/mail/t/testuser/Templates
/var/cyrus/mail/t/testuser/Trash

Tegyük fel, hogy az INBOX-ban jelenleg csak jó levelek vannak és a Spam könyvtárban a rosszak.
Akkor így kellene lefuttatni?:
# /usr/local/libexec/clapf/db_init_mysql.sh /var/cyrus/mail/t/testuser /var/cyrus/mail/t/testuser/Spam /usr/local/share/clapf/.my.cnf

Nem értem, hogy a későbbiekben honnan tudja majd, hogy a beérkező levél az SPAM-e főle, ha az ő adatbázisában nem is szerepel?
Hogyan fog ez az összes felhasználóra működni? (nem sok <10)

Melyik reszet nem erted?

A clapf letarolja az algoritmus alapjan, az elofordulasi valoszinuseget.

Ezt raengedi az uj mailre es ha sok nagy fajsulyu stringre talal, akkor megjeloli spamnak.

A honlapjan van leiras a pontos algoritmusra.

Egyebkent meg minden felhasznalonak lehet sajat adatbazisa is.

tompos

Hogy a testuser alatt levo konyvtarak ne zavarjanak, en csinalnek a tanitasra 2 temp konyvtarat, pl. /tmp/ham es /tmp/spam es azok ala masolnek be egy halom jo ill. spam levelet.

Ha a /usr/local/share/clapf/.my.cnf rendben el van keszitve, akkor ezt a parancsot lehet utana kiadni:

#/usr/local/libexec/clapf/db_init_mysql.sh /tmp/ham /tmp/spam /usr/local/share/clapf/.my.cnf

Hogyan fog ez az összes felhasználóra működni? (nem sok <10)

A fenti parancs egy un. globalis (=mindenkire ervenyes) token adatbazist keszit el. Amikor bejon egy level, akkor ha group_type=0 (a clapf.conf-ban), akkor csak a globalis token db alapjan donti el, hogy a level spam vagy sem, ha group_type=1, akkor globalis + per user token db alapjan donti el. A per user token db ugy all elo, hogy az adott user tanitja az adatbazist. Ez azonban opcionalis, es ha te jol elvegzed a kezdeti tanitast (a fenti paranccsal), akkor nem kell sokszor tanitani a felhasznaloknak.

Amugy tenyleg a clapf.acts.hu site a baratod, foleg ha a konkret technikai reszletek erdekelnek, pl. hogyan mukodik a statisztikai algoritmus, stb. :-)

SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta

A clapf pontosabb es nagyobb teljesitmenyu, teljes mertekben kepes kivaltani az SA-t. (Tehat nincs ertelme mindkettot hasznalni.) Egy a lenyeg: jol tanitsd be, ami legalabb 1-2000 jo, ill. kb. hasonlo mennyisegu spamet jelent.

SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta

Szóval üzemel :)

http://clapf.acts.hu/install.php alapján összeállítottam Postfix-el.

Viszont:
Az olyan levél amit már a szolgáltatóm is SPAM-nek jelölt az hogyan juthat át?
A fejlécben többek között ezek szerepelnek:
X-Spam-Status: Yes, score=15,9
X-Spam-Score: 159
X-Spam-Flag: Yes

Szóval ez nagyon is SPAM. A clapf nem figyeli ezeket a header bejegyzéseket?
Ill.: Hogyan tudom beállítani, hogy ne a user INBOX-ba kerüljön a spam hanem egy központi SPAM user-hez? Ez már a postfix dolga lenne?

amit már a szolgáltatóm is SPAM-nek jelölt az hogyan juthat át?

ugy, hogy nem ismeri azt a levelet. Futtasd le az alabbit:

spamdrop -D < level

ill. mint ad vissza ez az sql parancs?

select * from t_misc;

ahol a 'level' az egy file, ami a problemas levelet tartalmazza (fejlec, body, minden).

A clapf nem figyeli ezeket a header bejegyzéseket?

Nem, mert a header-ben barmi lehet, es a spammerek spoof-oljak is.

ne a user INBOX-ba kerüljön a spam hanem egy központi SPAM user-hez?

Hmmm... van egy olyan valtozo a clapf.conf-ban, hogy spam_smtp_addr es spam_smtp_port. A clapf a spameket erre a next hop-ra kuldi. Az a legegyszerubb, ha csinalsz egy postfix instance-t pl. a 127.0.0.1:10027-re, amit ugy konfigolsz, hogy minden level egy cimzettnek menjen. A clapf-ot pedig ugy konfigolod, hogy a spamet arra tovabbitsa.

SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta

Important!

If you use a language having characters other than can be found iso-8859-2, then you should review and adjust the ijc.h file for junk characters and trans.h for valid characters.

Ez mit jelent az install.php végén? Nem tágomatja az utf8-at?