From 3f7c30b84dd49df111db2c83ec8dad3c1781e98b Mon Sep 17 00:00:00 2001 From: Ian Barwick Date: Wed, 19 Oct 2016 16:16:12 +0900 Subject: [PATCH] repmgr: require a valid repmgr cluster name unless -F/--force supplied Addresses issue mentioned in GitHub #242. --- repmgr.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/repmgr.c b/repmgr.c index fdf9e94c..8a76a1e2 100644 --- a/repmgr.c +++ b/repmgr.c @@ -898,6 +898,7 @@ main(int argc, char **argv) } /* Initialise the repmgr schema name */ + if (strlen(repmgr_cluster)) /* --cluster parameter provided */ maxlen_snprintf(repmgr_schema, "%s%s", DEFAULT_REPMGR_SCHEMA_PREFIX, @@ -906,6 +907,16 @@ main(int argc, char **argv) maxlen_snprintf(repmgr_schema, "%s%s", DEFAULT_REPMGR_SCHEMA_PREFIX, options.cluster_name); + /* + * If no value for the repmgr_schema provided, continue only under duress. + */ + if (strcmp(repmgr_schema, DEFAULT_REPMGR_SCHEMA_PREFIX) == 0 && !runtime_options.force) + { + log_err(_("unable to determine cluster name - please provide a valid configuration file with -c/--config-file\n")); + log_hint(_("Use -F/--force to continue anyway\n")); + exit(ERR_BAD_CONFIG); + } + /* * Initialise slot name, if required (9.4 and later) *