5 Author: Lorenzo M. Catucci <catucci@ccd.uniroma2.it>
7 Original Author: Free Ekanayaka <free@64studio.com>
15 This file is licensed under the LGPL v2+, like the rest of Augeas.
19 Each line in the shadow files represents the additional shadow-defined attributes
20 for the corresponding user, as defined in the passwd file.
28 (************************************************************************
30 *************************************************************************)
33 let comment = Util.comment
34 let empty = Util.empty
35 let dels = Util.del_str
40 let integer = Rx.integer
42 let sto_to_col = Passwd.sto_to_col
43 let sto_to_eol = Passwd.sto_to_eol
45 (************************************************************************
47 *************************************************************************)
48 (* Common for entry and nisdefault *)
49 let common = [ label "lastchange_date" . store integer? . colon ]
50 . [ label "minage_days" . store integer? . colon ]
51 . [ label "maxage_days" . store integer? . colon ]
52 . [ label "warn_days" . store integer? . colon ]
53 . [ label "inactive_days" . store integer? . colon ]
54 . [ label "expire_date" . store integer? . colon ]
55 . [ label "flag" . store integer? ]
58 let entry = [ key word
60 . [ label "password" . sto_to_col? . colon ]
67 . [ label "password" . store word? . colon ]
69 [ dels "+" . label "@nisdefault" . overrides? . eol ]
71 (************************************************************************
73 *************************************************************************)
75 let lns = (comment|empty|entry|nisdefault) *
81 let xfm = transform lns filter