More config parse errors.

pull/2438/head
Roger A. Light 4 years ago
parent 2d045dbc85
commit 1ac099ebdd

@ -836,6 +836,10 @@ static int config__read_file_core(struct mosquitto__config *config, bool reload,
return MOSQ_ERR_INVAL;
}
token = strtok_r(saveptr, ", \t", &saveptr);
if(!token){
log__printf(NULL, MOSQ_LOG_ERR, "Error: Empty %s value in configuration.", "accept_protocol_versions");
return MOSQ_ERR_INVAL;
}
while(token){
if(!strcmp(token, "3")){
cur_listener->disable_protocol_v3 = false;

@ -70,6 +70,9 @@ do_test("pid_file /tmp/pid\npid_file /tmp/pid\n", 3) # Duplicate string
do_test("memory_limit\n", 3) # Empty ssize_t
do_test("accept_protocol_versions 3\n", 3) # Missing listener
do_test("listener 1888\naccept_protocol_versions\n", 3) # Empty value
do_test("allow_anonymous\n", 3) # Empty bool
do_test("allow_anonymous falst\n", 3) # Invalid bool
@ -147,4 +150,21 @@ do_test("memory_limit -1\n", 3) # Invalid value
do_test("sys_interval -1\n", 3) # Invalid value
do_test("sys_interval 65536\n", 3) # Invalid value
do_test("listener 1888\ncertfile\n", 3) # empty certfile
do_test("listener 1888\nkeyfile\n", 3) # empty keyfile
do_test("listener 1888\ncertfile ./16-config-parse-errors.py\nkeyfile ../ssl/server.key\n", 1) # invalid certfile
do_test("listener 1888\ncertfile ../ssl/server.crt\nkeyfile ./16-config-parse-errors.py\n", 1) # invalid keyfile
do_test("listener 1888\ncertfile ../ssl/server.crt\nkeyfile ../ssl/client.key\n", 1) # mismatched certfile / keyfile
do_test("listener 1888\ncertfile ../ssl/server.crt\nkeyfile ../ssl/server.key\ntls_version invalid\n", 1) # invalid tls_version
do_test("listener 1888\ncertfile ../ssl/server.crt\nkeyfile ../ssl/server.key\ncrlfile invalid\n", 1) # missing crl file
do_test("listener 1888\ncertfile ../ssl/server.crt\nkeyfile ../ssl/server.key\ndhparamfile invalid\n", 1) # missing dh param file
do_test("listener 1888\ncertfile ../ssl/server.crt\nkeyfile ../ssl/server.key\ndhparamfile ./16-config-parse-errors.py\n", 1) # invalid dh param file
do_test("listener 1888\ncertfile ../ssl/server.crt\nkeyfile ../ssl/server.key\nciphers invalid\n", 1) # invalid ciphers
do_test("listener 1888\ncertfile ../ssl/server.crt\nkeyfile ../ssl/server.key\nciphers_tls1.3 invalid\n", 1) # invalid ciphers_tls1.3
exit(0)

Loading…
Cancel
Save