sasl: allow reauth without sasl-reauth capability (since it's being dropped)
This commit is contained in:
parent
676032301e
commit
51535fcbce
1 changed files with 2 additions and 18 deletions
|
@ -80,12 +80,6 @@ m_authenticate(struct Client *client_p, struct Client *source_p,
|
||||||
if(!IsCapable(source_p, CLICAP_SASL))
|
if(!IsCapable(source_p, CLICAP_SASL))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if(IsRegisteredUser(source_p) && !IsCapable(source_p, CLICAP_SASL_REAUTH))
|
|
||||||
{
|
|
||||||
sendto_one(source_p, form_str(ERR_ALREADYREGISTRED), me.name, source_p->name);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (strlen(client_p->id) == 3)
|
if (strlen(client_p->id) == 3)
|
||||||
{
|
{
|
||||||
exit_client(client_p, client_p, client_p, "Mixing client and server protocol");
|
exit_client(client_p, client_p, client_p, "Mixing client and server protocol");
|
||||||
|
@ -101,13 +95,7 @@ m_authenticate(struct Client *client_p, struct Client *source_p,
|
||||||
|
|
||||||
if(source_p->localClient->sasl_complete)
|
if(source_p->localClient->sasl_complete)
|
||||||
{
|
{
|
||||||
if (!IsCapable(source_p, CLICAP_SASL_REAUTH))
|
*source_p->localClient->sasl_agent = '\0';
|
||||||
{
|
|
||||||
sendto_one(source_p, form_str(ERR_SASLALREADY), me.name, EmptyString(source_p->name) ? "*" : source_p->name);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* we're doing a reauth. */
|
|
||||||
source_p->localClient->sasl_complete = 0;
|
source_p->localClient->sasl_complete = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -167,9 +155,6 @@ me_sasl(struct Client *client_p, struct Client *source_p,
|
||||||
if((target_p = find_id(parv[2])) == NULL)
|
if((target_p = find_id(parv[2])) == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if(target_p->preClient == NULL)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
if((agent_p = find_id(parv[1])) == NULL)
|
if((agent_p = find_id(parv[1])) == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -240,7 +225,6 @@ abort_sasl(struct Client *data)
|
||||||
static void
|
static void
|
||||||
abort_sasl_exit(hook_data_client_exit *data)
|
abort_sasl_exit(hook_data_client_exit *data)
|
||||||
{
|
{
|
||||||
if (data->target->preClient)
|
|
||||||
abort_sasl(data->target);
|
abort_sasl(data->target);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue