OpenBSD CVS

CVS log for src/usr.sbin/ppp/Attic/deflate.c


[BACK] Up to [local] / src / usr.sbin / ppp

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.7, Mon Aug 31 00:20:35 1998 UTC (25 years, 9 months ago) by brian
Branch: MAIN
CVS Tags: HEAD
Changes since 1.6: +1 -1 lines
FILE REMOVED

Upgrade ppp to version 2.0

This adds a number of features including:
o Multilink
o Callback (including CBCP)
o DNS negotiation (client & server)
o Easy to configure masquerading/packet aliasing
o Any number of diagnostic socket connections (limits DOS attacks)
o Sticky routes (ppp updates the routing table when the IP number is changed)

See the file README.changes for things that effect current
configurations.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Mar 13 01:25:55 1998 UTC (26 years, 3 months ago) by brian
Branch: MAIN
CVS Tags: OPENBSD_2_3_BASE, OPENBSD_2_3
Changes since 1.5: +3 -2 lines
Diff to previous 1.5 (colored)

Add extraneous braces to stiffle warnings from gcc-2.8

Revision 1.5 / (download) - annotate - [select for diffs], Sat Jan 10 01:55:14 1998 UTC (26 years, 5 months ago) by brian
Branch: MAIN
Changes since 1.4: +12 -13 lines
Diff to previous 1.4 (colored)

Implement Reset{Req,Ack} properly, as per rfc 1962.
(I completely mis-read the rfc last time 'round!)

This means:
  o Better CCP/WARN Reset diagnostics.
  o After we've sent a REQ and before we've received an ACK, we drop
    incoming compressed data and send another REQ.
  o Before sending an ACK, re-sequence all pending PRI_NORMAL data in
    the modem queue so that pending packets won't get to the peer
    *after* the ResetAck.
  o Send ACKs with the `identifier' from the REQ frame.
  o After we've received a correct ACK, duplicate ACKs are ok (and will
    reset our history).
  o Incorrect ACKs (not matching the last REQ) are moaned about and dropped.

Also,

  o Calculate the correct FCS after compressing a packet.  DEFLATE
    *may* produce an mbuf with more than a single link in the chain,
    but HdlcOutput didn't know how to calculate the FCS :-(
  o Make `struct fsm'::reqid a u_char, not an int.
    This fix will prevent us from sending id `255' 2,000,000,000 times
    before wrapping to `0' for another 2,000,000,000 sends :-/
  o Bump the version number a little (it should already have been at 1.6).

The end result:  DEFLATE now works over an unreliable link layer.
                 I can txfr a 1.5Mb kernel over a (rather bad) null-modem
                 cable at an average of 21679 bytes per second using rcp.
Repeat after me: Don't test compression using a loopback ppp/tcp setup as
                 we never lose packets and therefore never have to reset!

Revision 1.4 / (download) - annotate - [select for diffs], Sun Dec 28 02:16:34 1997 UTC (26 years, 5 months ago) by brian
Branch: MAIN
Changes since 1.3: +21 -6 lines
Diff to previous 1.3 (colored)

Allow initial sequence numbers less than what we're expecting.
When CCP is originally negotiated, the only thing we can be
sure about is that we've started adding data to the inflate
dictionary either before or at the same time as the peer.  This
is ok, 'cos DEFLATE is a `sliding window' compressor.

Revision 1.3 / (download) - annotate - [select for diffs], Sun Dec 21 14:27:01 1997 UTC (26 years, 5 months ago) by brian
Branch: MAIN
Changes since 1.2: +26 -2 lines
Diff to previous 1.2 (colored)

Add (BSD) copyright headers

Revision 1.2 / (download) - annotate - [select for diffs], Mon Dec 8 20:22:10 1997 UTC (26 years, 6 months ago) by brian
Branch: MAIN
Changes since 1.1: +18 -2 lines
Diff to previous 1.1 (colored)

Deal with inflate() returning avail_in == avail_out == 0
We must call inflate again in case there's any pending output
despite our input buffer being empty.  If the output buffer
is in fact already flushed, inflate() returns Z_BUF_ERROR.
There isn't really an error !

Revision 1.1 / (download) - annotate - [select for diffs], Sun Dec 7 12:57:20 1997 UTC (26 years, 6 months ago) by brian
Branch: MAIN

Add forgotten files.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.