Patchwork ppp: Fix rp-pppoe plugin compilation

login
register
mail settings
Submitter Yauhen Kharuzhy
Date Feb. 21, 2012, 2:04 p.m.
Message ID <1329833078-4502-1-git-send-email-yauhen.kharuzhy@promwad.com>
Download mbox | patch
Permalink /patch/21479/
State Accepted
Commit bc2581aff2a859b414c8097514527a9b5b0ab2a6
Headers show

Comments

Yauhen Kharuzhy - Feb. 21, 2012, 2:04 p.m.
rp-pppoe plugin was broken due linux headers changes: pppd has own copy of
if_pppol2tp.h file which is included from <linux/if_pppox.h>.

Add patch from Debian for struct pppol2tpv3_addr definition.

Signed-off-by: Yauhen Kharuzhy <yauhen.kharuzhy@promwad.com>
---
 .../ppp/ppp-2.4.5/update_if_pppol2tp.patch         |   54 ++++++++++++++++++++
 meta/recipes-connectivity/ppp/ppp_2.4.5.bb         |    3 +-
 2 files changed, 56 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-connectivity/ppp/ppp-2.4.5/update_if_pppol2tp.patch
Saul Wold - Feb. 23, 2012, 12:49 a.m.
On 02/21/2012 06:04 AM, Yauhen Kharuzhy wrote:
> rp-pppoe plugin was broken due linux headers changes: pppd has own copy of
> if_pppol2tp.h file which is included from<linux/if_pppox.h>.
>
> Add patch from Debian for struct pppol2tpv3_addr definition.
>
> Signed-off-by: Yauhen Kharuzhy<yauhen.kharuzhy@promwad.com>
> ---
>   .../ppp/ppp-2.4.5/update_if_pppol2tp.patch         |   54 ++++++++++++++++++++
>   meta/recipes-connectivity/ppp/ppp_2.4.5.bb         |    3 +-
>   2 files changed, 56 insertions(+), 1 deletions(-)
>   create mode 100644 meta/recipes-connectivity/ppp/ppp-2.4.5/update_if_pppol2tp.patch
>
> diff --git a/meta/recipes-connectivity/ppp/ppp-2.4.5/update_if_pppol2tp.patch b/meta/recipes-connectivity/ppp/ppp-2.4.5/update_if_pppol2tp.patch
> new file mode 100644
> index 0000000..e034f19
> --- /dev/null
> +++ b/meta/recipes-connectivity/ppp/ppp-2.4.5/update_if_pppol2tp.patch
> @@ -0,0 +1,54 @@
> +Upstream-Status: Pending

You should also include a Signed-off-by: in the patch itself so it can 
be traced back to someone if needed.  Also include the orignal patch 
info here if it came from some other upstream such as Debian.

Thanks
	Sau!

> +diff --git a/include/linux/if_pppol2tp.h b/include/linux/if_pppol2tp.h
> +index 4113d6a..7ee86b2 100644
> +--- a/include/linux/if_pppol2tp.h
> ++++ b/include/linux/if_pppol2tp.h
> +@@ -2,7 +2,7 @@
> +  * Linux PPP over L2TP (PPPoL2TP) Socket Implementation (RFC 2661)
> +  *
> +  * This file supplies definitions required by the PPP over L2TP driver
> +- * (pppol2tp.c).  All version information wrt this file is located in pppol2tp.c
> ++ * (l2tp_ppp.c).  All version information wrt this file is located in l2tp_ppp.c
> +  *
> +  * License:
> +  *		This program is free software; you can redistribute it and/or
> +@@ -15,14 +15,14 @@
> + #ifndef __LINUX_IF_PPPOL2TP_H
> + #define __LINUX_IF_PPPOL2TP_H
> +
> +-#include<asm/types.h>
> ++#include<linux/types.h>
> ++
> +
> + /* Structure used to connect() the socket to a particular tunnel UDP
> +  * socket.
> +  */
> +-struct pppol2tp_addr
> +-{
> +-	pid_t	pid;			/* pid that owns the fd.
> ++struct pppol2tp_addr {
> ++	__kernel_pid_t	pid;		/* pid that owns the fd.
> + 					 * 0 =>  current */
> + 	int	fd;			/* FD of UDP socket to use */
> +
> +@@ -32,6 +32,20 @@ struct pppol2tp_addr
> + 	__u16 d_tunnel, d_session;	/* For sending outgoing packets */
> + };
> +
> ++/* The L2TPv3 protocol changes tunnel and session ids from 16 to 32
> ++ * bits. So we need a different sockaddr structure.
> ++ */
> ++struct pppol2tpv3_addr {
> ++	pid_t	pid;			/* pid that owns the fd.
> ++					 * 0 =>  current */
> ++	int	fd;			/* FD of UDP or IP socket to use */
> ++
> ++	struct sockaddr_in addr;	/* IP address and port to send to */
> ++
> ++	__u32 s_tunnel, s_session;	/* For matching incoming packets */
> ++	__u32 d_tunnel, d_session;	/* For sending outgoing packets */
> ++};
> ++
> + /* Socket options:
> +  * DEBUG	- bitmask of debug message categories
> +  * SENDSEQ	- 0 =>  don't send packets with sequence numbers
> diff --git a/meta/recipes-connectivity/ppp/ppp_2.4.5.bb b/meta/recipes-connectivity/ppp/ppp_2.4.5.bb
> index 72464bf..80f91e6 100644
> --- a/meta/recipes-connectivity/ppp/ppp_2.4.5.bb
> +++ b/meta/recipes-connectivity/ppp/ppp_2.4.5.bb
> @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://pppd/ccp.c;beginline=1;endline=29;md5=e2c43fe6e81ff77
>                       file://pppd/plugins/passprompt.c;beginline=1;endline=10;md5=3bcbcdbf0e369c9a3e0b8c8275b065d8 \
>                       file://pppd/tdb.c;beginline=1;endline=27;md5=4ca3a9991b011038d085d6675ae7c4e6 \
>                       file://chat/chat.c;beginline=1;endline=15;md5=0d374b8545ee5c62d7aff1acbd38add2"
> -PR = "r2"
> +PR = "r3"
>
>   SRC_URI = "http://ppp.samba.org/ftp/ppp/ppp-${PV}.tar.gz \
>              file://makefile.patch \
> @@ -18,6 +18,7 @@ SRC_URI = "http://ppp.samba.org/ftp/ppp/ppp-${PV}.tar.gz \
>              file://pppd-resolv-varrun.patch \
>              file://enable-ipv6.patch \
>              file://makefile-remove-hard-usr-reference.patch \
> +           file://update_if_pppol2tp.patch \
>              file://pon \
>              file://poff \
>              file://init \
Saul Wold - Feb. 24, 2012, 4:15 a.m.
On 02/21/2012 06:04 AM, Yauhen Kharuzhy wrote:
> rp-pppoe plugin was broken due linux headers changes: pppd has own copy of
> if_pppol2tp.h file which is included from<linux/if_pppox.h>.
>
> Add patch from Debian for struct pppol2tpv3_addr definition.
>
> Signed-off-by: Yauhen Kharuzhy<yauhen.kharuzhy@promwad.com>
> ---
>   .../ppp/ppp-2.4.5/update_if_pppol2tp.patch         |   54 ++++++++++++++++++++
>   meta/recipes-connectivity/ppp/ppp_2.4.5.bb         |    3 +-
>   2 files changed, 56 insertions(+), 1 deletions(-)
>   create mode 100644 meta/recipes-connectivity/ppp/ppp-2.4.5/update_if_pppol2tp.patch
>
> diff --git a/meta/recipes-connectivity/ppp/ppp-2.4.5/update_if_pppol2tp.patch b/meta/recipes-connectivity/ppp/ppp-2.4.5/update_if_pppol2tp.patch
> new file mode 100644
> index 0000000..e034f19
> --- /dev/null
> +++ b/meta/recipes-connectivity/ppp/ppp-2.4.5/update_if_pppol2tp.patch
> @@ -0,0 +1,54 @@
> +Upstream-Status: Pending
> +diff --git a/include/linux/if_pppol2tp.h b/include/linux/if_pppol2tp.h
> +index 4113d6a..7ee86b2 100644
> +--- a/include/linux/if_pppol2tp.h
> ++++ b/include/linux/if_pppol2tp.h
> +@@ -2,7 +2,7 @@
> +  * Linux PPP over L2TP (PPPoL2TP) Socket Implementation (RFC 2661)
> +  *
> +  * This file supplies definitions required by the PPP over L2TP driver
> +- * (pppol2tp.c).  All version information wrt this file is located in pppol2tp.c
> ++ * (l2tp_ppp.c).  All version information wrt this file is located in l2tp_ppp.c
> +  *
> +  * License:
> +  *		This program is free software; you can redistribute it and/or
> +@@ -15,14 +15,14 @@
> + #ifndef __LINUX_IF_PPPOL2TP_H
> + #define __LINUX_IF_PPPOL2TP_H
> +
> +-#include<asm/types.h>
> ++#include<linux/types.h>
> ++
> +
> + /* Structure used to connect() the socket to a particular tunnel UDP
> +  * socket.
> +  */
> +-struct pppol2tp_addr
> +-{
> +-	pid_t	pid;			/* pid that owns the fd.
> ++struct pppol2tp_addr {
> ++	__kernel_pid_t	pid;		/* pid that owns the fd.
> + 					 * 0 =>  current */
> + 	int	fd;			/* FD of UDP socket to use */
> +
> +@@ -32,6 +32,20 @@ struct pppol2tp_addr
> + 	__u16 d_tunnel, d_session;	/* For sending outgoing packets */
> + };
> +
> ++/* The L2TPv3 protocol changes tunnel and session ids from 16 to 32
> ++ * bits. So we need a different sockaddr structure.
> ++ */
> ++struct pppol2tpv3_addr {
> ++	pid_t	pid;			/* pid that owns the fd.
> ++					 * 0 =>  current */
> ++	int	fd;			/* FD of UDP or IP socket to use */
> ++
> ++	struct sockaddr_in addr;	/* IP address and port to send to */
> ++
> ++	__u32 s_tunnel, s_session;	/* For matching incoming packets */
> ++	__u32 d_tunnel, d_session;	/* For sending outgoing packets */
> ++};
> ++
> + /* Socket options:
> +  * DEBUG	- bitmask of debug message categories
> +  * SENDSEQ	- 0 =>  don't send packets with sequence numbers
> diff --git a/meta/recipes-connectivity/ppp/ppp_2.4.5.bb b/meta/recipes-connectivity/ppp/ppp_2.4.5.bb
> index 72464bf..80f91e6 100644
> --- a/meta/recipes-connectivity/ppp/ppp_2.4.5.bb
> +++ b/meta/recipes-connectivity/ppp/ppp_2.4.5.bb
> @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://pppd/ccp.c;beginline=1;endline=29;md5=e2c43fe6e81ff77
>                       file://pppd/plugins/passprompt.c;beginline=1;endline=10;md5=3bcbcdbf0e369c9a3e0b8c8275b065d8 \
>                       file://pppd/tdb.c;beginline=1;endline=27;md5=4ca3a9991b011038d085d6675ae7c4e6 \
>                       file://chat/chat.c;beginline=1;endline=15;md5=0d374b8545ee5c62d7aff1acbd38add2"
> -PR = "r2"
> +PR = "r3"
>
>   SRC_URI = "http://ppp.samba.org/ftp/ppp/ppp-${PV}.tar.gz \
>              file://makefile.patch \
> @@ -18,6 +18,7 @@ SRC_URI = "http://ppp.samba.org/ftp/ppp/ppp-${PV}.tar.gz \
>              file://pppd-resolv-varrun.patch \
>              file://enable-ipv6.patch \
>              file://makefile-remove-hard-usr-reference.patch \
> +           file://update_if_pppol2tp.patch \
>              file://pon \
>              file://poff \
>              file://init \

Merged into OE-core

Thanks
	Sau!

Patch

diff --git a/meta/recipes-connectivity/ppp/ppp-2.4.5/update_if_pppol2tp.patch b/meta/recipes-connectivity/ppp/ppp-2.4.5/update_if_pppol2tp.patch
new file mode 100644
index 0000000..e034f19
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp-2.4.5/update_if_pppol2tp.patch
@@ -0,0 +1,54 @@ 
+Upstream-Status: Pending
+diff --git a/include/linux/if_pppol2tp.h b/include/linux/if_pppol2tp.h
+index 4113d6a..7ee86b2 100644
+--- a/include/linux/if_pppol2tp.h
++++ b/include/linux/if_pppol2tp.h
+@@ -2,7 +2,7 @@
+  * Linux PPP over L2TP (PPPoL2TP) Socket Implementation (RFC 2661)
+  *
+  * This file supplies definitions required by the PPP over L2TP driver
+- * (pppol2tp.c).  All version information wrt this file is located in pppol2tp.c
++ * (l2tp_ppp.c).  All version information wrt this file is located in l2tp_ppp.c
+  *
+  * License:
+  *		This program is free software; you can redistribute it and/or
+@@ -15,14 +15,14 @@
+ #ifndef __LINUX_IF_PPPOL2TP_H
+ #define __LINUX_IF_PPPOL2TP_H
+ 
+-#include <asm/types.h>
++#include <linux/types.h>
++
+ 
+ /* Structure used to connect() the socket to a particular tunnel UDP
+  * socket.
+  */
+-struct pppol2tp_addr
+-{
+-	pid_t	pid;			/* pid that owns the fd.
++struct pppol2tp_addr {
++	__kernel_pid_t	pid;		/* pid that owns the fd.
+ 					 * 0 => current */
+ 	int	fd;			/* FD of UDP socket to use */
+ 
+@@ -32,6 +32,20 @@ struct pppol2tp_addr
+ 	__u16 d_tunnel, d_session;	/* For sending outgoing packets */
+ };
+ 
++/* The L2TPv3 protocol changes tunnel and session ids from 16 to 32
++ * bits. So we need a different sockaddr structure.
++ */
++struct pppol2tpv3_addr {
++	pid_t	pid;			/* pid that owns the fd.
++					 * 0 => current */
++	int	fd;			/* FD of UDP or IP socket to use */
++
++	struct sockaddr_in addr;	/* IP address and port to send to */
++
++	__u32 s_tunnel, s_session;	/* For matching incoming packets */
++	__u32 d_tunnel, d_session;	/* For sending outgoing packets */
++};
++
+ /* Socket options:
+  * DEBUG	- bitmask of debug message categories
+  * SENDSEQ	- 0 => don't send packets with sequence numbers
diff --git a/meta/recipes-connectivity/ppp/ppp_2.4.5.bb b/meta/recipes-connectivity/ppp/ppp_2.4.5.bb
index 72464bf..80f91e6 100644
--- a/meta/recipes-connectivity/ppp/ppp_2.4.5.bb
+++ b/meta/recipes-connectivity/ppp/ppp_2.4.5.bb
@@ -10,7 +10,7 @@  LIC_FILES_CHKSUM = "file://pppd/ccp.c;beginline=1;endline=29;md5=e2c43fe6e81ff77
                     file://pppd/plugins/passprompt.c;beginline=1;endline=10;md5=3bcbcdbf0e369c9a3e0b8c8275b065d8 \
                     file://pppd/tdb.c;beginline=1;endline=27;md5=4ca3a9991b011038d085d6675ae7c4e6 \
                     file://chat/chat.c;beginline=1;endline=15;md5=0d374b8545ee5c62d7aff1acbd38add2"
-PR = "r2"
+PR = "r3"
 
 SRC_URI = "http://ppp.samba.org/ftp/ppp/ppp-${PV}.tar.gz \
            file://makefile.patch \
@@ -18,6 +18,7 @@  SRC_URI = "http://ppp.samba.org/ftp/ppp/ppp-${PV}.tar.gz \
            file://pppd-resolv-varrun.patch \
            file://enable-ipv6.patch \
            file://makefile-remove-hard-usr-reference.patch \
+           file://update_if_pppol2tp.patch \
            file://pon \
            file://poff \
            file://init \