Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
a22815b4
Unverified
Commit
a22815b4
authored
Feb 12, 2019
by
Salvatore Sanfilippo
Committed by
GitHub
Feb 12, 2019
Browse files
Merge pull request #5833 from soloestoy/masteruser
ACL: add masteruser configuration for replication
parents
d5e4a7f4
ea9d3aef
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/config.c
View file @
a22815b4
...
...
@@ -395,6 +395,9 @@ void loadServerConfigFromString(char *config) {
err
=
"repl-backlog-ttl can't be negative "
;
goto
loaderr
;
}
}
else
if
(
!
strcasecmp
(
argv
[
0
],
"masteruser"
)
&&
argc
==
2
)
{
zfree
(
server
.
masteruser
);
server
.
masteruser
=
argv
[
1
][
0
]
?
zstrdup
(
argv
[
1
])
:
NULL
;
}
else
if
(
!
strcasecmp
(
argv
[
0
],
"masterauth"
)
&&
argc
==
2
)
{
zfree
(
server
.
masterauth
);
server
.
masterauth
=
argv
[
1
][
0
]
?
zstrdup
(
argv
[
1
])
:
NULL
;
...
...
@@ -943,6 +946,9 @@ void configSetCommand(client *c) {
sds
aclop
=
sdscatprintf
(
sdsempty
(),
">%s"
,(
char
*
)
o
->
ptr
);
ACLSetUser
(
DefaultUser
,
aclop
,
sdslen
(
aclop
));
sdsfree
(
aclop
);
}
config_set_special_field
(
"masteruser"
)
{
zfree
(
server
.
masteruser
);
server
.
masteruser
=
((
char
*
)
o
->
ptr
)[
0
]
?
zstrdup
(
o
->
ptr
)
:
NULL
;
}
config_set_special_field
(
"masterauth"
)
{
zfree
(
server
.
masterauth
);
server
.
masterauth
=
((
char
*
)
o
->
ptr
)[
0
]
?
zstrdup
(
o
->
ptr
)
:
NULL
;
...
...
@@ -1354,6 +1360,7 @@ void configGetCommand(client *c) {
/* String values */
config_get_string_field
(
"dbfilename"
,
server
.
rdb_filename
);
config_get_string_field
(
"masteruser"
,
server
.
masteruser
);
config_get_string_field
(
"masterauth"
,
server
.
masterauth
);
config_get_string_field
(
"cluster-announce-ip"
,
server
.
cluster_announce_ip
);
config_get_string_field
(
"unixsocket"
,
server
.
unixsocket
);
...
...
@@ -2232,6 +2239,7 @@ int rewriteConfig(char *path) {
rewriteConfigDirOption
(
state
);
rewriteConfigSlaveofOption
(
state
,
"replicaof"
);
rewriteConfigStringOption
(
state
,
"replica-announce-ip"
,
server
.
slave_announce_ip
,
CONFIG_DEFAULT_SLAVE_ANNOUNCE_IP
);
rewriteConfigStringOption
(
state
,
"masteruser"
,
server
.
masteruser
,
NULL
);
rewriteConfigStringOption
(
state
,
"masterauth"
,
server
.
masterauth
,
NULL
);
rewriteConfigStringOption
(
state
,
"cluster-announce-ip"
,
server
.
cluster_announce_ip
,
NULL
);
rewriteConfigYesNoOption
(
state
,
"replica-serve-stale-data"
,
server
.
repl_serve_stale_data
,
CONFIG_DEFAULT_SLAVE_SERVE_STALE_DATA
);
...
...
src/replication.c
View file @
a22815b4
...
...
@@ -1661,7 +1661,13 @@ void syncWithMaster(aeEventLoop *el, int fd, void *privdata, int mask) {
/* AUTH with the master if required. */
if
(
server
.
repl_state
==
REPL_STATE_SEND_AUTH
)
{
if
(
server
.
masterauth
)
{
if
(
server
.
masteruser
&&
server
.
masterauth
)
{
err
=
sendSynchronousCommand
(
SYNC_CMD_WRITE
,
fd
,
"AUTH"
,
server
.
masteruser
,
server
.
masterauth
,
NULL
);
if
(
err
)
goto
write_error
;
server
.
repl_state
=
REPL_STATE_RECEIVE_AUTH
;
return
;
}
else
if
(
server
.
masterauth
)
{
err
=
sendSynchronousCommand
(
SYNC_CMD_WRITE
,
fd
,
"AUTH"
,
server
.
masterauth
,
NULL
);
if
(
err
)
goto
write_error
;
server
.
repl_state
=
REPL_STATE_RECEIVE_AUTH
;
...
...
src/server.h
View file @
a22815b4
...
...
@@ -1217,6 +1217,7 @@ struct redisServer {
int
repl_diskless_sync
;
/* Send RDB to slaves sockets directly. */
int
repl_diskless_sync_delay
;
/* Delay to start a diskless repl BGSAVE. */
/* Replication (slave) */
char
*
masteruser
;
/* AUTH with this user and masterauth with master */
char
*
masterauth
;
/* AUTH with this password with master */
char
*
masterhost
;
/* Hostname of master */
int
masterport
;
/* Port of master */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment