mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-07-01 10:46:38 +02:00
Merge pull request #51 from grawity/sasl-external
Implement SASL EXTERNAL support
This commit is contained in:
+14
-2
@@ -238,8 +238,20 @@ CMD_FUNC(m_authenticate)
|
||||
agent_p = find_client(sptr->local->sasl_agent, NULL);
|
||||
|
||||
if (agent_p == NULL)
|
||||
sendto_server(NULL, 0, 0, ":%s SASL %s %s S %s",
|
||||
me.name, SASL_SERVER, encode_puid(sptr), parv[1]);
|
||||
{
|
||||
char *addr = BadPtr(sptr->ip) ? "0" : sptr->ip;
|
||||
char *certfp = moddata_client_get(sptr, "certfp");
|
||||
|
||||
sendto_server(NULL, 0, 0, ":%s SASL %s %s H %s %s",
|
||||
me.name, SASL_SERVER, encode_puid(sptr), addr, addr);
|
||||
|
||||
if (certfp)
|
||||
sendto_server(NULL, 0, 0, ":%s SASL %s %s S %s %s",
|
||||
me.name, SASL_SERVER, encode_puid(sptr), parv[1], certfp);
|
||||
else
|
||||
sendto_server(NULL, 0, 0, ":%s SASL %s %s S %s",
|
||||
me.name, SASL_SERVER, encode_puid(sptr), parv[1]);
|
||||
}
|
||||
else
|
||||
sendto_server(NULL, 0, 0, ":%s SASL %s %s C %s",
|
||||
me.name, AGENT_SID(agent_p), encode_puid(sptr), parv[1]);
|
||||
|
||||
Reference in New Issue
Block a user