diff options
author | Michael Brown | 2007-01-31 04:04:31 +0100 |
---|---|---|
committer | Michael Brown | 2007-01-31 04:04:31 +0100 |
commit | a008f9e85bff4f9c65de9268bcef857d624a9791 (patch) | |
tree | f86e62d91aa53e026dbb1c4e98f8d85ac6fbd221 /src | |
parent | Changed to use the generic stream API. (diff) | |
download | ipxe-a008f9e85bff4f9c65de9268bcef857d624a9791.tar.gz ipxe-a008f9e85bff4f9c65de9268bcef857d624a9791.tar.xz ipxe-a008f9e85bff4f9c65de9268bcef857d624a9791.zip |
Add null crypto algorithm
Diffstat (limited to 'src')
-rw-r--r-- | src/crypto/crypto_null.c | 61 | ||||
-rw-r--r-- | src/include/gpxe/crypto.h | 2 |
2 files changed, 63 insertions, 0 deletions
diff --git a/src/crypto/crypto_null.c b/src/crypto/crypto_null.c new file mode 100644 index 00000000..01c67e9f --- /dev/null +++ b/src/crypto/crypto_null.c @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2007 Michael Brown <mbrown@fensystems.co.uk>. + * + * 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 the Free Software Foundation; either version 2 of the + * License, or any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +/** + * @file + * + * Null crypto algorithm + */ + +#include <gpxe/crypto.h> + +static void null_init ( void *ctx __unused ) { + /* Do nothing */ +} + +static int null_setkey ( void *ctx __unused, void *key __unused, + size_t keylen __unused ) { + /* Do nothing */ + return 0; +} + +static void null_encode ( void *ctx __unused, const void *src __unused, + void *dst __unused, size_t len __unused ) { + /* Do nothing */ +} + +static void null_decode ( void *ctx __unused, const void *src __unused, + void *dst __unused, size_t len __unused ) { + /* Do nothing */ +} + +static void null_final ( void *ctx __unused, void *out __unused ) { + /* Do nothing */ +} + +struct crypto_algorithm crypto_null = { + .name = "null", + .ctxsize = 0, + .blocksize = 1, + .digestsize = 0, + .init = null_init, + .setkey = null_setkey, + .encode = null_encode, + .decode = null_decode, + .final = null_final, +}; diff --git a/src/include/gpxe/crypto.h b/src/include/gpxe/crypto.h index 1b543f05..d285f65a 100644 --- a/src/include/gpxe/crypto.h +++ b/src/include/gpxe/crypto.h @@ -109,4 +109,6 @@ static inline int is_stream_cipher ( struct crypto_algorithm *crypto ) { return ( crypto->blocksize == 1 ); } +extern struct crypto_algorithm crypto_null; + #endif /* _GPXE_CRYPTO_H */ |