mirror of
https://github.com/EnterpriseDB/repmgr.git
synced 2026-03-26 08:36:30 +00:00
Sanity check 'conninfo' parameter
Catch errors early, it makes everyone's life easier.
This commit is contained in:
16
config.c
16
config.c
@@ -111,6 +111,10 @@ parse_config(t_configuration_options *options)
|
|||||||
char name[MAXLEN];
|
char name[MAXLEN];
|
||||||
char value[MAXLEN];
|
char value[MAXLEN];
|
||||||
|
|
||||||
|
/* For sanity-checking provided conninfo string */
|
||||||
|
PQconninfoOption *conninfo_options;
|
||||||
|
char *conninfo_errmsg = NULL;
|
||||||
|
|
||||||
fp = fopen(config_file_path, "r");
|
fp = fopen(config_file_path, "r");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -310,6 +314,18 @@ parse_config(t_configuration_options *options)
|
|||||||
exit(ERR_BAD_CONFIG);
|
exit(ERR_BAD_CONFIG);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Sanity check the provided conninfo string
|
||||||
|
*
|
||||||
|
* NOTE: this verifies the string format and checks for valid options
|
||||||
|
* but does not sanity check values
|
||||||
|
*/
|
||||||
|
conninfo_options = PQconninfoParse(options->conninfo, &conninfo_errmsg);
|
||||||
|
if (conninfo_options == NULL)
|
||||||
|
{
|
||||||
|
log_err(_("Parameter 'conninfo' is invalid: %s"), conninfo_errmsg);
|
||||||
|
exit(ERR_BAD_CONFIG);
|
||||||
|
}
|
||||||
|
|
||||||
/* The following checks are for valid parameter values */
|
/* The following checks are for valid parameter values */
|
||||||
if (options->master_response_timeout <= 0)
|
if (options->master_response_timeout <= 0)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user