Commit 6a7f8d36 authored by Steve French's avatar Steve French

[CIFS] Rename md5 functions to avoid collision with new rt modules

When rt modules were added they (each) included their own md5
with names which collided with the existing names of cifs's md5 functions.

Renaming cifs's md5 modules so we don't collide with them.

> Stephen Rothwell wrote:
> When CIFS is built-in (=y) and staging/rt28[67]0 =y, there are multiple
> definitions of:
>
> build-r8250.out:(.text+0x1d8ad0): multiple definition of `MD5Init'
> build-r8250.out:(.text+0x1dbb30): multiple definition of `MD5Update'
> build-r8250.out:(.text+0x1db9b0): multiple definition of `MD5Final'
>
> all of which need to have more unique identifiers for their global
> symbols (e.g., rt28_md5_init, cifs_md5_init, foo, blah, bar).
>

CC: Greg K-H <gregkh@suse.de>
Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
parent 0496e02d
...@@ -48,11 +48,11 @@ static int cifs_calculate_signature(const struct smb_hdr *cifs_pdu, ...@@ -48,11 +48,11 @@ static int cifs_calculate_signature(const struct smb_hdr *cifs_pdu,
if ((cifs_pdu == NULL) || (signature == NULL) || (key == NULL)) if ((cifs_pdu == NULL) || (signature == NULL) || (key == NULL))
return -EINVAL; return -EINVAL;
MD5Init(&context); cifs_MD5_init(&context);
MD5Update(&context, (char *)&key->data, key->len); cifs_MD5_update(&context, (char *)&key->data, key->len);
MD5Update(&context, cifs_pdu->Protocol, cifs_pdu->smb_buf_length); cifs_MD5_update(&context, cifs_pdu->Protocol, cifs_pdu->smb_buf_length);
MD5Final(signature, &context); cifs_MD5_final(signature, &context);
return 0; return 0;
} }
...@@ -96,8 +96,8 @@ static int cifs_calc_signature2(const struct kvec *iov, int n_vec, ...@@ -96,8 +96,8 @@ static int cifs_calc_signature2(const struct kvec *iov, int n_vec,
if ((iov == NULL) || (signature == NULL) || (key == NULL)) if ((iov == NULL) || (signature == NULL) || (key == NULL))
return -EINVAL; return -EINVAL;
MD5Init(&context); cifs_MD5_init(&context);
MD5Update(&context, (char *)&key->data, key->len); cifs_MD5_update(&context, (char *)&key->data, key->len);
for (i = 0; i < n_vec; i++) { for (i = 0; i < n_vec; i++) {
if (iov[i].iov_len == 0) if (iov[i].iov_len == 0)
continue; continue;
...@@ -110,13 +110,13 @@ static int cifs_calc_signature2(const struct kvec *iov, int n_vec, ...@@ -110,13 +110,13 @@ static int cifs_calc_signature2(const struct kvec *iov, int n_vec,
if (i == 0) { if (i == 0) {
if (iov[0].iov_len <= 8) /* cmd field at offset 9 */ if (iov[0].iov_len <= 8) /* cmd field at offset 9 */
break; /* nothing to sign or corrupt header */ break; /* nothing to sign or corrupt header */
MD5Update(&context, iov[0].iov_base+4, cifs_MD5_update(&context, iov[0].iov_base+4,
iov[0].iov_len-4); iov[0].iov_len-4);
} else } else
MD5Update(&context, iov[i].iov_base, iov[i].iov_len); cifs_MD5_update(&context, iov[i].iov_base, iov[i].iov_len);
} }
MD5Final(signature, &context); cifs_MD5_final(signature, &context);
return 0; return 0;
} }
......
...@@ -10,8 +10,8 @@ ...@@ -10,8 +10,8 @@
* with every copy. * with every copy.
* *
* To compute the message digest of a chunk of bytes, declare an * To compute the message digest of a chunk of bytes, declare an
* MD5Context structure, pass it to MD5Init, call MD5Update as * MD5Context structure, pass it to cifs_MD5_init, call cifs_MD5_update as
* needed on buffers full of bytes, and then call MD5Final, which * needed on buffers full of bytes, and then call cifs_MD5_final, which
* will fill a supplied 16-byte array with the digest. * will fill a supplied 16-byte array with the digest.
*/ */
...@@ -45,7 +45,7 @@ byteReverse(unsigned char *buf, unsigned longs) ...@@ -45,7 +45,7 @@ byteReverse(unsigned char *buf, unsigned longs)
* initialization constants. * initialization constants.
*/ */
void void
MD5Init(struct MD5Context *ctx) cifs_MD5_init(struct MD5Context *ctx)
{ {
ctx->buf[0] = 0x67452301; ctx->buf[0] = 0x67452301;
ctx->buf[1] = 0xefcdab89; ctx->buf[1] = 0xefcdab89;
...@@ -61,7 +61,7 @@ MD5Init(struct MD5Context *ctx) ...@@ -61,7 +61,7 @@ MD5Init(struct MD5Context *ctx)
* of bytes. * of bytes.
*/ */
void void
MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len) cifs_MD5_update(struct MD5Context *ctx, unsigned char const *buf, unsigned len)
{ {
register __u32 t; register __u32 t;
...@@ -110,7 +110,7 @@ MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len) ...@@ -110,7 +110,7 @@ MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len)
* 1 0* (64-bit count of bits processed, MSB-first) * 1 0* (64-bit count of bits processed, MSB-first)
*/ */
void void
MD5Final(unsigned char digest[16], struct MD5Context *ctx) cifs_MD5_final(unsigned char digest[16], struct MD5Context *ctx)
{ {
unsigned int count; unsigned int count;
unsigned char *p; unsigned char *p;
...@@ -165,7 +165,7 @@ MD5Final(unsigned char digest[16], struct MD5Context *ctx) ...@@ -165,7 +165,7 @@ MD5Final(unsigned char digest[16], struct MD5Context *ctx)
/* /*
* The core of the MD5 algorithm, this alters an existing MD5 hash to * The core of the MD5 algorithm, this alters an existing MD5 hash to
* reflect the addition of 16 longwords of new data. MD5Update blocks * reflect the addition of 16 longwords of new data. cifs_MD5_update blocks
* the data and converts bytes into longwords for this routine. * the data and converts bytes into longwords for this routine.
*/ */
static void static void
...@@ -267,9 +267,9 @@ hmac_md5_init_rfc2104(unsigned char *key, int key_len, ...@@ -267,9 +267,9 @@ hmac_md5_init_rfc2104(unsigned char *key, int key_len,
unsigned char tk[16]; unsigned char tk[16];
struct MD5Context tctx; struct MD5Context tctx;
MD5Init(&tctx); cifs_MD5_init(&tctx);
MD5Update(&tctx, key, key_len); cifs_MD5_update(&tctx, key, key_len);
MD5Final(tk, &tctx); cifs_MD5_final(tk, &tctx);
key = tk; key = tk;
key_len = 16; key_len = 16;
...@@ -287,8 +287,8 @@ hmac_md5_init_rfc2104(unsigned char *key, int key_len, ...@@ -287,8 +287,8 @@ hmac_md5_init_rfc2104(unsigned char *key, int key_len,
ctx->k_opad[i] ^= 0x5c; ctx->k_opad[i] ^= 0x5c;
} }
MD5Init(&ctx->ctx); cifs_MD5_init(&ctx->ctx);
MD5Update(&ctx->ctx, ctx->k_ipad, 64); cifs_MD5_update(&ctx->ctx, ctx->k_ipad, 64);
} }
#endif #endif
...@@ -317,8 +317,8 @@ hmac_md5_init_limK_to_64(const unsigned char *key, int key_len, ...@@ -317,8 +317,8 @@ hmac_md5_init_limK_to_64(const unsigned char *key, int key_len,
ctx->k_opad[i] ^= 0x5c; ctx->k_opad[i] ^= 0x5c;
} }
MD5Init(&ctx->ctx); cifs_MD5_init(&ctx->ctx);
MD5Update(&ctx->ctx, ctx->k_ipad, 64); cifs_MD5_update(&ctx->ctx, ctx->k_ipad, 64);
} }
/*********************************************************************** /***********************************************************************
...@@ -328,7 +328,7 @@ void ...@@ -328,7 +328,7 @@ void
hmac_md5_update(const unsigned char *text, int text_len, hmac_md5_update(const unsigned char *text, int text_len,
struct HMACMD5Context *ctx) struct HMACMD5Context *ctx)
{ {
MD5Update(&ctx->ctx, text, text_len); /* then text of datagram */ cifs_MD5_update(&ctx->ctx, text, text_len); /* then text of datagram */
} }
/*********************************************************************** /***********************************************************************
...@@ -339,12 +339,12 @@ hmac_md5_final(unsigned char *digest, struct HMACMD5Context *ctx) ...@@ -339,12 +339,12 @@ hmac_md5_final(unsigned char *digest, struct HMACMD5Context *ctx)
{ {
struct MD5Context ctx_o; struct MD5Context ctx_o;
MD5Final(digest, &ctx->ctx); cifs_MD5_final(digest, &ctx->ctx);
MD5Init(&ctx_o); cifs_MD5_init(&ctx_o);
MD5Update(&ctx_o, ctx->k_opad, 64); cifs_MD5_update(&ctx_o, ctx->k_opad, 64);
MD5Update(&ctx_o, digest, 16); cifs_MD5_update(&ctx_o, digest, 16);
MD5Final(digest, &ctx_o); cifs_MD5_final(digest, &ctx_o);
} }
/*********************************************************** /***********************************************************
......
...@@ -20,10 +20,10 @@ struct HMACMD5Context { ...@@ -20,10 +20,10 @@ struct HMACMD5Context {
}; };
#endif /* _HMAC_MD5_H */ #endif /* _HMAC_MD5_H */
void MD5Init(struct MD5Context *context); void cifs_MD5_init(struct MD5Context *context);
void MD5Update(struct MD5Context *context, unsigned char const *buf, void cifs_MD5_update(struct MD5Context *context, unsigned char const *buf,
unsigned len); unsigned len);
void MD5Final(unsigned char digest[16], struct MD5Context *context); void cifs_MD5_final(unsigned char digest[16], struct MD5Context *context);
/* The following definitions come from lib/hmacmd5.c */ /* The following definitions come from lib/hmacmd5.c */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment