ipppd, based on pppd 2.2.0g with a few changes from 2.3 ============================================================ copyright (c) 1995-1998 of all changes by Michael Hipp All changes are under GPL license. See "COPYING" file for more. (You can find this file in the root directory of the i4l utility package) Report bugs, problems etc. to: i4l-ippp@franken.de ATTENTION .. NEW NEW NEW NEW NEW ******************************** You also NEED the latest isdn4linux kernel version, because of a new struct!!!! changed default pathname for options to: /etc/ppp/ioptions pidfilename changed to: ipppd.pid removed checking of ~/.ppprc file ('options from user' feature) ------------------------------------------------------------ CHANGELOG: - 'useifip' will get (if not set to 0.0.0.0) the IP address for the negotiation from the attached network-interface. (also: ipppd will try to negotiate 'pointopoint' IP as remote IP) interface address -> local IP pointopoint address -> remote IP - '+mp' enables MPPP negotiation - 'useifmtu': a not so important option .. better use the 'mtu' option .. - from the ppp-2.3 package I took the 'noccp' option. (-ccp is the same). Necessary for a few netblazers on the remote side. - 'usefirstip' gets the remote address from the first entry in the auth file (if there is an IP address entry). This address should be a full IP address not an address from a masked area. Ipppd calls 'gethostbyname()' and negotiates the result. IP from auth file will overwrite the remote address gotten from the interface. 'usefirstip' is UNTESTED! - 'callback type[,message]' enables the callback feature also UNTESTED! ie: 'callback 0' -> simple callback (info via auth. etc.) 'callback 3,12346' -> us E.164 (tel) number 123456 for callback 'callback 6' is different. This value means, that the whole negotiation is done with a separate protocol after the authentification phase. Currently it's not possible to set any options in this case. The ipppd accepts everything from the remote side. - IPX and MS_DNS are now compiled into the binary without additional option Applied Hartwig Felgers MS-DNS (re)patch for this - added pppd2.3b3 maxconnect patches I got from Markus Hofmann - added 'pidfile ' option .. - added 'set_userip' .. you may define valid IPs in /etc/ppp/useriptab (it's a patch from: Meno Abels ) - added glibc-2 patches from: Andreas Jaeger - added 2.1.X patches by Miquel van Smoorenburg 10.06.97: - added remote number as parameter for auth script - found (hopefully) the 'bad filenumber ..' problem - fixed pidfile problem 08.03.98: - started to add radius patch .. not tested - SIGUSR2 should reload user password (untested) - minor bug with corrupted MPdiscr fixed 22.03.98: - more CCP changes 21.Jun.99: - I got two different DNS patches. Applied one of them. - added changes from A. Beck to ccp.c 07.Nov.99: - Added auth-fail script call if authentication fails - documented in man page. - Done by Werner Cornelius (werner@isdn4linux.de or werner@titro.de) ----------------------------------------------------------------- The ipppd can handle multiple devices. This is necessary to link several connections together to one bundle. Also, you only start the ipppd once. It now opens the devices and waits for connections. If you (or the remote side) closes the connection the ipppd reopens the device automatically. (the device .. not the link to the remote) So you shouldn't kill the ipppd to close a link. Instead, trigger a hangup on the netdevice layer. (with isdn4linux: isdnctrl hangup ') I applied the mschap80 patches (see README.mschap80), but this is untested. I also started to apply the CBCP patches .. not yet finished. May not work! I disabled the facility to configure the daemon via the /dev/ppp/ioptions. file. It's not necessary. Use the 'file' option or the command line for individual configuration. Better don't set the permissions of the programm to 'setuid to root on execution'. Call the daemon as root instead. No common user must call the daemon! --------------------------------------------------------------------- 1. Corrections for shadow support. This means that the isexpired routine has been removed, the references to pw_crypt have been changed to use crypt, etc. You must, repeat, MUST, have the libcrypt library if you now wish to use shadow passwords. The library is available with the crypt library. 2. The corrections for the IPXCP routing code. 3. The addition of a /etc/ppp/auth-up and /etc/ppp/auth-down program. This is used to aid implementations which rely upon the in-band authentication protocols. 5. The corrections which broken implementations of authentication protocol to cause pppd to loop. I am only aware of the Tumpet winsock stack which caused this condition.