<?xml version="1.0" encoding="utf-8"?>

<creole>

    <files>
        <service servicelist='clamav'>clamav-freshclam</service>
        <!--<service servicelist='clamav'>clamav-daemon</service>-->
        <service servicelist='force_clamav'>clamav-daemon</service>
        <file filelist='force_clamav' name='/etc/clamav/clamd.conf'/>
        <file filelist='clamav' name='/etc/clamav/freshclam.conf'/>
        <file filelist='clam_container' name='/etc/sudoers.d/clamav' source="clamav.sudoers" mode="0440" rm='True'/>
        <file filelist='clamav' name='/etc/eole/clamd-reload.cnf' rm='True'/>
        <file filelist='clamav' name='/etc/apparmor.d/local/usr.sbin.clamd' />
        <file filelist='clamav' name='/etc/apparmor.d/local/usr.bin.freshclam' source="freshclam.apparmor.conf"/>
    </files>

    <containers>
        <container name='mail'>
            <!-- le conteneur 'mail' est présent sur tous les modules #8702 & #9213 -->
            <package instance_mode='when_no_container'>eole-antivirus-pkg</package>
            <package instance_mode='when_container'>eole-antivirus-container-pkg</package>
            <service servicelist='clamav_mail'>clamav-daemon</service>
        </container>

    </containers>

    <variables>
        <family name='services'>
            <variable name='activer_clam' type='oui/non' description="Activer l'anti-virus ClamAV">
                <value>oui</value>
            </variable>
        </family>
        <family name='clamav' icon='shield'>
            <variable name='clam_max_file_size' type='number' description='Taille maximum pour un fichier à scanner (en Mo)' mode='expert'>
                <value>10</value>
            </variable>
            <variable name='clam_max_scan_size' type='number' description='Quantité de données maximum à scanner pour une archive (en Mo)' mode='expert'>
                <value>50</value>
            </variable>
            <variable name='clam_max_recursion' type='number' description='Profondeur maximale pour le scan des archives' mode='expert'>
                <value>16</value>
            </variable>
            <variable name='clam_max_directory_recursion' type='number' description="Profondeur maximale pour le scan des répertoires" mode='expert'>
                <value>15</value>
            </variable>
            <variable name='clam_max_files' type='number' description='Nombre maximum de fichiers à scanner dans une archive' mode='expert'>
                <value>5000</value>
            </variable>
            <variable name='clam_exit_on_oom' type='yes/no' description='Arrêter le démon en cas de surcharge mémoire' mode='expert'>
                <value>no</value>
            </variable>
            <variable name='clam_detect_pua' type='yes/no' description='Détection des applications indésirables' mode='expert'>
                <value>no</value>
            </variable>
            <variable name='clam_scan_elf' type='yes/no' description='Scan du contenu des fichiers ELF' mode='expert'>
                <value>no</value>
            </variable>
            <variable name='clam_scan_pdf' type='yes/no' description='Scan du contenu des fichiers PDF' mode='expert'>
                <value>yes</value>
            </variable>
            <variable name='clam_scan_mail' type='yes/no' description='Scan des fichiers courriels' mode='expert'>
                <value>no</value>
            </variable>
            <variable name='clam_broken_exe' type='yes/no' description='Détection des fichiers exécutables corrompus' mode='expert'>
                <value>no</value>
            </variable>
            <variable name='clam_dns_database_info' type='domain' description='Nom de domaine du serveur DNS de mise à jour' mode='expert'>
                <value>current.cvd.clamav.net</value>
            </variable>
            <variable name='clam_forcer_mirror_database' type='oui/non' description='Forcer un serveur de mise à jour freshclam' mode='expert'>
                <value>non</value>
            </variable>
            <variable name='clam_mirror_database' type='domain' description='Nom de domaine du serveur de mise à jour' mode='expert' multi='True' mandatory='True'/>
            <variable name='clam_mirror_type' type='string' description='Type du miroir' mode='expert' mandatory='True'>
                <value>DatabaseMirror</value>
            </variable>
            <variable name='clam_iana' type='hostname_strict' description='Code IANA pour la mise à jour de la base de signature' mode='expert'>
                <value>fr</value>
            </variable>
            <variable name='clam_max_attempts' type='number' description='Nombre de tentatives de mise à jour par miroir' mode='expert'>
                <value>5</value>
            </variable>
            <variable name='clam_receive_timeout' type='number' description='Délai avant abandon de lecture de la base de données distante' mode='expert'>
                <value>300</value>
            </variable>
            <variable name='clam_connect_timeout' type='number' description='Délai avant abandon de connexion à la base de données distante' mode='expert'>
                <value>300</value>
            </variable>
            <variable name='clam_checks' type='number' description='Nombre de mises à jour quotidiennes' mode='expert'>
                <value>24</value>
            </variable>
            <variable name='clam_forcer_daemon' type='oui/non' description="Forcer l'activation du démon clam sur le serveur" mode='expert'>
                <value>non</value>
            </variable>
       </family>
       <separators>
           <separator name='clam_max_file_size'>ClamAV</separator>
           <separator name='clam_dns_database_info'>Freshclam</separator>
           <separator name='clam_forcer_daemon'>Services utilisant ClamAV</separator>
       </separators>
    </variables>

    <constraints>
        <condition name='disabled_if_in' source='activer_clam'>
            <param>non</param>
            <target type='family'>clamav</target>
            <target type='filelist'>clamav</target>
            <target type='filelist'>clam_container</target>
            <target type='servicelist'>clamav</target>
        </condition>
        <condition name='disabled_if_in' source='activer_clam'>
            <param>non</param>
            <target type='servicelist'>force_clamav</target>
            <target type='filelist'>force_clamav</target>
        </condition>
        <condition name='disabled_if_in' source='clam_forcer_daemon'>
            <param>non</param>
            <target type='servicelist'>force_clamav</target>
            <target type='filelist'>force_clamav</target>
        </condition>
        <condition name='disabled_if_in' source='clam_forcer_mirror_database'>
            <param>non</param>
            <target>clam_mirror_database</target>
            <target>clam_mirror_type</target>
        </condition>
        <group master='clam_mirror_database'>
            <slave>clam_mirror_type</slave>
        </group>
        <check name='valid_enum' target='clam_mirror_type'>
            <param>['DatabaseMirror', 'PrivateMirror']</param>
        </check>
        <condition name='disabled_if_in' source='clam_forcer_mirror_database'>
            <param>oui</param>
            <target>clam_iana</target>
        </condition>
        <condition name='disabled_if_in' source='mode_conteneur_actif'>
            <param>non</param>
            <target type='filelist'>clam_container</target>
        </condition>
        <condition name='disabled_if_in' source='mode_conteneur_actif'>
            <param>oui</param>
            <target>clam_forcer_daemon</target>
        </condition>
    </constraints>

    <help>
        <variable name='activer_clam'>ClamAV est un logiciel anti-virus pour Unix</variable>
        <variable name='clam_scan_elf'>ELF (Executable and Linkable Format) est un format de fichier binaire utilisé pour l'enregistrement de code compilé</variable>
        <variable name='clam_forcer_daemon'>Permet d'activer le service ClamAV même s'il n'y a pas de scan temps réel activé</variable>
        <variable name='clam_mirror_type'>Détermine le protocole utilisé pour se connecter au miroir : PrivateMirror utilise HTTP alors que DatabaseMirror utilise HTTPS</variable>
    </help>

</creole>
<!-- vim: ts=4 sw=4 expandtab
-->
