X-Git-Url: https://arthur.barton.de/gitweb/?a=blobdiff_plain;f=src%2Fngircd%2Firc.c;h=3113a4ba8fe22f3933f339b46b12a60f1d9736cf;hb=e8e04b4c8fd63d075ffa6b85327c4b90d7005051;hp=dc3b2f2ecf120a4147074cae869f5406d6c9fb98;hpb=d9f81ac66942000861d46cd33708585a729b1207;p=ngircd.git diff --git a/src/ngircd/irc.c b/src/ngircd/irc.c index dc3b2f2e..3113a4ba 100644 --- a/src/ngircd/irc.c +++ b/src/ngircd/irc.c @@ -1,6 +1,6 @@ /* * ngIRCd -- The Next Generation IRC Daemon - * Copyright (c)2001-2015 Alexander Barton (alex@barton.de) and Contributors. + * Copyright (c)2001-2018 Alexander Barton (alex@barton.de) and Contributors. * * 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 @@ -112,7 +112,7 @@ IRC_ERROR(CLIENT *Client, REQUEST *Req) } if (Client_Conn(Client) != NONE) { - Client_Destroy(Client, NULL, msg, false); + Conn_Close(Client_Conn(Client), NULL, msg, false); return DISCONNECTED; } @@ -415,7 +415,7 @@ IRC_KillClient(CLIENT *Client, CLIENT *From, const char *Nick, const char *Reaso * Send help for a given topic to the client. * * @param Client The client requesting help. - * @param Topoc The help topic requested. + * @param Topic The help topic requested. * @return CONNECTED or DISCONNECTED. */ static bool @@ -694,7 +694,10 @@ Send_Message(CLIENT * Client, REQUEST * Req, int ForceType, bool SendErrors) goto send_next_target; } - if (Client_HasMode(cl, 'C')) { + if (Client_HasMode(cl, 'C') && + !Client_HasMode(from, 'o') && + !(Client_Type(from) == CLIENT_SERVER) && + !(Client_Type(from) == CLIENT_SERVICE)) { cl2chan = Channel_FirstChannelOf(cl); while (cl2chan) { chan = Channel_GetChannel(cl2chan);