Merge branch 'patches/bug10074' into 8.0 * patches/bug10074: Nettle.CCM: Fix handling of authenticated data of lengths 14-0xfeff.
Merge branch 'patches/bug10074' * patches/bug10074: Nettle.CCM: Fix handling of authenticated data of lengths 14-0xfeff.
Nettle.CCM: Fix handling of authenticated data of lengths 14-0xfeff. Thanks to Joshua Rogers for the report and test vector. Fixes #10074.
Nettle.CCM: Fix NULL-deref in digest(). Fixes issue reported in LysLysKOM 25080935. Fixes #10072. enter the commit message for your changes. Lines starting
Doc [Nettle.BlockCipher16.KW]: Add note from RFC 6931. Also removes obsolete note about using the AEAD APIs. Minor code clean up.
Nettle: Improved robustness against broken __builtin.Nettle classes.
Merge branch 'patches/lyslyskom23710530' * patches/lyslyskom23710530: Nettle.Cipher.State: Guard against improper initialization.
Nettle.Cipher.State: Guard against improper initialization. Fixes issue similar to [LysLysKOM 23710530].
Merge commit 076f4f34716 into patches/lyslyskom23710530 * patches/lyslyskom23710530: Nettle.Cipher.State: Avoid assertion failures. Nettle.MAC.State: Guard against improper initialization.
Merge branch 'patches/lyslyskom23710530' * patches/lyslyskom23710530: Nettle.Cipher.State: Avoid assertion failures.
Nettle.Cipher.State: Avoid assertion failures.
Nettle: Added support for CMAC.
Nettle.AES128: Even more compatibility with old Nettle libraries.
Nettle.AES: Improved support for old versions of Nettle.
Nettle: Support more versions of Nettle again. Support for the Nettle 3.x series before 3.5 was broken by the latest changes.
Nettle.AES128: Added AES128, AES192 and AES256.
Nettle.AES: Use the new size specific API. Gets rid of a bunch of deprecation warnings about the old generic Nettle AES API.
Documentation [Nettle]: Fixed typo in doc.
Nettle: use size_t for buffer lengths Nettle has been using size_t instead of unsigned for lengths since 2013. It also never used signed int.
Merge commit '722771973bd' into patches/lyslyskom22891031 * commit '722771973bd': (6177 commits) Verify that callablep responses are aligned with reality. ...
Merge commit '2470270f500c728d10b8895314d8d8b07016e37b' into grubba/typechecker-automap * commit '2470270f500c728d10b8895314d8d8b07016e37b': (18681 commits) Removed the old typechecker. ...
Merge remote-tracking branch 'origin/master' into new_utf8
Merge remote-tracking branch 'origin/master' into gobject-introspection
Tools.Standalone.precompile: Add support for unqualified class names A PIKECLASS defined in a cmod can now be referenced by its unqualified name while in scope. Only backwards references are supported.
Merge remote-tracking branch 'origin/8.1' into gobject-introspection
Avoid sending function name to get_all_args
Merge commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e' into patches/pike63 * commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e': (19587 commits) ...
Merge branch '8.1' into peter/travis
Use module.h
Rescue fast memory clear from old Per project.
Clean up stack after create.
Merge remote-tracking branch 'origin/8.1' into peter/travis
Clena up stack in create
Crypto.CCM: Fixed initialization of the iv. The initialization of the CCM iv lacked one level of indirection, and instead zapped the iv string fields (including the flags field), which caused free_string() to later unlink the unshared iv string from the string hash table, which in turn triggered a fatal.
Nettle [Blowfish]: Don't throw errors in make_key(). Let make_key() generate a new key if the generated key isn't accepted by set_encrypt_key(). Fixes issue where eg Nettle.Blowfish()->make_key() intermittently threw errors due to the generated key being weak.
Nettle: Don't fail if optional base classes are missing. Attempt to survive without __builtin.Nettle.
Use lexical_inherit.
Less code duplication. This should probably move somewhere more central.
Nettle: Removed some redundant exit code. Explicit freeing of mapped variables is not needed...
Add back nulling of object object.
Stopp zeroing things in exit callback.
A first draft of reduction of object C initializers.
Nettle: Fix for EAX conflicting with a macro on Solaris 11/x86.
Compiler: Moved yyreport() et al to pike_compiler.cmod. More code cleanup.
Nettle.BlockCipher()->crypt: correctly handle empty string arguments Passing the empty string to crypt() could result in calls to memcpy with overlapping src and dst arguments.
Nettle.BlockCipher.crypt: handle empty strings Passing an empty string to crypt could end up with incorrect calls to memcpy.
Nettle.KW: This is an AE and not an AEAD.
Nettle.BlockCipher16.KW: Changed API to AEAD.
Nettle: Added BlockCipher16.KW. This is the AES Key Wrapping algorithm from RFC 3394.
Removed some not used headers.
Deduplication of push_random_string
Documentation fixes.
Use current random_string instead of Crypto.Random/my_rand
Trust random_string less.
Documentation [Nettle]: Some minor cleanups.
Nettle: Added block cipher mode ABC (Accumulated Block Chaining).
Fixed mixing code and declarations warning.
Nettle: Support large shifts in memrolx().
Nettle: Renamed memroxl() to memrolx() for consistency. Also fixes typo in the implementation.
Nettle: Added C-level helper function memroxl.
Documentation [Nettle]: Added note about IGE.
Nettle: Added block cipher mode IGE (Infinite Garble Extension).
Documentation [Nettle]: Fixed some minor issues.
Moved the range limiting of random numbers into my_rand(64).
Don't clean up stack before returning from void functions.
Nettle: Added Galois Counter Mode (GCM) This is in large parts a rewrite of the Pike 8.0 implementation.
stdarg.h is included from global.h
stdio.h is included from global.h
Removed Intel IA64 compiler specific DO_NOT_WARN.
Support linking direct to RFC anchor.
Static:ified a lot of strings. This is more or less all instances of push_text(static data here). Left to do: make_shared_X_string(static data here). :)
Use @rfc{@} autodoc syntax.
Build: The declaration of my_rand() has moved to stuff.h. Fixes quite a few warnings.
Removed trailing spaces.
nettle-meta.h is included through nettle.h
Make Nettle 1.13 (2005-10-06) minimum required verison. This makes MD4, MD2, RC2 and CTR always present.
Nettle: Fixes for Nettle 3.1.
Nettle: Survive nettle without memxor3().
Nettle.BufferedCipher: Fixed bug in unpad(). The new unpad() padding checker didn't survive the case where the padding consisted of a single byte.
Nettle.BufferedCipher: Support larger padding in unpad(). Support padding larger than the cipher block size. Support padding larger than 127 bytes on architectures with signed char. The above are needed to interoperate with GnuTLS (which often uses quite long padding). Also attempts to make the padding checking code more time-invariant.
Nettle: Improved compatibility with older Nettles. In older versions of Nettle, the nettle_*_func typedefs were function pointers, while in more recent versions they are functions. Also unifies the naming conventions for Pike-specific typedefs by renaming the crypt_func typedef to pike_nettle_crypt_func.
Nettle: Fixed some inherits.
Nettle: Use PROGRAM_CLEAR_STORAGE.
Nettle.BlockCipher: Added new mode: OFB.
Nettle.BlockCipher: Inherit __builtin.Nettle.BlockCipher. It is now possible to add generic stuff to all block ciphers by adding it to __builtin.Nettle.BlockCipher. NB: Requires cipher.cmod to be processed by a recent precompiler.
Nettle: The CFB mode now supports partial blocks. Now crypt() works as documented...
Nettle.BlockCipher16: Added new AEAD mode: EAX. Test vectors from the EAX specification. FIXME: Nettle only supports EAX with block ciphers having a 16 byte block size. The actual specification supports any block size. Consider implementing a generic version as well. FIXME: Nettle also has an AES-specific implementation of EAX. Consider adding support for it too.
Nettle.BlockCipher: Added new mode: CFB. This adds support for the Cipher Feed-Back mode, which is a NIST-specified mode of operation.
Nettle: Fixed some minor issues with CCM. Set the PROGRAM_NEEDS_PARENT and PROGRAM_USES_PARENT flags where required (they are probably inherited anyway, but...). Fixed some minor CCM documentation misses.
Nettle: Major cleanup and fixes of PCBC.
Nettle: Added some tests of Crypto.AES.PCBC. These tests use testvectors created by hand in Hilfe, as there doesn't seem to be any public vectors anywhere. Also adds note about alternate reading of PCBC in the Kerberos v4 documentation.
Nettle: Fixed typo in implementation of PCBC.
Nettle.BlockCipher: Added new mode: PCBC. This adds support for the Propagating Cipher Block Chaning mode, which is a modified variant of CBC.
Binary size: push_constant_text -> push_text when not time-critical. Especially in error handling, and code that does a lot of other string operations anyway the speed gain is not wort the 100+ bytes code size of each instance of push_constant_text This saves about 20K of code size (main pike binary), while not really changing the speed much. push_constant_text that seemed to be in at least pseudo-time-critical code was kept as they were. On a related note, push_constant_text(":") four times in a row creates four different string variables, for obvious reasons. Some of the remaining push_constant_text really should have a module/file local string variable, even though that is more bothersome to create. It might be nice to have this in .cmod files automatically.
Nettle: Improve propagation of errors. Use apply() instead of safe_apply() in lots of places. In addition to improving the propagation of errors, it should reduce the stack usage and improve performance, since it avoids the longjump contexts. Also adds quite a few missing proxy functions, and improves the types for some of the existing as well.
Nettle: The ivs in CBC, CTR and CCM are now refcounted. This protects against the iv being freed by a different thread during processing.
New and improved. Now also compiles.
Moved debug code to nettle.h
Removed dead code.
Nettle: Added a bunch of proxy functions for the modes. The modes should now have all the API functions.
Nettle: Release the interpreter for encrypt and decrypt. Allow other threads to execute when encrypting or decrypting data larger than 1 KB.
Nettle: CCM mode now actually works as intended. Fixes multiple bugs in CCM mode (mainly with the digest). Also adds the test vectors for AES-CCM from RFC 3610.
Nettle/cipher.cmod: Don't define object storage within an #ifdef precompile.pike apparently inserts the storage struct for a class at the last PIKEVAR, which in the case of CipherBlock16 was inside an #ifdef. Moved the PIKEVAR around so that Nettle/cipher.cmod also compiles on systems without HAVE_NETTLE_GCM_H.
memset != memcpy, I assume this should have been memcpy.
Nettle.BlockCipher: Added substate_factory(). Added API hook to simplify implementation of compatibility wrappers for the moved algorithms.
Nettle: Moved modes CTR and CCM to submodules. CTR is now a submodule to Nettle.BlockCipher, and CCM and CCM8 are submodules to Nettle.BlockCipher16. Added fallback C-implementation of CTR if the Nettle library lacks one. All common modes should now be submodules.
Nettle: Moved CBC from a class to a submodule of BlockCipher. This adds things like Crypto.AES.CBC analogous to Crypto.AES.GCM.
Nettle: Moved Buffer from a class to a submodule of BufferedCipher. This adds things like Crypto.AES.Buffer and Crypto.AES.CBC.Buffer analogous to Crypto.AES.GCM.
AutoDoc: Some more markup fixes for Nettle.
Nettle: Improved typing. Don't hide the programs for the submodules, they are useful for typing. Improved type for BufferCipher()->Buffer->`(). Fixes remaining warning in Standards.PEM.
AutoDoc: Fixed some markup bugs in Nettle.
Nettle: Unified cipher16.H and cipher.H. Some cleanups to reduce code duplication. Introduces a new intermediate class Nettle.BlockCipher intended to hold stuff common to all block ciphers. Renamed Nettle.Cipher16 to Nettle.BlockCipher16 for clarity.
Nettle: Moved GCM to a Cipher submodule. The various tastes of GCM now follow the AEAD API properly. Crypto.GCM is no more, instead there are Crypto.AES.GCM, Crypto.Camellia.GCM etc. Also updates the SSL code accordingly.
Runtime: Improved robustness of parent_storage(). Under some circumstances parent_storage() could return a storage pointer to a class that had inherited the parent program. Fix this by making sure that we get the storage for the program that we expect to find as parent.
Fixed some warnings
Nettle: Added CHACHA. This cipher will become available when Nettle 3.0 is released.
Nettle: Support Camellia in the coming Nettle 3.0 too. In the coming Nettle 3.0 the Camellia cipher has been splitted into three sets of functions depending on the keylength. This adds some glue to emulate the old API.
Rename Nettle.Proxy to Nettle.Buffer
Fix a few renamed symbols.
Nettle: Yet another missed rename. Fixes broken modes CTR and CCM.
Nettle: Specify a base name to precompile. The internal C-level symbols generated by precompile are now prefixed with "Nettle_" or "NETTLE_".
Try harder to be constant time.
Added PAD_TLS. Works as PAD_SSL did. Changed PAD_SSL to not verify the padding.
Significantly faster Crypto.Buffer.crypt for the most common cases. Somewhat faster for the less common ones.
Remove redundant defines.
PAD_SSL will now pad with the size and not random data. unpad now verifies the padding.
Nettle: Fixed multiple instances of unaligned stack. The precompile.pike RETURN (and RETURN_REF) statement(s) requires the stack to be at the same level as at function entry. Remove the use of RETURN from places where the stack level has changed. Fixes the return values from set_encrypt_key() and others in multiple wrapper classes (eg CBC, Proxy, etc).
Less magic numbers. Made PAD_* into proper constants.
Crypto.CTR.State: Added getter for the wrapped object. The wrapped object is useful when extending the class (eg to implement CCM it is needed to calculate the MAC).
Updated for Nettle API change.
Crypto.GCM: Added some missing functions. Adds digest_size().
CTR documentation fixes.
Tagged some more arguments UNUSED
Nettle: Arctwo isn't available in old versions of Nettle. Fixes compatibility with Nettle 1.15.
Nettle.GCM: Added name().
Nettle.CTR: Added Counter Mode. Yet another Cipher Mode. Note that Crypto.CTR falls back to a pure Pike implementation is Nettle.CTR isn't available.
Nettle.CBC: Improved robustness in create(). There was a potential buffer overrun in create() if errors were triggered in the wrong place.
Nettle: Fixed a few typos in program_id.h.
Nettle: All narrow strings should now be declared as such.
Nettle & SSL: Fixed a few Autodoc markup typos.
Nettle.GCM: Now follows the same conventions as other ciphers. Also adds a new base class for AEAD ciphers: __builtin.Nettle.AEAD.
Nettle.GCM: Improved state handling. Nettle.GCM now keeps track of the internal state to avoid having Pike-level code being able to trigger assertions.
Nettle.GCM: Stricter types. Also adds iv_size() and adds some more Autodoc.
Nettle: Fixed some broken Autodoc markup. Also fixes an Autodoc typo in udp.c.
Fixed copy-n-paste issue.
Nettle: Added Galois Counter Mode (GCM)
SSL.CBC: Improved robustness a bit more. Also fixes the issue where the state of the embedded crypto is changed without going through set_{en,de}crypt_key() in CBC.
Nettle.CBC: Improved robustness. crypt() et al should now survive the sub cipher getting destructed.
Nettle.CBC: Optimize calling Nettle ciphers. Nettle.CBC now calls the underlying nettle cipher function directly when possible.
Nettle.CBC: Use the Nettle implementation of CBC. There's no need to roll our own implememtation of CBC. Also fixes an obscure memory leak of objects in CBC()->create().
SSL.CBC: Reduce amount of copying in crypt() somewhat.
Nettle: Moved cipher modes to cipher.cmod. This is needed to enable them to later access implementation details in the ciphers.
DES/DES3 key generation fixes. It will now never generate a weak key (which triggers an exception).
Fixed compilation for Nettle missing SALSA20r12.
Nettle: Added SALSA20R12 variant of SALSA20.
Added support for SALSA20. A bit of copy and paste in the cipher implementation, but it felt excessive to add #cmod_define_block/#cmod_end_block or similar meta programming.
Nettle.SALSA20: Added some AutoDoc. Enabled the disabled documentation of Nettle.SALSA20. Added some documentation of set_iv(). Also made some minor fixes to the key length validator.
Nettle.ARCTWO: Fixed broken inherits. The arguments to really_low_reference_inherited_identifier() were swapped, which had the effect that ::set_decrypt_key() got called instead of ::set_encrypt_key() from set_encrypt_key(). Also makes the pike_cipher structs visible to debuggers.
Nettle.Cipher: Relax types somewhat. The (optional) second argument to set_{en,de}crypt_key() now allows the full integer range to allow for the use of it in Nettle.ARCTWO.
Crypto: Added Nettle.ARCTWO and Crypto.Arctwo. These are provided for compatibility with old crypto standards.
Nettle.ARCTWO: Fix infinite recursion in set_{en,de}crypt_key(). They now call the inherited functions (as originally intended).
Nettle.Cipher: Major refactoring of the ciphers. The cipher state now uses parent pointers instead of mixins. Renamed Nettle.<CIPHER>_Info to Nettle.<CIPHER> and moved Nettle.<CIPHER>_State to Nettle.<CIPHER>.State. Adjusted the corresponding code in Crypto, so that the APIs there should be the same as before.
Nettle.DES: Fixed typo in previous commit.
New clear on exit policy. Clear all keys and passwords by defult, but not data.
Crypto: clear_on_exit flag on sensitive strings
Stronger types, and various other type fixes.
Wrap unused parameters in UNUSED(), and debug-only parameters in DEBUGUSED(), to cut down on compiler warnings. The macro also renames parameters to catch accidental use. (There are more places to clean up but I don't want to modify code that isn't compiling on my machine.)
Build [Nettle]: Fixed all remaining warnings with Nettle 2.7.1/gcc 4.7.3.
Let's go with a different lie.
Fixed warnings.
Nettle: Use cpp to remove some dead code in the ILP32 case. This section of code isn't reached in the ILP32 case, as asize then can't reach above 0xffffffffUL which is needed to reach the code. Also reorders the code for easier use of cpp.
Address some warnings.
Nettle.BlockCipher: make sure block_size is positive
Nettle.DES: Added notes about some temporary leaks.
Nettle.DES{,3}: Fixed parity in make_key(). Fixes semi-infinite loop in make_key() (loop on bad parity), that tended to run out of Pike stack.
Nettle: Reference the programs being inherited. Make sure that there's a local symbol in the parent for the programs that we inherit. Otherwise the parent_identifier in the generated inherit may point back to some later override. This happens frequently when inheriting the State class. This fixes infinite recursion in eg Program.all_inherits() when called with several of the Crypto and Nettle classes.
Build: More precompiler DEFAULT_CMOD_STORAGE fixes. Some symbols that need to not be static: backend.cmod:Backend_program builin.cmod:f_backtrace() iterators.cmod: f_get_iterator() Some symbols that were forward declared: post_modules/Nettle/cipher.cmod:f_Nettle_DES3_fix_parity() post_modules/Shuffler/shuffler.cmod:Shuffler_program
Merge remote-tracking branch 'origin/8.0' into string_alloc Conflicts: src/stralloc.c
memcpy is C89 and 4.3BSD
memset is C89 and 4.3BSD
Merge remote-tracking branch 'origin/8.0' into string_alloc
Nettle.BlockCipher16.CCM8: Fixed documentation reference.
Nettle: Support Nettle 3.0. cast128_set_key() in Nettle 3.0 has a different number of arguments than previous versions of Nettle.
Merge branch '8.0' into gobject-introspection
Merge remote-tracking branch 'origin/7.9' into pdf
Nettle: Added support for the CAMELLIA crypto.
Nettle: Parameterized cipher.cmod by using cmod API level 4.
Removed $Id$.
Atomic megapatch: Use svalue accessor macros everywhere.
No more foreign_idents.
Actually compile in Blowfish and Serpent
Nettle: Support new DES API in Nettle 2.1.
Centralized assert.h include to make use of assertions more convenient.
More Nettle 2.0 related fixes. Added check for whether the nettle_crypt_func typedef is a pointer type or not. Rev: src/post_modules/Nettle/acconfig.h:1.3 Rev: src/post_modules/Nettle/cipher.cmod:1.41 Rev: src/post_modules/Nettle/configure.in:1.23
Added missing DECLARATIONS. Rev: src/builtin.cmod:1.224 Rev: src/modules/Gmp/mpf.cmod:1.40 Rev: src/modules/Gmp/mpq.cmod:1.32 Rev: src/modules/_Regexp_PCRE/pcre_glue.cmod:1.21 Rev: src/post_modules/Bz2/libbzip2mod.cmod:1.24 Rev: src/post_modules/Nettle/cipher.cmod:1.40 Rev: src/post_modules/Nettle/hash.cmod:1.31 Rev: src/post_modules/SDL/SDL.cmod:1.32 Rev: src/post_modules/Shuffler/Shuffler.cmod:1.48 Rev: src/post_modules/Unicode/unicode_module.cmod:1.18
Handle missing Blowfish and Serpent cryptos. Rev: src/post_modules/Nettle/cipher.cmod:1.39 Rev: src/post_modules/Nettle/configure.in:1.20
EXIT is only called once. Rev: src/post_modules/Nettle/cipher.cmod:1.38 Rev: src/post_modules/Nettle/hash.cmod:1.30 Rev: src/post_modules/Nettle/nettle.cmod:1.47 Rev: src/post_modules/Nettle/nt.cmod:1.20
Fixed some dangling pointers. Rev: src/post_modules/Nettle/cipher.cmod:1.37 Rev: src/post_modules/Nettle/hash.cmod:1.29 Rev: src/post_modules/Nettle/nettle.cmod:1.45 Rev: src/post_modules/Nettle/nt.cmod:1.16
Added gc_trivial to some EXIT functions. Rev: src/post_modules/Nettle/cipher.cmod:1.36 Rev: src/post_modules/Nettle/hash.cmod:1.28 Rev: src/post_modules/Nettle/nettle.cmod:1.44 Rev: src/post_modules/Nettle/nt.cmod:1.15
Fixed warnings Rev: src/post_modules/Nettle/cipher.cmod:1.35 Rev: src/post_modules/Nettle/crypt_md5.c:1.8 Rev: src/post_modules/Nettle/hash.cmod:1.27
Done away with all warnings during compilation. Now compiles on GCC 3.4.2 without any warnings using the -Wall -Werror CFLAGS. Some workarounds are not very nice, but they should do their job. Rev: src/array.c:1.174 Rev: src/dynamic_load.c:1.85 Rev: src/encode.c:1.221 Rev: src/interpret.c:1.356 Rev: src/las.c:1.350 Rev: src/module.c:1.30 Rev: src/modules/Java/jvm.c:1.71 Rev: src/modules/_Charset/charsetmod.c:1.49 Rev: src/object.c:1.258 Rev: src/pike_search.c:1.24 Rev: src/post_modules/Nettle/cipher.cmod:1.34 Rev: src/post_modules/Nettle/hash.cmod:1.26 Rev: src/post_modules/Shuffler/a_source_pikestring.c:1.10 Rev: src/post_modules/Shuffler/a_source_system_memory.c:1.11 Rev: src/post_modules/Shuffler/c_source_stream.c:1.11 Rev: src/post_modules/Shuffler/d_source_pikestream.c:1.7 Rev: src/post_modules/Shuffler/e_source_block_pikestream.c:1.5 Rev: src/post_modules/Shuffler/shuffler.h:1.6 Rev: src/program.c:1.570 Rev: src/rusage.c:1.42
Removed RCSID Rev: src/post_modules/Bz2/libbzip2mod.cmod:1.16 Rev: src/post_modules/GL/auto.c.in:1.48 Rev: src/post_modules/GL/top.c:1.23 Rev: src/post_modules/GLUT/auto.c.in:1.9 Rev: src/post_modules/GLUT/top.c:1.10 Rev: src/post_modules/GTK/dummy.c:1.7 Rev: src/post_modules/GTK/source/gladexml.pre:1.16 Rev: src/post_modules/Nettle/cipher.cmod:1.33 Rev: src/post_modules/Nettle/hash.cmod:1.25 Rev: src/post_modules/Nettle/nettle.cmod:1.38 Rev: src/post_modules/SDL/SDL.cmod:1.26 Rev: src/post_modules/Shuffler/Shuffler.cmod:1.37 Rev: src/post_modules/Unicode/buffer.c:1.6 Rev: src/post_modules/Unicode/normalize.c:1.14 Rev: src/post_modules/Unicode/split.c:1.5 Rev: src/post_modules/Unicode/unicode_module.cmod:1.14 Rev: src/post_modules/_Image_SVG/svg.c:1.10
Fixed warning. Rev: src/post_modules/Nettle/cipher.cmod:1.32
Survive without IDEA Rev: src/post_modules/Nettle/cipher.cmod:1.31
No threads for now. Rev: src/post_modules/Nettle/cipher.cmod:1.30
THREADS_ALLOW Rev: src/post_modules/Nettle/cipher.cmod:1.29 Rev: src/post_modules/Nettle/hash.cmod:1.17
Added optflags Rev: src/post_modules/Nettle/cipher.cmod:1.28 Rev: src/post_modules/Nettle/hash.cmod:1.16 Rev: src/post_modules/Nettle/nt.cmod:1.3
Only Niels' warnings left... Rev: src/post_modules/Nettle/cipher.cmod:1.27
Documentation update Rev: src/post_modules/Nettle/cipher.cmod:1.26 Rev: src/post_modules/Nettle/nettle.cmod:1.25
Fix warnings. Rev: src/post_modules/Nettle/cipher.cmod:1.25
Let stream ciphers have the block size 1 to make it possible to generalize with %. Rev: src/post_modules/Nettle/cipher.cmod:1.24
DES3 key expansion. Rev: src/post_modules/Nettle/cipher.cmod:1.23
make_key now works for DES3 as well. Rev: src/post_modules/Nettle/cipher.cmod:1.22
Added make_key Rev: src/post_modules/Nettle/cipher.cmod:1.21
Glue for IDEA Rev: src/post_modules/Nettle/cipher.cmod:1.20
Use a custom struct pike_cipher to keep track of information about ciphers, instead of Nettle's primitive struct nettle_cipher. The only significant difference is that the pike version uses set_key-functions that deal with invalid or weak keys, and throws pike errors. The check_key_size method is gone, but that's the only user-visible change. To test if a key is valid, just try to use it, and catch the error. Rev: src/post_modules/Nettle/cipher.cmod:1.19
Fixed des3 set key. Rev: src/post_modules/Nettle/cipher.cmod:1.18
DES3 Rev: lib/modules/Crypto.pmod/module.pmod:1.15 Rev: src/post_modules/Nettle/cipher.cmod:1.17
DES support Rev: src/post_modules/Nettle/cipher.cmod:1.16
Fix warning Rev: src/post_modules/Nettle/cipher.cmod:1.15
Added force argument to set_key-functions. Rev: src/post_modules/Nettle/cipher.cmod:1.14
Let key_size return the actual key size in cloned objects. Added incomplete blowfish implementation. Rev: src/post_modules/Nettle/cipher.cmod:1.13
ARCFOUR Rev: lib/modules/Crypto.pmod/module.pmod:1.9 Rev: src/post_modules/Nettle/cipher.cmod:1.12
Fixed a few leaks due to improper use of this_object(). Rev: src/post_modules/Nettle/cipher.cmod:1.11
Fixed error messages Rev: src/post_modules/Nettle/cipher.cmod:1.10 Rev: src/post_modules/Nettle/hash.cmod:1.12
Changed some names. Rev: lib/modules/Crypto.pmod/module.pmod:1.8 Rev: src/post_modules/Nettle/cipher.cmod:1.9
Added cast128, serpant and twofish. Rev: lib/modules/Crypto.pmod/module.pmod:1.6 Rev: src/post_modules/Nettle/cipher.cmod:1.8
Oops... Rev: src/post_modules/Nettle/cipher.cmod:1.7
More EXIT fixes. Rev: src/post_modules/Nettle/cipher.cmod:1.6
Autodoc-fix Rev: src/post_modules/Nettle/cipher.cmod:1.5
Added missing @module Rev: src/post_modules/Nettle/cipher.cmod:1.4
Autodoc fixes. Rev: src/post_modules/Nettle/cipher.cmod:1.3
Fixed crypt function (used one & too much). Fixed AES_Info initialization check. Rev: src/post_modules/Nettle/cipher.cmod:1.2
New file with cipher glue. Doesn't quite work yet. Rev: src/post_modules/Nettle/cipher.cmod:1.1