Skip to content

Commit ae9af34

Browse files
committed
null pointer error
1 parent ca30221 commit ae9af34

File tree

1 file changed

+2
-28
lines changed

1 file changed

+2
-28
lines changed

src/knock.bpf.c

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,7 @@ static __always_inline const struct knock_config* get_and_validate_config(struct
2121
static __always_inline int handle_udp_knock(
2222
u32 source_ip, u16 port, const struct port_sequence* seq)
2323
{
24-
log_debug("source ip: %d", source_ip);
25-
log_debug("udp port: %d", port);
26-
27-
struct ip_state new_state = {
28-
.sequence_step = 0, .last_packet_time = bpf_ktime_get_ns(), .sequence_complete = false
29-
};
30-
struct ip_state* existing_state = bpf_map_lookup_elem(&ip_tracking_map, &source_ip);
31-
struct ip_state* state = existing_state != NULL ? existing_state : &new_state;
24+
struct ip_state* state = bpf_map_lookup_elem(&ip_tracking_map, &source_ip);
3225

3326
if (state->sequence_step >= seq->length) {
3427
log_error("sequence step > length");
@@ -41,26 +34,7 @@ static __always_inline int handle_udp_knock(
4134
}
4235

4336
if (port == seq->ports[state->sequence_step]) {
44-
45-
const __u64 current_time = bpf_ktime_get_ns();
46-
if (current_time - state->last_packet_time > MS_TO_NS(seq->timeout_ms)) {
47-
log_info("sequence timeout");
48-
bpf_map_delete_elem(&ip_tracking_map, &source_ip);
49-
return XDP_PASS;
50-
}
51-
52-
state->sequence_step++;
53-
state->last_packet_time = current_time;
54-
state->sequence_complete = (state->sequence_step == seq->length);
55-
56-
log_info("code %d passed", state->sequence_step);
57-
if (state->sequence_complete) {
58-
log_info("sequence complete");
59-
}
60-
bpf_map_update_elem(&ip_tracking_map, &source_ip, state, BPF_ANY);
61-
} else if (existing_state) {
62-
log_info("sequence reset");
63-
bpf_map_delete_elem(&ip_tracking_map, &source_ip);
37+
log_info("doing something useful here...");
6438
}
6539

6640
return XDP_PASS;

0 commit comments

Comments
 (0)