summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLu Qiuwen <[email protected]>2020-04-02 17:12:50 +0800
committerLu Qiuwen <[email protected]>2020-04-02 17:12:50 +0800
commit21026588dfbb17846f6e6b6abcb14c0a8c2c9bd4 (patch)
tree883893aa44ee90181e15799b92d141d0f5ed12ef
parentb7e5f7bf9d9c0fb8f709d71c3781765b05dfb1eb (diff)
修正向前兼容问题,读取不到当前包的方式时认为该包是C->S方向。HEADv1.0.5-20200408master
-rw-r--r--cmsg.c4
-rw-r--r--cmsg.h1
2 files changed, 3 insertions, 2 deletions
diff --git a/cmsg.c b/cmsg.c
index 30d1474..3c8706c 100644
--- a/cmsg.c
+++ b/cmsg.c
@@ -83,7 +83,7 @@ int tcp_restore_info_parse_from_skb(struct sk_buff *skb, struct tcp_restore_info
struct sockaddr_in *in_addr_client;
struct sockaddr_in *in_addr_server;
- if (out->cur_dir == PKT_CUR_DIR_C2S)
+ if (out->cur_dir == PKT_CUR_DIR_NOT_SET || out->cur_dir == PKT_CUR_DIR_C2S)
{
in_addr_client = (struct sockaddr_in *)&out->client.addr;
in_addr_server = (struct sockaddr_in *)&out->server.addr;
@@ -113,7 +113,7 @@ int tcp_restore_info_parse_from_skb(struct sk_buff *skb, struct tcp_restore_info
struct sockaddr_in6 *in6_addr_client;
struct sockaddr_in6 *in6_addr_server;
- if (out->cur_dir == PKT_CUR_DIR_C2S)
+ if (out->cur_dir == PKT_CUR_DIR_NOT_SET || out->cur_dir == PKT_CUR_DIR_C2S)
{
in6_addr_client = (struct sockaddr_in6 *)&out->client.addr;
in6_addr_server = (struct sockaddr_in6 *)&out->server.addr;
diff --git a/cmsg.h b/cmsg.h
index 2aa614d..f4f8ed5 100644
--- a/cmsg.h
+++ b/cmsg.h
@@ -24,6 +24,7 @@ enum tcp_restore_info_tlv_type
enum tcp_restore_pkt_cur_dir
{
+ PKT_CUR_DIR_NOT_SET = 0x0,
PKT_CUR_DIR_C2S = 0x1,
PKT_CUR_DIR_S2C = 0x2
};