maddy icon indicating copy to clipboard operation
maddy copied to clipboard

Dynamic configuration expression support

Open foxcpp opened this issue 11 months ago • 1 comments

  1. Define evaluation context that is passed across the codebase via context.Context.
  2. Replace some (most?) configuration values with generic dynamic like:
type DynamicString struct {
	...
}

func (ds DynamicString) Evaluate(ctx context.Context) (string, error)
  1. Add support for single-quote escaping in maddy configuration syntax.
modify {
  replace_rcpt expr 'address_username(key)'
}
  1. Define configuration syntax (like above) for dynamic expressions.

foxcpp avatar Jan 25 '25 13:01 foxcpp

Possible use for #731

destination_in expr 'address_domain(recipient) in table_query(local_domains, '')' 

foxcpp avatar Jan 25 '25 13:01 foxcpp