/* TLS Extensions (in Client Hello and Server Hello). {{{  */
static gint ssl_dissect_hnd_hello_ext_sig_hash_algs(ssl_common_dissect_t *hf, tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint32 ext_len)
/* TLS Extensions (in Client Hello and Server Hello). {{{  */
static gint ssl_dissect_hnd_hello_ext_sig_hash_algs(ssl_common_dissect_t *hf, tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint32 ext_len)
{
    guint16  sh_alg_length;
    gint     ret;
    sh_alg_length = tvb_get_ntohs(tvb, offset);
    proto_tree_add_uint(tree, hf->hf.hs_sig_hash_alg_len,
                        tvb, offset, 2, sh_alg_length);
    offset += 2;
    if (ext_len < 2 || sh_alg_length != ext_len - 2) {
        return offset;
    }
    ret = ssl_dissect_hash_alg_list(hf, tvb, tree, pinfo, offset, sh_alg_length);
    if (ret >= 0)
        offset += ret;
    return offset;
}