]> granicus.if.org Git - python/commitdiff
Issue #16234: Modify sha3's block_size method to return NotImplemented.
authorChristian Heimes <christian@cheimes.de>
Sun, 14 Oct 2012 20:16:27 +0000 (22:16 +0200)
committerChristian Heimes <christian@cheimes.de>
Sun, 14 Oct 2012 20:16:27 +0000 (22:16 +0200)
This makes the sha3 types unusable from the hmac module. HMAC-SHA3 hasn't been specified yet.

Modules/_sha3/sha3module.c

index bde474f8f839526e6eaec2c6df24e10c7d26b29a..08f683934b1b56cd6f429a18844ce35437279a5b 100644 (file)
   #include "keccak/KeccakF-1600-opt32.c"
 #endif
 
-#define SHA3_BLOCKSIZE 200 /* 1600 bits  */
+/* #define SHA3_BLOCKSIZE 200 // 1600 bits  */
 #define SHA3_MAX_DIGESTSIZE 64 /* 512 bits */
 #define SHA3_state hashState
 #define SHA3_init Init
@@ -367,7 +367,11 @@ static PyMethodDef SHA3_methods[] = {
 static PyObject *
 SHA3_get_block_size(SHA3object *self, void *closure)
 {
-    return PyLong_FromLong(SHA3_BLOCKSIZE);
+    /* HMAC-SHA3 hasn't been specified yet and no official test vectors are
+     * available. Thus block_size returns NotImplemented to prevent people
+     * from using SHA3 with the hmac module.
+     */
+    Py_RETURN_NOTIMPLEMENTED;
 }
 
 static PyObject *