On Wed, 1 Jun 2011 11:56:36 +0200, [email protected] (Varadi Gabor) wrote:


Csak a bayes.c -ben találtam hivatkozást a group_type-re :)
ami érdemleges..

**** float bayes_file.... függvény:

- /* query message counters */ -néj jó a az sql select:)

- /* check if sender is autowhitelisted */ -on belül
  if(cfg->enable_auto_white_list == 1){ ...a blokk kezdete...

    #ifdef HAVE_MYSQL
      snprintf(buf, MAXBUFSIZE-1, "SELECT nham, nspam FROM %s WHERE
token=%llu AND (uid=0 OR uid=%ld)", SQL_TOKEN_TABLE,
APHash(state->from), sdata->uid);
    #endif

A fent selectben akkor is benne van az (uid=0 OR ...) vizsgálat, amikor a
  group_type == GROUP_SHARED!!
  Ez szerintem nem jó, mert ha csak a uid=0-nál találja meg és a
  uid=USER_ID-nél nem, akkor FALSE lesz az adat.


Bar szigoruan veve valoban hibas az sql query, de problemat nem okoz, mert
group_type=0-nal az 'OR uid=%ld' nem ad vissza eredmenyt.


Ugyanúgy az itt meghívott függvénynél qry_spaminess(sdata, state, 1, cfg);
  sem lesz jó sdata->uid !!


Itt igazabol nem tortenik spam valoszinuseg szamitas, mert ha az ebben a blokkban az amugy 0.0001 lesz, hiszen feherlistan van a felado, hanem itt sak azert kell a qry_spaminess, hogy a tokeneknek a timestamp-jet frissiteni lehessen. De jogos,
elorebb tettem a gid-et fixalo sort.


  Csak a függvény végénél (bayes_file függvény) mented el a
  saved_uid = sdata->uid és számolod a spamértéket.

Egy hangos kérdés :)
Ha group_type == GROUP_MERGED, akkor nem kellene a tokeneket a t_token
táblába IS beletenni uid=0-val és a hozzá tartozó t_misc táblába IS?

Miert? A 'merged' tipusnak pont az a lenyege, hogy a kozos token halmazt nem
bantjak a felhasznalok, hanem csak a sajatjukat.

Mert akkor a GLOBÁLIS tábla is tanulódna, legalább a tanulás idejére, vagy
az 1000 levélig vagy ha a felhasználó tanítja.

Az updateTokenTimestamps -nál ha group_type == GROUP_MERGED, akkor a
uid=0-ás tokeneknek is állítja az időpillanatát.

Ez feature, nem bug. Ha csak az uid=xxx tokeneket allitana, akkor a megfelelo
uid=0 tokeneket idovel kitorolne a purge script.


Csatolnák 2 fájlt tömörítve, amiben az SQL utasítások vannak benne.

A konfigurációban ami lényeges.
* group_type=0
* initial_1000_learning=1
* update_tokens=1

Mind a két alkalommal ugyan az a levelet küldtem be, unix_uid := 1000-es
felhasználóval a spamdrop-nak.

Oooo, mit kellene itt latnom? Btw. volt egy bug pont a initial_1000_learning
kornyeken, amit csak mostansag javitottam ki.

Suto Janos

Reply via email to