585 Commits

Author SHA1 Message Date
brian
400d0bfad1 Show the link mode in `show links'. 1998-05-23 22:28:19 +00:00
brian
b18cb274a1 Oops - patch failed in last commit ???? 1998-05-23 22:27:53 +00:00
brian
7f9f3d4b00 o Move our prompt descriptor list outside of the bundle.
It's now dealt with by the `server' object.  This simplifies
  things as we only have one list of prompt descriptors and
  the log_ routines check prompt::logactive to determine
  whether it should be used for output.
o Include the MP socket UpdateSet() result in bundle::UpdateSet().
o Don't select on the tun device unless we're in NETWORK
  phase or AUTO mode.
o Stop the idle timer when we go to DEAD phase.  We may
  have transferred a link and not had a chance to kill
  it.
o Don't fail when trying to unlink our transferred datalink
  from our descriptor lists just before the transfer.
o Add our link descriptor to the write set if we got a short
  write the last time (physical::out is set).
o Log the connection source address when a connection is closed.
o Remove descriptor::next field.  Descriptor lists are not required
  any more.
1998-05-23 22:24:50 +00:00
brian
3d5a66dff7 o Make sure we adjust our min seq and process any outstanding queued
incoming fragments when a link goes down.
o Don't use the minimum sequence numbers of links that aren't open.
o Understand sequence number wrapping when determining the minimum
  sequence number.
o Add & adjust a few comments.
1998-05-23 17:05:28 +00:00
brian
35a7434e26 o If all CCPs are disabled & denied, don't send a REQ - just enter
STOPPED state waiting for the peer to say something.
1998-05-23 13:38:09 +00:00
brian
c67977d380 Don't give .It too many args. 1998-05-21 23:45:10 +00:00
brian
513467478d Remove -Wpointer-arith 1998-05-21 23:38:08 +00:00
brian
dc0ae5e7bf o Add some missing #includes
o Calculate base device name correctly.
1998-05-21 22:55:08 +00:00
brian
56df88b778 MFMP: Make ppp multilink capable.
See the file README.changes, and re-read the man page.
1998-05-21 21:49:08 +00:00
brian
a3d6984f73 Close forgotten descriptor.
PR: 6690
Submitted by: Ruslan Ermilov <ru@ucb.crimea.ua>
1998-05-19 21:49:54 +00:00
brian
dff8855500 Quieten gcc-2.8.1 1998-04-25 09:16:23 +00:00
brian
42fda990ad Fix diagnostic typo. 1998-04-25 00:20:23 +00:00
brian
b3e0fb3e16 Cosmetic: .Dq -> .It 1998-03-16 07:33:57 +00:00
brian
302c593c3a Correct #ifdef for __FreeBSD__ < 3 1998-03-13 03:24:05 +00:00
brian
92beba7e57 Add missing include 1998-03-13 01:55:47 +00:00
brian
95c31de535 Add extraneous braces to stiffle warnings from gcc-2.8 1998-03-13 01:36:10 +00:00
brian
016c85730a MFMP: Don't send LQRs when the peer has LCP REJ'd them. Send
ECHO LQRs instead.
1998-03-13 00:55:16 +00:00
brian
a847940420 o Fix a few comment typos.
o Fix ``set timeout'' usage message and documentation.
o Change ifOutPackets, ifOutOctets and ifOutLQRs to `u_int32_t's
  so that they wrap correctly.
o Put the LQR in network byte order using the correct struct size
  (sizeof u_int32_t, not sizeof u_long).
o Wrap LQR ECHO counters correctly.
o Don't increment OutLQR count if the last LQR hasn't been replied
  to.
o Initialise HisLqrData (last received LQR) in StartLqm.
o Don't start the LQR timer if we're `disabled' and `accepted'.
o Generate LQR responses when both sides are using a timer and
  we're not going to send our next LQR before the peers max timeout.

LQR should now be fully functional.
1998-03-12 02:23:42 +00:00
brian
762d9b5e3c Explicitly call caused' an int'.
Sugested by: gcc-2.8
1998-03-08 23:39:33 +00:00
brian
5541d07a93 Use the correct device name in -direct mode. 1998-03-06 00:35:30 +00:00
brian
5b9c68270e MFMP: Allow 8 character login names.
Do the login()/logwtmp()/logout() as id 0.
1998-02-19 02:10:13 +00:00
brian
c30c1e89da MFMP: LogWARN rather than LogERROR when we can't create
our diagnostic socket.
1998-02-18 20:40:32 +00:00
brian
4d644306f0 Don't leak memory when the peer sends PROTO_COMPD packets
without negotiating compression first.
1998-02-18 19:38:43 +00:00
brian
78287d51b2 Move handle_signals() to before the FD_SETs. handle_signals()
may result in a our modem closing after it's made its way into
the fd_set, resulting in a program exit (with select(): bad file
descriptor) rather than a dropped link.
1998-02-10 22:33:43 +00:00
brian
939d87b65e Merge from MP branch:
Correct magic number format string
1998-02-04 01:06:23 +00:00
brian
342874fb3a Don't moan about not creating tunX.pid and ttyX.if if RELEASE_CRUNCH
is defined.
1998-01-29 00:44:15 +00:00
brian
77370f92cc Talk a bit about ongoing development. 1998-01-29 00:42:52 +00:00
brian
1c9a27b464 Cosmetic:
Don't mention the authors name at startup.  He's already credited
  in the man page.  Instead, make the message consistent with the
  one given to the diagnostic port (and fix the grammar when entering
  `term' mode).
  Don't credit the zlib author in the man page as ppp isn't linked
  directly with zlib (it's shared).
  Mention when the OpenBSD port was first made available.
1998-01-27 23:14:53 +00:00
brian
4b6b8906a0 Fix error message.
Don't complicate the test compilation mentioned at the start of
the file.
1998-01-24 00:03:14 +00:00
brian
2fa1051841 Stop bogus warnings. 1998-01-23 22:29:16 +00:00
brian
b1b36a2e87 Re-implement the proxy arp sockaddr_dl search routine (again).
It now works :-) and searches all interface aliases.
1998-01-23 21:37:27 +00:00
brian
f1d93f530b Don't allow manual dialing unless in auto or interactive mode. 1998-01-23 04:36:42 +00:00
brian
dc5134f336 Use the sockaddr_dl with the link#, not the ethernet address
when creating proxy arp entries.
1998-01-21 12:52:14 +00:00
brian
8a229af566 Remove unused #includes.
Make various bits static.
Remove unused variables.
Submitted by: eivind
1998-01-21 02:15:33 +00:00
brian
7443167983 Allow an optional delay when specifying "set openmode active".
The delay defaults to 1 sec (as it always has) unless we've done
a ~p in interactive mode or we've actually detected a HDLC frame.
This is now cleanly implemented (via async timers) so that it is
possible for LCP to come up despite the delay if an LCP REQ is
received.

This will hopefully solve situations with slow servers or slirp
scenarios (where ECHO is left on the port for a second or so before
the peer enters packet mode).

Also, ~p in interactive mode no longer changes the value of the default
openmode delay and -dedicated mode enters packet mode in the right state
according to the value of openmode.
1998-01-20 22:47:48 +00:00
brian
8c6e8375e3 dlopen(..., RTLD_NOW) rather than RTLD_LAZY.
Pointed out by: John Polstra <jdp@polstra.com>
1998-01-19 22:59:57 +00:00
brian
d93811908a sys/types.h -> sys/param.h
Pointed out by: Niklas Hallqvist <niklas@petra.appli.se>
1998-01-19 22:34:20 +00:00
brian
a4acc2b6f9 Reimplement proxy-arp address stuff using sysctl(). 1998-01-19 02:59:34 +00:00
brian
1a8fafd2d2 Allow "set vj" for changing the default number of slots
and whether slot compression is requested.
Don't show current values with "show ipcp" if IPCP isn't
"opened".
1998-01-18 20:49:22 +00:00
brian
c73933598a Remove the necessity of -ldes and -lalias etc from release/Makefile.
When building a release, RELEASE_CRUNCH is defined for a `make' of
the objects required by the crunch of each program.  The object list
is still obtained in the same way, so you must make sure that all
objects are built (empty if necessary) by this make.  ppp/Makefile
provides an example.

Reviewed by: jkh
1998-01-17 14:21:21 +00:00
brian
f2896d69aa Free our input mbuf when the FCS is good (oops, memory leak). 1998-01-14 01:47:50 +00:00
brian
653b1ec6a8 Lose __libalias_version.
We now look for the biggest of libalias.so.2.*
1998-01-14 01:23:05 +00:00
brian
5ce279eae3 Lose <net/if_var.h> !
This'll require a `make installworld'.
1998-01-11 17:53:27 +00:00
brian
425b212bdd Make things work when sizeof(long) != 32 (hopefully) 1998-01-11 17:50:49 +00:00
brian
f9813a46f5 Remember any number of interface names. 1998-01-11 04:45:36 +00:00
brian
c22d9c68f7 Remove includes of if_var.h and in_var.h 1998-01-11 04:02:57 +00:00
brian
5487c4253d Allow 6 byte interface names (for >tun99) 1998-01-11 02:59:22 +00:00
brian
06470b445f Pause according to the redial setting when dialing manually.
Pointed out by: Berend de Boer <berend@compuserve.com>
1998-01-10 21:51:31 +00:00
brian
e0d5cac898 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.

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!
1998-01-10 01:55:11 +00:00
brian
b4fb282bcf Zap any addresses on the network side of the `tun' as soon
as we've successfully opened the /dev side.
1998-01-08 23:47:57 +00:00