/* Command line option variables */
static bool opt_create_keypair = FALSE;
-static bool opt_debug = FALSE;
static bool opt_list_ciphers = FALSE;
static bool opt_list_hash = FALSE;
static bool opt_list_hmac = FALSE;
static bool opt_list_pkcs = FALSE;
static bool opt_version = FALSE;
+static char *opt_debug = FALSE;
static char *opt_pkcs = NULL;
static char *opt_keyfile = NULL;
static int opt_bits = 0;
SilcClient silc_client = NULL;
SilcClientConfig silc_config = NULL;
extern SilcClientOperations ops;
-extern int silc_debug;
+extern bool silc_debug;
+extern bool silc_debug_hexdump;
#ifdef SILC_SIM
/* SIM (SILC Module) table */
SilcSimContext **sims = NULL;
static int my_silc_scheduler(void)
{
- silc_schedule_one(silc_client->schedule, 0);
+ silc_client_run_one(silc_client);
return 1;
}
user_name = settings_get_str("user_name");
}
-
+
/* nick */
nick = settings_get_str("nick");
if (nick == NULL || *nick == '\0') {
"List supported HMACs", NULL },
{ "list-pkcs", 'P', POPT_ARG_NONE, &opt_list_pkcs, 0,
"List supported PKCSs", NULL },
- { "debug", 'd', POPT_ARG_NONE, &opt_debug, 0,
- "Enable debugging", NULL },
+ { "debug", 'd', POPT_ARG_STRING, &opt_debug, 0,
+ "Enable debugging", "STRING" },
{ "version", 'V', POPT_ARG_NONE, &opt_version, 0,
"Show version", NULL },
{ NULL, '\0', 0, NULL }
exit(0);
}
- silc_debug = opt_debug;
- silc_log_set_callbacks(silc_log_info, silc_log_warning,
- silc_log_error, NULL);
+ if (opt_debug) {
+ silc_debug = TRUE;
+ silc_debug_hexdump = TRUE;
+ silc_log_set_debug_string(opt_debug);
+ silc_log_set_callbacks(silc_log_info, silc_log_warning,
+ silc_log_error, NULL);
+#ifndef SILC_DEBUG
+ fprintf(stdout,
+ "Run-time debugging is not enabled. To enable it recompile\n"
+ "the client with --enable-debug configuration option.\n");
+#endif
+ }
/* Do some irssi initializing */
settings_add_bool("server", "skip_motd", FALSE);
settings_add_str("server", "alternate_nick", NULL);
+
+ /* Initialize the auto_addr variables Is "server" the best choice for
+ * this? No existing category seems to apply.
+ */
+
+ settings_add_bool("server", "use_auto_addr", FALSE);
+ settings_add_str("server", "auto_bind_ip", "");
+ settings_add_str("server", "auto_public_ip", "");
+ settings_add_int("server", "auto_bind_port", 0);
+
silc_init_userinfo();
/* Initialize client parameters */
/* Get user information */
silc_client->username = g_strdup(settings_get_str("user_name"));
+ silc_client->nickname = g_strdup(settings_get_str("nick"));
silc_client->hostname = silc_net_localhost();
silc_client->realname = g_strdup(settings_get_str("real_name"));