From 3bdd2a140d56b1533953b53f7565ab86bf4908c3 Mon Sep 17 00:00:00 2001 From: Jeroen Koekkoek Date: Wed, 10 Apr 2019 14:23:33 +0200 Subject: [PATCH] Move md5 from ddsi to ddsrt Signed-off-by: Jeroen Koekkoek --- src/core/ddsc/src/dds_key.c | 11 +++-- src/core/ddsc/src/dds_serdata_builtintopic.c | 2 +- src/core/ddsc/src/dds_sertopic_builtintopic.c | 2 +- src/core/ddsc/src/dds_stream.c | 14 +++--- src/core/ddsi/CMakeLists.txt | 2 - src/core/ddsi/src/ddsi_serdata.c | 2 +- src/core/ddsi/src/ddsi_serdata_default.c | 14 +++--- src/core/ddsi/src/ddsi_sertopic.c | 15 +++--- src/core/ddsi/src/ddsi_sertopic_default.c | 2 +- src/core/ddsi/src/q_ddsi_discovery.c | 3 +- src/core/ddsi/src/q_init.c | 2 +- src/core/ddsi/src/q_misc.c | 3 +- src/core/ddsi/src/q_nwif.c | 13 ++--- src/core/ddsi/src/q_receive.c | 5 +- src/ddsrt/CMakeLists.txt | 2 +- .../q_md5.h => ddsrt/include/dds/ddsrt/md5.h} | 26 +++++----- .../ddsi/src/q_md5.c => ddsrt/src/md5.c} | 47 ++++++++++--------- 17 files changed, 84 insertions(+), 81 deletions(-) rename src/{core/ddsi/include/dds/ddsi/q_md5.h => ddsrt/include/dds/ddsrt/md5.h} (83%) rename src/{core/ddsi/src/q_md5.c => ddsrt/src/md5.c} (91%) diff --git a/src/core/ddsc/src/dds_key.c b/src/core/ddsc/src/dds_key.c index d0ab249..b919c85 100644 --- a/src/core/ddsc/src/dds_key.c +++ b/src/core/ddsc/src/dds_key.c @@ -11,11 +11,12 @@ */ #include #include + +#include "dds/ddsrt/md5.h" #include "dds__key.h" #include "dds__stream.h" #include "dds/ddsi/ddsi_serdata.h" #include "dds/ddsi/q_bswap.h" -#include "dds/ddsi/q_md5.h" #ifndef NDEBUG static bool keyhash_is_reset(const dds_key_hash_t *kh) @@ -112,14 +113,14 @@ void dds_key_gen (const dds_topic_descriptor_t * const desc, dds_key_hash_t * kh else { dds_stream_t os; - md5_state_t md5st; + ddsrt_md5_state_t md5st; kh->m_iskey = 0; dds_stream_init(&os, 64); os.m_endian = 0; dds_key_gen_stream (desc, &os, sample); - md5_init (&md5st); - md5_append (&md5st, os.m_buffer.p8, os.m_index); - md5_finish (&md5st, (unsigned char *) kh->m_hash); + ddsrt_md5_init (&md5st); + ddsrt_md5_append (&md5st, os.m_buffer.p8, os.m_index); + ddsrt_md5_finish (&md5st, (unsigned char *) kh->m_hash); dds_stream_fini (&os); } } diff --git a/src/core/ddsc/src/dds_serdata_builtintopic.c b/src/core/ddsc/src/dds_serdata_builtintopic.c index 4d45df5..b62d405 100644 --- a/src/core/ddsc/src/dds_serdata_builtintopic.c +++ b/src/core/ddsc/src/dds_serdata_builtintopic.c @@ -15,7 +15,7 @@ #include #include "dds/ddsrt/heap.h" -#include "dds/ddsi/q_md5.h" +#include "dds/ddsrt/md5.h" #include "dds/ddsi/q_bswap.h" #include "dds/ddsi/q_config.h" #include "dds/ddsi/q_freelist.h" diff --git a/src/core/ddsc/src/dds_sertopic_builtintopic.c b/src/core/ddsc/src/dds_sertopic_builtintopic.c index 87bfe0d..05c9544 100644 --- a/src/core/ddsc/src/dds_sertopic_builtintopic.c +++ b/src/core/ddsc/src/dds_sertopic_builtintopic.c @@ -16,7 +16,7 @@ #include "dds/dds.h" #include "dds/ddsrt/heap.h" -#include "dds/ddsi/q_md5.h" +#include "dds/ddsrt/md5.h" #include "dds/ddsi/q_bswap.h" #include "dds/ddsi/q_config.h" #include "dds/ddsi/q_freelist.h" diff --git a/src/core/ddsc/src/dds_stream.c b/src/core/ddsc/src/dds_stream.c index 2fbee03..9d7505c 100644 --- a/src/core/ddsc/src/dds_stream.c +++ b/src/core/ddsc/src/dds_stream.c @@ -11,19 +11,19 @@ */ #include #include + +#include "dds/ddsrt/endian.h" +#include "dds/ddsrt/md5.h" #include "dds/ddsi/q_bswap.h" #include "dds/ddsi/q_config.h" #include "dds__stream.h" #include "dds__key.h" #include "dds__alloc.h" -#include "dds/ddsi/q_md5.h" -#include "dds/ddsrt/endian.h" //#define OP_DEBUG_READ 1 //#define OP_DEBUG_WRITE 1 //#define OP_DEBUG_KEY 1 - #if defined OP_DEBUG_WRITE || defined OP_DEBUG_READ || defined OP_DEBUG_KEY static const char * stream_op_type[11] = { @@ -1612,14 +1612,14 @@ void dds_stream_read_keyhash else { dds_stream_t os; - md5_state_t md5st; + ddsrt_md5_state_t md5st; kh->m_iskey = 0; dds_stream_init (&os, 0); os.m_endian = 0; dds_stream_extract_key (is, &os, desc->m_ops, just_key); - md5_init (&md5st); - md5_append (&md5st, os.m_buffer.p8, os.m_index); - md5_finish (&md5st, (unsigned char *) kh->m_hash); + ddsrt_md5_init (&md5st); + ddsrt_md5_append (&md5st, os.m_buffer.p8, os.m_index); + ddsrt_md5_finish (&md5st, (unsigned char *) kh->m_hash); dds_stream_fini (&os); } } diff --git a/src/core/ddsi/CMakeLists.txt b/src/core/ddsi/CMakeLists.txt index 29725a1..8821665 100644 --- a/src/core/ddsi/CMakeLists.txt +++ b/src/core/ddsi/CMakeLists.txt @@ -39,7 +39,6 @@ PREPEND(srcs_ddsi "${CMAKE_CURRENT_LIST_DIR}/src" q_init.c q_lat_estim.c q_lease.c - q_md5.c q_misc.c q_nwif.c q_pcap.c @@ -97,7 +96,6 @@ PREPEND(hdrs_private_ddsi "${CMAKE_CURRENT_LIST_DIR}/include/dds/ddsi" q_lat_estim.h q_lease.h q_log.h - q_md5.h q_misc.h q_nwif.h q_pcap.h diff --git a/src/core/ddsi/src/ddsi_serdata.c b/src/core/ddsi/src/ddsi_serdata.c index 524241c..140c049 100644 --- a/src/core/ddsi/src/ddsi_serdata.c +++ b/src/core/ddsi/src/ddsi_serdata.c @@ -14,7 +14,7 @@ #include #include -#include "dds/ddsi/q_md5.h" +#include "dds/ddsrt/md5.h" #include "dds/ddsi/q_bswap.h" #include "dds/ddsi/q_config.h" #include "dds/ddsi/q_freelist.h" diff --git a/src/core/ddsi/src/ddsi_serdata_default.c b/src/core/ddsi/src/ddsi_serdata_default.c index 9e938a8..c7c2cf9 100644 --- a/src/core/ddsi/src/ddsi_serdata_default.c +++ b/src/core/ddsi/src/ddsi_serdata_default.c @@ -16,7 +16,7 @@ #include "dds/ddsrt/heap.h" #include "dds/ddsrt/log.h" -#include "dds/ddsi/q_md5.h" +#include "dds/ddsrt/md5.h" #include "dds/ddsi/q_bswap.h" #include "dds/ddsi/q_config.h" #include "dds/ddsi/q_freelist.h" @@ -377,16 +377,16 @@ static struct ddsi_serdata *serdata_default_from_sample_plist (const struct ddsi const char *topic_name = (const char *) (rawkey + sizeof(uint32_t)); uint32_t topic_name_sz; uint32_t topic_name_sz_BE; - md5_state_t md5st; - md5_byte_t digest[16]; + ddsrt_md5_state_t md5st; + ddsrt_md5_byte_t digest[16]; topic_name_sz = (uint32_t) strlen (topic_name) + 1; topic_name_sz_BE = toBE4u (topic_name_sz); d->keyhash.m_set = 1; d->keyhash.m_iskey = 0; - md5_init (&md5st); - md5_append (&md5st, (const md5_byte_t *) &topic_name_sz_BE, sizeof (topic_name_sz_BE)); - md5_append (&md5st, (const md5_byte_t *) topic_name, topic_name_sz); - md5_finish (&md5st, digest); + ddsrt_md5_init (&md5st); + ddsrt_md5_append (&md5st, (const ddsrt_md5_byte_t *) &topic_name_sz_BE, sizeof (topic_name_sz_BE)); + ddsrt_md5_append (&md5st, (const ddsrt_md5_byte_t *) topic_name, topic_name_sz); + ddsrt_md5_finish (&md5st, digest); memcpy (d->keyhash.m_hash, digest, 16); #ifndef NDEBUG keysize = sizeof (uint32_t) + topic_name_sz; diff --git a/src/core/ddsi/src/ddsi_sertopic.c b/src/core/ddsi/src/ddsi_sertopic.c index be68930..c4971b2 100644 --- a/src/core/ddsi/src/ddsi_sertopic.c +++ b/src/core/ddsi/src/ddsi_sertopic.c @@ -15,13 +15,12 @@ #include #include "dds/ddsrt/heap.h" -#include "dds/ddsi/q_md5.h" +#include "dds/ddsrt/md5.h" #include "dds/ddsi/q_bswap.h" #include "dds/ddsi/q_config.h" #include "dds/ddsi/q_freelist.h" #include "dds/ddsi/ddsi_sertopic.h" #include "dds/ddsi/ddsi_serdata.h" -#include "dds/ddsi/q_md5.h" struct ddsi_sertopic *ddsi_sertopic_ref (const struct ddsi_sertopic *sertopic_const) { @@ -48,13 +47,13 @@ void ddsi_sertopic_unref (struct ddsi_sertopic *sertopic) uint32_t ddsi_sertopic_compute_serdata_basehash (const struct ddsi_serdata_ops *ops) { - md5_state_t md5st; - md5_byte_t digest[16]; + ddsrt_md5_state_t md5st; + ddsrt_md5_byte_t digest[16]; uint32_t res; - md5_init (&md5st); - md5_append (&md5st, (const md5_byte_t *) &ops, sizeof (ops)); - md5_append (&md5st, (const md5_byte_t *) ops, sizeof (*ops)); - md5_finish (&md5st, digest); + ddsrt_md5_init (&md5st); + ddsrt_md5_append (&md5st, (const ddsrt_md5_byte_t *) &ops, sizeof (ops)); + ddsrt_md5_append (&md5st, (const ddsrt_md5_byte_t *) ops, sizeof (*ops)); + ddsrt_md5_finish (&md5st, digest); memcpy (&res, digest, sizeof (res)); return res; } diff --git a/src/core/ddsi/src/ddsi_sertopic_default.c b/src/core/ddsi/src/ddsi_sertopic_default.c index be90044..3fff736 100644 --- a/src/core/ddsi/src/ddsi_sertopic_default.c +++ b/src/core/ddsi/src/ddsi_sertopic_default.c @@ -14,7 +14,7 @@ #include #include -#include "dds/ddsi/q_md5.h" +#include "dds/ddsrt/md5.h" #include "dds/ddsi/q_bswap.h" #include "dds/ddsi/q_config.h" #include "dds/ddsi/q_freelist.h" diff --git a/src/core/ddsi/src/q_ddsi_discovery.c b/src/core/ddsi/src/q_ddsi_discovery.c index 3f5a4b6..be434dd 100644 --- a/src/core/ddsi/src/q_ddsi_discovery.c +++ b/src/core/ddsi/src/q_ddsi_discovery.c @@ -18,6 +18,7 @@ #include "dds/version.h" #include "dds/ddsrt/heap.h" #include "dds/ddsrt/log.h" +#include "dds/ddsrt/md5.h" #include "dds/ddsrt/sync.h" #include "dds/util/ut_avl.h" #include "dds/ddsi/q_protocol.h" @@ -30,6 +31,7 @@ #include "dds/ddsi/q_xevent.h" #include "dds/ddsi/q_addrset.h" #include "dds/ddsi/q_ddsi_discovery.h" + #include "dds/ddsi/q_radmin.h" #include "dds/ddsi/q_ephash.h" #include "dds/ddsi/q_entity.h" @@ -40,7 +42,6 @@ #include "dds/ddsi/q_lease.h" #include "dds/ddsi/q_error.h" #include "dds/ddsi/ddsi_serdata_default.h" -#include "dds/ddsi/q_md5.h" #include "dds/ddsi/q_feature_check.h" static int get_locator (nn_locator_t *loc, const nn_locators_t *locs, int uc_same_subnet) diff --git a/src/core/ddsi/src/q_init.c b/src/core/ddsi/src/q_init.c index 97ae856..9fddd09 100644 --- a/src/core/ddsi/src/q_init.c +++ b/src/core/ddsi/src/q_init.c @@ -13,6 +13,7 @@ #include #include "dds/ddsrt/heap.h" +#include "dds/ddsrt/md5.h" #include "dds/ddsrt/process.h" #include "dds/ddsrt/time.h" #include "dds/ddsrt/string.h" @@ -21,7 +22,6 @@ #include "dds/util/ut_avl.h" #include "dds/util/ut_thread_pool.h" -#include "dds/ddsi/q_md5.h" #include "dds/ddsi/q_protocol.h" #include "dds/ddsi/q_rtps.h" #include "dds/ddsi/q_misc.h" diff --git a/src/core/ddsi/src/q_misc.c b/src/core/ddsi/src/q_misc.c index 3c97d19..8569c01 100644 --- a/src/core/ddsi/src/q_misc.c +++ b/src/core/ddsi/src/q_misc.c @@ -12,8 +12,9 @@ #include #include "dds/ddsi/q_misc.h" + +#include "dds/ddsrt/md5.h" #include "dds/ddsi/q_bswap.h" -#include "dds/ddsi/q_md5.h" extern inline seqno_t fromSN (const nn_sequence_number_t sn); extern inline nn_sequence_number_t toSN (seqno_t n); diff --git a/src/core/ddsi/src/q_nwif.c b/src/core/ddsi/src/q_nwif.c index 66c49bf..c013080 100644 --- a/src/core/ddsi/src/q_nwif.c +++ b/src/core/ddsi/src/q_nwif.c @@ -17,15 +17,16 @@ #include "dds/ddsrt/ifaddrs.h" #include "dds/ddsrt/heap.h" +#include "dds/ddsrt/md5.h" #include "dds/ddsrt/string.h" #include "dds/ddsrt/sockets.h" #include "dds/ddsi/q_log.h" #include "dds/ddsi/q_nwif.h" + #include "dds/ddsi/q_globals.h" #include "dds/ddsi/q_config.h" #include "dds/ddsi/q_unused.h" -#include "dds/ddsi/q_md5.h" #include "dds/ddsi/q_misc.h" #include "dds/ddsi/q_addrset.h" /* unspec locator */ #include "dds/ddsi/q_feature_check.h" @@ -45,11 +46,11 @@ unsigned locator_to_hopefully_unique_uint32 (const nn_locator_t *src) else { #if DDSRT_HAVE_IPV6 - md5_state_t st; - md5_byte_t digest[16]; - md5_init (&st); - md5_append (&st, (const md5_byte_t *) ((const struct sockaddr_in6 *) src)->sin6_addr.s6_addr, 16); - md5_finish (&st, digest); + ddsrt_md5_state_t st; + ddsrt_md5_byte_t digest[16]; + ddsrt_md5_init (&st); + ddsrt_md5_append (&st, (const ddsrt_md5_byte_t *) ((const struct sockaddr_in6 *) src)->sin6_addr.s6_addr, 16); + ddsrt_md5_finish (&st, digest); memcpy (&id, digest, sizeof (id)); #else DDS_FATAL("IPv6 unavailable\n"); diff --git a/src/core/ddsi/src/q_receive.c b/src/core/ddsi/src/q_receive.c index bd628f8..f463392 100644 --- a/src/core/ddsi/src/q_receive.c +++ b/src/core/ddsi/src/q_receive.c @@ -15,11 +15,11 @@ #include #include "dds/ddsrt/heap.h" +#include "dds/ddsrt/log.h" +#include "dds/ddsrt/md5.h" #include "dds/ddsrt/sync.h" #include "dds/ddsrt/string.h" -#include "dds/ddsrt/log.h" -#include "dds/ddsi/q_md5.h" #include "dds/util/ut_avl.h" #include "dds__stream.h" #include "dds/ddsi/q_protocol.h" @@ -44,6 +44,7 @@ #include "dds/ddsi/q_entity.h" #include "dds/ddsi/q_xmsg.h" #include "dds/ddsi/q_receive.h" + #include "dds/ddsi/q_transmit.h" #include "dds/ddsi/q_globals.h" #include "dds/ddsi/q_static_assert.h" diff --git a/src/ddsrt/CMakeLists.txt b/src/ddsrt/CMakeLists.txt index e8b62a6..5179742 100644 --- a/src/ddsrt/CMakeLists.txt +++ b/src/ddsrt/CMakeLists.txt @@ -89,7 +89,7 @@ list(APPEND sources # network stack. In order to mix-and-match various compilers, architectures, # operating systems, etc input from the build system is required. foreach(feature atomics cdtors environ heap ifaddrs random rusage - sockets string sync threads time) + sockets string sync threads time md5) if(EXISTS "${include_path}/dds/ddsrt/${feature}.h") list(APPEND headers "${include_path}/dds/ddsrt/${feature}.h") file(GLOB diff --git a/src/core/ddsi/include/dds/ddsi/q_md5.h b/src/ddsrt/include/dds/ddsrt/md5.h similarity index 83% rename from src/core/ddsi/include/dds/ddsi/q_md5.h rename to src/ddsrt/include/dds/ddsrt/md5.h index e040de0..4777d04 100644 --- a/src/core/ddsi/include/dds/ddsi/q_md5.h +++ b/src/ddsrt/include/dds/ddsrt/md5.h @@ -59,8 +59,8 @@ 1999-05-03 lpd Original version. */ -#ifndef md5_INCLUDED -# define md5_INCLUDED +#ifndef DDSRT_MD5_H +#define DDSRT_MD5_H #include @@ -74,15 +74,15 @@ * efficiently on either one than if ARCH_IS_BIG_ENDIAN is defined. */ -typedef unsigned char md5_byte_t; /* 8-bit byte */ -typedef unsigned int md5_word_t; /* 32-bit word */ +typedef unsigned char ddsrt_md5_byte_t; /* 8-bit byte */ +typedef unsigned int ddsrt_md5_word_t; /* 32-bit word */ /* Define the state of the MD5 Algorithm. */ -typedef struct md5_state_s { - md5_word_t count[2]; /* message length in bits, lsw first */ - md5_word_t abcd[4]; /* digest buffer */ - md5_byte_t buf[64]; /* accumulate block */ -} md5_state_t; +typedef struct ddsrt_md5_state_s { + ddsrt_md5_word_t count[2]; /* message length in bits, lsw first */ + ddsrt_md5_word_t abcd[4]; /* digest buffer */ + ddsrt_md5_byte_t buf[64]; /* accumulate block */ +} ddsrt_md5_state_t; #ifdef __cplusplus extern "C" @@ -90,16 +90,16 @@ extern "C" #endif /* Initialize the algorithm. */ -void md5_init(md5_state_t *pms); +void ddsrt_md5_init(ddsrt_md5_state_t *pms); /* Append a string to the message. */ -void md5_append(md5_state_t *pms, const md5_byte_t *data, unsigned nbytes); +void ddsrt_md5_append(ddsrt_md5_state_t *pms, const ddsrt_md5_byte_t *data, unsigned nbytes); /* Finish the message and return the digest. */ -void md5_finish(md5_state_t *pms, md5_byte_t digest[16]); +void ddsrt_md5_finish(ddsrt_md5_state_t *pms, ddsrt_md5_byte_t digest[16]); #ifdef __cplusplus } /* end extern "C" */ #endif -#endif /* md5_INCLUDED */ +#endif /* DDSRT_MD5_H */ diff --git a/src/core/ddsi/src/q_md5.c b/src/ddsrt/src/md5.c similarity index 91% rename from src/core/ddsi/src/q_md5.c rename to src/ddsrt/src/md5.c index 1a041c2..3116749 100644 --- a/src/core/ddsi/src/q_md5.c +++ b/src/ddsrt/src/md5.c @@ -63,9 +63,10 @@ 1999-05-03 lpd Original version. */ -#include "dds/ddsi/q_md5.h" #include + #include "dds/ddsrt/endian.h" /* big or little endianness */ +#include "dds/ddsrt/md5.h" /* Byte order stuff hacked to use OSPL's macros */ #undef BYTE_ORDER /* 1 = big-endian, -1 = little-endian, 0 = unknown */ @@ -77,7 +78,7 @@ # error "DDSRT_ENDIAN not defined" #endif -#define T_MASK ((md5_word_t)~0) +#define T_MASK ((ddsrt_md5_word_t)~0) #define T1 /* 0xd76aa478 */ (T_MASK ^ 0x28955b87) #define T2 /* 0xe8c7b756 */ (T_MASK ^ 0x173848a9) #define T3 0x242070db @@ -145,19 +146,19 @@ static void -md5_process(md5_state_t *pms, const md5_byte_t *data /*[64]*/) +md5_process(ddsrt_md5_state_t *pms, const ddsrt_md5_byte_t *data /*[64]*/) { - md5_word_t + ddsrt_md5_word_t a = pms->abcd[0], b = pms->abcd[1], c = pms->abcd[2], d = pms->abcd[3]; - md5_word_t t; + ddsrt_md5_word_t t; #if BYTE_ORDER > 0 /* Define storage only for big-endian CPUs. */ - md5_word_t X[16]; + ddsrt_md5_word_t X[16]; #else /* Define storage for little-endian or both types of CPUs. */ - md5_word_t xbuf[16]; - const md5_word_t *X; + ddsrt_md5_word_t xbuf[16]; + const ddsrt_md5_word_t *X; #endif { @@ -169,7 +170,7 @@ md5_process(md5_state_t *pms, const md5_byte_t *data /*[64]*/) */ static const int w = 1; - if (*((const md5_byte_t *)&w)) /* dynamic little-endian */ + if (*((const ddsrt_md5_byte_t *)&w)) /* dynamic little-endian */ #endif #if BYTE_ORDER <= 0 /* little-endian */ { @@ -177,9 +178,9 @@ md5_process(md5_state_t *pms, const md5_byte_t *data /*[64]*/) * On little-endian machines, we can process properly aligned * data without copying it. */ - if (!((data - (const md5_byte_t *)0) & 3)) { + if (!((data - (const ddsrt_md5_byte_t *)0) & 3)) { /* data are properly aligned */ - X = (const md5_word_t *)data; + X = (const ddsrt_md5_word_t *)data; } else { /* not aligned */ memcpy(xbuf, data, 64); @@ -196,7 +197,7 @@ md5_process(md5_state_t *pms, const md5_byte_t *data /*[64]*/) * On big-endian machines, we must arrange the bytes in the * right order. */ - const md5_byte_t *xp = data; + const ddsrt_md5_byte_t *xp = data; int i; # if BYTE_ORDER == 0 @@ -326,7 +327,7 @@ md5_process(md5_state_t *pms, const md5_byte_t *data /*[64]*/) } void -md5_init(md5_state_t *pms) +ddsrt_md5_init(ddsrt_md5_state_t *pms) { pms->count[0] = pms->count[1] = 0; pms->abcd[0] = 0x67452301; @@ -336,12 +337,12 @@ md5_init(md5_state_t *pms) } void -md5_append(md5_state_t *pms, const md5_byte_t *data, unsigned nbytes) +ddsrt_md5_append(ddsrt_md5_state_t *pms, const ddsrt_md5_byte_t *data, unsigned nbytes) { - const md5_byte_t *p = data; + const ddsrt_md5_byte_t *p = data; unsigned left = nbytes; unsigned offset = (pms->count[0] >> 3) & 63; - md5_word_t nbits = (md5_word_t)(nbytes << 3); + ddsrt_md5_word_t nbits = (ddsrt_md5_word_t)(nbytes << 3); if (nbytes == 0) return; @@ -374,24 +375,24 @@ md5_append(md5_state_t *pms, const md5_byte_t *data, unsigned nbytes) } void -md5_finish(md5_state_t *pms, md5_byte_t digest[16]) +ddsrt_md5_finish(ddsrt_md5_state_t *pms, ddsrt_md5_byte_t digest[16]) { - static const md5_byte_t pad[64] = { + static const ddsrt_md5_byte_t pad[64] = { 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - md5_byte_t data[8]; + ddsrt_md5_byte_t data[8]; int i; /* Save the length before padding. */ for (i = 0; i < 8; ++i) - data[i] = (md5_byte_t)(pms->count[i >> 2] >> ((i & 3) << 3)); + data[i] = (ddsrt_md5_byte_t)(pms->count[i >> 2] >> ((i & 3) << 3)); /* Pad to 56 bytes mod 64. */ - md5_append(pms, pad, ((55 - (pms->count[0] >> 3)) & 63) + 1); + ddsrt_md5_append(pms, pad, ((55 - (pms->count[0] >> 3)) & 63) + 1); /* Append the length. */ - md5_append(pms, data, 8); + ddsrt_md5_append(pms, data, 8); for (i = 0; i < 16; ++i) - digest[i] = (md5_byte_t)(pms->abcd[i >> 2] >> ((i & 3) << 3)); + digest[i] = (ddsrt_md5_byte_t)(pms->abcd[i >> 2] >> ((i & 3) << 3)); }