summaryrefslogtreecommitdiff
path: root/src/validate.ml
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2024-11-07 18:02:08 +0000
committerGitHub <noreply@github.com>2024-11-07 18:02:08 +0000
commit196fdd7fdf6dcf751b7364c59e34278bfd0193e3 (patch)
treecfeff0991481c8281e24cf1698b20a76854059a4 /src/validate.ml
parentdd9271b4304c6b1a5a2576821d1b2b8fd3aa6bf5 (diff)
parent9b90d3cc4da72c13ef4270150e4b547ff03fc813 (diff)
downloadvyconf-196fdd7fdf6dcf751b7364c59e34278bfd0193e3.tar.gz
vyconf-196fdd7fdf6dcf751b7364c59e34278bfd0193e3.zip
Merge pull request #11 from jestabro/vyconf-minimal
T6718: use the vyconf daemon for validation of set commands
Diffstat (limited to 'src/validate.ml')
-rw-r--r--src/validate.ml32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/validate.ml b/src/validate.ml
new file mode 100644
index 0000000..7b3b596
--- /dev/null
+++ b/src/validate.ml
@@ -0,0 +1,32 @@
+open Client.Vyconf_client_session
+
+let path_opt = ref ""
+
+let usage = "Usage: " ^ Sys.argv.(0) ^ " [options]"
+
+let args = [
+ ("--path", Arg.String (fun s -> path_opt := s), "<string> Configuration path");
+ ]
+
+let get_sockname =
+ "/var/run/vyconfd.sock"
+
+let main socket path_list =
+ let token = session_init socket in
+ match token with
+ | Error e -> "Failed to initialize session: " ^ e
+ | Ok token ->
+ let out = session_validate_path socket token path_list
+ in
+ let _ = session_free socket token in
+ match out with
+ | Error e -> "Failed to validate path: " ^ e
+ | Ok _ -> "No error"
+
+let _ =
+ let () = Arg.parse args (fun _ -> ()) usage in
+ let path_list = Vyos1x.Util.list_of_path !path_opt in
+ let socket = get_sockname in
+ let result = main socket path_list in
+ let () = print_endline result in
+ exit 0