]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - hmac.c
implemented omnidirectional shadowmapping using depth textures (2D, Rect
[xonotic/darkplaces.git] / hmac.c
diff --git a/hmac.c b/hmac.c
index de44162796b6339164e4c41dd88009bae76c3c43..bd97ba43fd2c7321d6d5229e80c98c4c0a27b01e 100644 (file)
--- a/hmac.c
+++ b/hmac.c
@@ -1,7 +1,7 @@
 #include "quakedef.h"
 #include "hmac.h"
 
-void hmac(
+qboolean hmac(
        hashfunc_t hfunc, int hlen, int hblock,
        unsigned char *out,
        unsigned char *in, int n,
@@ -15,15 +15,15 @@ void hmac(
        int i;
 
        if(sizeof(hashbuf) < (size_t) hlen)
-               Host_Error("Invalid hash function used for HMAC - too long hash length");
+               return false;
        if(sizeof(k_xor_ipad) < (size_t) hblock)
-               Host_Error("Invalid hash function used for HMAC - too long hash block length");
+               return false;
        if(sizeof(k_xor_ipad) < (size_t) hlen)
-               Host_Error("Invalid hash function used for HMAC - too long hash length");
+               return false;
        if(sizeof(catbuf) < (size_t) hblock + (size_t) hlen)
-               Host_Error("Invalid hash function used for HMAC - too long hash block length");
+               return false;
        if(sizeof(catbuf) < (size_t) hblock + (size_t) n)
-               Host_Error("Invalid hash function used for HMAC - too long message length");
+               return false;
 
        if(k > hblock)
        {
@@ -56,4 +56,5 @@ void hmac(
        memcpy(catbuf, k_xor_opad, hblock);
        memcpy(catbuf + hblock, hashbuf, hlen);
        hfunc(out, catbuf, hblock + hlen);
+       return true;
 }