Commit graph

58 commits

Author SHA1 Message Date
Erica Portnoy
7be2e79025 Fix nginx parser (#4296)
* rewrite nginx parser to allow everything that nginx does

* also make changes in tls_sni_01.py

* add test case with

* allow embedded variables

* allow empty ${} variable

* fix quotes

* un-special case if

* update all tests to reflect current parsing

* escape in QuotedString after merge

* add test cases for variable weirdness that are almost certainly nginx bugs

* update regex for correct variable rules

* close paren doesn't invoke last_space

* Make test file valid Nginx syntax
2017-03-24 19:45:53 -07:00
kernelpanek
e715b49dd2 Don't unquote the results of the parse 2017-03-15 01:26:16 -06:00
kernelpanek
5758b1687d Fixes issue when parsing an Nginx configuration file containing multiline quoted strings 2017-03-15 00:25:26 -06:00
Josh Soref
6a39a42f45 Spelling (#4101)
* spelling: action

* spelling: artifacts

* spelling: asymmetric

* spelling: attempts

* spelling: bizarre

* spelling: certbot

* spelling: certificate

* spelling: certainly

* spelling: challenge

* spelling: client

* spelling: collated

* spelling: correct

* spelling: considered

* spelling: custom

* spelling: distinguish

* spelling: encoding

* spelling: enhancement

* spelling: equivalent

* spelling: execution

* spelling: existence

* spelling: failed

* spelling: handshake

* spelling: hyphen

* spelling: initialized

* spelling: initialization

* spelling: interpretation

* spelling: letsencrypt

* spelling: multiline

* spelling: multipart

* spelling: necessary

* spelling: otherwise

* spelling: output

* spelling: overridden

* spelling: positives

* spelling: preferable

* spelling: progress

* spelling: recommended

* spelling: referring

* spelling: relativity

* spelling: request

* spelling: requiring

* spelling: separate

* spelling: source

* spelling: specified

* spelling: standard

* spelling: successfully

* spelling: unparseable

* spelling: useful
2017-01-26 16:21:54 -08:00
Ondřej Surý
06e07ca49b pyparsing.restOfLine is not a function, don't call it (#3989) 2017-01-09 18:29:02 -08:00
Brad Warren
0b0eca323c Remove extra newline 2016-08-16 15:36:41 -07:00
Peter Eckersley
7deb1f0ad6 Fix bug with UnpsacedList.insert to final position
- which only applied when the list actually contained spaces
2016-08-08 12:15:18 -07:00
Peter Eckersley
a8abde7d8d Merge remote-tracking branch 'origin/no-conflicting-declarations3' into no-conflicting-declarations3 2016-08-05 14:47:41 -07:00
Peter Eckersley
61b81b877d Merge remote-tracking branch 'origin/master' into no-conflicting-declarations3 2016-07-29 17:28:29 -07:00
Brad Warren
4eb38fe167 Make spaced list handle an insert past the end of the list 2016-07-26 17:09:01 -07:00
Brad Warren
f98470d4a0 Revert "UnspacedList._spaced_position: support the slice at the end fo the list"
This reverts commit 85d9ab4d5c.
2016-07-26 17:01:24 -07:00
Peter Eckersley
85d9ab4d5c UnspacedList._spaced_position: support the slice at the end fo the list
- Which is needed for .insert()ing at the end, for instance.
2016-07-21 13:39:13 -07:00
Peter Eckersley
e3ab49a93b Rework "value" parser:
- Now handles any${VAR_SUBSTITUTION}inthemiddle/of/values
  - Don't use a single giant janky Regex; use small ones and have PyParsing
    combine them
2016-07-15 17:11:04 -07:00
Peter Eckersley
b6966fc05e lint 2016-07-15 17:11:04 -07:00
Peter Eckersley
7183896ed7 Preserve spaces before comments at the beginning of a file 2016-07-15 17:11:04 -07:00
Peter Eckersley
b7cf928852 Parse charset_map correctly
(though we still don't emit it correctly...)
2016-07-13 17:17:45 -07:00
Peter Eckersley
68500cd436 Don't allow dollar_var to swalllow characters like "{" 2016-07-09 15:13:09 -07:00
Peter Eckersley
be8f0bc53b Do a better job of parsing map patterns 2016-06-30 15:29:38 -07:00
Peter Eckersley
db8ddac4e2 lint & tweak 2016-06-30 15:13:35 -07:00
Peter Eckersley
8c3e443de9 First attempt at mitigating #3206 2016-06-30 15:07:28 -07:00
Peter Eckersley
bdbdd826de Extra comment & concision 2016-06-27 12:50:06 -07:00
Peter Eckersley
6017a6cb6d Only write nginx config files if we've modified them 2016-06-27 12:44:36 -07:00
Peter Eckersley
184f54cbc7 cosmetic improvements 2016-06-27 12:36:28 -07:00
Peter Eckersley
fdbb69930b Tweak the NotImplementedError cases 2016-06-27 12:00:41 -07:00
Peter Eckersley
98d261596c Raise NotImplemented for all problematic list methods 2016-06-24 19:16:05 -07:00
Peter Eckersley
0dc4639cbf Be more explicit about range policing
(rather than doing it in some roundabout crazy way)
2016-06-24 18:56:30 -07:00
Peter Eckersley
8f0a5fdc66 Fix a bug in the new index calculations 2016-06-24 16:48:30 -07:00
Peter Eckersley
9da533d92e Be more succinct 2016-06-24 16:13:12 -07:00
Peter Eckersley
e415a4d402 For now, instead, consider this NotImplemented 2016-06-24 14:36:23 -07:00
Peter Eckersley
ad13b525b2 For reference, a buggy attempt to implement slicing
but slice assignment seems to mangle the .spaced list in some cases
2016-06-24 14:35:42 -07:00
Peter Eckersley
6930523c14 Refactor to simplify indenation handling 2016-06-23 17:59:26 -07:00
Peter Eckersley
a29c6e3102 Try simplifying handling of spacey sublists
- this was causing test failures but they may all have been fixed by other
   changes...
2016-06-23 14:06:32 -07:00
Peter Eckersley
4ef7131a4b Name all of nginxparser's magic regexps 2016-06-23 11:06:11 -07:00
Peter Eckersley
5960376d36 Cleanups 2016-06-20 18:17:47 -07:00
Peter Eckersley
ef31a837f7 Lint 2016-06-20 15:56:19 -07:00
Peter Eckersley
d2b4ae5740 Consistently coerce inbound data to Unspacines 2016-06-18 15:17:59 -07:00
Peter Eckersley
e4f88506cc Fix TLS_SNI & associated tests 2016-06-18 14:52:07 -07:00
Peter Eckersley
b2c36f8527 Lint & test fix 2016-06-17 14:39:55 -07:00
Peter Eckersley
ba0a0e9c26 Tests for UnspacedList 2016-06-17 14:32:24 -07:00
Peter Eckersley
efd1ff46c6 Lint 2016-06-16 18:18:33 -07:00
Peter Eckersley
e76e3a953a Fix test cases
- but we're still mangling files in place...
2016-06-16 17:58:05 -07:00
Peter Eckersley
b82ebd9180 Fix desyncronisation with .spaced when modifying sublists
- we now actually write directives again!
2016-06-16 17:17:13 -07:00
Peter Eckersley
72ba5b72cc Try to preserve the exact form of end-of-file whitespace 2016-06-16 12:25:11 -07:00
Peter Eckersley
e5ce03b312 More test wrangling 2016-06-16 12:24:36 -07:00
Peter Eckersley
ff7addefb3 Start fixing tests 2016-06-15 17:57:24 -07:00
Peter Eckersley
2cbd680bd5 Hide .spaced from users outside nginxparser.py 2016-06-15 17:36:53 -07:00
Peter Eckersley
4f46289c1b Start cleanup 2016-06-15 17:26:38 -07:00
Peter Eckersley
5e59b8ad46 Woohoo! it works 2016-06-15 16:42:47 -07:00
Peter Eckersley
98a2e0c6d6 Another waypoint 2016-06-15 16:02:33 -07:00
Peter Eckersley
8147c671e4 Now handles some conf files in whitespace-preserving mode
(but not all of them)
2016-06-08 17:52:35 -07:00