diff options
| author | Daniil Baturin <daniil@baturin.org> | 2024-11-07 18:02:08 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-07 18:02:08 +0000 |
| commit | 196fdd7fdf6dcf751b7364c59e34278bfd0193e3 (patch) | |
| tree | cfeff0991481c8281e24cf1698b20a76854059a4 /src/value_checker.ml | |
| parent | dd9271b4304c6b1a5a2576821d1b2b8fd3aa6bf5 (diff) | |
| parent | 9b90d3cc4da72c13ef4270150e4b547ff03fc813 (diff) | |
| download | vyconf-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/value_checker.ml')
| -rw-r--r-- | src/value_checker.ml | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/src/value_checker.ml b/src/value_checker.ml deleted file mode 100644 index aa88f7b..0000000 --- a/src/value_checker.ml +++ /dev/null @@ -1,39 +0,0 @@ -module F = Filename - -type value_constraint = Regex of string | External of string * string option - -exception Bad_validator of string - -let validate_value dir value_constraint value = - match value_constraint with - | Regex s -> - (try - let _ = Pcre.exec ~pat:s value in true - with Not_found -> false) - | External (v, c) -> - (* XXX: Using Unix.system is a bad idea on multiple levels, - especially when the input comes directly from the user... - We should do something about it. - *) - let validator = F.concat dir v in - let arg = BatOption.default "" c in - let safe_arg = Printf.sprintf "'%s'" (Pcre.qreplace ~pat:"\"" ~templ:"\\\"" arg) in - let result = Unix.system (Printf.sprintf "%s %s %s" validator safe_arg value) in - match result with - | Unix.WEXITED 0 -> true - | Unix.WEXITED 127 -> raise (Bad_validator (Printf.sprintf "Could not execute validator %s" validator)) - | _ -> false - -(* If no constraints given, consider it valid. - Otherwise consider it valid if it satisfies at least - one constraint *) -let validate_any validators constraints value = - let rec aux validators constraints value = - match constraints with - | [] -> false - | c :: cs -> if validate_value validators c value then true - else aux validators cs value - in - match constraints with - | [] -> true - | _ -> aux validators constraints value |
