lib/specinfra/command/base/mail_alias.rb in specinfra-2.43.11 vs lib/specinfra/command/base/mail_alias.rb in specinfra-2.44.0
- old
+ new
@@ -1,9 +1,12 @@
class Specinfra::Command::Base::MailAlias < Specinfra::Command::Base
class << self
def check_is_aliased_to(mail_alias, recipient)
- recipient = "[[:space:]]([\"']?)#{recipient}\\1"
- "getent aliases #{escape(mail_alias)} | egrep -- #{escape(recipient)}$"
+ ## if the recipient contains pipes escape them
+ ## or egrep will interpret it as an OR
+ recipient = recipient.gsub(/\|/, '\|')
+ recipient = "[[:space:]]([\"']?)#{recipient}\\1(,|$)"
+ "getent aliases #{escape(mail_alias)} | egrep -- #{escape(recipient)}"
end
def add(mail_alias, recipient)
"echo #{mail_alias}: #{recipient} >> /etc/aliases"
end