summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/doc-txt/ChangeLog4
-rw-r--r--src/OS/Makefile-CYGWIN22
-rw-r--r--src/OS/os.c-cygwin15
-rw-r--r--src/OS/os.h-cygwin8
4 files changed, 26 insertions, 23 deletions
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index b39c70a2c..dfaa2aa75 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -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
-----------------
diff --git a/src/OS/Makefile-CYGWIN b/src/OS/Makefile-CYGWIN
index 8bf51216c..cbd50b085 100644
--- a/src/OS/Makefile-CYGWIN
+++ b/src/OS/Makefile-CYGWIN
@@ -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
diff --git a/src/OS/os.c-cygwin b/src/OS/os.c-cygwin
index 5459044e5..a3b4c643f 100644
--- a/src/OS/os.c-cygwin
+++ b/src/OS/os.c-cygwin
@@ -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;
}
diff --git a/src/OS/os.h-cygwin b/src/OS/os.h-cygwin
index 591f0965e..2f0de1d3f 100644
--- a/src/OS/os.h-cygwin
+++ b/src/OS/os.h-cygwin
@@ -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