(1) a new wish (2) minor tweaks to dbmbuild and cramtest when setting up
authorPhilip Hazel <ph10@hermes.cam.ac.uk>
Tue, 30 Aug 2005 09:19:33 +0000 (09:19 +0000)
committerPhilip Hazel <ph10@hermes.cam.ac.uk>
Tue, 30 Aug 2005 09:19:33 +0000 (09:19 +0000)
new tests.

doc/doc-misc/WishList
doc/doc-txt/ChangeLog
src/src/exim_dbmbuild.c
src/util/cramtest.pl

index 0b7338f..c392106 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-misc/WishList,v 1.47 2005/08/09 13:31:52 ph10 Exp $
+$Cambridge: exim/doc/doc-misc/WishList,v 1.48 2005/08/30 09:19:33 ph10 Exp $
 
 EXIM 4 WISH LIST
 ----------------
@@ -1967,5 +1967,12 @@ feature. It would be nice if this was automatic.
 This wish is for an option to log the name of the file that is written in
 maildir format (e.g. time.pid.host).
 ------------------------------------------------------------------------------
---- HWM 339 ------------------------------------------------------------------
+
+(340) 30-Aug-05 M Match more than one item
+
+match_address, for instance, matches one address to a list. The wish is to be
+able to supply two lists; for each address in the first list, search the
+second. Maybe something like ${match_any{...}{...}} is needed.
+------------------------------------------------------------------------------
+--- HWM 340 ------------------------------------------------------------------
 ---------------------------- End of WishList ---------------------------------
index 6634548..ec25aae 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.211 2005/08/23 11:25:38 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.212 2005/08/30 09:19:33 ph10 Exp $
 
 Change log file for Exim from version 4.21
 -------------------------------------------
@@ -122,6 +122,10 @@ PH/28 Exim tries to create and chdir to its spool directory when it starts;
 PH/29 Added "crypteq" to the list of supported features that Exim outputs when
       -bV or -d is used.
 
+PH/30 Fixed (presumably very longstanding) bug in exim_dbmbuild: if it failed
+      because an input line was too long, either on its own, or by virtue of
+      too many continuations, the temporary file was not being removed.
+
 
 Exim version 4.52
 -----------------
index d9f3bfc..f4e4738 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/exim_dbmbuild.c,v 1.4 2005/06/27 14:29:43 ph10 Exp $ */
+/* $Cambridge: exim/src/src/exim_dbmbuild.c,v 1.5 2005/08/30 09:19:33 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -234,7 +234,8 @@ while (Ufgets(line, max_insize, f) != NULL)
   if (len >= max_insize - 1 && p[-1] != '\n')
     {
     printf("Overlong line read: max permitted length is %d\n", max_insize - 1);
-    return 1;
+    yield = 2;
+    goto TIDYUP;
     }
 
   if (line[0] == '#') continue;
@@ -260,7 +261,8 @@ while (Ufgets(line, max_insize, f) != NULL)
       {
       printf("Continued set of lines is too long: max permitted length is %d\n",
         max_outsize -1);
-      return 1;
+      yield = 2;
+      goto TIDYUP;
       }
 
     Ustrcpy(bptr, s);
index 87b3eb4..6135ff0 100755 (executable)
@@ -1,10 +1,10 @@
 #!/usr/bin/perl
-# $Cambridge: exim/src/util/cramtest.pl,v 1.1 2004/10/07 10:39:03 ph10 Exp $
+# $Cambridge: exim/src/util/cramtest.pl,v 1.2 2005/08/30 09:19:33 ph10 Exp $
 
-# This script is contributed by Vadim Vygonets to aid in debugging CRAM-MD5 
-# authentication. 
+# This script is contributed by Vadim Vygonets to aid in debugging CRAM-MD5
+# authentication.
 
-# A patch was contributed by Jon Warbrick to upgrade it to use the Digest::MD5 
+# A patch was contributed by Jon Warbrick to upgrade it to use the Digest::MD5
 # module instead of the deprecated MD5 module.
 
 # The script prompts for three data values: a user name, a password, and the
 
 
 # Copyright (c) 2002
-#      Vadim Vygonets <vadik-exim@vygo.net>.  All rights reserved.
+#       Vadim Vygonets <vadik-exim@vygo.net>.  All rights reserved.
 # Public domain is OK with me.
 
 use MIME::Base64;
-use DIGEST::MD5;
+use Digest::MD5;
 
 print "User: ";
 chop($user = <>);
@@ -38,15 +38,15 @@ $chal =~ s/^334 //;
 
 $context = new Digest::MD5;
 if (length($passwd) > 64) {
-       $context->add($passwd);
-       $passwd = $context->digest();
-       $context->reset();
+        $context->add($passwd);
+        $passwd = $context->digest();
+        $context->reset();
 }
 
 @passwd = unpack("C*", pack("a64", $passwd));
 for ($i = 0; $i < 64; $i++) {
-       $pass_ipad[$i] = $passwd[$i] ^ 0x36;
-       $pass_opad[$i] = $passwd[$i] ^ 0x5C;
+        $pass_ipad[$i] = $passwd[$i] ^ 0x36;
+        $pass_opad[$i] = $passwd[$i] ^ 0x5C;
 }
 $context->add(pack("C64", @pass_ipad), decode_base64($chal));
 $digest = $context->digest();