1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-12 14:14:48 +02:00

irc: use parsed command parameters in "authenticate" command callback

This commit is contained in:
Sébastien Helleu
2021-10-10 21:39:54 +02:00
parent 69c457287d
commit cb856a7f3a
+7 -13
View File
@@ -399,21 +399,15 @@ IRC_PROTOCOL_CALLBACK(account)
IRC_PROTOCOL_CALLBACK(authenticate)
{
int arg_data, sasl_mechanism;
char *ptr_data, *sasl_username, *sasl_password, *sasl_key, *answer;
int sasl_mechanism;
char *sasl_username, *sasl_password, *sasl_key, *answer;
char *sasl_error;
IRC_PROTOCOL_MIN_ARGS(2);
IRC_PROTOCOL_MIN_PARAMS(1);
if (!irc_server_sasl_enabled (server))
return WEECHAT_RC_OK;
arg_data = (argv[0][0] == ':') ? 2 : 1;
if (arg_data >= argc)
return WEECHAT_RC_OK;
ptr_data = (argv_eol[arg_data][0] == ':') ?
argv_eol[arg_data] + 1 : argv_eol[arg_data];
irc_server_sasl_get_creds (server, &sasl_username, &sasl_password,
&sasl_key);
@@ -429,22 +423,22 @@ IRC_PROTOCOL_CALLBACK(authenticate)
break;
case IRC_SASL_MECHANISM_SCRAM_SHA_1:
answer = irc_sasl_mechanism_scram (
server, "sha1", ptr_data,
server, "sha1", params[0],
sasl_username, sasl_password, &sasl_error);
break;
case IRC_SASL_MECHANISM_SCRAM_SHA_256:
answer = irc_sasl_mechanism_scram (
server, "sha256", ptr_data,
server, "sha256", params[0],
sasl_username, sasl_password, &sasl_error);
break;
case IRC_SASL_MECHANISM_SCRAM_SHA_512:
answer = irc_sasl_mechanism_scram (
server, "sha512", ptr_data,
server, "sha512", params[0],
sasl_username, sasl_password, &sasl_error);
break;
case IRC_SASL_MECHANISM_ECDSA_NIST256P_CHALLENGE:
answer = irc_sasl_mechanism_ecdsa_nist256p_challenge (
server, ptr_data,
server, params[0],
sasl_username, sasl_key, &sasl_error);
break;
case IRC_SASL_MECHANISM_EXTERNAL: