Commit Graph

43 Commits

Author SHA1 Message Date
Ivan Kozlovic
86d20aa5e6 [FIXED] Parsing of strings starting with numbers and K/G/etc.. suffix
If a configuration variable starts with numbers and has a character
that such as K/k/G/g/etc.. it would assume that it was a number
(expressed in Kb, Gb, etc..).

This PR checks that if the special characters are not the suffix,
that is, the variable does not end after those characters, then
the parsing will treat the whole thing as a string.

Resolves #3431

Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
2022-09-02 18:15:04 -06:00
Matthias Hanel
fc667aaafd [fiixed] infinite loop in config parser for include with quote and double quote
Signed-off-by: Matthias Hanel <mh@synadia.com>
2021-01-08 13:17:19 -05:00
Matthias Hanel
4649f9e691 [fixed] timeout in configuration lexer found by oss-fuzz (#1792)
* [fixed] timeout in configuration lexer found by oss-fuzz

Peek followed by next resulted in an infinite loop when eof was not
checked.
I looked for all instances of this pattern and return an error when eof is not already checked or skip was used.

Signed-off-by: Matthias Hanel <mh@synadia.com>
2021-01-05 20:07:19 -05:00
Matthias Hanel
32b5a16d97 [fixed] two minor configuration lexer issues found by oss-fuzz
after eof isVariable had a buffer overflow
stringStateFn was not set when lexString was returned

Signed-off-by: Matthias Hanel <mh@synadia.com>
2021-01-05 18:25:41 -05:00
Waldemar Quevedo
2047ed4537 Add support for base2 units in NATS config
Signed-off-by: Waldemar Quevedo <wally@synadia.com>
2020-10-28 13:52:35 -07:00
Derek Collison
ec0bc1dbec First pass account configuration for jetstream
Signed-off-by: Derek Collison <derek@nats.io>
2020-05-19 14:21:27 -07:00
Waldemar Quevedo
ff357d8317 Revert "Allow using quotes around include" 2019-04-25 18:02:01 -07:00
Derek Collison
46a2661114 Merge pull request #891 from wallyqs/include-parsing-fixes
Allow using quotes around include
2019-02-06 11:57:40 -08:00
Waldemar Quevedo
47055eddef Add support for unquoted config strings that start with number
Signed-off-by: Waldemar Quevedo <wally@synadia.com>
2019-02-06 08:57:09 -08:00
Waldemar Quevedo
441d865c1c Allow using quotes around include
Signed-off-by: Waldemar Quevedo <wally@synadia.com>
2019-01-31 09:44:20 -08:00
Waldemar Quevedo
c3a441f6ec Fix dangling bracket and parens eof bugs in config parser
Signed-off-by: Waldemar Quevedo <wally@synadia.com>
2019-01-28 17:26:22 -08:00
Waldemar Quevedo
e8928b7eed Fix conf parser hang on dangling quote
Signed-off-by: Waldemar Quevedo <wally@synadia.com>
2018-10-23 17:45:08 -07:00
Waldemar Quevedo
181b07ebc1 Config reporting with line and error position
Signed-off-by: Waldemar Quevedo <wally@synadia.com>
2018-10-02 11:38:15 -07:00
Derek Collison
9f8330bcc9 Added import and export parsing for configs
Signed-off-by: Derek Collison <derek@nats.io>
2018-09-29 13:04:19 +02:00
Derek Collison
3b953ce838 Allow localhost to not be defined, only need 127.0.0.1
Signed-off-by: Derek Collison <derek@nats.io>
2018-06-28 16:10:19 -07:00
Waldemar Quevedo
c45d2f5b8b Improve compatibility with JSON in config parser
The configuration format from the server is almost already a superset
of JSON with exception of two cases:

1) trailing commas from values at the top level (although they are
   supported inside of maps)

2) initial and final brackets on the top level section.

This change relaxes the two cases above to just skip those tokens so
that the config syntax can also support valid JSON objects for
configuring the server which might be helpful when generating it
programmatically.
2018-03-21 01:03:41 -07:00
Derek Collison
00901acc78 Update license to Apache 2 2018-03-15 22:31:07 -07:00
Eric Promislow
122b697e41 Issue 477: Improve handling of escaped substrings
This involves evaluating and interpolating \-escaped sequences
in double-quoted and undelimited strings.

Added tests on various edge-conditions, as well as ruling out bare
strings like '\true' as a bool.
2017-04-27 18:04:47 -07:00
Derek Collison
6b307af1eb Add more options for Booleans 2016-11-21 15:06:15 -08:00
Derek Collison
e57c949658 Add support for 'include' to configuration files 2016-11-21 14:58:05 -08:00
Derek Collison
6f9e4d6512 Added support for integer suffixes, e.g. 1k, 8mb 2016-11-20 17:39:04 -08:00
Derek Collison
832bac98be First pass variable support.
This allows blocked scoped variables to be set and retrieved as values using the $ prefix.
e.g. foo = 22; bar = $foo

Also supports env variables being used as variables and will properly parse to the correct type.
2016-05-22 10:21:00 -07:00
Derek Collison
46a9e6f0bc First pass at multi-user support 2016-05-13 12:27:57 -07:00
Derek Collison
9b41ee00aa lex coverage 2016-05-04 12:52:52 -07:00
Derek Collison
433d62ec0a Parse IPs and raw strings in arrays properly 2016-04-07 08:36:57 -07:00
Colin Sullivan
2baac47820 Address issues found by golint.
* No functional changes
* Did not address the ALL_CAPS issues
* Did not modify public APIs and field names.
2016-03-15 15:21:13 -06:00
Derek Collison
99f1ea29bd Increased test coverage, remove dead code 2015-01-10 18:32:30 -08:00
Derek Collison
4af2395e7f go vet fixes for 1.2 2013-12-12 14:37:15 -08:00
Derek Collison
93f25345b9 Spelling. 2013-10-21 06:51:58 -07:00
Peter Ohler
e391e6f696 added support for blocks and removed feature that allowed mixed single and double quotes 2013-08-12 09:48:52 -07:00
Derek Collison
60c411638f quoted strings should allow internal spaces 2013-08-07 12:32:08 -07:00
Derek Collison
d7876007d9 Support quoted map keys too 2013-08-07 09:17:32 -07:00
Derek Collison
b2187a7514 Allow key values to be quoted 2013-08-07 08:31:48 -07:00
Derek Collison
87f6443b7f Remove panic for unreached statement 2013-07-30 18:27:03 -07:00
Derek Collison
3ef0c2329a Fixed bug with block comments inside maps 2013-07-27 13:32:57 -07:00
Derek Collison
c6dcc8e945 Merge branch 'master' of https://github.com/apcera/gnatsd 2013-04-21 23:05:57 -07:00
Derek Collison
ce8ff5d640 Allow whitespace to term non-quoted string 2013-04-21 23:43:43 -04:00
Derek Collison
dcdcb84295 Allow non-quoted string values 2013-04-21 23:39:09 -04:00
Cameron Walters
2012c9a5bf Line length & a spelling correction. :) 2013-03-28 10:03:52 -07:00
Derek Collison
d10c170409 Assure semi-colon chaining on same line works 2013-03-25 19:05:13 -07:00
Derek Collison
446f2b923b Merged KeyStart and keyText to just Key emits 2013-03-24 14:40:09 -07:00
Derek Collison
b81714e739 Allow NL value termination for arrays 2013-03-24 12:46:20 -07:00
Derek Collison
390e530649 First pass configuration lexer 2013-03-24 12:34:26 -07:00