diff options
-rw-r--r-- | doc/doc-txt/ChangeLog | 4 | ||||
-rw-r--r-- | src/OS/Makefile-CYGWIN | 22 | ||||
-rw-r--r-- | src/OS/os.c-cygwin | 15 | ||||
-rw-r--r-- | src/OS/os.h-cygwin | 8 |
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 |