Only enumerate accounts in domains whose folders exist.
authorMichael Orlitzky <michael@orlitzky.com>
Sun, 13 Jun 2010 15:51:41 +0000 (11:51 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Sun, 13 Jun 2010 15:51:41 +0000 (11:51 -0400)
src/dovecot_mailstore.rb

index a794032c246d3c171a33193ab56c1cc823429cec..81eb167ed4c56a540aeb48f8a3b11385f891becc 100644 (file)
@@ -13,10 +13,16 @@ class DovecotMailstore < Mailstore
 
     domains.each do |domain|
       domain_path = File.join(@domain_root, domain)
-      usernames = Filesystem.get_subdirs(domain_path)
 
-      usernames.each do |username|
-        accounts << "#{username}@#{domain}"
+      if File.directory?(domain_path)
+        # If domain_path isn't a directory, maybe the
+        # domain folder doesn't exist? In that case, I
+        # guess we want to report zero accounts.
+        usernames = Filesystem.get_subdirs(domain_path)
+
+        usernames.each do |username|
+          accounts << "#{username}@#{domain}"
+        end
       end
     end