X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fngircd%2Firc-info.c;h=3769beff78124b2f65ac28ffbf09b1ca27dc246f;hb=bb8d207efa56b8dbdf366d980b848b0abd072a7d;hp=ad0404083a638ec92b8f0923152212c9a3ce0768;hpb=1254d315b9d33010035aaf7eba61ac4e8e1cc98f;p=ngircd-alex.git diff --git a/src/ngircd/irc-info.c b/src/ngircd/irc-info.c index ad040408..3769beff 100644 --- a/src/ngircd/irc-info.c +++ b/src/ngircd/irc-info.c @@ -387,11 +387,11 @@ IRC_WHOIS_SendReply(CLIENT *Client, CLIENT *from, CLIENT *c) return DISCONNECTED; /* Certificate fingerprint? */ - if (Conn_GetFingerprint(Client_Conn(c)) && + if (Conn_GetCertFp(Client_Conn(c)) && from == c && !IRC_WriteStrClient(from, RPL_WHOISCERTFP_MSG, Client_ID(from), Client_ID(c), - Conn_GetFingerprint(Client_Conn(c)))) + Conn_GetCertFp(Client_Conn(c)))) return DISCONNECTED; } @@ -448,35 +448,9 @@ WHOWAS_EntryWrite(CLIENT *prefix, WHOWAS *entry) entry->id, entry->server, t_str); } -static bool -Show_MOTD_Start(CLIENT *Client) -{ - return IRC_WriteStrClient(Client, RPL_MOTDSTART_MSG, - Client_ID( Client ), Client_ID( Client_ThisServer( ))); -} - -static bool -Show_MOTD_Sendline(CLIENT *Client, const char *msg) -{ - return IRC_WriteStrClient(Client, RPL_MOTD_MSG, Client_ID( Client ), msg); -} - -static bool -Show_MOTD_End(CLIENT *Client) -{ - if (!IRC_WriteStrClient(Client, RPL_ENDOFMOTD_MSG, Client_ID(Client))) - return DISCONNECTED; - - if (*Conf_CloakHost) - return IRC_WriteStrClient(Client, RPL_HOSTHIDDEN_MSG, - Client_ID(Client), - Client_Hostname(Client)); - - return CONNECTED; -} - #ifdef SSL_SUPPORT -static bool Show_MOTD_SSLInfo(CLIENT *Client) +static bool +Show_MOTD_SSLInfo(CLIENT *Client) { char buf[COMMAND_LEN]; char c_str[128]; @@ -488,10 +462,10 @@ static bool Show_MOTD_SSLInfo(CLIENT *Client) return false; } - if (Conn_GetFingerprint(Client_Conn(Client))) { + if (Conn_GetCertFp(Client_Conn(Client))) { snprintf(buf, sizeof(buf), "Your client certificate fingerprint is: %s", - Conn_GetFingerprint(Client_Conn(Client))); + Conn_GetCertFp(Client_Conn(Client))); if (!IRC_WriteStrClient(Client, RPL_MOTD_MSG, Client_ID(Client), buf)) return false; @@ -500,9 +474,11 @@ static bool Show_MOTD_SSLInfo(CLIENT *Client) return true; } #else -static inline bool +static bool Show_MOTD_SSLInfo(UNUSED CLIENT *c) -{ return true; } +{ + return true; +} #endif /* Global functions */ @@ -1496,7 +1472,8 @@ IRC_Show_MOTD( CLIENT *Client ) if (len_tot == 0 && !Conn_UsesSSL(Client_Conn(Client))) return IRC_WriteStrClient(Client, ERR_NOMOTD_MSG, Client_ID(Client)); - if (!Show_MOTD_Start(Client)) + if (!IRC_WriteStrClient(Client, RPL_MOTDSTART_MSG, Client_ID(Client), + Client_ID(Client_ThisServer()))) return DISCONNECTED; line = array_start(&Conf_Motd); @@ -1506,14 +1483,23 @@ IRC_Show_MOTD( CLIENT *Client ) assert(len_tot >= len_str); len_tot -= len_str; - if (!Show_MOTD_Sendline(Client, line)) + if (!IRC_WriteStrClient(Client, RPL_MOTD_MSG, Client_ID(Client), line)) return DISCONNECTED; line += len_str; } if (!Show_MOTD_SSLInfo(Client)) return DISCONNECTED; - return Show_MOTD_End(Client); + + if (!IRC_WriteStrClient(Client, RPL_ENDOFMOTD_MSG, Client_ID(Client))) + return DISCONNECTED; + + if (*Conf_CloakHost) + return IRC_WriteStrClient(Client, RPL_HOSTHIDDEN_MSG, + Client_ID(Client), + Client_Hostname(Client)); + + return CONNECTED; } /* IRC_Show_MOTD */ /**