Mercurial > hg > freeDiameter
diff libfdcore/peers.c @ 1186:56c36d1007b4
Further preparation of the DTLS integration. Some cleanups in the GNUTLS handling.
author | Sebastien Decugis <sdecugis@freediameter.net> |
---|---|
date | Fri, 07 Jun 2013 18:48:34 +0800 |
parents | 23695957bfc0 |
children | f40de74bd1c7 |
line wrap: on
line diff
--- a/libfdcore/peers.c Thu Jun 06 19:06:00 2013 +0800 +++ b/libfdcore/peers.c Fri Jun 07 18:48:34 2013 +0800 @@ -257,6 +257,24 @@ return; } +/* Describe the current connection */ +int fd_peer_cnx_proto_info(struct peer_hdr *peer, char * buf, size_t len) +{ + struct fd_peer * p = (struct fd_peer *)peer; + TRACE_ENTRY("%p %p %zd", peer, buf, len); + CHECK_PARAMS(CHECK_PEER(peer) && buf && len); + + if (p->p_cnxctx) { + CHECK_FCT(fd_cnx_proto_info(p->p_cnxctx, buf, len)); + } else if (p->p_receiver) { + CHECK_FCT(fd_cnx_proto_info(p->p_receiver, buf, len)); + } else { + snprintf(buf, len, "Not Connected"); + } + + return 0; +} + /* Return the value of srlist->cnt */ int fd_peer_get_load_pending(struct peer_hdr *peer, long * to_receive, long * to_send) { @@ -511,7 +529,7 @@ fd_hook_call(HOOK_PEER_CONNECT_FAILED, *cer, NULL, "Received CER with invalid Origin-Host AVP", NULL); - CHECK_FCT( fd_out_send(cer, *cnx, NULL, FD_CNX_ORDERED) ); + CHECK_FCT( fd_out_send(cer, *cnx, NULL) ); return EINVAL; }