Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
电商架构修炼
TDengine
提交
1dad0c6b
TDengine
项目概览
电商架构修炼
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
1dad0c6b
编写于
1月 21, 2021
作者:
M
Minglei Jin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-2808]<fix>: fix http password len
上级
d69ff9f6
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
12 addition
and
11 deletion
+12
-11
src/plugins/http/inc/httpInt.h
src/plugins/http/inc/httpInt.h
+3
-2
src/plugins/http/src/httpAuth.c
src/plugins/http/src/httpAuth.c
+4
-4
src/plugins/http/src/httpGcHandle.c
src/plugins/http/src/httpGcHandle.c
+2
-2
src/plugins/http/src/httpRestHandle.c
src/plugins/http/src/httpRestHandle.c
+2
-2
src/plugins/http/src/httpTgHandle.c
src/plugins/http/src/httpTgHandle.c
+1
-1
未找到文件。
src/plugins/http/inc/httpInt.h
浏览文件 @
1dad0c6b
...
...
@@ -39,7 +39,8 @@
#define HTTP_GC_TARGET_SIZE 512
#define HTTP_WRITE_RETRY_TIMES 500
#define HTTP_WRITE_WAIT_TIME_MS 5
#define HTTP_SESSION_ID_LEN (TSDB_USER_LEN + TSDB_KEY_LEN)
#define HTTP_PASSWORD_LEN TSDB_UNI_LEN
#define HTTP_SESSION_ID_LEN (TSDB_USER_LEN + HTTP_PASSWORD_LEN)
typedef
enum
HttpReqType
{
HTTP_REQTYPE_OTHERS
=
0
,
...
...
@@ -147,7 +148,7 @@ typedef struct HttpContext {
uint8_t
parsed
;
char
ipstr
[
22
];
char
user
[
TSDB_USER_LEN
];
// parsed from auth token or login message
char
pass
[
TSDB_KEY
_LEN
];
char
pass
[
HTTP_PASSWORD
_LEN
];
TAOS
*
taos
;
void
*
ppContext
;
HttpSession
*
session
;
...
...
src/plugins/http/src/httpAuth.c
浏览文件 @
1dad0c6b
...
...
@@ -51,7 +51,7 @@ int32_t httpParseBasicAuthToken(HttpContext *pContext, char *token, int32_t len)
char
*
password
=
user
+
1
;
int32_t
pass_len
=
(
int32_t
)((
base64
+
outlen
)
-
password
);
if
(
pass_len
<
1
||
pass_len
>=
TSDB_KEY
_LEN
)
{
if
(
pass_len
<
1
||
pass_len
>=
HTTP_PASSWORD
_LEN
)
{
httpError
(
"context:%p, fd:%d, basic token:%s parse password error"
,
pContext
,
pContext
->
fd
,
token
);
free
(
base64
);
return
-
1
;
...
...
@@ -73,7 +73,7 @@ int32_t httpParseTaosdAuthToken(HttpContext *pContext, char *token, int32_t len)
if
(
base64
)
free
(
base64
);
return
01
;
}
if
(
outlen
!=
(
TSDB_USER_LEN
+
TSDB_KEY
_LEN
))
{
if
(
outlen
!=
(
TSDB_USER_LEN
+
HTTP_PASSWORD
_LEN
))
{
httpError
(
"context:%p, fd:%d, taosd token:%s length error"
,
pContext
,
pContext
->
fd
,
token
);
free
(
base64
);
return
-
1
;
...
...
@@ -103,8 +103,8 @@ int32_t httpGenTaosdAuthToken(HttpContext *pContext, char *token, int32_t maxLen
size
=
sizeof
(
pContext
->
pass
);
tstrncpy
(
buffer
+
sizeof
(
pContext
->
user
),
pContext
->
pass
,
size
);
char
*
encrypt
=
taosDesEncode
(
KEY_DES_4
,
buffer
,
TSDB_USER_LEN
+
TSDB_KEY
_LEN
);
char
*
base64
=
base64_encode
((
const
unsigned
char
*
)
encrypt
,
TSDB_USER_LEN
+
TSDB_KEY
_LEN
);
char
*
encrypt
=
taosDesEncode
(
KEY_DES_4
,
buffer
,
TSDB_USER_LEN
+
HTTP_PASSWORD
_LEN
);
char
*
base64
=
base64_encode
((
const
unsigned
char
*
)
encrypt
,
TSDB_USER_LEN
+
HTTP_PASSWORD
_LEN
);
size_t
len
=
strlen
(
base64
);
tstrncpy
(
token
,
base64
,
len
+
1
);
...
...
src/plugins/http/src/httpGcHandle.c
浏览文件 @
1dad0c6b
...
...
@@ -59,11 +59,11 @@ bool gcGetUserFromUrl(HttpContext* pContext) {
bool
gcGetPassFromUrl
(
HttpContext
*
pContext
)
{
HttpParser
*
pParser
=
pContext
->
parser
;
if
(
pParser
->
path
[
GC_PASS_URL_POS
].
pos
>=
TSDB_KEY
_LEN
||
pParser
->
path
[
GC_PASS_URL_POS
].
pos
<=
0
)
{
if
(
pParser
->
path
[
GC_PASS_URL_POS
].
pos
>=
HTTP_PASSWORD
_LEN
||
pParser
->
path
[
GC_PASS_URL_POS
].
pos
<=
0
)
{
return
false
;
}
tstrncpy
(
pContext
->
pass
,
pParser
->
path
[
GC_PASS_URL_POS
].
str
,
TSDB_KEY
_LEN
);
tstrncpy
(
pContext
->
pass
,
pParser
->
path
[
GC_PASS_URL_POS
].
str
,
HTTP_PASSWORD
_LEN
);
return
true
;
}
...
...
src/plugins/http/src/httpRestHandle.c
浏览文件 @
1dad0c6b
...
...
@@ -72,11 +72,11 @@ bool restGetUserFromUrl(HttpContext* pContext) {
bool
restGetPassFromUrl
(
HttpContext
*
pContext
)
{
HttpParser
*
pParser
=
pContext
->
parser
;
if
(
pParser
->
path
[
REST_PASS_URL_POS
].
pos
>=
TSDB_KEY
_LEN
||
pParser
->
path
[
REST_PASS_URL_POS
].
pos
<=
0
)
{
if
(
pParser
->
path
[
REST_PASS_URL_POS
].
pos
>=
HTTP_PASSWORD
_LEN
||
pParser
->
path
[
REST_PASS_URL_POS
].
pos
<=
0
)
{
return
false
;
}
tstrncpy
(
pContext
->
pass
,
pParser
->
path
[
REST_PASS_URL_POS
].
str
,
TSDB_KEY
_LEN
);
tstrncpy
(
pContext
->
pass
,
pParser
->
path
[
REST_PASS_URL_POS
].
str
,
HTTP_PASSWORD
_LEN
);
return
true
;
}
...
...
src/plugins/http/src/httpTgHandle.c
浏览文件 @
1dad0c6b
...
...
@@ -324,7 +324,7 @@ bool tgGetUserFromUrl(HttpContext *pContext) {
bool
tgGetPassFromUrl
(
HttpContext
*
pContext
)
{
HttpParser
*
pParser
=
pContext
->
parser
;
if
(
pParser
->
path
[
TG_PASS_URL_POS
].
pos
>=
TSDB_KEY
_LEN
||
pParser
->
path
[
TG_PASS_URL_POS
].
pos
<=
0
)
{
if
(
pParser
->
path
[
TG_PASS_URL_POS
].
pos
>=
HTTP_PASSWORD
_LEN
||
pParser
->
path
[
TG_PASS_URL_POS
].
pos
<=
0
)
{
return
false
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录