Conflict between CountryBlock and IPBlockList?
-
Greetings all!
I'm running 2.0b4 (built on Sun Aug 8 10:20:52 EDT 2010), and I think I've found a conflict between two packages – Country Block v0.1.3 and IP-Blocklist 0.2.1. After installing both of these packages and rebooting, pfSense fails to complete its bootup process complaining about redeclared functions. The boot up process does display the final console menu, but it looks like the conflict throws off the init scripts such that none of the important bits of the firewall (web configurator, packet routing, etc.) actually fire up.
It looks as though countryblock.inc and ipblocklist.inc both define the same function names for pfSense configuration (php_install_command, php_sync_package, etc.). I was able to get the box to reboot by manually editing countryblock.inc and .xml to rename the functions (adding a _cb suffix) and fixing the references to them in the XML.
I'm not sure this is necessarily the correct place to report the conflict as I presume it would fall to one or both of the package maintainers to prevent the naming conflict, but I do wonder if there's any way that package init scripts might be loaded in such a way that one bad one doesn't cause the entire router startup to fail?
The changes I had to make were trivial and (I think) self-evident to anyone looking at the two files, but if a patch file or something would help, just let me know.
This problem seems to be completely reproducible as it happened once to me (at which point I re-installed pfSense from scratch) and now a second time when I took the time to figure it out & fix it (which as Murphy would have, happened on Friday the 13th when I wasn't at home and ended up locked out remotely and unable to fix it -- the W.A.F. rating took a bit of a dive there, alas ;-)
Best regards,
Zac Bedell -
I just now found this post. Next time post in the ipblocklist or countryblock topic since I 'subscribe' to those topics.
I am intrigued with the problem you found. My guess is because you are installing the two packages side by side. Many other packages have the same exact functions such as dnsblacklist.
You are the first that has posted such error. What steps can I take to reproduce the error? Is this 32bit or 64bit. Can I look at your patch file? I guess just renaming the function eliminates the problem?
-
This has been fixed for both packages. Thank you for pointing this out.