if ((ss->peer != 0) && (ss->port != 0)) {
if ((ss->port != 0) && ((ss->peer.pr_s6_addr32[0] != 0) || (ss->peer.pr_s6_addr32[1] != 0) || (ss->peer.pr_s6_addr32[2] != 0) || (ss->peer.pr_s6_addr32[3] != 0))) {
ssl_GetPeerInfo(sslSocket *ss){    sslConnectInfo *  ci;    PRNetAddr         sin;    int               rv;    PRFileDesc *      osfd;    PORT_Assert((ss->sec != 0));    osfd = ss->fd->lower;    ci   = &ss->sec->ci;    /* If ssl_SocksConnect() has previously recorded the peer's IP & port,     * use that.     */    if ((ss->peer != 0) && (ss->port != 0)) {	/* SOCKS code has already recorded the peer's IP addr and port.	 * (NOT the proxy's addr and port) in ss->peer & port.	 */	ci->peer = ss->peer;	ci->port = ss->port;	return SECSuccess;    }    PORT_Memset(&sin, 0, sizeof(sin));    rv = osfd->methods->getpeername(osfd, &sin);    if (rv < 0) {	return SECFailure;    }    /* we have to mask off the high byte because AIX is lame */    PORT_Assert((sin.inet.family & 0xff) == PR_AF_INET);    ci->peer = sin.inet.ip;    ci->port = sin.inet.port;    return SECSuccess;}