|
|
|
|
#if 0 |
static void |
werror(const char *format, ...) |
{ |
va_list args; |
|
va_start(args, format); |
vfprintf(stderr, format, args); |
va_end(args); |
} |
#else |
#define werror(x) |
#endif |
|
#include <nettle/nettle-types.h> |
|
struct program; |
extern struct program *nettle_hash_program; |
extern struct program *hash_instance_program; |
extern struct program *nettle_hash_program; |
|
#define NO_WIDE_STRING(s) do { \ |
if ((s)->size_shift) \ |
Pike_error("Bad argument. Must be 8-bit string.\n"); \ |
} while(0) |
|
|
|
|
|
#define HASH_THREADS_ALLOW_THRESHOLD (1024 * 1024) |
|
|
#define CIPHER_THREADS_ALLOW_THRESHOLD 1024 |
|
#ifdef HAVE_NETTLE_DSA_H |
#include <nettle/dsa.h> |
#endif |
|
#ifdef dsa_params_init |
|
* 3.0 or later. This is the recommended way to detect Nettle version |
* differences. In Nettle 3.0 length fields use size_t, where earlier |
* it was unsigned. |
*/ |
typedef size_t pike_nettle_size_t; |
#else |
typedef unsigned pike_nettle_size_t; |
#endif |
|
|
#ifdef HAVE_NETTLE_CRYPT_FUNC_IS_POINTER |
|
typedef nettle_crypt_func pike_nettle_crypt_func; |
typedef nettle_hash_digest_func pike_nettle_hash_digest_func; |
typedef nettle_hash_update_func pike_nettle_hash_update_func; |
#else |
|
|
#ifdef dsa_params_init |
|
typedef nettle_cipher_func *pike_nettle_crypt_func; |
#else |
typedef nettle_crypt_func *pike_nettle_crypt_func; |
#endif |
|
typedef nettle_hash_digest_func *pike_nettle_hash_digest_func; |
typedef nettle_hash_update_func *pike_nettle_hash_update_func; |
#endif |
|
|
char *pike_crypt_md5(int pl, const char *const pw, |
int sl, const char *const salt, |
int ml, const char *const magic); |
|
void hash_init(void); |
|
void hash_exit(void); |
|
void cipher_init(void); |
|
void cipher_exit(void); |
|
void nt_init(void); |
|
void nt_exit(void); |
|
void hogweed_init(void); |
|
void hogweed_exit(void); |
|
void mac_init(void); |
|
void mac_exit(void); |
|
void aead_init(void); |
|
void aead_exit(void); |
|
|