const char *passwd = NULL;
const char *a1_hash = NULL;
const char *mwi_account = NULL;
+ switch_bool_t allow_empty_password = SWITCH_TRUE;
const char *call_id = NULL;
char *sql;
char *number_alias = NULL;
if (!strcasecmp(var, "mwi-account")) {
mwi_account = val;
}
-
+ if (!strcasecmp(var, "allow-empty-password")) {
+ allow_empty_password = switch_true(val);
+ }
if (!strcasecmp(var, "user-agent-filter")) {
user_agent_filter = val;
}
if (!strcasecmp(var, "mwi-account")) {
mwi_account = val;
}
-
+ if (!strcasecmp(var, "allow-empty-password")) {
+ allow_empty_password = switch_true(val);
+ }
if (!strcasecmp(var, "user-agent-filter")) {
user_agent_filter = val;
}
if (!strcasecmp(var, "mwi-account")) {
mwi_account = val;
}
+ if (!strcasecmp(var, "allow-empty-password")) {
+ allow_empty_password = switch_true(val);
+ }
if (!strcasecmp(var, "user-agent-filter")) {
user_agent_filter = val;
}
}
}
+ if (!allow_empty_password && zstr(passwd) && zstr(a1_hash)) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Empty password denied for user %s@%s\n", username, domain_name);
+ ret = AUTH_FORBIDDEN;
+ goto end;
+ }
+
if (zstr(passwd) && zstr(a1_hash)) {
ret = AUTH_OK;
goto skip_auth;