} if (cert) {
printSecurityInfo(PRFileDesc *fd){    CERTCertificate * cert = NULL;    SSL3Statistics * ssl3stats = SSL_GetStatistics();    SECStatus result;    SSLChannelInfo    channel;    SSLCipherSuiteInfo suite;    static int only_once;    if (only_once && verbose < 2)    	return;    only_once = 1;    result = SSL_GetChannelInfo(fd, &channel, sizeof channel);    if (result == SECSuccess &&         channel.length == sizeof channel && 	channel.cipherSuite) {	result = SSL_GetCipherSuiteInfo(channel.cipherSuite, 					&suite, sizeof suite);	if (result == SECSuccess) {	    FPRINTF(stderr, 	    "strsclnt: SSL version %d.%d using %d-bit %s with %d-bit %s MAC\n",	       channel.protocolVersion >> 8, channel.protocolVersion & 0xff,	       suite.effectiveKeyBits, suite.symCipherName, 	       suite.macBits, suite.macAlgorithmName);	    FPRINTF(stderr, 	    "strsclnt: Server Auth: %d-bit %s, Key Exchange: %d-bit %s\n",	       channel.authKeyBits, suite.authAlgorithmName,	       channel.keaKeyBits,  suite.keaTypeName);    	}    }    cert = SSL_LocalCertificate(fd);    if (!cert)	cert = SSL_PeerCertificate(fd);    if (verbose && cert) {	char * ip = CERT_NameToAscii(&cert->issuer);	char * sp = CERT_NameToAscii(&cert->subject);        if (sp) {	    fprintf(stderr, "strsclnt: subject DN: %s\n", sp);	    PR_Free(sp);	}        if (ip) {	    fprintf(stderr, "strsclnt: issuer  DN: %s\n", ip);	    PR_Free(ip);	}	CERT_DestroyCertificate(cert);	cert = NULL;    }    fprintf(stderr,    	"strsclnt: %ld cache hits; %ld cache misses, %ld cache not reusable\n",    	ssl3stats->hsh_sid_cache_hits, 	ssl3stats->hsh_sid_cache_misses,	ssl3stats->hsh_sid_cache_not_ok);}