Skip to content

Commit

Permalink
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Browse files Browse the repository at this point in the history
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (48 commits)
  [NETFILTER]: Fix non-ANSI func. decl.
  [TG3]: Identify Serdes devices more clearly.
  [TG3]: Use msleep.
  [TG3]: Use netif_msg_*.
  [TG3]: Allow partial speed advertisement.
  [TG3]: Add TG3_FLG2_IS_NIC flag.
  [TG3]: Add 5787F device ID.
  [TG3]: Fix Phy loopback.
  [WANROUTER]: Kill kmalloc debugging code.
  [TCP] inet_twdr_hangman: Delete unnecessary memory barrier().
  [NET]: Memory barrier cleanups
  [IPSEC]: Fix inetpeer leak in ipv4 xfrm dst entries.
  audit: disable ipsec auditing when CONFIG_AUDITSYSCALL=n
  audit: Add auditing to ipsec
  [IRDA] irlan: Fix compile warning when CONFIG_PROC_FS=n
  [IrDA]: Incorrect TTP header reservation
  [IrDA]: PXA FIR code device model conversion
  [GENETLINK]: Fix misplaced command flags.
  [NETLIK]: Add a pointer to the Generic Netlink wiki page.
  [IPV6] RAW: Don't release unlocked sock.
  ...
  • Loading branch information
Linus Torvalds committed Dec 7, 2006
2 parents 4522d58 + 272491e commit 2685b26
Show file tree
Hide file tree
Showing 55 changed files with 3,208 additions and 462 deletions.
2 changes: 2 additions & 0 deletions Documentation/networking/00-INDEX
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ fore200e.txt
- FORE Systems PCA-200E/SBA-200E ATM NIC driver info.
framerelay.txt
- info on using Frame Relay/Data Link Connection Identifier (DLCI).
generic_netlink.txt
- info on Generic Netlink
ip-sysctl.txt
- /proc/sys/net/ipv4/* variables
ip_dynaddr.txt
Expand Down
3 changes: 3 additions & 0 deletions Documentation/networking/generic_netlink.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
A wiki document on how to use Generic Netlink can be found here:

* http://linux-net.osdl.org/index.php/Generic_Netlink_HOWTO
34 changes: 34 additions & 0 deletions crypto/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,17 @@ config CRYPTO_HMAC
HMAC: Keyed-Hashing for Message Authentication (RFC2104).
This is required for IPSec.

config CRYPTO_XCBC
tristate "XCBC support"
depends on EXPERIMENTAL
select CRYPTO_HASH
select CRYPTO_MANAGER
help
XCBC: Keyed-Hashing with encryption algorithm
http://www.ietf.org/rfc/rfc3566.txt
http://csrc.nist.gov/encryption/modes/proposedmodes/
xcbc-mac/xcbc-mac-spec.pdf

config CRYPTO_NULL
tristate "Null algorithms"
select CRYPTO_ALGAPI
Expand Down Expand Up @@ -128,6 +139,16 @@ config CRYPTO_TGR192
See also:
<http://www.cs.technion.ac.il/~biham/Reports/Tiger/>.

config CRYPTO_GF128MUL
tristate "GF(2^128) multiplication functions (EXPERIMENTAL)"
depends on EXPERIMENTAL
help
Efficient table driven implementation of multiplications in the
field GF(2^128). This is needed by some cypher modes. This
option will be selected automatically if you select such a
cipher mode. Only select this option by hand if you expect to load
an external module that requires these functions.

config CRYPTO_ECB
tristate "ECB support"
select CRYPTO_BLKCIPHER
Expand All @@ -147,6 +168,19 @@ config CRYPTO_CBC
CBC: Cipher Block Chaining mode
This block cipher algorithm is required for IPSec.

config CRYPTO_LRW
tristate "LRW support (EXPERIMENTAL)"
depends on EXPERIMENTAL
select CRYPTO_BLKCIPHER
select CRYPTO_MANAGER
select CRYPTO_GF128MUL
help
LRW: Liskov Rivest Wagner, a tweakable, non malleable, non movable
narrow block cipher mode for dm-crypt. Use it with cipher
specification string aes-lrw-benbi, the key must be 256, 320 or 384.
The first 128, 192 or 256 bits in the key are used for AES and the
rest is used to tie each cipher block to its logical position.

config CRYPTO_DES
tristate "DES and Triple DES EDE cipher algorithms"
select CRYPTO_ALGAPI
Expand Down
3 changes: 3 additions & 0 deletions crypto/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ obj-$(CONFIG_CRYPTO_HASH) += crypto_hash.o

obj-$(CONFIG_CRYPTO_MANAGER) += cryptomgr.o
obj-$(CONFIG_CRYPTO_HMAC) += hmac.o
obj-$(CONFIG_CRYPTO_XCBC) += xcbc.o
obj-$(CONFIG_CRYPTO_NULL) += crypto_null.o
obj-$(CONFIG_CRYPTO_MD4) += md4.o
obj-$(CONFIG_CRYPTO_MD5) += md5.o
Expand All @@ -23,8 +24,10 @@ obj-$(CONFIG_CRYPTO_SHA256) += sha256.o
obj-$(CONFIG_CRYPTO_SHA512) += sha512.o
obj-$(CONFIG_CRYPTO_WP512) += wp512.o
obj-$(CONFIG_CRYPTO_TGR192) += tgr192.o
obj-$(CONFIG_CRYPTO_GF128MUL) += gf128mul.o
obj-$(CONFIG_CRYPTO_ECB) += ecb.o
obj-$(CONFIG_CRYPTO_CBC) += cbc.o
obj-$(CONFIG_CRYPTO_LRW) += lrw.o
obj-$(CONFIG_CRYPTO_DES) += des.o
obj-$(CONFIG_CRYPTO_BLOWFISH) += blowfish.o
obj-$(CONFIG_CRYPTO_TWOFISH) += twofish.o
Expand Down
15 changes: 0 additions & 15 deletions crypto/api.c
Original file line number Diff line number Diff line change
Expand Up @@ -466,23 +466,8 @@ void crypto_free_tfm(struct crypto_tfm *tfm)
kfree(tfm);
}

int crypto_alg_available(const char *name, u32 flags)
{
int ret = 0;
struct crypto_alg *alg = crypto_alg_mod_lookup(name, 0,
CRYPTO_ALG_ASYNC);

if (!IS_ERR(alg)) {
crypto_mod_put(alg);
ret = 1;
}

return ret;
}

EXPORT_SYMBOL_GPL(crypto_alloc_tfm);
EXPORT_SYMBOL_GPL(crypto_free_tfm);
EXPORT_SYMBOL_GPL(crypto_alg_available);

int crypto_has_alg(const char *name, u32 type, u32 mask)
{
Expand Down
48 changes: 0 additions & 48 deletions crypto/digest.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,54 +21,6 @@
#include "internal.h"
#include "scatterwalk.h"

void crypto_digest_init(struct crypto_tfm *tfm)
{
struct crypto_hash *hash = crypto_hash_cast(tfm);
struct hash_desc desc = { .tfm = hash, .flags = tfm->crt_flags };

crypto_hash_init(&desc);
}
EXPORT_SYMBOL_GPL(crypto_digest_init);

void crypto_digest_update(struct crypto_tfm *tfm,
struct scatterlist *sg, unsigned int nsg)
{
struct crypto_hash *hash = crypto_hash_cast(tfm);
struct hash_desc desc = { .tfm = hash, .flags = tfm->crt_flags };
unsigned int nbytes = 0;
unsigned int i;

for (i = 0; i < nsg; i++)
nbytes += sg[i].length;

crypto_hash_update(&desc, sg, nbytes);
}
EXPORT_SYMBOL_GPL(crypto_digest_update);

void crypto_digest_final(struct crypto_tfm *tfm, u8 *out)
{
struct crypto_hash *hash = crypto_hash_cast(tfm);
struct hash_desc desc = { .tfm = hash, .flags = tfm->crt_flags };

crypto_hash_final(&desc, out);
}
EXPORT_SYMBOL_GPL(crypto_digest_final);

void crypto_digest_digest(struct crypto_tfm *tfm,
struct scatterlist *sg, unsigned int nsg, u8 *out)
{
struct crypto_hash *hash = crypto_hash_cast(tfm);
struct hash_desc desc = { .tfm = hash, .flags = tfm->crt_flags };
unsigned int nbytes = 0;
unsigned int i;

for (i = 0; i < nsg; i++)
nbytes += sg[i].length;

crypto_hash_digest(&desc, sg, nbytes, out);
}
EXPORT_SYMBOL_GPL(crypto_digest_digest);

static int init(struct hash_desc *desc)
{
struct crypto_tfm *tfm = crypto_hash_tfm(desc->tfm);
Expand Down
Loading

0 comments on commit 2685b26

Please sign in to comment.