Sharp.Augeas/Sharp.Augeas.Test/lens/stunnel.aug

81 lines
2.2 KiB
Plaintext

(* Stunnel configuration file module for Augeas *)
module Stunnel =
autoload xfm
let comment = IniFile.comment IniFile.comment_re IniFile.comment_default
let sep = IniFile.sep "=" "="
let setting = "chroot"
| "compression"
| "debug"
| "EGD"
| "engine"
| "engineCtrl"
| "fips"
| "foreground"
| "output"
| "pid"
| "RNDbytes"
| "RNDfile"
| "RNDoverwrite"
| "service"
| "setgid"
| "setuid"
| "socket"
| "syslog"
| "taskbar"
| "accept"
| "CApath"
| "CAfile"
| "cert"
| "ciphers"
| "client"
| "connect"
| "CRLpath"
| "CRLfile"
| "curve"
| "delay"
| "engineNum"
| "exec"
| "execargs"
| "failover"
| "ident"
| "key"
| "local"
| "OCSP"
| "OCSPflag"
| "options"
| "protocol"
| "protocolAuthentication"
| "protocolHost"
| "protocolPassword"
| "protocolUsername"
| "pty"
| "retry"
| "session"
| "sessiond"
| "sni"
| "sslVersion"
| "stack"
| "TIMEOUTbusy"
| "TIMEOUTclose"
| "TIMEOUTconnect"
| "TIMEOUTidle"
| "transparent"
| "verify"
let entry = IniFile.indented_entry setting sep comment
let empty = IniFile.empty
let title = IniFile.indented_title ( IniFile.record_re - ".anon" )
let record = IniFile.record title entry
let rc_anon = [ label ".anon" . ( entry | empty )+ ]
let lns = rc_anon? . record*
let filter = (incl "/etc/stunnel/stunnel.conf")
let xfm = transform lns filter