mirror of
https://github.com/elastic/logstash.git
synced 2025-04-24 14:47:19 -04:00
validate config file encoding when containing non-ascii characters
Fixes #1468
This commit is contained in:
parent
98abbafb3d
commit
ea7db02836
1 changed files with 9 additions and 1 deletions
|
@ -309,6 +309,7 @@ class LogStash::Agent < Clamp::Command
|
||||||
end
|
end
|
||||||
|
|
||||||
config = ""
|
config = ""
|
||||||
|
encoding_issue_files = []
|
||||||
Dir.glob(path).sort.each do |file|
|
Dir.glob(path).sort.each do |file|
|
||||||
next unless File.file?(file)
|
next unless File.file?(file)
|
||||||
if file.match(/~$/)
|
if file.match(/~$/)
|
||||||
|
@ -316,7 +317,14 @@ class LogStash::Agent < Clamp::Command
|
||||||
next
|
next
|
||||||
end
|
end
|
||||||
@logger.debug("Reading config file", :file => file)
|
@logger.debug("Reading config file", :file => file)
|
||||||
config << File.read(file) + "\n"
|
cfg = File.read(file)
|
||||||
|
if !cfg.ascii_only? && !cfg.valid_encoding?
|
||||||
|
encoding_issue_files << file
|
||||||
|
end
|
||||||
|
config << cfg + "\n"
|
||||||
|
end
|
||||||
|
if (encoding_issue_files.any?)
|
||||||
|
fail("The following config files contains non-ascii characters but are not UTF-8 encoded #{encoding_issue_files}")
|
||||||
end
|
end
|
||||||
return config
|
return config
|
||||||
end # def load_config
|
end # def load_config
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue