Blame lenses/postfix_transport.aug
|
Packit Service |
a2ae7a |
(*
|
|
Packit Service |
a2ae7a |
Module: Postfix_Transport
|
|
Packit Service |
a2ae7a |
Parses /etc/postfix/transport
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
Author: Raphael Pinson <raphael.pinson@camptocamp.com>
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
About: Reference
|
|
Packit Service |
a2ae7a |
This lens tries to keep as close as possible to `man 5 transport` where possible.
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
About: License
|
|
Packit Service |
a2ae7a |
This file is licenced under the LGPL v2+, like the rest of Augeas.
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
About: Lens Usage
|
|
Packit Service |
a2ae7a |
To be documented
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
About: Configuration files
|
|
Packit Service |
a2ae7a |
This lens applies to /etc/postfix/transport. See <filter>.
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
About: Examples
|
|
Packit Service |
a2ae7a |
The <Test_Postfix_Transport> file contains various examples and tests.
|
|
Packit Service |
a2ae7a |
*)
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
module Postfix_Transport =
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
autoload xfm
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: space_or_eol *)
|
|
Packit Service |
a2ae7a |
let space_or_eol = del /([ \t]*\n)?[ \t]+/ " "
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: colon *)
|
|
Packit Service |
a2ae7a |
let colon = Sep.colon
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: nexthop *)
|
|
Packit Service |
a2ae7a |
let nexthop =
|
|
Packit Service |
a2ae7a |
let host_re = "[" . Rx.word . "]" | /[A-Za-z]([^\n]*[^ \t\n])?/
|
|
Packit Service |
a2ae7a |
in [ label "nexthop" . (store host_re)? ]
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: transport *)
|
|
Packit Service |
a2ae7a |
let transport = [ label "transport" . (store Rx.word)? ]
|
|
Packit Service |
a2ae7a |
. colon . nexthop
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: nexthop_smtp *)
|
|
Packit Service |
a2ae7a |
let nexthop_smtp =
|
|
Packit Service |
a2ae7a |
let host_re = "[" . Rx.word . "]" | Rx.word
|
|
Packit Service |
a2ae7a |
in [ label "host" . store host_re ]
|
|
Packit Service |
a2ae7a |
. colon
|
|
Packit Service |
a2ae7a |
. [ label "port" . store Rx.integer ]
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: record *)
|
|
Packit Service |
a2ae7a |
let record = [ label "pattern" . store /[A-Za-z0-9@\*.-]+/
|
|
Packit Service |
a2ae7a |
. space_or_eol . (transport | nexthop_smtp)
|
|
Packit Service |
a2ae7a |
. Util.eol ]
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* View: lns *)
|
|
Packit Service |
a2ae7a |
let lns = (Util.empty | Util.comment | record)*
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
(* Variable: filter *)
|
|
Packit Service |
a2ae7a |
let filter = incl "/etc/postfix/transport"
|
|
Packit Service |
a2ae7a |
. incl "/usr/local/etc/postfix/transport"
|
|
Packit Service |
a2ae7a |
|
|
Packit Service |
a2ae7a |
let xfm = transform lns filter
|