[exim-cvs] cvs commit: exim/exim-doc/doc-txt ChangeLog exim…

Góra strony
Delete this message
Reply to this message
Autor: Philip Hazel
Data:  
Dla: exim-cvs
Temat: [exim-cvs] cvs commit: exim/exim-doc/doc-txt ChangeLog exim/exim-src/src deliver.c
ph10 2005/12/12 11:41:51 GMT

  Modified files:
    exim-doc/doc-txt     ChangeLog 
    exim-src/src         deliver.c 
  Log:
  Don't ignore group on a router when the transport has no user/group
  setting.


  Revision  Changes    Path
  1.273     +3 -0      exim/exim-doc/doc-txt/ChangeLog
  1.24      +13 -10    exim/exim-src/src/deliver.c


  Index: ChangeLog
  ===================================================================
  RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
  retrieving revision 1.272
  retrieving revision 1.273
  diff -u -r1.272 -r1.273
  --- ChangeLog    12 Dec 2005 11:02:44 -0000    1.272
  +++ ChangeLog    12 Dec 2005 11:41:50 -0000    1.273
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.272 2005/12/12 11:02:44 ph10 Exp $
  +$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.273 2005/12/12 11:41:50 ph10 Exp $


   Change log file for Exim from version 4.21
   -------------------------------------------
  @@ -25,6 +25,9 @@
         invalid. However, $reply_address has leading white space removed, and all
         newlines turned into spaces so that the autoreply transport does not
         grumble.
  +
  +PH/05 If group was specified without a user on a router, and no group or user
  +      was specified on a transport, the group from the router was ignored.



Exim version 4.60

  Index: deliver.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/deliver.c,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- deliver.c    14 Nov 2005 13:56:49 -0000    1.23
  +++ deliver.c    12 Dec 2005 11:41:50 -0000    1.24
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/deliver.c,v 1.23 2005/11/14 13:56:49 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/deliver.c,v 1.24 2005/12/12 11:41:50 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -1304,6 +1304,14 @@
       }
     }


+/* If the transport did not set a group, see if the router did. */
+
+if (!gid_set && testflag(addr, af_gid_set))
+ {
+ *gidp = addr->gid;
+ gid_set = TRUE;
+ }
+
/* Pick up a uid from the transport if one is set. */

   if (tp->uid_set) *uidp = tp->uid;
  @@ -1339,20 +1347,13 @@
       }
     }


-/* Otherwise see if the address specifies the uid and if so, take its
-initgroups flag. The gid from the address is taken only if the transport hasn't
-set it. In other words, a gid on the transport overrides the gid on the
-address. */
+/* Otherwise see if the address specifies the uid and if so, take it and its
+initgroups flag. */

   else if (testflag(addr, af_uid_set))
     {
     *uidp = addr->uid;
     *igfp = testflag(addr, af_initgroups);
  -  if (!gid_set)
  -    {
  -    *gidp = addr->gid;
  -    gid_set = TRUE;
  -    }
     }


   /* Nothing has specified the uid - default to the Exim user, and group if the
  @@ -1368,7 +1369,9 @@
       }
     }


-/* If no gid is set, it is a disaster. */
+/* If no gid is set, it is a disaster. We default to the Exim gid only if
+defaulting to the Exim uid. In other words, if the configuration has specified
+a uid, it must also provide a gid. */

   if (!gid_set)
     {