SCRAM-SHA-1: fixed base64-decoding of salt

Salt can contain 0x00, therefore must be decoded with
xmpp_base64_decode_bin().
This commit is contained in:
Dmitry Podgorny
2016-05-08 09:01:20 +03:00
parent 2ffb278aa4
commit e83d0d6b62

View File

@@ -364,7 +364,7 @@ char *sasl_scram_sha1(xmpp_ctx_t *ctx, const char *challenge,
char *r = NULL;
char *s = NULL;
char *i = NULL;
char *sval;
unsigned char *sval;
size_t sval_len;
long ival;
char *tmp;
@@ -400,11 +400,10 @@ char *sasl_scram_sha1(xmpp_ctx_t *ctx, const char *challenge,
goto out;
}
sval = xmpp_base64_decode_str(ctx, s, strlen(s));
xmpp_base64_decode_bin(ctx, s, strlen(s), &sval, &sval_len);
if (!sval) {
goto out;
}
sval_len = strlen(sval);
ival = strtol(i, &saveptr, 10);
auth_len = 10 + strlen(r) + strlen(first_bare) + strlen(challenge);