Hi Stefan

Thanks a lot for the description and the fix. Please try the new attached 
version to see if that
works for you.

On Sat, Aug 01, 2009 at 12:50:52AM +0200, Stefan Tomanek wrote:
> Package: vserver-debiantools
> Version: 0.6.3
> Severity: normal
> File: /usr/sbin/newvserver
> Tags: patch
> 
> When installing a new vserver with newvserver, the script copies the
> file /etc/resolv.conf from the host to the installation directory.
> It tries to replace the loopback address "127.0.0.1" in that file with
> the real address of the server, however it fails to identify this address
> in some situations.
> 
> These lines (561ff) are used to obtain the ip address:
> 
> # grab DNS servers from the host-server for `resolv.conf'
> HOST_IP=$(ip -o addr show dev $INTERFACE primary scope global | \
>           sed -n 's;.*inet \([^/]*\)/.*;\1;p' | head -1)
> 
> The code failes to correctly extract the address when it is run on a host
> configured with a pointopoint connection (/32), since "ip addr" does not show
> a "/" at the position expected:
> 
> ste...@zirkel:~$ ip -o addr show dev eth0 primary scope global
> 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state 
> UNKNOWN qlen 1000\    link/ether 00:24:21:57:33:76 brd ff:ff:ff:ff:ff:ff
> 2: eth0    inet 188.40.44.137 peer 188.40.44.129/32 brd 188.40.255.255 scope 
> global eth0
> 
> As you can see, the prefix length does not appear directly at the configured 
> address,
> but at the peer address. Using newvserver on such a system results in a 
> rather strange
> /etc/resolv.conf:
> 
> nameserver 188.40.44.137 peer 188.40.44.129
> 
> I propose replacing the ip/sed-call with the following call:
> 
> HOST_IP=$(ip -4 -o addr show primary scope global dev "$INTERFACE"| \
>           awk '$3 == "inet" {split($4,i,"/"); print i[1]; exit}')
> 
> The scripts supplied by XEN do have the same issue, see #437127 for
> more details (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=437127)

Good to know that I'm not alone. :-)

Best regards,

// Ola

> Sincerly
> Stefan Tomanek
> 
> -- System Information:
> Debian Release: 5.0.2
>   APT prefers stable
>   APT policy: (990, 'stable')
> Architecture: amd64 (x86_64)
> 
> Kernel: Linux 2.6.26-2-vserver-amd64 (SMP w/8 CPU cores)
> Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/bash
> 
> Versions of packages vserver-debiantools depends on:
> ii  binutils            2.18.1~cvs20080103-7 The GNU assembler, linker and 
> bina
> ii  debootstrap         1.0.10lenny1         Bootstrap a basic Debian system
> ii  iproute             20080725-2           networking and traffic control 
> too
> ii  rsync               3.0.6-1~bpo50+1      fast remote file copy program 
> (lik
> ii  util-vserver        0.30.216~r2772-6     user-space tools for 
> Linux-VServer
> 
> Versions of packages vserver-debiantools recommends:
> ii  dnsutils               1:9.5.1.dfsg.P3-1 Clients provided with BIND
> 
> vserver-debiantools suggests no packages.
> 
> -- no debconf information
> 
> -- 
> ste...@pico.ruhr.de
> GPG available and welcome
> http://stefans.datenbruch.de/



-- 
 --------------------- Ola Lundqvist ---------------------------
/  o...@debian.org                     Annebergsslingan 37      \
|  o...@inguza.com                      654 65 KARLSTAD          |
|  http://inguza.com/                  +46 (0)70-332 1551       |
\  gpg/f.p.: 7090 A92B 18FE 7994 0C36  4FE4 18A1 B1CF 0FE5 3DD9 /
 ---------------------------------------------------------------

Attachment: newvserver.sh
Description: Bourne shell script

Reply via email to