Imported Upstream version 1.3.0
[platform/upstream/augeas.git] / lenses / jaas.aug
1 (* Module Jaas *)
2 (* Author: Simon Vocella <voxsim@gmail.com> *)
3
4 module Jaas =
5
6 autoload xfm
7
8 let space_equal = del (/[ \t]*/ . "=" . /[ \t]*/) (" = ")
9 let lbrace = del (/[ \t\n]*/ . "{") "{"
10 let rbrace = del ("};") "};"
11 let word = /[A-Za-z0-9_.-]+/
12
13 let value_re =
14         let value_squote = /'[^\n']*'/
15         in let value_squote_2 = /'[^\n']*';/
16         in let value_dquote = /"[^\n"]*"/
17         in let value_dquote_2 = /"[^\n"]*";/
18         in value_squote | value_squote_2 | value_dquote | value_dquote_2
19
20 let moduleOption = [Util.del_opt_ws "" . key word . space_equal . (store value_re . Util.comment_or_eol)]
21 let flag = [label "flag" . (store word . Util.eol) . moduleOption*]
22 let loginModuleClass = [Util.del_opt_ws "" . label "loginModuleClass" . (store word . Util.del_ws_spc) . flag]
23
24 let content = (Util.empty | Util.comment_c_style | Util.comment_multiline | loginModuleClass)*
25 let loginModule = [Util.del_opt_ws "" . label "login" . (store word . lbrace) . (content . rbrace)]
26 let lns = (Util.empty | Util.comment_c_style | Util.comment_multiline | loginModule)*
27 let filter = incl "/opt/shibboleth-idp/conf/login.config"
28 let xfm = transform lns filter