X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Firssi%2Fsrc%2Fsilc%2Fcore%2Fsilc-core.c;h=8253713d99296961144c5f3f49c68ade0519f3a8;hb=HEAD;hp=e2c189bb15a9844dbce97c8dac34e1afb71a248e;hpb=ba6e971dc3146f811e4f194527a82c85f91c0885;p=silc.git diff --git a/apps/irssi/src/silc/core/silc-core.c b/apps/irssi/src/silc/core/silc-core.c index e2c189bb..8253713d 100644 --- a/apps/irssi/src/silc/core/silc-core.c +++ b/apps/irssi/src/silc/core/silc-core.c @@ -109,24 +109,20 @@ static void scheduler_notify_cb(SilcSchedule schedule, g_source_remove_by_user_data(SILC_32_TO_PTR(fd)); if (event & SILC_TASK_READ) - e |= G_IO_IN; + e |= (G_IO_IN | G_IO_PRI | G_IO_HUP | G_IO_ERR); if (event & SILC_TASK_WRITE) - e |= G_IO_OUT; + e |= (G_IO_OUT | G_IO_HUP | G_IO_ERR | G_IO_NVAL); if (e) { ch = g_io_channel_unix_new(fd); g_io_add_watch(ch, e, my_silc_scheduler_fd, SILC_32_TO_PTR(fd)); + g_io_channel_unref(ch); } } else { /* Add timeout */ guint t; - /* Zero timeouts are delievered always immediately, as per - SilcSchedule API documentation, no need to add them to glib. */ - if (!seconds && !useconds) - return; - - t = (seconds * 1000) + (useconds / 1000), + t = (seconds * 1000) + (useconds / 1000); SILC_LOG_DEBUG(("interval %d msec", t)); g_timeout_add(t, my_silc_scheduler, NULL); } @@ -306,9 +302,6 @@ static void silc_register_cipher(SilcClient client, const char *cipher) #endif } } - - /* Register other defaults */ - silc_cipher_register_default(); } static void silc_register_hash(SilcClient client, const char *hash) @@ -332,9 +325,6 @@ static void silc_register_hash(SilcClient client, const char *hash) #endif } } - - /* Register other defaults */ - silc_hash_register_default(); } static void silc_register_hmac(SilcClient client, const char *hmac) @@ -358,9 +348,6 @@ static void silc_register_hmac(SilcClient client, const char *hmac) #endif } } - - /* Register other defaults */ - silc_hmac_register_default(); } /* Finalize init. Init finish signal calls this. */ @@ -412,7 +399,6 @@ void silc_opt_callback(poptContext con, if ((argc == 2) && (strcasecmp(argv[1], "list-ciphers") == 0)) { #else if (strcmp(opt->longName, "list-ciphers") == 0) { - silc_cipher_register_default(); #endif silc_client_list_ciphers(); FUNCTION_EXIT; @@ -422,7 +408,6 @@ void silc_opt_callback(poptContext con, if ((argc == 2) && (strcasecmp(argv[1], "list-hash-funcs") == 0)) { #else if (strcmp(opt->longName, "list-hash-funcs") == 0) { - silc_hash_register_default(); #endif silc_client_list_hash_funcs(); FUNCTION_EXIT; @@ -432,7 +417,6 @@ void silc_opt_callback(poptContext con, if ((argc == 2) && (strcasecmp(argv[1], "list-hmacs") == 0)) { #else if (strcmp(opt->longName, "list-hmacs") == 0) { - silc_hmac_register_default(); #endif silc_client_list_hmacs(); FUNCTION_EXIT; @@ -442,7 +426,6 @@ void silc_opt_callback(poptContext con, if ((argc == 2) && (strcasecmp(argv[1], "list-pkcs") == 0)) { #else if (strcmp(opt->longName, "list-pkcs") == 0) { - silc_pkcs_register_default(); #endif silc_client_list_pkcs(); FUNCTION_EXIT; @@ -538,10 +521,7 @@ void silc_opt_callback(poptContext con, MSGLEVEL_CRAP, SILCTXT_CONFIG_NEXTTIME); goto out; #else - silc_cipher_register_default(); - silc_pkcs_register_default(); - silc_hash_register_default(); - silc_hmac_register_default(); + silc_crypto_init(NULL); silc_create_key_pair(opt_pkcs, opt_bits, NULL, NULL, NULL, NULL, NULL, NULL, TRUE); exit(0); @@ -566,10 +546,7 @@ void silc_opt_callback(poptContext con, ENTRY_REDIRECT_FLAG_HIDDEN, rec); goto out; #else - silc_cipher_register_default(); - silc_pkcs_register_default(); - silc_hash_register_default(); - silc_hmac_register_default(); + silc_crypto_init(NULL); silc_change_private_key_passphrase(arg, NULL, NULL); exit(0); #endif @@ -578,10 +555,7 @@ void silc_opt_callback(poptContext con, #ifndef SILC_PLUGIN if (strcmp(opt->longName, "show-key") == 0) { /* Dump the key */ - silc_cipher_register_default(); - silc_pkcs_register_default(); - silc_hash_register_default(); - silc_hmac_register_default(); + silc_crypto_init(NULL); silc_show_public_key_file((char *)arg); exit(0); } @@ -774,6 +748,7 @@ void silc_core_init(void) /* Initialize client parameters */ memset(¶ms, 0, sizeof(params)); strcat(params.nickname_format, settings_get_str("nickname_format")); + params.full_channel_names = TRUE; /* Allocate SILC client */ silc_client = silc_client_alloc(&ops, ¶ms, NULL, silc_version_string); @@ -797,7 +772,6 @@ void silc_core_init(void) if (init_failed) return; #endif - silc_pkcs_register_default(); #ifdef SILC_PLUGIN command_bind("silc", MODULE_NAME, (SIGNAL_FUNC) silc_opt_callback);