--- a/libidav/utils.c Sun Dec 17 10:53:08 2017 +0100 +++ b/libidav/utils.c Sun Dec 17 13:20:01 2017 +0100 @@ -46,16 +46,18 @@ #define getpasswordchar() getchar() #endif +#include "webdav.h" +#include "utils.h" +#include "crypto.h" +#include "session.h" + +/* #include <openssl/hmac.h> #include <openssl/evp.h> #include <openssl/bio.h> #include <openssl/buffer.h> #include <openssl/rand.h> - -#include "webdav.h" -#include "utils.h" -#include "crypto.h" -#include "session.h" +*/ static size_t extractval(sstr_t str, char *result, char delim) { size_t n = 0; @@ -490,7 +492,7 @@ char *outbuf = malloc(bufsize+1); *outlen = -1; - unsigned char *out = outbuf; + unsigned char *out = (unsigned char*)outbuf; char *end = in + inlen; char iter = 0; @@ -653,7 +655,11 @@ "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); const unsigned char *table = (const unsigned char*)t.ptr; +#ifdef DAV_USE_OPENSSL RAND_bytes(str, 24); +#else + dav_rand_bytes(str, 24); +#endif for(int i=0;i<24;i++) { int c = str[i] % t.length; str[i] = table[c];