commit 04b947cdc3ad1f3370aae2ba2e7308587bea0dda from: Alexander Barton date: Sat Aug 31 12:15:24 2013 UTC Show connection flag "s" (SSL) in RPL_TRACE{LINK|SERVER} Now you can check if a server-to-server link is SSL-encrypted or not using the IRC "TRACE" command. Idea by Götz Hoffart, thanks! commit - be2e611680834cf469c31ff0a230f1bf6d55c554 commit + 04b947cdc3ad1f3370aae2ba2e7308587bea0dda blob - d1e1d41ac9b9e0cf824b72357002e54f787360e6 blob + 968bcea6e58998a7d4d56096f727fa887bc7b37a --- src/ngircd/irc.c +++ src/ngircd/irc.c @@ -450,6 +450,12 @@ Help(CLIENT *Client, const char *Topic) return CONNECTED; } +/** + * Get pointer to a static string representing the connection "options". + * + * @param Idx Connection index. + * @return Pointer to static (global) string buffer. + */ static char * #ifdef ZLIB Option_String(CONN_ID Idx) @@ -460,16 +466,22 @@ Option_String(UNUSED CONN_ID Idx) static char option_txt[8]; #ifdef ZLIB UINT16 options; - - options = Conn_Options(Idx); #endif + assert(Idx != NONE); + + options = Conn_Options(Idx); strcpy(option_txt, "F"); /* No idea what this means, but the * original ircd sends it ... */ -#ifdef ZLIB - if(options & CONN_ZIP) /* zlib compression supported. */ - strcat(option_txt, "z"); +#ifdef SSL_SUPPORT + if(options & CONN_SSL) /* SSL encrypted link */ + strlcat(option_txt, "s", sizeof(option_txt)); #endif +#ifdef ZLIB + if(options & CONN_ZIP) /* zlib compression enabled */ + strlcat(option_txt, "z", sizeof(option_txt)); +#endif + LogDebug(" *** %d: %d = %s", Idx, options, option_txt); return option_txt; } /* Option_String */