projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
updates
[silc.git]
/
lib
/
silccrypt
/
silchash.h
diff --git
a/lib/silccrypt/silchash.h
b/lib/silccrypt/silchash.h
index 98f85ef47d0da1846c6e61f2131b8886858e2aad..26e1c0de589e9fdfd4a9808963498f0fdb39b220 100644
(file)
--- a/
lib/silccrypt/silchash.h
+++ b/
lib/silccrypt/silchash.h
@@
-4,7
+4,7
@@
Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
- Copyright (C) 1997 - 200
0
Pekka Riikonen
+ Copyright (C) 1997 - 200
1
Pekka Riikonen
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-24,14
+24,14
@@
/* The default Silc hash object to represent any hash function in SILC. */
typedef struct {
char *name;
/* The default Silc hash object to represent any hash function in SILC. */
typedef struct {
char *name;
- u
nsigned int
hash_len;
- u
nsigned int
block_len;
+ u
int32
hash_len;
+ u
int32
block_len;
void (*init)(void *);
void (*init)(void *);
- void (*update)(void *, unsigned char *, u
nsigned int
);
+ void (*update)(void *, unsigned char *, u
int32
);
void (*final)(void *, unsigned char *);
void (*final)(void *, unsigned char *);
- void (*transform)(u
nsigned long
*, unsigned char *);
- u
nsigned int
(*context_len)();
+ void (*transform)(u
int32
*, unsigned char *);
+ u
int32
(*context_len)();
} SilcHashObject;
/* The main SILC hash structure. Use SilcHash instead of SilcHashStruct.
} SilcHashObject;
/* The main SILC hash structure. Use SilcHash instead of SilcHashStruct.
@@
-41,15
+41,19
@@
typedef struct SilcHashStruct {
void *context;
void (*make_hash)(struct SilcHashStruct *, const unsigned char *,
void *context;
void (*make_hash)(struct SilcHashStruct *, const unsigned char *,
- u
nsigned int
, unsigned char *);
+ u
int32
, unsigned char *);
} *SilcHash;
} *SilcHash;
-extern struct SilcHashListStruct *silc_hash_list;
-
/* Marks for all hash functions. This can be used in silc_hash_unregister
to unregister all hash function at once. */
#define SILC_ALL_HASH_FUNCTIONS ((SilcHashObject *)1)
/* Marks for all hash functions. This can be used in silc_hash_unregister
to unregister all hash function at once. */
#define SILC_ALL_HASH_FUNCTIONS ((SilcHashObject *)1)
+/* Default hash functions for silc_hash_register_default(). */
+extern DLLAPI SilcHashObject silc_default_hash[];
+
+/* Default HASH function in the SILC protocol */
+#define SILC_DEFAULT_HASH "sha1"
+
/* Macros */
/* Following macros are used to implement the SILC Hash API. These
/* Macros */
/* Following macros are used to implement the SILC Hash API. These
@@
-70,23
+74,29
@@
extern struct SilcHashListStruct *silc_hash_list;
void silc_##hash##_init(void *context)
#define SILC_HASH_API_UPDATE(hash) \
void silc_##hash##_update(void *context, unsigned char *data, \
void silc_##hash##_init(void *context)
#define SILC_HASH_API_UPDATE(hash) \
void silc_##hash##_update(void *context, unsigned char *data, \
- u
nsigned int
len)
+ u
int32
len)
#define SILC_HASH_API_FINAL(hash) \
void silc_##hash##_final(void *context, unsigned char *digest)
#define SILC_HASH_API_TRANSFORM(hash) \
#define SILC_HASH_API_FINAL(hash) \
void silc_##hash##_final(void *context, unsigned char *digest)
#define SILC_HASH_API_TRANSFORM(hash) \
-void silc_##hash##_transform(u
nsigned long *state,
\
+void silc_##hash##_transform(u
int32 *state,
\
unsigned char *buffer)
#define SILC_HASH_API_CONTEXT_LEN(hash) \
unsigned char *buffer)
#define SILC_HASH_API_CONTEXT_LEN(hash) \
-u
nsigned int
silc_##hash##_context_len()
+u
int32
silc_##hash##_context_len()
/* Prototypes */
/* Prototypes */
-int silc_hash_register(SilcHashObject *hash);
-int silc_hash_unregister(SilcHashObject *hash);
-int silc_hash_alloc(const unsigned char *name, SilcHash *new_hash);
+bool silc_hash_register(SilcHashObject *hash);
+bool silc_hash_unregister(SilcHashObject *hash);
+bool silc_hash_register_default(void);
+bool silc_hash_alloc(const unsigned char *name, SilcHash *new_hash);
void silc_hash_free(SilcHash hash);
void silc_hash_free(SilcHash hash);
-int silc_hash_is_supported(const unsigned char *name);
-char *silc_hash_get_supported();
+uint32 silc_hash_len(SilcHash hash);
+bool silc_hash_is_supported(const unsigned char *name);
+char *silc_hash_get_supported(void);
void silc_hash_make(SilcHash hash, const unsigned char *data,
void silc_hash_make(SilcHash hash, const unsigned char *data,
- unsigned int len, unsigned char *return_hash);
+ uint32 len, unsigned char *return_hash);
+char *silc_hash_fingerprint(SilcHash hash, const unsigned char *data,
+ uint32 data_len);
+char *silc_hash_babbleprint(SilcHash hash, const unsigned char *data,
+ uint32 data_len);
#endif
#endif