]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/socket.cpp
Increase the size of the matrix for map drawing to 250x250
[user/henk/code/inspircd.git] / src / socket.cpp
index a599631a40e02f6c506cdd4a49ac1ec1f1505688..8a3636ca5cc4b43364878aaa48e6c8368dec5cc8 100644 (file)
@@ -11,7 +11,7 @@
  * ---------------------------------------------------
  */
 
-/* $Core: libIRCDsocket */
+/* $Core */
 
 #include "inspircd.h"
 #include "socket.h"
@@ -113,7 +113,7 @@ void ListenSocket::HandleEvent(EventType e, int err)
                                        in_port = ntohs(((sockaddr_in6*)sock_us)->sin6_port);
                                        inet_ntop(AF_INET6, &((const sockaddr_in6*)client)->sin6_addr, buf, sizeof(buf));
                                        socklen_t raddrsz = sizeof(sockaddr_in6);
-                                       if (getpeername(incomingSockfd, (sockaddr*) raddr, &raddrsz) == 0)
+                                       if (getsockname(incomingSockfd, (sockaddr*) raddr, &raddrsz) == 0)
                                                inet_ntop(AF_INET6, &((const sockaddr_in6*)raddr)->sin6_addr, target, sizeof(target));
                                        else
                                                ServerInstance->Logs->Log("SOCKET", DEBUG, "Can't get peername: %s", strerror(errno));
@@ -124,12 +124,11 @@ void ListenSocket::HandleEvent(EventType e, int err)
                                        inet_ntop(AF_INET, &((const sockaddr_in*)client)->sin_addr, buf, sizeof(buf));
                                        in_port = ntohs(((sockaddr_in*)sock_us)->sin_port);
                                        socklen_t raddrsz = sizeof(sockaddr_in);
-                                       if (getpeername(incomingSockfd, (sockaddr*) raddr, &raddrsz) == 0)
+                                       if (getsockname(incomingSockfd, (sockaddr*) raddr, &raddrsz) == 0)
                                                inet_ntop(AF_INET, &((const sockaddr_in*)raddr)->sin_addr, target, sizeof(target));
                                        else
                                                ServerInstance->Logs->Log("SOCKET", DEBUG, "Can't get peername: %s", strerror(errno));
                                }
-
                                ServerInstance->SE->NonBlocking(incomingSockfd);
                                ServerInstance->stats->statsAccept++;
                                ServerInstance->Users->AddUser(ServerInstance, incomingSockfd, in_port, false, this->family, client, target);   
@@ -356,7 +355,7 @@ int InspIRCd::BindPorts(bool, int &ports_found, FailedPortList &failed_ports)
                                        }
                                        else
                                        {
-                                               failed_ports.push_back(std::make_pair(Addr, portno));
+                                               failed_ports.push_back(std::make_pair((*Addr ? Addr : "*") + std::string(":") + ConvToStr(portno), strerror(errno)));
                                        }
                                        ports_found++;
                                }