diff options
author | Michael Brown <mcb30@etherboot.org> | 2009-02-18 21:56:02 +0000 |
---|---|---|
committer | Michael Brown <mcb30@etherboot.org> | 2009-02-18 22:17:41 +0000 |
commit | a3219b24a8ea4699e7b04cf1f1131aade9fcd855 (patch) | |
tree | df3d4cc515e6a02203e8560ff881351daf48111d /src/crypto/crypto_null.c | |
parent | 5de8305febf0fe4f2b8a89753cefdfedc519cee2 (diff) | |
download | ipxe-a3219b24a8ea4699e7b04cf1f1131aade9fcd855.zip ipxe-a3219b24a8ea4699e7b04cf1f1131aade9fcd855.tar.gz ipxe-a3219b24a8ea4699e7b04cf1f1131aade9fcd855.tar.bz2 |
[crypto] Split crypto_algorithm into {digest,cipher,pubkey}_algorithm
The various types of cryptographic algorithm are fundamentally
different, and it was probably a mistake to try to handle them via a
single common type.
pubkey_algorithm is a placeholder type for now.
Diffstat (limited to 'src/crypto/crypto_null.c')
-rw-r--r-- | src/crypto/crypto_null.c | 62 |
1 files changed, 39 insertions, 23 deletions
diff --git a/src/crypto/crypto_null.c b/src/crypto/crypto_null.c index 120ef0a..8cc9217 100644 --- a/src/crypto/crypto_null.c +++ b/src/crypto/crypto_null.c @@ -25,45 +25,61 @@ #include <string.h> #include <gpxe/crypto.h> -static void null_init ( void *ctx __unused ) { +static void digest_null_init ( void *ctx __unused ) { /* Do nothing */ } -static int null_setkey ( void *ctx __unused, const void *key __unused, - size_t keylen __unused ) { +static void digest_null_update ( void *ctx __unused, const void *src __unused, + size_t len __unused ) { /* Do nothing */ - return 0; } -static void null_setiv ( void *ctx __unused, const void *iv __unused ) { +static void digest_null_final ( void *ctx __unused, void *out __unused ) { /* Do nothing */ } -static void null_encode ( void *ctx __unused, const void *src, - void *dst, size_t len ) { - if ( dst ) - memcpy ( dst, src, len ); -} +struct digest_algorithm digest_null = { + .name = "null", + .ctxsize = 0, + .blocksize = 1, + .digestsize = 0, + .init = digest_null_init, + .update = digest_null_update, + .final = digest_null_final, +}; -static void null_decode ( void *ctx __unused, const void *src, - void *dst, size_t len ) { - if ( dst ) - memcpy ( dst, src, len ); +static int cipher_null_setkey ( void *ctx __unused, const void *key __unused, + size_t keylen __unused ) { + /* Do nothing */ + return 0; } -static void null_final ( void *ctx __unused, void *out __unused ) { +static void cipher_null_setiv ( void *ctx __unused, + const void *iv __unused ) { /* Do nothing */ } -struct crypto_algorithm crypto_null = { +static void cipher_null_encrypt ( void *ctx __unused, const void *src, + void *dst, size_t len ) { + memcpy ( dst, src, len ); +} + +static void cipher_null_decrypt ( void *ctx __unused, const void *src, + void *dst, size_t len ) { + memcpy ( dst, src, len ); +} + +struct cipher_algorithm cipher_null = { .name = "null", .ctxsize = 0, .blocksize = 1, - .digestsize = 0, - .init = null_init, - .setkey = null_setkey, - .setiv = null_setiv, - .encode = null_encode, - .decode = null_decode, - .final = null_final, + .setkey = cipher_null_setkey, + .setiv = cipher_null_setiv, + .encrypt = cipher_null_encrypt, + .decrypt = cipher_null_decrypt, +}; + +struct pubkey_algorithm pubkey_null = { + .name = "null", + .ctxsize = 0, }; |