Remove unwanted (int) case when reading SIZE. Fix runtest for 64-bit
authorPhilip Hazel <ph10@hermes.cam.ac.uk>
Wed, 4 Jul 2007 10:37:03 +0000 (10:37 +0000)
committerPhilip Hazel <ph10@hermes.cam.ac.uk>
Wed, 4 Jul 2007 10:37:03 +0000 (10:37 +0000)
systems. Tidy obsolete stuff in test 46.

doc/doc-txt/ChangeLog
src/src/smtp_in.c
test/aux-fixed/0046.filter.userx [deleted file]
test/confs/0046
test/runtest

index 2306cf4..99d3eb8 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.520 2007/06/27 11:01:51 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.521 2007/07/04 10:37:03 ph10 Exp $
 
 Change log file for Exim from version 4.21
 -------------------------------------------
@@ -76,6 +76,9 @@ PH/13 Installed PCRE version 7.2. This needed some changes because of the new
 
 PH/14 Implemented queue_only_load_latch.
 
+PH/15 Removed an incorrect (int) cast when reading the value of SIZE in a
+      MAIL command. The effect was to mangle the value on 64-bit systems.
+
 
 Exim version 4.67
 -----------------
index fcf165c..ca198af 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/smtp_in.c,v 1.58 2007/04/16 11:17:13 ph10 Exp $ */
+/* $Cambridge: exim/src/src/smtp_in.c,v 1.59 2007/07/04 10:37:03 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -3134,7 +3134,7 @@ while (done <= 0)
       in order to be able to log the sender address on failure. */
 
       if (strcmpic(name, US"SIZE") == 0 &&
-          ((size = (int)Ustrtoul(value, &end, 10)), *end == 0))
+          ((size = Ustrtoul(value, &end, 10)), *end == 0))
         {
         if ((size == ULONG_MAX && errno == ERANGE) || size > INT_MAX)
           size = INT_MAX;
diff --git a/test/aux-fixed/0046.filter.userx b/test/aux-fixed/0046.filter.userx
deleted file mode 100644 (file)
index c0044c9..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-# Exim filter
-
-testprint "Body: $message_body"
-testprint "End:  $message_body_end"
index 5543669..ab28501 100644 (file)
@@ -21,12 +21,6 @@ trusted_users = CALLER
 
 begin routers
 
-forwardfile:
-  driver = redirect
-  allow_filter
-  check_local_user
-  file = DIR/aux-fixed/TESTNUM.filter.$local_part
-
 localuser:
   driver = accept
   local_parts = userx
index aba2662..6a4fb2b 100755 (executable)
@@ -1,6 +1,6 @@
 #! /usr/bin/perl -w
 
-# $Cambridge: exim/test/runtest,v 1.27 2007/06/14 13:20:38 ph10 Exp $
+# $Cambridge: exim/test/runtest,v 1.28 2007/07/04 10:37:04 ph10 Exp $
 
 ###############################################################################
 # This is the controlling script for the "new" test suite for Exim. It should #
@@ -490,6 +490,12 @@ while(<IN>)
   # ======== General uids, gids, and pids ========
   # Note: this must come after munges for caller's and exim's uid/gid
 
+  # These are for systems where long int is 64
+  s/\buid=4294967295/uid=-1/;
+  s/\beuid=4294967295/euid=-1/;
+  s/\bgid=4294967295/gid=-1/;
+  s/\begid=4294967295/egid=-1/;
+
   s/\bgid=\d+/gid=gggg/;
   s/\begid=\d+/egid=gggg/;
   s/\bpid=\d+/pid=pppp/;