Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
镜像
Eclipse Foundation
Eclipse Mosquitto
提交
44b94875
E
Eclipse Mosquitto
项目概览
镜像
/
Eclipse Foundation
/
Eclipse Mosquitto
10 个月 前同步成功
通知
36
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
Eclipse Mosquitto
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
44b94875
编写于
6月 08, 2023
作者:
R
Roger A. Light
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
mosquitto_passwd uses mkstemp() for backup files.
上级
9bb80585
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
18 addition
and
3 deletion
+18
-3
ChangeLog.txt
ChangeLog.txt
+3
-0
apps/mosquitto_passwd/mosquitto_passwd.c
apps/mosquitto_passwd/mosquitto_passwd.c
+15
-3
未找到文件。
ChangeLog.txt
浏览文件 @
44b94875
...
...
@@ -29,6 +29,9 @@ Clients:
- Fix incorrect topic-alias property value in mosquitto_sub json output.
- Fix confusing message on TLS certificate verification. Closes #2746.
Apps:
- mosquitto_passwd uses mkstemp() for backup files.
2.0.15 - 2022-08-16
===================
...
...
apps/mosquitto_passwd/mosquitto_passwd.c
浏览文件 @
44b94875
...
...
@@ -370,15 +370,27 @@ static int copy_contents(FILE *src, FILE *dest)
return
0
;
}
static
int
create_backup
(
c
onst
c
har
*
backup_file
,
FILE
*
fptr
)
static
int
create_backup
(
char
*
backup_file
,
FILE
*
fptr
)
{
FILE
*
fbackup
;
#ifdef WIN32
fbackup
=
mosquitto__fopen
(
backup_file
,
"wt"
,
true
);
#else
int
fd
;
umask
(
077
);
fd
=
mkstemp
(
backup_file
);
if
(
fd
<
0
){
fprintf
(
stderr
,
"Error creating backup password file
\"
%s
\"
, not continuing.
\n
"
,
backup_file
);
return
1
;
}
fbackup
=
fdopen
(
fd
,
"wt"
);
#endif
if
(
!
fbackup
){
fprintf
(
stderr
,
"Error creating backup password file
\"
%s
\"
, not continuing.
\n
"
,
backup_file
);
return
1
;
}
if
(
copy_contents
(
fptr
,
fbackup
)){
fprintf
(
stderr
,
"Error copying data to backup password file
\"
%s
\"
, not continuing.
\n
"
,
backup_file
);
fclose
(
fbackup
);
...
...
@@ -617,13 +629,13 @@ int main(int argc, char *argv[])
return
1
;
}
backup_file
=
malloc
((
size_t
)
strlen
(
password_file
)
+
5
);
backup_file
=
malloc
((
size_t
)
strlen
(
password_file
)
+
strlen
(
".backup.XXXXXX"
)
);
if
(
!
backup_file
){
fprintf
(
stderr
,
"Error: Out of memory.
\n
"
);
free
(
password_file
);
return
1
;
}
snprintf
(
backup_file
,
strlen
(
password_file
)
+
5
,
"%s.
tmp
"
,
password_file
);
snprintf
(
backup_file
,
strlen
(
password_file
)
+
5
,
"%s.
backup.XXXXXX
"
,
password_file
);
free
(
password_file
);
password_file
=
NULL
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录