diff options
author | Simon Josefsson <simon@josefsson.org> | 2007-02-21 13:33:00 +0000 |
---|---|---|
committer | Simon Josefsson <simon@josefsson.org> | 2007-02-21 13:33:00 +0000 |
commit | cb611cbbc49e4de687dddd5fec67aaa3545d608f (patch) | |
tree | 3dbeb18514bb36382c4a67b73bfe8c4ec43b9f6f | |
parent | 0cadbcf6cceb18851ba8e11685274ed5fd5ce631 (diff) | |
download | gnutls-cb611cbbc49e4de687dddd5fec67aaa3545d608f.tar.gz |
If callbacks failed to provide anything, at least send protocol valid
(yet semantically invalid) supplemental message.
-rw-r--r-- | lib/gnutls_supplemental.c | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/lib/gnutls_supplemental.c b/lib/gnutls_supplemental.c index 183647d944..1983f316a1 100644 --- a/lib/gnutls_supplemental.c +++ b/lib/gnutls_supplemental.c @@ -106,9 +106,6 @@ _gnutls_gen_supplemental (gnutls_session_t session) supp_send_func supp_send = p->supp_send_func; int ret; - _gnutls_debug_log ("EXT[%x]: Generating supplemental %s\n", session, - gnutls_supplemental_get_name (p->type)); - ret = supp_send (session); if (ret < 0) { @@ -117,21 +114,12 @@ _gnutls_gen_supplemental (gnutls_session_t session) } } - if (buf->length > 3) - { - buf->data[0] = ((buf->length - 3) << 16) & 0xFF; - buf->data[1] = ((buf->length - 3) << 8) & 0xFF; - buf->data[2] = (buf->length - 3) & 0xFF; - } - else - { - ret = _gnutls_string_copy_str (buf, ""); - if (ret < 0) - { - gnutls_assert (); - return ret; - } - } + buf->data[0] = ((buf->length - 3) << 16) & 0xFF; + buf->data[1] = ((buf->length - 3) << 8) & 0xFF; + buf->data[2] = (buf->length - 3) & 0xFF; + + _gnutls_debug_log ("EXT[%x]: Sending %d bytes of supplemental data\n", + session, buf->length); return buf->length; } @@ -169,7 +157,7 @@ _gnutls_parse_supplemental (gnutls_session_t session, supp_data_length = _gnutls_read_uint16 (p); p += 2; - _gnutls_debug_log ("EXT[%x]: Got supplemental type=%d length=%d\n", + _gnutls_debug_log ("EXT[%x]: Got supplemental type=%02x length=%d\n", session, supp_data_type, supp_data_length); recv_func = get_supp_func_recv (supp_data_type); |