projects
/
platform
/
upstream
/
curl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
url-parser: only use if_nametoindex if detected by configure
[platform/upstream/curl.git]
/
lib
/
hmac.c
diff --git
a/lib/hmac.c
b/lib/hmac.c
index
1d3ea83
..
dace820
100644
(file)
--- a/
lib/hmac.c
+++ b/
lib/hmac.c
@@
-5,7
+5,7
@@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 201
0
, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 201
1
, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@
-22,11
+22,19
@@
*
***************************************************************************/
*
***************************************************************************/
+#include "curl_setup.h"
+
#ifndef CURL_DISABLE_CRYPTO_AUTH
#ifndef CURL_DISABLE_CRYPTO_AUTH
-#include "setup.h"
#include "curl_hmac.h"
#include "curl_hmac.h"
+#define _MPRINTF_REPLACE /* use our functions only */
+#include <curl/mprintf.h>
+
+#include "curl_memory.h"
+/* The last #include file should be: */
+#include "memdebug.h"
+
/*
* Generic HMAC algorithm.
*
/*
* Generic HMAC algorithm.
*
@@
-45,14
+53,15
@@
Curl_HMAC_init(const HMAC_params * hashparams,
const unsigned char * key,
unsigned int keylen)
{
const unsigned char * key,
unsigned int keylen)
{
-
unsigned in
t i;
+
size_
t i;
HMAC_context * ctxt;
unsigned char * hkey;
unsigned char b;
/* Create HMAC context. */
HMAC_context * ctxt;
unsigned char * hkey;
unsigned char b;
/* Create HMAC context. */
- i = sizeof *ctxt + 2 * hashparams->hmac_ctxtsize + hashparams->hmac_resultlen;
- ctxt = (HMAC_context *) malloc(i);
+ i = sizeof *ctxt + 2 * hashparams->hmac_ctxtsize +
+ hashparams->hmac_resultlen;
+ ctxt = malloc(i);
if(!ctxt)
return ctxt;
if(!ctxt)
return ctxt;
@@
-76,14
+85,14
@@
Curl_HMAC_init(const HMAC_params * hashparams,
(*hashparams->hmac_hinit)(ctxt->hmac_hashctxt1);
(*hashparams->hmac_hinit)(ctxt->hmac_hashctxt2);
(*hashparams->hmac_hinit)(ctxt->hmac_hashctxt1);
(*hashparams->hmac_hinit)(ctxt->hmac_hashctxt2);
- for
(i = 0; i < keylen; i++) {
- b =
*key ^ hmac_ipad
;
+ for(i = 0; i < keylen; i++) {
+ b =
(unsigned char)(*key ^ hmac_ipad)
;
(*hashparams->hmac_hupdate)(ctxt->hmac_hashctxt1, &b, 1);
(*hashparams->hmac_hupdate)(ctxt->hmac_hashctxt1, &b, 1);
- b =
*key++ ^ hmac_opad
;
+ b =
(unsigned char)(*key++ ^ hmac_opad)
;
(*hashparams->hmac_hupdate)(ctxt->hmac_hashctxt2, &b, 1);
}
(*hashparams->hmac_hupdate)(ctxt->hmac_hashctxt2, &b, 1);
}
- for
(; i < hashparams->hmac_maxkeylen; i++) {
+ for(; i < hashparams->hmac_maxkeylen; i++) {
(*hashparams->hmac_hupdate)(ctxt->hmac_hashctxt1, &hmac_ipad, 1);
(*hashparams->hmac_hupdate)(ctxt->hmac_hashctxt2, &hmac_opad, 1);
}
(*hashparams->hmac_hupdate)(ctxt->hmac_hashctxt1, &hmac_ipad, 1);
(*hashparams->hmac_hupdate)(ctxt->hmac_hashctxt2, &hmac_opad, 1);
}
@@
-106,7
+115,8
@@
int Curl_HMAC_final(HMAC_context * ctxt, unsigned char * result)
{
const HMAC_params * hashparams = ctxt->hmac_hash;
{
const HMAC_params * hashparams = ctxt->hmac_hash;
- /* Do not get result if called with a null parameter: only release storage. */
+ /* Do not get result if called with a null parameter: only release
+ storage. */
if(!result)
result = (unsigned char *) ctxt->hmac_hashctxt2 +
if(!result)
result = (unsigned char *) ctxt->hmac_hashctxt2 +
@@
-120,4
+130,4
@@
int Curl_HMAC_final(HMAC_context * ctxt, unsigned char * result)
return 0;
}
return 0;
}
-#endif
+#endif
/* CURL_DISABLE_CRYPTO_AUTH */