From 42d5b309920c473cf393b53a4e32cb4cbbc7b1fd Mon Sep 17 00:00:00 2001 From: Thierry Bordaz Date: Thu, 26 Oct 2017 18:48:45 +0200 Subject: [PATCH] connection debug --- ldap/servers/slapd/connection.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/ldap/servers/slapd/connection.c b/ldap/servers/slapd/connection.c index 24a7a1c..643672b 100644 --- a/ldap/servers/slapd/connection.c +++ b/ldap/servers/slapd/connection.c @@ -1038,6 +1038,20 @@ get_next_from_buffer(void *buffer __attribute__((unused)), size_t buffer_size __ *tagp = ber_get_next_buffer_ext(buffer, buffer_size, lenp, ber, &bytes_scanned, conn->c_sb); #endif + + slapi_log_err(SLAPI_LOG_ERR, "get_next_from_buffer", + "ber_get_next failed for connection %" PRIu64 "\n", conn->c_connid); + if (conn->c_ops) { + slapi_log_err(SLAPI_LOG_ERR, "get_next_from_buffer", + "conn->c_ops->o_opid = %" PRIu64 "\n", conn->c_ops->o_opid); + } + slapi_log_err(SLAPI_LOG_ERR, "get_next_from_buffer", + "bytes_scanned = %" PRIu64 "\n", bytes_scanned); + slapi_log_err(SLAPI_LOG_ERR, "get_next_from_buffer", + "errno = %" PRIu64 "\n", errno); + slapi_log_err(SLAPI_LOG_ERR, "get_next_from_buffer", + "tag = %" PRIu64 "\n", *tagp); + /* openldap ber_get_next doesn't return partial bytes_scanned if it hasn't read a whole pdu - so we have to check the errno for the "would block" condition meaning openldap needs more data to read */ @@ -1268,6 +1282,7 @@ connection_read_operation(Connection *conn, Operation *op, ber_tag_t *tag, int * if (get_next_from_buffer(buffer, conn->c_private->c_buffer_bytes - conn->c_private->c_buffer_offset, &len, tag, op->o_ber, conn) != 0) { + disconnect_server_nomutex(conn, conn->c_connid, -1, err, syserr); ret = CONN_DONE; goto done; } -- 2.5.5