only disallow _local_ users setting usermode -i when feature AUTOINVISIBLE is turned on
and do not enforce this setting on remote users, leads to desynch
-diff -r 8bf7e9b238c1 ircd/s_user.c
+diff -r 096116177219 ircd/s_user.c
--- a/ircd/s_user.c
+++ b/ircd/s_user.c
-@@ -1328,8 +1328,7 @@
+@@ -1252,8 +1252,7 @@
if (what == MODE_ADD)
SetInvisible(sptr);
else
break;
case 'd':
if (what == MODE_ADD)
-@@ -1447,6 +1446,12 @@
- if (!FlagHas(&setflags, FLAG_PARANOID) && !(IsOper(sptr) && HasPriv(sptr, PRIV_PARANOID)))
- ClearParanoid(sptr);
+@@ -1368,6 +1367,12 @@
+ if (do_set_host && !hostmask && !FlagHas(&setflags, FLAG_LOCOP) && !FlagHas(&setflags, FLAG_OPER))
+ do_set_host = 0;
+ /* disallow ordinary users to do MODE -i when feature AUTOINVISIBLE is enabled */
+ if (FlagHas(&setflags, FLAG_INVISIBLE) && !IsInvisible(sptr) && /* MODE -i */