From 3d6fe1fdc6fedaa96839a4cb74a5beba212ec34e Mon Sep 17 00:00:00 2001 From: Ciprian Badescu Date: Fri, 7 Feb 2020 17:57:42 +0200 Subject: (MODULES-7202) fixes comma handling in value regular expression that we use to separate values by comma was updated to take into account only commas outside quoted strings --- lib/puppet/provider/mailalias/aliases.rb | 2 +- spec/fixtures/integration/provider/mailalias/aliases/test1 | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/puppet/provider/mailalias/aliases.rb b/lib/puppet/provider/mailalias/aliases.rb index 7ec30b1..16f41ad 100644 --- a/lib/puppet/provider/mailalias/aliases.rb +++ b/lib/puppet/provider/mailalias/aliases.rb @@ -15,7 +15,7 @@ Puppet::Type.type(:mailalias).provide( record_line :aliases, fields: ['name', 'recipient'], separator: %r{\s*:\s*}, block_eval: :instance do def post_parse(record) if record[:recipient] - record[:recipient] = record[:recipient].split(%r{\s*,\s*}).map { |d| d.gsub(%r{^['"]|['"]$}, '') } + record[:recipient] = record[:recipient].split(%r{\s*,\s*(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)}).map { |d| d.gsub(%r{^['"]|['"]$}, '') } end record end diff --git a/spec/fixtures/integration/provider/mailalias/aliases/test1 b/spec/fixtures/integration/provider/mailalias/aliases/test1 index a69be8a..342239d 100644 --- a/spec/fixtures/integration/provider/mailalias/aliases/test1 +++ b/spec/fixtures/integration/provider/mailalias/aliases/test1 @@ -26,6 +26,7 @@ decode: root # Other tests anothertest: "|/path/to/rt-mailgate --queue 'another test' --action correspond --url http://my.com/" test: "|/path/to/rt-mailgate --queue 'test' --action correspond --url http://my.com/" +commas_in_command_test: "|/path/to/rt-mailgate --queue 'test' --action correspond --url http://my.com/ --projects projecta,projectb" # Included file incfile: :include: /tmp/somefile -- cgit v1.2.3