Fix typos in copyright dates This fixes some typos introduced in commit d1506f182ba8, where 1994 got inadvertently changed to 1984 in three cases, and 1989 in another. Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Remove <linux/if_ppp.h> and <net/if_ppp.h> headers The if_ppp.h headers are redundant; all the relevant definitions are now in ppp_defs.h, ppp-ioctl.h for Linux (which comes from the kernel headers via the C library) and pppio.h for Solaris. Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Use autoconf/automake to configure and make ppp This change brings in autoconf/automake scripts to configure the ppp project. Current change doesn't eliminate the previous build system, but the new script autogen.sh will overwrite configure, and generate the basic Makefile.in and Makefile files. Features can now be enabled by command line: * Microsoft Extensions, - MSCHAP - MPPE - MS LAN Manager support * IPXCP protocol * CBCP protocol * PAM support * EAP-TLS support * EAP-SRP support * Max session lifetime by byte count * Plugins * Packet activity filter support * Multilink * IPv6 support Control linkage with * OpenSSL (-lssl -lcrypto) * systemd (-lsystemd) * libatm (-latm) * libsrp (-lsrp) * pam (-lpam) Also, the configure script is made sensitive to features of OpenSSL. Like the presence or absence of DES, SHA, MD4 and MD5 crypto support. In the cases where either of these are missing, the support will be directly compiled into pppd and plugins. In addition, package maintainers can now control the installation paths with standard --prefix=, or --localstatedir=, or --sysconfdir= to configure. On top of that, they can now control the following directories: * runtime directory w/--with-runtime-dir * logfile directory w/--with-logfile-dir * plugin directory w/--with-plugin-dir In the case where automake isn't the right solution, namely: SunOS kernel module build, the original Makefile infrastructure is preserved and reused. Care was taken to only cosmetically touchup the source files in this change. This means: * Insert HAVE_CONFIG_H and include config.h in all .c files. * Change HAS_SHADOW to HAVE_SHADOW_H * Change HAVE_LOGWTMP to HAVE_UTMP_H * Introduce HAVE_CRYPT_H into the source code where appropriate * Added ifdef MPPE where appropriate * USE_SRP required a few changes as it didn't compile * Touchup some compile warning in pppstats directory on SunOS Introduced a new pppdconf.h file that exports the appropriate defines to a module that wants to provide a module that pppd can dynamically load. This will define/undef features like MPPE, CHAPMS such that the project doesn't have to guess what features pppd is compiled with. Signed-off-by: Eivind Næss <eivnaes@yahoo.com>
Convert to ANSI C This gets rid of the __P and __V macros that were used so that the code was in theory compilable by a K&R C compiler, and converts the function definitions to ANSI C style. In fact there were already quite a few function definitions in the ANSI C style, so it would not have been compilable by a K&R C compiler in fact. The Solaris and BSD kernel code modules have had __P removed but the function definitions have not been converted. There are some other minor changes here to remove warnings. Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Revert "pppd: Include time.h before using time_t" This reverts commit b6cd5586f72852f56428749202779af596353b9e because it break compilation on Solaris with the following error: /opt/SUNWspro/bin/cc -D_KERNEL -DSVR4 -DSOL2 -DPRIOQ -DDEBUG -I../include -O -Xa -xO2 -xspace -W0,-Lt -c ppp.c "ppp.c", line 113: identifier redeclared: time current : long previous: function(pointer to long) returning long : "/usr/include/iso/time_iso.h", line 91 cc: acomp failed for ppp.c The include/net/ppp_defs.h header is used in the Solaris kernel driver and hence can't include userland headers. Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Remove old version of Linux if_pppol2tp.h This has been in the Linux kernel source now for long enough that we can rely on getting a usable version from /usr/include on all distributions that we care about. The version we have here had started to lag behind what is in the Linux kernel, causing compilation errors due to struct pppol2tpv3_addr being undefined. Removing our local version means we will use what is in /usr/include instead. Signed-off-by: Paul Mackerras <paulus@samba.org>
Remove more stuff that we don't need to distribute This removes some files from include/linux that any halfway-modern distro will have under /usr/include, and removes the stuff from the linux/ directory that we haven't included in the tarballs for ages. This also moves some MPPE macros from include/{linux,net}/ppp-comp.h to a new pppd/mppe.h. Signed-off-by: Paul Mackerras <paulus@samba.org>
More copyright updates. The new CMU copyright notice is from CMU and now explicitly allows modifications. I have an acknowledgement from ANU that the work I have done on pppd belongs to me and not to ANU, so I have changed the ANU copyright notices to reflect this.
ECP patches from Frank Cusack: - If encryption is required, don't bring up IP/IPv6/IPX until the encryption negotiation has completed. - Shut down LCP if the peer sends an LCP ConfRej instead of CCP ConfRej to our MPPE offer. This fixes a bug where the server could not enforce use of encryption in some cases. - Don't send the M=<message> part of an MS-CHAPv2 success packet to peers that don't know how to deal with it. This allows pre-win2k systems to authenticate. - Don't shut down lcp if MPPE was present in peer's CCP offer along with other options. This allows pre-win2k systems to do MPPE (they offer Stac LZS with MPPE). - Add the beginnings of ecp.c. - Other minor changes.