#include "silc-channels.h"
#include "silc-queries.h"
#include "silc-nicklist.h"
-#include "silcversion.h"
#include "signals.h"
#include "levels.h"
silc_pkcs_register_default();
silc_hash_register_default();
silc_hmac_register_default();
- silc_client_show_key((char *)arg);
+ silc_show_public_key((char *)arg);
exit(0);
}
silc_pkcs_register_default();
silc_hash_register_default();
silc_hmac_register_default();
- silc_client_create_key_pair(opt_pkcs, opt_bits,
- NULL, NULL, NULL, NULL, NULL);
+ silc_create_key_pair(opt_pkcs, opt_bits, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, TRUE);
exit(0);
}
}
+static void sig_init_finished(void)
+{
+ /* Check ~/.silc directory and public and private keys */
+ if (!silc_client_check_silc_dir()) {
+ idletag = -1;
+ exit(1);
+ }
+
+ /* Load public and private key */
+ if (!silc_client_load_keys(silc_client)) {
+ idletag = -1;
+ exit(1);
+ }
+
+ /* Initialize the SILC client */
+ if (!silc_client_init(silc_client)) {
+ idletag = -1;
+ exit(1);
+ }
+}
+
/* Init SILC. Called from src/fe-text/silc.c */
void silc_core_init(void)
settings_add_int("server", "key_exchange_timeout_secs", 120);
settings_add_int("server", "key_exchange_rekey_secs", 3600);
settings_add_int("server", "connauth_request_secs", 2);
+ settings_add_int("server", "heartbeat", 300);
/* Requested Attributes settings */
settings_add_bool("silc", "attr_allow", TRUE);
#endif
signal_add("setup changed", (SIGNAL_FUNC) sig_setup_changed);
+ signal_add("irssi init finished", (SIGNAL_FUNC) sig_init_finished);
silc_init_userinfo();
silc_client->hostname = silc_net_localhost();
silc_client->realname = g_strdup(settings_get_str("real_name"));
- /* Check ~/.silc directory and public and private keys */
- if (silc_client_check_silc_dir() == FALSE) {
- idletag = -1;
- return;
- }
-
- /* Load public and private key */
- if (silc_client_load_keys(silc_client) == FALSE) {
- idletag = -1;
- return;
- }
-
- /* Initialize the SILC client */
- if (!silc_client_init(silc_client)) {
- idletag = -1;
- return;
- }
-
silc_log_set_callback(SILC_LOG_INFO, silc_log_misc, NULL);
silc_log_set_callback(SILC_LOG_WARNING, silc_log_misc, NULL);
silc_log_set_callback(SILC_LOG_ERROR, silc_log_misc, NULL);
signal_emit("chat protocol deinit", 1,
chat_protocol_find("SILC"));
signal_remove("setup changed", (SIGNAL_FUNC) sig_setup_changed);
+ signal_remove("irssi init finished", (SIGNAL_FUNC) sig_init_finished);
silc_server_deinit();
silc_channels_deinit();