rhash / RHash

Great utility for computing hash sums
http://rhash.sf.net
BSD Zero Clause License
570 stars 116 forks source link

Doesn't work with AWS-LC/BoringSSL #263

Open theoparis opened 4 months ago

theoparis commented 4 months ago
plug_openssl.c:142:32: error: no member named 'A' in 'md4_state_st'
  142 |         { &info_md4, sizeof(MD4_CTX), offsetof(MD4_CTX, A), HASH_INFO_METHODS(MD4) }, /* 128 bit */
      |                                       ^                 ~
/home/theo/Documents/llvm-builds/install/lib/clang/19/include/__stddef_offsetof.h:16:24: note: expanded from macro 'offsetof'
   16 | #define offsetof(t, d) __builtin_offsetof(t, d)
      |                        ^                     ~
plug_openssl.c:147:32: error: no member named 'A' in 'md5_state_st'
  147 |         { &info_md5, sizeof(MD5_CTX), offsetof(MD5_CTX, A), HASH_INFO_METHODS(MD5) }, /* 128 bit */
      |                                       ^                 ~
/home/theo/Documents/llvm-builds/install/lib/clang/19/include/__stddef_offsetof.h:16:24: note: expanded from macro 'offsetof'
   16 | #define offsetof(t, d) __builtin_offsetof(t, d)
      |                        ^                     ~
plug_openssl.c:152:33: error: no member named 'h0' in 'sha_state_st'
  152 |         { &info_sha1, sizeof(SHA_CTX), offsetof(SHA_CTX, h0),  HASH_INFO_METHODS(SHA1) }, /* 160 bit */
      |                                        ^                 ~~
/home/theo/Documents/llvm-builds/install/lib/clang/19/include/__stddef_offsetof.h:16:24: note: expanded from macro 'offsetof'
   16 | #define offsetof(t, d) __builtin_offsetof(t, d)
      |                        ^                     ~
3 errors generated.
^Cmake[1]: *** [Makefile:185: librhash.so.1.4.4] Interrupt
make: *** [Makefile:121: librhash/librhash.so.1.4.4] Interrupt

Unfortunately I cannot use openssl due to QUIC not being properly supported. Edit: AWS-LC is a fork of boringssl that is maintained by AWS that deals with stability for the most part.

rhash commented 4 months ago

BoringSSL will not be supported because it does not guarantee API or ABI stability.

As workarround use the following command to configure the project:

./configure --disable-openssl