Repository navigation
Dead code removal, restore RPM spec - #364
Merged
Merged
Conversation
msimerson
force-pushed
the
dead-code-removal
branch
3 times, most recently
from
October 8, 2026 16:40
bfa05a7 to
b4e8772
Compare
There was a problem hiding this comment.
🟡 Changes recommended
The restored RPM configuration has spool ownership and permissions issues, and some documentation remains inconsistent.
4 open findings
What changed in this PR
Removes obsolete plugins, utilities, fixtures, and references while restoring RPM packaging support.
Changes:
- Removes discontinued virus scanners, DSPAM, DomainKeys, and unused utilities.
- Updates manifests, configuration, logging, and upgrade documentation.
- Restores the RPM spec and upgrades
actions/checkout.
| File | Description |
|---|---|
UPGRADING.md |
Documents removed plugins and replacements. |
t/config/public_suffix_list |
Removes unused test fixture. |
t/config/plugins |
Removes obsolete plugin entries. |
STATUS |
Removes outdated roadmap. |
run.forkserver |
Removes obsolete wiki link. |
README.plugins.md |
Removes stale SVN reference. |
plugins/virus/sophie |
Removes discontinued scanner plugin. |
plugins/virus/klez_filter |
Removes obsolete Klez filter. |
plugins/virus/kavscanner |
Removes discontinued scanner plugin. |
plugins/virus/hbedv |
Removes discontinued scanner plugin. |
plugins/virus/bitdefender |
Removes discontinued scanner plugin. |
plugins/virus/aveclient |
Removes discontinued scanner plugin. |
plugins/registry.txt |
Removes deleted plugins from registry. |
plugins/naughty |
Removes DSPAM-specific guidance. |
plugins/karma |
Updates heavy-filter documentation. |
plugins/dspam |
Removes unmaintained DSPAM integration. |
plugins/domainkeys |
Removes superseded DomainKeys support. |
packaging/rpm/qpsmtpd.spec.in |
Restores RPM packaging specification. |
MANIFEST.SKIP |
Removes SVN-specific exclusion. |
MANIFEST |
Removes deleted files from distribution. |
Makefile.PL |
Removes SVN directory filtering. |
log/summarize |
Removes deleted plugin fields. |
log/log2sql |
Removes DSPAM-specific parsing. |
docs/logging.md |
Updates logging examples. |
docs/hooks.md |
Removes obsolete references. |
config.sample/plugins |
Removes obsolete sample entries. |
CHANGELOG.md |
Records removals and RPM restoration. |
bin/install_deps.pl |
Removes outdated dependency installer. |
bin/geolite-mirror-simple.pl |
Removes retired GeoLite downloader. |
.github/workflows/ci.yml |
Upgrades checkout action to v6. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
see CHANGELOG entries
msimerson
force-pushed
the
dead-code-removal
branch
from
October 8, 2026 18:07
b4e8772 to
a16ef5e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Removes plugins and scripts for services that no longer exist, cleans up the references to them, and restores the RPM spec file.
Removed
virus/klez_filter, and the plugins for scanners their vendors discontinued:aveclient,bitdefender,hbedv,kavscannerandsophie.dspam: DSPAM has been unmaintained since 2012.domainkeys: DomainKeys gave way to DKIM in 2007; usedkim.bin/geolite-mirror-simple.pl: MaxMind retired the legacy GeoLite files in 2019.bin/install_deps.pl: usecpanm --installdeps ..config.sample/public_suffix_listand itst/configcopy: nothing read them.STATUS.quit_fortuneis dropped fromconfig.sample/plugins.UPGRADING says to remove the deleted plugins from
config/plugins, since qpsmtpd won't start while it lists a missing plugin.References cleaned up
plugins/registry.txt,config.sample/plugins,t/config/plugins,log/summarizeandlog/log2sqlno longer name the removed plugins.docs/hooks.md,docs/logging.md,README.plugins.md) and the karma and naughty POD no longer name dspam or domainkeys, or link to the defunct svn repository and wiki.Makefile.PL'sMY::libscanand MANIFEST.SKIP's.svnrule are gone.actions/checkout@v6.RPM
packaging/rpm/qpsmtpd.spec.inwas removed by accident along with Apache::Qpsmtpd in 1.01 (a8b6d98), sopackaging/rpmcouldn't build. It's restored and updated:Makefile.PL'sPREREQ_PM.CHANGELOG.mdandUPGRADING.md.smtpd:smtpd, mode 2750, and the package writesspool_permsto match, so qpsmtpd doesn't warn at startup. To scan with clamd, addclamavto thesmtpdgroup.%changeloghas a 1.02-1 entry.make updategenerates the spec. It hasn't been tested withrpmbuild.