mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2025-01-09 18:41:55 +00:00
MD5: change naming style
MD5Init -> md5_init MD5Update -> md5_update MD5Transform -> md5_transform MD5Final -> md5_final MD5Context -> md5_context
This commit is contained in:
parent
5aa9ab0cfd
commit
1512c11ddc
16
lib/md5.c
16
lib/md5.c
@ -38,7 +38,7 @@ void byteReverse(unsigned char *buf, unsigned longs)
|
|||||||
* Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
|
* Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
|
||||||
* initialization constants.
|
* initialization constants.
|
||||||
*/
|
*/
|
||||||
void MD5Init(struct MD5Context *ctx)
|
void md5_init(struct md5_context *ctx)
|
||||||
{
|
{
|
||||||
ctx->buf[0] = 0x67452301;
|
ctx->buf[0] = 0x67452301;
|
||||||
ctx->buf[1] = 0xefcdab89;
|
ctx->buf[1] = 0xefcdab89;
|
||||||
@ -53,7 +53,7 @@ void MD5Init(struct MD5Context *ctx)
|
|||||||
* Update context to reflect the concatenation of another buffer full
|
* Update context to reflect the concatenation of another buffer full
|
||||||
* of bytes.
|
* of bytes.
|
||||||
*/
|
*/
|
||||||
void MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len)
|
void md5_update(struct md5_context *ctx, unsigned char const *buf, unsigned len)
|
||||||
{
|
{
|
||||||
u32 t;
|
u32 t;
|
||||||
|
|
||||||
@ -78,7 +78,7 @@ void MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len)
|
|||||||
}
|
}
|
||||||
memcpy(p, buf, t);
|
memcpy(p, buf, t);
|
||||||
byteReverse(ctx->in, 16);
|
byteReverse(ctx->in, 16);
|
||||||
MD5Transform(ctx->buf, (u32 *) ctx->in);
|
md5_transform(ctx->buf, (u32 *) ctx->in);
|
||||||
buf += t;
|
buf += t;
|
||||||
len -= t;
|
len -= t;
|
||||||
}
|
}
|
||||||
@ -87,7 +87,7 @@ void MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len)
|
|||||||
while (len >= 64) {
|
while (len >= 64) {
|
||||||
memcpy(ctx->in, buf, 64);
|
memcpy(ctx->in, buf, 64);
|
||||||
byteReverse(ctx->in, 16);
|
byteReverse(ctx->in, 16);
|
||||||
MD5Transform(ctx->buf, (u32 *) ctx->in);
|
md5_transform(ctx->buf, (u32 *) ctx->in);
|
||||||
buf += 64;
|
buf += 64;
|
||||||
len -= 64;
|
len -= 64;
|
||||||
}
|
}
|
||||||
@ -101,7 +101,7 @@ void MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len)
|
|||||||
* Final wrapup - pad to 64-byte boundary with the bit pattern
|
* Final wrapup - pad to 64-byte boundary with the bit pattern
|
||||||
* 1 0* (64-bit count of bits processed, MSB-first)
|
* 1 0* (64-bit count of bits processed, MSB-first)
|
||||||
*/
|
*/
|
||||||
void MD5Final(unsigned char digest[16], struct MD5Context *ctx)
|
void md5_final(unsigned char digest[16], struct md5_context *ctx)
|
||||||
{
|
{
|
||||||
unsigned count;
|
unsigned count;
|
||||||
unsigned char *p;
|
unsigned char *p;
|
||||||
@ -122,7 +122,7 @@ void MD5Final(unsigned char digest[16], struct MD5Context *ctx)
|
|||||||
/* Two lots of padding: Pad the first block to 64 bytes */
|
/* Two lots of padding: Pad the first block to 64 bytes */
|
||||||
memset(p, 0, count);
|
memset(p, 0, count);
|
||||||
byteReverse(ctx->in, 16);
|
byteReverse(ctx->in, 16);
|
||||||
MD5Transform(ctx->buf, (u32 *) ctx->in);
|
md5_transform(ctx->buf, (u32 *) ctx->in);
|
||||||
|
|
||||||
/* Now fill the next block with 56 bytes */
|
/* Now fill the next block with 56 bytes */
|
||||||
memset(ctx->in, 0, 56);
|
memset(ctx->in, 0, 56);
|
||||||
@ -136,7 +136,7 @@ void MD5Final(unsigned char digest[16], struct MD5Context *ctx)
|
|||||||
((u32 *) ctx->in)[14] = ctx->bits[0];
|
((u32 *) ctx->in)[14] = ctx->bits[0];
|
||||||
((u32 *) ctx->in)[15] = ctx->bits[1];
|
((u32 *) ctx->in)[15] = ctx->bits[1];
|
||||||
|
|
||||||
MD5Transform(ctx->buf, (u32 *) ctx->in);
|
md5_transform(ctx->buf, (u32 *) ctx->in);
|
||||||
byteReverse((unsigned char *) ctx->buf, 4);
|
byteReverse((unsigned char *) ctx->buf, 4);
|
||||||
memcpy(digest, ctx->buf, 16);
|
memcpy(digest, ctx->buf, 16);
|
||||||
memset((char *) ctx, 0, sizeof(ctx)); /* In case it's sensitive */
|
memset((char *) ctx, 0, sizeof(ctx)); /* In case it's sensitive */
|
||||||
@ -159,7 +159,7 @@ void MD5Final(unsigned char digest[16], struct MD5Context *ctx)
|
|||||||
* reflect the addition of 16 longwords of new data. MD5Update blocks
|
* reflect the addition of 16 longwords of new data. MD5Update blocks
|
||||||
* the data and converts bytes into longwords for this routine.
|
* the data and converts bytes into longwords for this routine.
|
||||||
*/
|
*/
|
||||||
void MD5Transform(u32 buf[4], u32 const in[16])
|
void md5_transform(u32 buf[4], u32 const in[16])
|
||||||
{
|
{
|
||||||
register u32 a, b, c, d;
|
register u32 a, b, c, d;
|
||||||
|
|
||||||
|
21
lib/md5.h
21
lib/md5.h
@ -8,16 +8,23 @@
|
|||||||
* Can be freely distributed and used under the terms of the GNU GPL.
|
* Can be freely distributed and used under the terms of the GNU GPL.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
struct MD5Context {
|
#ifndef _BIRD_MD5_H_
|
||||||
|
#define _BIRD_MD5_H_
|
||||||
|
|
||||||
|
#define MD5_SIZE 16
|
||||||
|
#define MD5_HEX_SIZE 33
|
||||||
|
#define MD5_BLOCK_SIZE 64
|
||||||
|
|
||||||
|
struct md5_context {
|
||||||
u32 buf[4];
|
u32 buf[4];
|
||||||
u32 bits[2];
|
u32 bits[2];
|
||||||
unsigned char in[64];
|
unsigned char in[64];
|
||||||
};
|
} md5_context;
|
||||||
|
|
||||||
|
void md5_init(struct md5_context *context);
|
||||||
|
void md5_update(struct md5_context *context, unsigned char const *buf, unsigned len);
|
||||||
|
void md5_final(unsigned char digest[16], struct md5_context *context);
|
||||||
|
void md5_transform(u32 buf[4], u32 const in[16]);
|
||||||
|
|
||||||
void MD5Init(struct MD5Context *context);
|
|
||||||
void MD5Update(struct MD5Context *context, unsigned char const *buf,
|
|
||||||
unsigned len);
|
|
||||||
void MD5Final(unsigned char digest[16], struct MD5Context *context);
|
|
||||||
void MD5Transform(u32 buf[4], u32 const in[16]);
|
|
||||||
|
|
||||||
#endif /* _BIRD_MD5_H_ */
|
#endif /* _BIRD_MD5_H_ */
|
||||||
|
@ -13,18 +13,15 @@
|
|||||||
#include "lib/md5.h"
|
#include "lib/md5.h"
|
||||||
#include "lib/md5.c" /* REMOVE ME */
|
#include "lib/md5.c" /* REMOVE ME */
|
||||||
|
|
||||||
#define MD5_SIZE 16
|
|
||||||
#define MD5_HEX_SIZE 33
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
get_md5(const char *str, char (*out_hash)[MD5_HEX_SIZE])
|
get_md5(const char *str, char (*out_hash)[MD5_HEX_SIZE])
|
||||||
{
|
{
|
||||||
unsigned char hash[MD5_SIZE];
|
unsigned char hash[MD5_SIZE];
|
||||||
struct MD5Context ctxt;
|
struct md5_context ctxt;
|
||||||
|
|
||||||
MD5Init(&ctxt);
|
md5_init(&ctxt);
|
||||||
MD5Update(&ctxt, str, strlen(str));
|
md5_update(&ctxt, str, strlen(str));
|
||||||
MD5Final(hash, &ctxt);
|
md5_final(hash, &ctxt);
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
for(i = 0; i < MD5_SIZE; i++)
|
for(i = 0; i < MD5_SIZE; i++)
|
||||||
|
@ -108,11 +108,11 @@ ospf_pkt_finalize(struct ospf_iface *ifa, struct ospf_packet *pkt)
|
|||||||
char password[OSPF_AUTH_CRYPT_SIZE];
|
char password[OSPF_AUTH_CRYPT_SIZE];
|
||||||
strncpy(password, passwd->password, sizeof(password));
|
strncpy(password, passwd->password, sizeof(password));
|
||||||
|
|
||||||
struct MD5Context ctxt;
|
struct md5_context ctxt;
|
||||||
MD5Init(&ctxt);
|
md5_init(&ctxt);
|
||||||
MD5Update(&ctxt, (char *) pkt, plen);
|
md5_update(&ctxt, (char *) pkt, plen);
|
||||||
MD5Update(&ctxt, password, OSPF_AUTH_CRYPT_SIZE);
|
md5_update(&ctxt, password, OSPF_AUTH_CRYPT_SIZE);
|
||||||
MD5Final(tail, &ctxt);
|
md5_final(tail, &ctxt);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -180,11 +180,11 @@ ospf_pkt_checkauth(struct ospf_neighbor *n, struct ospf_iface *ifa, struct ospf_
|
|||||||
|
|
||||||
strncpy(passwd, pass->password, OSPF_AUTH_CRYPT_SIZE);
|
strncpy(passwd, pass->password, OSPF_AUTH_CRYPT_SIZE);
|
||||||
|
|
||||||
struct MD5Context ctxt;
|
struct md5_context ctxt;
|
||||||
MD5Init(&ctxt);
|
md5_init(&ctxt);
|
||||||
MD5Update(&ctxt, (char *) pkt, plen);
|
md5_update(&ctxt, (char *) pkt, plen);
|
||||||
MD5Update(&ctxt, passwd, OSPF_AUTH_CRYPT_SIZE);
|
md5_update(&ctxt, passwd, OSPF_AUTH_CRYPT_SIZE);
|
||||||
MD5Final(md5sum, &ctxt);
|
md5_final(md5sum, &ctxt);
|
||||||
|
|
||||||
if (memcmp(md5sum, tail, OSPF_AUTH_CRYPT_SIZE))
|
if (memcmp(md5sum, tail, OSPF_AUTH_CRYPT_SIZE))
|
||||||
DROP("wrong MD5 digest", pass->id);
|
DROP("wrong MD5 digest", pass->id);
|
||||||
|
@ -57,7 +57,7 @@ rip_incoming_authentication( struct proto *p, struct rip_block_auth *block, stru
|
|||||||
{
|
{
|
||||||
struct password_item *pass = NULL, *ptmp;
|
struct password_item *pass = NULL, *ptmp;
|
||||||
struct rip_md5_tail *tail;
|
struct rip_md5_tail *tail;
|
||||||
struct MD5Context ctxt;
|
struct md5_context ctxt;
|
||||||
char md5sum_packet[16];
|
char md5sum_packet[16];
|
||||||
char md5sum_computed[16];
|
char md5sum_computed[16];
|
||||||
struct neighbor *neigh = neigh_find(p, &whotoldme, 0);
|
struct neighbor *neigh = neigh_find(p, &whotoldme, 0);
|
||||||
@ -97,9 +97,9 @@ rip_incoming_authentication( struct proto *p, struct rip_block_auth *block, stru
|
|||||||
memcpy(md5sum_packet, tail->md5, 16);
|
memcpy(md5sum_packet, tail->md5, 16);
|
||||||
strncpy(tail->md5, pass->password, 16);
|
strncpy(tail->md5, pass->password, 16);
|
||||||
|
|
||||||
MD5Init(&ctxt);
|
md5_init(&ctxt);
|
||||||
MD5Update(&ctxt, (char *) packet, ntohs(block->packetlen) + sizeof(struct rip_block_auth) );
|
md5_update(&ctxt, (char *) packet, ntohs(block->packetlen) + sizeof(struct rip_block_auth) );
|
||||||
MD5Final(md5sum_computed, &ctxt);
|
md5_final(md5sum_computed, &ctxt);
|
||||||
if (memcmp(md5sum_packet, md5sum_computed, 16))
|
if (memcmp(md5sum_packet, md5sum_computed, 16))
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -136,7 +136,7 @@ rip_outgoing_authentication( struct proto *p, struct rip_block_auth *block, stru
|
|||||||
case AT_MD5:
|
case AT_MD5:
|
||||||
{
|
{
|
||||||
struct rip_md5_tail *tail;
|
struct rip_md5_tail *tail;
|
||||||
struct MD5Context ctxt;
|
struct md5_context ctxt;
|
||||||
static u32 sequence = 0;
|
static u32 sequence = 0;
|
||||||
|
|
||||||
if (num > PACKET_MD5_MAX)
|
if (num > PACKET_MD5_MAX)
|
||||||
@ -157,9 +157,9 @@ rip_outgoing_authentication( struct proto *p, struct rip_block_auth *block, stru
|
|||||||
tail->mustbe0001 = 0x0100;
|
tail->mustbe0001 = 0x0100;
|
||||||
|
|
||||||
strncpy(tail->md5, passwd->password, 16);
|
strncpy(tail->md5, passwd->password, 16);
|
||||||
MD5Init(&ctxt);
|
md5_init(&ctxt);
|
||||||
MD5Update(&ctxt, (char *) packet, PACKETLEN(num) + sizeof(struct rip_md5_tail));
|
md5_update(&ctxt, (char *) packet, PACKETLEN(num) + sizeof(struct rip_md5_tail));
|
||||||
MD5Final(tail->md5, &ctxt);
|
md5_final(tail->md5, &ctxt);
|
||||||
return PACKETLEN(num) + block->authlen;
|
return PACKETLEN(num) + block->authlen;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
Loading…
Reference in New Issue
Block a user