[augeas-devel] [PATCH] Improve lens style & readability

Raphael Pinson raphink at gmail.com
Wed Aug 27 06:57:52 UTC 2008


# HG changeset patch
# User Raphael Pinson <raphink at gmail.com>
# Date 1219820223 -7200
# Node ID 336f699f6bd2ac5eec007f9c4329b23e042847bb
# Parent  dce2521115ff34ad35f06a60c3234dffc6b7be77
Improve lens style & readability
Fix filter

diff -r dce2521115ff -r 336f699f6bd2 lenses/openvpn.aug
--- a/lenses/openvpn.aug	Tue Aug 26 15:06:55 2008 +0200
+++ b/lenses/openvpn.aug	Wed Aug 27 08:57:03 2008 +0200
@@ -1,24 +1,37 @@
-(* Parsing /etc/openvpn/openvpn.conf *)
+(* OpenVPN module for Augeas
+ Author: Raphael Pinson <raphink at gmail.com>
+
+ Reference: http://openvpn.net/index.php/documentation/howto.html
+*)
+
 
 module OpenVPN =
-autoload xfm
-
+  autoload xfm
+
+(************************************************************************
+ *                           USEFUL PRIMITIVES
+ *************************************************************************)
+
+let eol    = Util.eol
+let indent = Util.indent
+
+(* Define separators *)
 let sep    = Util.del_ws_spc
 let sep_dquote = Util.del_str "\""
-let eol    = Util.eol
-let indent = Util.indent
-
+
+(* Define value regexps *)
 let ip_re  = /[0-9\.]+/
 let num_re = /[0-9]+/
 let fn_re  = /[^#; \t\n][^#;\n]*[^#; \t\n]|[^#; \t\n]/
 let an_re  = /[a-z][a-z0-9_-]*/
 
+(* Define store aliases *)
 let ip     = store ip_re
 let num    = store num_re
 let filename = store fn_re
-
 let sto_to_dquote = store /[^"\n]+/
 
+(* define comments and empty lines *)
 let comment = [ indent . label "#comment"
               . del /[;#][ \t]*/ "# "
               . store /([^ \t\n].*[^ \t\n]|[^ \t\n])/
@@ -27,30 +40,33 @@ let empty   = Util.empty
 let empty   = Util.empty
 
 
-(* Single values
-    - local => IP
-    - port  => num
-    - proto => tcp|udp
-    - dev   => (tun|tap)\d*
-    - dev-node => MyTap
-    - ca    => filename
-    - cert  => filename
-    - key   => filename
-    - dh    => filename
-    - ifconfig-pool-persist => filename
-    - learn-address => filename
-    - cipher => [A-Z0-9-]+
-    - max-clients => num
-    - user  => alphanum
-    - group => alphanum
-    - status => filename
-    - log   => filename
-    - log-append => filename
-    - verb => num
-    - mute => num
-    - ns-cert-type => "server"
-    - resolv-retry => "infinite"
-*)
+(************************************************************************
+ *                               SINGLE VALUES
+ *
+ *   - local => IP
+ *   - port  => num
+ *   - proto => tcp|udp
+ *   - dev   => (tun|tap)\d*
+ *   - dev-node => MyTap
+ *   - ca    => filename
+ *   - cert  => filename
+ *   - key   => filename
+ *   - dh    => filename
+ *   - ifconfig-pool-persist => filename
+ *   - learn-address => filename
+ *   - cipher => [A-Z0-9-]+
+ *   - max-clients => num
+ *   - user  => alphanum
+ *   - group => alphanum
+ *   - status => filename
+ *   - log   => filename
+ *   - log-append => filename
+ *   - verb => num
+ *   - mute => num
+ *   - ns-cert-type => "server"
+ *   - resolv-retry => "infinite"
+ *************************************************************************)
+
 let single_ip  = "local"
 let single_num = "port"
                | "max-clients"
@@ -83,18 +99,21 @@ let single     = single_entry single_num
 	       | single_entry "ns-cert-type" "server"
 	       | single_entry "resolv-retry" "infinite"
 
-(* Flags 
-    - client-to-client
-    - duplicate-cn
-    - comp-lzo
-    - persist-key
-    - persist-tun
-    - client
-    - remote-random
-    - nobind
-    - mute-replay-warnings
-    - http-proxy-retry
-*)
+
+(************************************************************************
+ *                               FLAGS
+ *
+ *   - client-to-client
+ *   - duplicate-cn
+ *   - comp-lzo
+ *   - persist-key
+ *   - persist-tun
+ *   - client
+ *   - remote-random
+ *   - nobind
+ *   - mute-replay-warnings
+ *   - http-proxy-retry
+ *************************************************************************)
 
 let flag_words = "client-to-client"
                | "duplicate-cn"
@@ -113,14 +132,16 @@ let flag       = flag_entry flag_words
 let flag       = flag_entry flag_words
 
 
-(* Others
-    - server        => IP IP
-    - server-bridge => IP IP IP IP
-    - push          => "string"
-    - keepalive     => num num
-    - tls-auth      => filename [01]
-    - remote        => hostname/IP num
-*)
+(************************************************************************
+ *                               OTHER FIELDS
+ *
+ *   - server        => IP IP
+ *   - server-bridge => IP IP IP IP
+ *   - push          => "string"
+ *   - keepalive     => num num
+ *   - tls-auth      => filename [01]
+ *   - remote        => hostname/IP num
+ *************************************************************************)
 
 let server        = [ key "server" . sep
                     . [ label "address" . ip ] . sep
@@ -171,14 +192,16 @@ let other         = server
 		  | http_proxy
 
 
-(* Define lens *)
-
-let lns = (comment|empty|single|flag|other)*
-
-let xfm = transform lns (incl "/etc/openvpn/openvpn.conf")
-
-(* Local Variables: *)
-(* mode: caml *)
-(* End: *)
-
-
+(************************************************************************
+ *                              LENS & FILTER
+ *************************************************************************)
+
+let lns    = ( comment | empty | single | flag | other )*
+
+let filter = (incl "/etc/openvpn/client.conf")
+           . (incl "/etc/openvpn/server.conf")
+
+let xfm = transform lns filter
+
+
+
diff -r dce2521115ff -r 336f699f6bd2 lenses/tests/test_openvpn.aug
--- a/lenses/tests/test_openvpn.aug	Tue Aug 26 15:06:55 2008 +0200
+++ b/lenses/tests/test_openvpn.aug	Wed Aug 27 08:57:03 2008 +0200
@@ -141,3 +141,5 @@ test OpenVPN.lns get client_conf =
   { "http-proxy" }
   { "mute-replay-warnings" }
   { "ns-cert-type" = "server" }
+
+




More information about the augeas-devel mailing list