summaryrefslogtreecommitdiffstats
path: root/include/linux/ppp-comp.h
diff options
context:
space:
mode:
authorMatt Domsch <Matt_Domsch@dell.com>2005-11-08 09:40:47 -0800
committerDavid S. Miller <davem@davemloft.net>2005-11-08 09:40:47 -0800
commitb3f9b92a6ec1a9a5e4b4b36e484f2f62cc73277c (patch)
tree7ca8e019573362620638e14e32bb519770ee6945 /include/linux/ppp-comp.h
parent6722e78c90054101e6797d5944cdc81af9897a0a (diff)
downloadlinux-b3f9b92a6ec1a9a5e4b4b36e484f2f62cc73277c.tar.gz
linux-b3f9b92a6ec1a9a5e4b4b36e484f2f62cc73277c.tar.bz2
linux-b3f9b92a6ec1a9a5e4b4b36e484f2f62cc73277c.zip
[PPP]: add PPP MPPE encryption module
From: Matt Domsch <Matt_Domsch@dell.com> The patch below implements the Microsoft Point-to-Point Encryption method as a PPP compressor/decompressor. This is necessary for Linux clients and servers to interoperate with Microsoft Point-to-Point Tunneling Protocol (PPTP) servers (either Microsoft PPTP servers or the poptop project) which use MPPE to encrypt data when creating a VPN. This patch differs from the kernel_ppp_mppe DKMS pacakge at pptpclient.sourceforge.net by utilizing the kernel crypto routines rather than providing its own SHA1 and arcfour implementations. Minor changes to ppp_generic.c try to prevent a link from disabling compression (in our case, the encryption) after it has started using compression (encryption). Feedback to <pptpclient-devel@lists.sourceforge.net> please. Signed-off-by: Matt Domsch <Matt_Domsch@dell.com> Cc: James Cameron <james.cameron@hp.com> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Brice Goglin <Brice.Goglin@ens-lyon.org> Acked-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/ppp-comp.h')
-rw-r--r--include/linux/ppp-comp.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/ppp-comp.h b/include/linux/ppp-comp.h
index 7227e653b3be..e86a7a5cf355 100644
--- a/include/linux/ppp-comp.h
+++ b/include/linux/ppp-comp.h
@@ -111,6 +111,8 @@ struct compressor {
/* Used in locking compressor modules */
struct module *owner;
+ /* Extra skb space needed by the compressor algorithm */
+ unsigned int comp_extra;
};
/*
@@ -191,6 +193,13 @@ struct compressor {
#define DEFLATE_CHK_SEQUENCE 0
/*
+ * Definitions for MPPE.
+ */
+
+#define CI_MPPE 18 /* config option for MPPE */
+#define CILEN_MPPE 6 /* length of config option */
+
+/*
* Definitions for other, as yet unsupported, compression methods.
*/