From 8fad2b38eded462c0ae10888f4ad8276a22f1d0b Mon Sep 17 00:00:00 2001 From: "7u83@mail.ru" <7u83@mail.ru@noemail.net> Date: Mon, 6 Apr 2015 12:32:20 +0000 Subject: [PATCH] Initalk commit. FossilOrigin-Name: 149a31d217702281fa2edf5544d87217e317853d6546be83c8e87531fecedadf --- src/capwap/capwap_crypto.h | 11 +++++++++++ src/capwap/md5sum.c | 30 ++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 src/capwap/capwap_crypto.h create mode 100644 src/capwap/md5sum.c diff --git a/src/capwap/capwap_crypto.h b/src/capwap/capwap_crypto.h new file mode 100644 index 00000000..8f02f925 --- /dev/null +++ b/src/capwap/capwap_crypto.h @@ -0,0 +1,11 @@ +#ifndef __CAPWAP_CRYPTO_H +#define __CAPWAP_CRYPTO_H + +#include + +#define CW_MD5_DIGEST_SIZE MD5_DIGEST_SIZE + +int cw_fgetmd5sum(uint8_t *digest, FILE *infile); + + +#endif diff --git a/src/capwap/md5sum.c b/src/capwap/md5sum.c new file mode 100644 index 00000000..ecc5db7f --- /dev/null +++ b/src/capwap/md5sum.c @@ -0,0 +1,30 @@ + +#include +#include + +#include + +#include "capwap_crypto.h" + + +#define BLOCK_SIZE 4096 + + +int cw_fgetmd5sum(uint8_t *digest, FILE *infile) +{ + struct md5_ctx ctx; + uint8_t buffer[BLOCK_SIZE]; + md5_init(&ctx); + + while (!feof(infile)){ + int bytes = fread(buffer,1,sizeof(buffer),infile); + md5_update(&ctx,bytes,buffer); + } + + if (ferror(infile)) + return errno; + + md5_digest(&ctx, MD5_DIGEST_SIZE, digest); + return 0; +} +