[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug ifup 0.7alpha (experimental) était Re: Souci avec ifup)



On Sun, 22 Aug 2010 18:00:02 +0200
Pascal Hambourg <pascal.mail@plouf.fr.eu.org> wrote:


> Je ne sais pas dans sid, mais dans lenny les clients DHCP sont appelés
> directement depuis l'exécutable ifup.
> 
> $ strings /sbin/ifup | grep dhclient

Oui, c'est bien ça aussi. ça me semble un a priori un peu moisi, mais
bon....


Et l'appel se fait apparemment ainsi :

dhclient -e -pf /var/run/dhclient.%iface%.pid
-lf /var/lib/dhcp/dhclient.%iface%.leases %iface%

Bon j'avance :
Dans la version 0.6.5 de ifupdown ifup et ifdown sont un même
programme. Ce n'est pas le cas avec la version 0.7alpha.  La
version 0.6.5 communique correctement avec isc-dhclient-4.1.1-P1

Les appels dans la version 0.6.5 sont fait ainsi :
dhclient -v -pf /var/run/dhclient.%iface%.pid
-lf /var/lib/dhcp/dhclient.%iface%.leases %iface%

Si je lance : 

# dhclient -e -pf /var/run/dhclient.eth0.pid
-lf /var/lib/dhcp/dhclient.eth0.leases eth0 

Je reproduis l'erreur :

/var/run/dhclient.eth0.pid:
interface name too long (is 26)

Ce "-e" tout seul ne me dit rien qui vaille :

Usage: dhclient [-4|-6] [-SNTP1dvrx] [-nw] [-p <port>] [-s server]
                [-cf config-file] [-lf lease-file][-pf pid-file] [-e
VAR=val] [-sf script-file] [interface]

Effectivement sans le -e ça passe. Et en remplaçant e par v c'est
encore mieux. dhclient ne bronche pas, bien que "-pf" ne ressemble pas
du tout à VAR=VAL et prend logiquement l'argument suivant pour
<interface> et plante. Les versions antérieures de isc-dhclient
regimbaient un peu plus  (Cf bug #242537)


Dans la version 0.6.5 de ifupdown ifup et ifdown sont aparamment un même
programme. Ce n'est pas le cas avec la version 0.7alpha.  La
version 0.6.5 communique bien avec isc-dhclient-4.1.1-P1

Les appels dans la version 0.6.5 sont fait ainsi :
dhclient -v -pf /var/run/dhclient.%iface%.pid
-lf /var/lib/dhcp/dhclient.%iface%.leases %iface%

avec l'appel (obsolète) à dhclient3 qui est fait aussi dans la version
0.7

En parcourant le bug #242537 (de 2004 (!)) il semblerait que ce  n'est
pas une typo, mais un parti pris - bref ifup ne donctionne pas avec
isc-dhclient-4.1.1-P1 pas plus qu'il ne fonctionnait avec
isc-dhclient-3.0.0_beta

Typo ou pas typo ce "-e" tout seul ne me semble pas catholique.


Excusez moi je suis assez cancre, voici un diff unifié bref je ne fais 
qu'à moitié le boulot. Pour une fois que j'ai un patch pour un bug que
je trouve :) par la même occasion mon patch vire les appels à dhclient3
vu que les versiosn testing et unstable de dhcp3-client ne fournissent
plus /sbin/dhclient3, et l'appel à ce script est obsolète). Je publie
ceci pour avis et conseil sur la liste/le forum
linux.debian.devel.french avant de remplir le bug sur le bts...

diff -u -w inet.defn.orig inet.defn
--- inet.defn.orig	2010-08-22 22:16:56.000000000 +0200
+++ inet.defn	2010-08-22 22:18:35.000000000 +0200
@@ -71,10 +71,8 @@
 
   up
     [[ip link set dev %iface% address %hwaddress%]]
-    dhclient3 -pf /var/run/dhclient.%iface%.pid
-lf /var/lib/dhcp3/dhclient.%iface%.leases %iface% \
-        if (execable("/sbin/dhclient3"))
-    dhclient -e -pf /var/run/dhclient.%iface%.pid
-lf /var/lib/dhcp/dhclient.%iface%.leases %iface% \
-        elsif (execable("/sbin/dhclient"))
+    dhclient -v -pf /var/run/dhclient.%iface%.pid
-lf /var/lib/dhcp/dhclient.%iface%.leases %iface% \
+        if (execable("/sbin/dhclient"))
     pump -i %iface% [[-h %hostname%]] [[-l %leasehours%]] \
         elsif (execable("/sbin/pump") && mylinuxver() >=
mylinux(2,1,100))
     udhcpc -n -p /var/run/udhcpc.%iface%.pid -i %iface% [[-H
%hostname%]] \
@@ -85,10 +83,8 @@
         elsif (execable("/sbin/dhcpcd"))
 
   down
-    dhclient3 -r -pf /var/run/dhclient.%iface%.pid
-lf /var/lib/dhcp3/dhclient.%iface%.leases %iface% \
-        if (execable("/sbin/dhclient3"))
     cat /var/run/dhclient.%iface%.pid | xargs -i kill -TERM {} \
-        elsif (execable("/sbin/dhclient"))
+        if (execable("/sbin/dhclient"))
     pump -i %iface% -r \
         elsif (execable("/sbin/pump") && mylinuxver() >=
mylinux(2,1,100))
     cat /var/run/udhcpc.%iface%.pid | xargs -i kill -TERM {} \

-- 
J'ai souvent remarqué, pour ma part, que les cocus épousent de 
préférence les femmes adultères. 
	-+- Alphonse Allais -+-


Reply to: