--- /dev/null
+Allow oper to set gline in the form of nick!*@*, but only
+when the nick part contains no wildcards.
+
+diff -r fcfbd0f17eef ircd/gline.c
+--- a/ircd/gline.c Fri Jan 23 00:14:32 2009 +0100
++++ b/ircd/gline.c Fri Jan 23 00:25:24 2009 +0100
+@@ -530,7 +530,8 @@
+ if (sizeof(uhmask) <
+ ircd_snprintf(0, uhmask, sizeof(uhmask), "%s@%s", user, host))
+ return send_reply(sptr, ERR_LONGMASK);
+- else if (MyUser(sptr) || (IsUser(sptr) && flags & GLINE_LOCAL)) {
++ /* when the nick part contains no wildcards, let it through */
++ else if ((MyUser(sptr) || (IsUser(sptr) && flags & GLINE_LOCAL)) && string_has_wildcards(nick)) {
+ switch (gline_checkmask(host)) {
+ case CHECK_OVERRIDABLE: /* oper overrided restriction */
+ if (flags & GLINE_OPERFORCE)