summaryrefslogtreecommitdiff
path: root/radsecproxy.c
diff options
context:
space:
mode:
Diffstat (limited to 'radsecproxy.c')
-rw-r--r--radsecproxy.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/radsecproxy.c b/radsecproxy.c
index b7b2063..f972d89 100644
--- a/radsecproxy.c
+++ b/radsecproxy.c
@@ -1887,6 +1887,8 @@ void *clientwr(void *arg) {
pthread_mutex_unlock(&server->newrq_mutex);
for (i = 0; i < MAX_REQUESTS; i++) {
+ int ret;
+
if (server->clientrdgone) {
pthread_join(clientrdth, NULL);
goto errexit;
@@ -1935,8 +1937,13 @@ void *clientwr(void *arg) {
if (!timeout.tv_sec || rqout->expiry.tv_sec < timeout.tv_sec)
timeout.tv_sec = rqout->expiry.tv_sec;
rqout->tries++;
- conf->pdef->clientradput(server, rqout->rq->buf);
+ ret = conf->pdef->clientradput(server, rqout->rq->buf);
pthread_mutex_unlock(rqout->lock);
+ if (ret < 0) {
+ debug(DBG_ERR, "%s: unexpected SSL_write: ret=%d, error=%d "
+ "while talking to %s", __func__, ret,
+ SSL_get_error(server->ssl, ret), conf->name);
+ }
}
if (conf->statusserver && server->connectionok) {
secs = server->lastrcv.tv_sec > laststatsrv.tv_sec ? server->lastrcv.tv_sec : laststatsrv.tv_sec;