-
Notifications
You must be signed in to change notification settings - Fork 5.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(config): Fix comment removal in TOML files #14240
Conversation
Download PR build artifacts for linux_amd64.tar.gz, darwin_amd64.tar.gz, and windows_amd64.zip. 📦 Click here to get additional PR build artifactsArtifact URLs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for digging into this so quickly!
* master: fix(inputs.win_perf_counter): Do not rely on returned buffer size (influxdata#14241) feat(inputs.modbus): Add support for string-fields (influxdata#14145) chore(deps): Bump cloud.google.com/go/storage from 1.30.1 to 1.34.1 (influxdata#14253) chore(deps): Bump github.com/rabbitmq/amqp091-go from 1.8.1 to 1.9.0 (influxdata#14252) chore(deps): Bump github.com/hashicorp/consul/api from 1.25.1 to 1.26.1 (influxdata#14251) chore(deps): Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.23.5 to 1.26.0 (influxdata#14249) fix(config): Fix comment removal in TOML files (influxdata#14240) feat(outputs.prometheus_client): Support listen on vsock (influxdata#14108) fix(inputs.mqtt_consumer): Resolve could not mark message delivered (influxdata#14243) chore(linters): Fix findings found by testifylint for Windows and enable it. (influxdata#14238) feat(migrations): Add option migration for inputs.nats_consumer (influxdata#14234) feat(migrations): Add option migration for inputs.mqtt_consumer (influxdata#14233) test(inputs.jolokia2_agent): Sort metrics as order is not consistent (influxdata#14227)
(cherry picked from commit 1887d29)
resolves #14237
The current code for removing comments from TOML files is not aware of multi-line strings. As a consequence, hashes embedded in multi-line strings (as shown in #14237) will be considered a comment and all text until the end-line is removed.
This PR completely reworks the parsing by implementing a state machine matching the start and end of comments, strings, multi-line strings and handles escaping. It also adds a test case including (but not limited to) #14237.