Age | Commit message (Collapse) | Author | |
---|---|---|---|
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). | |||
2017-01-13 | A few touches to the curly config lexer and parser. | Daniil Baturin | |
Allow single quoted strings. Allow \r's as whitespace. Set line numbers on \n to enable better error reporting. Allow any non-reserved characters ([^\s\{\}\[\]\"\']) in identifiers and unquoted values. | |||
2017-01-12 | T245: improve handling of nodes with duplicate names. | Daniil Baturin | |
Two tag nodes with the same name ("ethernet eth0 {...} ethernet eth0 {...}") is an error. Two leaf nodes with the same name, however, are not an error. Values of the next nodes are merged into the first one, while all other data (comment and inactive and ephemeral properties are inherited from the first node. This mimics the old syntax of multi nodes, so a person who uses the old syntax out of habit in a handwritten config will get the result they expect. | |||
2017-01-10 | Add JSON de/serialization derivers to vytree and config tree modules. | Daniil Baturin | |
2017-01-10 | De-duplicate top level nodes during parsing too. | Daniil Baturin | |
2017-01-10 | Allow valueless nodes in the curly parser. | Daniil Baturin | |
2017-01-09 | Not quite T245 but related: trim comments and allow more characters in ↵ | Daniil Baturin | |
identifiers. | |||
2017-01-09 | T245: add support for the old style tag node syntax ("ethernet eth0") | Daniil Baturin | |
as opposed to "ethernet { eth0". Note that "new syntax" for tag nodes, i.e. not using any special syntax for them is automatically support too, configs will load correctly since node name/value validation only occurs after parsing is complete. | |||
2017-01-09 | T245: add Vytree.merge_children function for de-duplicating children | Daniil Baturin | |
that share the same name by merging subsequent nodes into the first one. Bad thing: the comments of the outer nodes will be lost, but then again one should attach them to the inner node anyway, in non-pathological cases. | |||
2017-01-07 | Remove the old message library that will be replaced with the Protobuf one. | Daniil Baturin | |
2017-01-06 | Do not require path for set/delete, add an error for trying to set a path ↵ | Daniil Baturin | |
that already exists. | |||
2017-01-06 | Make error and warning single string, add more specific error codes. | Daniil Baturin | |
2017-01-06 | Split session setup and entering configuration mode in the protobuf schema. | Daniil Baturin | |
2017-01-06 | Add confirm operation. Remove notifications field. | Daniil Baturin | |
2017-01-06 | Extend the protobuf schema, update build scripts. | Daniil Baturin | |
2017-01-06 | Add initial implementation of the protobuf schema. | Daniil Baturin | |
2017-01-05 | Initial implementation of the curly config parser. | Daniil Baturin | |
2017-01-05 | Expose the Vytree.adopt function in the module interface. | Daniil Baturin | |
This is useful in the parser and possibly other code that creates nodes from scratch. | |||
2017-01-03 | Add a function to get completion data from a reference tree node. | Daniil Baturin | |
2017-01-02 | Last missing accessor: value help. | Daniil Baturin | |
2016-12-31 | Fix format of validation error messages (paths in square brackets, no quotes). | Daniil Baturin | |
2016-12-30 | Remove the extends attribute from <interfaceDefinition> | Daniil Baturin | |
It's problematic for multiple reasons: 1. It's plaintext and is hard to verify 2. If it's wrong, it may have a very "interesting" effect on the resulting reference tree, such as lots of misplaced nodes 3. It's hardly ever needed as most nodes only go one or two levels deep in VyOS, such as "service $something" or "interfaces $something", and I think it's unlikely that other appliances will differ much. | |||
2016-12-30 | Fix missing quotes around values in Session.string_of_op | Daniil Baturin | |
2016-12-30 | Expose the string_of_op function in the module interface. | Daniil Baturin | |
2016-12-28 | Add a function to convert config operations to commands. | Daniil Baturin | |