mirror of
https://github.com/sonertari/SSLproxy
synced 2024-10-31 21:20:21 +00:00
dc34bc1ccf
End-to-end tests now require testproxy v0.0.4, which supports the new Reconnect command for the Pass filtering rule. Split mode with the -n option also supports filtering rules, so the Divert rule can enable the divert mode even with the -n option. This is because the purpose of the -n option is to convert sslproxy into an sslsplit, and we want to support filtering rules in sslsplit-like sslproxy too.
62 lines
2.6 KiB
Makefile
62 lines
2.6 KiB
Makefile
PROJECT_ROOT= ../..
|
|
TESTPROXY:= ~/.cargo/bin/testproxy
|
|
|
|
TESTPROXY_VERSION=$(shell $(TESTPROXY) -V)
|
|
ifneq ($(TESTPROXY_VERSION),testproxy 0.0.4)
|
|
$(error Use Testproxy v0.0.4 with this version of SSLproxy, found $(TESTPROXY_VERSION))
|
|
endif
|
|
|
|
ifeq ($(findstring -DWITHOUT_USERAUTH,$(shell $(PROJECT_ROOT)/src/sslproxy -V 2>&1 | grep "Features: ")),-DWITHOUT_USERAUTH)
|
|
$(error End-to-end tests need UserAuth enabled, disable WITHOUT_USERAUTH feature in main makefile and try again)
|
|
endif
|
|
|
|
all: test
|
|
|
|
buildsslproxy:
|
|
$(MAKE) -C $(PROJECT_ROOT)
|
|
|
|
buildlp:
|
|
$(MAKE) -C lp
|
|
|
|
# XXX: How to build sslproxy before setting the vars? Otherwise, we depend on the main makefile to have already built it.
|
|
test: SSL_PROTOS=$(shell $(PROJECT_ROOT)/src/sslproxy -V 2>&1 | grep "SSL/TLS protocol availability")
|
|
test: TLS11=$(findstring tls11,$(SSL_PROTOS))
|
|
test: TLS13=$(findstring tls13,$(SSL_PROTOS))
|
|
test: SSLPROXY_CONF=$(if $(TLS13),sslproxy.conf,sslproxy_no_tls13.conf)
|
|
test: SSLPROXY_CONF:=$(if $(TLS11),$(SSLPROXY_CONF),sslproxy_no_tls11.conf)
|
|
test: SSLPROXY_COMMAND=$(PROJECT_ROOT)/src/sslproxy -f $(SSLPROXY_CONF) -o Debug=no -o Daemon=yes -o User=nobody
|
|
test: TESTHARNESS=$(if $(TLS13),testharness.json,testharness_no_tls13.json)
|
|
test: TESTHARNESS:=$(if $(TLS11),$(TESTHARNESS),testharness_no_tls11.json)
|
|
test: buildsslproxy buildlp
|
|
sudo LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) ./lp/lp -f ./lp/lp.conf -o Debug=no -o Daemon=yes -o User=nobody
|
|
sudo LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) $(SSLPROXY_COMMAND)
|
|
$(TESTPROXY) -f $(TESTHARNESS) -l 4
|
|
sudo pkill sslproxy
|
|
sudo pkill lp
|
|
|
|
test_split: SSL_PROTOS=$(shell $(PROJECT_ROOT)/src/sslproxy -V 2>&1 | grep "SSL/TLS protocol availability")
|
|
test_split: TLS11=$(findstring tls11,$(SSL_PROTOS))
|
|
test_split: TLS13=$(findstring tls13,$(SSL_PROTOS))
|
|
test_split: SSLPROXY_CONF=$(if $(TLS13),sslproxy.conf,sslproxy_no_tls13.conf)
|
|
test_split: SSLPROXY_CONF:=$(if $(TLS11),$(SSLPROXY_CONF),sslproxy_no_tls11.conf)
|
|
test_split: SSLPROXY_COMMAND=$(PROJECT_ROOT)/src/sslproxy -n -f $(SSLPROXY_CONF) -o Debug=no -o Daemon=yes -o User=nobody
|
|
test_split: TESTHARNESS=$(if $(TLS13),testharness_split.json,testharness_split_no_tls13.json)
|
|
test_split: TESTHARNESS:=$(if $(TLS11),$(TESTHARNESS),testharness_split_no_tls11.json)
|
|
test_split: buildsslproxy buildlp
|
|
sudo LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) ./lp/lp -f ./lp/lp.conf -o Debug=no -o Daemon=yes -o User=nobody
|
|
sudo LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) $(SSLPROXY_COMMAND)
|
|
$(TESTPROXY) -f $(TESTHARNESS) -l 4
|
|
sudo pkill sslproxy
|
|
sudo pkill lp
|
|
|
|
travis: test
|
|
|
|
clean:
|
|
$(MAKE) -C $(PROJECT_ROOT) clean
|
|
$(MAKE) -C lp clean
|
|
|
|
FORCE:
|
|
|
|
.PHONY: all clean buildsslproxy buildlp test test_split travis
|
|
|