X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=lib%2Fsilcutil%2Fsilcutil.c;h=8c9064891527f6199d346681f9d3a38cf3cb0d53;hp=7898a4c94f7b518f67709d45577dbf0383873339;hb=382d15d447b7a95390decfa783836ae4fe255b3d;hpb=3cf38201f9ffaad2da53757ed48a5546e1d03636 diff --git a/lib/silcutil/silcutil.c b/lib/silcutil/silcutil.c index 7898a4c9..8c906489 100644 --- a/lib/silcutil/silcutil.c +++ b/lib/silcutil/silcutil.c @@ -657,15 +657,25 @@ char *silc_client_chmode(SilcUInt32 mode, const char *cipher, const char *hmac) 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 */