This patch fixes the compilation problem with m_kick.c. It also prevents
users from setting +x if they have not authed with a service (ie have
FLAGS_ACCOUNT set). This is to stop people setting +x and thinking they
are now host hidden (ie they dont check with /whois), when they actually
won't be until they auth. Umode +x now means 'this host is hidden' rather
than 'this host may be hidden'.
Patch attached.
GK
Index: ChangeLog
===================================================================
RCS file: /cvsroot/undernet-ircu/ircu2.10/ChangeLog,v
retrieving revision 1.290.2.125.2.2
diff -u -r1.290.2.125.2.2 ChangeLog
--- ChangeLog 17 Oct 2002 06:56:04 -0000 1.290.2.125.2.2
+++ ChangeLog 17 Oct 2002 16:39:46 -0000
@@ -1,3 +1,8 @@
+2002-10-17 Jeekay <[EMAIL PROTECTED]>
+ * ircd/m_kick.c (ms_kick): Sanitise the sptr comparison so it works :)
+ * ircd/s_user.c (set_user_modes): Prevent setting of usermode +x if
+ the user does not have an ACCOUNT flag.
+
2002-10-17 Perry Lorier <[EMAIL PROTECTED]>
* ircd/m_kick.c (ms_kick): Don't HACK(3) when a server kicks it's own
Index: ircd/m_kick.c
===================================================================
RCS file: /cvsroot/undernet-ircu/ircu2.10/ircd/m_kick.c,v
retrieving revision 1.6.2.1.8.1
diff -u -r1.6.2.1.8.1 m_kick.c
--- ircd/m_kick.c 17 Oct 2002 06:56:05 -0000 1.6.2.1.8.1
+++ ircd/m_kick.c 17 Oct 2002 16:39:46 -0000
@@ -190,7 +190,7 @@
/* 2002-10-17: Don't send HACK if the users local server is kicking them */
if (IsServer(sptr)
&& !IsBurstOrBurstAck(sptr)
- && !sptr=cli_from(who))
+ && !(sptr==cli_from(who)))
sendto_opmask_butone(0, SNO_HACK4, "HACK: %C KICK %H %C %s", sptr, chptr,
who, comment);
Index: ircd/s_user.c
===================================================================
RCS file: /cvsroot/undernet-ircu/ircu2.10/ircd/s_user.c,v
retrieving revision 1.52.2.13
diff -u -r1.52.2.13 s_user.c
--- ircd/s_user.c 10 Oct 2002 09:13:25 -0000 1.52.2.13
+++ ircd/s_user.c 17 Oct 2002 16:39:46 -0000
@@ -1259,7 +1259,7 @@
ClearDebug(sptr);
break;
case 'x':
- if (what == MODE_ADD)
+ if (what == MODE_ADD && (cli_flags(sptr) & FLAGS_ACCOUNT))
do_host_hiding = 1;
break;
default: