Subversion Repositories ALCASAR

Compare Revisions

No changes between revisions

Ignore whitespace Rev 519 → Rev 520

/alcasar.sh
1066,11 → 1066,9
[ -d /var/log/dnsmasq ] || mkdir /var/log/dnsmasq
$SED "s?^DHCP_LEASE=.*?DHCP_LEASE=/var/log/dnsmasq/lease.log?g" /etc/sysconfig/dnsmasq # fichier contenant les baux
[ -e /etc/dnsmasq.conf.default ] || cp /etc/dnsmasq.conf /etc/dnsmasq.conf.default
# 1st configuration file for "dnsmasq + blackhole" (listen on udp 52)
# 1st dnsmasq listen on udp 53 ("dnsmasq - forward"). It's used as dhcp server only if bypass is on.
cat << EOF > /etc/dnsmasq.conf
# Configuration file for "dnsmasq + blackhole"
# Inclusion de la blacklist <domains> de Toulouse dans la configuration
conf-dir=$DIR_DEST_ETC/alcasar-dnsfilter-enabled
# Configuration file for "dnsmasq in forward mode"
conf-file=$DIR_DEST_ETC/alcasar-dns-name # zone de definition de noms DNS locaux
listen-address=$PRIVATE_IP
listen-address=127.0.0.1
1094,9 → 1092,11
# Exemple de configuration statique : <@MAC>,<name>,<@IP>,<MASK>,<ttl bail>
#dhcp-host=11:22:33:44:55:66,ssic-test,192.168.182.20,255.255.255.0,45m
EOF
# 2nd dnsmasq configuration file for filter exception user (listen on udp 54)
cat << EOF > /etc/dnsmasq-forward.conf
# Dnsmasq configuration for exception filter users (no blackhole)
# 2nd dnsmasq listen on udp 54 ("dnsmasq with blackhole")
cat << EOF > /etc/dnsmasq-blackhole.conf
# Configuration file for "dnsmasq with blackhole"
# Inclusion de la blacklist <domains> de Toulouse dans la configuration
conf-dir=$DIR_DEST_ETC/alcasar-dnsfilter-enabled
conf-file=$DIR_DEST_ETC/alcasar-dns-name # zone de definition de noms DNS locaux
listen-address=$PRIVATE_IP
port=54
1119,7 → 1119,7
EOF
# On modifie le fichier d'initialisattion (lancement et arret de la deuxième instance)
[ -e /etc/init.d/dnsmasq.default ] || cp /etc/init.d/dnsmasq /etc/init.d/dnsmasq.default
$SED "/daemon/a \$dnsmasq -C /etc/dnsmasq-forward.conf \$OPTIONS" /etc/init.d/dnsmasq
$SED "/daemon/a \$dnsmasq -C /etc/dnsmasq-blackhole.conf \$OPTIONS" /etc/init.d/dnsmasq
$SED "/killproc \$DAEMON_NAME/a killproc \$DAEMON_NAME" /etc/init.d/dnsmasq
} # End dnsmasq
 
/scripts/alcasar-iptables.sh
7,9 → 7,9
# 2 for secure admin (ssh);
# 3 for exterior access attempts.
 
 
IPTABLES="/sbin/iptables"
FILTERING="no"
PROTO_FILTERING="no"
DNS_FILTERING="no"
QOS="no"
EXTIF="eth0"
INTIF="eth1"
41,29 → 41,10
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT
 
# Création des chaînes utilisateur
# User defined chains
$IPTABLES -N SYN-FLOOD
 
# Tout passe sur loopback
# accept all on loopback
$IPTABLES -A INPUT -i lo -j ACCEPT
 
# Blocage des tentatives de spoofing de l'adresse de loopback
# Block all attempts to spoof the loopback address
$IPTABLES -A INPUT -s 127.0.0.0/8 -j DROP
$IPTABLES -A INPUT -d 127.0.0.0/8 -j DROP
 
# Blocage des tentatives de spoofing de l'adresse IP côté interne
# Block all attempts to spoof the local IP address
$IPTABLES -A INPUT -s $PRIVATE_IP -j DROP
# Blocage des attaques de type SYN FLOOD
# Block Syn Flood attacks
#$IPTABLES -A INPUT -p tcp -m tcp --syn -j SYN-FLOOD
#$IPTABLES -A SYN-FLOOD -m limit --limit 1/s --limit-burst 4 -j RETURN
#$IPTABLES -A SYN-FLOOD -j DROP
 
# On élimine les paquets "NEW not SYN"
# Ensure that TCP connections start with syn packets
$IPTABLES -A INPUT -p tcp -m tcp ! --syn -m state --state NEW -j DROP
94,13 → 75,6
# Drop broadcast & multicast
$IPTABLES -A INPUT -m addrtype --dst-type BROADCAST,MULTICAST -j DROP
 
# Règles d'antispoofing
# Antispoofing rules with log
$IPTABLES -A INPUT -i $TUNIF ! -s $PRIVATE_NETWORK_MASK -j ULOG --ulog-prefix "RULE Antispoof1 -- DENY "
$IPTABLES -A INPUT -i $TUNIF ! -s $PRIVATE_NETWORK_MASK -j DROP
$IPTABLES -A INPUT -i $EXTIF -s $PRIVATE_NETWORK_MASK -j ULOG --ulog-prefix "RULE Antispoof2 -- DENY "
$IPTABLES -A INPUT -i $EXTIF -s $PRIVATE_NETWORK_MASK -j DROP
 
# On laisse passer les ICMP echo-request et echo-reply en provenance du LAN
# Allow ping (icmp N°0 & 8) from LAN
$IPTABLES -A INPUT -i $TUNIF -s $PRIVATE_NETWORK_MASK -p icmp --icmp-type 0 -j ACCEPT
121,11 → 95,27
# Conntrack on forward
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
 
###############################
# If DNS filter is activate #
###############################
# Redirection des flux DNS vers le port 54 (dns+blackhole) sauf pour les IP en exceptions
if [ $DNS_FILTERING = "yes" ]; then
# Compute exception IP
nb_exceptions=`wc -w /usr/local/etc/alcasar-filter-exceptions | cut -d" " -f1`
if [ $nb_exceptions != "0" ]
then
while read ip_exception
do
$IPTABLES -A PREROUTING -t nat -i $TUNIF -p udp -s $ip_exception -d $PRIVATE_IP --dport domain -j ACCEPT
done < /usr/local/etc/alcasar-filter-exceptions
fi
$IPTABLES -A PREROUTING -t nat -i $TUNIF -p udp -d $PRIVATE_IP --dport domain -j REDIRECT --to-port 54
fi
#####################################
# If protocols filter is activate #
#####################################
if [ $FILTERING = "yes" ]; then
# Mise en place des exceptions (adresses IP des machines ne faisant pas l'objet de filtrage)
# filtrage de protocoles sauf pour les IP en exceptions
if [ $PROTO_FILTERING = "yes" ]; then
# Compute exception IP
nb_exceptions=`wc -w /usr/local/etc/alcasar-filter-exceptions | cut -d" " -f1`
if [ $nb_exceptions != "0" ]
134,10 → 124,9
do
$IPTABLES -A FORWARD -i $TUNIF -s $ip_exception -m state --state NEW -j ULOG --ulog-prefix "RULE IP-exception -- ACCEPT "
$IPTABLES -A FORWARD -i $TUNIF -s $ip_exception -m state --state NEW -j ACCEPT
$IPTABLES -A PREROUTING -t nat -i $TUNIF -p udp -s $ip_exception -d $PRIVATE_IP --dport domain -j REDIRECT --to-port 54
done < /usr/local/etc/alcasar-filter-exceptions
fi
# Autorisation de protocoles non commentés
# Autorisation des protocoles non commentés
# Allow non comment protocols
while read svc_line
do
178,7 → 167,8
###########################################################################################
# Direct input from local network (dns, ntp, https, http, ssh and 3990 (user disconnect) #
###########################################################################################
$IPTABLES -A INPUT -i $TUNIF -d $PRIVATE_IP -p udp --dport domain -j ACCEPT # dnsmasq pour tous
$IPTABLES -A INPUT -i $TUNIF -d $PRIVATE_IP -p udp --dport domain -j ACCEPT # dnsmasq without forward
$IPTABLES -A INPUT -i $TUNIF -d $PRIVATE_IP -p udp --dport 54 -j ACCEPT # dnsmasq with blackhole
$IPTABLES -A INPUT -i $TUNIF -d $PRIVATE_IP -p udp --dport ntp -j ACCEPT
$IPTABLES -A INPUT -i $TUNIF -d $PRIVATE_IP -p tcp --dport https -j ACCEPT
$IPTABLES -A INPUT -i $TUNIF -d $PRIVATE_IP -p tcp --dport http -j ACCEPT
190,17 → 180,15
# Conntrack on INPUT
$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 
# On interdit les connexions directes au port utilisé par DansGuardian (8080) et par dnsmasq-forward (54)
# On interdit les connexions directes au port utilisé par DansGuardian (8080)
# Les packets concernés ont fait l'objet d'un marquage dans la table mangle
# lors d'une règle de PREROUTING (voir plus bas)
# Deny direct connections on DansGuardian port (8080) and on dnsmasq-forward port (54)
# Deny direct connections on DansGuardian port (8080)
# The concerned paquets are marked by a pre-routing rule (see further)
$IPTABLES -A INPUT -i $TUNIF -p tcp --dport 8080 -m mark --mark 1 -j DROP
$IPTABLES -A INPUT -i $TUNIF -p udp --dport 54 -m mark --mark 1 -j DROP
# Autorisation des connexions à DansGuardian et dnsmasq-forward
# Allow connections for DansGuardian and forward-mode dnsmasq
# Autorisation des connexions à DansGuardian
# Allow connections for DansGuardian
$IPTABLES -A INPUT -i $TUNIF -p tcp --dport 8080 -m state --state NEW --syn -j ACCEPT
$IPTABLES -A INPUT -i $TUNIF -p udp --dport 54 -j ACCEPT
 
# Journalisation des requètes HTTP (seulement des paquets SYN)
# Log HTTP requests (only syn)
208,13 → 196,11
# On redirige les requêtes HTTP vers DansGuardian (transparent pour les utilisateurs)
# Redirect HTTP request in DansGuardian (transparent proxy)
$IPTABLES -A PREROUTING -t nat -i $TUNIF -p tcp ! -d $PRIVATE_IP --dport http -j REDIRECT --to-port 8080
# Journalisation et marquage des paquets qui tentent d'accéder directement à DansGuardian et à dnsmasq-forward
# Journalisation et marquage des paquets qui tentent d'accéder directement à DansGuardian
# pour pouvoir les supprimer en INPUT (voir plus haut)
# Mark the dansguardian or dnsmasq bypass attempts
# Mark the dansguardian bypass attempts
$IPTABLES -A PREROUTING -t nat -i $TUNIF -p tcp -d $PRIVATE_IP -m tcp --dport 8080 -j ULOG --ulog-prefix "RULE direct-proxy -- DENY "
$IPTABLES -A PREROUTING -t nat -i $TUNIF -p udp -d $PRIVATE_IP -m udp --dport 54 -j ULOG --ulog-prefix "RULE direct-dns -- DENY "
$IPTABLES -A PREROUTING -t mangle -i $TUNIF -p tcp -d $PRIVATE_IP -m tcp --dport 8080 -j MARK --set-mark 1
$IPTABLES -A PREROUTING -t mangle -i $TUNIF -p udp -d $PRIVATE_IP -m udp --dport 54 -j MARK --set-mark 1
 
# Journalisation et rejet des connexions (autres que celles autorisées) effectuées depuis le LAN
# Deny and log on INPUT from the LAN
232,6 → 218,7
# On laisse tout sortir sur toutes les cartes sauf celle qui est connectée sur l'extérieur
# Everything is allowed but traffic through outside network interface
$IPTABLES -A OUTPUT ! -o $EXTIF -j ACCEPT
 
# On autorise les requêtes DNS vers les serveurs DNS identifiés
# Allow DNS requests to identified DNS servers
$IPTABLES -A OUTPUT -o $EXTIF -d $DNSSERVERS -p udp --dport domain -m state --state NEW -j ACCEPT
/scripts/alcasar-conf.sh
3,7 → 3,6
# $Author$
# by rexy
# Ce script permet de créer ou de charger l'archive des fichiers de configuration (/tmp/alcasar-conf.tar.gz)
 
DIR_UPDATE="/tmp/conf" # répertoire de stockage des fichier de conf pour une mise à jour
DIR_WEB="/var/www/html" # répertoire du centre de gestion
DIR_BIN="/usr/local/bin" # répertoire des scripts d'admin
111,7 → 110,7
else $DIR_SBIN/alcasar-bl.sh --on
fi
# Récupération des paramêtres locaux (règles de filtrage, fichiers d'exception, comptes de gestion, etc.)
[ -d $DIR_UPDATE/etc ] cp -rf $DIR_UPDATE/etc/* $DIR_ETC/
[ -d $DIR_UPDATE/etc ] && cp -rf $DIR_UPDATE/etc/* $DIR_ETC/
# Prise en compte des comptes de gestion (admin + manager + backup)
$DIR_SBIN/alcasar-profil.sh --list
# On active/désactive le filtrage de protocoles
/scripts/sbin/alcasar-nf.sh
1,8 → 1,10
#/bin/sh
# $Id$
 
# active ou desactive le filtrage réseau
# active ou desactive le filtrage de protocoles réseau
# enable or disable the network protocols filter
# by rexy
 
SED="/bin/sed -i"
FIC_SERVICES="/usr/local/etc/alcasar-services"
FIC_EXCEPTIONS="/usr/local/etc/alcasar-filter-exceptions"
22,7 → 24,7
;;
-on|-on)
# activation du filtrage réseau
$SED "s?^FILTERING.*?FILTERING=\"yes\"?g" /usr/local/bin/alcasar-iptables.sh
$SED "s?^PROTO_FILTERING.*?PROTO_FILTERING=\"yes\"?g" /usr/local/bin/alcasar-iptables.sh
# tri du fichier de services
$SED "/^$/d" $FIC_SERVICES # suppression lignes vides
sort -k2n $FIC_SERVICES > /tmp/alcasar-services-sort
37,7 → 39,7
;;
--off|-off)
# désactivation du filtrage réseau
$SED "s?^FILTERING.*?FILTERING=\"no\"?g" /usr/local/bin/alcasar-iptables.sh
$SED "s?^PROTO_FILTERING.*?PROTO_FILTERING=\"no\"?g" /usr/local/bin/alcasar-iptables.sh
/usr/local/bin/alcasar-iptables.sh
;;
*)
/scripts/sbin/alcasar-bl.sh
15,7 → 15,6
IP_RETOUR="192.168.182.1"
BL_SERVER="cri.univ-tlse1.fr"
SED="/bin/sed -i"
 
# Récupération de l'archive de la BL Toulouse
function transfert () {
mkdir -p $DIR_tmp
96,12 → 95,11
cat_choice
$SED "s/^reportinglevel =.*/reportinglevel = 3/g" /etc/dansguardian/dansguardian.conf
$SED "s?^#\"?\"?g" $DIR_DG/urlregexplist # Enable 'safesearch'
if [ "$PARENT_SCRIPT" != "/usr/local/bin/alcasar-conf.sh" ] # on ne relance pas les processus lors d'une install
$SED "s?^DNS_FILTERING.*?DNS_FILTERING=\"yes\"?g" /usr/local/bin/alcasar-iptables.sh
if [ "$PARENT_SCRIPT" != "/usr/local/bin/alcasar-conf.sh" ] # on ne relance lors d'une install
then
service dansguardian restart
service dnsmasq stop
sleep 1
service dnsmasq start
/usr/local/bin/alcasar-iptables.sh
fi
;;
# désactivation du filtrage
109,12 → 107,11
rm -rf $DIR_DNS_FILTER_ENABLED/*
$SED "s/^reportinglevel =.*/reportinglevel = -1/g" /etc/dansguardian/dansguardian.conf
$SED "s?^[^#]?#&?g" $DIR_DG/urlregexplist # Disable 'safesearch'
if [ "$PARENT_SCRIPT" != "/usr/local/bin/alcasar-conf.sh" ] # on ne relance pas les processus lors d'une install
$SED "s?^DNS_FILTERING.*?DNS_FILTERING=\"no\"?g" /usr/local/bin/alcasar-iptables.sh
if [ "$PARENT_SCRIPT" != "/usr/local/bin/alcasar-conf.sh" ] # on ne relance lors d'une install
then
service dansguardian restart
service dnsmasq stop
sleep 1
service dnsmasq start
/usr/local/bin/alcasar-iptables.sh
fi
;;
# Mise a jour de la blacklist 'Toulouse' et adaptation à dansguardian et dnsmasq
/scripts/alcasar-watchdog.sh
18,7 → 18,7
IFS=$'\n'
 
# Fonction appelée si un Pb de connectivité Internet
# On fait pointer les usagers sur une page d'erreur
# On fait pointer les usagers sur l'adresse locale
function ext_down_alert ()
{
case $EXT_DOWN in
35,11 → 35,12
/bin/sed -i "s?diagnostic =.*?diagnostic = \"can't contact the Internet DNS\";?g" $Index_Page
;;
esac
net_pb=`cat /etc/dnsmasq.d/alcasar-dnsmasq.conf|grep "address=/#/"|wc -l`
if [ $net_pb != "1" ]
net_pb=`cat /etc/dnsmasq.conf|grep "address=/#/"|wc -l`
if [ $net_pb = "0" ] # on alerte les usagers (si ce n'est pas déjà le cas).
then
/bin/sed -i "s?^\$network_pb.*?\$network_pb = True;?g" $Index_Page
/bin/sed -i "s?^conf-dir=.*?address=\/#\/$PRIVATE_IP?g" /etc/dnsmasq.d/alcasar-dnsmasq.conf
/bin/sed -i "s?^conf-dir=.*?address=\/#\/$PRIVATE_IP?g" /etc/dnsmasq-blackhole.conf
/bin/sed -i "1i\address=\/#\/$PRIVATE_IP" /etc/dnsmasq.conf
/etc/init.d/dnsmasq restart
fi
}
68,12 → 69,13
then
ext_down_alert
else
# sinon, on rebascule en mode normal
net_pb=`cat /etc/dnsmasq.d/alcasar-dnsmasq.conf|grep "address=/#/"|wc -l`
if [ $net_pb -eq "1" ]
# sinon, le cas échéant, on rebascule en mode normal
net_pb=`cat /etc/dnsmasq.conf|grep "address=/#/"|wc -l`
if [ $net_pb != "0" ]
then
/bin/sed -i "s?^\$network_pb.*?\$network_pb = False;?g" $Index_Page
/bin/sed -i "s?^address=\/#\/.*?conf-dir=/usr/local/etc/alcasar-dnsfilter-enabled?g" /etc/dnsmasq.d/alcasar-dnsmasq.conf
/bin/sed -i "s?^address=\/#\/.*?conf-dir=/usr/local/etc/alcasar-dnsfilter-enabled?g" /etc/dnsmasq-blackhole.conf
/bin/sed -i "/^address=/d" /etc/dnsmasq.conf
/etc/init.d/dnsmasq restart
fi
fi
93,7 → 95,7
rm $tmp_file
fi
# on traite chaque équipements connus de chilli
for system in `/usr/sbin/chilli_query list`
for system in `/usr/sbin/chilli_query list |grep -v "\.0\.0\.0"`
do
active_ip=`echo $system |cut -d" " -f2`
active_session=`echo $system |cut -d" " -f5`
/readme-2.0.txt
1,23 → 1,22
$Id$
 
Alcasar-2.0.1
Alcasar-2.1a
 
- Installation complète : elle s'effectue sur la base du CD double architecture (32b et 64b) de la distribution Linux-mandriva 2010.1 (mandriva-linux-free-2010-spring-dual.iso). Suivez la procédure d'installation.
- Mise à jour des anciennes versions Alcasar (V1.7, V1.8, V1.9 et V2.0) automatique en lançant le script d'installation (alcasar.sh -i)
- La mise à jour des anciennes versions d'Alcasar (V1.7, V1.8, V1.9 et V2.0) est automatique en lançant le script d'installation (alcasar.sh -i)
- En cas de mise à jour, un nouveau compte d'administration sera créé. Les certificats (A.C. et serveur) ont évolués. Il sera donc nécessaire de reconfigurer les navigateurs.
 
Par rapport à la V2.0, les évolutions mineures sont les suivantes :
- simplification du processus de mise à jour
- protection du répertoire 'digest'
- correction du serveur de temps et de l'horodatage des statistiques WEB
- inclusion d'un fichier de nommage DNS local
- inclusion d'un fichier 'alcasar-ethers' permettant la réservation d'adresses IP par Dnsmasq
 
Par rapport à la V1.9, les évolutions majeures sont les suivantes :
- utilisation de 'dnsmasq' en lieu est place du DNS 'bind' et du serveur 'dhcpd'
- intégration du filtrage de domaine via dnsmasq (black hole). Le filtrage d'URL reste effectué par Dansguardian
- possibilité de choisir les catégories de filtrage
- accès au centre de contrôle d'ALCASAR (ACC) après authentification
- dernière version de dansguardian, coova et havp
- exploitation des CSS (nouveau look)
- prise en compte des dysfonctionnements du réseau local dans la page d'interception
- uniformisation de l'appel des scripts interne
Par rapport à la V2.0.1, les évolutions majeures sont les suivantes :
- amelioration de la fonction bastion (prise en compte du flooding)
- mise en conformité du pare feu par rapport aux préconisations ANSSI (politique OUTPUT à DROP)
- prise en compte des exceptions au filtrage
- prise en compte de la fonction "safesearch"
- optimisation de la fonction "antivirus" (travail en mémoire plutôt que sur le disque)
- journalisation multi-fichiers afin d'améliorer la discrimination des traces
- prise en compte de l'arret système (évènements ACPI)
- relooking des pages d'interception et d'accueil (CSS3)
- intégration d'ajax dans la fenêtre de status
- ajout de la fonction "voucher" avec impression d'un ticket de session
- amélioration de la fonction "mise à jour"
- amélioration des téléchargements RPM ('wget' au lieu de 'curl')
- suppression de toutes les références à l'adresse IP (référence au nom d'hôte 'alcasar')
/web/acc/alcasar-2.0-installation.pdf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/web/acc/alcasar-2.0-presentation.pdf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/web/acc/alcasar-2.0-exploitation.pdf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/web/acc/alcasar-2.1-presentation.pdf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/web/acc/admin/net_filter.php
204,7 → 204,7
while (!feof($pointeur))
{
$ligne = fgets($pointeur);
if (preg_match('/^FILTERING="yes"/', $ligne, $r))
if (preg_match('/^PROTO_FILTERING="yes"/', $ligne, $r))
{
$result = True ;
break;
/web/acc/admin/auth_exceptions.php
27,6 → 27,7
$l_trusted_mac_info = "Information équipement";
$l_trusted_mac_del = "Supprimer de la liste";
$l_submit = "Enregistrer";
$l_submit2 = "Appliquer";
$l_add_to_list = "Ajouter";
}
else {
43,6 → 44,7
$l_trusted_mac_info = "Equipment information";
$l_trusted_mac_del = "Delete from list";
$l_submit = "Submit";
$l_submit2 = "Apply";
$l_add_to_list = "Add";
}
if (isset($_POST['choix'])){
261,7 → 263,7
if ($display_form)
{
echo "<input type='hidden' name='choix' value='del_mac'>";
echo "<input type='submit' value='$l_submit'>";
echo "<input type='submit' value='$l_submit2'>";
}
echo "</form></td><td valign='middle' align='center'>";
echo "<FORM action='$_SERVER[PHP_SELF]' method='POST'>";
/web/acc/admin/filter_exceptions.php
59,26 → 59,7
{
exec ("sudo service dansguardian restart");
}
// test si filtrage réseau activé
$pointeur = fopen("/usr/local/bin/alcasar-iptables.sh", "r");
$result = False ;
if ($pointeur)
{
while (!feof($pointeur))
{
$ligne = fgets($pointeur);
if (preg_match('/^FILTERING="yes"/', $ligne, $r))
{
$result = True ;
break;
}
}
}
fclose($pointeur);
if ($result)
{
exec ("sudo /usr/local/sbin/alcasar-nf.sh -on");
}
exec ("sudo /usr/local/sbin/alcasar-nf.sh -on");
break;
}
}
/web/acc/alcasar-2.1-exploitation.pdf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/web/acc/menu.php
116,11 → 116,11
<tr bgcolor="#666666"><td>
<TABLE width="100%" border=0 cellspacing=0 cellpadding=2>
<tr><td valign="middle" align="left"><img src="/images/right.gif" height=10
width=10 border=no nosave><a href="alcasar-2.0-presentation.pdf" target="_blank">Présentation</a></td></tr>
width=10 border=no nosave><a href="alcasar-2.1-presentation.pdf" target="_blank">Présentation</a></td></tr>
<tr><td valign="middle" align="left"><img src="/images/right.gif" height=10
width=10 border=no nosave><a href="alcasar-2.0-installation.pdf" target="_blank">Installation</a></td></tr>
width=10 border=no nosave><a href="alcasar-2.1-installation.pdf" target="_blank">Installation</a></td></tr>
<tr><td valign="middle" align="left"><img src="/images/right.gif" height=10
width=10 border=no nosave><a href="alcasar-2.0-exploitation.pdf" target="_blank">Exploitation</a></td></tr>
width=10 border=no nosave><a href="alcasar-2.1-exploitation.pdf" target="_blank">Exploitation</a></td></tr>
</TABLE>
</td></tr>
</TABLE>
/web/acc/alcasar-2.1-installation.pdf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property