Browse Source

added support for unknown plugins

Xabier de Zuazo 11 years ago
parent
commit
02d6dc16e4
2 changed files with 21 additions and 0 deletions
  1. 11 0
      libraries/plugins.rb
  2. 10 0
      templates/default/conf.d/90-plugin.conf.erb

+ 11 - 0
libraries/plugins.rb

@@ -9,5 +9,16 @@ module Dovecot
       false
     end
 
+    def self.list_unknown(plugins)
+      known_plugins = [
+        'mail_log',
+        'quota',
+        'acl',
+        'sieve'
+      ]
+
+      plugins.keys - known_plugins
+    end
+
   end
 end

+ 10 - 0
templates/default/conf.d/90-plugin.conf.erb

@@ -6,6 +6,16 @@
 # settings take effect. See <doc/wiki/Plugins.txt> for list of plugins and
 # their configuration. Note that %variable expansion is done for all values.
 
+<% unknown_plugins = Dovecot::Plugins.list_unknown(@plugins)
+   if unknown_plugins.length > 0
+     unknown_plugins.each do |plugin|
+       if @plugins[plugin].kind_of?(Hash)
+   -%>
+<%=      Dovecot::Conf.plugin(plugin, @plugins[plugin]) %>
+<%     end
+     end
+   else -%>
 plugin {
   #setting_name = value
 }
+<% end -%>