BSD Ports

mail/milter-skem 1.0.3 FreeBSD

Cache earlier sendmail's verdicts for the relays

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
Last update
Commit
36dc228bb9
License
SKEM
Categories
mail
Package size
15.4 KiB, 27.4 KiB installed

Description

The skem utility is a sendmail milter, that checks and maintains a list of whitelisted, temporary banned, and permanently blacklisted IP-addresses. How you obtain the entries is up to you, but the included logwatcher module provides one possibility.

The list is stored in a directory, each entry being a file (usually -- zero sized) or a symlink (usually -- a "broken" one). Such entries are stored efficiently (within the directory itself) and the directories are searched using the hash tables on modern file systems. At the same time, they can be listed, added, and removed with the simple ls(1), touch(1), and rm(1).

This milter does not itself filter spam, instead it memorizes the verdicts issued by your other anti-spam defenses to reduce the system load and resource consumption, by temporarily rejecting the relays suspected of spamming (banned) and, optionally, by permanently rejecting the relays "convicted" of spamming (blacklisted).

The idea is to stem the spam from real spam sources, while reducing the ill effects of false-positives to merely delaying, rather than rejecting future messages.

In the other systems

The newest version among them is 1.0.3, as upstream numbers it.

SystemPortVersionVulnerabilitiesStatusMaintainerLast update
FreeBSDmail/milter-skem1.0.3 newestnone known-[email protected]2026-10-24
DragonFlymail/milter-skem1.0.2_4 behind since 2026-10-24none known-[email protected]-
HardenedBSDmail/milter-skem1.0.2_4 behind since 2026-10-24no data-[email protected]-
GhostBSDmail/milter-skem1.0.2_4 behind since 2026-10-24no data-[email protected]-

Version history 2

  1. 1.0.3 36dc228bb9
  2. 1.0.2 when tracking began

Upstream's version as each commit to the port's Makefile set it, or as this site first saw it in the system's packages; the tree's own revisions are not versions here.

Install

Binary package:

pkg install skem

From the ports tree:

cd /usr/ports/mail/milter-skem/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	skem>0:mail/milter-skem

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest1.0.2_41.0.2_41.0.2_21.0.2_41.0.2_4
FreeBSD:14:quarterly1.0.2_41.0.2_4n/a1.0.2_41.0.2_4
FreeBSD:15:latest1.0.2_41.0.2_4n/a1.0.2_41.0.2_4
FreeBSD:15:quarterly1.0.2_41.0.2_4n/an/an/a
FreeBSD:16:latest1.0.2_41.0.2_4n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

The Makefile names none itself; they come from USES and USE_*.

The full lists below include those, and their dependencies in turn.

No port depends on this one.

Configuration

Options name: mail_skem

OptionDefaultDescription
SKEM_NETINETonSupport IPv4 addresses
SKEM_NETINET6offSupport IPv6 addresses (not tested)
SKEM_NO_CLEANUPoffOmit the auto-cleanup module
SKEM_NO_LOGWATCHERoffOmit the log-watching module
USES
tar:bzip2 uidfix
Service scripts
none

Message after installing

The milter-skem port does not (yet?) provide the
	milter-starting script(s).

	Please, read the manual page (skem(8)) to determine,
	what's best for your environment -- it can be configured
	to be automaticly launched by syslogd(8), for example.

Files

distinfo 1
FileSizeSHA256
skem-1.0.3.tar.bz2153686b0d74eb80960b2b24e5d044c9a714fae4eb1ccaa0a12889c5a26f4675ca304f
Master sites 1
  • http://virtual-estates.net/skem/

Commit history 1

DateCommitCreditsLog message
36dc228bb9 Mikhail Teterin mail/milter-skem: Update 1.0.2 => 1.0.3
Skem can now tell a stale socket -- left behind by an instance, that died without cleaning up -- from one, another instance is really listening on: a connect(2) to the abandoned entry fails with ECONNREFUSED, because the kernel clears the vnode's pointer at the listening socket, when the owner goes away. Such an entry is unlinked at once, instead of costing the half-minute of exponential back-off, the earlier versions spent before giving up. Whenever the question can not be answered -- we may not be allowed to connect, for example -- the old waiting behavior remains. Declare the (custom, not BSD) license, which also quiets bsd.port.mk. Prefer mail/libmilter, whenever it is installed -- and fall back on it, when the base system has none of its own: a world built WITHOUT_SENDMAIL …