#ifdef USE_TLS
#include <sys_defs.h>
#include <attr.h>
#include <mail_proto.h>
#include <tls.h>
#include <tls_proxy.h>
int tls_proxy_context_print(ATTR_PRINT_MASTER_FN print_fn, VSTREAM *fp,
int flags, void *ptr)
{
TLS_SESS_STATE *tp = (TLS_SESS_STATE *) ptr;
int ret;
#define STRING_OR_EMPTY(s) ((s) ? (s) : "")
ret = print_fn(fp, flags | ATTR_FLAG_MORE,
ATTR_TYPE_STR, MAIL_ATTR_PEER_CN,
STRING_OR_EMPTY(tp->peer_CN),
ATTR_TYPE_STR, MAIL_ATTR_ISSUER_CN,
STRING_OR_EMPTY(tp->issuer_CN),
ATTR_TYPE_STR, MAIL_ATTR_PEER_FPT,
STRING_OR_EMPTY(tp->peer_fingerprint),
ATTR_TYPE_STR, MAIL_ATTR_PEER_PKEY_FPT,
STRING_OR_EMPTY(tp->peer_pkey_fprint),
ATTR_TYPE_INT, MAIL_ATTR_PEER_STATUS,
tp->peer_status,
ATTR_TYPE_STR, MAIL_ATTR_CIPHER_PROTOCOL,
STRING_OR_EMPTY(tp->protocol),
ATTR_TYPE_STR, MAIL_ATTR_CIPHER_NAME,
STRING_OR_EMPTY(tp->cipher_name),
ATTR_TYPE_INT, MAIL_ATTR_CIPHER_USEBITS,
tp->cipher_usebits,
ATTR_TYPE_INT, MAIL_ATTR_CIPHER_ALGBITS,
tp->cipher_algbits,
ATTR_TYPE_END);
return (ret);
}
#endif