Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-06-05 | Add a function for getting sorted children from a node and use it for ↵ | Daniil Baturin | |
sorting set commands. | |||
2018-06-04 | Initial implementation of the commands formatter. | Daniil Baturin | |
2018-05-23 | Expose missing exceptions from Config_tree in the module interface. | Daniil Baturin | |
2018-05-23 | Render 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-22 | Remove a leftover debug print. | Daniil Baturin | |
2018-05-22 | Send a response to the client if error occurs. | Daniil Baturin | |
2018-05-21 | Get the show_config operation to work correctly. | Daniil Baturin | |
2018-02-18 | Do not quote values that don't need quoting in Config_tree.render | Daniil Baturin | |
i.e. if they don't contain whitespace or characters of special significance to the parser (;[]{}#). | |||
2018-02-17 | Add 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-16 | Delete 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-16 | Implement 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-16 | Add logging of interface definition file loading. | Daniil Baturin | |
Move the high level load_interface_definitions function from Reference_tree to Startup. | |||
2018-02-12 | Add client support for the config read functions. | Daniil Baturin | |
2018-02-12 | Add support for the idempotent config read functions to vyconfd. | Daniil Baturin | |
2018-02-12 | Revert "Fix build with new Toml module version." | Daniil Baturin | |
Seems lenses are back. This reverts commit 8938e627c04c01f8f30a854be6903a9abcd2fa5b. | |||
2018-02-11 | Expose the list_children function in the Session module interface. | Daniil Baturin | |
2018-02-11 | Rename 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-11 | Update the Vyconf_client module for the protobuf change. | Daniil Baturin | |
2018-02-11 | Add 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-26 | Use absolute path for the vyconfd config file option rather than relative to ↵ | Daniil Baturin | |
basepath. | |||
2018-01-26 | Fix 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-13 | Fix message encoding in Vyconf_client. | Daniil Baturin | |
2017-12-13 | Add debug logging of protobuf messages. | Daniil Baturin | |
2017-12-13 | Handle malformed protobuf messages correctly. | Daniil Baturin | |
2017-12-12 | Add config load upon startup. | Daniil Baturin | |
2017-12-12 | Rename the Startup.load_config to load_daemon_config to avoid ambiguity with ↵ | Daniil Baturin | |
the appliance config. | |||
2017-12-12 | Lwt is luckily past 3.0 now, remove stuff that needed versioned functions. | Daniil Baturin | |
2017-09-19 | T387: prevent command injection in VyConf external validator execution | Taniadz | |
2017-09-18 | T387: prevent command injection in VyConf external validator execution | Taniadz | |
2017-09-13 | Prevent command injection in VyConf external validator execution | Taniadz | |
2017-09-12 | Merge branch 'master' of github.com:vyos/vyconf | Daniil Baturin | |
2017-04-03 | T255: 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-18 | Make config file path relative to basepath. | Daniil Baturin | |
2017-02-09 | Add basepath as a command line option. | Daniil Baturin | |
2017-02-09 | Revert "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. | |||
2017-01-23 | Add basepath option to the vyconfd config. | Daniil Baturin | |
Right now the primary motivation is ease of testing without installing any appliance on a real system, but in real appliances, this may be handy for those who want things in /opt, even if I'm not a fan of /opt | |||
2017-01-20 | Use BatOption.defalt instead of homegrown equivalent. | Daniil Baturin | |
If we are going to use batteries for numeric_compare, why not take advantage of the rest. | |||
2017-01-19 | Add basic session setup/teardown functionality to vyconfd. | Daniil Baturin | |
2017-01-17 | T231: Add a function for loading interface definitions from a directory (#5) | Shon Feder | |
* T231: Load directory of interface definitions * T231: Add ounit package to merlin config * T231: Add tests for loading dir of definitions * squash! T231: Load directory of interface definitions * squash! T231: Add tests for loading dir of definitions | |||
2017-01-16 | Add a function for making secure session tokens. | Daniil Baturin | |
Right now it uses a SHA-1 sum of 30 random bits. I hope that's secure enough. | |||
2017-01-16 | Add client_app and user fields to session data. | Daniil Baturin | |
I wonder if the user field should be an UID rather than name. | |||
2017-01-16 | Remove the assumptions about validator argument being mandatory. | Daniil Baturin | |
2017-01-16 | Use the new Util.substitute_default in Vyconf_config. | Daniil Baturin | |
2017-01-16 | Add a trivial 'a option -> 'a -> 'a function for substituting something for ↵ | Daniil Baturin | |
a default. | |||
2017-01-16 | Update reference tree loader to match the schema. | Daniil Baturin | |
2017-01-15 | Add functionality for socket communication. | Daniil Baturin | |
The Message module contains read and write functions that take care of the wire protocol, which sends a 4 byte length header before every message. They take a bytes buffer and don't care about its contents. The Vyconf_client module has high level functions for interfacing with vyconfd. Functions for creating a socket and creating a server loop are in Startup. The rest is, for now at least, right in vyconfd. Notes: Message.read/write probably should be wrapped in Lwt_io.atomic We need to find out if it's safe to reuse Pbrt.Encoder.t or we really should create it every time. | |||
2017-01-14 | Break some overly long lines in the curly config parser. | Daniil Baturin | |
2017-01-14 | Use Menhir's build-in boption() for #INACTIVE and #EPHEMERAL | Daniil Baturin | |
instead of home-grown equivalents. | |||
2017-01-13 | T249: add support for inactive and ephemeral nodes to the curly config parser. | Daniil Baturin | |
2017-01-13 | T254: disallow node names with characters significant to the curly config parser | Daniil Baturin | |
(whitespace, braces, square brackets, quotes, and hash). |