Auth plugin v2, v3 testings.

pull/2438/head
Roger A. Light 4 years ago
parent 4cd2f85e77
commit 5fab104467

@ -64,5 +64,7 @@ def do_test(plugin_ver):
print(stde.decode('utf-8')) print(stde.decode('utf-8'))
exit(rc) exit(rc)
do_test(2)
do_test(3)
do_test(4) do_test(4)
do_test(5) do_test(5)

@ -25,6 +25,9 @@ def do_test(plugin_ver):
mid_fail = 54 mid_fail = 54
subscribe_packet_fail = mosq_test.gen_subscribe(mid_fail, "#", 0) subscribe_packet_fail = mosq_test.gen_subscribe(mid_fail, "#", 0)
if plugin_ver == 2:
suback_packet_fail = mosq_test.gen_suback(mid_fail, 0)
else:
suback_packet_fail = mosq_test.gen_suback(mid_fail, 0x80) suback_packet_fail = mosq_test.gen_suback(mid_fail, 0x80)
broker = mosq_test.start_broker(filename=os.path.basename(__file__), use_conf=True, port=port) broker = mosq_test.start_broker(filename=os.path.basename(__file__), use_conf=True, port=port)
@ -49,5 +52,7 @@ def do_test(plugin_ver):
print(stde.decode('utf-8')) print(stde.decode('utf-8'))
exit(rc) exit(rc)
do_test(2)
do_test(3)
do_test(4) do_test(4)
do_test(5) do_test(5)

@ -62,11 +62,22 @@ int mosquitto_auth_acl_check(void *user_data, const char *clientid, const char *
(void)clientid; (void)clientid;
(void)topic; (void)topic;
if(!strcmp(username, "readonly") && access == MOSQ_ACL_READ){ if(access != MOSQ_ACL_READ && access != MOSQ_ACL_WRITE){
return MOSQ_ERR_ACL_DENIED;
}else if(username && !strcmp(username, "readonly") && access == MOSQ_ACL_READ){
return MOSQ_ERR_SUCCESS;
}else if(username && !strcmp(username, "readwrite")){
if((!strcmp(topic, "readonly") && access == MOSQ_ACL_READ)
|| !strcmp(topic, "writeable")){
return MOSQ_ERR_SUCCESS; return MOSQ_ERR_SUCCESS;
}else{ }else{
return MOSQ_ERR_ACL_DENIED; return MOSQ_ERR_ACL_DENIED;
} }
}else{
return MOSQ_ERR_ACL_DENIED;
}
} }
int mosquitto_auth_unpwd_check(void *user_data, const char *username, const char *password) int mosquitto_auth_unpwd_check(void *user_data, const char *username, const char *password)
@ -75,7 +86,7 @@ int mosquitto_auth_unpwd_check(void *user_data, const char *username, const char
if(!strcmp(username, "test-username") && password && !strcmp(password, "cnwTICONIURW")){ if(!strcmp(username, "test-username") && password && !strcmp(password, "cnwTICONIURW")){
return MOSQ_ERR_SUCCESS; return MOSQ_ERR_SUCCESS;
}else if(!strcmp(username, "readonly")){ }else if(!strcmp(username, "readonly") || !strcmp(username, "readwrite")){
return MOSQ_ERR_SUCCESS; return MOSQ_ERR_SUCCESS;
}else if(!strcmp(username, "test-username@v2")){ }else if(!strcmp(username, "test-username@v2")){
return MOSQ_ERR_SUCCESS; return MOSQ_ERR_SUCCESS;

Loading…
Cancel
Save