diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/backend/libpq/hba.c | 15 | 
1 files changed, 14 insertions, 1 deletions
diff --git a/src/backend/libpq/hba.c b/src/backend/libpq/hba.c index f25505feb38..2aaa898a6bf 100644 --- a/src/backend/libpq/hba.c +++ b/src/backend/libpq/hba.c @@ -28,6 +28,7 @@  #include "catalog/pg_collation.h"  #include "libpq/ip.h"  #include "libpq/libpq.h" +#include "postmaster/postmaster.h"  #include "regex/regex.h"  #include "replication/walsender.h"  #include "storage/fd.h" @@ -832,8 +833,20 @@ parse_hba_line(List *line, int line_num, HbaLine *parsedline)  		if (token[4] == 's')	/* "hostssl" */  		{ +			/* SSL support must be actually active, else complain */  #ifdef USE_SSL -			parsedline->conntype = ctHostSSL; +			if (EnableSSL) +				parsedline->conntype = ctHostSSL; +			else +			{ +				ereport(LOG, +						(errcode(ERRCODE_CONFIG_FILE_ERROR), +						 errmsg("hostssl requires SSL to be turned on"), +						 errhint("Set ssl = on in postgresql.conf."), +						 errcontext("line %d of configuration file \"%s\"", +									line_num, HbaFileName))); +				return false; +			}  #else  			ereport(LOG,  					(errcode(ERRCODE_CONFIG_FILE_ERROR),  | 
