Index: src/modules/m_chghost.c
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/src/modules/Attic/m_chghost.c,v
retrieving revision 1.1.2.23
diff -u -r1.1.2.23 m_chghost.c
--- src/modules/m_chghost.c	5 Aug 2006 13:23:30 -0000	1.1.2.23
+++ src/modules/m_chghost.c	21 Apr 2007 03:34:58 -0000
@@ -146,6 +146,13 @@
 
 	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]))
 		{
Index: src/modules/m_chgident.c
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/src/modules/Attic/m_chgident.c,v
retrieving revision 1.1.2.19
diff -u -r1.1.2.19 m_chgident.c
--- src/modules/m_chgident.c	5 Aug 2006 13:23:30 -0000	1.1.2.19
+++ src/modules/m_chgident.c	21 Apr 2007 03:34:58 -0000
@@ -158,6 +158,13 @@
 
 	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)
 		{
Index: src/modules/m_chgname.c
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/src/modules/Attic/m_chgname.c,v
retrieving revision 1.1.2.15
diff -u -r1.1.2.15 m_chgname.c
--- src/modules/m_chgname.c	28 Oct 2006 14:18:07 -0000	1.1.2.15
+++ src/modules/m_chgname.c	21 Apr 2007 03:34:58 -0000
@@ -146,6 +146,13 @@
 
 	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 */
