修正解密流量转发中重建TCP流部分序列号错误的问题。
This commit is contained in:
@@ -74,6 +74,40 @@ void tfe_stream_addr_free(struct tfe_stream_addr * addr)
|
||||
free(addr);
|
||||
}
|
||||
|
||||
struct tfe_stream_addr * tfe_stream_addr_reverse(struct tfe_stream_addr * orin)
|
||||
{
|
||||
struct tfe_stream_addr * reverse_addr = NULL;
|
||||
if(orin->addrtype == TFE_ADDR_STREAM_TUPLE4_V4)
|
||||
{
|
||||
reverse_addr = (struct tfe_stream_addr *) malloc(sizeof(struct tfe_stream_addr) +
|
||||
sizeof(struct tfe_stream_addr_tuple4_v4));
|
||||
|
||||
reverse_addr->addrtype = TFE_ADDR_STREAM_TUPLE4_V4;
|
||||
reverse_addr->addrlen = sizeof(struct tfe_stream_addr_tuple4_v4);
|
||||
reverse_addr->tuple4_v4->saddr = orin->tuple4_v4->daddr;
|
||||
reverse_addr->tuple4_v4->daddr = orin->tuple4_v4->saddr;
|
||||
reverse_addr->tuple4_v4->source = orin->tuple4_v4->dest;
|
||||
reverse_addr->tuple4_v4->dest = orin->tuple4_v4->source;
|
||||
}
|
||||
else if (orin->addrtype == TFE_ADDR_STREAM_TUPLE4_V6)
|
||||
{
|
||||
reverse_addr = (struct tfe_stream_addr *) malloc(sizeof(struct tfe_stream_addr) +
|
||||
sizeof(struct tfe_stream_addr_tuple4_v6));
|
||||
|
||||
reverse_addr->addrtype = TFE_ADDR_STREAM_TUPLE4_V6;
|
||||
reverse_addr->addrlen = sizeof(struct tfe_stream_addr_tuple4_v6);
|
||||
reverse_addr->tuple4_v6->saddr = orin->tuple4_v6->daddr;
|
||||
reverse_addr->tuple4_v6->daddr = orin->tuple4_v6->saddr;
|
||||
reverse_addr->tuple4_v6->source = orin->tuple4_v6->dest;
|
||||
reverse_addr->tuple4_v6->dest = orin->tuple4_v6->source;
|
||||
|
||||
return reverse_addr;
|
||||
}
|
||||
|
||||
assert(reverse_addr != NULL);
|
||||
return reverse_addr;
|
||||
}
|
||||
|
||||
struct tfe_stream_addr * tfe_stream_addr_create_by_fd(int fd, enum tfe_conn_dir dir)
|
||||
{
|
||||
struct tfe_stream_addr * __stream_addr = NULL;
|
||||
|
||||
Reference in New Issue
Block a user