1
0
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:
Bram Matthys
2016-04-03 11:44:58 +02:00
+14 -2
View File
@@ -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]);