diff options
author | Ravishankar N <ravishankar@redhat.com> | 2018-02-11 06:54:35 +0530 |
---|---|---|
committer | Ravishankar N <ravishankar@redhat.com> | 2018-02-20 03:12:02 +0000 |
commit | 325d714e40b273b99a63f58a4c6c83b7f1143ee5 (patch) | |
tree | fb071a1741afe2877f068fc76b3d28879128f500 /libglusterfs | |
parent | fe8da0eb3cfb596131641ea5142e3d3d6336cba5 (diff) |
posix/afr: handle backward compatibility for rchecksum fop
Added a volume option 'fips-mode-rchecksum' tied to op version 4.
If not set, rchecksum fop will use MD5 instead of SHA256.
updates: #230
Change-Id: Id8ea1303777e6450852c0bc25503cda341a6aec2
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
(cherry picked from commit 6daa6535692b2c68b493636a9bbfdcbc475b3d80)
Diffstat (limited to 'libglusterfs')
-rw-r--r-- | libglusterfs/src/checksum.c | 7 | ||||
-rw-r--r-- | libglusterfs/src/checksum.h | 2 | ||||
-rw-r--r-- | libglusterfs/src/libglusterfs.sym | 1 |
3 files changed, 10 insertions, 0 deletions
diff --git a/libglusterfs/src/checksum.c b/libglusterfs/src/checksum.c index a7f9877ddf0..561ca04e48b 100644 --- a/libglusterfs/src/checksum.c +++ b/libglusterfs/src/checksum.c @@ -8,6 +8,7 @@ cases as published by the Free Software Foundation. */ +#include <openssl/md5.h> #include <openssl/sha.h> #include <zlib.h> #include <stdint.h> @@ -36,3 +37,9 @@ gf_rsync_strong_checksum (unsigned char *data, size_t len, { SHA256((const unsigned char *)data, len, sha256_md); } + +void +gf_rsync_md5_checksum (unsigned char *data, size_t len, unsigned char *md5) +{ + MD5 (data, len, md5); +} diff --git a/libglusterfs/src/checksum.h b/libglusterfs/src/checksum.h index bf7eeede8fc..677a59aa91e 100644 --- a/libglusterfs/src/checksum.h +++ b/libglusterfs/src/checksum.h @@ -17,4 +17,6 @@ gf_rsync_weak_checksum (unsigned char *buf, size_t len); void gf_rsync_strong_checksum (unsigned char *buf, size_t len, unsigned char *sum); +void +gf_rsync_md5_checksum (unsigned char *data, size_t len, unsigned char *md5); #endif /* __CHECKSUM_H__ */ diff --git a/libglusterfs/src/libglusterfs.sym b/libglusterfs/src/libglusterfs.sym index 500f69a9893..8d263c4cb5c 100644 --- a/libglusterfs/src/libglusterfs.sym +++ b/libglusterfs/src/libglusterfs.sym @@ -638,6 +638,7 @@ gf_resolve_path_parent gf_rev_dns_lookup gf_rev_dns_lookup_cached gf_rsync_strong_checksum +gf_rsync_md5_checksum gf_rsync_weak_checksum gf_set_log_file_path gf_set_log_ident |