mirror of
https://blitiri.com.ar/repos/chasquid
synced 2026-01-07 17:47:14 +00:00
smtpsrv: Implement a post-DATA hook
This patch implements a post-DATA hook, which is run after receiving the data but before sending a reply. It can be used to implement content filtering when receiving email, for example for passing the email through an anti-spam or an anti-virus.
This commit is contained in:
@@ -58,3 +58,26 @@ func TestSecLevel(t *testing.T) {
|
||||
t.Fatalf("plain seclevel worked, downgrade was allowed")
|
||||
}
|
||||
}
|
||||
|
||||
func TestIsHeader(t *testing.T) {
|
||||
no := []string{
|
||||
"a", "\n", "\n\n", " \n", " ",
|
||||
"a:b", "a: b\nx: y",
|
||||
"\na:b\n", " a\nb:c\n",
|
||||
}
|
||||
for _, s := range no {
|
||||
if isHeader([]byte(s)) {
|
||||
t.Errorf("%q accepted as header, should be rejected", s)
|
||||
}
|
||||
}
|
||||
|
||||
yes := []string{
|
||||
"", "a:b\n",
|
||||
"X-Post-Data: success\n",
|
||||
}
|
||||
for _, s := range yes {
|
||||
if !isHeader([]byte(s)) {
|
||||
t.Errorf("%q rejected as header, should be accepted", s)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user