mirror of
https://github.com/EnterpriseDB/repmgr.git
synced 2026-03-26 08:36:30 +00:00
Ensure configuration parameter "replication_user" is smaller than NAMEDATALEN
This commit is contained in:
10
config.c
10
config.c
@@ -337,7 +337,13 @@ _parse_config(t_configuration_options *options, ItemList *error_list, ItemList *
|
|||||||
else if (strcmp(name, "conninfo") == 0)
|
else if (strcmp(name, "conninfo") == 0)
|
||||||
strncpy(options->conninfo, value, MAXLEN);
|
strncpy(options->conninfo, value, MAXLEN);
|
||||||
else if (strcmp(name, "replication_user") == 0)
|
else if (strcmp(name, "replication_user") == 0)
|
||||||
strncpy(options->replication_user, value, MAXLEN);
|
{
|
||||||
|
if (strlen(value) < NAMEDATALEN)
|
||||||
|
strncpy(options->replication_user, value, NAMEDATALEN);
|
||||||
|
else
|
||||||
|
item_list_append(error_list,
|
||||||
|
_( "value for \"replication_user\" must contain fewer than " STR(NAMEDATALEN) " characters"));
|
||||||
|
}
|
||||||
else if (strcmp(name, "pg_bindir") == 0)
|
else if (strcmp(name, "pg_bindir") == 0)
|
||||||
strncpy(options->pg_bindir, value, MAXLEN);
|
strncpy(options->pg_bindir, value, MAXLEN);
|
||||||
else if (strcmp(name, "replication_type") == 0)
|
else if (strcmp(name, "replication_type") == 0)
|
||||||
@@ -347,7 +353,7 @@ _parse_config(t_configuration_options *options, ItemList *error_list, ItemList *
|
|||||||
else if (strcmp(value, "bdr") == 0)
|
else if (strcmp(value, "bdr") == 0)
|
||||||
options->replication_type = REPLICATION_TYPE_BDR;
|
options->replication_type = REPLICATION_TYPE_BDR;
|
||||||
else
|
else
|
||||||
item_list_append(error_list, _("value for 'replication_type' must be 'physical' or 'bdr'"));
|
item_list_append(error_list, _("value for \"replication_type\" must be \"physical\" or \"bdr\""));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* log settings */
|
/* log settings */
|
||||||
|
|||||||
2
config.h
2
config.h
@@ -53,7 +53,7 @@ typedef struct
|
|||||||
int node_id;
|
int node_id;
|
||||||
char node_name[MAXLEN];
|
char node_name[MAXLEN];
|
||||||
char conninfo[MAXLEN];
|
char conninfo[MAXLEN];
|
||||||
char replication_user[MAXLEN];
|
char replication_user[NAMEDATALEN];
|
||||||
char pg_bindir[MAXLEN];
|
char pg_bindir[MAXLEN];
|
||||||
int replication_type;
|
int replication_type;
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ typedef struct s_node_info
|
|||||||
t_server_type type;
|
t_server_type type;
|
||||||
char node_name[MAXLEN];
|
char node_name[MAXLEN];
|
||||||
char conninfo[MAXLEN];
|
char conninfo[MAXLEN];
|
||||||
char repluser[MAXLEN];
|
char repluser[NAMEDATALEN];
|
||||||
char slot_name[MAXLEN];
|
char slot_name[MAXLEN];
|
||||||
int priority;
|
int priority;
|
||||||
bool active;
|
bool active;
|
||||||
|
|||||||
@@ -2,16 +2,15 @@
|
|||||||
\echo Use "CREATE EXTENSION repmgr" to load this file. \quit
|
\echo Use "CREATE EXTENSION repmgr" to load this file. \quit
|
||||||
|
|
||||||
CREATE TABLE nodes (
|
CREATE TABLE nodes (
|
||||||
node_id INTEGER PRIMARY KEY,
|
node_id INTEGER PRIMARY KEY,
|
||||||
upstream_node_id INTEGER NULL REFERENCES nodes (node_id) DEFERRABLE,
|
upstream_node_id INTEGER NULL REFERENCES nodes (node_id) DEFERRABLE,
|
||||||
active BOOLEAN NOT NULL DEFAULT TRUE,
|
active BOOLEAN NOT NULL DEFAULT TRUE,
|
||||||
node_name TEXT NOT NULL,
|
node_name TEXT NOT NULL,
|
||||||
type TEXT NOT NULL CHECK (type IN('primary','standby','witness','bdr')),
|
type TEXT NOT NULL CHECK (type IN('primary','standby','witness','bdr')),
|
||||||
|
priority INT NOT NULL DEFAULT 100,
|
||||||
priority INT NOT NULL DEFAULT 100,
|
conninfo TEXT NOT NULL,
|
||||||
conninfo TEXT NOT NULL,
|
repluser VARCHAR(63) NOT NULL,
|
||||||
repluser TEXT NOT NULL,
|
slot_name TEXT NULL
|
||||||
slot_name TEXT NULL
|
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE events (
|
CREATE TABLE events (
|
||||||
|
|||||||
Reference in New Issue
Block a user