fix(daemon): Adds escaping for log forwarded labels #1035
Merged
+17
−11
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR corrects how the collector JSON for log forwarded labels handles log label key and values which have characters which must be escaped for JSON marshaling. The change is restricted to the daemon code to generate the log label JSON and does not impact the agent side of things.
The fix is to use the Go
json
module to handle the creation of the JSON. It will handle the escaping as needed. The array of label key/value pairs is converted to a Gomap
which is then marshaled into JSON. The case where either the label or value is empty (an invalid label) is handled so that these are not forwarded. This case should not occur as labels of this type should not be created by the agent but this check is added as additional protection against this case.