#
6f384573 |
| 01-May-1998 |
Brian Somers <brian@FreeBSD.org> |
o Create a new ``timer'' log level. This lets us ``set log debug'' without filling our filesystem/screen with junk that we don't really want to see. o change PHYS_STDIN to PHYS_DIRECT - we can h
o Create a new ``timer'' log level. This lets us ``set log debug'' without filling our filesystem/screen with junk that we don't really want to see. o change PHYS_STDIN to PHYS_DIRECT - we can handle incoming connections that aren't on STDIN_FILENO now. o Allow return values from our FSM LayerUp functions. If LayerUp() fails, the FSM does an immediate FsmDown() without calling the fsm_parent's Layer{Up,Down} functions. o Clear the close-on-exec flag of file descriptor 3 when executing chat programs so that our documented ability to communicate with /dev/tty via that descriptor works. Also document it as descriptor 3, not 4 :-O o Allow a ``rm'' command as an alias for ``remove''. o Fix the bind()/connect()/accept() calls made by the MP server. o Create bundle_SendDatalink() and bundle_ReceiveDatalink(). This allows `struct datalink's to flatten themselves, pass through a pipe (read: the eye of a needle !) and come alive at the other end. The donator then fork()s & exec()s pppmpipe, ``passing'' the connection to another ppp instance.
*** PPP NOW TALKS MULTILINK :-))) ***
Our link utilization is hideous, and lots of code needs tidying still. It's also probably riddled with bugs ! It's been tested against itself only, and has hung once, so confidence isn't high....
show more ...
|
#
1fa665f5 |
| 28-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
o Add the link name to modem diagnostics. o Create struct mpserver as part of struct mp. mpserver creates a unix-domain socket based on the peers auth name and endpoint discriminator. If it al
o Add the link name to modem diagnostics. o Create struct mpserver as part of struct mp. mpserver creates a unix-domain socket based on the peers auth name and endpoint discriminator. If it already exists, ppp will ``pass the link'' over to the owner of the socket, joining it into the bundle of another ppp invocation, otherwise ppp waits for other invocations to pass it links through this socket. The final piece of code will be the code that flattens our datalink info and passes it down this channel (not yet implemented).
show more ...
|
#
e43ebac1 |
| 25-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
Make gcc-2.8.1 build ppp cleanly. Support OpenBSD again.
|
#
50abd4c8 |
| 25-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
Make ``show ipcp'' prettier and remove a few redundant includes.
|
#
643f4904 |
| 24-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
o Defer setting up pap/chap based IP numbers & labels until after we've determined if we're going to join another ppp invocation. o Make ``show link'' show all link details, and ``show links'' ju
o Defer setting up pap/chap based IP numbers & labels until after we've determined if we're going to join another ppp invocation. o Make ``show link'' show all link details, and ``show links'' just give a list of links and their current status. o Show our current label in ``show bundle''. o Allow link cloning and removal as soon as our MRRU is set. o Make ``show lcp'' require context as nothing will ever change in our MP LCP (it's auto-configured as per rfc1990). o Initialise our LQM owner in hdlc_Init(). o Store our endpoint discriminator and authentication name at both the datalink and multilink level and compare them when we've finished AUTHENTICATE phase and before entering NETWORK phase. If they don't match, close the link again. Display the information in the appropriate ``show'' command. o Initialise datalink::phone and datalink::fsmp.object properly when we're cloning the link. o Show which link we're passing LQRs on in our diagnostics. o Reject endpoint discriminator REQs at the logical multilink level. o Remove the rest of our CARRIER and LINK logging setup.
show more ...
|
#
d47dceb8 |
| 24-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
o Remove LINK level logging. o change the default link name to ``deflink'' rather than ``default''. o Prepend the link name to CCP and LCP FSM diagnostics. o Protect against 0 length options in CCP
o Remove LINK level logging. o change the default link name to ``deflink'' rather than ``default''. o Prepend the link name to CCP and LCP FSM diagnostics. o Protect against 0 length options in CCP and IPCP REQ interpreters (already done for LCP). o Allow optional context for the `show' command. o Use MPs link when interpreting commands if the multilink mrru is configured rather than when multilink is active. This means that once we've ``set mrru xxx'', we then need to ``link deflink show ccp'' etc if we want to do link-level stuff (based on the command requiring optional or manditory context). o Use the ifconfig'd interface address in `set enddisc {ip,mac}' if it's there, otherwise the configuration file value.
show more ...
|
#
dbf60d74 |
| 23-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
o Don't go multilink if the peer hasn't asked for it o Don't go multilink if the peer hasn't agreed o When negotiating multilink, don't try to push the peers MRU up according to our `set mtu' setti
o Don't go multilink if the peer hasn't asked for it o Don't go multilink if the peer hasn't agreed o When negotiating multilink, don't try to push the peers MRU up according to our `set mtu' setting. Instead, accept whatever MRU they want and push their MRRU up instead. o When *not* negotiating multilink, REJ short sequence number REQs.
show more ...
|
#
49052c95 |
| 23-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
Negotiate MRRU, SHORTSEQ and ENDDISC. ENDDISC doesn't imply multilink ('cos I've seen my ISP REQ it without multilink).
Setting MRRU is ifdef'd out until it's debugged and we can merge -direct link
Negotiate MRRU, SHORTSEQ and ENDDISC. ENDDISC doesn't imply multilink ('cos I've seen my ISP REQ it without multilink).
Setting MRRU is ifdef'd out until it's debugged and we can merge -direct links with other running programs.
Fix MTU setting.
show more ...
|
#
fe3125a0 |
| 20-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
o Use __attribute__ (#ifdef __GNUC__) to type-check LogPrintf() and prompt_Printf(), and fix the bits identified as being wrong as a result.
|
#
1342caed |
| 16-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
o Move the accept/deny/disable/enable globals either to the bundle (non-negotiated vars) or to their respective IPCP, LCP or CCP. o Enable rolling throughput statistics by default. o Remove the `
o Move the accept/deny/disable/enable globals either to the bundle (non-negotiated vars) or to their respective IPCP, LCP or CCP. o Enable rolling throughput statistics by default. o Remove the `display' command. These values now appear in `show bundle', `show ipcp', `show ccp' and `show lcp'. o Initialise auth name & key at bundle create time (oops). o Rename pppd-deflate (the id-24 hack) to deflate24. o Don't send both a REJ and a NAK to an IPCP or LCP REQ. Favour the REJ (already done at the CCP level). o Recurse in datalink_UpdateSet() when we change state, otherwise we end up setting no descriptors and getting jammed in the imminent select() instead of doing the dial/login/hangup. o Display our CHAP encryption method despite being built with DES. o Display VJ as not negotiated in ``show ipcp'' when necessary.
show more ...
|
#
2764b86a |
| 07-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
o Move alias function pointers into loadalias.c o Move Var*Version into command.c o Remove struct pppVars (and there was much rejoicing) ! o Forward-decl some structs in .h files to avoid include o
o Move alias function pointers into loadalias.c o Move Var*Version into command.c o Remove struct pppVars (and there was much rejoicing) ! o Forward-decl some structs in .h files to avoid include ordering requirements and remove a few more redundant #includes.
show more ...
|
#
d24f017b |
| 06-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
Remove unused includes.
|
#
a3e27496 |
| 05-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
`int var : 1' -> `unsigned var : 1'. This made things look silly and made us mis-negotiate the number of VJ slots.
|
#
833882f7 |
| 03-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
o Move VarMSChap into struct chap, and remove `set encrypt' option. We never ask a client for MSChap when we've got chap `enabled', and we dynamically answer using MSChap if the peer demands i
o Move VarMSChap into struct chap, and remove `set encrypt' option. We never ask a client for MSChap when we've got chap `enabled', and we dynamically answer using MSChap if the peer demands it. o Remove all of the bundle2*() series of functions except bundle2datalink() as they're too expensive. The only calls to bundle2datalink() are made from command.c when determining context. o Write to the correct modem in term mode, and check the return value, dropping back to command mode if the write fails.
Cosmetic: Make the PPP COMMAND LIST section of the man page prettier, better and more consistent. Alphabeticalise all command lists and document missing commands.
show more ...
|
#
97ce322d |
| 03-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
Initialise multilink LCPs according to rfc1990.
|
#
b6217683 |
| 03-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
Deglobalise `struct prompt': o Our diagnostic socket has its password set in the `set socket' line only (not in ppp.secret). o Passwords are per server socket (*VarAuthKey are gone) o Autho
Deglobalise `struct prompt': o Our diagnostic socket has its password set in the `set socket' line only (not in ppp.secret). o Passwords are per server socket (*VarAuthKey are gone) o Authority is per prompt (VarLocalAuth is gone). o Local logging is per prompt. o Add a `show who' command to see who's connected. No identd routine - just a `where the connection came from' display. o SIGUSR1 is disabled for now - we have no way of choosing a password for the socket created :-(
Prompts are attached as a list of `struct descriptor's in struct bundle, and serviced under the bundles descriptor service routines. Ultimately, everything should be done like this.
Cosmetic: o alphabeticalise SRCS in Makefile. o Add a few comments in command.h
TODO: Start checking that we don't overflow the descriptor sets in select() now that we can have any number of descriptors.
show more ...
|
#
cd9647a1 |
| 03-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
o Move default MRU, MTU, ACCMAP and OPENMODE config values into struct lcp and display them in `show lcp'. o Remove `show mru' and `show mtu' and make the data part of `show lcp'. Also merge `se
o Move default MRU, MTU, ACCMAP and OPENMODE config values into struct lcp and display them in `show lcp'. o Remove `show mru' and `show mtu' and make the data part of `show lcp'. Also merge `set m[tr]u' and `set openmode' implementations into the SetVariable function. o `set timeout' only accepts the idle timer value as an argument. o Move our lqr period into struct lcp, and create a `set lqrperiod' command. Display it in `show lcp'. o Remove VarRetryTimeout, and implement it at the LCP, PAP, CHAP, CCP and IPCP levels, creating individual `set XXXretry' commands for each. They must be separate because they have different context requirements in multilink mode. o Display default config values in `show ccp'. o Tart the man page up a bit (wrt PPP/TCP, compression and LQR) and explain the new commands.
show more ...
|
#
3b0f8d2e |
| 03-Apr-1998 |
Brian Somers <brian@FreeBSD.org> |
o Move struct lcp and struct ccp into struct link. o Remove bundle2lcp(), bundle2ccp() and bundle2link(). They're too resource-hungry and we have `owner pointers' to do their job. o Make our FSM
o Move struct lcp and struct ccp into struct link. o Remove bundle2lcp(), bundle2ccp() and bundle2link(). They're too resource-hungry and we have `owner pointers' to do their job. o Make our FSM understand LCPs that are always ST_OPENED (with a minimum code that != 1). o Send FSM code rejects for invalid codes. o Make our bundle fsm_parent deal with multiple links. o Make timer diagnostics pretty and allow access via ~t in `term' mode (not just when logging debug) and `show timers'. Only show timers every second in debug mode, otherwise we get too many diagnostics to be useful (we probably still do). Also, don't restrict ~m in term mode to depend on debug logging. o Rationalise our bundles' phases. o Create struct mp (multilink protocol). This is both an NCP and a type of struct link. It feeds off other NCPs for output, passing fragmented packets into the queues of available datalinks. It also gets PROTO_MP input, reassembles the fragments into ppp frames, and passes them back to the HDLC layer that the fragments were passed from. ** It's not yet possible to enter multilink mode :-( ** o Add `set weight' (requires context) for deciding on a links weighting in multilink mode. Weighting is simplistic (and probably badly implemented) for now. o Remove the function pointers in struct link. They ended up only applying to physical links. o Configure our tun device with an MTU equal to the MRU from struct mp's LCP and a speed equal to the sum of our link speeds. o `show {lcp,ccp,proto}' and `set deflate' now have optional context and use ChooseLink() to decide on which `struct link' to use. This allows behaviour as before when in non-multilink mode, and allows access to the MP logical link in multilink mode. o Ignore reconnect and redial values when in -direct mode and when cleaning up. Always redial when in -ddial or -dedicated mode (unless cleaning up). o Tell our links to `staydown' when we close them due to a signal. o Remove remaining `#ifdef SIGALRM's (ppp doesn't function without alarms). o Don't bother strdup()ing our physical link name. o Various other cosmetic changes.
show more ...
|
#
1e991daa |
| 24-Mar-1998 |
Brian Somers <brian@FreeBSD.org> |
Remove some more globals: o int modem was unused. o StateNames[] is now accessed via State2Nam() o ipKeepAlive is no more. As a result, we must call FilterCheck() twice if we're doing TCP/
Remove some more globals: o int modem was unused. o StateNames[] is now accessed via State2Nam() o ipKeepAlive is no more. As a result, we must call FilterCheck() twice if we're doing TCP/IP logging (once when we queue and log the packet and once when we transmit it and need to know if the idle timer should be reset), but this won't be the case in normal life.
show more ...
|
Revision tags: release/2.2.6 |
|
#
2f786681 |
| 20-Mar-1998 |
Brian Somers <brian@FreeBSD.org> |
Make struct bundle into a sort of `struct descriptor'. It does the fdsets/reads/writes for each of it's datalinks.
|
#
2267893f |
| 20-Mar-1998 |
Brian Somers <brian@FreeBSD.org> |
o Check the LCP Identifier field for correctness and drop dodgy packets by default. The old behaviour is still available with ``disable idcheck''. o Make all FSM diagnostics consistent and tidy u
o Check the LCP Identifier field for correctness and drop dodgy packets by default. The old behaviour is still available with ``disable idcheck''. o Make all FSM diagnostics consistent and tidy up the way we build our LCP/CCP/IPCP requests. o Don't assume sizeof(u_long) == 4.
show more ...
|
#
eaa4df37 |
| 16-Mar-1998 |
Brian Somers <brian@FreeBSD.org> |
Move VJ compression state and stats into struct ipcp.
|
#
5ca5389a |
| 16-Mar-1998 |
Brian Somers <brian@FreeBSD.org> |
Move filter sets into struct bundle.
|
#
30c2f2ff |
| 13-Mar-1998 |
Brian Somers <brian@FreeBSD.org> |
Remove more globals
|
#
a611cad6 |
| 13-Mar-1998 |
Brian Somers <brian@FreeBSD.org> |
o Don't immediately reply to the first LQR thinking it's a duplicate ('cos it compares with our initial values). o Move the LCP into struct datalink.
|