summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-01-10Allow valueless nodes in the curly parser.Daniil Baturin
2017-01-09Not quite T245 but related: trim comments and allow more characters in ↵Daniil Baturin
identifiers.
2017-01-09T245: 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-09T245: add Vytree.merge_children function for de-duplicating childrenDaniil 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-07Remove the old message library that will be replaced with the Protobuf one.Daniil Baturin
2017-01-06Do not require path for set/delete, add an error for trying to set a path ↵Daniil Baturin
that already exists.
2017-01-06Make error and warning single string, add more specific error codes.Daniil Baturin
2017-01-06Split session setup and entering configuration mode in the protobuf schema.Daniil Baturin
2017-01-06Add confirm operation. Remove notifications field.Daniil Baturin
2017-01-06Extend the protobuf schema, update build scripts.Daniil Baturin
2017-01-06Add initial implementation of the protobuf schema.Daniil Baturin
2017-01-05Initial implementation of the curly config parser.Daniil Baturin
2017-01-05Expose 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-03Add a function to get completion data from a reference tree node.Daniil Baturin
2017-01-02Last missing accessor: value help.Daniil Baturin
2016-12-31Fix format of validation error messages (paths in square brackets, no quotes).Daniil Baturin
2016-12-30Remove 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-30Fix missing quotes around values in Session.string_of_opDaniil Baturin
2016-12-30Expose the string_of_op function in the module interface.Daniil Baturin
2016-12-28Add a function to convert config operations to commands.Daniil Baturin
2016-12-28Update the session module interface to expose the new functions.Daniil Baturin
2016-12-25Remove square brackets around the path string from Util.string_of_pathDaniil Baturin
They are trivial to add with printf when needed anyway, and this function is useful for generating commands from a tree.
2016-12-25Add value retrieval functions to the session module.Daniil Baturin
2016-12-25Add Vytree.children_of_path : 'a t -> string list function as a convenient ↵Daniil Baturin
shortcut for getting children of a non-root node
2016-12-23T230: Add missing data access functions to the Reference_tree module with ↵Phil Summers
unit tests
2016-12-23Make log template and log level configurable.Daniil Baturin
2016-12-23Handle Xml exceptions in Reference_tree.load_from_xml and re-raise as ↵Daniil Baturin
Bad_interface_definition to make things simpler for callers.
2016-12-23Move housekeeping stuff from vyconfd.ml to Startup module.Daniil Baturin
2016-12-22T226: Add secret and hidden properties to the reference tree.Phil Summers
2016-12-21T225: Added inactive and ephemeral fields to node data in Config_treePhil Summers
2016-12-20T224: add node comment functionality to the config tree.Daniil Baturin
2016-12-15T212: use a directory (normally $program_dir/validators) for external ↵Daniil Baturin
validators. What's bad is that right now way too many things are aware of the nature of external validators, and the validators dir (formerly validators hashtable) is passed around a lot. We'll need to think it through.
2016-12-15Add Directories module for storing directory structure information.Daniil Baturin
2016-12-15Rename type Vyconf_config.vyconf_config to Vyconf_config.t for brevityDaniil Baturin
It's the only type it exports.
2016-12-14T210: Oops, missing exception handler. mandatory_field raises Missing_fieldDaniil Baturin
2016-12-14T210: Do not use the Result compatibility library, use built-in result type.Daniil Baturin
Use of the Result module from a compatibility library came from using Yojson for config parsing, which uses it for compatibility with older OCaml, since the ('a, 'b) result type appeared in Pervasives only in OCaml 4.03 All projects using vyconf library, however, by definition will be new projects, and will not have any reasons to use older compilers.
2016-12-14Move version info out of defaults to its own module.Daniil Baturin
2016-12-14T210: use TOML for the vyconf config file.Daniil Baturin
Add an example of the file too.
2016-12-14Add default values for optional config fields to the Defaults module.Daniil Baturin
Related to T210.
2016-12-13Fix a few instances of sloppy sequences (with non-unit expressions).Daniil Baturin
2016-12-08Initial mockup of the vyconfd binary.Daniil Baturin
2016-12-08Fix build for ocaml 4.03Daniil Baturin
Yojson now uses the Result.result type for its decoding functions instead of polymorphic variants.
2016-12-07Initial implementation of the message decoder/encoder.Daniil Baturin
2015-10-01Some error handling in config loading.Daniil Baturin
2015-09-30Add get_values method to the message decoder.Daniil Baturin
2015-09-29Add message decoder implementation.Daniil Baturin
Restrict the Message module interface to the message types and decoder function.
2015-09-28Remove the value field from message types to account for valueless nodes and ↵Daniil Baturin
the like.
2015-09-28Add types and derivers for the message decoder.Daniil Baturin
2015-09-25Move the node_type type to Reference_treeDaniil Baturin
It shall not be used by Config_tree, so there is no reason to keep it there.
2015-09-24Add a module for various defaults.Daniil Baturin