Skip to content

littlebugger/dkim.conf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dkim.conf

Go parser for Rspamd DKIM configuration files (dkim.conf and dkim_signing.conf).

Features

  • Parses DKIM module config (dkim.conf).
  • Parses DKIM signing config (dkim_signing.conf) including per-domain rules.
  • Parses the sign_headers list into structured entries.
  • Parses maps.d map files (selectors, paths, signed domains).

Install

go get github.com/littlebugger/dkim.conf

Usage

package main

import (
    "fmt"
    "os"

    "github.com/littlebugger/dkim.conf/rspamd/dkim"
)

func main() {
    f, err := os.Open("dkim.conf")
    if err != nil {
        panic(err)
    }
    defer f.Close()

    conf, err := dkim.ParseDKIMConf(f)
    if err != nil {
        panic(err)
    }

    fmt.Printf("enabled=%v sign_headers=%q\n", conf.Enabled, conf.SignHeaders)
}
package main

import (
    "os"

    "github.com/littlebugger/dkim.conf/rspamd/dkim"
)

func main() {
    f, err := os.Open("dkim_signing.conf")
    if err != nil {
        panic(err)
    }
    defer f.Close()

    conf, err := dkim.ParseDKIMSigningConf(f)
    if err != nil {
        panic(err)
    }

    _ = conf
}
package main

import (
    "os"

    "github.com/littlebugger/dkim.conf/rspamd/dkim"
)

func main() {
    f, err := os.Open("maps.d/dkim_selectors.map")
    if err != nil {
        panic(err)
    }
    defer f.Close()

    selectors, err := dkim.ParseDKIMSelectorsMap(f)
    if err != nil {
        panic(err)
    }

    _ = selectors
}

Tests

go test ./...

Examples

See examples/ for sample configs and map files. The examples include file paths only; no private keys are included.

License

MIT. See LICENSE.

About

Rspamd dkim config parser

Topics

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages