-
Notifications
You must be signed in to change notification settings - Fork 12
Open
Description
Test Code
package main
import (
"fmt"
milter "github.com/leonrbaker/gomilter"
"syscall"
)
type TestMilter struct {
milter.MilterRaw
}
type messageData struct {
from string
}
func (m *TestMilter) EnvFrom(ctx uintptr, myargv []string) (sfsistat int8) {
data := messageData{"fake@example.com"}
fmt.Println("save", ctx, milter.SetPriv(ctx, &data))
loaded := messageData{}
fmt.Println("load", ctx, milter.GetPriv(ctx, &loaded))
fmt.Println("loaded", loaded)
return
}
func main() {
m := new(TestMilter)
m.FilterName = "TestMilter"
m.Debug = true
m.Flags = milter.ADDHDRS | milter.ADDRCPT
m.Socket = "unix:/tmp/test-milter.sock"
syscall.Umask(0600)
milter.Run(m)
}
Output:
Debugging enabled
Filter Name: TestMilter
Flags: 0x101
Connect callback not implemented
Helo callback not implemented
EnvFrom callback implemented
EnvRcpt callback not implemented
Header callback not implemented
Eoh callback not implemented
Body callback not implemented
Eom callback not implemented
Abort callback not implemented
Close callback not implemented
smfilter:
{0x1b3d050 16777217 [0 0 0 0] 5 <nil> <nil> 0x4dd150 <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil>}
Handing over to libmilter
save 28564560 0
load 28564560 -1
loaded {}
EnvFrom callback returned: 0
System Info
OS: arch linux
libmilter version: 8.15.1-2
postfix: 3.1.3-2
go: go1.7.4 linux/amd64
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels