[Pkg-wmaker-commits] [wmbiff] 03/06: debugging for gnutls3

Doug Torrance dtorrance-guest at moszumanska.debian.org
Thu Aug 20 03:00:14 UTC 2015


This is an automated email from the git hooks/post-receive script.

dtorrance-guest pushed a commit to tag wmbiff_0_3_5
in repository wmbiff.

commit dacb2fd468ca326e7df6b9446625618780bd23e6
Author: bluehal <bluehal>
Date:   Sat Jan 12 06:17:52 2002 +0000

    debugging for gnutls3
---
 wmbiff/tlsComm.c | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 90 insertions(+), 1 deletion(-)

diff --git a/wmbiff/tlsComm.c b/wmbiff/tlsComm.c
index 65f82e2..aac2b90 100644
--- a/wmbiff/tlsComm.c
+++ b/wmbiff/tlsComm.c
@@ -244,10 +244,96 @@ void tlscomm_printf(struct connection_state *scs, const char *format, ...)
 #ifdef WITH_TLS
 
 #ifdef DEBUG_COMM
-/* taken from the GNUTLS documentation, version 0.2.10; this
+/* taken from the GNUTLS documentation, version 0.3.0 and 0.2.10; this
    may need to be updated from gnutls's cli.c if the gnutls interface
    changes, but that is only necessary if you want
    debug_comm. */
+#if GNUTLS_VER>=3
+
+#define PRINTX(x,y) if (y[0]!=0) printf(" -   %s %s\n", x, y)
+#define PRINT_DN(X) PRINTX( "CN:", X.common_name); \
+	PRINTX( "OU:", X.organizational_unit_name); \
+	PRINTX( "O:", X.organization); \
+	PRINTX( "L:", X.locality_name); \
+	PRINTX( "S:", X.state_or_province_name); \
+	PRINTX( "C:", X.country); \
+	PRINTX( "E:", X.email)
+static int print_info(GNUTLS_STATE state)
+{
+	const char *tmp;
+	CredType cred;
+	gnutls_DN dn;
+	const gnutls_datum *cert_list;
+	CertificateStatus status;
+	int cert_list_size = 0;
+
+	tmp = gnutls_kx_get_name(gnutls_kx_get_algo(state));
+	printf("- Key Exchange: %s\n", tmp);
+
+	cred = gnutls_auth_get_type(state);
+	switch (cred) {
+	case GNUTLS_ANON:
+		printf("- Anonymous DH using prime of %d bits\n",
+			   gnutls_anon_client_get_dh_bits(state));
+		break;
+	case GNUTLS_X509PKI:
+		cert_list =
+			gnutls_x509pki_client_get_peer_certificate_list(state,
+															&cert_list_size);
+		status = gnutls_x509pki_client_get_peer_certificate_status(state);
+
+		switch (status) {
+		case GNUTLS_CERT_NOT_TRUSTED:
+			printf("- Peer's X509 Certificate was NOT verified\n");
+			break;
+		case GNUTLS_CERT_EXPIRED:
+			printf
+				("- Peer's X509 Certificate was verified but is expired\n");
+			break;
+		case GNUTLS_CERT_TRUSTED:
+			printf("- Peer's X509 Certificate was verified\n");
+			break;
+		case GNUTLS_CERT_NONE:
+			printf("- Peer did not send any X509 Certificate.\n");
+			break;
+		case GNUTLS_CERT_INVALID:
+			printf("- Peer's X509 Certificate was invalid\n");
+			break;
+		}
+
+		if (cert_list_size > 0) {
+			printf(" - Certificate info:\n");
+			printf(" - Certificate version: #%d\n",
+				   gnutls_x509pki_extract_certificate_version(&cert_list
+															  [0]));
+
+			gnutls_x509pki_extract_certificate_dn(&cert_list[0], &dn);
+			PRINT_DN(dn);
+
+			gnutls_x509pki_extract_certificate_issuer_dn(&cert_list[0],
+														 &dn);
+			printf(" - Certificate Issuer's info:\n");
+			PRINT_DN(dn);
+		}
+	}
+
+	tmp = gnutls_protocol_get_name(gnutls_protocol_get_version(state));
+	printf("- Version: %s\n", tmp);
+
+	tmp = gnutls_compression_get_name(gnutls_compression_get_algo(state));
+	printf("- Compression: %s\n", tmp);
+
+	tmp = gnutls_cipher_get_name(gnutls_cipher_get_algo(state));
+	printf("- Cipher: %s\n", tmp);
+
+	tmp = gnutls_mac_get_name(gnutls_mac_get_algo(state));
+	printf("- MAC: %s\n", tmp);
+
+	return 0;
+}
+
+#else
+
 #define PRINTX(x,y) if (y[0]!=0) printf(" -   %s %s\n", x, y)
 #define PRINT_DN(X) PRINTX( "CN:", X->common_name); \
 	PRINTX( "OU:", X->organizational_unit_name); \
@@ -258,6 +344,7 @@ void tlscomm_printf(struct connection_state *scs, const char *format, ...)
 	PRINTX( "E:", X->email); \
 	PRINTX( "SAN:", gnutls_x509pki_client_get_subject_dns_name(state))
 
+
 static int print_info(GNUTLS_STATE state)
 {
 	const char *tmp;
@@ -331,6 +418,8 @@ static int print_info(GNUTLS_STATE state)
 
 #endif
 
+#endif
+
 
 
 struct connection_state *initialize_gnutls(int sd, char *name)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-wmaker/wmbiff.git



More information about the Pkg-wmaker-commits mailing list