Get Exim authentication working!
authorroot <root@deleuze.hcoop.net>
Tue, 20 Nov 2007 23:03:39 +0000 (18:03 -0500)
committerroot <root@deleuze.hcoop.net>
Tue, 17 Jun 2008 04:21:52 +0000 (00:21 -0400)
conf.d/auth/30_exim4-config_examples

index b228b4c..cf1bbeb 100644 (file)
@@ -210,36 +210,30 @@ cram_md5:
   client_name = ${extract{1}{:}{${lookup{$host}nwildlsearch{CONFDIR/passwd.client}{$value}fail}}}
   client_secret = ${extract{2}{:}{${lookup{$host}nwildlsearch{CONFDIR/passwd.client}{$value}fail}}}
 
-# hcoop-change: Authenticate against /etc/courier/exim.dat for plain
-# and login authenticators
+# hcoop-change: Authenticate against either /etc/courier/exim.dat or
+# SASL for plain and login authenticators
 
-userdb_plain:
+hcoop_plain:
   driver = plaintext
   public_name = PLAIN
   server_condition = \
-    ${if \
-      crypteq {$3} \
-              {${extract{systempw}{${tr{${lookup{$2} \
+    ${if or {{crypteq {$3} \
+                      {${extract{systempw}{${tr{${lookup{$2} \
                                  dbm{/etc/courier/exim.dat} \
-                           }}{|}{ }}}}} \
-      {yes} \
-      {no} \
-    }
+                           }}{|}{ }}}}}} \
+             {saslauthd {{$2}{$3}}}}}
   server_set_id = $2
 
-userdb_login:
+hcoop_login:
   driver = plaintext
   public_name = LOGIN
   server_prompts = "Username:: : Password::"
   server_condition = \
-    ${if \
-      crypteq {$2} \
-              {${extract{systempw}{${tr{${lookup{$1} \
+    ${if or {{crypteq {$2} \
+                      {${extract{systempw}{${tr{${lookup{$1} \
                                  dbm{/etc/courier/exim.dat} \
-                           }}{|}{ }}}}} \
-      {yes} \
-      {no} \
-    }
+                           }}{|}{ }}}}}} \
+             {saslauthd {{$1}{$2}}}}}
   server_set_id = $1
 
 # this returns the matching line from passwd.client and doubles all ^