Bläddra i källkod

Log I/O errors from TLS streams

tags/v1.11.90
Pierre Ossman 4 år sedan
förälder
incheckning
f4fdc13f37
2 ändrade filer med 10 tillägg och 1 borttagningar
  1. 6
    1
      common/rdr/TLSInStream.cxx
  2. 4
    0
      common/rdr/TLSOutStream.cxx

+ 6
- 1
common/rdr/TLSInStream.cxx Visa fil

@@ -25,11 +25,14 @@
#include <rdr/Exception.h>
#include <rdr/TLSException.h>
#include <rdr/TLSInStream.h>
#include <rfb/LogWriter.h>
#include <errno.h>

#ifdef HAVE_GNUTLS
using namespace rdr;

static rfb::LogWriter vlog("TLSInStream");

ssize_t TLSInStream::pull(gnutls_transport_ptr_t str, void* data, size_t size)
{
TLSInStream* self= (TLSInStream*) str;
@@ -45,8 +48,10 @@ ssize_t TLSInStream::pull(gnutls_transport_ptr_t str, void* data, size_t size)
size = in->avail();
in->readBytes(data, size);

} catch (EndOfStream&) {
return 0;
} catch (Exception& e) {
vlog.error("Failure reading TLS data: %s", e.str());
gnutls_transport_set_errno(self->session, EINVAL);
return -1;
}

+ 4
- 0
common/rdr/TLSOutStream.cxx Visa fil

@@ -25,11 +25,14 @@
#include <rdr/Exception.h>
#include <rdr/TLSException.h>
#include <rdr/TLSOutStream.h>
#include <rfb/LogWriter.h>
#include <errno.h>

#ifdef HAVE_GNUTLS
using namespace rdr;

static rfb::LogWriter vlog("TLSOutStream");

enum { DEFAULT_BUF_SIZE = 16384 };

ssize_t TLSOutStream::push(gnutls_transport_ptr_t str, const void* data,
@@ -42,6 +45,7 @@ ssize_t TLSOutStream::push(gnutls_transport_ptr_t str, const void* data,
out->writeBytes(data, size);
out->flush();
} catch (Exception& e) {
vlog.error("Failure sending TLS data: %s", e.str());
gnutls_transport_set_errno(self->session, EINVAL);
return -1;
}

Laddar…
Avbryt
Spara