25 Commits

Author SHA1 Message Date
Adrien RICCIARDI
0f6a7c95e1 ci: Update the Solaris action to benefit from the faster VM (#522)
The total execution decreased by about 20%, sometimes even more.

Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>
2024-10-14 19:01:50 +11:00
Adrien RICCIARDI
006c81f204 CI: Updated the 'checkout' actions that were using Node.js 16 to Node.js 20. (#489)
See https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20.

Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>
2024-04-26 19:11:31 +10:00
Adrien RICCIARDI
c7cf25569a CI: Updated the Buildroot image to support the RISC-V architecture. (#482)
Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>
2024-04-19 19:01:06 +10:00
Adrien RICCIARDI
7f94eaeb70 ci: Used a Solaris VM with all needed build tools preinstalled. (#481)
This avoids losing time updating the package cache and installing the needed packages.

This also avoids breaking the Solaris build if the Solaris mirrors are temporarily unavailable.

Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>
2024-04-19 19:00:10 +10:00
Adrien RICCIARDI
c975187f8c ci: Fix the Solaris build (#464)
Switched to the latest version of the Solaris GitHub Action that now uses Qemu
and libvirt on an Ubuntu runner instead of VirtualBox on a macOS runner.

Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>
2023-12-06 09:26:22 +00:00
Adrien RICCIARDI
f5aa69baef CI: Update the 'checkout' action to V3 as V2 is being deprecated. (#437)
Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>
2023-09-01 21:58:46 +10:00
Ilya Shipitsin
1fe8384099 CI: add automatic tests, enable ASAN build&test (#399)
* CI: add automatic tests, enable ASAN build&test

Signed-off-by: Ilya Shipitsin <chipitsine@gmail.com>
2023-03-18 10:23:43 +11:00
Eivind Næss
ba7f7e053d Header file reorganization and cleaning up the public API for pppd version 2.5.0 (#379)
This commit does several things, being a squash-and-merge of a series
of changes; squashed in order not to break bisection.

* Clean up pppd.h, moving declarations that should only be accessed by
  pppd code (not by users of pppd) to a new pppd-private.h.  Also,
  other parts of pppd.h were moved to multilink.h, chap.h, eap.h,
  eui64.h, and a new options.h.

* Provide an API for access to data that is needed by plugins (in no
  particular order):
  - ifname
  - ifunit
  - remote_name
  - remote_number
  - peer_authname
  - status (now called "code" internally)
  - phase
  - doing_multilink
  - multilink_master
  - idle_time_limit
  - link_connect_time
  - max_connect_time
  - link_stats
  - ipparam
  - hostname
  - got_sigterm
  - got_sigusr2
  - got_sighup
  - session_number
  - maxoctets
  - maxoctets_dir
  - debug
  - persist
  - devnam
  - modem
  - peer_authname
  - sync_serial

* Update the version number to 2.5.0.

* Detect availability of stddef.h and stdarg.h.

* Rename some headers:
  - pppcrypt.c/h to crypto_ms.c/h
  - ppp-crypto.c/h to crypto.c/h
  - ppp-crypto-priv.h to crypto-priv.h
  - chap-new.c/h to chap.c/h

* Remove chap-md5.h, crypto-priv.h, eap-tls.h, etc. from the list of
  header files to be installed.

* Provide typedefs for the hook functions.

* Provide a typedef for the "phase" variable.

* Provide a typedef for the link statistics array.

* Remove the option_t typedef.

* Rename the following functions by adding a "ppp_" prefix (with the
  intention that these are a "public" API for use by plugins):
  - option_error
  - add_options
  - int_option,
  - options_from_file
  - script_setenv
  - bad_ip_adrs,
  - netif_get/set_mtu (renamed to ppp_get/set_mtu)
  - get_time
  - timeout
  - untimeout
  - safe_fork
  - sys_close
  - set_session_number
  - update_link_stats (renamed to ppp_get_link_stats)
  - add_notifier (renamed to ppp_add_notify)
  - remove_notifier (renamed to ppp_del_notify)
  - generic_[dis]establish_ppp (to ppp_generic_[dis]establish)

* Rename ppp_devnam to ppp_devname.

* Rename ppp_available() to ppp_check_kernel_support().

* Use unsigned char instead of u_char, unsigned short instead of
  u_short, uint32_t instead of u_int32_t.

* Add const to some declarations

* Update comments

* Change the interface for notifiers to use an enum to identify which
  notifier is to be modified.

* Provide an API for getting the path to a file, with an enum to
  identify different types of file.

* Link plugins with the -DPLUGIN flag

[paulus@ozlabs.org - wrote commit message]

Signed-off-by: Eivind Næss <eivnaes@yahoo.com>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2023-01-21 17:12:58 +11:00
Chocobo1
eb8d28195c Add enable-systemd flag to CI
And update package indexes, otherwise apt-get might not find the package.

Signed-off-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2022-09-25 17:12:16 +08:00
Adrien RICCIARDI
6dbc350dc4 ci: Update the Solaris GitHub action to use macOS 12 instead of macOS 10.15. (#359)
As macOS 10.15 support will be removed soon.

Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>
2022-08-09 19:17:17 +10:00
Adrien RICCIARDI
20fa5e803f Improved Buildroot CI build speed by providing precompiled Buildroot images. (#332)
Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>
2022-01-08 12:27:43 +11:00
Adrien RICCIARDI
ef301cf263 Updated Solaris CI action to fix build error on macOS greater than 10.15. (#327)
Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>
2021-12-13 16:37:16 +11:00
Chocobo1
b8c3dfca16 CI: Deduplicate configure flags by using a variable 2021-09-21 15:22:03 +08:00
Chocobo1
736dd64f3d CI: Remove redundant check
The step is already covered by `make distcheck`.
2021-09-21 15:20:47 +08:00
Chocobo1
74a76e8e65 CI: Perform installation step
This ensures installation code to be tested.
2021-09-21 15:15:03 +08:00
RICCIARDI-Adrien
e9cdeb051b Updated Buildroot CI to make it work with autotools. 2021-07-20 08:24:08 -07:00
Eivind Næss
2883dd0710 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>
2021-07-20 08:24:08 -07:00
Adrien RICCIARDI
89f74291fc Enabled Buildroot CI test builds on pull request. (#214)
Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>
2021-01-04 09:58:30 +11:00
Adrien RICCIARDI
0426f41d61 Solaris automated CI build. (#215)
* Started Solaris CI test. Retrieved PPP source code and started a Solaris virtual machine.

Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>

* Added PPP build step to Solaris CI.

Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>
2021-01-04 09:57:37 +11:00
RICCIARDI-Adrien
abe6cbf492 Added ARM, PPC and MIPS targets to Buildroot CI tests.
Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>
2021-01-01 16:59:00 +01:00
RICCIARDI-Adrien
738097d668 Added Buildroot C library selection.
Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>
2021-01-01 16:59:00 +01:00
RICCIARDI-Adrien
9295df66e3 Added Buildroot configuration and build steps.
Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>
2021-01-01 16:59:00 +01:00
RICCIARDI-Adrien
01312898ee Enabled PPPD package in Buildroot defconfig.
Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>
2021-01-01 16:59:00 +01:00
RICCIARDI-Adrien
f494dfbb02 Modified Buildroot PPPD package to use GitHub master branch.
Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>
2021-01-01 16:59:00 +01:00
RICCIARDI-Adrien
d0d4551179 Started Buildroot GitHub action. It can currently only retrieve latest stable Buildroot sources.
Signed-off-by: RICCIARDI-Adrien <adrien.ricciardi@hotmail.fr>
2021-01-01 16:59:00 +01:00