Skip to content

Commit 1652e2c

Browse files
安全优化 (#161)
* 安全优化
1 parent 80c770f commit 1652e2c

30 files changed

+2129
-576
lines changed

demo/cos_demo.cpp

Lines changed: 288 additions & 420 deletions
Large diffs are not rendered by default.

demo/test_file/test.srt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
1
2+
00:00:04,160 --> 00:00:08,640
3+
srt字幕啊,我一杯品尝你的啡,留下唇印的嘴。蝴蝶玫瑰名字写错谁告白节说风吹的对街微笑在脸上飞。哼,和你说你有点难追,想让我知难而退。礼物不屑掉,最贵只要乡榭的落叶营造浪漫的约回,不害怕留在一切拥有。
4+
5+
2
6+
00:00:08,640 --> 00:00:12,680
7+
你就拥有全世界。亲爱的,爱上你从那天起甜蜜的痕迹,亲爱的,别人性你的眼睛在说,我愿意咖啡,我说一杯品尝你的啡,留下唇印的嘴,蝴蝶,玫瑰。

demo/test_file/test.zip

11 KB
Binary file not shown.

gen_lcov.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ lcov -d build -b . --no-external -c -o sevenyou.info
3535
lcov --extract sevenyou_init.info ${EXTRACT} -o sevenyou_init_filted.info
3636
lcov --extract sevenyou.info ${EXTRACT} -o sevenyou_filted.info
3737

38+
lcov --remove sevenyou.info "${workspace}/third_party/*" -o sevenyou_rm_third_party.info
39+
rm sevenyou.info
40+
mv sevenyou_rm_third_party.info sevenyou.info
41+
3842
# genhtml and zip
3943
genhtml -o UTReport --prefix=`pwd` sevenyou_init_filted.info sevenyou_filted.info
4044
tar -cvf UTReport.tar UTReport

include/cos_api.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -924,6 +924,18 @@ class CosAPI {
924924
CosResult UpdateMediaQueue(const UpdateMediaQueueReq& req,
925925
UpdateQueueResp* resp);
926926

927+
/** 文档处理接口 **/
928+
929+
/*** 查询已经开通文档处理功能的存储桶 ***/
930+
// https://cloud.tencent.com/document/product/460/95747
931+
CosResult DescribeFileBuckets(const DescribeFileBucketsReq& req,
932+
DescribeFileBucketsResp* resp);
933+
934+
/*** 存储桶绑定文档处理 ***/
935+
// https://cloud.tencent.com/document/product/460/86377
936+
CosResult CreateFileBucket(const CreateFileBucketReq& req,
937+
CreateFileBucketResp* resp);
938+
927939
/* 异步任务接口 */
928940
/** 创建异步任务 **/
929941
CosResult CreateDataProcessJobs(const CreateDataProcessJobsReq& req,

include/cos_sys_config.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,11 @@ class CosSysConfig {
163163

164164
static bool GetRetryChangeDomain();
165165

166-
private:
166+
static void SetObjectKeySimplifyCheck(bool object_key_simplify_check);
167+
168+
static bool GetObjectKeySimplifyCheck();
169+
170+
private:
167171
// 打印日志:0,不打印,1:打印到屏幕,2:打印到syslog
168172
static LOG_OUT_TYPE m_log_outtype;
169173
// 日志级别:1: ERR, 2: WARN, 3:INFO, 4:DBG
@@ -215,6 +219,8 @@ class CosSysConfig {
215219
static unsigned m_dns_cache_size;
216220

217221
static bool m_retry_change_domain;
222+
223+
static bool m_object_key_simplify_check;
218224
};
219225

220226
} // namespace qcloud_cos

include/op/bucket_op.h

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -549,6 +549,24 @@ class BucketOp : public BaseOp {
549549
CosResult UpdateMediaQueue(const UpdateMediaQueueReq& req,
550550
UpdateQueueResp* resp);
551551

552+
/// \brief 查询文件处理开通状态
553+
/// \brief https://cloud.tencent.com/document/product/460/95747
554+
/// \param req DescribeFileBuckets请求
555+
/// \param resp DescribeFileBuckets返回
556+
///
557+
/// \return 本次请求的调用情况(如状态码等)
558+
CosResult DescribeFileBuckets(const DescribeFileBucketsReq& req,
559+
DescribeFileBucketsResp* resp);
560+
561+
/// \brief 开通文件处理
562+
/// \brief https://cloud.tencent.com/document/product/460/86377
563+
/// \param req CreateFileBucketReq请求
564+
/// \param resp CreateFileBucketResp返回
565+
///
566+
/// \return 本次请求的调用情况(如状态码等)
567+
CosResult CreateFileBucket(const CreateFileBucketReq& req,
568+
CreateFileBucketResp* resp);
569+
552570
/// \brief 提交数据处理任务
553571
/// \brief https://cloud.tencent.com/document/product/436/83110
554572
/// \param req CreateFileProcessJobs请求

include/request/auditing_req.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ class RecognitionResult {
245245

246246
class LibResults {
247247
public:
248-
LibResults() : m_mask(0x00000000u) {}
248+
LibResults() : m_mask(0x00000000u), m_key_words(std::vector<std::string>()) {}
249249
virtual ~LibResults() {}
250250

251251
void SetLibType(const int lib_type) {
@@ -1020,6 +1020,7 @@ class ListInfo {
10201020
}
10211021

10221022
void AddListResult(const ListResult& list_result) {
1023+
m_mask |= 0x00000001u;
10231024
m_list_results.push_back(list_result);
10241025
}
10251026

@@ -1276,7 +1277,7 @@ class AuditingJobsDetail {
12761277

12771278
std::string GetCreationTime() const { return m_creation_time; }
12781279

1279-
UserInfo getUserInfo() const { return m_user_info; }
1280+
UserInfo GetUserInfo() const { return m_user_info; }
12801281

12811282
bool HasCode() const { return (m_mask & 0x00000001u) != 0; }
12821283

include/request/data_process_req.h

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -472,6 +472,39 @@ struct CreateMediaBucketResult {
472472
return ss.str();
473473
}
474474
};
475+
476+
struct CreateFileBucketResult {
477+
std::string request_id; // 请求的唯一ID
478+
BucketInfo file_bucket; // 文件Bucket
479+
std::string to_string() const {
480+
std::stringstream ss;
481+
ss << "request_id: " << request_id << std::endl;
482+
ss << file_bucket.to_string() << std::endl;
483+
ss << std::endl;
484+
return ss.str();
485+
}
486+
};
487+
488+
struct DescribeFileBucketsResult {
489+
std::string request_id; // 请求的唯一ID
490+
int total_count; // 媒体Bucket总数
491+
int page_number; // 当前页数
492+
int page_size; // 每页个数
493+
std::vector<BucketInfo> file_bucket_list; // 文件Bucket列表
494+
std::string to_string() const {
495+
std::stringstream ss;
496+
ss << "request_id: " << request_id << std::endl
497+
<< "total_count: " << total_count << std::endl
498+
<< "page_number: " << page_number << std::endl
499+
<< "page_size: " << page_size << std::endl;
500+
for (auto& bucket : file_bucket_list) {
501+
ss << bucket.to_string() << std::endl;
502+
}
503+
ss << std::endl;
504+
return ss.str();
505+
}
506+
};
507+
475508
struct VideoInfo {
476509
int index; // 该流的编号
477510
std::string codec_name; // 编解码格式名字
@@ -2025,6 +2058,31 @@ class CreateMediaBucketReq : public BucketReq{
20252058
virtual ~CreateMediaBucketReq() {}
20262059
};
20272060

2061+
2062+
class CreateFileBucketReq : public BucketReq{
2063+
public:
2064+
explicit CreateFileBucketReq(const std::string& bucket_name) : BucketReq(bucket_name) {
2065+
m_method = "POST";
2066+
m_path = "/file_bucket";
2067+
SetHttps();
2068+
}
2069+
2070+
virtual ~CreateFileBucketReq() {}
2071+
};
2072+
2073+
class DescribeFileBucketsReq : public DescribeMediaBucketsReq {
2074+
public:
2075+
DescribeFileBucketsReq() {
2076+
m_method = "GET";
2077+
2078+
m_path = "/file_bucket";
2079+
2080+
// 该接口只支持https
2081+
SetHttps();
2082+
}
2083+
virtual ~DescribeFileBucketsReq() {}
2084+
};
2085+
20282086
class GetMediaInfoReq : public ObjectReq {
20292087
public:
20302088
GetMediaInfoReq(const std::string& bucket_name,

include/response/data_process_resp.h

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,29 @@ class GetPm3u8Resp : public GetObjectByFileResp {
294294
virtual ~GetPm3u8Resp() {}
295295
};
296296

297+
class CreateFileBucketResp : public BaseResp {
298+
public:
299+
CreateFileBucketResp() {}
300+
virtual ~CreateFileBucketResp() {}
301+
virtual bool ParseFromXmlString(const std::string& body);
302+
303+
CreateFileBucketResult GetResult() const { return m_result; }
304+
305+
private:
306+
CreateFileBucketResult m_result;
307+
};
308+
309+
class DescribeFileBucketsResp : public BaseResp {
310+
public:
311+
DescribeFileBucketsResp() {}
312+
virtual ~DescribeFileBucketsResp() {}
313+
virtual bool ParseFromXmlString(const std::string& body);
314+
DescribeFileBucketsResult GetResult() const { return m_result; }
315+
316+
private:
317+
DescribeFileBucketsResult m_result;
318+
};
319+
297320

298321

299322
class DataProcessJobBase : public BaseResp {

0 commit comments

Comments
 (0)