sasl_session_success(struct sasl_session *const restrict p, struct myuser *const restrict mu, const bool destroy)
{
	/* Only burst an account name and vhost if the user has verified their e-mail address;
	 * this prevents spambots from creating accounts to join registered-user-only channels
	 */
	if (! (mu->flags & MU_WAITAUTH))
	{
		const struct metadata *const md = metadata_find(mu, "private:usercloak");
		const char *const cloak = ((md != NULL) ? md->value : "*");

		(void) svslogin_sts(p->uid, "*", "*", cloak, mu);
	}

	(void) sasl_sts(p->uid, 'D', "S");

	if (destroy)
		(void) sasl_session_destroy(p);

	return true;
}
sasl_session_success(struct sasl_session *const restrict p, struct myuser *const restrict mu, const bool destroy)
{
	 
	if (! (mu->flags & MU_WAITAUTH))
	{
		const struct metadata *const md = metadata_find(mu, "private:usercloak");
		const char *const cloak = ((md != NULL) ? md->value : "*");

		(void) svslogin_sts(p->uid, "*", "*", cloak, mu);
	}

	(void) sasl_sts(p->uid, 'D', "S");

	if (destroy)
		(void) sasl_session_destroy(p);

	return true;
}