X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/926e1192c5762fc251a8f8e275f4a21119cea050..7766a4f0bde58b3456f26dc584aa869cd1340f3c:/src/src/buildconfig.c diff --git a/src/src/buildconfig.c b/src/src/buildconfig.c index 6adb5d033..46bf4738b 100644 --- a/src/src/buildconfig.c +++ b/src/src/buildconfig.c @@ -1,10 +1,10 @@ -/* $Cambridge: exim/src/src/buildconfig.c,v 1.3 2004/11/05 12:33:59 ph10 Exp $ */ +/* $Cambridge: exim/src/src/buildconfig.c,v 1.7 2005/03/29 14:19:21 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2004 */ +/* Copyright (c) University of Cambridge 1995 - 2005 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -480,9 +480,9 @@ while (fgets(buffer, sizeof(buffer), base) != NULL) if (strcmp(name, "CONFIGURE_OWNER") == 0 || strcmp(name, "CONFIGURE_GROUP") == 0) { - int isgroup = name[10] == 'G'; + int isgroup = name[10] == 'G'; uid_t uid = 0; - gid_t gid = 0; + gid_t gid = 0; char *s; char *username = NULL; char *user = getenv(name); @@ -512,7 +512,7 @@ while (fgets(buffer, sizeof(buffer), base) != NULL) { if (isgroup) gid = (gid_t)atoi(user); - else + else uid = (uid_t)atoi(user); } @@ -560,13 +560,13 @@ while (fgets(buffer, sizeof(buffer), base) != NULL) { if (isgroup) fprintf(new, "#define CONFIGURE_GROUPNAME \"%s\"\n", username); - else + else fprintf(new, "#define CONFIGURE_OWNERNAME \"%s\"\n", username); } - + if (isgroup) fprintf(new, "#define CONFIGURE_GROUP %d\n", (int)gid); - else + else fprintf(new, "#define CONFIGURE_OWNER %d\n", (int)uid); continue; } @@ -595,16 +595,16 @@ while (fgets(buffer, sizeof(buffer), base) != NULL) for (i = 1, j = 0; i <= count; list++, i++) { char name[64]; - + p = list; while (*list != 0 && *list != ':') list++; strncpy(name, p, list-p); name[list-p] = 0; - + if (name[0] == 0) { - continue; - } + continue; + } else if (name[strspn(name, "0123456789")] == 0) { vector[j++] = (uid_t)atoi(name); @@ -629,6 +629,19 @@ while (fgets(buffer, sizeof(buffer), base) != NULL) continue; } + /* WITH_CONTENT_SCAN is another special case: it must be set if either it or + WITH_OLD_DEMIME is set. */ + + if (strcmp(name, "WITH_CONTENT_SCAN") == 0) + { + char *wcs = getenv("WITH_CONTENT_SCAN"); + char *wod = getenv("WITH_OLD_DEMIME"); + if (wcs != NULL || wod != NULL) + fprintf(new, "#define WITH_CONTENT_SCAN yes\n"); + else fprintf(new, "/* WITH_CONTENT_SCAN not set */\n"); + continue; + } + /* Otherwise, check whether a value exists in the environment. Remember if it is an AUTH setting or SUPPORT_CRYPTEQ. */ @@ -664,6 +677,7 @@ while (fgets(buffer, sizeof(buffer), base) != NULL) else if (strcmp(name, "RADIUS_LIB_TYPE") == 0) { if (strcmp(value, "RADIUSCLIENT") == 0 || + strcmp(value, "RADIUSCLIENTNEW") == 0 || strcmp(value, "RADLIB") == 0) { fprintf(new, "#define RADIUS_LIB_%s\n", value);