of the Toolkit always delivers the latest version of this reference manual.
<br /><br /><br />
+<li><a href="new.html">What's new in Toolkit 1.1</a><br />
+<li><a href="porting.html">Porting from Toolkit 1.0 to 1.1</a><br />
<li><a href="intro_reference.html">Introduction to the Manual</a><br />
<li><a href="programming_conv.html">Programming Conventions</a><br />
<li><a href="building.html">Building the Toolkit</a>
Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 2002 - 2006 Pekka Riikonen
+ Copyright (C) 2002 - 2007 Pekka Riikonen
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
* SYNOPSIS
*
* SilcBool
- * silc_channel_name_check(const unsigned char *identifier,
- * SilcUInt32 identifier_len,
- * SilcStringEncoding identifier_encoding,
- * SilcUInt32 max_allowed_length);
+ * silc_channel_name_veirfy(const unsigned char *identifier,
+ * SilcUInt32 identifier_len,
+ * SilcStringEncoding identifier_encoding,
+ * SilcUInt32 max_allowed_length);
*
* DESCRIPTION
*
{
SILC_LOG_DEBUG(("Closing connection %p", conn));
- /* If connection machine is not running, we just delete the connection */
- if (!silc_fsm_is_started(&conn->internal->fsm)) {
- silc_packet_stream_destroy(conn->stream);
- silc_client_del_connection(conn->client, conn);
- return;
- }
-
/* Signal to close connection */
conn->internal->status = SILC_CLIENT_CONN_DISCONNECTED;
if (!conn->internal->disconnected) {
silc_ske_free_rekey_material(conn->internal->rekey);
conn->internal->rekey = rekey;
+ silc_ske_free(conn->internal->ske);
+ conn->internal->ske = NULL;
+
SILC_LOG_DEBUG(("Rekey completed conn %p", conn));
/* Rekey done */
SilcClientFtpSession session;
SilcClientID remote_id;
SilcClientEntry remote_client;
- SilcKeyAgreementPayload payload;
+ SilcKeyAgreementPayload payload = NULL;
char *hostname;
SilcUInt16 port;
}
out:
+ if (payload)
+ silc_key_agreement_payload_free(payload);
silc_packet_free(packet);
return SILC_FSM_FINISH;
}
}
} else {
/* Non-blocking mode */
- if (!silc_mutex_alloc(&pws->lock)) {
- silc_free(pws);
- return NULL;
- }
-
+ silc_mutex_alloc(&pws->lock);
silc_list_init(pws->in_queue, struct SilcPacketStruct, next);
}
* Allocates SILC Mutex object. The mutex object must be allocated
* before it can be used. It is freed by the silc_mutex_free function.
* This returns TRUE and allocated mutex in to the `mutex' and FALSE
- * on error.
+ * on error. If threads support is not compiled in this returns FALSE,
+ * but should not be considered as an error.
*
***/
SilcBool silc_mutex_alloc(SilcMutex *mutex);