===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2360
diff -u -r1.1.1.1.2.1.2.1.2.2360 Changes
--- Changes 24 Apr 2007 08:54:04 -0000 1.1.1.1.2.1.2.1.2.2360
+++ Changes 24 Apr 2007 09:03:21 -0000
@@ -1591,3 +1591,6 @@
- #
0003146 reported by vonitsanet, regarding Modes O,S (etc) not rejected for modes-on-connect
fixed by djGrrr
- #
0003289 suggested and patched by fbi, adding (Ping timeout: 182 seconds)
+- #
0002932 reported by therock247uk, patched by WolfSage, regarding Local
+ opers can /chghost /chgident /chgname on someone thats on another server on
+ the network
- #0003146 reported by vonitsanet, regarding Modes O,S (etc) not rejected for modes-on-connect
fixed by djGrrr
- #0003289 suggested and patched by fbi, adding (Ping timeout: 182 seconds)
+- #0002932 reported by therock247uk, patched by WolfSage, regarding Local
+ opers can /chghost /chgident /chgname on someone thats on another server on
+ the network
if ((acptr = find_person(parv[1], NULL)))
{
+ if (MyClient(sptr) && (IsLocOp(sptr) && !MyClient(acptr)))
+ {
+ sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name,
+ parv[0]);
+ return 0;
+ }
+
DYN_LOCAL(char, did_parts, acptr->user->joined);
if (!strcmp(GetHost(acptr), parv[2]))
{
if ((acptr = find_person(parv[1], NULL)))
{
+ if (MyClient(sptr) && (IsLocOp(sptr) && !MyClient(acptr)))
+ {
+ sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name,
+ parv[0]);
+ return 0;
+ }
+
DYN_LOCAL(char, did_parts, acptr->user->joined);
switch (UHOST_ALLOWED)
{
if ((acptr = find_person(parv[1], NULL)))
{
+ if (MyClient(sptr) && (IsLocOp(sptr) && !MyClient(acptr)))
+ {
+ sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name,
+ parv[0]);
+ return 0;
+ }
+
/* set the realname first to make n:line checking work */
ircsprintf(acptr->info, "%s", parv[2]);
/* only check for n:lines if the person who's name is being changed is not an oper */