summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2024-10-27T6718: add independent validate field and methodsJohn Estabrook
2024-10-27T6718: usr refpath to translate config paths to reference tree pathsJohn Estabrook
2024-10-27T6718: use vycli as test caseJohn Estabrook
2024-10-27T6718: root node now has empty nameJohn Estabrook
The root node name was changed in vyos1x-config (T4491) so as not to conflict with actual nodes named "root".
2024-10-27T6718: restrict directory existence check to validators dirJohn Estabrook
2024-10-27T6718: vyconfd.conf will be installed in /etc/vyosJohn Estabrook
2024-10-27T6718: read reference tree json file on startupJohn Estabrook
2024-10-27T6718: add rule to generate protobuf with name changeJohn Estabrook
Regenerate protobuf files: ocaml-protoc --ml_out src/ data/vyconf.proto The generated files vyconf.* are renamed vyconf_pbt.* instead of the split into vyconf_pb/vyconf_types as in the original implementation.
2024-10-27T6718: reorganize layout for dune build of libs/executablesJohn Estabrook
2024-10-27T6718: update build system, drop batteries, and adjust for lib changesJohn Estabrook
Update as needed for use with contemporary vyos1x-config: . update build system to use dune . drop use of batteries . update for protoc breaking changes in versions >= 3.0 . remove files now in vyos1x-config (config_tree et. al.; parsing)
2020-03-12Fix module path for newer versions of the Protobuf compiler runtime.Daniil Baturin
2019-02-14Add functions for copying and moving nodes.Daniil Baturin
2018-11-29Escape special characters inside value strings when converting configs to ↵Daniil Baturin
commands.
2018-09-02Add support for node renaming.Daniil Baturin
2018-06-06Use String.concat instead of reinventing it with fold.Daniil Baturin
2018-06-05Add a function for getting sorted children from a node and use it for ↵Daniil Baturin
sorting set commands.
2018-06-04Initial implementation of the commands formatter.Daniil Baturin
2018-05-23Expose missing exceptions from Config_tree in the module interface.Daniil Baturin
2018-05-23Render valueless nodes correctly.Daniil Baturin
The canonical format for valueless nodes is "foo;". There are two cases: when it's known from the reference tree that a node is valueless, we should render it the canonical way. However, a valueless node is not the same as a normal node with no children, semantically, so nodes that are note valueless should be rendered as "foo {}". If the reference tree is not present, resort to rendering all nodes without values as if they were normal nodes with no children rather than as if they were valueless. The parser is unaware of the distinction, so there are no implications for it.
2018-05-22Remove a leftover debug print.Daniil Baturin
2018-05-22Send a response to the client if error occurs.Daniil Baturin
2018-05-21Get the show_config operation to work correctly.Daniil Baturin
2018-02-18Do not quote values that don't need quoting in Config_tree.renderDaniil Baturin
i.e. if they don't contain whitespace or characters of special significance to the parser (;[]{}#).
2018-02-17Add Config_tree.render_at_level function for correct rendering of configs ↵Daniil Baturin
for human consumption. The idea of the correct (for subsequent parsing) and familiar for all other purposes rendering: * When rendering the entire config, do not render the invisible "root" node, only render its children. * When rendering config at specified path, do not include any nodes that are within the path (e.g. if path "system login" exists, "show system" request output should start with "login {", not "system { login { ...").
2018-02-16Delete the old socket file if it exists.Daniil Baturin
Since there's no REUSEADDR semantic for UNIX domain sockets, that's best we can do.
2018-02-16Implement config reading functions and a minimal command line client for ↵Daniil Baturin
using them. Yes, I hate oversized commits too, but this is hard to avoid sometimes. Adjustments to the Session functions logic required to make it work: Do not try to validate the path. The validation function is geared towards validating _set_ paths, so when path lacks a value, it doesn't work right. We assume that the path has been through set at some point, so if a path currently exists in the config tree, it is also a valid path that can be used for Reference_tree.is_leaf etc.
2018-02-16Add logging of interface definition file loading.Daniil Baturin
Move the high level load_interface_definitions function from Reference_tree to Startup.
2018-02-12Add client support for the config read functions.Daniil Baturin
2018-02-12Add support for the idempotent config read functions to vyconfd.Daniil Baturin
2018-02-12Revert "Fix build with new Toml module version."Daniil Baturin
Seems lenses are back. This reverts commit 8938e627c04c01f8f30a854be6903a9abcd2fa5b.
2018-02-11Expose the list_children function in the Session module interface.Daniil Baturin
2018-02-11Rename Util.string_of_path to string_of_list since it can be used for any lists,Daniil Baturin
not just config tree paths. Add analogous function for converting a list of strings to JSON.
2018-02-11Update the Vyconf_client module for the protobuf change.Daniil Baturin
2018-02-11Add output format option (plain or JSON) to the config data reading and op ↵Daniil Baturin
mode functions. Re-generate the protobuf-derived modules. NB: Newer versions of ocaml-protoc moved types to a separate module, needs to be accounted for in other files.
2018-01-26Use absolute path for the vyconfd config file option rather than relative to ↵Daniil Baturin
basepath.
2018-01-26Fix build with new Toml module version.Daniil Baturin
I have no idea where TomlLenses module is gone but frankly the whole thing is a lot less pretty without it.
2017-12-13Fix message encoding in Vyconf_client.Daniil Baturin
2017-12-13Add debug logging of protobuf messages.Daniil Baturin
2017-12-13Handle malformed protobuf messages correctly.Daniil Baturin
2017-12-12Add config load upon startup.Daniil Baturin
2017-12-12Rename the Startup.load_config to load_daemon_config to avoid ambiguity with ↵Daniil Baturin
the appliance config.
2017-12-12Lwt is luckily past 3.0 now, remove stuff that needed versioned functions.Daniil Baturin
2017-09-19T387: prevent command injection in VyConf external validator executionTaniadz
2017-09-18T387: prevent command injection in VyConf external validator executionTaniadz
2017-09-13Prevent command injection in VyConf external validator executionTaniadz
2017-09-12Merge branch 'master' of github.com:vyos/vyconfDaniil Baturin
2017-04-03T255: Add curly config renderer (#8)Shon Feder
* Add stand-alone config_tree renderer * Add tests for stand-alone config_tree renderer * Add renderer with reference tree * Add tests for Config_tree renderer with reftree * Update config files * Add refactoring functions and correct tests
2017-02-18Make config file path relative to basepath.Daniil Baturin
2017-02-09Add basepath as a command line option.Daniil Baturin
2017-02-09Revert "Add basepath option to the vyconfd config."Daniil Baturin
Basepath is better be a command line option, since when it's really needed, having it in the config is pretty much useless. This reverts commit 377de9472716266bb932813a8f7a7ba9aa1630fb.