summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-01-19Fix oUnit package name in .merlinDaniil Baturin
2017-01-19Add basic session setup/teardown functionality to vyconfd.Daniil Baturin
2017-01-17Fix test of loading interface definitions.Daniil Baturin
It was failing because reference tree loader doesn't make guarantess about the order of children in the resulting tree.
2017-01-17Second act of the _oasis cleanup.Daniil Baturin
Findlib package "vyconf" now contains modules required for working with configs, namely Vytree, Config_tree, Reference_tree, Valur_checker, Curly_lexer, and Curly_parser. Renderer will go there too. Migration scripts and convertors/analyzers/whatever utilities that need to read and write config files will link with it. The "vyconf.vyconf-config" package is for working with vyconfd.conf config. Config scripts written in OCaml, the shell, and the non-interactive client can use it to read the system config if the user didn't use options for socket location and so on. The "vyconf.vyconf-client" package is for the Protobuf over UNIX sockets protocol clients.
2017-01-17T231: 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-17Remove reference to Shon Feder's homedir. ;)Daniil Baturin
Also, this will work for bare ocaml REPL too, specifically for utop you don't need to load topfind since it does that by default.
2017-01-17Add Curly_lexer to vyconf modules.Daniil Baturin
2017-01-17Merge pull request #7 from aBathologist/add_building_info_to_readmeDaniil Baturin
Add a bit more build and setup instruction
2017-01-17Merge pull request #6 from aBathologist/add_a_readymade_utop_environmentDaniil Baturin
Add a readymade utop environment
2017-01-16Add a bit more build and setup instructionShon Feder
2017-01-16Add project .ocamlinit with package dependenciesShon Feder
2017-01-16Add internal vyconf modules to _oasis configShon Feder
2017-01-17Clean up the _oasisDaniil Baturin
2017-01-16Add 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-16Add 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-16Remove the assumptions about validator argument being mandatory.Daniil Baturin
2017-01-16Use the new Util.substitute_default in Vyconf_config.Daniil Baturin
2017-01-16Add a trivial 'a option -> 'a -> 'a function for substituting something for ↵Daniil Baturin
a default.
2017-01-16Update reference tree loader to match the schema.Daniil Baturin
2017-01-16Re-generate RNG schema, update files that use it.Daniil Baturin
2017-01-16Move <keepChildOrder/> into properties.Daniil Baturin
I have no idea why I did not do it this way from the start.
2017-01-16Make the "argument" attribute of external validators optional.Daniil Baturin
2017-01-15Add .mllib and .mldylib to gitignoreDaniil Baturin
2017-01-15Add 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-14Break some overly long lines in the curly config parser.Daniil Baturin
2017-01-14Use Menhir's build-in boption() for #INACTIVE and #EPHEMERALDaniil Baturin
instead of home-grown equivalents.
2017-01-13T249: add support for inactive and ephemeral nodes to the curly config parser.Daniil Baturin
2017-01-13T254: disallow node names with characters significant to the curly config parserDaniil Baturin
(whitespace, braces, square brackets, quotes, and hash).
2017-01-13A 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-12T245: 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-10Add JSON de/serialization derivers to vytree and config tree modules.Daniil Baturin
2017-01-10De-duplicate top level nodes during parsing too.Daniil Baturin
2017-01-10Allow valueless nodes in the curly parser.Daniil Baturin
2017-01-09Not quite T245: add some unit tests for 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-06Fix makefile formatting.Daniil Baturin
2017-01-06Add a target for re-generating the RNG schemata to makefile.Daniil Baturin
2017-01-06Add initial implementation of the protobuf schema.Daniil Baturin
2017-01-06Add oasis-generated files.Daniil Baturin
2017-01-06Remove oasis-generated scripts from gitignore, so that simply buildingDaniil Baturin
vyconf doesn't require oasis.
2017-01-05Initial implementation of the curly config parser.Daniil Baturin
2017-01-05Remove the old tag node format from the example grammar.Daniil Baturin