Re: npppd with tun interface not work on i386?

2013-01-31 Thread csszep
Thx

It works as expected.


2013/1/31 YASUOKA Masahiko yasu...@yasuoka.net:
 Hi,

 On Tue, 29 Jan 2013 20:20:24 +0100
 csszep css...@gmail.com wrote:
 I tried to start npppd with the default config with tun0 interface on
 my Alix board:

 I get the following error message:

 # npppd -d
 2013-01-29 19:54:38:NOTICE: Starting npppd pid=13464 version=5.0.0
 2013-01-29 19:54:38:NOTICE: Load configuration
 from='/etc/npppd/npppd.conf' successfully.
 2013-01-29 19:54:38:ERR: tun0 delete ipaddress tun0 failed: Device not
 configured

 This was from a bug.  I fixed it on cvs.  Please update your source
 code from cvs or apply a patch below.

 Thank you for your report.

 Index: privsep.c
 ===
 RCS file: /cvs/src/usr.sbin/npppd/npppd/privsep.c,v
 retrieving revision 1.7
 diff -u -p -r1.7 privsep.c
 --- privsep.c   28 Sep 2012 23:46:00 -  1.7
 +++ privsep.c   31 Jan 2013 02:03:36 -
 @@ -463,7 +463,7 @@ priv_get_if_addr(const char *ifname, str
 struct PRIVSEP_GET_IF_ADDR_RESP  r;

 a.cmd = PRIVSEP_GET_IF_ADDR;
 -   strlcpy(a.ifname, ifname, sizeof(ifname));
 +   strlcpy(a.ifname, ifname, sizeof(a.ifname));
 if ((retval = send(privsep_sock, a, sizeof(a), 0))  0)
 return retval;
 if ((retval = recv(privsep_sock, r, sizeof(r), 0))  0) {
 @@ -488,7 +488,7 @@ priv_delete_if_addr(const char *ifname)
 struct PRIVSEP_DEL_IF_ADDR_ARG   a;

 a.cmd = PRIVSEP_DEL_IF_ADDR;
 -   strlcpy(a.ifname, ifname, sizeof(ifname));
 +   strlcpy(a.ifname, ifname, sizeof(a.ifname));
 if ((retval = send(privsep_sock, a, sizeof(a), 0))  0)
 return retval;
 retval = privsep_common_resp();
 @@ -503,7 +503,7 @@ priv_set_if_addr(const char *ifname, str
 struct PRIVSEP_SET_IF_ADDR_ARG   a;

 a.cmd = PRIVSEP_SET_IF_ADDR;
 -   strlcpy(a.ifname, ifname, sizeof(ifname));
 +   strlcpy(a.ifname, ifname, sizeof(a.ifname));
 a.addr = *addr;
 if ((retval = send(privsep_sock, a, sizeof(a), 0))  0)
 return retval;
 @@ -519,7 +519,7 @@ priv_get_if_flags(const char *ifname, in
 struct PRIVSEP_GET_IF_FLAGS_RESP  r;

 a.cmd = PRIVSEP_GET_IF_FLAGS;
 -   strlcpy(a.ifname, ifname, sizeof(ifname));
 +   strlcpy(a.ifname, ifname, sizeof(a.ifname));
 if ((retval = send(privsep_sock, a, sizeof(a), 0))  0)
 return retval;
 if ((retval = recv(privsep_sock, r, sizeof(r), 0))  0) {
 @@ -543,7 +543,7 @@ priv_set_if_flags(const char *ifname, in
 struct PRIVSEP_SET_IF_FLAGS_ARG   a;

 a.cmd = PRIVSEP_SET_IF_FLAGS;
 -   strlcpy(a.ifname, ifname, sizeof(ifname));
 +   strlcpy(a.ifname, ifname, sizeof(a.ifname));
 a.flags = flags;
 if ((retval = send(privsep_sock, a, sizeof(a), 0))  0)
 return retval;



Re: npppd with tun interface not work on i386?

2013-01-30 Thread YASUOKA Masahiko
Hi,

On Tue, 29 Jan 2013 20:20:24 +0100
csszep css...@gmail.com wrote:
 I tried to start npppd with the default config with tun0 interface on
 my Alix board:
 
 I get the following error message:
 
 # npppd -d
 2013-01-29 19:54:38:NOTICE: Starting npppd pid=13464 version=5.0.0
 2013-01-29 19:54:38:NOTICE: Load configuration
 from='/etc/npppd/npppd.conf' successfully.
 2013-01-29 19:54:38:ERR: tun0 delete ipaddress tun0 failed: Device not
 configured

This was from a bug.  I fixed it on cvs.  Please update your source
code from cvs or apply a patch below.

Thank you for your report.

Index: privsep.c
===
RCS file: /cvs/src/usr.sbin/npppd/npppd/privsep.c,v
retrieving revision 1.7
diff -u -p -r1.7 privsep.c
--- privsep.c   28 Sep 2012 23:46:00 -  1.7
+++ privsep.c   31 Jan 2013 02:03:36 -
@@ -463,7 +463,7 @@ priv_get_if_addr(const char *ifname, str
struct PRIVSEP_GET_IF_ADDR_RESP  r;
 
a.cmd = PRIVSEP_GET_IF_ADDR;
-   strlcpy(a.ifname, ifname, sizeof(ifname));
+   strlcpy(a.ifname, ifname, sizeof(a.ifname));
if ((retval = send(privsep_sock, a, sizeof(a), 0))  0)
return retval;
if ((retval = recv(privsep_sock, r, sizeof(r), 0))  0) {
@@ -488,7 +488,7 @@ priv_delete_if_addr(const char *ifname)
struct PRIVSEP_DEL_IF_ADDR_ARG   a;
 
a.cmd = PRIVSEP_DEL_IF_ADDR;
-   strlcpy(a.ifname, ifname, sizeof(ifname));
+   strlcpy(a.ifname, ifname, sizeof(a.ifname));
if ((retval = send(privsep_sock, a, sizeof(a), 0))  0)
return retval;
retval = privsep_common_resp();
@@ -503,7 +503,7 @@ priv_set_if_addr(const char *ifname, str
struct PRIVSEP_SET_IF_ADDR_ARG   a;
 
a.cmd = PRIVSEP_SET_IF_ADDR;
-   strlcpy(a.ifname, ifname, sizeof(ifname));
+   strlcpy(a.ifname, ifname, sizeof(a.ifname));
a.addr = *addr;
if ((retval = send(privsep_sock, a, sizeof(a), 0))  0)
return retval;
@@ -519,7 +519,7 @@ priv_get_if_flags(const char *ifname, in
struct PRIVSEP_GET_IF_FLAGS_RESP  r;
 
a.cmd = PRIVSEP_GET_IF_FLAGS;
-   strlcpy(a.ifname, ifname, sizeof(ifname));
+   strlcpy(a.ifname, ifname, sizeof(a.ifname));
if ((retval = send(privsep_sock, a, sizeof(a), 0))  0)
return retval;
if ((retval = recv(privsep_sock, r, sizeof(r), 0))  0) {
@@ -543,7 +543,7 @@ priv_set_if_flags(const char *ifname, in
struct PRIVSEP_SET_IF_FLAGS_ARG   a;
 
a.cmd = PRIVSEP_SET_IF_FLAGS;
-   strlcpy(a.ifname, ifname, sizeof(ifname));
+   strlcpy(a.ifname, ifname, sizeof(a.ifname));
a.flags = flags;
if ((retval = send(privsep_sock, a, sizeof(a), 0))  0)
return retval;



npppd with tun interface not work on i386?

2013-01-29 Thread csszep
Hello Misc!

I tried to start npppd with the default config with tun0 interface on
my Alix board:

I get the following error message:

# npppd -d
2013-01-29 19:54:38:NOTICE: Starting npppd pid=13464 version=5.0.0
2013-01-29 19:54:38:NOTICE: Load configuration
from='/etc/npppd/npppd.conf' successfully.
2013-01-29 19:54:38:ERR: tun0 delete ipaddress tun0 failed: Device not
configured

jan 21 amd64 snapshot vmware machine works:

# npppd -d
2013-01-29 19:59:21:NOTICE: Starting npppd pid=18398 version=5.0.0
2013-01-29 19:59:21:NOTICE: Load configuration
from='/etc/npppd/npppd.conf' successfully.
2013-01-29 19:59:21:INFO: tun0 Started ip4addr=10.0.0.1
2013-01-29 19:59:21:INFO: Listening /var/run/npppd_ctl (npppd_ctl)
2013-01-29 19:59:21:INFO: ipcp=IPCP pool
dyn_pool=[10.0.0.2/31,10.0.0.4/30,10.0.0.8/29,10.0.0.16/28,10.0.0.32/27,10.0.0.64/26,10.0.0.128/26,10.0.0.192/27,10.0.0.224/28,10.0.0.240/29,10.0.0.248/30,10.0.0.252/31,10.0.0.254/32]
pool=[10.0.0.2/31,10.0.0.4/30,10.0.0.8/29,10.0.0.16/28,10.0.0.32/27,10.0.0.64/26,10.0.0.128/26,10.0.0.192/27,10.0.0.224/28,10.0.0.240/29,10.0.0.248/30,10.0.0.252/31,10.0.0.254/32]
2013-01-29 19:59:21:INFO: Added 13 routes for new pool addresses
2013-01-29 19:59:21:INFO: Loading pool config successfully.
2013-01-29 19:59:21:INFO: l2tpd Listening 0.0.0.0:1701/udp (L2TP LNS)
[L2TP_ipv4]
2013-01-29 19:59:21:INFO: l2tpd Listening [::]:1701/udp (L2TP LNS) [L2TP_ipv6]


Config:

authentication LOCAL type local {
users-file /etc/npppd/npppd-users
}

tunnel L2TP_ipv4 protocol l2tp {
listen on 0.0.0.0
}
tunnel L2TP_ipv6 protocol l2tp {
listen on ::
}

ipcp IPCP {
pool-address 10.0.0.2-10.0.0.254
dns-servers 8.8.8.8
}

# use tun(4) interface.  multiple ppp sessions concentrate one interface.
interface tun0 address 10.0.0.1 ipcp IPCP
bind tunnel from L2TP_ipv4 authenticated by LOCAL to tun0
bind tunnel from L2TP_ipv6 authenticated by LOCAL to tun0

Dmesg:

OpenBSD 5.2-current (GENERIC) #19: Mon Jan 21 17:55:18 MST 2013
t...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Geode(TM) Integrated Processor by AMD PCS (AuthenticAMD
586-class) 499 MHz
cpu0: FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CFLUSH,MMX,MMXX,3DNOW2,3DNOW
real mem  = 267976704 (255MB)
avail mem = 252608512 (240MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 11/05/08, BIOS32 rev. 0 @ 0xfd088
pcibios0 at bios0: rev 2.1 @ 0xf/0x1
pcibios0: pcibios_get_intr_routing - function not supported
pcibios0: PCI IRQ Routing information unavailable.
pcibios0: PCI bus #0 is the last bus
bios0: ROM list: 0xe/0xa800
cpu0 at mainbus0: (uniprocessor)
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 1 function 0 AMD Geode LX rev 0x33
glxsb0 at pci0 dev 1 function 2 AMD Geode LX Crypto rev 0x00: RNG AES
vr0 at pci0 dev 9 function 0 VIA VT6105M RhineIII rev 0x96: irq 10,
address 00:0d:b9:16:5e:e0
ukphy0 at vr0 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI
0x004063, model 0x0034
vr1 at pci0 dev 10 function 0 VIA VT6105M RhineIII rev 0x96: irq 11,
address 00:0d:b9:16:5e:e1
ukphy1 at vr1 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI
0x004063, model 0x0034
vr2 at pci0 dev 11 function 0 VIA VT6105M RhineIII rev 0x96: irq 15,
address 00:0d:b9:16:5e:e2
ukphy2 at vr2 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI
0x004063, model 0x0034
athn0 at pci0 dev 12 function 0 Atheros AR5416 rev 0x01: irq 9
athn0: MAC AR5416 rev 2, RF AR2133 (3T2R), ROM rev 5, address 00:21:27:cb:7a:36
glxpcib0 at pci0 dev 15 function 0 AMD CS5536 ISA rev 0x03: rev 3,
32-bit 3579545Hz timer, watchdog, gpio, i2c
gpio0 at glxpcib0: 32 pins
iic0 at glxpcib0
maxtmp0 at iic0 addr 0x4c: lm86
pciide0 at pci0 dev 15 function 2 AMD CS5536 IDE rev 0x01: DMA,
channel 0 wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0: SILICON POWER
wd0: 1-sector PIO, LBA, 3831MB, 7847280 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
pciide0: channel 1 ignored (disabled)
ohci0 at pci0 dev 15 function 4 AMD CS5536 USB rev 0x02: irq 12,
version 1.0, legacy support
ehci0 at pci0 dev 15 function 5 AMD CS5536 USB rev 0x02: irq 12
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 AMD EHCI root hub rev 2.00/1.00 addr 1
isa0 at glxpcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com0: console
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
usb1 at ohci0: USB revision 1.0
uhub1 at usb1 AMD OHCI root hub rev 1.00/1.00 addr 1
mtrr: K6-family MTRR support (2 registers)
nvram: invalid checksum
vscsi0 at root
scsibus0 at vscsi0: 256 targets
softraid0 at root
scsibus1 at softraid0: 256 targets
root on wd0a (86722b7d28b15b50.a) swap on wd0b dump on wd0b
clock: unknown CMOS layout

thx
csszep