greylistd-setup-exim4(8)

✨ greylistd-setup-exim4 ✨

okay bestie, so this is a page from section 8 of the manual β€” system administration tools, the big-league stuff πŸ’… β€” and it's literally called greylistd-setup-exim4. Say that five times fast, I dare you. It lives in the Mail Administration corner of the man pages and it's your little helper for wiring greylistd into Exim 4. Let's get into it 🫢


🌸 NAME 🌸

greylistd-setup-exim4 β€” add or remove support for greylistd in Exim 4. That's it, that's the whole job description, and honestly? Iconic.


πŸŽ€ SYNOPSIS πŸŽ€

greylistd-setup-exim4 {add|remove|test} [file acl_name] [-option ...]

πŸ’– DESCRIPTION πŸ’–

So here's the tea β˜• β€” this utility configures, deconfigures, or tests for greylistd support in a given Exim 4 configuration file and Access Control List (ACL). Three modes, one lil script, no cap.

And if you don't hand it a file or an ACL name? No stress, it just quietly does its thing on the default configuration files and ACLs for your distribution. It knows where they live. It's got you πŸ’…


πŸ¦‹ USAGE πŸ¦‹

The commands, in all their glory ✨:

  • add β€” Adds greylistd statement(s).
  • remove β€” Removes existing greylistd statement(s).
  • test β€” Tests for the presence of greylistd statement(s), without making any changes. A zero exit status means the statement(s) exist(s). It's giving detective energy πŸ”

🌈 The Options 🌈

Options time, bestie, and yes we're doing all of them:

  • -quiet β€” Normally, the result of the operation is printed on standard error; this option inhibits output. Shhh 🀫
  • -no-fail β€” Always exit with a zero status, even on failure. If this option is given, only the result of successful operations are printed. Failure? Never met her.
  • -no-reload β€” Normally, if any changes were made to the Exim 4 configuration files, greylistd-setup-exim4 invokes the Exim 4 init script, telling Exim to reload its configuration files. This option inhibits this behavior. So it just... doesn't tell Exim anything. Living its own life πŸ’€
  • -netmask=size β€” In the statement that gets inserted into the Exim 4 configuration file, the remote host address is one of the items that is passed on to greylistd. This option causes the host address to be filtered through a netmask of the given size first. Useful values are between 16 and 31 for IPv4. Squish those addresses together, slay πŸŽ€
  • -acltype={rcpt|data} β€” Used in conjunction with the add command to insert a statement suitable for use in an ACL used to validate the SMTP RCPT TO: command or the message DATA, respectively. This is implicit when the supplied ACL name contains either of the substrings "rcpt" or "data" (such as Debian's default "acl_check_rcpt" and "acl_check_data" ACLs). Otherwise, this option has to be present for the add command. So like, don't forget it, or it's not gonna work πŸ™ˆ

🌟 EXAMPLES 🌟

Real-world scenarios, let's gooo πŸ”₯

πŸ’œ greylistd-setup-exim4 add -netmask=24

Adds greylistd statements to any acl_check_rcpt and acl_check_data ACLs found in any of the following files:

  • /etc/exim4/exim4.conf.template
  • /etc/exim4/conf.d/acl/30_exim4-config_check_rcpt
  • /etc/exim4/conf.d/acl/40_exim4-config_check_data

In these statements, the data passed to greylistd includes the host address filtered through a 24-bit netmask, rather than the host's unique IP address. This allows for pools of several Mail Sending Agents (MSAs) within a given network to be treated as a single host. Group project, but make it network configuration 🫢

If successful, Exim 4 is told to reload its configuration files. If a statement already exists, nothing happens β€” but the program exits unsuccessfully (non-zero return code). Rude? Maybe. Accurate? Yes πŸ’€

πŸ’œ greylistd-setup-exim4 remove -quiet

Remove greylisting support from the above configuration files and ACLs. If greylistd statements exist in these files and ACLs, they are removed, and Exim 4 will reload its configuration files. The exit code indicates whether the statements were present and are now successfully removed; but no results are printed. Silent but deadly πŸ’…

πŸ’œ greylistd-setup-exim4 add /etc/exim4/exim4.conf.template acl_check_rcpt -no-reload

If no greylistd statements already exists in the acl_check_rcpt ACL in the file /etc/exim4/exim4.conf.template, one is inserted. In this case, the Exim 4 daemon is then NOT told to reload its configuration files. Main character behavior: do the thing, tell no one ✨


😭 BUGS 😭

Okay so there's a catch, and we're being honest about it. The statement that is inserted by this utility presumes that the Exim 4 configuration comes from Debian's "exim4-config" package. Specifically, it makes use of the +relay_from_hosts host list, the +local_domains and +relay_to_domains domain lists, and the acl_local_deny_exceptions ACL. A more generalized approach is on my, ahem, to-do list. We love a self-aware developer πŸŽ€

fr fr, if your config isn't the Debian one, this might not vibe with it.

πŸ‘‘ AUTHOR πŸ‘‘

This python script and manual page is written by Tor Slettnes, originally for Debian GNU/Linux. King behavior honestly πŸ‘‘


Copyright Β© 2004-2005 Tor Slettnes.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

On a Debian GNU/Linux system, the full text of the GPL is available in /usr/share/common-licenses/GPL. It is also available at:

http://www.gnu.org/licenses/gpl.html

🌈 SEE ALSO 🌈


and that's the whole page bestie, you ate that πŸ’…βœ¨ this was written by Tor Slettnes, version 0.8, and it's greylistd-setup-exim4 from section 8 of the manual, k bye πŸ«ΆπŸ’–