Wykaz plikw umieszczonych w tym katalogu
-----------------------------------------

* README           - wiadomo
* src.tar          - rda programu mkschk i biblioteki libmksd oraz plik
                     nagwkowy do tej biblioteki
* procmail-example - przykad uycia programu mksfiltr w /etc/procmailrc
* amavis-mksscan   - modu do integracji mksd z amavisem
* qmail-mksscan    - przepis na integracj mksd z qmailem
* mkswatch         - skrypt do okresowych kontroli antywirusowych z crona
* mkschkdir,
  mkschkdir-syncr  - skrypy shellowe, opisane poniej


Kompilacja mkschk i libmksd.a
-----------------------------

Wystarczy rozpakowa rda poleceniem "tar -xf src.tar" i wykona "make".


Opis programu mkschk zaczerpnity z wersji 1.10 pakietu mksd
------------------------------------------------------------

* mkschk    - sprawdza pliki, ktrych nazwy podane s jako argumenty wywoania;
              dopuszczalne s zarwno cieki wzgldne, jak i bezwzgldne;
              kod bdu jest rwny liczbie plikw, dla ktrych status by rny
              od OK (ale zob. te opis opcji "-mks32"); pliki sprawdzane s
              synchronicznie (po kolei), a wyniki pojawiaj si na stdout;
              program przydatny do intergacji mksd z amavisem lub podobnym
              skanerem poczty; przykad uycia:
              
              if ! mkschk -s -- $plik &>/dev/null
              then
                obud_administratora_i_poka_mu $plik
              fi

Program przyjmuje nastpujce argumenty:

"-s" - skanowanie
"-c" - leczenie
"-m" - oznacza skanowanie/leczenie poczty elektronicznej
       (w liniach statusu nazwy plikw bd zastpione przez
       Message-ID i inne informacje z nagwka listu)
"-e" - argument ignorowany
"-a" - argument ignorowany
"--" - znacznik koca opcji
"-mks32" - opcja kompatybilnoci z mks32

Zamiana ju istniejcej instalacji amavis+mks32 na amavis+mkschk moe by
wykonana z uyciem opcji "-mks32", ktra powoduje, e:

* kod powrotu mkschk bdzie rwny:
    0, jeli nie stwierdzono wirusw ani bdw,
    1, jeli znaleziono wirusa(-y) i nie byo bdw,
    inna warto, jeli wystpi bd,

* dla kadego wykrytego wirusa pojawi si na stdout dodatkowa linia postaci:
  "-- nazwa_wirusa\n".

Wystarczy w konfiguracji amavisa zmieni nazw programu mks32 na mkschk,
a argumenty wywoania na "-s -mks32". 

Mona rwnie skompilowa wersj mkschk, ktra zawsze bdzie zachowywa si
tak, jakby wyspecyfikowano opcj "-mks32". W tym celu naley po rozpakowaniu
rde, a przed wykonaniem polecenia "make" zamieni definicj na pocztku
pliku `Makefile'. Otrzymanej wersji mona nada nazw mks32 i wgra j do
cieki przeszukiwa, a ciek do oryginalnego mks32 podawa tylko w linii
wywoania mksd, np.:

PATH=/opt/mks /opt/mksd/mksd scan 2

Taki zestaw powinien dziaa bez zmian w konfiguracji amavisa. Mimo to warto
sprawdzi, czy mks32 nie jest tam wywoywany z opcj "-c", oznaczajc leczenie
zainfekowanych plikw. Ta opcja nie ma sensu w przypadku amavisa.


Sprawdzanie caych katalogw (opis zaczerpnity z wersji 1.10 pakietu mksd)
---------------------------------------------------------------------------

W wersji 1.11 i dalszych mona sprawdza katalogi tak jak pliki, tj. programem
mksscan. Opisane poniej skrypty naley traktowa jako przestarzae.

* mkschkdir - nakadka na mkschkin, pozwalajca sprawdzi wszystkie pliki
              z danego katalogu i jego podkatalogw; na wyjciu s wypisywane
	      nazwy tych plikw, dla ktrych status jest rny od OK;
	      niezerowy kod bdu oznacza, e znaleziono co najmniej 1
              taki plik; wersja mkschkdir-syncr korzysta z programu mkschk,
              przez co zachowuje kolejno plikw na wyjciu i nigdy nie
              zatrudnia naraz wicej ni jednego procesu mks; peni ona
              funkcj przede wszystkim demonstracyjn, gdy podobny efekt
              mona uzyska bez porednictwa demona (patrz poniej)

Dziki uyciu demona i skryptu mkschkdir mona sprawdza cae katalogi przy
uyciu kilku procesw mks rwnoczenie. Naley pamita, e sprawdzanie duych
plikw, w szczeglnoci archiww, moe trwa duszy czas, a proces mks staje
si dostpny dla innych klientw dopiero po sprawdzeniu caego pliku. Jeli
wic zaley nam na krtkim czasie odpowiedzi demona, a katalog do sprawdzenia
zawiera due pliki, najlepiej sprawdza go przy uyciu pojedynczego procesu.
Suy do tego skrypt mkschkdir-syncr, ale lepszym rozwizaniem jest uycie
bezporednio programu mks32. Polecenie:

mks32 -S 2>/dev/null

wykonuje to samo zadanie, co program mkschkin (ale w pojedynczym procesie).
Narzut czasowy na wczytanie baz danych jest w tym przypadku zaniedbywalny.
