summary refs log tree commit diff stats
path: root/src/common/proto-irc.c
diff options
context:
space:
mode:
authorBerke Viktor <bviktor@hexchat.org>2013-05-03 18:00:30 +0200
committerBerke Viktor <bviktor@hexchat.org>2013-05-03 18:00:30 +0200
commitba78c0527fcee58cd097a44c39e9fbd102d128a1 (patch)
tree03c3a77a3d10af6089041e5db938a0fabf3f6517 /src/common/proto-irc.c
parentfb696b7a6815876f1fa49c9b506e99c7f0b64852 (diff)
Fix QuakeNet registration
Diffstat (limited to 'src/common/proto-irc.c')
-rw-r--r--src/common/proto-irc.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/common/proto-irc.c b/src/common/proto-irc.c
index 27c3cb8e..fc7323aa 100644
--- a/src/common/proto-irc.c
+++ b/src/common/proto-irc.c
@@ -80,14 +80,21 @@ irc_nickserv (server *serv, char *cmd, char *arg1, char *arg2, char *arg3)
 		break;
 	case 4:
 		/* why couldn't QuakeNet implement one of the existing ones? */
-		tcp_sendf (serv, "AUTH %s%s%s\r\n", cmd, arg1, arg2, arg3);
+		tcp_sendf (serv, "AUTH %s %s\r\n", arg1, arg2);
 	}
 }
 
 static void
 irc_ns_identify (server *serv, char *pass)
 {
-	irc_nickserv (serv, "IDENTIFY", pass, "", "");
+	if (serv->nickservtype == 4)	/* QuakeNet needs to do everything in its own ways... */
+	{
+		irc_nickserv (serv, NULL, serv->nick, pass, NULL);
+	}
+	else
+	{
+		irc_nickserv (serv, "IDENTIFY", pass, "", "");
+	}
 }
 
 static void