if (dst_sock)
/* Relay the packet */
silc_server_relay_packet(server, dst_sock, idata->send_key,
- idata->hmac_receive, idata->psn_send++,
+ idata->hmac_send, idata->psn_send++,
packet, TRUE);
}
goto out;
}
- if (channel->topic && !strcmp(channel->topic, tmp))
- goto out;
-
if (!channel_id) {
channel_id = silc_id_str2id(packet->dst_id, packet->dst_id_len,
packet->dst_id_type);
}
}
+ if (channel->topic && !strcmp(channel->topic, tmp))
+ goto out;
+
/* Get user's channel entry and check that topic set is allowed. */
if (!silc_server_client_on_channel(client, channel, &chl))
goto out;