提交 0e7377b8 authored 作者: Michael Jerris's avatar Michael Jerris

Thu Jan 8 13:04:03 CST 2009 Pekka Pessi <first.last@nokia.com>

  * auth_client: do not crash with unknown authentication schemes



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11779 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 1ad83d3c
Wed Feb 11 10:16:40 CST 2009
Wed Feb 11 10:18:18 CST 2009
......@@ -128,11 +128,17 @@ int auc_challenge(auth_client_t **auc_list,
if (!matched) {
/* There was no matching authenticator, create a new one */
*cca = ca_create(home, scheme, realm);
if (ca_challenge((*cca), ch, crcl, scheme, realm) < 0) {
if (*cca == NULL) {
return -1;
}
else if (ca_challenge((*cca), ch, crcl, scheme, realm) < 0) {
ca_destroy(home, *cca), *cca = NULL;
return -1;
}
retval = 1; /* Updated authenticator */
/* XXX - case w/ unknown authentication scheme */
else
retval = 1; /* Updated authenticator */
}
}
......
......@@ -98,7 +98,8 @@ struct auth_client_plugin
/** Check if authentication client has been extended. @NEW_1_12_6. */
#define AUTH_CLIENT_IS_EXTENDED(ca) \
((ca)->ca_auc->auc_plugin_size > \
((ca)->ca_auc && \
(ca)->ca_auc->auc_plugin_size > \
(int)offsetof(auth_client_plugin_t, auc_clear) \
&& (ca)->ca_auc->auc_clear != NULL)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论