I've cc'd [EMAIL PROTECTED] 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 /
>                                         [EMAIL PROTECTED]/

Cheers.
-- 
Brian <[EMAIL PROTECTED]>                <[EMAIL PROTECTED]>
      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 [EMAIL PROTECTED]
with "unsubscribe freebsd-stable" in the body of the message

Reply via email to