int HttpListener::checkAccess( struct conn_data * pData ) { struct sockaddr * pPeer = ( struct sockaddr *) pData->achPeerAddr; if (( AF_INET6 == pPeer->sa_family )&& ( IN6_IS_ADDR_V4MAPPED( &((struct sockaddr_in6 *)pPeer)->sin6_addr )) ) { pPeer->sa_family = AF_INET; ((struct sockaddr_in *)pPeer)->sin_addr.s_addr = *((in_addr_t *)&pData->achPeerAddr[20]); } ClientInfo * pInfo = HttpGlobals::getClientCache()->getClientInfo( pPeer ); pData->pInfo = pInfo; if ( D_ENABLED( DL_MORE )) LOG_D(( "[%s] New connection from %s:%d.", getAddrStr(), pInfo->getAddrString(), ntohs( ((struct sockaddr_in*)pPeer)->sin_port) )); return pInfo->checkAccess(); }