@@ -31,31 +31,33 @@ enum {
3131 LWS_SW_OTS ,
3232 LWS_SW_PASS_LIMIT ,
3333 LWS_SW_RESPMAP ,
34- LWS_SW_TIMEOUT_MS ,
35- LWS_SW_A ,
36- LWS_SW_C ,
37- LWS_SW_D ,
38- LWS_SW_I ,
39- LWS_SW_P ,
40- LWS_SW_HELP ,
41- };
42-
43- static const struct lws_switches switches [] = {
44- [LWS_SW_BUDGET ] = { "--budget" , "Enable --budget feature" },
45- [LWS_SW_EXPECTED_EXIT ] = { "--expected-exit" , "Enable --expected-exit feature" },
46- [LWS_SW_FORCE_NO_INTERNET ] = { "--force-no-internet" , "Enable --force-no-internet feature" },
47- [LWS_SW_FORCE_PORTAL ] = { "--force-portal" , "Enable --force-portal feature" },
48- [LWS_SW_OTS ] = { "--ots" , "Enable --ots feature" },
49- [LWS_SW_PASS_LIMIT ] = { "--pass-limit" , "Enable --pass-limit feature" },
50- [LWS_SW_RESPMAP ] = { "--respmap" , "Enable --respmap feature" },
51- [LWS_SW_TIMEOUT_MS ] = { "--timeout_ms" , "Enable --timeout_ms feature" },
52- [LWS_SW_A ] = { "-a" , "Enable -a feature" },
53- [LWS_SW_C ] = { "-c" , "Client connections" },
54- [LWS_SW_D ] = { "-d" , "Debug logs (e.g. -d 15)" },
55- [LWS_SW_I ] = { "-i" , "Interface to bind to" },
56- [LWS_SW_P ] = { "-p" , "Port number to listen or connect on" },
57- [LWS_SW_HELP ] = { "--help" , "Show this help information" },
58- };
34+ LWS_SW_TIMEOUT_MS ,
35+ LWS_SW_A ,
36+ LWS_SW_C ,
37+ LWS_SW_D ,
38+ LWS_SW_I ,
39+ LWS_SW_P ,
40+ LWS_SW_POLICY ,
41+ LWS_SW_HELP ,
42+ };
43+
44+ static const struct lws_switches switches [] = {
45+ [LWS_SW_BUDGET ] = { "--budget" , "Enable --budget feature" },
46+ [LWS_SW_EXPECTED_EXIT ] = { "--expected-exit" , "Enable --expected-exit feature" },
47+ [LWS_SW_FORCE_NO_INTERNET ] = { "--force-no-internet" , "Enable --force-no-internet feature" },
48+ [LWS_SW_FORCE_PORTAL ] = { "--force-portal" , "Enable --force-portal feature" },
49+ [LWS_SW_OTS ] = { "--ots" , "Enable --ots feature" },
50+ [LWS_SW_PASS_LIMIT ] = { "--pass-limit" , "Enable --pass-limit feature" },
51+ [LWS_SW_RESPMAP ] = { "--respmap" , "Enable --respmap feature" },
52+ [LWS_SW_TIMEOUT_MS ] = { "--timeout_ms" , "Enable --timeout_ms feature" },
53+ [LWS_SW_A ] = { "-a" , "Enable -a feature" },
54+ [LWS_SW_C ] = { "-c" , "Client connections" },
55+ [LWS_SW_D ] = { "-d" , "Debug logs (e.g. -d 15)" },
56+ [LWS_SW_I ] = { "-i" , "Interface to bind to" },
57+ [LWS_SW_P ] = { "-p" , "Port number to listen or connect on" },
58+ [LWS_SW_POLICY ] = { "--policy" , "Policy JSON filepath" },
59+ [LWS_SW_HELP ] = { "--help" , "Show this help information" },
60+ };
5961
6062#include <string.h>
6163#include <signal.h>
@@ -725,12 +727,20 @@ int main(int argc, const char **argv)
725727 if ((p = lws_cmdline_option (argc , argv , switches [LWS_SW_A ].sw )))
726728 info .ss_proxy_address = p ;
727729 }
728- #else
729- info .pss_policies_json = default_ss_policy ;
730- info .options = LWS_SERVER_OPTION_EXPLICIT_VHOSTS |
731- LWS_SERVER_OPTION_H2_JUST_FIX_WINDOW_UPDATE_OVERFLOW |
732- LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT ;
733- #endif
730+ #else
731+ /*
732+ * If --policy <file> is given, use that instead of the built-in
733+ * default policy, so the test can be pointed at a locally-generated
734+ * policy targeting a local test server instead of warmcat.com.
735+ */
736+ if ((p = lws_cmdline_option (argc , argv , switches [LWS_SW_POLICY ].sw )))
737+ info .pss_policies_json = p ;
738+ else
739+ info .pss_policies_json = default_ss_policy ;
740+ info .options = LWS_SERVER_OPTION_EXPLICIT_VHOSTS |
741+ LWS_SERVER_OPTION_H2_JUST_FIX_WINDOW_UPDATE_OVERFLOW |
742+ LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT ;
743+ #endif
734744
735745#if defined(LWS_WITH_MBEDTLS )
736746
0 commit comments