Refactor rand

* Removed dependency from internal headers in rand.h. xmpp_rand
  interface can be public in the future;
* xmpp_rand functions accept xmpp_rand_t object instead of xmpp_ctx_t.
This commit is contained in:
Dmitry Podgorny
2016-04-29 14:18:43 +00:00
parent 063f4deb22
commit b5d9b33b6f
5 changed files with 68 additions and 43 deletions

View File

@@ -490,22 +490,23 @@ err:
static char *_make_scram_sha1_init_msg(xmpp_conn_t * const conn)
{
xmpp_ctx_t *ctx = conn->ctx;
size_t message_len;
char *node;
char *message;
char nonce[32];
node = xmpp_jid_node(conn->ctx, conn->jid);
node = xmpp_jid_node(ctx, conn->jid);
if (!node) {
return NULL;
}
xmpp_rand_nonce(conn->ctx, nonce, sizeof(nonce));
xmpp_rand_nonce(ctx->rand, nonce, sizeof(nonce));
message_len = strlen(node) + strlen(nonce) + 8 + 1;
message = xmpp_alloc(conn->ctx, message_len);
message = xmpp_alloc(ctx, message_len);
if (message) {
xmpp_snprintf(message, message_len, "n,,n=%s,r=%s", node, nonce);
}
xmpp_free(conn->ctx, node);
xmpp_free(ctx, node);
return message;
}