]> git.ozlabs.org Git - ppp.git/commit
Use autoconf/automake to configure and make ppp
authorEivind Næss <eivnaes@yahoo.com>
Thu, 24 Jun 2021 23:07:26 +0000 (16:07 -0700)
committerEivind Næss <eivnaes@yahoo.com>
Tue, 20 Jul 2021 15:24:08 +0000 (08:24 -0700)
commit2883dd07101bf851e2ea368f0c04c91aea85cff2
tree3e870a8563c504ee725b23ec179e5682c1657154
parent9c7ba0d42dee5e3f84ecb6e4fcdbefc6c1cd965c
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>
117 files changed:
.github/workflows/solaris.yaml
.github/workflows/ubuntu.yaml [new file with mode: 0644]
AUTHORS [new file with mode: 0644]
COPYING [new file with mode: 0644]
ChangeLog [new file with mode: 0644]
Makefile.am [new file with mode: 0644]
NEWS [new file with mode: 0644]
autogen.sh [new file with mode: 0755]
chat/Makefile.am [new file with mode: 0644]
common/Makefile.am [new file with mode: 0644]
configure
configure.ac [new file with mode: 0644]
contrib/Makefile.am [new file with mode: 0644]
contrib/pppgetpass/Makefile.am [new file with mode: 0644]
include/Makefile.am [new file with mode: 0644]
linux/pppd.pc.in [deleted file]
m4/ax_check_atm.m4 [new file with mode: 0644]
m4/ax_check_openssl.m4 [new file with mode: 0644]
m4/ax_check_openssl_func.m4 [new file with mode: 0644]
m4/ax_check_pam.m4 [new file with mode: 0644]
m4/ax_check_pcap.m4 [new file with mode: 0644]
m4/ax_check_srp.m4 [new file with mode: 0644]
m4/pkg.m4 [new file with mode: 0644]
modules/Makefile.am [new file with mode: 0644]
pppd/Makefile.am [new file with mode: 0644]
pppd/Makefile.linux
pppd/Makefile.sol2
pppd/auth.c
pppd/cbcp.c
pppd/cbcp.h
pppd/ccp.c
pppd/ccp.h
pppd/chap-md5.c
pppd/chap-md5.h
pppd/chap-new.c
pppd/chap-new.h
pppd/chap_ms.c
pppd/chap_ms.h
pppd/demand.c
pppd/eap-tls.c
pppd/eap-tls.h
pppd/eap.c
pppd/eap.h
pppd/ecp.c
pppd/ecp.h
pppd/eui64.c
pppd/eui64.h
pppd/fsm.c
pppd/fsm.h
pppd/ipcp.c
pppd/ipcp.h
pppd/ipv6cp.c
pppd/ipv6cp.h
pppd/ipxcp.c
pppd/ipxcp.h
pppd/lcp.c
pppd/lcp.h
pppd/magic.c
pppd/magic.h
pppd/main.c
pppd/md4.c
pppd/md4.h
pppd/md5.c
pppd/md5.h
pppd/mppe.c
pppd/mppe.h
pppd/multilink.c
pppd/options.c
pppd/patchlevel.h
pppd/pathnames.h
pppd/plugins/Makefile.am [new file with mode: 0644]
pppd/plugins/minconn.c
pppd/plugins/passprompt.c
pppd/plugins/passwordfd.c
pppd/plugins/pppoatm/Makefile.am [new file with mode: 0644]
pppd/plugins/pppoatm/pppoatm.c
pppd/plugins/pppoe/Makefile.am [new file with mode: 0644]
pppd/plugins/pppoe/common.c
pppd/plugins/pppoe/config.h [deleted file]
pppd/plugins/pppoe/debug.c
pppd/plugins/pppoe/discovery.c
pppd/plugins/pppoe/if.c
pppd/plugins/pppoe/plugin.c
pppd/plugins/pppoe/pppoe-discovery.c
pppd/plugins/pppoe/pppoe.h
pppd/plugins/pppol2tp/Makefile.am [new file with mode: 0644]
pppd/plugins/pppol2tp/openl2tp.c
pppd/plugins/pppol2tp/pppol2tp.c
pppd/plugins/radius/Makefile.am [new file with mode: 0644]
pppd/plugins/radius/radattr.c
pppd/plugins/radius/radius.c
pppd/plugins/radius/radrealms.c
pppd/plugins/winbind.c
pppd/pppcrypt.c
pppd/pppcrypt.h
pppd/pppd.h
pppd/pppd.pc.in [new file with mode: 0644]
pppd/pppdconf.h.in [new file with mode: 0644]
pppd/session.c
pppd/session.h
pppd/sha1.c
pppd/sha1.h
pppd/spinlock.c
pppd/spinlock.h
pppd/srp-entry.c
pppd/sys-linux.c
pppd/sys-solaris.c
pppd/tdb.c
pppd/tdb.h
pppd/tty.c
pppd/upap.c
pppd/upap.h
pppd/utils.c
pppdump/Makefile.am [new file with mode: 0644]
pppstats/Makefile.am [new file with mode: 0644]
pppstats/pppstats.c
scripts/Makefile.am [new file with mode: 0644]