server->stat.packets_sent++;
- if (sock->outbuf->data - sock->outbuf->head)
- silc_buffer_push(sock->outbuf, sock->outbuf->data - sock->outbuf->head);
-
/* Send the packet */
ret = silc_packet_send(sock, TRUE);
is tried to be sent immediately. */
silc_server_packet_send(server, sock, SILC_PACKET_DISCONNECT, 0,
buf, strlen(buf), TRUE);
+ silc_server_packet_queue_purge(server, sock);
/* Mark the connection to be disconnected */
SILC_SET_DISCONNECTED(sock);
/* Client ID */
SILC_GET16_MSB(idp_len, user_list->data + 2);
idp_len += 4;
- client_id = silc_id_payload_parse_id(user_list->data, idp_len);
+ client_id = silc_id_payload_parse_id(user_list->data, idp_len, NULL);
silc_buffer_pull(user_list, idp_len);
if (!client_id)
continue;
silc_free(client_id);
- if (!silc_server_client_on_channel(client, channel)) {
+ if (!silc_server_client_on_channel(client, channel, NULL)) {
/* Client was not on the channel, add it. */
SilcChannelClientEntry chl = silc_calloc(1, sizeof(*chl));
chl->client = client;