From 234a035b97287d8910ca00a58b70a06775818693 Mon Sep 17 00:00:00 2001 From: Paul Lathrop Date: Thu, 15 Jan 2009 09:35:47 -0800 Subject: 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 --- lib/puppet/provider/mailalias/aliases.rb | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'lib') 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 -- cgit