TSG-22699 适配控制报文修改

This commit is contained in:
wangmenglan
2024-09-23 18:35:47 +08:00
committed by luwenpeng
parent a571c85b47
commit 707b418250
21 changed files with 325 additions and 265 deletions

View File

@@ -1,5 +1,6 @@
#include <gtest/gtest.h>
#include <arpa/inet.h>
#include <uuid/uuid.h>
#include "mpack.h"
#include "tfe_cmsg.h"
@@ -38,8 +39,6 @@ void build_mpack_data(char **data, size_t *size)
char src_imei[256] = "25762917001364";
char src_phone_number[256] = "623335886431";
char src_apn[256] = "www.lytest.com";
uint64_t dst_ip_tags_ids[] = {324119, 18446744073709551615ULL, 324137, 324129};
uint64_t fqdn_tags_ids[] = {324109, 324105, 18446744073709551615ULL, 324137, 324129};
uint8_t ja3_fingerprint[32] = {0};
uint16_t seq_sid[] = {1000, 1001, 1002, 1003};
uint16_t ack_sid[] = {1003, 1002, 1001, 1000};
@@ -48,6 +47,8 @@ void build_mpack_data(char **data, size_t *size)
uint8_t seq_header[] = {0x00, 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70};
uint8_t ack_header[] = {0x80, 0x90, 0xA0, 0xB0, 0xC0, 0xD0, 0xE0, 0xF0};
uint8_t tfe_flag = 0;
uuid_t uuid;
char str_uuid[UUID_STR_LEN] = {0};
mpack_writer_init_growable(&writer, data, size);
mpack_build_map(&writer);
@@ -72,7 +73,12 @@ void build_mpack_data(char **data, size_t *size)
mpack_build_map(&writer);
mpack_write_cstr(&writer, "rule_ids");
mpack_build_array(&writer);
mpack_write_u64(&writer, 1);
for (int i = 0; i < 2; i++) {
uuid_generate(uuid);
uuid_unparse(uuid, str_uuid);
printf("sce rule id:%s\n", str_uuid);
mpack_write_bin(&writer, (const char*)uuid, sizeof(uuid));
}
mpack_complete_array(&writer);
mpack_complete_map(&writer);
@@ -80,7 +86,12 @@ void build_mpack_data(char **data, size_t *size)
mpack_build_map(&writer);
mpack_write_cstr(&writer, "rule_ids");
mpack_build_array(&writer);
mpack_write_u64(&writer, 3);
for (int i = 0; i < 2; i++) {
uuid_generate(uuid);
uuid_unparse(uuid, str_uuid);
printf("proxy rule id:%s\n", str_uuid);
mpack_write_bin(&writer, (const char*)uuid, sizeof(uuid));
}
mpack_complete_array(&writer);
mpack_write_cstr(&writer, "tcp_handshake");
@@ -112,17 +123,29 @@ void build_mpack_data(char **data, size_t *size)
mpack_write_str(&writer, (const char*)src_apn, strlen(src_apn));
mpack_build_array(&writer);
mpack_complete_array(&writer);
mpack_build_array(&writer);
for (size_t i = 0; i < sizeof(dst_ip_tags_ids)/sizeof(dst_ip_tags_ids[0]); i++) {
mpack_write_u64(&writer, dst_ip_tags_ids[i]);
for (int i = 0; i < 3; i++) {
uuid_generate(uuid);
uuid_unparse(uuid, str_uuid);
printf("src ip tags uuid:%s\n", str_uuid);
mpack_write_bin(&writer, (const char*)uuid, sizeof(uuid));
}
mpack_complete_array(&writer);
mpack_build_array(&writer);
for (size_t i = 0; i < sizeof(fqdn_tags_ids)/sizeof(fqdn_tags_ids[0]); i++) {
mpack_write_u64(&writer, fqdn_tags_ids[i]);
for (int i = 0; i < 4; i++) {
uuid_generate(uuid);
uuid_unparse(uuid, str_uuid);
printf("dst ip tags uuid:%s\n", str_uuid);
mpack_write_bin(&writer, (const char*)uuid, sizeof(uuid));
}
mpack_complete_array(&writer);
mpack_build_array(&writer);
for (int i = 0; i < 5; i++) {
uuid_generate(uuid);
uuid_unparse(uuid, str_uuid);
printf("fqdn ip tags uuid:%s\n", str_uuid);
mpack_write_bin(&writer, (const char*)uuid, sizeof(uuid));
}
mpack_complete_array(&writer);