[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