Beispiel #1
0
static int rd_kafka_sasl_cb_getsecret (sasl_conn_t *conn, void *context,
				       int id, sasl_secret_t **psecret) {
	rd_kafka_transport_t *rktrans = context;
	const char *password;

	password = rktrans->rktrans_rkb->rkb_rk->rk_conf.sasl.password;

	if (!password) {
		*psecret = NULL;
	} else {
		size_t passlen = strlen(password);
		*psecret = rd_realloc(*psecret, sizeof(**psecret) + passlen);
		(*psecret)->len = passlen;
		memcpy((*psecret)->data, password, passlen);
	}

	rd_rkb_dbg(rktrans->rktrans_rkb, SECURITY, "LIBSASL",
		   "CB_GETSECRET: id 0x%x: returning %s",
		   id, *psecret ? "(hidden)":"NULL");
	
	return SASL_OK;
}
Beispiel #2
0
static void rd_list_grow (rd_list_t *rl, int add_size) {
	rd_assert(!(rl->rl_flags & RD_LIST_F_FIXED_SIZE));
        rl->rl_size += add_size;
        rl->rl_elems = rd_realloc(rl->rl_elems,
                                  sizeof(*rl->rl_elems) * rl->rl_size);
}