]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/users.cpp
Add comments on Daniel's work
[user/henk/code/inspircd.git] / src / users.cpp
index 848f2a1eb23f1c60c78da4653b7bf8bbc6768f41..c6f5e498f9bb3013745933c8f3a9fa378d6be866 100644 (file)
@@ -1254,8 +1254,12 @@ const char* User::GetIPString()
                        /* IP addresses starting with a : on irc are a Bad Thing (tm) */
                        if (*buf == ':')
                        {
-                               strlcpy(&temp[1], buf, sizeof(temp) - 1);
-                               *temp = '0';
+                               if (!strncmp(buf, "::ffff:", 7) && isdigit(buf[7])) {
+                                       strlcpy(temp, buf+7, sizeof(temp) - 1);
+                               } else {
+                                       strlcpy(&temp[1], buf, sizeof(temp) - 1);
+                                       *temp = '0';
+                               }
                                this->cachedip = temp;
                                return temp;
                        }