Install latest Cygwin config files.
authorPhilip Hazel <ph10@hermes.cam.ac.uk>
Tue, 2 Aug 2005 09:09:27 +0000 (09:09 +0000)
committerPhilip Hazel <ph10@hermes.cam.ac.uk>
Tue, 2 Aug 2005 09:09:27 +0000 (09:09 +0000)
doc/doc-txt/ChangeLog
src/OS/Makefile-CYGWIN
src/OS/os.c-cygwin
src/OS/os.h-cygwin

index b39c70a2cd1babcb3cec386dd076ec4aed61f006..dfaa2aa75b9dbcb506fb64fe9ba239f41a1e4b64 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.190 2005/08/02 09:01:44 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.191 2005/08/02 09:09:27 ph10 Exp $
 
 Change log file for Exim from version 4.21
 -------------------------------------------
@@ -35,6 +35,8 @@ PH/08 Arrange for USE_INET_NTOA_FIX to be set in config.h for AIX systems as
       well as for IRIX systems, when gcc is being used. See the host.c source
       file for comments.
 
+PH/09 Installed latest Cygwin configuration files from the Cygwin maintainer.
+
 
 Exim version 4.52
 -----------------
index 8bf51216c87b984c1172277c44aeb7f8b2b2ac2f..cbd50b085561681c28b39f772a784103fde25647 100644 (file)
@@ -1,4 +1,4 @@
-# $Cambridge: exim/src/OS/Makefile-CYGWIN,v 1.3 2005/05/23 16:58:55 fanf2 Exp $
+# $Cambridge: exim/src/OS/Makefile-CYGWIN,v 1.4 2005/08/02 09:09:27 ph10 Exp $
 
 # OS-specific file for Cygwin.
 
@@ -6,7 +6,7 @@
 
 HAVE_ICONV = yes
 CFLAGS= -g -Wall -O2
-LIBS= -lcrypt -lresolv -lm
+LIBS= -lcrypt -lresolv
 LIBS_EXIM= -liconv
 EXIWHAT_PS_ARG=-as
 EXIWHAT_KILL_SIGNAL=-USR1
@@ -65,9 +65,6 @@ SUPPORT_MBX=yes
 LOOKUP_DBM=yes
 LOOKUP_LSEARCH=yes
 
-LDAP_LIB_TYPE=OPENLDAP2
-LIBS_EXIM +=-lldap
-
 # LOOKUP_CDB=yes
 LOOKUP_DNSDB=yes
 LOOKUP_DSEARCH=yes
@@ -80,8 +77,15 @@ LOOKUP_PASSWD=yes
 # LOOKUP_PGSQL=yes
 # LOOKUP_WHOSON=yes
 
-# It is important to define this variable but its value is always overridden
-CONFIGURE_OWNER=544
+LDAP_LIB_TYPE=OPENLDAP2
+LIBS_EXIM +=-lldap
+
+# WITH_OLD_DEMIME=yes
+WITH_CONTENT_SCAN=yes
+
+# It is important to define these variables but the values are always overridden
+CONFIGURE_OWNER=18
+CONFIGURE_GROUP=544
 
 EXICYCLOG_MAX=10
 
@@ -109,8 +113,4 @@ MSGLOG_DIRECTORY_MODE = 0777
 SPOOL_DIRECTORY_MODE  = 0777
 SPOOL_MODE            = 0666
 
-# PERL_CC=gcc -g -O2 -I ../minires
-# PERL_CCOPTS= -dD -save-temps -I ../minires
-# PERL_LIBS = /usr/lib/perl5/5.6.1/cygwin-multi/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.6.1/cygwin-multi/CORE -llibperl5_6_1
-
 # End
index 5459044e528fbf4dd1c7cffa632b4c12e61ebc8c..a3b4c643f922d8e66cb7afb561c97c99b793ae0c 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/OS/os.c-cygwin,v 1.2 2005/03/29 11:01:32 ph10 Exp $ */
+/* $Cambridge: exim/src/OS/os.c-cygwin,v 1.3 2005/08/02 09:09:27 ph10 Exp $
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -84,7 +84,7 @@ int cygwin_setgid(gid_t gid )
 }
 
 /* Background processes run at lower priority */
-static void setpriority()
+static void cygwin_setpriority()
 {
   if (!SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS))
     SetPriorityClass(GetCurrentProcess(), IDLE_PRIORITY_CLASS);
@@ -152,7 +152,7 @@ static DWORD get_privileges ()
     cygwin_init is called from the OS_INIT macro in main(). */
 
 void cygwin_init(int argc, char ** argv, void * rup,
-                 void * eup, void * egp, void * cup)
+                 void * eup, void * egp, void * cup, void * cgp)
 {
   int i;
   uid_t myuid, systemuid;
@@ -181,7 +181,7 @@ void cygwin_init(int argc, char ** argv, void * rup,
         fprintf(stderr, " Root / mapped to %s.\n", win32_path);
       }
       else if (argv[i][1] == 'b' && argv[i][2] == 'd')
-        setpriority();
+        cygwin_setpriority();
     }
   }
   if (VERSION_IS_58M(cygwin_WinVersion)) {
@@ -220,9 +220,10 @@ void cygwin_init(int argc, char ** argv, void * rup,
     * (gid_t *) egp = adminsgid;
   }
 
-  /* Set the configuration uid to the system uid.
+  /* Set the configuration uid and gid to the system uid and admins gid.
      Note that exim uid is also accepted as owner of exim.conf. */
   * (uid_t *) cup = systemuid;
+  * (gid_t *) cgp = adminsgid;
 
   if (privileged) {             /* Can setuid */
     if (cygwin_setgid(* (gid_t *) egp) /* Setuid to exim */
@@ -242,8 +243,8 @@ void cygwin_init(int argc, char ** argv, void * rup,
   if (cygwin_debug) {
     fprintf(stderr, "Starting uid %ld, gid %ld, ntsec %lu, privileged %d.\n",
             myuid, mygid, cygwin_internal(CW_CHECK_NTSEC, NULL), privileged);
-    fprintf(stderr, "root_uid %ld, exim_uid %ld, exim_gid %ld, config_uid %ld.\n",
-            * (uid_t *) rup, * (uid_t *) eup, * (gid_t *) egp, * (uid_t *) cup);
+    fprintf(stderr, "root_uid %ld, exim_uid %ld, exim_gid %ld, config_uid %ld, config_gid %ld.\n",
+            * (uid_t *) rup, * (uid_t *) eup, * (gid_t *) egp, * (uid_t *) cup, * (gid_t *) cgp);
   }
   return;
 }
index 591f0965ed648dd803e267b289ac0df1b71b56ca..2f0de1d3f4af571c2e38a206b5bec51ee9274544 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/OS/os.h-cygwin,v 1.2 2005/05/24 08:15:01 tom Exp $ */
+/* $Cambridge: exim/src/OS/os.h-cygwin,v 1.3 2005/08/02 09:09:27 ph10 Exp $
 
 /* Exim: OS-specific C header file for Cygwin */
 
@@ -7,9 +7,9 @@
 /* Define the OS_INIT macro that we insert in exim.c:main()
    to set the root and exim uid depending on the system */
 /* We use a special routine to initialize */
-void cygwin_init(int, char **, void *, void *, void *, void *);
+void cygwin_init(int, char **, void *, void *, void *, void *, void *);
 #define OS_INIT\
-  cygwin_init(argc, (char **) argv, &root_uid, &exim_uid, &exim_gid, &config_uid);
+  cygwin_init(argc, (char **) argv, &root_uid, &exim_uid, &exim_gid, &config_uid, &config_gid);
 
 /* We need a special mkdir that
    allows names starting with // */
@@ -27,7 +27,7 @@ int cygwin_setgid(gid_t gid );
 extern unsigned int cygwin_WinVersion;
 
 #define BASE_62 36  /* Windows aliases lower and upper cases in filenames.
-           Consider reducing MAX_LOCALHOST_NUMBER */
+                       Consider reducing MAX_LOCALHOST_NUMBER */
 #define CRYPT_H
 #define HAVE_MMAP
 #define HAVE_SYS_VFS_H