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/8.1' into gobject-introspection
Merge commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e' into patches/pike63 * commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e': (19587 commits) ...
Merge branch '8.1' into peter/travis
Merge branch 'patches/pike58' into 8.0 * patches/pike58: Crypto.Hash: Censor the password argument in crypt_hash().
Merge branch 'patches/pike58' into 8.1 * patches/pike58: Crypto.Hash: Censor the password argument in crypt_hash().
Crypto.Hash: Censor the password argument in crypt_hash(). Attempt to hide passwords from backtraces. Fixes PIKE-58 (#8058).
Use module.h
Refdoc fix.
Improved types.
Merge remote-tracking branch 'origin/8.1' into peter/travis
Fixed warnings from FreeBSD Xenofarm.
Nettle: Don't fail if optional base classes are missing. Attempt to survive without __builtin.Nettle.
Use lexical_inherit.
Use Nettle HMAC implementation for Nettle implemented ciphers. Up to 3 times faster.
Less code duplication. This should probably move somewhere more central.
3-5 times faster pbkdf2 for SHA1 and SHA256
Nettle.Hash: Check proper initialization in crypt_hash(). Fixes NULL-deref in Nettle.Hash()->crypt_hash(). Thanks to Thomas Gusenleitner <tomgusi@gmail.com> for the report. Fixes [LysLysKOM 22137102]/[Pike mailinglist 14721].
A first draft of reduction of object C initializers.
Compiler: Moved yyreport() et al to pike_compiler.cmod. More code cleanup.
Added some static.
NETTLE_SHA3_FIPS202 implies HAVE_NETTLE_SHA3_H
Nettle: Inhibit build of SHA3 submodule with old Nettle. Old (prior to 3.2) Nettle had a broken implementation of SHA3.
Crypto: Added SHA 224, 384 and 512. Also adjusts the ASN.1 identifier for SHA256 to make Pike 8.0 happy.
stdarg.h is included from global.h
stdio.h is included from global.h
Added SHA512/224 and SHA512/256, defined in FIPS 180-4.
Removed trailing spaces.
Simplified code a bit, as the salt-update-loop will never happen when digest size is 32 or 64. CID 1294599
Ensure bytes is not null rather than looking at args. Not an issue. CID 1294626.
No need to do init() on the hash context between each use. Digest will drain it.
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: Use PROGRAM_CLEAR_STORAGE.
Moved debug code to nettle.h
Nettle: Release the interpreter for encrypt and decrypt. Allow other threads to execute when encrypting or decrypting data larger than 1 KB.
mallocs nowdays return void*, so no need to case.
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.
Nettle: Specify a base name to precompile. The internal C-level symbols generated by precompile are now prefixed with "Nettle_" or "NETTLE_".
Nettle: Fixed a few typos in program_id.h.
Nettle: All narrow strings should now be declared as such.
Added hash functions GOST94 and RIPEMD160. All Nettle hashes are now accounted for.
Crypto: compatibility with old nettle versions nettle before 2.1 did not have sha224
Added SHA224.
Added SHA-3 (224, 256. 384, 512) and cleaned up the testsuite a bit.
Fixed autodoc prototype.
Nettle: Use get_inherit_storage() in the hashes.
Nettle.HashInfo: Inherit __builtin.Nettle.Hash. First step in refactoring the Nettle hash functions.
Nettle.Hash: Major refactoring of the hashes. The hash state now uses parent pointers instead of mixins. Renamed Nettle.<HASH>_Info to Nettle.<HASH> and moved Nettle.<HASH>_State to Nettle.<HASH>.State. Adjusted the corresponding code in Crypto, so that the APIs there should be the same as before.
Nettle.Hash: Added some missing inherits to the doc.
New clear on exit policy. Clear all keys and passwords by defult, but not data.
Crypto: clear_on_exit flag on sensitive strings
This should be apply, not safe_apply.
Use the static program id for Fd/Fd_ref instead of looking up the program. This should perhaps be put somewhere more central.
More specific string types.
Stronger types, and various other type fixes.
pike_memory: add guaranteed_memset() Most compilers (gcc in recent versions) optimize away memset before free. This can prevent sensitive data from being wiped.
Crypto: Added the crypt_hash() function from SHA-crypt. This implements the hashing function used in modern POSIX operating systems. Implemented from the reference document http://www.akkadia.org/drepper/SHA-crypt.txt Added test vectors for Crypto.SHA256.crypt_hash() and Crypto.SHA512.crypt_hash() from the above reference.
Added support for buffers to Crypto.X.hash() It now support the various buffer objects as the data source argument.
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.
Merge remote-tracking branch 'origin/8.0' into string_alloc Conflicts: src/stralloc.c
memset is C89 and 4.3BSD
Merge branch '8.0' into gobject-introspection
Merge remote-tracking branch 'origin/7.9' into pdf
Merge remote-tracking branch 'origin/7.9' into ba
Nettle: Added hashes SHA384 and SHA512.
Nettle: Parameterized hash.cmod by using cmod API level 4.
Removed $Id$.
Atomic megapatch: Use svalue accessor macros everywhere.
No more foreign_idents.
Disallow threads during hashing of small strings (current threshold is 1 MB). This change improves ApacheBench numbers ~20% for a Roxen benchmark on a quad-core Core i5.
Centralized assert.h include to make use of assertions more convenient.
Somewhat less brute thread safety fix. Can probably still be improved a bit. Also fixed similar problem in hash() for stream objects. Rev: src/post_modules/Nettle/hash.cmod:1.35
Improved some ambiguous doc. Rev: src/post_modules/Nettle/hash.cmod:1.34
Removed THREADS_ALLOW around thread unsafe code. Rev: src/post_modules/Nettle/hash.cmod:1.33
Added support for Fd objects in addition to Fd_ref objects. Rev: src/post_modules/Nettle/hash.cmod:1.32
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
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
Use SIMPLE_OUT_OF_MEMORY_ERROR Rev: src/post_modules/Nettle/hash.cmod:1.24 Rev: src/post_modules/Nettle/nettle.cmod:1.37
Added second argument to .hash for file objects to only hash part of the file. Rev: src/post_modules/Nettle/hash.cmod:1.23
Only declare variables in the beginning of the function... Rev: src/post_modules/Nettle/hash.cmod:1.22
Now also faster than reading the strings in Pike. Rev: src/post_modules/Nettle/hash.cmod:1.21
->hash can now take a file object. Rev: src/post_modules/Nettle/hash.cmod:1.20
Avoid creating objects when calling ->hash. Saves up to 50% time for really small strings. Rev: src/post_modules/Nettle/hash.cmod:1.19
Fixed thread thing. Rev: src/post_modules/Nettle/hash.cmod:1.18
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
Fixed warnings. Rev: src/post_modules/Nettle/hash.cmod:1.15 Rev: src/post_modules/Nettle/idea.c:1.5 Rev: src/post_modules/Nettle/nettle.cmod:1.28
Tighten with macro. Rev: src/post_modules/Nettle/hash.cmod:1.14
Support for MD2 Rev: src/post_modules/Nettle/hash.cmod:1.13
Fixed error messages Rev: src/post_modules/Nettle/cipher.cmod:1.10 Rev: src/post_modules/Nettle/hash.cmod:1.12
Fix Rev: src/post_modules/Nettle/hash.cmod:1.11
Glue to md4 Rev: src/post_modules/Nettle/hash.cmod:1.10
Added SHA256 Rev: src/post_modules/Nettle/hash.cmod:1.9
Wups. Already implemented, but in another place. Rev: src/post_modules/Nettle/hash.cmod:1.8
Simplify simple hashes by providing the hash function that does update and digest in one call. Rev: src/post_modules/Nettle/hash.cmod:1.7
Pike_fp->current_object can be destructed in the EXIT callback (it's even likely). get_storage() will in that case fail. Rev: src/post_modules/Nettle/hash.cmod:1.6
Fixed a few leaks due to improper use of this_object(). Rev: src/post_modules/Nettle/hash.cmod:1.5
Autodoc fixes Rev: src/post_modules/Nettle/hash.cmod:1.4 Rev: src/post_modules/Nettle/nettle.cmod:1.5
Fixed initialization check in MD5_Info and SHA1_Info. Autodoc fixes. Rev: src/post_modules/Nettle/hash.cmod:1.3
Renamed classes. Wrote some autodoc. Rev: src/post_modules/Nettle/hash.cmod:1.2 Rev: src/post_modules/Nettle/testsuite.in:1.4
New file, with hash glue. Rev: src/post_modules/Nettle/hash.cmod:1.1