sendmailで.(ドット)をデリミタとして動作させるパッチ

日付 2020.02.05
タイトル sendmailで.(ドット)をデリミタとして動作させるパッチ
本文
かなり昔に作成する必要に迫られて作ったものが、最近また使う必要があって探したら出てきたのでメモ。
/usr/share/sendmail-cf/m4/proto.m4用パッチです。
パッチを当ててから

m4 sendmail.mc > sendmail.cf
m4 submit.mc > submit.cf

で生成します。


# ----->>>
--- proto.m4.orig 2008-07-25 22:23:39.000000000 +0900
+++ proto.m4 2009-05-30 15:56:48.000000000 +0900
@@ -1069,9 +1069,15 @@
dnl user+detail: try user++@domain if detail not empty
R<@> $+ + $+ < @ $* . >
$: < $(virtuser $1 + + @ $3 $@ $1 $@ $2 $@ +$2 $: @ $) > $1 + $2 < @ $3 . >
+dnl user+detail: try user.+@domain if detail not empty
+R<@> $+ . $+ < @ $* . >
+ $: < $(virtuser $1 + + @ $3 $@ $1 $@ $2 $@ +$2 $: @ $) > $1 + $2 < @ $3 . >
dnl user+detail: try user+*@domain
R<@> $+ + $* < @ $* . >
$: < $(virtuser $1 + * @ $3 $@ $1 $@ $2 $@ +$2 $: @ $) > $1 + $2 < @ $3 . >
+dnl user+detail: try user.*@domain
+R<@> $+ . $* < @ $* . >
+ $: < $(virtuser $1 + * @ $3 $@ $1 $@ $2 $@ +$2 $: @ $) > $1 + $2 < @ $3 . >
dnl user+detail: try user@domain
R<@> $+ + $* < @ $* . >
$: < $(virtuser $1 @ $3 $@ $1 $@ $2 $@ +$2 $: @ $) > $1 + $2 < @ $3 . >
@@ -1216,6 +1222,10 @@
# deal with plussed users so aliases work nicely
R$+ + * $#_LOCAL_ $@ $&h $: $1`'ifdef(`_FFR_5_', ` $&{LocalAddrHost}')
R$+ + $* $#_LOCAL_ $@ + $2 $: $1 + *`'ifdef(`_FFR_5_', ` $&{LocalAddrHost}')
+
+# deal with dotted users so aliases work nicely
+R$+ . * $#_LOCAL_ $@ $&h $: $1`'ifdef(`_FFR_5_', ` $&{LocalAddrHost}')
+R$+ . $* $#_LOCAL_ $@ + $2 $: $1 + *`'ifdef(`_FFR_5_', ` $&{LocalAddrHost}')
')
# prepend an empty "forward host" on the front
R$+ $: <> $1
# -----<<<

CentOS7ではまだ動作しました。
お役に立てば。