I have put the uploaded the 2.2.0d version of pppd to the archive site at sunsite.unc.edu. The other mirror sites should have it at the period when they perform their mirror copies. The file for the 'final' resting place on sunsite is /pub/Linux/system/Network/serial/ppp-2.2.0d.tar.gz. The changes from the 2.2.0c version are best described as follows: 1. Change chat to recognize the ABORT strings if you specify a sub-string. Previously, if you used an expect string of OK-+++\c-OK or some such string, the abort string "NO CARRIER" would not be found on the first OK because it had a substring. 2. Change the ppp.c file to prevent the symbol table compilation problems. This should fix the problems with invalid ppp_syms table defintion. 3. Augment the IP list in the authentication to include a netmask option and to permit a reject as well as the default accept entries. I needed a method of specifying a range of IP addresses. It follows the format used by several locations, such as the RADB and ipfw code. 155.190.0.0/20 would mean 155.190.0.0 and netmask of 255.255.240.0 or 20 bits (from the left) for a netmask. 4. Flushed the tty input buffer prior to starting the connect program. This prevents old modem responses from a previous session to be fed to the current one. This one is fairly obvious. 5. Integrated Paul Mackerras' fix for a bug in the CCP which causes the bsd compression to constantly re-negotiate a smaller and smaller code size. Jim Pirkola found a problem with the BSD LCP negotiation. Paul sent me the fix for this. [Jim, your patch is wrong. You should not use it as the code length needs to be reduced and yours does not permit that. Replace it with this code please.] 6. Added options to set the Predictor-1 compressor if so desired. Clive Messler was kind to help me debug the Predictor-1 compressor module which is used by a commerical PPP package. Unfortunately, it employs a CRC algorithm based upon the original text as it was expanded. This is the subject of the Motorola software patent and so it wont be included with the base package. If you need a copy of Predictor-1, and please restrict it to NEED, not WANT, then let me know and I'll send it to you. 7. Add support for Microsoft DNS parameters by Christoper Lameter. This option will permit you to interface to Microsoft's Windows 95 clients easier. It will honor their request for the nameserver over the LCP protocol. To enable this, you must define USE_MS_DNS when the pppd process is built. 8. Added a README.mschap80 file. This file lists the patches needed to the pppd process to permit it to respond to Microsoft's PPP Windows NT server's CHAP authentication. This is not part of the 'offical' distribution. You must apply the patches in this file. These patches will require that you obtain the DES library from a separate source. (A reference is included.) The changes were developed by Eric Rosenquist . U.S. ITAR regulations would prohibit the distribution of this code if we included the full support for Microsoft's CHAP. 9. Added back the SunOS port to this package. This version of the pppd process was removed from earlier versions due to a restricted distribution license. However, the offending code for the SunOS port has been re-written and is no longer under the original streams package restriction on distribution. For this reason, the port was added back into this copy. By adding this port back into this distribution does not mean that I will support it. If you have problems with the SunOS version then send your requests directly to Paul Mackerras who did the port. 10.Support for the IPX protocol. It originated, and substantially resembles since it started with, the work by G.Cambell@irl.cri.nz. Many thanks to him for starting and getting the initial code to work. The IPX support requires at least the 1.3.45 kernel. This is probably the most major change to the code. The IPX support requires the 1.3.45 kernel. If you don't wish to run that kernel then do not attempt to use IPX. If you want IPX then you must use the very latest 1.3 kernel. The reason for this is that patches were included in that kernel to permit the protocol field to be defined as either IPX, IP, or whatever. It is this piece of informaiton which is needed by the PPP driver to know if the frame which it must send is either IPX or IP. Obviously, 1.3.46 and later kernels will suffice as well. The IPX support is controlled by the define "IPX_CHANGE". You must enable this define in the pppd/Makefile if you wish to build the pppd process for support of IPX. In addition, the kernel driver, ppp.c, needs the same define. You will find an 'undef IPX_CHANGE' near the top of the file. Change this to be a 'define IPX_CHANGE'. The code will execute the programs /etc/ppp/ipx-up and /etc/ppp/ipx-down when the IPX layer goes up and down. The ipx-up is probably more of a requirement than the ip-up processing is. The reason for this is that the pppd process has no concept of the code needed to do RIP/SAP and NLSP routing which it will negotiate. If someone has infomation on what I need to do to start/stop this type of processing then I would be intrested in hearing how to support the routing protocols. IP does not need things of this nature. There are more arguments to the ipx-up than given to ip-up. They are listed below: $0 - The name of the program/script. $1 - The network device name (i.e. ppp0) $2 - The tty device name (i.e. /dev/ttyS0) $3 - The rate for the tty device (i.e. 38400) $4 - The network number in hexadecimal $5 - The local node number, also in hexadecimal. $6 - The remote node number, ditto in hexadecimal. $7 - The routing protocol to be received (local) This is either NONE, RIP, NLSP, or RIP NLSP. $8 - The routing protcol to be sent (remote) It has the same values $9 - The local router name, as specified by the pppd option 'ipx-name' $10 - The remote router name $11 - The value of the option 'ipparam' $12 - The pid of the pppd process. This is normally the same as PPID if your shell supports this (getppid() if this is a program.) Obviously, you can only address the first ten options. However, I wanted to show them in this order. You will need to use a shift statement to access the options beyond $9. The instructions for the options for IPX are in the pppd help file. The LSM entry is included below. Begin3 Title: ppp Version: 2.2.0d Entered-date: 13DEC95 Description: Daemon for the PPP prtoocol for Linux. This includes the chat utility program. This version is designed to work with the 2.2.0 version of the linux kernel driver. Several fixes are in place over the previous version of 2.2. It includes initial support for IPX. Keywords: ppp, network, drivers Author: paulus@cs.anu.edu.au (Paul Mackerras) Maintained-by: longyear@netcom.com (Al Longyear) callahan@maths.ox.ac.uk (Michael Callahan) Primary-site: sunsite.unc.edu /pub/Linux/system/Network/serial 376629 bytes Original-site: bellatrix.anu.edu.au /pub/ppp Copying-policy: BSD End MD5-Checksum: b820e3244f8512fca51e31220d288f93