+3601. [bug] Added to PKCS#11 openssl patches a value len
+ attribute in DH derive key. [RT #33928]
+
3600. [cleanup] dig: Fixed a typo in the warning output when receiving
an oversized response. [RT #33910]
diff -u /dev/null openssl/crypto/engine/hw_pk11_pub.c:1.32.4.4
--- /dev/null Thu May 16 07:41:51 2013
+++ openssl/crypto/engine/hw_pk11_pub.c Sun Jun 17 21:12:10 2012
-@@ -0,0 +1,3530 @@
+@@ -0,0 +1,3533 @@
+/*
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ CK_OBJECT_HANDLE h_derived_key = CK_INVALID_HANDLE;
+ CK_OBJECT_HANDLE h_key = CK_INVALID_HANDLE;
+
-+ CK_ULONG ul_priv_key_attr_count = 2;
++ CK_ULONG seclen;
++ CK_ULONG ul_priv_key_attr_count = 3;
+ CK_ATTRIBUTE priv_key_template[] =
+ {
+ {CKA_CLASS, (void*) NULL, sizeof (key_class)},
+ {CKA_KEY_TYPE, (void*) NULL, sizeof (key_type)},
++ {CKA_VALUE_LEN, &seclen, sizeof (seclen)},
+ };
+
+ CK_ULONG priv_key_attr_result_count = 1;
+
+ priv_key_template[0].pValue = &key_class;
+ priv_key_template[1].pValue = &key_type;
++ seclen = BN_num_bytes(dh->p);
+
+ if ((sp = pk11_get_session(OP_DH)) == NULL)
+ goto err;
diff -u /dev/null openssl/crypto/engine/hw_pk11_pub.c:1.38
--- /dev/null Thu May 16 07:42:54 2013
+++ openssl/crypto/engine/hw_pk11_pub.c Sun Jun 17 21:12:24 2012
-@@ -0,0 +1,3530 @@
+@@ -0,0 +1,3533 @@
+/*
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ CK_OBJECT_HANDLE h_derived_key = CK_INVALID_HANDLE;
+ CK_OBJECT_HANDLE h_key = CK_INVALID_HANDLE;
+
-+ CK_ULONG ul_priv_key_attr_count = 2;
++ CK_ULONG seclen;
++ CK_ULONG ul_priv_key_attr_count = 3;
+ CK_ATTRIBUTE priv_key_template[] =
+ {
+ {CKA_CLASS, (void*) NULL, sizeof (key_class)},
+ {CKA_KEY_TYPE, (void*) NULL, sizeof (key_type)},
++ {CKA_VALUE_LEN, &seclen, sizeof (seclen)},
+ };
+
+ CK_ULONG priv_key_attr_result_count = 1;
+
+ priv_key_template[0].pValue = &key_class;
+ priv_key_template[1].pValue = &key_type;
++ seclen = BN_num_bytes(dh->p);
+
+ if ((sp = pk11_get_session(OP_DH)) == NULL)
+ goto err;
diff -u /dev/null openssl/crypto/engine/hw_pk11_pub.c:1.38
--- /dev/null Thu May 16 07:44:28 2013
+++ openssl/crypto/engine/hw_pk11_pub.c Sun Jun 17 21:12:24 2012
-@@ -0,0 +1,3530 @@
+@@ -0,0 +1,3533 @@
+/*
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ CK_OBJECT_HANDLE h_derived_key = CK_INVALID_HANDLE;
+ CK_OBJECT_HANDLE h_key = CK_INVALID_HANDLE;
+
-+ CK_ULONG ul_priv_key_attr_count = 2;
++ CK_ULONG seclen;
++ CK_ULONG ul_priv_key_attr_count = 3;
+ CK_ATTRIBUTE priv_key_template[] =
+ {
+ {CKA_CLASS, (void*) NULL, sizeof (key_class)},
+ {CKA_KEY_TYPE, (void*) NULL, sizeof (key_type)},
++ {CKA_VALUE_LEN, &seclen, sizeof (seclen)},
+ };
+
+ CK_ULONG priv_key_attr_result_count = 1;
+
+ priv_key_template[0].pValue = &key_class;
+ priv_key_template[1].pValue = &key_type;
++ seclen = BN_num_bytes(dh->p);
+
+ if ((sp = pk11_get_session(OP_DH)) == NULL)
+ goto err;