Imported Upstream version 1.7.0
[platform/upstream/augeas.git] / lenses / stunnel.aug
1 (* Stunnel configuration file module for Augeas *)
2
3 module Stunnel =
4     autoload xfm
5
6     let comment = IniFile.comment IniFile.comment_re IniFile.comment_default
7     let sep     = IniFile.sep "=" "="
8
9     let setting = "chroot"
10                 | "compression"
11                 | "debug"
12                 | "EGD"
13                 | "engine"
14                 | "engineCtrl"
15                 | "fips"
16                 | "foreground"
17                 | "output"
18                 | "pid"
19                 | "RNDbytes"
20                 | "RNDfile"
21                 | "RNDoverwrite"
22                 | "service"
23                 | "setgid"
24                 | "setuid"
25                 | "socket"
26                 | "syslog"
27                 | "taskbar"
28                 | "accept"
29                 | "CApath"
30                 | "CAfile"
31                 | "cert"
32                 | "ciphers"
33                 | "client"
34                 | "connect"
35                 | "CRLpath"
36                 | "CRLfile"
37                 | "curve"
38                 | "delay"
39                 | "engineNum"
40                 | "exec"
41                 | "execargs"
42                 | "failover"
43                 | "ident"
44                 | "key"
45                 | "local"
46                 | "OCSP"
47                 | "OCSPflag"
48                 | "options"
49                 | "protocol"
50                 | "protocolAuthentication"
51                 | "protocolHost"
52                 | "protocolPassword"
53                 | "protocolUsername"
54                 | "pty"
55                 | "retry"
56                 | "session"
57                 | "sessiond"
58                 | "sni"
59                 | "sslVersion"
60                 | "stack"
61                 | "TIMEOUTbusy"
62                 | "TIMEOUTclose"
63                 | "TIMEOUTconnect"
64                 | "TIMEOUTidle"
65                 | "transparent"
66                 | "verify"
67
68     let entry   = IniFile.indented_entry setting sep comment
69     let empty   = IniFile.empty
70
71     let title   = IniFile.indented_title ( IniFile.record_re - ".anon" )
72     let record  = IniFile.record title entry
73
74     let rc_anon = [ label ".anon" . ( entry | empty )+ ]
75
76     let lns     = rc_anon? . record*
77
78     let filter  = (incl "/etc/stunnel/stunnel.conf")
79
80     let xfm     = transform lns filter