Module Name: src Committed By: drochner Date: Thu Feb 24 20:03:41 UTC 2011
Modified Files: src/sys/netipsec: xform_ipcomp.c src/sys/opencrypto: cryptodev.h cryptosoft.c cryptosoft_xform.c deflate.c deflate.h xform.c xform.h Log Message: small modifications in dealing with the unknown result size of compression/ decompression: -seperate the IPCOMP specific rule that compression must not grow the data from general compression semantics: Introduce a special name CRYPTO_DEFLATE_COMP_NOGROW/comp_algo_deflate_nogrow to describe the IPCOMP semantics and use it there. (being here, fix the check so that equal size is considered failure as well as required by RFC2393) Customers of CRYPTO_DEFLATE_COMP/comp_algo_deflate now always get deflated data back, even if they are not smaller than the original. -allow to pass a "size hint" to the DEFLATE decompression function which is used for the initial buffer allocation. Due to the changes done there, additional allocations and extra copies are avoided if the initial allocation is sufficient. Set the size hint to MCLBYTES (=2k) in IPCOMP which should be good for many use cases. To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/netipsec/xform_ipcomp.c cvs rdiff -u -r1.17 -r1.18 src/sys/opencrypto/cryptodev.h cvs rdiff -u -r1.27 -r1.28 src/sys/opencrypto/cryptosoft.c cvs rdiff -u -r1.13 -r1.14 src/sys/opencrypto/cryptosoft_xform.c cvs rdiff -u -r1.18 -r1.19 src/sys/opencrypto/deflate.c \ src/sys/opencrypto/xform.c cvs rdiff -u -r1.7 -r1.8 src/sys/opencrypto/deflate.h cvs rdiff -u -r1.10 -r1.11 src/sys/opencrypto/xform.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.