diff options
author | Thomas Haller <thaller@redhat.com> | 2023-06-14 16:17:59 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2023-06-14 16:17:59 +0200 |
commit | 6f9f90417ef87b76a297fddb908320547a8eac84 (patch) | |
tree | 0091dd1706c60458b28cae991d668b6940e6ba3a | |
parent | dafe66905fe4b17099e563a2f2ee18f58ab04e3e (diff) | |
parent | 0a7145a061b26a6be0162500e3dde0940aeb2dda (diff) |
ppp: merge branch 'th/pppd-so-rename'
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/1312
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1660
-rw-r--r-- | Makefile.am | 6 | ||||
-rw-r--r-- | config.h.meson | 3 | ||||
-rw-r--r-- | configure.ac | 3 | ||||
-rw-r--r-- | meson.build | 3 | ||||
-rw-r--r-- | src/core/ppp/nm-ppp-manager.c | 4 | ||||
-rw-r--r-- | src/core/ppp/nm-ppp-status.h | 6 | ||||
-rw-r--r-- | src/core/ppp/nm-pppd-compat.c | 4 |
7 files changed, 27 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am index 33ce9482fc..acd2de317c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3349,6 +3349,12 @@ src_core_ppp_libnm_ppp_plugin_la_LIBADD = \ $(src_core_ppp_libnm_ppp_plugin_la_OBJECTS): $(src_libnm_core_public_mkenums_h) +check-local-ppp-plugin: src/core/NetworkManager src/core/ppp/libnm-ppp-plugin.la + $(srcdir)/tools/check-exports.sh $(builddir)/src/core/ppp/.libs/libnm-ppp-plugin.so "$(srcdir)/src/core/ppp/nm-ppp-plugin.ver" + $(call check_so_symbols,$(builddir)/src/core/ppp/.libs/libnm-ppp-plugin.so) + +check_local += check-local-ppp-plugin + endif EXTRA_DIST += \ diff --git a/config.h.meson b/config.h.meson index 7337165082..bda542035b 100644 --- a/config.h.meson +++ b/config.h.meson @@ -239,6 +239,9 @@ /* Define to path of pppd binary */ #mesondefine PPPD_PATH +/* The detected ppp API version */ +#mesondefine NM_PPP_VERSION_2_5_OR_NEWER + /* Define if you have iwd support */ #mesondefine WITH_IWD diff --git a/configure.ac b/configure.ac index d339c856a8..5d746ef81c 100644 --- a/configure.ac +++ b/configure.ac @@ -754,10 +754,12 @@ fi AC_SUBST(DBUS_SYS_DIR) # pppd +NM_PPP_VERSION_2_5_OR_NEWER=0 PPPD_VERSION=2.4.9 PKG_CHECK_EXISTS([pppd], [ PPPD_VERSION=`$PKG_CONFIG --modversion pppd` PPPD_CFLAGS=`$PKG_CONFIG --cflags pppd` + NM_PPP_VERSION_2_5_OR_NEWER=1 ]) AC_ARG_ENABLE(ppp, @@ -783,6 +785,7 @@ else PPPD_PLUGIN_DIR="${libdir}/pppd/$PPPD_VERSION" fi AC_SUBST(PPPD_PLUGIN_DIR) +AC_DEFINE_UNQUOTED(NM_PPP_VERSION_2_5_OR_NEWER, $NM_PPP_VERSION_2_5_OR_NEWER, [The detected ppp API version]) AC_ARG_WITH(pppd, AS_HELP_STRING([--with-pppd=/path/to/pppd], [path to pppd binary])) if test "x${with_pppd}" = x; then diff --git a/meson.build b/meson.build index e9d7f16c0e..c108c3bfb5 100644 --- a/meson.build +++ b/meson.build @@ -560,10 +560,12 @@ config_h.set10('WITH_FIREWALLD_ZONE', enable_firewalld_zone) # pppd enable_ppp = get_option('ppp') +NM_PPP_VERSION_2_5_OR_NEWER = 0 if enable_ppp pppd_dep = dependency('pppd', required: false) if (pppd_dep.found()) pppd_version = pppd_dep.version() + NM_PPP_VERSION_2_5_OR_NEWER = 1 else assert(cc.has_header('pppd/pppd.h'), 'couldn\'t find pppd.h. pppd development headers are required') pppd_version = '2.4.9' @@ -584,6 +586,7 @@ if enable_ppp endif endif config_h.set10('WITH_PPP', enable_ppp) +config_h.set10('NM_PPP_VERSION_2_5_OR_NEWER', NM_PPP_VERSION_2_5_OR_NEWER) # ModemManager1 with libmm-glib enable_modem_manager = get_option('modem_manager') diff --git a/src/core/ppp/nm-ppp-manager.c b/src/core/ppp/nm-ppp-manager.c index bb043a7e41..fbc5d075a0 100644 --- a/src/core/ppp/nm-ppp-manager.c +++ b/src/core/ppp/nm-ppp-manager.c @@ -843,7 +843,7 @@ create_pppd_cmd_line(NMPPPManager *self, const char *pppoe_service; nm_strv_ptrarray_add_string_dup(cmd, "plugin"); - nm_strv_ptrarray_add_string_dup(cmd, "rp-pppoe.so"); + nm_strv_ptrarray_add_string_dup(cmd, NM_PPPOE_PLUGIN_NAME); nm_strv_ptrarray_add_string_concat(cmd, "nic-", priv->parent_iface); @@ -872,7 +872,7 @@ create_pppd_cmd_line(NMPPPManager *self, } else if (!strcmp(protocol, NM_SETTING_ADSL_PROTOCOL_PPPOE)) { nm_strv_ptrarray_add_string_dup(cmd, "plugin"); - nm_strv_ptrarray_add_string_dup(cmd, "rp-pppoe.so"); + nm_strv_ptrarray_add_string_dup(cmd, NM_PPPOE_PLUGIN_NAME); nm_strv_ptrarray_add_string_dup(cmd, priv->parent_iface); } diff --git a/src/core/ppp/nm-ppp-status.h b/src/core/ppp/nm-ppp-status.h index 57b48fe922..a2576e9cc0 100644 --- a/src/core/ppp/nm-ppp-status.h +++ b/src/core/ppp/nm-ppp-status.h @@ -29,4 +29,10 @@ typedef enum { NM_PPP_STATUS_INTERN_DEAD, } NMPPPStatus; +/*****************************************************************************/ + +/* The plugin name "(rp-)pppoe.so" depends on the ppp version. */ + +#define NM_PPPOE_PLUGIN_NAME (NM_PPP_VERSION_2_5_OR_NEWER ? "pppoe.so" : "rp-pppoe.so") + #endif /* __NM_PPP_STATUS_H__ */ diff --git a/src/core/ppp/nm-pppd-compat.c b/src/core/ppp/nm-pppd-compat.c index fd67eb3493..f7940c5501 100644 --- a/src/core/ppp/nm-pppd-compat.c +++ b/src/core/ppp/nm-pppd-compat.c @@ -75,6 +75,10 @@ _NM_PRAGMA_WARNING_REENABLE; /*****************************************************************************/ +G_STATIC_ASSERT(PPP_VERSION_2_5_OR_NEWER == NM_PPP_VERSION_2_5_OR_NEWER); + +/*****************************************************************************/ + G_STATIC_ASSERT((gint64) NM_PPP_STATUS_DEAD == PHASE_DEAD); G_STATIC_ASSERT((gint64) NM_PPP_STATUS_INITIALIZE == PHASE_INITIALIZE); G_STATIC_ASSERT((gint64) NM_PPP_STATUS_SERIALCONN == PHASE_SERIALCONN); |