s9y / Serendipity

A PHP blog software
https://s9y.org
BSD 3-Clause "New" or "Revised" License
207 stars 86 forks source link

Replace Net_DNSBL functionality in serendipity_event_spamblock_[su]rbl, remove Net_DNSBL from core #500

Open th-h opened 7 years ago

th-h commented 7 years ago

Net_DNSBL is bundled in core. It is needed just for serendipity_event_spamblock_rbl and serendipity_event_spamblock_surbl in the additional_plugins repository.

Net_DNSBL 1.3.7 requires Net_DNS, which has been superseded by Net_DNS2 and doesn't seem to be compatible with PHP 7. Net_DNSBL seems to be abandoned upstream, at least it hasn't been updated to Net_DNS2 for more than five years, see https://pear.php.net/bugs/bug.php?id=18883

Currently, we have bundled Net_DNS2 in core and patched Net_DNSBL to work with that, see #497

We should strive to remove Net_DNSBL from core and add the functionality to the plugins, perhaps merge them together. See @onli's comment in #495

onli commented 4 years ago

Okay, I propose this plan:

  1. Merge the two plugins together into a new plugin, serendipity_event_spamblock_blocklist
  2. That plugin will no longer use the PEAR bundled lib, but the small but current https://github.com/jbboehr/dnsbl.php. It will bundle that lib itself, if composer does not make that impossible.
  3. We also provide a new working default configuration. The rbl suggestion does not exist anymore, I suspect that surbl might also query a suboptimal list (but am not sure).
  4. Remove from bundled-libs/Net/: DNS2 and DNSBL
  5. Add an upgrade task to remove serendipity_event_spamblock_rbl and serendipity_event_spamblock_rbl. It will mention the new plugin as alternative, to be installed manually.

Sounds okay?