FS#20925 - [rp-pppoe] pppoe-server has wrong hardcoded path to pppoe-plugin
Attached to Project:
Arch Linux
Opened by Matthias Dienstbier (fs4000) - Friday, 24 September 2010, 01:28 GMT
Last edited by Isenmann Daniel (ise) - Monday, 18 April 2011, 07:14 GMT
Opened by Matthias Dienstbier (fs4000) - Friday, 24 September 2010, 01:28 GMT
Last edited by Isenmann Daniel (ise) - Monday, 18 April 2011, 07:14 GMT
|
Details
Description:
If you try to run pppoe-server with kernel-mode PPPoE (-k parameter) and connect a client you will get this error: pppd: /etc/ppp/plugins/rp-pppoe.so: cannot open shared object file: No such file or directory pppd: Couldn't load plugin /etc/ppp/plugins/rp-pppoe.so This is because the path to the plugin is hardcoded but we are moving the plugin from /etc to /usr after compilation. Solution: The Makefile has a PLUGIN_DIR option which should be changed or overridden instead. PS: Why do we use --enable-plugin=/ppp-2.4.4 and not simply --enable-plugin ? |
This task depends upon
Closed by Isenmann Daniel (ise)
Monday, 18 April 2011, 07:14 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed in package version 3.10-6. Package is in [testing]
Monday, 18 April 2011, 07:14 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed in package version 3.10-6. Package is in [testing]
>>> The kernel-mode plugin has a new place."
>>> It's now located under /usr/lib/rp-pppoe/rp-pppoe.so"
>>> Change LINUX_PLUGIN to the new path in your /etc/ppp/pppoe.conf"
$ strings /usr/sbin/pppoe-server | grep 'pppoe\.so'
/etc/ppp/plugins/rp-pppoe.so
Look at the code (this ssems to bild the command to invoke "pppd plugin /etc/ppp/plugins/rp-pppoe.so ...":
argv[c++] = "pppd";
argv[c++] = "plugin";
argv[c++] = PLUGIN_PATH;
According to Makefile it gets compiled with -DPLUGIN_PATH="/etc/ppp/plugins/rp-pppoe.so".
When I used "make PLUGIN_DIR=/usr/lib/rp-pppoe" the path was correct:
$ strings /usr/sbin/pppoe-server | grep 'pppoe\.so'
/usr/lib/rp-pppoe/rp-pppoe.so