~singpolyma/biboumi

6a4e17cb0a2d48695af2af488068f98515d714a1 — Florent Le Coz 8 years ago b578aeb
Fix IPv6 support (sockaddr size)

Since struct sockaddr is too small to contain an IPv6, we use struct
sockaddr_in6 instead, and we cast it where needed
2 files changed, 2 insertions(+), 2 deletions(-)

M src/network/socket_handler.cpp
M src/network/socket_handler.hpp
M src/network/socket_handler.cpp => src/network/socket_handler.cpp +1 -1
@@ 140,7 140,7 @@ void SocketHandler::connect(const std::string& address, const std::string& port,
          this->ai_addrlen = rp->ai_addrlen;
          memcpy(&this->ai_addr, rp->ai_addr, this->ai_addrlen);
          memcpy(&this->addrinfo, rp, sizeof(struct addrinfo));
          this->addrinfo.ai_addr = &this->ai_addr;
          this->addrinfo.ai_addr = reinterpret_cast<struct sockaddr*>(&this->ai_addr);
          this->addrinfo.ai_next = nullptr;
          // If the connection has not succeeded or failed in 5s, we consider
          // it to have failed

M src/network/socket_handler.hpp => src/network/socket_handler.hpp +1 -1
@@ 199,7 199,7 @@ private:
   * again.
   */
  struct addrinfo addrinfo;
  struct sockaddr ai_addr;
  struct sockaddr_in6 ai_addr;
  socklen_t ai_addrlen;

protected: