Skip to content

Commit 2883dd0

Browse files
committed
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 <[email protected]>
1 parent 9c7ba0d commit 2883dd0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

117 files changed

+2479
-195
lines changed

.github/workflows/solaris.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ jobs:
1212
with:
1313
run: |
1414
pkg update
15-
pkg install gcc
16-
./configure
15+
pkg install gcc automake autoconf libtool
16+
./autogen.sh CFLAGS="-Wno-deprecated-declarations"
1717
make

.github/workflows/ubuntu.yaml

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Build and Test
2+
on: [push, pull_request]
3+
4+
jobs:
5+
build_and_test:
6+
runs-on: ubuntu-latest
7+
8+
steps:
9+
- uses: actions/checkout@v2
10+
11+
- name: install required packages
12+
run: sudo DEBIAN_FRONTEND=noninteractive apt-get -y -qq install build-essential autoconf automake pkg-config libtool m4 autoconf-archive libssl-dev libatm1-dev libpcap-dev
13+
14+
- name: configure
15+
run: ./autogen.sh --enable-multilink --enable-ipxcp
16+
17+
- name: build
18+
run: make V=1 CFLAGS="-O2 -g -Wno-unused-result"
19+
20+
- name: check
21+
run: make check
22+
23+
- name: distcheck
24+
run: make distcheck DISTCHECK_CONFIGURE_FLAGS="--enable-multilink --enable-ipxcp"

AUTHORS

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
The pppd Project
2+
https://github.com/ppp-project/ppp
3+
4+
Primary Author of this package:
5+
Linux Paul Mackerras <[email protected]>
6+
Solaris James Carlson <[email protected]>
7+

COPYING

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Copyrights:
2+
***********
3+
4+
All of the code can be freely used and redistributed. The individual
5+
source files each have their own copyright and permission notice.
6+
Pppd, pppstats and pppdump are under BSD-style notices. Some of the
7+
pppd plugins are GPL'd. Chat is public domain.

ChangeLog

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
2021-07-11 Eivind Naess <[email protected]>
2+
3+
Introduction of Autotools to pppd project
4+

Makefile.am

+77
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
ACLOCAL_AMFLAGS="-Im4"
2+
3+
SUBDIRS = chat contrib pppd pppstats pppdump
4+
5+
if WITH_PLUGINS
6+
SUBDIRS += pppd/plugins
7+
endif
8+
9+
DIST_SUBDIRS = $(SUBDIRS) common include modules scripts
10+
11+
#
12+
# *HACK*
13+
# This is to work around the kernel module for PPP on Sun Solaris
14+
if SUNOS
15+
all-am:
16+
(cd solaris ; make -f Makefile)
17+
18+
clean-generic:
19+
(cd solaris ; make -f Makefile clean)
20+
21+
install-am:
22+
(cd solaris ; make -f Makefile install)
23+
endif
24+
25+
sampledir = $(sysconfdir)/@PACKAGE@
26+
27+
sample_DATA = \
28+
etc.ppp/options \
29+
etc.ppp/chap-secrets \
30+
etc.ppp/pap-secrets \
31+
etc.ppp/eaptls-server \
32+
etc.ppp/eaptls-client \
33+
etc.ppp/openssl.cnf
34+
35+
EXTRA_README = \
36+
Changes-2.3 \
37+
FAQ \
38+
README \
39+
README.cbcp \
40+
README.eap-srp \
41+
README.eap-tls \
42+
README.linux \
43+
README.MPPE \
44+
README.MSCHAP80 \
45+
README.MSCHAP81 \
46+
README.pppoe \
47+
README.pppol2tp \
48+
README.pwfd \
49+
README.sol2 \
50+
PLUGINS \
51+
SETUP \
52+
Submitting-patches.md
53+
54+
EXTRA_SOLARIS = \
55+
solaris/Makedefs \
56+
solaris/Makedefs.gcc \
57+
solaris/Makedefs.sol2 \
58+
solaris/Makefile.sol2 \
59+
solaris/Makefile.sol2-64 \
60+
solaris/Makefile.sol2-64x \
61+
solaris/Makefile.sol2gcc \
62+
solaris/Makefile.sol2gcc-64 \
63+
solaris/Makefile.sol2gcc-64x \
64+
solaris/Makefile.top \
65+
solaris/ppp_ahdlc.c \
66+
solaris/ppp_ahdlc_mod.c \
67+
solaris/ppp.c \
68+
solaris/ppp_comp.c \
69+
solaris/ppp_comp_mod.c \
70+
solaris/ppp.conf \
71+
solaris/ppp_mod.c \
72+
solaris/ppp_mod.h
73+
74+
EXTRA_DIST= \
75+
$(sample_DATA) \
76+
$(EXTRA_README) \
77+
$(EXTRA_SOLARIS)

0 commit comments

Comments
 (0)