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

<creole>
    <files>
        <!-- warnquota s'execute sur le maitre bug #1602 -->
        <file filelist='smb_quotawarn' name='/etc/warnquota.conf'/>
        <file name='/etc/default/quota' source='quota.default'/>
        <!-- FIXME : firewall -->
        <!--<file name='/usr/share/eole/firewall/00_fichier.fw'/>-->
        <file name='/etc/bareos/bareosfichiers.d/fichier.conf' source='bareos-fichier.conf' mkdir='True'/>
    </files>
    <containers>
        <container name='fichier' id='12'>
            <disknod>/home</disknod>
            <fstab name='home_path' name_type='SymLinkOption'/>
            <!--attention, redefini dans 50_amonecole-->
            <interface linkto="eth0" ip="adresse_ip_fichier_link" mask="adresse_mask_fichier_link" bcast="adresse_bcast_fichier_link">eth1</interface>
            <package>eole-fichier-common-pkg</package>
            <package instance_mode='when_no_container'>eole-antivirus-pkg</package>
            <package instance_mode='when_container'>eole-antivirus-container-pkg</package>
            <service>smbd</service>
            <service servicelist='antivirus_samba'>clamav-daemon</service>
            <!--<service servicelist="antivirus_samba">scannedonly</service>-->
            <file name='/etc/smbldap-tools/smb.conf'/>
            <file filelist='smb_trash' name='/etc/samba/recycle.conf'/>
            <service_access service='ntp'>
                <port protocol='udp'>123</port>
            </service_access>
            <service_access service='smbd'>
                <port>139</port>
                <port>445</port>
            </service_access>
            <!-- cg -->
            <file name='/usr/share/eole/bastion/data/80-eole_fichier_rules' mode='0755'/>
            <file name='/etc/logrotate.d/samba' source='samba.logrotate'/>
            <!--pam-->
            <file name='/etc/pam.d/login'/>
            <!-- clamd.conf is provided by eole-antivirus -->
            <!--<file filelist='antivirus_samba' name='/etc/clamav/clamd.conf'/>-->
        </container>
    </containers>

    <variables>

        <!-- useless if eole-fichier depends on eole-antivirus -->
        <!--<family name='services'>
            <variable name='activer_clam' type='oui/non' description="Activer l'anti-virus ClamAV" exists='False' hidden='True'>
                <value>non</value>
            </variable>
        </family>-->

        <family name='Interface-0'>
            <variable name='adresse_ip_fichier_link' type='ip' description="Adresse IP pour le serveur de fichiers" mandatory='True'/>
            <variable name='adresse_mask_fichier_link' type='netmask' description="Masque de sous réseau pour le serveur de fichiers" mandatory='True' mode='expert'/>
            <variable name='adresse_bcast_fichier_link' type='broadcast' description="Broadcast pour le serveur de fichiers" mandatory='True'/>
        </family>

        <!-- il faut laisser le hidden == True si antivirus n'est pas installé-->
        <family name='clamav' hidden='True'>
            <variable name='smb_vscan' type='oui/non' description="Activer l'anti-virus temps réel sur SMB" hidden='True'>
                <value>non</value>
            </variable>
            <variable name='clam_purge' type='number' description='Durée de conservation des fichiers en quarantaine (en jours)'>
                <value>20</value>
            </variable>
        </family>

        <family name='samba' icon='group'>
            <variable name='smb_netbios_name' type='netbios' description="Nom du serveur de fichiers" auto_freeze='True' mandatory='True'/>
            <variable name='smb_workgroup' type='netbios' description="Nom du domaine Samba (ex: mondomaine)" auto_freeze='True' mandatory='True'/>
            <variable name='fichier_link_interface' type='string' description='Interface associée à adresse_ip_fichier_link' hidden='True'>
                <value>eth0</value>
            </variable>
            <variable name='smb_server_string' type='string' description='Libellé du serveur Samba' mandatory='True' mode='expert'/>
            <variable name='smb_trash' type='oui/non' description='Activer la corbeille Samba' mode='expert'>
                <value>non</value>
            </variable>
            <variable name='smb_trash_dir' type='filename' description='Nom du répertoire corbeille' mandatory='True' mode='expert'>
                <value>perso/.corbeille</value>
            </variable>
            <variable name='smb_trash_purge' type='number' description='Durée de conservation des fichiers dans la corbeille (en jours)' mandatory='True' mode='expert'>
                <value>8</value>
            </variable>
            <variable name='smb_quotawarn' type='oui/non' description="Activer l'envoi de courriel en cas de dépassement des quotas" mode='expert'>
                <value>non</value>
            </variable>
            <variable name='smb_deadtime' type='number' description="Nombre de minutes d'inactivité avant déconnexion automatique d'accès à un fichier" mode='expert'>
                <value>15</value>
            </variable>
            <variable name='smb_activer_hide_files' type='oui/non' description="Activer le masquage de fichiers" mode='expert' hidden='True'>
                <value>oui</value>
            </variable>
            <variable name='smb_hide_files' type='string' description="Fichiers à masquer dans le partage" mode='expert'>
                <value>/desktop.ini/</value>
            </variable>

            <variable name='smb_oplocks' type='yes/no' description="Activer les verrous opportunistes (oplocks)" mode='expert'>
                <value>no</value>
            </variable>
            <variable name='smb_domain_master' type='yes/no' description='Contrôleur de domaine principal' mode='expert' hidden='True'>
                <value>yes</value>
            </variable>
            <!-- FIXME: #179 -->
            <variable name='smb_unixextensions' type='yes/no' description="Activer les extensions Unix" hidden='True'>
                <value>no</value>
            </variable>
            <variable name='smb_printers_drivers_path' type='filename' description="Chemin vers les drivers d'imprimantes Windows" mandatory='True'>
                <value>/var/lib/samba/printers</value>
            </variable>
            <variable name='smb_control_print_access_with_acl' type='oui/non' description="Les contrôles d'accès au partage print$ sont gérés par les ACL" >
                <value>non</value>
            </variable>
            <variable name='smb_spoolss_x64' type='oui/non' description='Annoncer Spoolss comme architecture x64' mode='expert'>
                <value>non</value>
            </variable>
            <variable name='home_path' type='filename' description='Chemin de base vers les dossiers personnels' hidden='True'>
                <value>/home</value>
            </variable>
            <!-- ajouter un partage SMB -->
            <variable name='smb_activer_partages' type='oui/non' description="Activer des partages supplémentaires" mode='expert'>
                <value>non</value>
            </variable>
            <variable name='smb_partage_nom' type='string' description='Nom du partage' multi='True' mandatory='True' mode='expert'/>

            <variable name='smb_partage_path' type='filename' description='Nom absolu du répertoire à partager' mandatory='True' mode='expert'/>

            <variable name='smb_partage_visibilite' type='oui/non' description='Visibilité du partage' mode='expert'>
                <value>non</value>
            </variable>

            <variable name='smb_partage_ecriture' type='oui/non' description='Partage en lecture/écriture' mode='expert'>
                <value>non</value>
            </variable>
            <variable name='smb_admin_users' type='string' description="Utilisateurs ayant des privilèges d'administration sur tous les partages" mode='expert' multi='True' hidden='True'>
                <value>@DomainAdmins</value>
            </variable>
            <variable name='smb_nt_acl_support' type='yes/no' description='Support NT ACL' mode='expert'>
                <value>yes</value>
            </variable>
            <variable name='activer_regles_filtrage_port_source' type='oui/non' description="Autoriser l'ouverture de flux à partir d'un port source " mode='expert'>
                <value>non</value>
            </variable>
            <variable name='fw_rule_port' type='number' description="Port source à partir duquel les flux sont autorisés" multi='True' mandatory='True'>
                <value>137</value>
            </variable>
            <variable name='fw_rule_protocole' type='string' description="Protocole udp/tcp pour lequel les flux sont autorisés" mandatory='True'>
                <value>udp</value>
            </variable>
            <variable name='fw_rule_int' type='string' description="Interface sur laquelle les flux sont autorisés" mandatory='True'>
                <value>0</value>
            </variable>

            <!-- variables pour sysctl.conf #5256 -->
            <variable name='fs_inotify_max_user_instances' type='number' description="Nombre maximum d'instances inotify pour un UID réel" mode='expert'>
                <value>128</value>
            </variable>
            <variable name='fs_inotify_max_user_watches' type='number' description='Nombre maximum de surveillants associés à une instance inotify' mode='expert'>
                <value>8192</value>
            </variable>
            <variable name='fs_inotify_max_queued_events' type='number' description="Nombre maximum d'événements mis en file d'attente dans une instance inotify" mode='expert'>
                <value>16384</value>
            </variable>
            <variable name='smb_socket_options' type='string' description="Optimisations réseau" mode='expert'/>
        </family>

        <family name='réseau avancé'>
            <variable name="restrict_ping_request" redefine="True">
                <value>non</value>
            </variable>
        </family>

        <separators>
            <separator name="adresse_ip_fichier_link">Adresse pour le serveur de fichier</separator>
            <separator name="activer_regles_filtrage_port_source">Autoriser l'ouverture de flux à partir d'un port source</separator>
            <separator name='fs_inotify_max_user_instances'>Paramètres système</separator>
        </separators>

    </variables>

    <constraints>

        <!-- Anti-virus temps réél -->
        <condition name='disabled_if_in' source='activer_clam'>
            <param>non</param>
            <target type='servicelist'>antivirus_samba</target>
            <target type='filelist'>antivirus_samba</target>
        </condition>
        <condition name='disabled_if_in' source='smb_vscan'>
            <param>non</param>
            <target type='servicelist'>antivirus_samba</target>
            <target type='filelist'>antivirus_samba</target>
            <target>clam_purge</target>
        </condition>
        <!--attention, redefini dans 50_amonecole-->
        <check name="valid_in_network" target="adresse_ip_fichier_link" level="warning">
            <param type='eole' hidden="False">adresse_network_eth0</param>
            <param type='eole' hidden="False">adresse_netmask_eth0</param>
        </check>
        <check name="valid_differ" target="adresse_ip_fichier_link">
            <param type='eole' hidden="False">adresse_ip_eth0</param>
        </check>
        <check name="valid_differ" target="adresse_ip_fichier_link">
            <param type='eole' optional='True'>adresse_ip_eth0_proxy_link</param>
        </check>
        <condition name='disabled_if_in' source='mode_conteneur_actif'>
            <param>non</param>
            <target>adresse_ip_fichier_link</target>
            <target>adresse_bcast_fichier_link</target>
            <target>adresse_mask_fichier_link</target>
        </condition>
        <fill name='calc_val' target='adresse_mask_fichier_link'>
            <param type='eole' name='valeur'>adresse_netmask_eth0</param>
        </fill>
        <check name="valid_enum" target="fw_rule_protocole">
            <param>['tcp','udp']</param>
        </check>
        <check name="valid_enum" target="fw_rule_int">
            <param>['0','1','2','3','4']</param>
        </check>
        <auto name='calc_broadcast' target='adresse_bcast_fichier_link'>
            <param type='eole' name='ip'>adresse_ip_fichier_link</param>
            <param type='eole' name='netmask'>adresse_mask_fichier_link</param>
        </auto>

        <condition name='disabled_if_in' source='smb_activer_hide_files'>
            <param>non</param>
            <target type='variable'>smb_hide_files</target>
        </condition>
        <condition name='disabled_if_in' source='smb_trash'>
            <param>non</param>
            <target type='variable'>smb_trash_purge</target>
            <target type='variable'>smb_trash_dir</target>
            <target type='filelist'>smb_trash</target>
        </condition>

        <condition name='disabled_if_in' source='smb_quotawarn'>
            <param>non</param>
            <target type='filelist'>smb_quotawarn</target>
        </condition>

        <fill name='calc_val' target='smb_server_string'>
            <param type='eole' name='valeur'>libelle_etab</param>
        </fill>
        <!-- smb_netbios_name != nom_machine pour mode conteneur (#2662) -->
        <!--<fill name='calc_val' target='smb_netbios_name'>
            <param type='eole' name='valeur'>nom_machine</param>
        </fill>-->
        <check name='valid_differ' target='smb_workgroup'>
            <param type='eole'>smb_netbios_name</param>
        </check>
        <condition name='disabled_if_in' source='activer_regles_filtrage_port_source'>
            <param>non</param>
            <target type='variable'>fw_rule_port</target>
            <target type='variable'>fw_rule_protocole</target>
            <target type='variable'>fw_rule_int</target>
        </condition>
        <group master='fw_rule_port'>
            <slave>fw_rule_protocole</slave>
            <slave>fw_rule_int</slave>
        </group>

        <!-- ajouter un partage SMB -->
        <condition name='disabled_if_in' source='smb_activer_partages'>
            <param>non</param>
            <target type='variable'>smb_partage_nom</target>
            <target type='variable'>smb_partage_path</target>
            <target type='variable'>smb_partage_visibilite</target>
            <target type='variable'>smb_partage_ecriture</target>
        </condition>
        <group master='smb_partage_nom'>
            <slave>smb_partage_path</slave>
            <slave>smb_partage_visibilite</slave>
            <slave>smb_partage_ecriture</slave>
        </group>
    </constraints>

    <help>
        <family name='samba'>Configuration du serveur de fichiers Samba</family>
        <variable name='adresse_ip_fichier_link'>Adresse IP supplémentaire sur cette interface réseau, utilisée pour accèder aux serveurs de fichiers. Le serveur aura donc plusieurs adresses IP sur le réseau local</variable>
        <!-- l'aide de la variable smb_netbios_name dépend du module installé (#11428) -->
        <!--<variable name='smb_netbios_name'>Nom DNS du contrôleur de domaine.
En mode conteneur, il doit être différent de celui du serveur Linux EOLE</variable>-->
        <variable name='smb_workgroup'>Nom du domaine (workgroup) Samba</variable>
        <variable name='smb_spoolss_x64'>Spoolss est le service d'impression de Samba</variable>
    </help>

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