[augeas-devel] augeas: master - Ntp: add 'tinker' directive

David Lutterkort lutter at fedoraproject.org
Wed Feb 24 01:47:24 UTC 2010


Gitweb:        http://git.fedorahosted.org/git/augeas.git?p=augeas.git;a=commitdiff;h=9b6a3cebca371557992aa71742df07a6fdacb612
Commit:        9b6a3cebca371557992aa71742df07a6fdacb612
Parent:        93b7b0aaf0dde37058b113e59696f6860008d0fb
Author:        David Lutterkort <lutter at redhat.com>
AuthorDate:    Tue Feb 23 17:25:32 2010 -0800
Committer:     David Lutterkort <lutter at redhat.com>
CommitterDate: Tue Feb 23 17:25:32 2010 -0800

Ntp: add 'tinker' directive

Fixes bug #103
---
 lenses/ntp.aug            |   11 +++++++++--
 lenses/rx.aug             |    2 +-
 lenses/tests/test_ntp.aug |    6 ++++++
 3 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/lenses/ntp.aug b/lenses/ntp.aug
index e72098b..c9c4b72 100644
--- a/lenses/ntp.aug
+++ b/lenses/ntp.aug
@@ -55,7 +55,7 @@ module Ntp =
 
     let simple_setting (k:regexp) = kv k word
 
-    (* Still incomplete, misses logconfig, phone, setvar, tinker, tos,
+    (* Still incomplete, misses logconfig, phone, setvar, tos,
        trap, ttl *)
     let simple_settings =
         kv "broadcastdelay" Rx.decimal
@@ -103,12 +103,19 @@ module Ntp =
      | [ key /autokey|revoke/ . [sep_spc . store word]? . eol ]
      | [ key /trustedkey/ . [ sep_spc . label "key" . store word ]+ . eol ]
 
+    (* tinker [step step | panic panic | dispersion dispersion |
+               stepout stepout | minpoll minpoll | allan allan | huffpuff huffpuff] *)
+    let tinker =
+      let arg_names = /step|panic|dispersion|stepout|minpoll|allan|huffpuff/ in
+      let arg = [ key arg_names . sep_spc . store Rx.decimal ] in
+      [ key "tinker" . (sep_spc . arg)* . eol ]
+
     (* Define lens *)
 
     let lns = ( comment | empty | command_record | fudge_record
               | restrict_record | simple_settings | statistics_record
               | filegen_record | broadcastclient
-              | auth_command )*
+              | auth_command | tinker )*
 
     let filter = (incl "/etc/ntp.conf")
         . Util.stdexcl
diff --git a/lenses/rx.aug b/lenses/rx.aug
index a1d8e85..9f90f8e 100644
--- a/lenses/rx.aug
+++ b/lenses/rx.aug
@@ -20,7 +20,7 @@ let no_spaces = /[^ \t\n]+/
 (* Generic fields *)
 let word      = /[A-Za-z0-9_.-]+/
 let integer   = /[0-9]+/
-let decimal   = /[0-9]+[.,][0-9]+/
+let decimal   = /[0-9]+([.,][0-9]+)?/
 
 (* A filesystem path *)
 let fspath    = /[^ \t\n]+/
diff --git a/lenses/tests/test_ntp.aug b/lenses/tests/test_ntp.aug
index 9689d12..518d28c 100644
--- a/lenses/tests/test_ntp.aug
+++ b/lenses/tests/test_ntp.aug
@@ -145,3 +145,9 @@ filegen clockstats file clockstats type day enable nolink
      { "disable"
          { "flag" = "kernel" }
          { "flag" = "stats" } }
+
+(* Bug #103: tinker directive *)
+test Ntp.tinker get "tinker panic 0 huffpuff 3.14\n" =
+  { "tinker"
+    { "panic" = "0" }
+    { "huffpuff" = "3.14" } }




More information about the augeas-devel mailing list