updates.
[silc.git] / apps / irssi / src / silc / core / silc-channels.c
index 108f6dbec1e3ec2625f535e7b70227e5b54e418a..3aab164ed7b2f5d7e9580f7473516b5a8201e3da 100644 (file)
@@ -340,6 +340,9 @@ static void command_away(const char *data, SILC_SERVER_REC *server,
                       SILCTXT_SET_AWAY, data);
   }
 
+  server->usermode_away = set;
+  if (set)
+    server->away_reason = g_strdup((char *)data);
   signal_emit("away mode changed", 1, server);
 
   silc_command_exec(server, "UMODE", set ? "+g" : "-g");
@@ -405,6 +408,17 @@ static void keyagr_completion(SilcClient client,
     printformat_module("fe-common/silc", i->server, NULL, MSGLEVEL_CRAP,
                       SILCTXT_KEY_AGREEMENT_ABORTED, client_entry->nickname);
     break;
+
+  case SILC_KEY_AGREEMENT_ALREADY_STARTED:
+    printformat_module("fe-common/silc", i->server, NULL, MSGLEVEL_CRAP,
+                      SILCTXT_KEY_AGREEMENT_ALREADY_STARTED,
+                      client_entry->nickname);
+    break;
+    
+  case SILC_KEY_AGREEMENT_SELF_DENIED:
+    printformat_module("fe-common/silc", i->server, NULL, MSGLEVEL_CRAP,
+                      SILCTXT_KEY_AGREEMENT_SELF_DENIED);
+    break;
     
   default:
     break;