Index: src/protocols/silc/silc.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/silc/silc.c,v retrieving revision 1.24.2.8 diff -u -p -r1.24.2.8 silc.c --- src/protocols/silc/silc.c 5 May 2005 13:08:38 -0000 1.24.2.8 +++ src/protocols/silc/silc.c 9 May 2005 20:34:34 -0000 @@ -277,12 +277,14 @@ silcgaim_login(GaimAccount *account) /* Init SILC client */ if (!silc_client_init(client)) { + gc->wants_to_die = TRUE; gaim_connection_error(gc, ("Cannot initialize SILC protocol")); return; } /* Check the ~/.silc dir and create it, and new key pair if necessary. */ if (!silcgaim_check_silc_dir(gc)) { + gc->wants_to_die = TRUE; gaim_connection_error(gc, ("Cannot find/access ~/.silc directory")); return; } @@ -291,9 +293,9 @@ silcgaim_login(GaimAccount *account) gaim_connection_update_progress(gc, _("Connecting to SILC Server"), 1, 5); /* Load SILC key pair */ - g_snprintf(pkd, sizeof(prd), "%s" G_DIR_SEPARATOR_S "public_key.pub", silcgaim_silcdir()); - g_snprintf(prd, sizeof(prd), "%s" G_DIR_SEPARATOR_S "private_key.pub", silcgaim_silcdir()); - if (!silc_load_key_pair((char *)gaim_account_get_string(account, "public-key", prd), + g_snprintf(pkd, sizeof(pkd), "%s" G_DIR_SEPARATOR_S "public_key.pub", silcgaim_silcdir()); + g_snprintf(prd, sizeof(prd), "%s" G_DIR_SEPARATOR_S "private_key.prv", silcgaim_silcdir()); + if (!silc_load_key_pair((char *)gaim_account_get_string(account, "public-key", pkd), (char *)gaim_account_get_string(account, "private-key", prd), (account->password == NULL) ? "" : account->password, &client->pkcs, &client->public_key, &client->private_key)) {