X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=lib%2Fsilcutil%2Fsilcutil.c;h=f665344eee27d456d5e019a8044e12fe92704213;hp=1ede14fc8c81e7f623250b50013dd6a3813c2fdf;hb=413da0f8686910f5e627393157566ae729ca99c4;hpb=99b7ff2e35905ef361dcfab4800e4a99355d3e24 diff --git a/lib/silcutil/silcutil.c b/lib/silcutil/silcutil.c index 1ede14fc..f665344e 100644 --- a/lib/silcutil/silcutil.c +++ b/lib/silcutil/silcutil.c @@ -4,7 +4,7 @@ Author: Pekka Riikonen - Copyright (C) 1997 - 2002 Pekka Riikonen + Copyright (C) 1997 - 2003 Pekka Riikonen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,20 +652,33 @@ char *silc_client_chmode(SilcUInt32 mode, const char *cipher, const char *hmac) if (mode & SILC_CHANNEL_MODE_FOUNDER_AUTH) strncat(string, "f", 1); + if (mode & SILC_CHANNEL_MODE_CHANNEL_AUTH) + strncat(string, "C", 1); + if (mode & SILC_CHANNEL_MODE_SILENCE_USERS) strncat(string, "m", 1); if (mode & SILC_CHANNEL_MODE_SILENCE_OPERS) strncat(string, "M", 1); + if (mode & SILC_CHANNEL_MODE_CIPHER) + strncat(string, "c", 1); + + if (mode & SILC_CHANNEL_MODE_HMAC) + strncat(string, "h", 1); + if (mode & SILC_CHANNEL_MODE_CIPHER) { - if (strlen(cipher) + strlen(string) < sizeof(string)) + if (strlen(cipher) + strlen(string) + 1< sizeof(string)) { + strncat(string, " ", 1); strncat(string, cipher, strlen(cipher)); + } } if (mode & SILC_CHANNEL_MODE_HMAC) { - if (strlen(hmac) + strlen(string) < sizeof(string)) + if (strlen(hmac) + strlen(string) + 1< sizeof(string)) { + strncat(string, " ", 1); strncat(string, hmac, strlen(hmac)); + } } /* Rest of mode is ignored */ @@ -1031,6 +1044,8 @@ static const SilcStatusMessage silc_status_messages[] = { { STAT(KEY_EXCHANGE_FAILED), "Key exchange failed" }, { STAT(BAD_VERSION), "Bad version" }, { STAT(TIMEDOUT), "Service timed out" }, + { STAT(UNSUPPORTED_PUBLIC_KEY), "Unsupported public key type" }, + { STAT(OPERATION_ALLOWED), "Operation is not allowed" }, { 0, NULL } }; @@ -1143,7 +1158,7 @@ const char *silc_get_command_name(unsigned char command) /* Return TRUE if `smaller' is smaller than `bigger'. */ -bool silc_compare_timeval(struct timeval *smaller, +bool silc_compare_timeval(struct timeval *smaller, struct timeval *bigger) { if ((smaller->tv_sec < bigger->tv_sec) ||