PROTON-769: Move trace flags entirely to transport code

Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/e093b8c2
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/e093b8c2
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/e093b8c2

Branch: refs/heads/master
Commit: e093b8c26396952ccd643beecbac11f1b02410da
Parents: 815e97e
Author: Andrew Stitcher <[email protected]>
Authored: Tue Dec 2 12:16:00 2014 -0500
Committer: Andrew Stitcher <[email protected]>
Committed: Wed Dec 10 16:43:44 2014 -0500

----------------------------------------------------------------------
 proton-c/src/dispatcher/dispatcher.c  | 12 ++---
 proton-c/src/dispatcher/dispatcher.h  |  1 -
 proton-c/src/engine/engine-internal.h |  2 +
 proton-c/src/sasl/sasl-internal.h     |  2 -
 proton-c/src/sasl/sasl.c              | 10 +---
 proton-c/src/ssl/openssl.c            | 17 ++-----
 proton-c/src/ssl/ssl-internal.h       |  2 -
 proton-c/src/transport/transport.c    | 22 +++++----
 proton-c/src/windows/schannel.c       | 78 ++++++++++++++----------------
 9 files changed, 61 insertions(+), 85 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e093b8c2/proton-c/src/dispatcher/dispatcher.c
----------------------------------------------------------------------
diff --git a/proton-c/src/dispatcher/dispatcher.c 
b/proton-c/src/dispatcher/dispatcher.c
index 4efd288..08c5ef1 100644
--- a/proton-c/src/dispatcher/dispatcher.c
+++ b/proton-c/src/dispatcher/dispatcher.c
@@ -24,6 +24,7 @@
 #include "protocol.h"
 #include "util.h"
 #include "platform_fmt.h"
+#include "engine/engine-internal.h"
 
 #include "dispatch_actions.h"
 
@@ -66,9 +67,6 @@ pn_dispatcher_t *pn_dispatcher(uint8_t frame_type, 
pn_transport_t *transport)
 
   disp->frame_type = frame_type;
   disp->transport = transport;
-  disp->trace = (pn_env_bool("PN_TRACE_RAW") ? PN_TRACE_RAW : PN_TRACE_OFF) |
-    (pn_env_bool("PN_TRACE_FRM") ? PN_TRACE_FRM : PN_TRACE_OFF) |
-    (pn_env_bool("PN_TRACE_DRV") ? PN_TRACE_DRV : PN_TRACE_OFF);
 
   disp->channel = 0;
   disp->args = pn_data(16);
@@ -107,7 +105,7 @@ typedef enum {IN, OUT} pn_dir_t;
 static void pn_do_trace(pn_dispatcher_t *disp, uint16_t ch, pn_dir_t dir,
                         pn_data_t *args, const char *payload, size_t size)
 {
-  if (disp->trace & PN_TRACE_FRM) {
+  if (disp->transport->trace & PN_TRACE_FRM) {
     pn_string_format(disp->scratch, "%u %s ", ch, dir == OUT ? "->" : "<-");
     pn_inspect(args, disp->scratch);
 
@@ -129,7 +127,7 @@ static void pn_do_trace(pn_dispatcher_t *disp, uint16_t ch, 
pn_dir_t dir,
 int pn_dispatch_frame(pn_dispatcher_t *disp, pn_frame_t frame)
 {
   if (frame.size == 0) { // ignore null frames
-    if (disp->trace & PN_TRACE_FRM)
+    if (disp->transport->trace & PN_TRACE_FRM)
       pn_transport_logf(disp->transport, "%u <- (EMPTY FRAME)\n", 
frame.channel);
     return 0;
   }
@@ -257,7 +255,7 @@ int pn_post_frame(pn_dispatcher_t *disp, uint16_t ch, const 
char *fmt, ...)
     disp->output = (char *) realloc(disp->output, disp->capacity);
   }
   disp->output_frames_ct += 1;
-  if (disp->trace & PN_TRACE_RAW) {
+  if (disp->transport->trace & PN_TRACE_RAW) {
     pn_string_set(disp->scratch, "RAW: \"");
     pn_quote(disp->scratch, disp->output + disp->available, n);
     pn_string_addf(disp->scratch, "\"");
@@ -366,7 +364,7 @@ int pn_post_transfer_frame(pn_dispatcher_t *disp, uint16_t 
ch,
     }
     disp->output_frames_ct += 1;
     framecount++;
-    if (disp->trace & PN_TRACE_RAW) {
+    if (disp->transport->trace & PN_TRACE_RAW) {
       pn_string_set(disp->scratch, "RAW: \"");
       pn_quote(disp->scratch, disp->output + disp->available, n);
       pn_string_addf(disp->scratch, "\"");

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e093b8c2/proton-c/src/dispatcher/dispatcher.h
----------------------------------------------------------------------
diff --git a/proton-c/src/dispatcher/dispatcher.h 
b/proton-c/src/dispatcher/dispatcher.h
index 79008e6..c578282 100644
--- a/proton-c/src/dispatcher/dispatcher.h
+++ b/proton-c/src/dispatcher/dispatcher.h
@@ -50,7 +50,6 @@ struct pn_dispatcher_t {
   uint64_t output_frames_ct;
   uint64_t input_frames_ct;
   pn_string_t *scratch;
-  pn_trace_t trace;
   uint16_t channel;
   uint8_t frame_type; // Used when constructing outgoing frames
   bool halt;

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e093b8c2/proton-c/src/engine/engine-internal.h
----------------------------------------------------------------------
diff --git a/proton-c/src/engine/engine-internal.h 
b/proton-c/src/engine/engine-internal.h
index 428a2f3..4ee9a69 100644
--- a/proton-c/src/engine/engine-internal.h
+++ b/proton-c/src/engine/engine-internal.h
@@ -168,6 +168,8 @@ struct pn_transport_t {
 
   pn_record_t *context;
 
+  pn_trace_t trace;
+
   uint16_t channel_max;
   uint16_t remote_channel_max;
   bool freed;

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e093b8c2/proton-c/src/sasl/sasl-internal.h
----------------------------------------------------------------------
diff --git a/proton-c/src/sasl/sasl-internal.h 
b/proton-c/src/sasl/sasl-internal.h
index 3e27e83..a8390df 100644
--- a/proton-c/src/sasl/sasl-internal.h
+++ b/proton-c/src/sasl/sasl-internal.h
@@ -24,8 +24,6 @@
 
 #include <proton/sasl.h>
 
-void pn_sasl_trace(pn_transport_t *transport, pn_trace_t trace);
-
 /** Destructor for the given SASL layer.
  *
  * @param[in] sasl the SASL object to free. No longer valid on

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e093b8c2/proton-c/src/sasl/sasl.c
----------------------------------------------------------------------
diff --git a/proton-c/src/sasl/sasl.c b/proton-c/src/sasl/sasl.c
index 4dabdca..1d27002 100644
--- a/proton-c/src/sasl/sasl.c
+++ b/proton-c/src/sasl/sasl.c
@@ -265,11 +265,6 @@ pn_sasl_outcome_t pn_sasl_outcome(pn_sasl_t *sasl0)
   return sasl ? sasl->outcome : PN_SASL_NONE;
 }
 
-void pn_sasl_trace(pn_transport_t *transport, pn_trace_t trace)
-{
-  transport->sasl->disp->trace = trace;
-}
-
 void pn_sasl_free(pn_transport_t *transport)
 {
   if (transport) {
@@ -472,7 +467,7 @@ static ssize_t pn_input_read_sasl_header(pn_transport_t* 
transport, unsigned int
     } else {
         transport->io_layers[layer] = &sasl_write_header_layer;
     }
-    if (transport->sasl->disp->trace & PN_TRACE_FRM)
+    if (transport->trace & PN_TRACE_FRM)
         pn_transport_logf(transport, "  <- %s", "SASL");
     return SASL_HEADER_LEN;
   case PNI_PROTOCOL_INSUFFICIENT:
@@ -505,8 +500,7 @@ static ssize_t pn_input_read_sasl(pn_transport_t* 
transport, unsigned int layer,
 
 static ssize_t pn_output_write_sasl_header(pn_transport_t *transport, unsigned 
int layer, char *bytes, size_t size)
 {
-  pni_sasl_t *sasl = transport->sasl;
-  if (sasl->disp->trace & PN_TRACE_FRM)
+  if (transport->trace & PN_TRACE_FRM)
     pn_transport_logf(transport, "  -> %s", "SASL");
   assert(size >= SASL_HEADER_LEN);
   memmove(bytes, SASL_HEADER, SASL_HEADER_LEN);

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e093b8c2/proton-c/src/ssl/openssl.c
----------------------------------------------------------------------
diff --git a/proton-c/src/ssl/openssl.c b/proton-c/src/ssl/openssl.c
index 0562cae..c2b2bfe 100644
--- a/proton-c/src/ssl/openssl.c
+++ b/proton-c/src/ssl/openssl.c
@@ -107,8 +107,6 @@ struct pni_ssl_t {
   size_t in_size;
   size_t in_count;
 
-  pn_trace_t trace;
-
   bool ssl_shutdown;    // BIO_ssl_shutdown() called on socket.
   bool ssl_closed;      // shutdown complete, or SSL error
   bool read_blocked;    // SSL blocked until more network data is read
@@ -155,7 +153,7 @@ static size_t buffered_output( pn_transport_t *transport );
 // @todo: used to avoid littering the code with calls to printf...
 static void ssl_log(pn_transport_t *transport, const char *fmt, ...)
 {
-  if (PN_TRACE_DRV & transport->ssl->trace) {
+  if (PN_TRACE_DRV & transport->trace) {
     va_list ap;
     va_start(ap, fmt);
     pn_transport_vlogf(transport, fmt, ap);
@@ -194,9 +192,9 @@ static void ssl_log_error(const char *fmt, ...)
   }
 }
 
-static void ssl_log_clear_data(pni_ssl_t *ssl, const char *data, size_t len)
+static void ssl_log_clear_data(pn_transport_t *transport, const char *data, 
size_t len)
 {
-  if (PN_TRACE_RAW & ssl->trace) {
+  if (PN_TRACE_RAW & transport->trace) {
     fprintf(stderr, "SSL decrypted data: \"");
     pn_fprint_data( stderr, data, len );
     fprintf(stderr, "\"\n");
@@ -808,8 +806,6 @@ pn_ssl_t *pn_ssl(pn_transport_t *transport)
 
   transport->ssl = ssl;
 
-  ssl->trace = (transport->disp) ? transport->disp->trace : PN_TRACE_OFF;
-
   return (pn_ssl_t *) transport;
 }
 
@@ -895,7 +891,7 @@ static ssize_t process_input_ssl( pn_transport_t 
*transport, unsigned int layer,
       int read = BIO_read( ssl->bio_ssl, &ssl->inbuf[ssl->in_count], 
ssl->in_size - ssl->in_count );
       if (read > 0) {
         ssl_log( transport, "Read %d bytes from SSL socket for app", read );
-        ssl_log_clear_data( ssl, &ssl->inbuf[ssl->in_count], read );
+        ssl_log_clear_data(transport, &ssl->inbuf[ssl->in_count], read );
         ssl->in_count += read;
         work_pending = true;
       } else {
@@ -1194,11 +1190,6 @@ static void release_ssl_socket(pni_ssl_t *ssl)
 }
 
 
-void pn_ssl_trace(pn_transport_t *transport, pn_trace_t trace)
-{
-  transport->ssl->trace = trace;
-}
-
 
 pn_ssl_resume_status_t pn_ssl_resume_status(pn_ssl_t *ssl0)
 {

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e093b8c2/proton-c/src/ssl/ssl-internal.h
----------------------------------------------------------------------
diff --git a/proton-c/src/ssl/ssl-internal.h b/proton-c/src/ssl/ssl-internal.h
index 9430af0..f9687d0 100644
--- a/proton-c/src/ssl/ssl-internal.h
+++ b/proton-c/src/ssl/ssl-internal.h
@@ -31,8 +31,6 @@
 // release the SSL context
 void pn_ssl_free(pn_transport_t *transport);
 
-void pn_ssl_trace(pn_transport_t *transport, pn_trace_t trace);
-
 bool pn_ssl_allow_unsecured(pn_transport_t *transport);
 
 #endif /* ssl-internal.h */

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e093b8c2/proton-c/src/transport/transport.c
----------------------------------------------------------------------
diff --git a/proton-c/src/transport/transport.c 
b/proton-c/src/transport/transport.c
index 35ad060..bb59d84 100644
--- a/proton-c/src/transport/transport.c
+++ b/proton-c/src/transport/transport.c
@@ -212,7 +212,7 @@ ssize_t pn_io_layer_input_autodetect(pn_transport_t 
*transport, unsigned int lay
     return PN_EOS;
   }
   pni_protocol_type_t protocol = pni_sniff_header(bytes, available);
-  if (transport->disp->trace & PN_TRACE_DRV)
+  if (transport->trace & PN_TRACE_DRV)
       pn_transport_logf(transport, "%s detected", pni_protocol_name(protocol));
   switch (protocol) {
   case PNI_PROTOCOL_SSL:
@@ -235,7 +235,7 @@ ssize_t pn_io_layer_input_autodetect(pn_transport_t 
*transport, unsigned int lay
     }
     transport->io_layers[layer] = &sasl_write_header_layer;
     transport->io_layers[layer+1] = &pni_autodetect_layer;
-    if (transport->disp->trace & PN_TRACE_FRM)
+    if (transport->trace & PN_TRACE_FRM)
         pn_transport_logf(transport, "  <- %s", "SASL");
     return 8;
   case PNI_PROTOCOL_AMQP1:
@@ -249,7 +249,7 @@ ssize_t pn_io_layer_input_autodetect(pn_transport_t 
*transport, unsigned int lay
       }
     }
     transport->io_layers[layer] = &amqp_write_header_layer;
-    if (transport->disp->trace & PN_TRACE_FRM)
+    if (transport->trace & PN_TRACE_FRM)
         pn_transport_logf(transport, "  <- %s", "AMQP");
     return 8;
   case PNI_PROTOCOL_INSUFFICIENT:
@@ -357,6 +357,10 @@ static void pn_transport_initialize(void *object)
   transport->posted_idle_timeout = false;
 
   transport->server = false;
+
+  transport->trace = (pn_env_bool("PN_TRACE_RAW") ? PN_TRACE_RAW : 
PN_TRACE_OFF) |
+    (pn_env_bool("PN_TRACE_FRM") ? PN_TRACE_FRM : PN_TRACE_OFF) |
+    (pn_env_bool("PN_TRACE_DRV") ? PN_TRACE_DRV : PN_TRACE_OFF);
 }
 
 pn_session_t *pn_channel_state(pn_transport_t *transport, uint16_t channel)
@@ -1273,7 +1277,7 @@ static ssize_t transport_consume(pn_transport_t 
*transport)
       break;
     } else {
       assert(n == PN_EOS);
-      if (transport->disp->trace & (PN_TRACE_RAW | PN_TRACE_FRM))
+      if (transport->trace & (PN_TRACE_RAW | PN_TRACE_FRM))
         pn_transport_log(transport, "  <- EOS");
       transport->input_pending = 0;  // XXX ???
       return n;
@@ -1298,7 +1302,7 @@ static ssize_t pn_input_read_amqp_header(pn_transport_t* 
transport, unsigned int
     } else {
       transport->io_layers[layer] = &amqp_write_header_layer;
     }
-    if (transport->disp->trace & PN_TRACE_FRM)
+    if (transport->trace & PN_TRACE_FRM)
       pn_transport_logf(transport, "  <- %s", "AMQP");
     return 8;
   case PNI_PROTOCOL_INSUFFICIENT:
@@ -2009,7 +2013,7 @@ int pn_process(pn_transport_t *transport)
 
 static ssize_t pn_output_write_amqp_header(pn_transport_t* transport, unsigned 
int layer, char* bytes, size_t available)
 {
-  if (transport->disp->trace & PN_TRACE_FRM)
+  if (transport->trace & PN_TRACE_FRM)
     pn_transport_logf(transport, "  -> %s", "AMQP");
   assert(available >= 8);
   memmove(bytes, AMQP_HEADER, 8);
@@ -2088,7 +2092,7 @@ static ssize_t transport_produce(pn_transport_t 
*transport)
     } else {
       if (transport->output_pending)
         break;   // return what is available
-      if (transport->disp->trace & (PN_TRACE_RAW | PN_TRACE_FRM)) {
+      if (transport->trace & (PN_TRACE_RAW | PN_TRACE_FRM)) {
         if (n < 0) {
           pn_transport_log(transport, "  -> EOS");
         }
@@ -2117,9 +2121,7 @@ ssize_t pn_transport_output(pn_transport_t *transport, 
char *bytes, size_t size)
 
 void pn_transport_trace(pn_transport_t *transport, pn_trace_t trace)
 {
-  if (transport->sasl) pn_sasl_trace(transport, trace);
-  if (transport->ssl) pn_ssl_trace(transport, trace);
-  transport->disp->trace = trace;
+  transport->trace = trace;
 }
 
 void pn_transport_set_tracer(pn_transport_t *transport, pn_tracer_t tracer)

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/e093b8c2/proton-c/src/windows/schannel.c
----------------------------------------------------------------------
diff --git a/proton-c/src/windows/schannel.c b/proton-c/src/windows/schannel.c
index 3cc7b9f..88b4a07 100644
--- a/proton-c/src/windows/schannel.c
+++ b/proton-c/src/windows/schannel.c
@@ -55,7 +55,7 @@
  */
 
 static void ssl_log_error(const char *fmt, ...);
-static void ssl_log(pn_ssl_t *ssl, const char *fmt, ...);
+static void ssl_log(pn_transport_t *transport, const char *fmt, ...);
 static void ssl_log_error_status(HRESULT status, const char *fmt, ...);
 
 /*
@@ -335,8 +335,6 @@ struct pni_ssl_t {
 
   bool sc_input_shutdown;
 
-  pn_trace_t trace;
-
   CredHandle cred_handle;
   CtxtHandle ctxt_handle;
   SecPkgContext_StreamSizes sc_sizes;
@@ -386,9 +384,9 @@ static void ssl_log_error(const char *fmt, ...)
 }
 
 // @todo: used to avoid littering the code with calls to printf...
-static void ssl_log(pni_ssl_t *ssl, const char *fmt, ...)
+static void ssl_log(pn_transport_t *transport, const char *fmt, ...)
 {
-  if (PN_TRACE_DRV & ssl->trace) {
+  if (PN_TRACE_DRV & transport->trace) {
     va_list ap;
     va_start(ap, fmt);
     vfprintf(stderr, fmt, ap);
@@ -417,9 +415,9 @@ static void ssl_log_error_status(HRESULT status, const char 
*fmt, ...)
   fflush(stderr);
 }
 
-static void ssl_log_clear_data(pni_ssl_t *ssl, const char *data, size_t len)
+static void ssl_log_clear_data(pn_transport_t *transport, const char *data, 
size_t len)
 {
-  if (PN_TRACE_RAW & ssl->trace) {
+  if (PN_TRACE_RAW & transport->trace) {
     fprintf(stderr, "SSL decrypted data: \"");
     pn_fprint_data( stderr, data, len );
     fprintf(stderr, "\"\n");
@@ -691,7 +689,7 @@ void pn_ssl_free( pn_transport_t *transport)
 {
   pni_ssl_t *ssl = transport->ssl;
   if (!ssl) return;
-  ssl_log( ssl, "SSL socket freed.\n" );
+  ssl_log( transport, "SSL socket freed.\n" );
   // clean up Windows per TLS session data before releasing the domain count
   if (SecIsValidHandle(&ssl->ctxt_handle))
     DeleteSecurityContext(&ssl->ctxt_handle);
@@ -745,7 +743,6 @@ pn_ssl_t *pn_ssl(pn_transport_t *transport)
 
   transport->ssl = ssl;
 
-  ssl->trace = (transport->disp) ? transport->disp->trace : PN_TRACE_OFF;
   SecInvalidateHandle(&ssl->cred_handle);
   SecInvalidateHandle(&ssl->ctxt_handle);
   ssl->state = CREATED;
@@ -754,11 +751,6 @@ pn_ssl_t *pn_ssl(pn_transport_t *transport)
   return (pn_ssl_t *)transport;
 }
 
-void pn_ssl_trace(pn_transport_t *transport, pn_trace_t trace)
-{
-  transport->ssl->trace = trace;
-}
-
 
 pn_ssl_resume_status_t pn_ssl_resume_status( pn_ssl_t *ssl )
 {
@@ -812,8 +804,10 @@ const char *tls_version_check(pni_ssl_t *ssl)
     "peer does not support TLS 1.0 security" : NULL;
 }
 
-static void ssl_encrypt(pni_ssl_t *ssl, char *app_data, size_t count)
+static void ssl_encrypt(pn_transport_t *transport, char *app_data, size_t 
count)
 {
+  pni_ssl_t *ssl = transport->ssl;
+
   // Get SChannel to encrypt exactly one Record.
   SecBuffer buffs[4];
   buffs[0].cbBuffer = ssl->sc_sizes.cbHeader;
@@ -841,7 +835,7 @@ static void ssl_encrypt(pni_ssl_t *ssl, char *app_data, 
size_t count)
   ssl->sc_out_count = buffs[0].cbBuffer + buffs[1].cbBuffer + 
buffs[2].cbBuffer;
   ssl->network_outp = ssl->sc_outbuf;
   ssl->network_out_pending = ssl->sc_out_count;
-  ssl_log(ssl, "ssl_encrypt %d network bytes\n", ssl->network_out_pending);
+  ssl_log(transport, "ssl_encrypt %d network bytes\n", 
ssl->network_out_pending);
 }
 
 // Returns true if decryption succeeded (even for empty content)
@@ -942,7 +936,7 @@ static void client_handshake_init(pn_transport_t *transport)
     ssl->network_out_pending = ssl->sc_out_count;
     // the token is the whole quantity to send
     ssl->network_outp = ssl->sc_outbuf;
-    ssl_log(ssl, "Sending client hello %d bytes\n", ssl->network_out_pending);
+    ssl_log(transport, "Sending client hello %d bytes\n", 
ssl->network_out_pending);
   } else {
     ssl_log_error_status(status, "InitializeSecurityContext failed");
     ssl_failed(transport, 0);
@@ -993,7 +987,7 @@ static void client_handshake( pn_transport_t* transport) {
   case SEC_E_INCOMPLETE_MESSAGE:
     // Not enough - get more data from the server then try again.
     // Leave input buffers untouched.
-    ssl_log(ssl, "client handshake: incomplete record\n");
+    ssl_log(transport, "client handshake: incomplete record\n");
     ssl->sc_in_incomplete = true;
     return;
 
@@ -1004,7 +998,7 @@ static void client_handshake( pn_transport_t* transport) {
     // the token is the whole quantity to send
     ssl->network_out_pending = ssl->sc_out_count;
     ssl->network_outp = ssl->sc_outbuf;
-    ssl_log(ssl, "client handshake token %d bytes\n", 
ssl->network_out_pending);
+    ssl_log(transport, "client handshake token %d bytes\n", 
ssl->network_out_pending);
     break;
 
   case SEC_E_OK:
@@ -1015,7 +1009,7 @@ static void client_handshake( pn_transport_t* transport) {
         // the token is the whole quantity to send
         ssl->network_out_pending = ssl->sc_out_count;
         ssl->network_outp = ssl->sc_outbuf;
-        ssl_log(ssl, "client shutdown token %d bytes\n", 
ssl->network_out_pending);
+        ssl_log(transport, "client shutdown token %d bytes\n", 
ssl->network_out_pending);
       } else {
         ssl->state = SSL_CLOSED;
       }
@@ -1051,13 +1045,13 @@ static void client_handshake( pn_transport_t* 
transport) {
 
     ssl->state = RUNNING;
     ssl->max_data_size = max - ssl->sc_sizes.cbHeader - 
ssl->sc_sizes.cbTrailer;
-    ssl_log(ssl, "client handshake successful %d max record size\n", max);
+    ssl_log(transport, "client handshake successful %d max record size\n", 
max);
     break;
 
   case SEC_I_CONTEXT_EXPIRED:
     // ended before we got going
   default:
-    ssl_log(ssl, "client handshake failed %d\n", (int) status);
+    ssl_log(transport, "client handshake failed %d\n", (int) status);
     ssl_failed(transport, 0);
     break;
   }
@@ -1121,7 +1115,7 @@ static void server_handshake(pn_transport_t* transport)
   case SEC_E_INCOMPLETE_MESSAGE:
     // Not enough - get more data from the client then try again.
     // Leave input buffers untouched.
-    ssl_log(ssl, "server handshake: incomplete record\n");
+    ssl_log(transport, "server handshake: incomplete record\n");
     ssl->sc_in_incomplete = true;
     return;
 
@@ -1137,7 +1131,7 @@ static void server_handshake(pn_transport_t* transport)
         // the token is the whole quantity to send
         ssl->network_out_pending = ssl->sc_out_count;
         ssl->network_outp = ssl->sc_outbuf;
-        ssl_log(ssl, "server shutdown token %d bytes\n", 
ssl->network_out_pending);
+        ssl_log(transport, "server shutdown token %d bytes\n", 
ssl->network_out_pending);
       } else {
         ssl->state = SSL_CLOSED;
       }
@@ -1167,13 +1161,13 @@ static void server_handshake(pn_transport_t* transport)
 
     ssl->state = RUNNING;
     ssl->max_data_size = max - ssl->sc_sizes.cbHeader - 
ssl->sc_sizes.cbTrailer;
-    ssl_log(ssl, "server handshake successful %d max record size\n", max);
+    ssl_log(transport, "server handshake successful %d max record size\n", 
max);
     break;
 
   case SEC_I_CONTEXT_EXPIRED:
     // ended before we got going
   default:
-    ssl_log(ssl, "server handshake failed %d\n", (int) status);
+    ssl_log(transport, "server handshake failed %d\n", (int) status);
     ssl_failed(transport, 0);
     break;
   }
@@ -1185,7 +1179,7 @@ static void server_handshake(pn_transport_t* transport)
     // the token is the whole quantity to send
     ssl->network_out_pending = ssl->sc_out_count;
     ssl->network_outp = ssl->sc_outbuf;
-    ssl_log(ssl, "server handshake token %d bytes\n", 
ssl->network_out_pending);
+    ssl_log(transport, "server handshake token %d bytes\n", 
ssl->network_out_pending);
   }
 
   if (token_buffs[1].BufferType == SECBUFFER_EXTRA && token_buffs[1].cbBuffer 
> 0 &&
@@ -1219,7 +1213,7 @@ static bool grow_inbuf2(pn_transport_t *transport, size_t 
minimum_size) {
   if (max_frame != 0) {
     if (old_capacity >= max_frame) {
       //  already big enough
-      ssl_log(transport->ssl, "Application expecting %d bytes (> negotiated 
maximum frame)\n", new_capacity);
+      ssl_log(transport, "Application expecting %d bytes (> negotiated maximum 
frame)\n", new_capacity);
       ssl_failed(transport, "TLS: transport maximimum frame size error");
       return false;
     }
@@ -1228,7 +1222,7 @@ static bool grow_inbuf2(pn_transport_t *transport, size_t 
minimum_size) {
   size_t extra_bytes = new_capacity - pn_buffer_size(ssl->inbuf2);
   int err = pn_buffer_ensure(ssl->inbuf2, extra_bytes);
   if (err) {
-    ssl_log(ssl, "TLS memory allocation failed for %d bytes\n", max_frame);
+    ssl_log(transport, "TLS memory allocation failed for %d bytes\n", 
max_frame);
     ssl_failed(transport, "TLS memory allocation failed");
     return false;
   }
@@ -1248,7 +1242,7 @@ static void start_ssl_shutdown(pn_transport_t *transport)
   if (ssl->queued_shutdown)
     return;
   ssl->queued_shutdown = true;
-  ssl_log(ssl, "Shutting down SSL connection...\n");
+  ssl_log(transport, "Shutting down SSL connection...\n");
 
   DWORD shutdown = SCHANNEL_SHUTDOWN;
   SecBuffer shutBuff;
@@ -1414,7 +1408,7 @@ static void read_closed(pn_transport_t *transport, 
unsigned int layer, ssize_t e
 static ssize_t process_input_ssl(pn_transport_t *transport, unsigned int 
layer, const char *input_data, size_t available)
 {
   pni_ssl_t *ssl = transport->ssl;
-  ssl_log( ssl, "process_input_ssl( data size=%d )\n",available );
+  ssl_log( transport, "process_input_ssl( data size=%d )\n",available );
   ssize_t consumed = 0;
   ssize_t forwarded = 0;
   bool new_app_input;
@@ -1491,7 +1485,7 @@ static ssize_t process_input_ssl(pn_transport_t 
*transport, unsigned int layer,
             rewind_sc_inbuf(ssl);
           }
         }
-        ssl_log(ssl, "Next decryption, %d left over\n", available);
+        ssl_log(transport, "Next decryption, %d left over\n", available);
       }
     }
 
@@ -1513,7 +1507,7 @@ static ssize_t process_input_ssl(pn_transport_t 
*transport, unsigned int layer,
             forwarded += count;
             // advance() can increase app_inbytes.size if double buffered
             app_inbytes_advance(transport, count);
-            ssl_log(ssl, "Application consumed %d bytes from peer\n", (int) 
count);
+            ssl_log(transport, "Application consumed %d bytes from peer\n", 
(int) count);
           } else if (count == 0) {
             size_t old_size = ssl->app_inbytes.size;
             app_inbytes_advance(transport, 0);
@@ -1522,13 +1516,13 @@ static ssize_t process_input_ssl(pn_transport_t 
*transport, unsigned int layer,
             }
           } else {
             // count < 0
-            ssl_log(ssl, "Application layer closed its input, error=%d 
(discarding %d bytes)\n",
+            ssl_log(transport, "Application layer closed its input, error=%d 
(discarding %d bytes)\n",
                  (int) count, (int)ssl->app_inbytes.size);
             app_inbytes_advance(transport, ssl->app_inbytes.size);    // 
discard
             read_closed(transport, layer, count);
           }
         } else {
-          ssl_log(ssl, "Input closed discard %d bytes\n",
+          ssl_log(transport, "Input closed discard %d bytes\n",
                (int)ssl->app_inbytes.size);
           app_inbytes_advance(transport, ssl->app_inbytes.size);      // 
discard
         }
@@ -1544,7 +1538,7 @@ static ssize_t process_input_ssl(pn_transport_t 
*transport, unsigned int layer,
       transport->io_layers[layer] = &ssl_input_closed_layer;
     }
   }
-  ssl_log(ssl, "process_input_ssl() returning %d, forwarded %d\n", (int) 
consumed, (int) forwarded);
+  ssl_log(transport, "process_input_ssl() returning %d, forwarded %d\n", (int) 
consumed, (int) forwarded);
   return consumed;
 }
 
@@ -1552,7 +1546,7 @@ static ssize_t process_output_ssl( pn_transport_t 
*transport, unsigned int layer
 {
   pni_ssl_t *ssl = transport->ssl;
   if (!ssl) return PN_EOS;
-  ssl_log( ssl, "process_output_ssl( max_len=%d )\n",max_len );
+  ssl_log( transport, "process_output_ssl( max_len=%d )\n",max_len );
 
   ssize_t written = 0;
   ssize_t total_app_bytes = 0;
@@ -1591,17 +1585,17 @@ static ssize_t process_output_ssl( pn_transport_t 
*transport, unsigned int layer
         if (app_bytes > 0) {
           app_outp += app_bytes;
           remaining -= app_bytes;
-          ssl_log( ssl, "Gathered %d bytes from app to send to peer\n", 
app_bytes );
+          ssl_log( transport, "Gathered %d bytes from app to send to peer\n", 
app_bytes );
         } else {
           if (app_bytes < 0) {
-            ssl_log(ssl, "Application layer closed its output, error=%d (%d 
bytes pending send)\n",
+            ssl_log(transport, "Application layer closed its output, error=%d 
(%d bytes pending send)\n",
                  (int) app_bytes, (int) ssl->network_out_pending);
             ssl->app_output_closed = app_bytes;
             if (ssl->app_input_closed)
               ssl->state = SHUTTING_DOWN;
           } else if (total_app_bytes == 0 && ssl->app_input_closed) {
             // We've drained all the App layer can provide
-            ssl_log(ssl, "Application layer blocked on input, closing\n");
+            ssl_log(transport, "Application layer blocked on input, 
closing\n");
             ssl->state = SHUTTING_DOWN;
             ssl->app_output_closed = PN_ERR;
           }
@@ -1609,7 +1603,7 @@ static ssize_t process_output_ssl( pn_transport_t 
*transport, unsigned int layer
       } while (app_bytes > 0);
       if (app_outp > app_data) {
         work_pending = (max_len > 0);
-        ssl_encrypt(ssl, app_data, app_outp - app_data);
+        ssl_encrypt(transport, app_data, app_outp - app_data);
       }
     }
 
@@ -1631,7 +1625,7 @@ static ssize_t process_output_ssl( pn_transport_t 
*transport, unsigned int layer
       transport->io_layers[layer] = &ssl_output_closed_layer;
     }
   }
-  ssl_log(ssl, "process_output_ssl() returning %d\n", (int) written);
+  ssl_log(transport, "process_output_ssl() returning %d\n", (int) written);
   return written;
 }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to