21#include "apu_config.h"
40static const char *
const apr1_id =
"$apr1$";
42#if !defined(WIN32) && !defined(BEOS) && !defined(NETWARE)
43#if defined(APU_CRYPT_THREADSAFE) || !APR_HAS_THREADS || \
44 defined(CRYPT_R_CRYPTD) || defined(CRYPT_R_STRUCT_CRYPT_DATA)
46#define crypt_mutex_lock()
47#define crypt_mutex_unlock()
49#elif APR_HAVE_PTHREAD_H && defined(PTHREAD_MUTEX_INITIALIZER)
64#error apr_password_validate() is not threadsafe. rebuild APR without thread support.
69#if defined(WIN32) || defined(BEOS) || defined(NETWARE) || defined(__ANDROID__)
70#define CRYPT_MISSING 1
72#define CRYPT_MISSING 0
91 && (
hash[2] ==
'a' ||
hash[2] ==
'y')
111#elif defined(CRYPT_R_CRYPTD)
124#elif defined(CRYPT_R_STRUCT_CRYPT_DATA)
137#if __GLIBC_PREREQ(2,4)
138#define USE_CRYPT_DATA_INITALIZED
142#ifdef USE_CRYPT_DATA_INITALIZED
161#if defined(_AIX) && APR_HAS_THREADS
162#error Configuration error! crypt_r() should have been selected!
189 const unsigned char *
salt,
APR general purpose library routines.
#define crypt_mutex_unlock()
static const char *const apr1_id
static const char *const bcrypt_id
#define crypt_mutex_lock()
APU_DECLARE(void)
Computes SipHash-2-4, producing a 64bit (APR_SIPHASH_DSIZE) hash from a message and a 128bit (APR_SIP...
char * _crypt_blowfish_rn(const char *key, const char *setting, char *output, int size)
char * _crypt_gensalt_blowfish_rn(const char *prefix, unsigned long count, const char *input, int size, char *output, int output_size)
unsigned int const unsigned char apr_size_t salt_len
unsigned int const unsigned char apr_size_t char apr_size_t out_len
#define APR_FROM_OS_ERROR(e)