commit 0ea49f3a4734fd7a9f8df2f0a637a034249f66ef
parent 332116e55eca9657fb1a0277c0831d41c2270d62
Author: wmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Date: Fri, 5 Oct 2007 21:45:00 +0000
handle message ids with spaces in them
git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@604 5c8cc53c-5e98-4d25-b20a-d8db53a31250
Diffstat:
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/lib/sup/index.rb b/lib/sup/index.rb
@@ -154,11 +154,10 @@ EOS
docid, entry = load_entry_for_id m.id unless docid && entry
raise "no source info for message #{m.id}" unless m.source && m.source_info
- raise "trying deleting non-corresponding entry #{docid}" if docid && @index[docid][:message_id] != m.id
+ raise "trying to delete non-corresponding entry #{docid}" if docid && @index[docid][:message_id] != m.id
source_id =
if m.source.is_a? Integer
- raise "Debugging: integer source set"
m.source
else
m.source.id or raise "unregistered source #{m.source} (id #{m.source.id.inspect})"
@@ -184,7 +183,7 @@ EOS
docid, entry = load_entry_for_id m.id
## this hasn't been triggered in a long time. TODO: decide whether it's still a problem.
- raise "just added message #{m.id} but couldn't find it in a search" unless docid
+ raise "just added message #{m.id.inspect} but couldn't find it in a search" unless docid
true
end
diff --git a/lib/sup/message.rb b/lib/sup/message.rb
@@ -58,7 +58,7 @@ class Message
@from = PersonManager.person_for header["from"]
- @id = header["message-id"]
+ @id = header["message-id"].gsub(/^\s+|\s+$/, "")
unless @id
@id = "sup-faked-" + Digest::MD5.hexdigest(raw_header)
Redwood::log "faking message-id for message from #@from: #@id"