projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ROBODoc documented lib/silcrypt/silccipher.h. Patch by Toni
[silc.git]
/
lib
/
silccrypt
/
silccipher.c
diff --git
a/lib/silccrypt/silccipher.c
b/lib/silccrypt/silccipher.c
index 45a596e5197da563a884c2823dde7343028c74bf..3e2678ca2db2c601b5d0e23a7ccc41e0370807f2 100644
(file)
--- a/
lib/silccrypt/silccipher.c
+++ b/
lib/silccrypt/silccipher.c
@@
-22,6
+22,13
@@
#include "silcincludes.h"
#include "ciphers.h" /* Includes cipher definitions */
#include "silcincludes.h"
#include "ciphers.h" /* Includes cipher definitions */
+/* The SilcCipher context */
+struct SilcCipherStruct {
+ SilcCipherObject *cipher;
+ void *context;
+ unsigned char iv[SILC_CIPHER_MAX_IV_SIZE];
+};
+
#ifndef SILC_EPOC
/* Dynamically registered list of ciphers. */
SilcDList silc_cipher_list = NULL;
#ifndef SILC_EPOC
/* Dynamically registered list of ciphers. */
SilcDList silc_cipher_list = NULL;
@@
-228,10
+235,6
@@
bool silc_cipher_alloc(const unsigned char *name, SilcCipher *new_cipher)
*new_cipher = silc_calloc(1, sizeof(**new_cipher));
(*new_cipher)->cipher = entry;
(*new_cipher)->context = silc_calloc(1, entry->context_len());
*new_cipher = silc_calloc(1, sizeof(**new_cipher));
(*new_cipher)->cipher = entry;
(*new_cipher)->context = silc_calloc(1, entry->context_len());
- (*new_cipher)->set_iv = silc_cipher_set_iv;
- (*new_cipher)->get_iv = silc_cipher_get_iv;
- (*new_cipher)->get_key_len = silc_cipher_get_key_len;
- (*new_cipher)->get_block_len = silc_cipher_get_block_len;
return TRUE;
}
return TRUE;
}
@@
-349,12
+352,11
@@
void silc_cipher_set_iv(SilcCipher cipher, const unsigned char *iv)
memcpy(&cipher->iv, iv, cipher->cipher->block_len);
}
memcpy(&cipher->iv, iv, cipher->cipher->block_len);
}
-/* Returns the IV (initial vector) of the cipher. The IV is returned
- to 'iv' argument. */
+/* Returns the IV (initial vector) of the cipher. */
-
void silc_cipher_get_iv(SilcCipher cipher, unsigned char *iv
)
+
unsigned char *silc_cipher_get_iv(SilcCipher cipher
)
{
{
-
memcpy(iv, &cipher->iv, cipher->cipher->block_len)
;
+
return cipher->iv
;
}
/* Returns the key length of the cipher. */
}
/* Returns the key length of the cipher. */
@@
-370,3
+372,10
@@
SilcUInt32 silc_cipher_get_block_len(SilcCipher cipher)
{
return cipher->cipher->block_len;
}
{
return cipher->cipher->block_len;
}
+
+/* Returns the name of the cipher */
+
+const char *silc_cipher_get_name(SilcCipher cipher)
+{
+ return (const char *)cipher->cipher->name;
+}