Skip to content

Commit 31c2cc5

Browse files
committed
separate test esp build.
1 parent 1a753aa commit 31c2cc5

2 files changed

Lines changed: 43 additions & 19 deletions

File tree

Makefile

Lines changed: 38 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,23 @@ CFLAGS:=-Wall -Werror -Wextra -I. -D_GNU_SOURCE
33
CFLAGS+=-g -ggdb -Wdeclaration-after-statement
44
LDFLAGS+=-pthread
55

6+
#
67
# Debug flags:
7-
# CFLAGS+=-DDEBUG_TAP
8-
# print ethernet headers
9-
# CFLAGS+=-DDEBUG_ETH
10-
# print ip headers
11-
# CFLAGS+=-DDEBUG_IP
12-
# print tcp headers
13-
# CFLAGS+=-DDEBUG_TCP
14-
# print esp header data
15-
CFLAGS+=-DWOLFIP_DEBUG_ESP
16-
#CFLAGS+=-DWOLFIP_DEBUG_ESP_VERBOSE
17-
18-
# ESP support
19-
# CFLAGS+=-DWOLFIP_ESP
20-
# CFLAGS+=-DWOLFSSL_WOLFIP
21-
# LDFLAGS+=-lwolfssl
8+
# tap debug:
9+
# CFLAGS+=-DDEBUG_TAP
10+
#
11+
# print ethernet headers:
12+
# CFLAGS+=-DDEBUG_ETH
13+
#
14+
# print ip headers:
15+
# CFLAGS+=-DDEBUG_IP
16+
#
17+
# print tcp headers:
18+
# CFLAGS+=-DDEBUG_TCP
19+
#
20+
# print esp header data:
21+
# CFLAGS+=-DWOLFIP_DEBUG_ESP
22+
#
2223

2324
UNAME_S:=$(shell uname -s)
2425
UNAME_M:=$(shell uname -m)
@@ -119,6 +120,9 @@ OBJ=build/wolfip.o \
119120
IPFILTER_OBJ=build/ipfilter/wolfip.o \
120121
$(TAP_OBJ)
121122

123+
ESP_OBJ=build/esp/wolfip.o \
124+
$(TAP_OBJ)
125+
122126
HAVE_WOLFSSL:=$(shell printf "#include <wolfssl/options.h>\nint main(void){return 0;}\n" | $(CC) $(CFLAGS) -x c - -c -o /dev/null 2>/dev/null && echo 1)
123127

124128
# Require wolfSSL unless the requested goals are wolfSSL-independent (unit/cppcheck/clean).
@@ -171,6 +175,11 @@ asan: $(EXE) $(LIB)
171175
asan:CFLAGS+=-fsanitize=address
172176
asan:LDFLAGS+=-static-libasan
173177

178+
ESP_CFLAGS = \
179+
-DWOLFIP_ESP \
180+
-DWOLFSSL_WOLFIP \
181+
-DDEBUG_IP \
182+
-DWOLFIP_DEBUG_ESP
174183

175184
# Test
176185

@@ -206,9 +215,6 @@ build/tcp_netcat_select: $(OBJ) build/port/posix/bsd_socket.o build/test/tcp_net
206215
@echo "[LD] $@"
207216
@$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(BEGIN_GROUP) $(^) $(END_GROUP)
208217

209-
build/test-esp: $(OBJ) build/test/test_esp.o
210-
@echo "[LD] $@"
211-
@$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(BEGIN_GROUP) $(^) $(END_GROUP)
212218

213219
build/test-wolfssl:CFLAGS+=-Wno-cpp -DWOLFSSL_DEBUG -DWOLFSSL_WOLFIP
214220
build/test-httpd:CFLAGS+=-Wno-cpp -DWOLFSSL_DEBUG -DWOLFSSL_WOLFIP -Isrc/http
@@ -229,6 +235,20 @@ build/ipfilter/wolfip.o: src/wolfip.c
229235

230236
build/test/ipfilter_logger.o: CFLAGS+=-DCONFIG_IPFILTER=1
231237

238+
# ipsec esp
239+
build/esp/wolfip.o: src/wolfip.c
240+
@mkdir -p `dirname $@` || true
241+
@echo "[CC] $< (esp)"
242+
@$(CC) $(CFLAGS) $(ESP_CFLAGS) -c $< -o $@
243+
244+
build/test/test_esp.o: src/test/test_esp.c
245+
@echo "[CC] $@"
246+
@$(CC) $(CFLAGS) $(ESP_CFLAGS) -c $< -o $@
247+
248+
build/test-esp: $(ESP_OBJ) build/test/test_esp.o
249+
@echo "[LD] $@"
250+
@$(CC) $(CFLAGS) $(ESP_CFLAGS) $(LDFLAGS) -o $@ $(BEGIN_GROUP) $(^) -lwolfssl $(END_GROUP)
251+
232252
build/test-wolfssl-forwarding: build/test/test_wolfssl_forwarding.o build/test/wolfip_forwarding.o $(TAP_OBJ) build/port/wolfssl_io.o build/certs/server_key.o build/certs/ca_cert.o build/certs/server_cert.o
233253
@echo "[LD] $@"
234254
@$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(BEGIN_GROUP) $(^) -lwolfssl $(END_GROUP)

src/wolfesp.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ static uint16_t out_sa_num = 0;
3333
void
3434
esp_load_sa_list(struct wolfIP_esp_sa * sa_list, uint16_t num, uint16_t in)
3535
{
36+
#ifdef WOLFIP_DEBUG_ESP
37+
printf("info: esp_load_sa_list: %p, %d, %d\n", sa_list, num, in);
38+
#endif /* WOLFIP_DEBUG_ESP */
39+
3640
if (in == 1) {
3741
in_sa_list = sa_list;
3842
in_sa_num = num;
@@ -568,7 +572,7 @@ esp_aes_rfc4106_enc(const struct wolfIP_esp_sa * esp_sa, uint8_t * esp_data,
568572
/* copy in the pre_iv. */
569573
memcpy(iv, esp_sa->pre_iv, sizeof(esp_sa->pre_iv));
570574

571-
/* xor salt with current sequence number. */
575+
/* xor pre-iv salt with current sequence number. */
572576
for (size_t i = 0; i < sizeof(uint32_t); ++i) {
573577
iv[i + sizeof(uint32_t)] ^= seq_num_u8[i];
574578
}

0 commit comments

Comments
 (0)