summaryrefslogtreecommitdiff
path: root/chat/silc-client/patches/patch-ad
blob: 8ca75438889da373962367e80a3cf80db4313c8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
$NetBSD: patch-ad,v 1.3 2005/09/17 17:06:27 salo Exp $

--- irssi/src/silc/core/silc-core.c.orig	2005-03-15 10:39:21.000000000 +0100
+++ irssi/src/silc/core/silc-core.c	2005-09-17 18:33:41.000000000 +0200
@@ -57,6 +57,12 @@
 void silc_lag_init(void);
 void silc_lag_deinit(void);
 
+void silc_exit(int errorcode) {
+      printf("Press <Enter> to exit...\n");
+      getchar();
+      exit(errorcode);
+}
+
 static int my_silc_scheduler(void)
 {
   silc_client_run_one(silc_client);
@@ -205,7 +211,7 @@
     
     if (!silc_cipher_is_supported(cipher)) {
       SILC_LOG_ERROR(("Unknown cipher `%s'", cipher));
-      exit(1);
+      silc_exit(1);
     }
   }
 
@@ -226,7 +232,7 @@
     
     if (!silc_hash_is_supported(hash)) {
       SILC_LOG_ERROR(("Unknown hash function `%s'", hash));
-      exit(1);
+      silc_exit(1);
     }
   }
 
@@ -247,7 +253,7 @@
     
     if (!silc_hmac_is_supported(hmac)) {
       SILC_LOG_ERROR(("Unknown HMAC `%s'", hmac));
-      exit(1);
+      silc_exit(1);
     }
   }
 
@@ -275,25 +281,25 @@
   if (strcmp(opt->longName, "list-ciphers") == 0) {
     silc_cipher_register_default();
     silc_client_list_ciphers();
-    exit(0);
+    silc_exit(0);
   }
 
   if (strcmp(opt->longName, "list-hash-funcs") == 0) {
     silc_hash_register_default();
     silc_client_list_hash_funcs();
-    exit(0);
+    silc_exit(0);
   }
 
   if (strcmp(opt->longName, "list-hmacs") == 0) {
     silc_hmac_register_default();
     silc_client_list_hmacs();
-    exit(0);
+    silc_exit(0);
   }
 
   if (strcmp(opt->longName, "list-pkcs") == 0) {
     silc_pkcs_register_default();
     silc_client_list_pkcs();
-    exit(0);
+    silc_exit(0);
   }
 
   if (strcmp(opt->longName, "debug") == 0) {
@@ -316,7 +322,7 @@
     silc_hmac_register_default();
     silc_create_key_pair(opt_pkcs, opt_bits, NULL, NULL, NULL,
 			 NULL, NULL, NULL, NULL, TRUE);
-    exit(0);
+    silc_exit(0);
   }
 
   if (strcmp(opt->longName, "passphrase-change") == 0) {
@@ -326,7 +332,7 @@
     silc_hash_register_default();
     silc_hmac_register_default();
     silc_change_private_key_passphrase(arg, NULL, NULL);
-    exit(0);
+    silc_exit(0);
   }
 
   if (strcmp(opt->longName, "show-key") == 0) {
@@ -336,7 +342,7 @@
     silc_hash_register_default();
     silc_hmac_register_default();
     silc_show_public_key((char *)arg);
-    exit(0);
+    silc_exit(0);
   }
 }
 
@@ -344,15 +350,20 @@
 {
   /* Check ~/.silc directory and public and private keys */
   if (!silc_client_check_silc_dir())
-    exit(1);
+    silc_exit(1);
 
   /* Load public and private key */
   if (!silc_client_load_keys(silc_client))
-    exit(1);
+    silc_exit(1);
 
   /* Initialize the SILC client */
   if (!silc_client_init(silc_client))
-    exit(1);
+    silc_exit(1);
+
+  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);
+  silc_log_set_callback(SILC_LOG_FATAL, silc_log_misc, NULL);
 
   /* register SILC scheduler */
   idletag = g_timeout_add(5, (GSourceFunc) my_silc_scheduler, NULL);
@@ -461,11 +472,6 @@
   silc_client->hostname = silc_net_localhost();
   silc_client->realname = g_strdup(settings_get_str("real_name"));
 
-  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);
-  silc_log_set_callback(SILC_LOG_FATAL, silc_log_misc, NULL);
-
   /* Register SILC to the irssi */
   rec = g_new0(CHAT_PROTOCOL_REC, 1);
   rec->name = "SILC";