mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-25 16:30:07 +01:00
ppp: fix plugin name for "rp-pppoe.so" with ppp 2.5
Between ppp 2.4.8 and 2.4.9, "rp-pppoe.so" was renamed to "pppoe.so" (and a symlink created). Between 2.4.9 and 2.5.0, the symlink was dropped. See-also:b2c36e6c0eI guess, NetworkManager always meant to use ppp's "(rp-)pppoe.so" plugin, and never what rp-pppoe provides. If a user actually wants to use the plugin from rp-pppoe project, then this is going to break. But it seams, we usually intend to use the plugin from the ppp project. https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/1312 Fixes:afe80171b2('ppp: move ppp code to "nm-pppd-compat.c"')
This commit is contained in:
parent
4d6036ac66
commit
fe2aade565
3 changed files with 13 additions and 2 deletions
|
|
@ -38,6 +38,7 @@
|
|||
#include "nm-pppd-plugin.h"
|
||||
#include "nm-ppp-plugin-api.h"
|
||||
#include "nm-ppp-status.h"
|
||||
#include "nm-pppd-compat.h"
|
||||
|
||||
#define NM_PPPD_PLUGIN PPPD_PLUGIN_DIR "/nm-pppd-plugin.so"
|
||||
|
||||
|
|
@ -843,7 +844,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_pppd_compat_get_pppoe_plugin_name());
|
||||
|
||||
nm_strv_ptrarray_add_string_concat(cmd, "nic-", priv->parent_iface);
|
||||
|
||||
|
|
@ -872,7 +873,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_pppd_compat_get_pppoe_plugin_name());
|
||||
nm_strv_ptrarray_add_string_dup(cmd, priv->parent_iface);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -94,6 +94,14 @@ G_STATIC_ASSERT(NM_PPPD_COMPAT_MAXSECRETLEN == MAXSECRETLEN);
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
_nm_const const char *
|
||||
nm_pppd_compat_get_pppoe_plugin_name(void)
|
||||
{
|
||||
return PPP_VERSION_2_5_OR_NEWER ? "pppoe.so" : "rp-pppoe.so";
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
int
|
||||
nm_pppd_compat_get_ifunit(void)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@
|
|||
|
||||
int nm_pppd_compat_get_ifunit(void);
|
||||
|
||||
const char *nm_pppd_compat_get_pppoe_plugin_name(void) _nm_const;
|
||||
|
||||
const char *nm_pppd_compat_get_ifname(void);
|
||||
void nm_pppd_compat_set_ifname(const char *ifname);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue