e70152e44cc66cc599ff6b699eb8adc07f3e656a
kent
  Sat May 24 21:09:34 2014 -0700
Adding Copyright NNNN Regents of the University of California to all files I believe with reasonable certainty were developed under UCSC employ or as part of Genome Browser copyright assignment.
diff --git src/lib/hmac.c src/lib/hmac.c
index 5e8c9aa..05509a1 100644
--- src/lib/hmac.c
+++ src/lib/hmac.c
@@ -1,60 +1,63 @@
 /* Calculate an openssl keyed-hash message authentication code (HMAC) */
 // You may use other openssl hash engines. e.g EVP_md5(), EVP_sha224,
 // EVP_sha512, etc
 // Be careful of the length of string with the choosen hash engine.
 // SHA1 needed 20 characters, MD5 needed 16 characters.
 // Change the length accordingly with your choosen hash engine
 
+/* Copyright (C) 2013 The Regents of the University of California 
+ * See README in this or parent directory for licensing information. */
+
 #ifdef USE_SSL 
 #include "openssl/hmac.h"
 #include "openssl/evp.h"
 #include "common.h"
 
 char *hmacSha1(char *key, char *data)
 /* Calculate a openssl SHA1 keyed-hash message authentication code (HMAC) */
 {
 unsigned char* digest;
 digest=HMAC(EVP_sha1(), key, strlen(key), (unsigned char*)data, strlen(data), NULL, NULL);
 char hmacStr[40];
 int i;
 for(i = 0; i < 20; i++)
     sprintf(&hmacStr[i*2], "%02x", (unsigned int)digest[i]);
 return cloneStringZ(hmacStr, sizeof(hmacStr));
 }
 
 char *hmacMd5(char *key, char *data)
 /* Calculate a openssl MD5 keyed-hash message authentication code (HMAC) */
 {
 unsigned char* digest;
 digest=HMAC(EVP_md5(), key, strlen(key), (unsigned char*)data, strlen(data), NULL, NULL);
 //printf("Raw mdr digest: %s\n", digest);
 char hmacStr[32];
 int i;
 for(i = 0; i < 16; i++)
     sprintf(&hmacStr[i*2], "%02x", (unsigned int)digest[i]);
 return cloneStringZ(hmacStr, sizeof(hmacStr));
 }
 
 #else // --------- no USE_SSL ==> errAbort with message that openssl is required --------------
 
 #include "common.h"
 #include "errabort.h"
 #define NEED_OPENSSL "kent/src must be recompiled with openssl libs and USE_SSL=1 in order for this to work."
 
 char *hmacSha1(char *key, char *data)
 /* This is just a warning that appears in the absence of USE_SSL. Real
  * implementation is above! */
 {
 errAbort(NEED_OPENSSL);
 return NULL;
 }
 
 char *hmacMd5(char *key, char *data)
 /* This is just a warning that appears in the absence of USE_SSL. Real
  * implementation is above! */
 {
 errAbort(NEED_OPENSSL);
 return NULL;
 }
 
 #endif