<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -4,6 +4,9 @@ class MailingBlacklist &lt; ActiveRecord::Base
   belongs_to :mailing_domain, :foreign_key =&gt; :domain_id
 
   def self.listings_for_email(email, level = nil)
+    # Reject invalid emails
+    return [] unless valid_email?(email)
+
     parsed_email = parse_email(email)
     
     domain = MailingDomain.find_by_name_crc(parsed_email[:domain])
@@ -47,6 +50,9 @@ class MailingBlacklist &lt; ActiveRecord::Base
   end
 
   def self.unban!(email)
+    # Reject invalid emails
+    return unless valid_email?(email)
+
     parsed_email = parse_email(email)
     
     domain = MailingDomain.find_by_name_crc(parsed_email[:domain])
@@ -60,6 +66,9 @@ class MailingBlacklist &lt; ActiveRecord::Base
   end
   
   def self.ban!(email, level, reason, source = :other)
+    # Reject invalid emails
+    return unless valid_email?(email)
+
     parsed_email = parse_email(email)
     
     domain = MailingDomain.find_by_name_crc(parsed_email[:domain]) || MailingDomain.create(:name =&gt; parsed_email[:domain])</diff>
      <filename>rails-plugin/models/mailing_blacklist.rb</filename>
    </modified>
    <modified>
      <diff>@@ -70,4 +70,12 @@ describe MailingBlacklist, &quot;banning/unbanning features&quot; do
    MailingBlacklist.ban!('test@yahoo.ca', :hard, 'test reason').should be_valid
    MailingBlacklist.banned?('test@yahoo.ca').should be_true
  end
+ 
+ it &quot;should not fail to ban an invalid email address&quot; do
+   lambda { MailingBlacklist.ban!('test', :hard, 'test reason') }.should_not raise_error
+ end
+
+ it &quot;should not fail to unban an invalid email address&quot; do
+   lambda { MailingBlacklist.unban!('test') }.should_not raise_error
+ end
 end</diff>
      <filename>rails-plugin/spec/models/mailing_blacklist_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>a32475bab324b89bbe249e95a8406b3e8677f991</id>
    </parent>
  </parents>
  <author>
    <name>Alexey Kovyrin</name>
    <email>alexey@kovyrin.net</email>
  </author>
  <url>http://github.com/kovyrin/bounces-handler/commit/b9bd9fdc8f4fb7f95faa5d3921d422aedae4d94c</url>
  <id>b9bd9fdc8f4fb7f95faa5d3921d422aedae4d94c</id>
  <committed-date>2008-08-13T20:50:04-07:00</committed-date>
  <authored-date>2008-08-13T20:50:04-07:00</authored-date>
  <message>reject invalid emails in ban/unban methods</message>
  <tree>e07f3976dee9a329fa889dda998d3bce5ef781e9</tree>
  <committer>
    <name>Alexey Kovyrin</name>
    <email>alexey@kovyrin.net</email>
  </committer>
</commit>
