[Admin-ml] curl et l'authentification...

Piel Jayce jayce at mosx.org
Sam 19 Avr 08:29:17 CEST 2008


Le 18 avr. 08 à 15:23, Piel Jayce a écrit :
> curl est effectivement passé de la 7.13.1 à la 7.16.3 et j'imagine  
> que le problème vient de là.
>
> Quelqu'un saurait pourquoi l'authentification ne marche plus pareil  
> et si y'a moyen de retrouver les fonctionnalités d'avant ?
>
> Ou alors il va falloir que je me recompile une ancienne version,  
> mais ça me plait moyen.... :-/


Bon, j'ai recompilé la dernire version sans options particulières (mis  
à part la destination) et ça marche...
Je laisse donc ma version compilée dans mon ~/bin et j'utilise celle- 
là dans mon script...

Juste pour faire partager les connaissances, le script en question me  
sert à récupérer l'adresse dynamique d'une de mes interfaces WAN au  
boulot (l'autre est en IP fixe) pour régler temporairement un problème  
de relais de messagerie.
En fait, comme cette deuxième interface est en IP dynamique, si la  
première tombe, je ne peux pas envoyer de mails directement. En  
attendant de trover une solution plus sûr est pour être sûr de ne pas  
avoir de problème pendant mes vacances sans internet, j'ai mis  
smtp.mosx.org comme serveur de relais. Mais sur mosx.org il fallait  
que je connaisse l'IP dynamique de ma deuxième connexion pour pouvoir  
accepter de relayer pour elle.

Voici donc le script que je lance toutes les 10mn...
(j'ai bien sûr fait une copie du main.cf en main.cf.orig avant toute  
chose)

#!/bin/sh

MACNOOS=00-0E-DB-00-28-E5
ROUTEUR=adresserouteur.dyndns.org:port
LOGFILE=${0}.log
CACHEFILE=${0}.ip
[ -f "$CACHEFILE" ] || touch "$CACHEFILE"

IPFFTIR=$($HOME/bin/curl -u "user:password" http://${ROUTEUR}/ 
netstat.htm 2>/dev/null |grep "${MACNOOS}" |cut -f7 -d: |cut -f2 -d\')

  MYCACHE=$(cat $CACHEFILE)
  [ "$MYCACHE" = "$IPFFTIR" ] || {
    echo "IP Changed" >> "$LOGFILE"
    echo "$(date) - New IP Noos : " $IPFFTIR >> "$LOGFILE"
    echo "$IPFFTIR" > $CACHEFILE
    LINE=$(grep "^mynetworks =" /etc/postfix/main.cf |sed "s/, 
$MYCACHE//")
    [ -z "$IPFFTIR" ] && IPFFTIR="0.0.0.0"
    if [ "$IPFFTIR" = "0.0.0.0" ]
    then
      NEWLINE="${LINE}"
    else
      NEWLINE="${LINE},$IPFFTIR"
    fi
    echo "$NEWLINE" >> "$LOGFILE"
    cp /etc/postfix/main.cf /etc/postfix/main.cf.bak
    grep -v "^mynetworks =" /etc/postfix/main.cf.bak > /etc/postfix/ 
main.cf
    echo "${NEWLINE}" >> /etc/postfix/main.cf
    /usr/sbin/postfix reload
  }

-- 
Jayce Piel
MosX.org
la renaissance.....




Plus d'informations sur la liste de diffusion Admin-ml