Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 03 Sep 2001 21:11:27 +0100
From:      Brian Somers <brian@Awfulhak.org>
To:        Shunsuke SHINOMIYA <s-shino@kt.rim.or.jp>
Cc:        freebsd-bugs@freebsd.org, freebsd-stable@freebsd.org, re@freebsd.org, snap-users@kame.net
Subject:   Re: user-ppp assigns the address same with already assigned for other clients 
Message-ID:  <200109032011.f83KBRj24419@hak.lan.Awfulhak.org>
In-Reply-To: Message from Shunsuke SHINOMIYA <s-shino@kt.rim.or.jp>  of "Sun, 02 Sep 2001 22:18:25 %2B0900." <20010902213719.968A.S-SHINO@kt.rim.or.jp> 

next in thread | previous in thread | raw e-mail | index | archive | help
I've cc'd snap-users@kame.net in case someone can come up with a 
quick fix (FreeBSD is about to be released, and this bug has just 
been exposed)....

>  Dear sir,
> 
>  I noticed while building the PPTP server with FreeBSD 4.4-RC, user-ppp
> seems that it assigns already assigned address for other clients.
> 
>  It checked by 4.4-RC-20010825-JPSNAP.
> 
>  For example, pptpd(PoPToP) running with user-ppp(ppp.conf contains the
> following), and one client has already connected. Other client make
> connections and user-ppp assigns the same address of already connected
> by high probability, and it becomes impossible communicate normally.
> 
> >  set log Phase IPCP
> > 
> >  set ifaddr 192.168.1.1 192.168.1.64-192.168.1.65 255.255.255.255
> >  accept dns
> >  set dns 192.168.1.1
> >  set timeout 0
> > 
> >  disable PAP CHAP MSCHAP
> >  enable MSCHAPv2
> >  disable deflate pred1
> >  deny deflate pred1
> > 
> >  set mppe 128 stateless
> >  enable mppe

This is very bad.  This will break most ppp server setups that 
allocate IP numbers on demand.

Taking a quick look, I can only *guess* that this has been caused by 
one of the recent kame MFCs, as the SIOCAIFADDR ioctl() (that ppp uses 
to assign the addresses, and expects to fail for duplicates) is now 
implemented in the kernel by using SIOCAIFADDR_IN6 (the ipv6-capable 
implementation).

I'll try to get a chance to look at it in the next day or two.

For anyone that may be able to help, I've attached a couple of ppp 
config entries.  Running ``ppp loop'' and typing ``open'' in two 
different screens will show the problem -- four interfaces are 
configured, two pairs of duplicates.

>  Thanks.
> 
> 
>                                          / Shunsuke Shinomiya /
>                                         /s-shino@kt.rim.or.jp/

Cheers.
-- 
Brian <brian@freebsd-services.com>                <brian@Awfulhak.org>
      http://www.freebsd-services.com/        <brian@[uk.]FreeBSD.org>
Don't _EVER_ lose your sense of humour !      <brian@[uk.]OpenBSD.org>


loop:
 set timeout 0
 set device "!ppp -direct loop-in"
 set dial
 set login
 set log
 set ifaddr 10.2.0.1/24 10.1.0.1-10.1.0.2 
 
loop-in:   
 set timeout 0
 set log
 set ifaddr 10.1.0.1/24 10.2.0.1-10.2.0.2 



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200109032011.f83KBRj24419>