From 80d0c4ffd351436c9e9480935e540d1413033aff Mon Sep 17 00:00:00 2001 From: "Marc G. Fournier" Date: Wed, 14 Aug 1996 04:51:34 +0000 Subject: [PATCH] The following patch makes postmaster -D work. -D specifies a different PGDATA directory. The code that looks for the pg_hba file doesn't use it, though, so the postmaster uses the wrong pg_hba file. Also, when the postmaster looks in one directory and the user thinks it is looking in another directory, the error messages don't give enough information to solve the problem. I extended the error message for this. Submitted by: Bryan Henderson --- src/backend/libpq/auth.c | 14 +++++++------- src/backend/postmaster/postmaster.c | 8 +++++--- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c index 7b4437736f..ae02dfb632 100644 --- a/src/backend/libpq/auth.c +++ b/src/backend/libpq/auth.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.1.1.1 1996/07/09 06:21:30 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.2 1996/08/14 04:51:02 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -403,11 +403,8 @@ hba_recvauth(struct sockaddr_in *addr, PacketBuf *pbuf, StartupInfo *sp) char *conf_file; /* put together the full pathname to the config file */ - conf_file = (char *) malloc((strlen(GetPGData())+strlen(CONF_FILE)+2)*sizeof(char)); - strcpy(conf_file, GetPGData()); - strcat(conf_file, "/"); - strcat(conf_file, CONF_FILE); - + conf_file = (char *) malloc((strlen(DataDir)+strlen(CONF_FILE)+2)*sizeof(char)); + sprintf(conf_file, "%s/%s", DataDir, CONF_FILE); /* Open the config file. */ file = fopen(conf_file, "r"); @@ -463,7 +460,10 @@ hba_recvauth(struct sockaddr_in *addr, PacketBuf *pbuf, StartupInfo *sp) } else { (void) sprintf(PQerrormsg, - "hba_recvauth: config file does not exist or permissions are not setup correctly!\n"); + "hba_recvauth: Host-based authentication config file " + "does not exist or permissions are not setup correctly! " + "Unable to open file \"%s\".\n", + conf_file); fputs(PQerrormsg, stderr); pqdebug("%s", PQerrormsg); free(conf_file); diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index 74d0792e2a..bda76dd218 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.4 1996/08/06 16:43:24 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.5 1996/08/14 04:51:34 scrappy Exp $ * * NOTES * @@ -1110,8 +1110,10 @@ checkDataDir() sprintf(path, "%s%cbase%ctemplate1%cpg_class", DataDir, SEP_CHAR, SEP_CHAR, SEP_CHAR); if ((fp=fopen(path, "r")) == NULL) { - fprintf(stderr, "%s: data base not found in directory \"%s\"\n", - progname, DataDir); + fprintf(stderr, "%s does not find the database. Expected to find it " + "in the PGDATA directory \"%s\", but unable to open directory " + "with pathname \"%s\".\n", + progname, DataDir, path); exit(2); } fclose(fp);