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:b2c36e6c0e
I guess, NetworkManager always meant to use ppp's "(rp-)pppoe.so" plugin, and never the library from the rp-pppoe project. If a user actually wants to use the plugin from rp-pppoe project, then this is going to break. https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/1312 Fixes:afe80171b2
('ppp: move ppp code to "nm-pppd-compat.c"')
This commit is contained in:
@@ -843,7 +843,7 @@ create_pppd_cmd_line(NMPPPManager *self,
|
|||||||
const char *pppoe_service;
|
const char *pppoe_service;
|
||||||
|
|
||||||
nm_strv_ptrarray_add_string_dup(cmd, "plugin");
|
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);
|
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)) {
|
} else if (!strcmp(protocol, NM_SETTING_ADSL_PROTOCOL_PPPOE)) {
|
||||||
nm_strv_ptrarray_add_string_dup(cmd, "plugin");
|
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);
|
nm_strv_ptrarray_add_string_dup(cmd, priv->parent_iface);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -29,4 +29,10 @@ typedef enum {
|
|||||||
NM_PPP_STATUS_INTERN_DEAD,
|
NM_PPP_STATUS_INTERN_DEAD,
|
||||||
} NMPPPStatus;
|
} 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__ */
|
#endif /* __NM_PPP_STATUS_H__ */
|
||||||
|
Reference in New Issue
Block a user