Anomalie #7154
Problème dans le script de mises à jour des blacklists
Description
Dans la version 2.3 du script /usr/share/eole/Maj-blacklist.sh, si le test
TestService "Test de $ServBlacklist" "${ServBlacklist}:80" 2>&1
echoue (ce qui est le cas dans certains réseaux de collectivités ou le port 80 est filtré et les connexions doivent passer par un proxy père), le script sort et les maj des blacklists ne se font jamais
En 2.2 cela était bien géré car si le test échoue le script ne se sort pas et le téléchargement des listes se fait quand même en utilisant le proxy pere ou celui d'Amon
Associated revisions
Passage du proxy en option à wget si déclaré
fixes #7154 @1h
FonctionsEoleNg : prise en compte proxy_client pour TestWeb
ref #7154 @2h
Maj-blacklist.sh : Remplacement TestService par TestWeb
fixes #7154 @2h
FonctionsEoleNg - TestWeb : return 0 inutile au milieu de la fonction
ref #7154 @10m
diagnose.sh : report des modif 2.3 sur le fonction TestWeb
ref #7154 @15m
History
#1 Updated by Joël Cuissinat over 9 years ago
- Status changed from Nouveau to En attente d'informations
- Estimated time set to 1.00 h
Même en déclarant le proxy dans gen_config -> général -> Utiliser un proxy ?
Chez moi, ça donne :
root@amon:~# /usr/share/eole/Maj-blacklist.sh Utilisation du Proxy : http://192.168.232.3:3128 . Serveur Proxy => Ok . Test de eole.orion.education.fr => Ok Téléchargement des bases Rien à faire pour blacklists.tar.gz Rien à faire pour le fichier weighted
#2 Updated by Joël Cuissinat over 9 years ago
Visiblement TestService (tcpcheck) ne prend pas en compte la variable http_proxy.
Une autre fonction de FonctionsEoleNg comme TestHTTPPage pourrait être utilisée à la place.
#3 Updated by Jean-Marc MELET over 9 years ago
En remplaçant la fonction TestService par TestHTTPPage tel quel dans le script, le proxy n'a toujours pas l'air d'être pris en compte dans le test de connexion au serveur (nous sommes sur un réseau qui nous oblige de passer par un proxy pere pour sortir et le résultat de la commande est une erreur:
root@amon.lyc-eiffel.local:~# export http_proxy=http://proxy.sherpaa.net:8181 root@amon.lyc-eiffel.local:~# echo $http_proxy http://proxy.sherpaa.net:8181 root@amon.lyc-eiffel.local:~# TestHTTPPage "Test" "www.free.fr:80" . Test => Erreur root@amon.lyc-eiffel.local:~# echo $? 0
Par contre au final la mise à jour des bases fonctionne car le code de retour de la commande TestHTTPPage est 0 et donc le script ne sort pas via la fonction FatalError() comme c'est le cas avec TestService
Au final ça regle notre problème mais je pense que ça serait bien que le proxy soit vraiment pris en compte dans le test
#4 Updated by Joël Cuissinat over 9 years ago
- Project changed from Amon to eole-proxy
- Target version set to Mises à jour 2.3.13
- Estimated time changed from 1.00 h to 2.00 h
#5 Updated by Jean-Marc MELET over 9 years ago
Rectification: cela fonctionne si le script est lançé manuellement mais pas via eole-schedule (le code de retour de TestHTTPage semble être différent dans les 2 cas ?!)
#6 Updated by Jean-Marc MELET over 9 years ago
J'en profite pour signaler que l'on ne peut pas utiliser wget sur
echo "$url_maj_blacklist" |awk -F "/" '{print $3}'c'est à dire sur "http://eole.orion.education.fr"
Je dis ça car nous voulions utiliser TestWeb au lieu de TestService pour la prise en compte du proxy mais le test échoue puisque TestWeb utilise wget et que le serveur web "http://eole.orion.education.fr" n'autorise pas le user agent de wget à faire une requete sur la racine du site.
#7 Updated by Luc Bourdot over 9 years ago
- Status changed from En attente d'informations to Accepté
Je pense qu'il faut utiliser l'url complète et pas la racine.
#8 Updated by Daniel Dehennin over 9 years ago
Luc Bourdot a écrit :
Je pense qu'il faut utiliser l'url complète et pas la racine.
+1
L’accès à http://eole.orion.education.fr ne garantie pas l’accès à http://eole.orion.education.fr/maj/blacklists si des reverses proxy sont de la partie.
#9 Updated by Fabrice Barconnière over 9 years ago
- Due date set to 03/21/2014
#10 Updated by Fabrice Barconnière over 9 years ago
- Status changed from Accepté to Résolu
- % Done changed from 0 to 100
Appliqué par commit 83578d83173b77aa18a927fe764d76efc75410f0.
#11 Updated by Jean-Marc MELET over 9 years ago
Merci mais le problème n'est pas sur la prise en compte du proxy par wget puisque le proxy est déclaré par export http_proxy et wget sait l'utiliser. Le problème initial est que
TestService "Test de $ServBlacklist" "${ServBlacklist}:80" 2>&1
echoue dans le cas ou le passage par un proxy pere est obligatoire car la fonction TestService ne sait pas utiliser http_proxy et donc le script sort sur Fatalerror() et les bases ne sont pas mises à jour.
Pour info nous avons palié au problème en remplaçant
TestService "Test de $ServBlacklist" "${ServBlacklist}:80" 2>&1
par
TestWeb "Test de $ServBlacklist" "${url_maj_blacklist}" 2>&1
Le remplacement de ${ServBlacklist}:80 par ${url_maj_blacklist} vient du fait que wget (et donc TestWeb) n'aboutit pas sur la racine de l'URL http://eole.orion.education.fr comme exposé précédemment
#12 Updated by Fabrice Barconnière over 9 years ago
Appliqué par commit 00f527b276001924727803ebcc33b070e15a2f33.
#13 Updated by Joël Cuissinat over 9 years ago
- Assigned To set to Fabrice Barconnière
#14 Updated by Daniel Dehennin over 9 years ago
- Status changed from Résolu to Fermé
Utilisation de TestWeb
.