Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Turbo码先生
redis
提交
a22815b4
R
redis
项目概览
Turbo码先生
/
redis
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
redis
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
a22815b4
编写于
2月 12, 2019
作者:
S
Salvatore Sanfilippo
提交者:
GitHub
2月 12, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #5833 from soloestoy/masteruser
ACL: add masteruser configuration for replication
上级
d5e4a7f4
ea9d3aef
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
16 addition
and
1 deletion
+16
-1
src/config.c
src/config.c
+8
-0
src/replication.c
src/replication.c
+7
-1
src/server.h
src/server.h
+1
-0
未找到文件。
src/config.c
浏览文件 @
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
浏览文件 @
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
浏览文件 @
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 */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录