diff --git a/ChangeLog b/ChangeLog index ef918c2..f85f06f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -15,6 +15,8 @@ Symbols are: (F) - Fix a Umode Problem (HP) - Hybrid Team Patches (RC9) (F) - Changed UserMode handling stuff again, as it wasn't very good last change. +(F) - Can not kill services clients, or any client on a U lined server anymore +(F) - Stats p showed opers real hosts... Fixed * NeoIRCd Version 0.9.5 - 12th Oct, 2002 - Fish (S) - Fixed up event.c for a possible serious bug reported by Dianora from hybrid team diff --git a/modules/core/m_kill.c b/modules/core/m_kill.c index 0f9750b..ec1bc9a 100644 --- a/modules/core/m_kill.c +++ b/modules/core/m_kill.c @@ -19,7 +19,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA * - * $Id: m_kill.c,v 1.6 2003/03/06 14:01:47 fishwaldo Exp $ + * $Id: m_kill.c,v 1.7 2003/03/13 08:49:24 fishwaldo Exp $ */ #include "stdinc.h" @@ -64,7 +64,7 @@ _moddeinit(void) mod_del_cmd(&kill_msgtab); } -const char *_version = "$Revision: 1.6 $"; +const char *_version = "$Revision: 1.7 $"; #endif /* ** mo_kill @@ -128,6 +128,12 @@ mo_kill(struct Client *client_p, struct Client *source_p, return; } + if (IsServices(target_p) || IsUlined(target_p->servptr)) { + sendto_one(source_p, ":%s NOTICE %s :Cannot kill Services Client", me.name, parv[0]); + return; + } + + if(MyConnect(target_p)) sendto_one(target_p, ":%s!%s@%s KILL %s :%s", source_p->name, source_p->username, source_p->vhost, @@ -239,6 +245,10 @@ ms_kill(struct Client *client_p, struct Client *source_p, me.name, parv[0]); return; } + if (IsServices(target_p) || IsUlined(target_p->servptr)) { + sendto_one(source_p, ":%s NOTICE %s :Cannot kill Services Client", me.name, parv[0]); + return; + } if(MyConnect(target_p)) { diff --git a/modules/m_help.c b/modules/m_help.c index 44a3790..53a0b52 100644 --- a/modules/m_help.c +++ b/modules/m_help.c @@ -19,7 +19,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA * - * $Id: m_help.c,v 1.5 2003/01/29 09:28:48 fishwaldo Exp $ + * $Id: m_help.c,v 1.6 2003/03/13 08:49:24 fishwaldo Exp $ */ #include "stdinc.h" @@ -43,12 +43,12 @@ static void dohelp(struct Client *, char *, char *, char *); static void sendhelpfile(struct Client *, char *, char *, char *); struct Message help_msgtab = { - "HELP", 0, 0, 0, 0, MFLG_SLOW, 0, + "IRCDHELP", 0, 0, 0, 0, MFLG_SLOW, 0, {m_unregistered, m_help, m_ignore, mo_help} }; struct Message uhelp_msgtab = { - "UHELP", 0, 0, 0, 0, MFLG_SLOW, 0, + "IRCDUHELP", 0, 0, 0, 0, MFLG_SLOW, 0, {m_unregistered, m_help, m_ignore, mo_uhelp} }; #ifndef STATIC_MODULES @@ -67,7 +67,7 @@ _moddeinit(void) mod_del_cmd(&uhelp_msgtab); } -const char *_version = "$Revision: 1.5 $"; +const char *_version = "$Revision: 1.6 $"; #endif /* * m_help - HELP message handler diff --git a/modules/m_stats.c b/modules/m_stats.c index ed62192..a73f42a 100644 --- a/modules/m_stats.c +++ b/modules/m_stats.c @@ -19,7 +19,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA * - * $Id: m_stats.c,v 1.7 2002/10/15 07:30:08 fishwaldo Exp $ + * $Id: m_stats.c,v 1.8 2003/03/13 08:49:24 fishwaldo Exp $ */ #include "stdinc.h" @@ -80,7 +80,7 @@ _moddeinit(void) mod_del_cmd(&stats_msgtab); } -const char *_version = "$Revision: 1.7 $"; +const char *_version = "$Revision: 1.8 $"; #endif const char* Lformat = ":%s %d %s %s %u %u %u %u %u :%u %u %s"; @@ -614,7 +614,7 @@ stats_operedup(struct Client *source_p) sendto_one(source_p, ":%s %d %s :[%c] %s (%s@%s) Idle: %d", me.name, RPL_STATSDEBUG, source_p->name, IsOperAdmin(target_p) ? 'A' : 'O', - target_p->name, target_p->username, target_p->host, + target_p->name, target_p->username, target_p->vhost, (int)(CurrentTime - target_p->user->last)); } } diff --git a/src/client.c b/src/client.c index dbe6f64..2582c6c 100644 --- a/src/client.c +++ b/src/client.c @@ -19,7 +19,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA * - * $Id: client.c,v 1.13 2003/03/06 14:01:50 fishwaldo Exp $ + * $Id: client.c,v 1.14 2003/03/13 08:49:24 fishwaldo Exp $ */ #include "stdinc.h" #include "config.h" @@ -1174,6 +1174,11 @@ dead_link_on_write(struct Client *client_p, int ierrno) else notice = "Write error: connection closed"; + Debug((DEBUG_ERROR, "Closing link to %s: %s", get_client_name(client_p, HIDE_IP), notice)); + assert(dlinkFind(&abort_list, client_p) == NULL); + m = make_dlink_node(); + dlinkAdd(client_p, m, &abort_list); + SetDead(client_p); /* You are dead my friend */ if (!IsPerson(client_p) && !IsUnknown(client_p) && !IsClosing(client_p)) { sendto_realops_flags(FLAGS_ALL|FLAGS_REMOTE, L_ADMIN, @@ -1183,11 +1188,6 @@ dead_link_on_write(struct Client *client_p, int ierrno) "Closing link to %s: %s", get_client_name(client_p, MASK_IP), notice); } - Debug((DEBUG_ERROR, "Closing link to %s: %s", get_client_name(client_p, HIDE_IP), notice)); - assert(dlinkFind(&abort_list, client_p) == NULL); - m = make_dlink_node(); - dlinkAdd(client_p, m, &abort_list); - SetDead(client_p); /* You are dead my friend */ } /*