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)

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/
562,563c562,564
< HOST_IP=$(ip -o addr show dev $INTERFACE primary scope global | \
<           sed -n 's;.*inet \([^/]*\)/.*;\1;p' | head -1)
---
> HOST_IP=$(ip -4 -o addr show primary scope global dev "$INTERFACE" | \
>           awk '$3 == "inet" {split($4,i,"/"); print i[1]; exit}')
> 

Reply via email to