From 0e9e888ebdc0fa99e8bea45ac3849e30f9ae5599 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 4 Dec 2001 16:17:48 +0000 Subject: [PATCH] Suppress data directory access-permissions check when __CYGWIN__, per recent pghackers discussions. Improving this should be a TODO for 7.3. --- src/backend/postmaster/postmaster.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index a5553815fb..4f97e7ef9a 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -37,7 +37,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.261 2001/11/12 05:43:24 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.262 2001/12/04 16:17:48 tgl Exp $ * * NOTES * @@ -280,7 +280,9 @@ checkDataDir(const char *checkdir) { char path[MAXPGPATH]; FILE *fp; +#ifndef __CYGWIN__ struct stat stat_buf; +#endif if (checkdir == NULL) { @@ -295,7 +297,13 @@ checkDataDir(const char *checkdir) /* * Check if the directory has group or world access. If so, reject. + * + * XXX temporarily suppress check when on Windows, because there may + * not be proper support for Unix-y file permissions. Need to think + * of a reasonable check to apply on Windows. */ +#ifndef __CYGWIN__ + if (stat(checkdir, &stat_buf) == -1) { if (errno == ENOENT) @@ -309,6 +317,8 @@ checkDataDir(const char *checkdir) elog(FATAL, "data directory %s has group or world access; permissions should be u=rwx (0700)", checkdir); +#endif /* !__CYGWIN__ */ + /* Look for PG_VERSION before looking for pg_control */ ValidatePgVersion(checkdir); -- 2.11.0