diff options
author | Paul Lathrop <paul@tertiusfamily.net> | 2009-01-15 09:35:47 -0800 |
---|---|---|
committer | James Turnbull <james@lovedthanlost.net> | 2009-01-22 10:45:22 +1100 |
commit | 234a035b97287d8910ca00a58b70a06775818693 (patch) | |
tree | cc835eb913c05aed05048a761f2233f47667e9f1 /lib/puppet/provider/mailalias | |
parent | fb8f8cd14f2a4958505f27910ad1d2a368bb0967 (diff) | |
download | puppet-234a035b97287d8910ca00a58b70a06775818693.tar.gz puppet-234a035b97287d8910ca00a58b70a06775818693.tar.xz puppet-234a035b97287d8910ca00a58b70a06775818693.zip |
Fix #1560
Adds an rspec test which demonstrates #1560 and a custom 'process'
method for the aliases provider to fix it.
The default processing uses split() to break the line into records on
the separator, which breaks if records can contain the separator. The
custom method I've added uses a 'limited' split() to break the line on
the first separator only.
This commit fixes #1560
Signed-off-by: Paul Lathrop <paul@tertiusfamily.net>
Diffstat (limited to 'lib/puppet/provider/mailalias')
-rwxr-xr-x | lib/puppet/provider/mailalias/aliases.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/puppet/provider/mailalias/aliases.rb b/lib/puppet/provider/mailalias/aliases.rb index 8b5c45617..f9217123e 100755 --- a/lib/puppet/provider/mailalias/aliases.rb +++ b/lib/puppet/provider/mailalias/aliases.rb @@ -17,6 +17,14 @@ Puppet::Type.type(:mailalias).provide(:aliases, record end + def process(line) + ret = {} + records = line.split(':',2) + ret[:name] = records[0].strip() + ret[:recipient] = records[1].strip() + ret + end + def to_line(record) dest = record[:recipient].collect do |d| # Quote aliases that have non-alpha chars |