Previously they used hex to refer to binary data which is confusing
since other std::string return types are actually hex. Also remove
unused s3fs_md5sum.
Previously s3fs could create a long list of pre-signed requests which
could take longer than the default S3 clock skew limit of 15 minutes.
This also changes SHA-256 computation from single- to multi-threaded
since this is now computed in the worker threads. Regression from
88cd8feb05. Fixes#1019.
Without this change, the following warning appears in the syslog/journal
during startup:
Libgcrypt warning: missing initialization - please fix the application
From the [documentation][0]:
> The function `gcry_check_version` initializes some subsystems used by
> Libgcrypt and must be invoked before any other function in the
> library.
Fixes#524, which says:
> gnutls is initialized by gnutls_global_init() function and
> gcry_check_version() function for initializing libgcry is called from
> this gnutls_global_init().
I checked the gnutls source and it hasn't contained a call to
gcry_check_version() since the libgcrypt backend was removed in 2011
(commit 8116cdc8f131edd586dad3128ae35dd744cfc32f). In any case, the
gcry_check_version() documentation continues:
> It is important that these initialization steps are not done by a
> library but by the actual application.
so it would be incorrect for a library used by s3fs to initialize
libgcrypt.
[0]: https://www.gnupg.org/documentation/manuals/gcrypt/Initializing-the-library.html