remove tuple.h from include/stellar

This commit is contained in:
luwenpeng
2024-06-07 15:17:35 +08:00
parent 4c0ad823d4
commit 10528bcfd3
13 changed files with 227 additions and 103 deletions

View File

@@ -2,7 +2,7 @@
#include <stdlib.h>
#include <string.h>
#include "stellar/tuple.h"
#include "stellar/packet.h"
#include "stellar/session_mq.h"
#include "packet_inject_main.h"
@@ -36,22 +36,29 @@ static void on_sess_msg(struct session *sess, int topic_id, const void *msg, voi
session_get_stat(sess, FLOW_DIRECTION_C2S, STAT_RAW_PACKETS_RECEIVED),
session_get_stat(sess, FLOW_DIRECTION_S2C, STAT_RAW_PACKETS_RECEIVED));
struct packet *pkt = (struct packet *)msg;
char buffer[1024] = {0};
// struct packet *pkt = (struct packet *)msg;
const struct tuple6 *tuple = session_get_tuple6(sess);
if (rule.ip_type == 4 &&
memcmp(&tuple->src_addr.v4, &rule.v4, sizeof(struct in_addr)) &&
memcmp(&tuple->dst_addr.v4, &rule.v4, sizeof(struct in_addr)))
uint16_t src_port = 0;
uint16_t dst_port = 0;
struct address src_addr = {0};
struct address dst_addr = {0};
packet_get_addr(pkt, &src_addr, &dst_addr);
packet_get_port(pkt, &src_port, &dst_port);
if (rule.addr.family == AF_INET &&
memcmp(&src_addr.data.v4, &rule.addr.data.v4, sizeof(struct in_addr)) &&
memcmp(&dst_addr.data.v4, &rule.addr.data.v4, sizeof(struct in_addr)))
{
return;
}
if (rule.ip_type == 6 &&
memcmp(&tuple->src_addr.v6, &rule.v6, sizeof(struct in6_addr)) &&
memcmp(&tuple->dst_addr.v6, &rule.v6, sizeof(struct in6_addr)))
if (rule.addr.family == AF_INET6 &&
memcmp(&src_addr.data.v6, &rule.addr.data.v6, sizeof(struct in6_addr)) &&
memcmp(&dst_addr.data.v6, &rule.addr.data.v6, sizeof(struct in6_addr)))
{
return;
}
if (rule.port != 0 && tuple->src_port != rule.port && tuple->dst_port != rule.port)
if (rule.port != 0 && src_port != rule.port && dst_port != rule.port)
{
return;
}