aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>1998-06-20 16:11:31 +0000
committerPeter Wemm <peter@FreeBSD.org>1998-06-20 16:11:31 +0000
commit980ca1881cefe798778adede7219c514bcb5f243 (patch)
treee37c15ec9b867e3f72379a71dd59dd5406a374d6
parent8dae36c80456f937ac92aaa9355a3c30578af0a0 (diff)
downloadsrc-980ca1881cefe798778adede7219c514bcb5f243.tar.gz
src-980ca1881cefe798778adede7219c514bcb5f243.zip
Import kernel parts of ppp-2.3.5.
Obtained from: ftp://cs.anu.edu.au/pub/software/ppp
Notes
Notes: svn path=/cvs2svn/branches/MACKERAS/; revision=37064
-rw-r--r--sys/net/if_ppp.c7
-rw-r--r--sys/net/if_ppp.h4
-rw-r--r--sys/net/if_pppvar.h4
-rw-r--r--sys/net/ppp_comp.h5
-rw-r--r--sys/net/ppp_deflate.c31
-rw-r--r--sys/net/slcompress.c33
-rw-r--r--sys/net/slcompress.h21
-rw-r--r--sys/net/zlib.c6
8 files changed, 50 insertions, 61 deletions
diff --git a/sys/net/if_ppp.c b/sys/net/if_ppp.c
index d9369d62c46c..af0fed05b457 100644
--- a/sys/net/if_ppp.c
+++ b/sys/net/if_ppp.c
@@ -69,7 +69,7 @@
* Paul Mackerras (paulus@cs.anu.edu.au).
*/
-/* $Id: if_ppp.c,v 1.12 1997/04/30 05:42:07 paulus Exp $ */
+/* $Id: if_ppp.c,v 1.14 1998/03/25 04:05:01 paulus Exp $ */
/* from if_sl.c,v 1.11 84/10/04 12:54:47 rick Exp */
/* from NetBSD: if_ppp.c,v 1.15.2.2 1994/07/28 05:17:58 cgd Exp */
@@ -131,8 +131,6 @@
#endif
static int pppsioctl __P((struct ifnet *, int, caddr_t));
-static int pppoutput __P((struct ifnet *, struct mbuf *,
- struct sockaddr *, struct rtentry *));
static void ppp_requeue __P((struct ppp_softc *));
static void ppp_ccp __P((struct ppp_softc *, struct mbuf *m, int rcvd));
static void ppp_ccp_closed __P((struct ppp_softc *));
@@ -167,7 +165,7 @@ static void pppdumpm __P((struct mbuf *m0));
*/
extern struct compressor ppp_bsd_compress;
-extern struct compressor ppp_deflate;
+extern struct compressor ppp_deflate, ppp_deflate_draft;
struct compressor *ppp_compressors[8] = {
#if DO_BSD_COMPRESS
@@ -175,6 +173,7 @@ struct compressor *ppp_compressors[8] = {
#endif
#if DO_DEFLATE
&ppp_deflate,
+ &ppp_deflate_draft,
#endif
NULL
};
diff --git a/sys/net/if_ppp.h b/sys/net/if_ppp.h
index 17060c74d2f7..e414a849d268 100644
--- a/sys/net/if_ppp.h
+++ b/sys/net/if_ppp.h
@@ -1,4 +1,4 @@
-/* $Id: if_ppp.h,v 1.16 1997/04/30 05:46:04 paulus Exp $ */
+/* $Id: if_ppp.h,v 1.17 1998/03/25 04:03:13 paulus Exp $ */
/*
* if_ppp.h - Point-to-Point Protocol definitions.
@@ -125,7 +125,7 @@ struct ifpppcstatsreq {
#define ifr_mtu ifr_ifru.ifru_metric
#endif
-#if defined(_KERNEL) || defined(KERNEL)
+#if (defined(_KERNEL) || defined(KERNEL)) && !defined(NeXT)
void pppattach __P((void));
void pppintr __P((void));
#endif
diff --git a/sys/net/if_pppvar.h b/sys/net/if_pppvar.h
index 91e8e4e75863..7c3b97e29ac5 100644
--- a/sys/net/if_pppvar.h
+++ b/sys/net/if_pppvar.h
@@ -1,4 +1,4 @@
-/* $Id: if_pppvar.h,v 1.5 1997/04/30 05:42:08 paulus Exp $ */
+/* $Id: if_pppvar.h,v 1.6 1998/02/04 01:36:40 paulus Exp $ */
/*
* if_pppvar.h - private structures and declarations for PPP.
*
@@ -101,6 +101,8 @@ struct ppp_softc ppp_softc[NPPP];
struct ppp_softc *pppalloc __P((pid_t pid));
void pppdealloc __P((struct ppp_softc *sc));
+int pppoutput __P((struct ifnet *, struct mbuf *,
+ struct sockaddr *, struct rtentry *));
int pppioctl __P((struct ppp_softc *sc, int cmd, caddr_t data,
int flag, struct proc *p));
void ppp_restart __P((struct ppp_softc *sc));
diff --git a/sys/net/ppp_comp.h b/sys/net/ppp_comp.h
index adab65cd3e02..fe62a61f1cea 100644
--- a/sys/net/ppp_comp.h
+++ b/sys/net/ppp_comp.h
@@ -24,7 +24,7 @@
* OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
* OR MODIFICATIONS.
*
- * $Id: ppp-comp.h,v 1.10 1996/09/26 06:30:11 paulus Exp $
+ * $Id: ppp-comp.h,v 1.11 1998/03/25 03:33:34 paulus Exp $
*/
#ifndef _NET_PPP_COMP_H
@@ -141,7 +141,8 @@ struct compressor {
/*
* Definitions for Deflate.
*/
-#define CI_DEFLATE 24 /* config option for Deflate */
+#define CI_DEFLATE 26 /* config option for Deflate */
+#define CI_DEFLATE_DRAFT 24 /* value used in original draft RFC */
#define CILEN_DEFLATE 4 /* length of its config option */
#define DEFLATE_MIN_SIZE 8
diff --git a/sys/net/ppp_deflate.c b/sys/net/ppp_deflate.c
index 424a69f4320e..213bf0e2e387 100644
--- a/sys/net/ppp_deflate.c
+++ b/sys/net/ppp_deflate.c
@@ -1,4 +1,4 @@
-/* $Id: ppp-deflate.c,v 1.7 1997/11/27 06:06:31 paulus Exp $ */
+/* $Id: ppp-deflate.c,v 1.8 1998/03/24 23:48:04 paulus Exp $ */
/*
* ppp_deflate.c - interface the zlib procedures for Deflate compression
@@ -98,6 +98,23 @@ struct compressor ppp_deflate = {
z_comp_stats, /* decomp_stat */
};
+struct compressor ppp_deflate = {
+ CI_DEFLATE_DRAFT, /* compress_proto */
+ z_comp_alloc, /* comp_alloc */
+ z_comp_free, /* comp_free */
+ z_comp_init, /* comp_init */
+ z_comp_reset, /* comp_reset */
+ z_compress, /* compress */
+ z_comp_stats, /* comp_stat */
+ z_decomp_alloc, /* decomp_alloc */
+ z_decomp_free, /* decomp_free */
+ z_decomp_init, /* decomp_init */
+ z_decomp_reset, /* decomp_reset */
+ z_decompress, /* decompress */
+ z_incomp, /* incomp */
+ z_comp_stats, /* decomp_stat */
+};
+
/*
* Space allocation and freeing routines for use by zlib routines.
*/
@@ -131,7 +148,8 @@ z_comp_alloc(options, opt_len)
struct deflate_state *state;
int w_size;
- if (opt_len != CILEN_DEFLATE || options[0] != CI_DEFLATE
+ if (opt_len != CILEN_DEFLATE
+ || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT)
|| options[1] != CILEN_DEFLATE
|| DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
|| options[3] != DEFLATE_CHK_SEQUENCE)
@@ -177,7 +195,8 @@ z_comp_init(arg, options, opt_len, unit, hdrlen, debug)
{
struct deflate_state *state = (struct deflate_state *) arg;
- if (opt_len < CILEN_DEFLATE || options[0] != CI_DEFLATE
+ if (opt_len < CILEN_DEFLATE
+ || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT)
|| options[1] != CILEN_DEFLATE
|| DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
|| DEFLATE_SIZE(options[2]) != state->w_size
@@ -362,7 +381,8 @@ z_decomp_alloc(options, opt_len)
struct deflate_state *state;
int w_size;
- if (opt_len != CILEN_DEFLATE || options[0] != CI_DEFLATE
+ if (opt_len != CILEN_DEFLATE
+ || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT)
|| options[1] != CILEN_DEFLATE
|| DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
|| options[3] != DEFLATE_CHK_SEQUENCE)
@@ -407,7 +427,8 @@ z_decomp_init(arg, options, opt_len, unit, hdrlen, mru, debug)
{
struct deflate_state *state = (struct deflate_state *) arg;
- if (opt_len < CILEN_DEFLATE || options[0] != CI_DEFLATE
+ if (opt_len < CILEN_DEFLATE
+ || (options[0] != CI_DEFLATE && options[0] != CI_DEFLATE_DRAFT)
|| options[1] != CILEN_DEFLATE
|| DEFLATE_METHOD(options[2]) != DEFLATE_METHOD_VAL
|| DEFLATE_SIZE(options[2]) != state->w_size
diff --git a/sys/net/slcompress.c b/sys/net/slcompress.c
index 96da9636463f..c46c57f7f14a 100644
--- a/sys/net/slcompress.c
+++ b/sys/net/slcompress.c
@@ -1,5 +1,4 @@
-/* $NetBSD: slcompress.c,v 1.17 1997/05/17 21:12:10 christos Exp $ */
-/* Id: slcompress.c,v 1.3 1996/05/24 07:04:47 paulus Exp */
+/* $Id: slcompress.c,v 1.3 1996/05/24 07:04:47 paulus Exp $ */
/*
* Copyright (c) 1989, 1993, 1994
@@ -67,36 +66,10 @@
#define ovbcopy bcopy
#endif
-
void
-sl_compress_init(comp)
+sl_compress_init(comp, max_state)
struct slcompress *comp;
-{
- register u_int i;
- register struct cstate *tstate = comp->tstate;
-
- bzero((char *)comp, sizeof(*comp));
- for (i = MAX_STATES - 1; i > 0; --i) {
- tstate[i].cs_id = i;
- tstate[i].cs_next = &tstate[i - 1];
- }
- tstate[0].cs_next = &tstate[MAX_STATES - 1];
- tstate[0].cs_id = 0;
- comp->last_cs = &tstate[0];
- comp->last_recv = 255;
- comp->last_xmit = 255;
- comp->flags = SLF_TOSS;
-}
-
-
-/*
- * Like sl_compress_init, but we get to specify the maximum connection
- * ID to use on transmission.
- */
-void
-sl_compress_setup(comp, max_state)
- struct slcompress *comp;
- int max_state;
+ int max_state;
{
register u_int i;
register struct cstate *tstate = comp->tstate;
diff --git a/sys/net/slcompress.h b/sys/net/slcompress.h
index ca430c401d2a..5ce09467120c 100644
--- a/sys/net/slcompress.h
+++ b/sys/net/slcompress.h
@@ -1,5 +1,4 @@
-/* $NetBSD: slcompress.h,v 1.11 1997/05/17 21:12:11 christos Exp $ */
-/* Id: slcompress.h,v 1.4 1994/09/21 06:50:08 paulus Exp */
+/* $Id: slcompress.h,v 1.1 1995/12/11 05:17:12 paulus Exp $ */
/*
* Copyright (c) 1989, 1993
@@ -43,9 +42,6 @@
* - Initial distribution.
*/
-#ifndef _SLCOMPRESS_H_
-#define _SLCOMPRESS_H_
-
#define MAX_STATES 16 /* must be > 2 and < 256 */
#define MAX_HDR MLEN /* XXX 4bsd-ism: should really be 128 */
@@ -158,12 +154,9 @@ struct slcompress {
/* flag values */
#define SLF_TOSS 1 /* tossing rcvd frames because of input err */
-void sl_compress_init __P((struct slcompress *));
-void sl_compress_setup __P((struct slcompress *, int));
-u_int sl_compress_tcp __P((struct mbuf *,
- struct ip *, struct slcompress *, int));
-int sl_uncompress_tcp __P((u_char **, int, u_int, struct slcompress *));
-int sl_uncompress_tcp_core __P((u_char *, int, int, u_int,
- struct slcompress *, u_char **, u_int *));
-
-#endif /* _SLCOMPRESS_H_ */
+void sl_compress_init __P((struct slcompress *, int));
+u_int sl_compress_tcp __P((struct mbuf *,
+ struct ip *, struct slcompress *, int));
+int sl_uncompress_tcp __P((u_char **, int, u_int, struct slcompress *));
+int sl_uncompress_tcp_core __P((u_char *, int, int, u_int,
+ struct slcompress *, u_char **, u_int *));
diff --git a/sys/net/zlib.c b/sys/net/zlib.c
index b69826fe94f0..9d1b8f224880 100644
--- a/sys/net/zlib.c
+++ b/sys/net/zlib.c
@@ -10,7 +10,7 @@
* - added inflateIncomp and deflateOutputPending
* - allow strm->next_out to be NULL, meaning discard the output
*
- * $Id: zlib.c,v 1.7 1997/05/22 06:44:39 paulus Exp $
+ * $Id: zlib.c,v 1.10 1998/03/19 04:55:37 paulus Exp $
*/
/*
@@ -1147,12 +1147,12 @@ int deflateCopy (dest, source)
return Z_STREAM_ERROR;
ss = (deflate_state *) source->state;
- *dest = *source;
+ zmemcpy(dest, source, sizeof(*dest));
ds = (deflate_state *) ZALLOC(dest, 1, sizeof(deflate_state));
if (ds == Z_NULL) return Z_MEM_ERROR;
dest->state = (struct internal_state FAR *) ds;
- *ds = *ss;
+ zmemcpy(ds, ss, sizeof(*ds));
ds->strm = dest;
ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte));