From fda6dce872739cfa42e21ff9338e6434b87cfdb4 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 10 May 2004 13:45:27 +0000 Subject: [PATCH] Never send hostname beginning with /+-[0-9]/ in USER command, that could be interpreted as mode change with ircnet ircd. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3249 dbcabf3a-b0e7-0310-adc4-f8d773084564 --- src/irc/core/irc-servers.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/irc/core/irc-servers.c b/src/irc/core/irc-servers.c index 235af039..b7247149 100644 --- a/src/irc/core/irc-servers.c +++ b/src/irc/core/irc-servers.c @@ -146,6 +146,16 @@ static void server_init(IRC_SERVER_REC *server) if (*ptr == ':') *ptr = '_'; } + /* don't allow hostname to begin with number or '+', '-'. those + can be interpreted as ircnet ircd's mode parameter. + + username/hostname parameters should probably be configurable since + they're only needed with some old servers which uses them to count + unique users. */ + if ((hostname[0] >= '0' && hostname[0] <= '9') || + hostname[0] == '+' || hostname[0] == '-') + hostname[0] = '_'; + username = g_strdup(conn->username); ptr = strchr(username, ' '); if (ptr != NULL) *ptr = '\0';