SYSTEM is NetBSD netbsdpi 7.99.38 NetBSD 7.99.38 (RPI2.201609181140Z) evbarm pkg src is HEAD comms/srtp used by comms/asterisk does not compile because it defines external symbol hmac that conflitcs with hmac(3) in libc... files: crypto/hash/hmac.c crypto/kernel/crypto_kernel.c A fix is in the attach, create the appropriate patches |
diff -up patches/patch-crypto_hash_hmac.c.orig patches/patch-crypto_hash_hmac.c --- patches/patch-crypto_hash_hmac.c.orig 2016-09-21 16:00:23.810105000 +0000 +++ patches/patch-crypto_hash_hmac.c 2016-09-21 16:00:23.815108000 +0000 @@ -0,0 +1,56 @@ +$NetBSD$ + +--- crypto/hash/hmac.c.orig 2016-09-21 15:34:12.042157000 +0000 ++++ crypto/hash/hmac.c +@@ -55,7 +55,7 @@ debug_module_t mod_hmac = { + + err_status_t + hmac_alloc(auth_t **a, int key_len, int out_len) { +- extern auth_type_t hmac; ++ extern auth_type_t local_hmac; + uint8_t *pointer; + + debug_print(mod_hmac, "allocating auth func with key length %d", key_len); +@@ -79,21 +79,21 @@ hmac_alloc(auth_t **a, int key_len, int + + /* set pointers */ + *a = (auth_t *)pointer; +- (*a)->type = &hmac; ++ (*a)->type = &local_hmac; + (*a)->state = pointer + sizeof(auth_t); + (*a)->out_len = out_len; + (*a)->key_len = key_len; + (*a)->prefix_len = 0; + + /* increment global count of all hmac uses */ +- hmac.ref_count++; ++ local_hmac.ref_count++; + + return err_status_ok; + } + + err_status_t + hmac_dealloc(auth_t *a) { +- extern auth_type_t hmac; ++ extern auth_type_t local_hmac; + + /* zeroize entire state*/ + octet_string_set_to_zero((uint8_t *)a, +@@ -103,7 +103,7 @@ hmac_dealloc(auth_t *a) { + crypto_free(a); + + /* decrement global count of all hmac uses */ +- hmac.ref_count--; ++ local_hmac.ref_count--; + + return err_status_ok; + } +@@ -252,7 +252,7 @@ char hmac_description[] = "hmac sha-1 au + */ + + auth_type_t +-hmac = { ++local_hmac = { + (auth_alloc_func) hmac_alloc, + (auth_dealloc_func) hmac_dealloc, + (auth_init_func) hmac_init, diff -up patches/patch-crypto_kernel_crypto__kernel.c.orig patches/patch-crypto_kernel_crypto__kernel.c --- patches/patch-crypto_kernel_crypto__kernel.c.orig 2016-09-21 16:00:23.934989000 +0000 +++ patches/patch-crypto_kernel_crypto__kernel.c 2016-09-21 16:00:23.939728000 +0000 @@ -0,0 +1,22 @@ +$NetBSD$ + +--- crypto/kernel/crypto_kernel.c.orig 2016-09-21 15:54:48.158697000 +0000 ++++ crypto/kernel/crypto_kernel.c +@@ -77,7 +77,7 @@ extern cipher_type_t aes_cbc; + */ + + extern auth_type_t null_auth; +-extern auth_type_t hmac; ++extern auth_type_t local_hmac; + + /* crypto_kernel is a global variable, the only one of its datatype */ + +@@ -162,7 +162,7 @@ crypto_kernel_init() { + status = crypto_kernel_load_auth_type(&null_auth, NULL_AUTH); + if (status) + return status; +- status = crypto_kernel_load_auth_type(&hmac, HMAC_SHA1); ++ status = crypto_kernel_load_auth_type(&local_hmac, HMAC_SHA1); + if (status) + return status; + ? patches/patch-crypto_hash_hmac.c ? patches/patch-crypto_kernel_crypto__kernel.c Index: distinfo =================================================================== RCS file: /cvsroot/pkgsrc/comms/srtp/distinfo,v retrieving revision 1.3 diff -u -r1.3 distinfo --- distinfo 3 Nov 2015 01:34:57 -0000 1.3 +++ distinfo 21 Sep 2016 16:18:11 -0000 @@ -8,6 +8,8 @@ SHA1 (patch-configure) = d70d01b5f846b2f163ba2246511cf1314005fa35 SHA1 (patch-configure.in) = 217c066920fedaaba02d86e3c2017a368ea8fee7 SHA1 (patch-crypto_cipher_aes__icm.c) = 7e402b790678bd6c27daf8f56bf0a1123b087d07 +SHA1 (patch-crypto_hash_hmac.c) = f98600eeaa1ffd51f9075b2a5c9be75554e34821 +SHA1 (patch-crypto_kernel_crypto__kernel.c) = 7197db1b223ef416560039267f19e1e6e3c74b44 SHA1 (patch-crypto_math_datatypes.c) = f5358856026b91ae40db4a7c38bae6138656d94e SHA1 (patch-crypto_math_gf2__8.c) = 4e878e3debc2c287dcbce6ab1127ba8cd22352c3 SHA1 (patch-crypto_math_math.c) = 06961bd3184b0e47475f76a55d9669ce6d3a7149