From: Edward Hades Date: Tue, 20 Jan 2009 17:15:48 +0000 (+0300) Subject: Modified automatic branch mask generation for IP addresses. X-Git-Tag: 0.4.0~196 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=befb959043f1acc297609fac40df728b98ed7e28 Modified automatic branch mask generation for IP addresses. Now instead for ident Nick!~Login@123.45.67.89 it sets mask to *!~Login@123.45.67.* instead of *!~Login@*.67.89. --- diff --git a/src/core/userinputhandler.cpp b/src/core/userinputhandler.cpp index ae504a9b..722c3fc4 100644 --- a/src/core/userinputhandler.cpp +++ b/src/core/userinputhandler.cpp @@ -104,7 +104,11 @@ void UserInputHandler::banOrUnban(const BufferInfo &bufferInfo, const QString &m return; } - if(generalizedHost.lastIndexOf(".") != -1 && generalizedHost.lastIndexOf(".", generalizedHost.lastIndexOf(".")-1) != -1) { + static QRegExp ipAddress("\\d+\\.\\d+\\.\\d+\\.\\d+"); + if(ipAddress.exactMatch(generalizedHost)) { + int lastDotPos = generalizedHost.lastIndexOf('.') + 1; + generalizedHost.replace(lastDotPos, generalizedHost.length() - lastDotPos, '*'); + } else if(generalizedHost.lastIndexOf(".") != -1 && generalizedHost.lastIndexOf(".", generalizedHost.lastIndexOf(".")-1) != -1) { int secondLastPeriodPosition = generalizedHost.lastIndexOf(".", generalizedHost.lastIndexOf(".")-1); generalizedHost.replace(0, secondLastPeriodPosition, "*"); }