CORE connectors

Modul connectors.

Třídy

class RedisConnector

Popis není k dispozici.

Metody:

_create_connection()
_create_connection_decode()
get_connection()
get_connection_decode()
prepare_model_for_redis()
class ClamdError

Základní třída výjimek pro chyby clamd.

class ClamdResponseError

Výjimka vyvolaná při neočekávané odpovědi od clamd.

class ClamdBufferTooLongError

Výjimka vyvolaná při překročení délky bufferu nad StreamMaxLength v clamd.conf.

class ClamdConnectionError

Výjimka vyvolaná při chybách komunikace s clamd.

class ClamdNetworkSocket

Třída pro komunikaci s ClamAV démonem přes síťový socket.

Tato třída poskytuje metody pro skenování souborů na viry pomocí ClamAV démona naslouchajícího na TCP portu.

Metody:

__init__()

Inicializace třídy.

Hodnoty host, port a timeout se načítají z nastavení aplikace.

instream()

Skenuje buffer na přítomnost virů.

Argumenty:

  • buff: instance BytesIO se soubory ke skenování

Návratová hodnota:

dict: {filename: (status, reason)} kde status je ‚FOUND‘ nebo ‚OK‘

Výjimky:

ClamdBufferTooLongError: pokud velikost bufferu překročí limity clamd ClamdConnectionError: při problému s komunikací

_basic_command()

Odešle příkaz na clamav server a vrátí odpověď.

Argumenty:

  • command (str): příkaz k odeslání

Návratová hodnota:

str: odpověď od clamd

Výjimky:

ClamdConnectionError: při problému s komunikací ClamdResponseError: pokud clamd vrátí chybu

_init_socket()

Inicializuje socketové připojení k clamd.

Pouze pro interní použití.

Výjimky:

ClamdConnectionError: pokud se nelze připojit k clamd

_error_message()

Formátuje chybovou zprávu pro selhání socketového připojení.

Argumenty:

  • exception: výjimka socket.error

Návratová hodnota:

str: formátovaná chybová zpráva

_send_command()

Odešle příkaz do clamd.

Používá prefix ‚n‘ a ukončovač nového řádku podle doporučení man clamd.

Argumenty:

  • cmd (str): příkaz k odeslání

  • *args: dodatečné argumenty pro příkaz

_recv_response()

Přijme jednořádkovou odpověď od clamd.

Návratová hodnota:

str: dekódovaný a oříznutý řádek odpovědi

Výjimky:

ClamdConnectionError: při chybě čtení ze socketu

_parse_response()

Parsuje odpovědi pro příkazy SCAN, CONTSCAN, MULTISCAN a STREAM.

Argumenty:

  • msg (str): zpráva odpovědi od clamd

Návratová hodnota:

tuple: (path, virus, status)

Výjimky:

ClamdResponseError: pokud nelze odpověď parsovat

_close_socket()

Uzavře socketové připojení k clamd.