pppd: Drop linux IPX support (#326) The 5.15 Linux kernel has removed ipx support, along with the userspace visible header. This support wasn't very well maintained in the kernel for several years so drop the support from ppp as well since this won't be usable in future. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.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>
pppd: Remove unused rcsid variables Signed-off-by: Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
pppd: ipxcp: Prevent buffer overrun on remote router name This fixes an if condition to prevent a possible 1-byte overrun on ipxcp_hisoptions[0].name. Reported-by: "Sabas Rosales, Blanca E" <blanca.e.sabas.rosales@intel.com> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Remove various warnings, fix pppol2tp install This fixes a collection of minor things that were resulting in harmless warnings (accidental trigraphs, missing prototypes, signed/unsigned char being used interchangeably) and corrects an error in the pppol2tp makefile, which meant that it wasn't installing anything. Signed-off-by: Paul Mackerras <paulus@samba.org>
Added an /etc/ppp/ip-pre-up script, run before the interface is brought up. This necessitated adding a "wait" parameter to run_program, since we need to wait for this script to finish before proceeding.
Add a 'treat as reject' parameter to the nakci functions. Use it to make sure we don't keep requesting the same IP address over and over when it keeps getting nacked.
Fixed the old chap.c so that it works with the new auth.c, since existing makefiles still refer to chap.c for all but Linux. Fixed unsolicited Configure-Nak handling in *_nakci -- usenet report that 'while' loop terminates too early if there's a boolean. Fixed tiny typo in chap-new.c comment.
Update copyrights. 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. I have emails from Pedro Roque Marques, Tommi Komulainen and Eric Rosenquist giving me permission to change their copyright notices to be similar to the CMU notice.
New options system with priorities for option values, with options grouped into groups where necessary, so the command line overrides the per-tty options file, plus the ability to print out the set of options currently in effect. Some options moved from lcp.c to tty.c.
Rework options processing stuff to implement option priorities so the per-tty options file gets processed correctly. Moved stuff out of options.c into other files (e.g. setipaddr)
Rest of IPV6 merge which got lost somehow, plus some minor fixes.
Fix the rcsid's for non-ansi compilers
kill warning
small changes suggested by Seth Chaiklin
Add pty, notty and record options. Fix stats - problem was differing stats structures between linux and other platforms. Fix for removing proxy arp entry on linux. IPX patches.
made some functions static. ignore extra unrecognized options in nak. changed order of args to strlcpy/strlcat.
add data_name to struct protent call lcp_lowerdown when connection terminates
don't call np_down unless np_up has been called