Skip to content
Snippets Groups Projects
ChangeLog 245 KiB
Newer Older
	(AES_FINAL_ROUND): Prepared for scheduling.

	* sparc/machine.m4 (AES_ROUND): Deleted unused argument T. Updated
	all calls in aes-encrypt-internal.asm.

	* sparc/machine.m4 (AES_ROUND): New loop invariants T0-T3, to
	avoid the additions of the AES_TABLEx constants in the inner loop.

	* sparc/machine.m4 (AES_ROUND): Better scheduling, by
	interleaving independent operations.

	* sparc/machine.m4 (AES_ROUND): Alternate between using TMP1 and
	TMP2, to prepare for scheduling.

	* sparc/aes-encrypt-internal.asm: Renamed Ti -> Xi.

	* sparc/aes-encrypt-internal.asm: Fixed bugs. Now passes the
	testsuite.

	* sparc/machine.m4 (AES_ROUND, AES_FINAL_ROUND): Bugfixes. Put
	NOPs in the load dely slots.

	* sparc/aes-encrypt-internal.asm: Implemented. Not yet working,
	and not optimized.

	* sparc/machine.m4: Use TMP1 and TMP2, so we don't need to pass
	them as arguments.
	(AES_FINAL_ROUND): New macro.

Niels Möller's avatar
Niels Möller committed
2005-10-15  Niels Möller  <nisse@lysator.liu.se>

	* configure.ac (OBJDUMP): Substitute the program false if objdump
	is not found.

	* asm.m4 (PROLOGUE): Use TYPE_FUNCTION.

	* config.m4.in: Substitute ASM_TYPE_FUNCTION as TYPE_FUNCTION.

	* configure.ac (ASM_ELF_STYLE): Check for %function and #function,
	but not for @function.
	(ASM_TYPE_FUNCTION): New substituted variable.

	* configure.ac (ASM_ELF_STYLE): Fixed .type foo,@function statement
	used when checking for pseudo operations.

	* sparc/machine.m4 (AES_LOAD, AES_ROUND): Started writing new AES
	macros.

	* sparc/aes-encrypt-internal.asm: New file.

Niels Möller's avatar
Niels Möller committed
2005-10-14  Niels Möller  <nisse@lysator.liu.se>

	* x86/aes-decrypt.asm, x86/aes-encrypt.asm: Deleted files.

	* x86/aes-decrypt-internal.asm: New file.

	* x86/machine.m4: Changed AES macros, to handle a table register.
	Also take more of the used registers as argument.

	* x86/aes-encrypt-internal.asm: Rewritten to match new interface,
	with the table pointer as an argument. Unlike the old code, this
	should really be position independent.

	* configure.ac: When looking for assembler files, link in
	aes-encrypt-internal.asm and aes-decrypt-internal.asm. Don't look
	for aes.asm, aes-encrypt.asm and aes-decrypt.asm.

	* configure.ac (OBJDUMP): Use AC_CHECK_TOOL to check for objdump.
	(ASM_MARK_NOEXEC_STACK): Use $OBJDUMP when examining the object file.

	* Makefile.in (nettle_SOURCES): Removed aes.c,
	aes-decrypt-table.c. Added aes-decrypt-internal.c and aes-encrypt-internal.c.

	* aes.c, aes-decrypt-table.c: Deleted files.

	* aes-decrypt.c (_aes_decrypt_table): Moved table here, and made
	static.

	* aes-internal.h (_aes_decrypt_table): Don't declare, it's no
	longer globally visible.

	* aes-decrypt-internal.c (_nettle_aes_decrypt): New AES decryption
	function, analogous to _nettle_aes_encrypt.

Niels Möller's avatar
Niels Möller committed
2005-10-14  Niels Möller  <niels@s3.kth.se>

	* aes-internal.h (AES_ROUND, AES_FINAL_ROUND): New macros.

	* aes-encrypt-internal.c (_nettle_aes_encrypt): New AES encryption
	function, avoiding the table-based indexing.

	* sha1-compress.c: Added debugging code.
	* md5-compress.c: Likewise.

Niels Möller's avatar
Niels Möller committed
2005-10-13  Niels Möller  <niels@s3.kth.se>

	* config.m4.in (ASM_MARK_NOEXEC_STACK): Use a diversion, to
	substitute the value of ASM_MARK_NOEXEC_STACK at the end of each
	assembler file.

	* configure.ac (ASM_MARK_NOEXEC_STACK): Check if the C compiler
	generates a .note.GNU-stack section. If so, we should do the same
	in our assembler files.

	* sparc64/aes.asm: New file. Copy of sparc/aes.asm, with minor
	changes to the stack frame layout. Patch contributed by Henrik
Niels Möller's avatar
Niels Möller committed
	Grubbström. Not yet tested.

	* x86/md5-compress.asm: Skip copying of input to the stack, and
	don't allocate space for it.
	(F1): Fixed bug.

	* testsuite/md5-test.c: Document intermediate values for first
	test case.

	* configure.ac (asm_path): Check for sparc64, and use sparc64
	subdirectory. Link in md5-compress.asm, if it exists.

Niels Möller's avatar
Niels Möller committed
2005-10-13  Niels Möller  <nisse@lysator.liu.se>

	* x86/md5-compress.asm (REF): Fixed calculation of offset.

Niels Möller's avatar
Niels Möller committed
2005-10-12  Niels Möller  <nisse@lysator.liu.se>

	* x86/machine.m4 (OFFSET): Moved macro, used to be in...
	* x86/sha1-compress.asm (OFFSET): ... removed macro.

	* x86/md5-compress.asm: New file, with first attempt at md5
	assembler. Not yet working.

Niels Möller's avatar
Niels Möller committed
2005-10-11  Niels Möller  <nisse@lysator.liu.se>

	* Makefile.in (nettle_SOURCES): Added md5-compress.c.

	* md5.c: Reorganized to use _nettle_md5_compress, in analogy with
	sha1.c.

	* md5-compress.c (_nettle_md5_compress): New file and new function.

Niels Möller's avatar
Niels Möller committed
2005-10-10  Niels Möller  <niels@s3.kth.se>

	* testsuite/Makefile.in (EXTRA_SOURCES, EXTRA_TARGETS): New
	variables, for test cases that are not run by default.

	* testsuite/sha1-huge-test.c (test_main): New test case, with a
	very large sha1 input.

	* testsuite/testutils.c (test_hash_large): New function.

	* sha1.c (sha1_block): Deleted function; inlined where used.
	(SHA1_INCR): New macro for incrementing the block count.

Niels Möller's avatar
Niels Möller committed
2005-10-06  Niels Möller  <nisse@lysator.liu.se>

	* configure.ac: Bumped version to 1.14.

	* Released nettle-1.13.

	* configure.ac: Check for openssl/aes.h.

	* Makefile.in (distdir): Use a loop to pick up the contents of
	$(DISTFILES) from source and build directories. For some reason,
	$? failed to find stamp-h.in in the source directory.

Niels Möller's avatar
Niels Möller committed
2005-10-05  Niels Möller  <nisse@lysator.liu.se>

	* x86/aes-decrypt.asm: Use C_NAME(_nettle_aes_decrypt_table) when
	using the AES_SUBST_BYTE macro. Use PROLOGUE and EPILOGUE.
	* x86/sha1-compress.asm: Use PROLOGUE and EPILOGUE.
	* x86/arcfour-crypt.asm: Likewise.
	* x86/aes-encrypt.asm: Likewise.

	* config.m4.in (ELF_STYLE): Substitute configure's ASM_ELF_STYLE.

	* asm.m4 (PROLOGUE, EPILOGUE): New macros, checking the value of
	ELF_STYLE. So far, used and tested only for the x86 assembler
	files, and needed to make the assembler happy both with ELF
	(linux, solaris) and COFF (windows).

	* configure.ac (NM): Use AC_CHECK_TOOL to check for nm.
	(ASM_SYMBOL_PREFIX): Use $NM when examining the object file.
	(ASM_ELF_STYLE): New variable. Set to 'yes' if assembling a file
	with ELF-style .type and .size pseudo ops works.

	* Makefile.in (TARGETS, DISTFILES): Added nettle.pdf.
	(.texinfo.dvi, .dvi.ps, .ps.pdf): New targets, to build nettle.pdf.
	(DOCTARGETS): New variable with targets that shouldn't be deleted
	by make clean.
	(maintainer-clean-here): New target. Deletes generated
	documentation files.

	* nettle.texinfo: Define AUTHOR with accents, when running in TeX
	mode, which doesn't handle latin-1 properly. Set UPDATED-FOR to
	1.13. Updated copyright years, and introduced a COPYRIGHT-YEARS
	symbol. Updated copyright section, to mention assembler
	implementations.
	(Cipher modes): Transformed the Cipher Block Chaining to a section
	Cipher modes, describing both CBC and the new CTR mode.

	* src/nettle/x86/aes_tables.asm: Deleted unused file.

	* x86/aes.asm: Deleted contents. This file is needed just to
	override aes.c, which isn't needed for the x86 implementation.

	* configure.ac (SHLIBMINOR): Increased minor number. Library
	version is now libnettle.so.2.4, soname still libnettle.so.2.

	* examples/nettle-benchmark.c (main): Reordered hash benchmarks.

	* x86/sha1-compress.asm (EXPAND): Use % 16 instead of & 15 to
	compute offsets mod 16, since m4 on FreeBSD 49.RELEASE and NetBSD
	doesn't implement & correctly in eval.

Niels Möller's avatar
Niels Möller committed
2005-10-03  Niels Möller  <nisse@lysator.liu.se>

	* x86/sha1-compress.asm (OFFSET): New macro.
	(F3): Eliminated a movl.
	(ROUND): New argument, for k. When using F3, it's TMP3, on the
	stack, otherwise, it is kept in TMP2, a register.

Niels Möller's avatar
Niels Möller committed
2005-10-03  Niels Möller  <niels@s3.kth.se>

	* examples/nettle-openssl.c: Use correct block sizes for openssl
	ciphers.

	* examples/nettle-benchmark.c: Also display cycles per block.

Niels Möller's avatar
Niels Möller committed
2005-10-02  Niels Möller  <nisse@lysator.liu.se>

	* sha1-compress.c (_nettle_sha1_compress): Updated to new
	interface. Now responsible for byte conversion.

	* x86/sha1-compress.asm (_nettle_sha1_compress): Do byte order
	conversion, and store the input data on the stack. This leaves one
	more register free for other uses.

	* examples/nettle-benchmark.c: Now display cycles/byte, if the -f
	option is used to say what the clock frequency is.

	* sha1.c (sha1_block): Don't convert data from uint8_t to
	uint32_t, that's now the responsibility of _nettle_sha1_compress.

	* sha.h (_nettle_sha1_compress): Changed interface. Second
	argument is now a pointer to the input data in unaligned,
	big-endian form.

Niels Möller's avatar
Niels Möller committed
2005-09-28  Niels Möller  <niels@s3.kth.se>

	* sha1.c (sha1_final): Call sha1_block, don't call the compression
	function _nettle_sha1_compress directly.

	* nettle-internal.h (nettle_openssl_md5)
	(nettle_openssl_sha1): Declare.

	* examples/nettle-benchmark.c (main): Benchmark openssl md5 and
	sha1.

	* examples/nettle-openssl.c (nettle_openssl_md5)
	(nettle_openssl_sha1): Added glue for openssl hash functions.

	* nettle-internal.h (nettle_openssl_aes128, nettle_openssl_aes192)
	(nettle_openssl_aes256, nettle_openssl_arcfour128): Declare.

	* examples/nettle-benchmark.c: Check WITH_OPENSSL, not
	HAVE_LIBCRYPTO. Benchmark openssl's aes and arcfour code.

	* examples/nettle-openssl.c: Updated openssl des glue to use the
Niels Möller's avatar
Niels Möller committed
	new openssl des interface. Added glue for arcfour and aes.
Niels Möller's avatar
Niels Möller committed
2005-09-27  Niels Möller  <nisse@lysator.liu.se>

	* nettle.texinfo (RSA): Improved text about the RSA patent.
	Use @documentencoding ISO-8859-1.

Niels Möller's avatar
Niels Möller committed
2005-09-07  Niels Möller  <niels@s3.kth.se>

	* tools/sexp-conv.c (parse_options): New option --raw-hash, for
	compatibility with lsh-1.x. Equivalent to --hash.

Niels Möller's avatar
Niels Möller committed
2005-09-06  Niels Möller  <niels@s3.kth.se>

	* tools/sexp-conv.c (main): With --hash, output a newline after
	each hash.

Niels Möller's avatar
Niels Möller committed
2005-07-02  Niels Möller  <nisse@lysator.liu.se>

	* testsuite/Makefile.in (TS_SOURCES): Added ctr-test.c.

	* testsuite/testutils.c (test_cipher_ctr): New function.

	* testsuite/ctr-test.c: New file.

	* testsuite/cbc-test.c (test_main): Use static const for msg.

	* Makefile.in (nettle_SOURCES): Added ctr.c.
	(HEADERS): Added ctr.h.
	(HEADERS): Added nettle-types.h.
	(INSTALL_HEADERS): Install nettle-stdint.h.
	(distclean-here): Delete nettle-stdint.h, not nettle-types.h.

	* ctr.c (ctr_crypt): New file, new function.

	* memxor.c (memxor3): New function, suggested by Adam Langley.

	* nettle-internal.h (NETTLE_MAX_CIPHER_BLOCK_SIZE): New constant.

	* nettle.texinfo (Cipher functions): Fixed typo in prototype for
	arctwo_encrypt (noticed by Adam Langley).

	* nettle-meta.h: No longer needs to include cbc.h.

	* cbc.h (nettle_crypt_func): Moved typedef to nettle-types.h.
	(CBC_ENCRYPT, CBC_DECRYPT): Deleted older #if:ed out versions.

	* configure.ac (AX_CREATE_STDINT_H): Use the file name
	nettle-stdint.h, not nettle-types.h.

	* nettle-types.h: New file. Automatically generated declarations
	are now in nettle-stdint.h.

Niels Möller's avatar
Niels Möller committed
2005-03-17  Niels Möller  <niels@s3.kth.se>

	* config.guess: Support Solaris on x86_64. Fix by Henrik
Niels Möller's avatar
Niels Möller committed
	Grubbström.
Niels Möller's avatar
Niels Möller committed
2005-01-03  Niels Möller  <niels@s3.kth.se>

	* examples/io.h: Include RSA declarations only when public key
	algorithms are enabled. Problem reported by Meilof Veeningen
Niels Möller's avatar
Niels Möller committed
	<meilof@gmail.com>.
Niels Möller's avatar
Niels Möller committed
2004-12-07  Niels Möller  <nisse@lysator.liu.se>

	* Makefile.in: Install directories, using $(INSTALL) -d, only if
	they don't exist already.

Niels Möller's avatar
Niels Möller committed
2004-12-05  Niels Möller  <nisse@lysator.liu.se>

	* config.make.in (.PRECIOUS): Reverted earlier change. We need
	.PRECIOUS to stop GNU make from deleting object files for the test
	programs.

Niels Möller's avatar
Niels Möller committed
2004-12-02  Niels Möller  <nisse@lysator.liu.se>
	* Makefile.in (.SUFFIXES): Moved from Makefile.in to...
	* config.make.in (.SUFFIXES): ... here.	This helps compilation
	with BSD make.
	* testsuite/Makefile.in (.SUFFIXES): Deleted target.

	* config.make.in (.c): Disable default rule for BSD-make.

Niels Möller's avatar
Niels Möller committed
	* Makefile.in (all check install uninstall)
	(clean distclean mostlyclean maintainer-clean): Don't use the -C
	flag when invoking make, for compatibility with Solaris make.

Niels Möller's avatar
Niels Möller committed
2004-12-02  Niels Möller  <niels@s3.kth.se>

	* Makefile.in (aesdata, desdata): Commented out the explicit
	targets.
	(shadata): Avoid using $< in non-pattern rule.

Niels Möller's avatar
Niels Möller committed
2004-12-01  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed

	* config.make.in: Added a default target.

Niels Möller's avatar
Niels Möller committed
2004-11-29  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed

	* testsuite/Makefile.in: Use .$(OBJEXT). Explicitly set .SUFFIXES.

	* Makefile.in: Use .$(OBJEXT).

Niels Möller's avatar
Niels Möller committed
2004-11-28  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed
	* tools/Makefile.in (nettle-lfib-stream): Avoid using $< in
	non-suffix rule.

	* Makefile.in (distdir): Handle absolute $distdir.
	Avoid using the GNU extension $^.

	* examples/Makefile.in: Avoid using the GNU extension $^.
	* tools/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

Niels Möller's avatar
Niels Möller committed
2004-11-24  Niels Möller  <niels@s3.kth.se>

	* configure.ac: Fixed typo, preventing the creation of dependency
Niels Möller's avatar
Niels Möller committed
	files.
Niels Möller's avatar
Niels Möller committed
2004-11-23  Niels Möller  <nisse@lysator.liu.se>

	* Makefile.in: Use DEP_INCLUDE.
	* tools/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.
	* examples/Makefile.in: Likewise.

	* configure.ac (dummy-dep-files): Generate only of dependency
	tracking is enabled.

Niels Möller's avatar
Niels Möller committed
2004-11-18  Niels Möller  <nisse@lysator.liu.se>
	* Makefile.in (clean-here): The clean target should not delete the
	dependency files. Moved to the distclean target.
	* examples/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.
	* tools/Makefile.in: Likewise.
	* configure.ac (ASM_SYMBOL_PREFIX): Fixed test.
	(dummy-dep-files): Added quotes to sed command.
Niels Möller's avatar
Niels Möller committed
2004-11-17  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed
	* testsuite/symbols-test: Try plain nm if nm -g doesn't work.

Niels Möller's avatar
Niels Möller committed
	* x86/sha1-compress.asm: Use C_NAME for global symbols.
	* x86/aes-encrypt.asm: Likewise.
	* x86/aes-decrypt.asm: Likewise.
	* x86/arcfour-crypt.asm: Likewise.

	* Makefile.in (config.m4): New rule.

	* config.m4.in (C_NAME): New macro.

	* configure.ac (ASM_SYMBOL_PREFIX): Check if global symbols have a
	leading underscore.

Niels Möller's avatar
Niels Möller committed
2004-11-16  Niels Möller  <nisse@lysator.liu.se>

	* Deleted getopt.c, getopt.h and getopt1.c from the CVS tree. Link
	them from shared copies in lsh/misc instead.

Niels Möller's avatar
Niels Möller committed
2004-11-14  Niels Möller  <nisse@lysator.liu.se>
	* Makefile.in (DEP_FILES): Try include with only one macro
	argument to be expanted.

	* configure.ac (dummy-dep-files): Create dummy dependency files,
	so that they can be included by the makefiles.

Niels Möller's avatar
Niels Möller committed
2004-11-13  Niels Möller  <nisse@lysator.liu.se>
	* Makefile.in: Don't use -include, as it's GNU make specific.
	* examples/Makefile.in, tools/Makefile.in, testsuite/Makefile.in:
Niels Möller's avatar
Niels Möller committed
	Likewise.
Niels Möller's avatar
Niels Möller committed
	* examples/nettle-openssl.c: Check WITH_OPENSSL, not HAVE_LIBCRYPTO.

	* configure.ac: Check for individual openssl headers blowfish.h,
	cast.h, des.h. Renamed symbol HAVE_LIBCRYPTO to WITH_OPENSSL. New
	configure option --disable-openssl.

Niels Möller's avatar
Niels Möller committed
2004-11-04  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed
	* configure.ac: Bumped version to 1.13.

Niels Möller's avatar
Niels Möller committed
	* Released nettle-1.12.

Niels Möller's avatar
Niels Möller committed
2004-11-04  Niels Möller  <niels@s3.kth.se>

	* nettle.texinfo (UPDATED-FOR): Bumped to 1.12.

Niels Möller's avatar
Niels Möller committed
2004-11-02  Niels Möller  <nisse@lysator.liu.se>

	* nettle.texinfo (Cipher functions): Updated AES documentation,
	for aes_set_encrypt_key and aes_set_decrypt_key.
	(UPDATED-FOR): Set to 1.11. I think the manual should be updated
	with all user-visible changes.

	* aclocal.m4 (LSH_DEPENDENCY_TRACKING): Need extra quoting in case
	pattern. (This file really lives in the lsh tree, as
	lsh/acinclude.m4. For a complete ChangeLog, see lsh/Changelog).
Niels Möller's avatar
Niels Möller committed
2004-10-26  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed
	* configure.ac: Bumped version to 1.12.

	* Released nettle-1.11.

	* Makefile.in (clean-here): Delete *.s files.
	(PRE_CPPFLAGS): Use this variable, not INCLUDES. Removed
Niels Möller's avatar
Niels Möller committed
	-I$(srcdir).
Niels Möller's avatar
Niels Möller committed
	* x86/arcfour-crypt.asm: Use movzbl when extending %cl to 32 bits.

Niels Möller's avatar
Niels Möller committed
2004-10-24  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed

	* x86/arcfour-crypt.asm: Reverted the latest two changes; update
	bost src and dst pointers in the loop, and use plain addb when
	updating j. These two previous changes slowed the code down on AMD
Niels Möller's avatar
Niels Möller committed
	Duron.
Niels Möller's avatar
Niels Möller committed
2004-10-21  Niels Möller  <nisse@lysator.liu.se>
	* Makefile.in (install-shared): Use $(INSTALL_PROGRAM).

	* configure.ac (SHLIBMINOR): Updated, shared library version is
	now libnettle.so.2.3, soname still libnettle.so.2.

	* Makefile.in (DISTFILES): Added asm.m4.

Niels Möller's avatar
Niels Möller committed
2004-10-21  Niels Möller  <niels@s3.kth.se>

	* examples/Makefile.in: Deleted all configure-related rules,
	except the one rebuilding this Makefile. One should run make at
	top level if other configure related files change.
	* tools/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

	* configure.ac: Replaced AC_OUTPUT(list...) with an AC_OUTPUT
	without arguments, and AC_CONFIG_FILES listing the files.

	* Makefile.in: Changed the assembler rules as suffix rules.
	Rewrote the configure-related rules, mostly based on the example
	in the autoconf manual.

Niels Möller's avatar
Niels Möller committed
2004-10-20  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed
	* examples/nettle-openssl.c (NCOMPAT): Disable openssl backwards
	compatibility.

	* config.make.in: Insert $(PRE_CPPFLAGS) and $(PRE_LDFLAGS) before
	$(CPPFLAGS) and $(LDFLAGS). This mechanism replaces $(INCLUDES).

	* examples/Makefile.in (PRE_CPPFLAGS, PRE_LDFLAGS): Use these
	flags to get -I.. and -L.. early on the command line.
	* testsuite/Makefile.in: Likewise
	* tools/Makefile.in: Likewise.

Niels Möller's avatar
Niels Möller committed
2004-10-20  Niels Möller  <niels@s3.kth.se>
Niels Möller's avatar
Niels Möller committed

	* Makefile.in: In the assembler rules, there's no need to look in
	$(srcdir) for the input file.

	* x86/arcfour-crypt.asm: Reduced inner loop by one instruction, by
	precomputing the offset between src and dst.

	* tools/Makefile.in (.c.$(OBJEXT)): Removed redundant -I.. flag.

	* x86/arcfour-crypt.asm (nettle_arcfour_crypt): Replaced addb ->
	addl + andl $0xff, improving speed on PPro by another 15%.

Niels Möller's avatar
Niels Möller committed
2004-10-20  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed

	* tools/Makefile.in (install): Support DESTDIR.
	(uninstall): New target.

	* testsuite/Makefile.in (uninstall): New dummy target.

Niels Möller's avatar
Niels Möller committed
	* config.sub: Copied from automake-1.8.5.
Niels Möller's avatar
Niels Möller committed

	* examples/Makefile.in (SOURCES): Added rsa-sign.c and rsa-verify.c.
	(DISTFILES): Added getopt.h.
	(install uninstall): New dummy targets.

	* config.make.in (.PHONY): Added more targets.

	* Makefile.in (.texinfo.info, .texinfo.html): New targets. Added
	support for uninstall and DESTDIR. Various fixes to install and
	distcheck.

	* examples/Makefile.in (INCLUDES): Added -I flags.
	(distdir): Use $^ to refer to the files.
	(distclean): New target.
	* testsuite/Makefile.in: Likewise.
	* tools/Makefile.in: Likewise.

	* Makefile.in (INCLUDES): Need -I flags for VPATH build.
	(clean distclean mostlyclean maintainer-clean): Clean
	subdirectories first.
	(DISTFILES): Added a bunch of files.
	(des_headers): Added desCore rules.
	(install-here): Split off target install-headers, which uses $^ to
	refer to the files.
	(distdir): Use $^ to refer to the files.
	distcheck): Fixes.

	* config.make.in (COMPILE): Add $(INCLUDE) to the line.

Niels Möller's avatar
Niels Möller committed
2004-10-19  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed

	Stop using automake. Replaced each Makefile.am with a hand-written
	Makefile.in.
	* configure.ac: New output variable CCPIC_MAYBE. New output file
Niels Möller's avatar
Niels Möller committed
	config.make. Replaced automake constructions.
Niels Möller's avatar
Niels Möller committed
	* .bootstrap: Don't run aclocal and automake.
	* config.make.in: New file, with shared Makefile variables and rules.

Niels Möller's avatar
Niels Möller committed
2004-10-18  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed

	* x86/arcfour-crypt.asm (nettle_arcfour_crypt): Replace incb ->
	incl + andl, to improve speed on PPro and PII. Suggested by
	Fredrik Olsson.

Niels Möller's avatar
Niels Möller committed
2004-10-08  Niels Möller  <niels@s3.kth.se>

	* examples/rsa-encrypt-test: Avoid reading and executing a file at
	the same time.
	* examples/setup-env: Likewise.

Niels Möller's avatar
Niels Möller committed
2004-10-06  Niels Möller  <niels@s3.kth.se>
Niels Möller's avatar
Niels Möller committed

	* testsuite/symbols-test: Ignore __i686.get_pc_thunk.bx and
	similar symbols.

Niels Möller's avatar
Niels Möller committed
2004-10-05  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed

	* twofish.c (q_table): Use a const pointer array.

	* sexp2dsa.c (dsa_keypair_from_sexp_alist): Use a const pointer
	array for the keywords.
	(dsa_signature_from_sexp): Likewise.
	* sexp2rsa.c (rsa_keypair_from_sexp_alist): Likewise.
	(rsa_keypair_from_sexp): Likewise.

	* sexp.c (sexp_iterator_check_types): Use an argument of type
	"const uint8_t * const *" for the types list.
	(sexp_iterator_assoc): Likewise, for the keys list.

	* list-obj-sizes.awk: Fixes to handle multiple .data and .rodata
	sections. Also fixed to handle the last file correctly.

Niels Möller's avatar
Niels Möller committed
2004-09-23  Niels Möller  <nisse@lysator.liu.se>

	* configure.ac (SHLIBLINK, SHLIBLIBS): On cygwin, linking needs
Niels Möller's avatar
Niels Möller committed
	-Wl,--whole-archive $(OBJECTS) -Wl,--no-whole-archive $(LIBS).
Niels Möller's avatar
Niels Möller committed
2004-09-22  Niels Möller  <niels@s3.kth.se>
Niels Möller's avatar
Niels Möller committed
	* configure.ac: Setup SHLIBFORLINK and friends for cygwin.
Niels Möller's avatar
Niels Möller committed

	* list-obj-sizes.awk: Strip *_a-prefix from all file names.

	* Makefile.am (libnettle_a_SOURCES): List only .c files. Headers
	moved to noinst_HEADERS.
	(SHLIBOBJECTS): Substitute from libnettle_a_SOURCES, not
	am_libnettle_a_OBJECTS, since the latter includes
	libnettle_a-prefixes with some automake versions.
	(SHLIBSONAME): Check if this name is empty, which is the case on
	cygwin, before using it.

Niels Möller's avatar
Niels Möller committed
2004-08-31  Niels Möller  <nisse@lysator.liu.se>

	* configure.ac: New command line option --disable-pic. Use
Niels Möller's avatar
Niels Möller committed
	LSH_CCPIC.

	* Makefile.am (libnettle_a_CFLAGS): Added $(CCPIC), to attempt to
	build also the static library as position independent code.

Niels Möller's avatar
Niels Möller committed
2004-08-24  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed
	* des-compat.c (des_cbc_cksum): Pad input with NUL's, if it's not
Niels Möller's avatar
Niels Möller committed
	an integral number of blocks.

Niels Möller's avatar
Niels Möller committed
2004-08-24  Niels Möller  <niels@s3.kth.se>
Niels Möller's avatar
Niels Möller committed
	* testsuite/arctwo-test.c, arctwo.h, arctwo.c
	(arctwo_set_key_ekb): Fixed typo; it should be "ekb", not "ebk".

Niels Möller's avatar
Niels Möller committed
	Integrated arctwo patch from Simon Josefsson.
	* testsuite/Makefile.am (noinst_PROGRAMS): Added arctwo-test.

	* Makefile.am (libnettleinclude_HEADERS): Added arctwo.h.
	(libnettle_a_SOURCES): Added arctwo.c, arctwo.h and arctwo-meta.c.

	* nettle-meta.h (nettle_arctwo40, nettle_arctwo64)
	(nettle_arctwo64, nettle_arctwo_gutmann128): Declare ciphers.

	* arctwo-meta.c, arctwo.c, arctwo.h, testsuite/arctwo-test.c: New
	files.

	* macros.h (LE_READ_UINT16, LE_WRITE_UINT16): New macros.

Niels Möller's avatar
Niels Möller committed
2004-08-23  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed

	* testsuite/md5-test.c (test_main): Added collision, found in 2004.
	(test_main): Added second collision.

Niels Möller's avatar
Niels Möller committed
2004-08-23  Niels Möller  <niels@s3.kth.se>
Niels Möller's avatar
Niels Möller committed

	* testsuite/md5-test.c (test_main): Added first half of a
	collision test case.

	* des-compat.c (des_cbc_cksum): Changed input argument to be of
	type const uint8_t * (was const des_cblock *).

	* des-compat.h (const_des_cblock): New bogus type. Disabled use of
	const, for compatibility with openssl.

Niels Möller's avatar
Niels Möller committed
2004-06-08  Niels Möller  <niels@s3.kth.se>
Niels Möller's avatar
Niels Möller committed

	* aesdata.c: Renamed log and ilog to gf2_log and gf2_exp.

Niels Möller's avatar
Niels Möller committed
2004-04-07  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed

	* aes-set-encrypt-key.c (log, ilog): Deleted unused tables.

	* aes-set-decrypt-key.c (gf2_log, gf2_exp, mult): Renamed tables,
	were log and ilog.

Niels Möller's avatar
Niels Möller committed
2004-03-20  Niels Möller  <nisse@lysator.liu.se>

	* configure.ac: Use AC_CONFIG_AUX_DIR([.]).

Niels Möller's avatar
Niels Möller committed
2004-03-18  Niels Möller  <niels@s3.kth.se>
Niels Möller's avatar
Niels Möller committed

	* examples/io.c (read_file): Display a message if fopen fails.

Niels Möller's avatar
Niels Möller committed
2004-03-05  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed

	* Released nettle-1.10.

	* configure.ac (SHLIBMINOR): Shared library version is now 2.2.

Niels Möller's avatar
Niels Möller committed
2004-03-04  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed

	* testsuite/symbols-test: Pass -g flag to nm.

Niels Möller's avatar
Niels Möller committed
2004-03-02  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed

	* configure.ac: Fixed EXEEXT workaround.

Niels Möller's avatar
Niels Möller committed
2004-03-02  Niels Möller  <niels@s3.kth.se>

	* configure.ac: Added workaround to get the correct $(EXEEXT)=''
	when compiling with rntcl.

Niels Möller's avatar
Niels Möller committed
2004-03-02  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed
	* testsuite/Makefile.am (noinst_PROGRAMS): Put test program list
	here, to let automake add $(EXEEXT).

	* configure.ac (RSA_EXAMPLES): Append $(EXEEXT) to the filenames.

Niels Möller's avatar
Niels Möller committed
2004-03-01  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed
	* examples/rsa-keygen.c, examples/rsa-encrypt.c,
	examples/rsa-decrypt.c: Include "getopt.h" instead of <unistd.h>.

	* examples/Makefile.am (rsa_encrypt_SOURCES, rsa_decrypt_SOURCES)
	(rsa_keygen_SOURCES): Added getopt.h, getopt.c and getopt1.c.

	* examples/getopt.h, examples/getopt.c, examples/getopt1.c: New
Niels Möller's avatar
Niels Möller committed
	files.
Niels Möller's avatar
Niels Möller committed
	* testsuite/des-compat-test.c: Don't include <unistd.h>.

	* testsuite/testutils.c (main): Don't use getopt. Then we don't
	need to include <unistd.h>.

Niels Möller's avatar
Niels Möller committed
2004-03-01  Niels Möller  <niels@s3.kth.se>
Niels Möller's avatar
Niels Möller committed

	* config.guess: Copied from automake-1.8.2. Hacked to recognize
	Windows_NT (and Windows_95 and Windows_98) running on "x86" and
	"686".

	* install-sh: Removed from CVS repository. Let automake supply it.

Niels Möller's avatar
Niels Möller committed
2004-02-26  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed

	* nettle-meta.h (nettle_crypt_func): Typedef moved to cbc.h.
	Include cbc.h instead.

	* des-compat.c: Reverted const change, now all the des_key_sched
	arguments are not const. This is also what openssl's interface
	looks like.
Niels Möller's avatar
Niels Möller committed
	(cbc_crypt_func): Deleted typedef, use nettle_crypt_func instead.
Niels Möller's avatar
Niels Möller committed
	* cbc.h (nettle_crypt_func): Moved typedef here.
Niels Möller's avatar
Niels Möller committed
	* cbc.c (cbc_encrypt, cbc_decrypt_internal, cbc_decrypt): Use it
	for typing the f argument. Reverted the const change, for
	compatibility with nettle_crypt_func.

Niels Möller's avatar
Niels Möller committed
2004-02-25  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed
	* testsuite/des-compat-test.c: Use des_cblock for typing more of
	the variables. Use const. Got rid of most of the explicit casts.
	Disabled the input/output alignment tests.

	* des.c (des_encrypt, des_decrypt): Use a const context pointer.
	* des3.c (des3_encrypt, des3_decrypt): Likewise.

	* cbc.c (cbc_encrypt, cbc_decrypt): Use a _const_ void *ctx argument.

	* des-compat.c: Use const for all unchanged arguments.
	(des_key_sched): Use a copy of the key if we need to fix the
	parity.

Niels Möller's avatar
Niels Möller committed
	* testsuite/des-compat-test.c (C_Block, Key_schedule): Deleted
	defines. Deleted some of the explicit casts.

	* des-compat.c (des_cbc_cksum): Dereference DST pointer.

Niels Möller's avatar
Niels Möller committed
2004-02-25  Niels Möller  <niels@s3.kth.se>
Niels Möller's avatar
Niels Möller committed

	* pgp.h: Include nettle-types.h.

Niels Möller's avatar
Niels Möller committed
2004-02-24  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed

	* testsuite/symbols-test: Allow symbols starting with double
	underscores, like on darwin.

Niels Möller's avatar
Niels Möller committed
2004-02-17  Niels Möller  <niels@s3.kth.se>
Niels Möller's avatar
Niels Möller committed

	* Makefile.am: Protected %-rules used for building pure objects,
	and for assembler files, by automake conditionals. Needed for
	makes such as tru64's, which tries to understand %-patterns, but
	doesn't get it right.
	(SUFFIXES): Added .html.
	(.texinfo.html): Rewrote rule to use a traditional suffix target.
Niels Möller's avatar
Niels Möller committed
	* configure.ac (enable_assembler): Explicitly set
	enable_assembler=no, on architectures where we have no assembler
Niels Möller's avatar
Niels Möller committed
	files.
Niels Möller's avatar
Niels Möller committed
	(ENABLE_ASSEMBLER, ENABLE_SHARED): New automake conditionals.

	* testsuite/testutils.c (xalloc): xalloc(0) should work also on
	systems where malloc(0) returns NULL.

Niels Möller's avatar
Niels Möller committed
2004-02-16  Niels Möller  <niels@s3.kth.se>
Niels Möller's avatar
Niels Möller committed

	* Makefile.am (%.o: %.asm): Added comment about OSF1 make problem.

Niels Möller's avatar
Niels Möller committed
2004-02-15  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed

	* testsuite/testutils.h: #include nettle-types.h instead of
Niels Möller's avatar
Niels Möller committed
	inttypes.h.
Niels Möller's avatar
Niels Möller committed
2004-02-12  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed

	* examples/rsa-encrypt-test: Use -r option when invoking
	rsa-encrypt. Needed for the test to work on systems with no
	/dev/urandom.

Niels Möller's avatar
Niels Möller committed
2004-02-12  Niels Möller  <niels@s3.kth.se>

	* configure.ac (CPPFLAGS, LDFLAGS): No spaces after -I and -L, as
	some C compilers, in particular True64 cc, don't like that.

Niels Möller's avatar
Niels Möller committed
2004-02-08  Niels Möller  <nisse@lysator.liu.se>

	* configure.ac: Bumped version number to 1.10.

Niels Möller's avatar
Niels Möller committed
2004-02-07  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed
	* Released nettle-1.9.

	* configure.ac (SHLIBMINOR): Bumped, library version is now 2.1.

Niels Möller's avatar
Niels Möller committed
	* testsuite/sexp-format-test.c: Include bignum.h only if HAVE_LIBGMP.
	* testsuite/rsa-encrypt-test.c: Include rsa.h only if WITH_PUBLIC_KEY.
	* testsuite/pkcs1-test.c: Include pkcs1.h only if WITH_PUBLIC_KEY.

	* pgp-encode.c [!HAVE_LIBGMP]: Kludge around the pgp.h's
	dependency on gmp.h.
	(pgp_put_mpi): Condition on HAVE_LIBGMP.

	* pgp.h: Don't include bignum.h, to make it possible to compile
	the non-bignum parts of pgp-encode.c without bignum support. Needs
	to be fixed properly before the pgp interface is advertised.

Niels Möller's avatar
Niels Möller committed
	* tools/sexp-conv.c (xalloc): New function.
	(main): Use xalloc.

	* tools/output.c (sexp_put_digest): Use TMP_DECL instead of alloca.

	* testsuite/testutils.c (xalloc): New function. Made all other
	functions use xalloc instead of alloca.

	* examples/rsa-keygen.c (main): Use xalloc for allocation.
	* examples/rsa-encrypt.c (write_bignum): Likewise.
	* examples/rsa-decrypt.c (read_bignum): Likewise.
	* testsuite/yarrow-test.c (open_file): Likewise.
	* testsuite/rsa-encrypt-test.c (test_main): Likewise.
	* testsuite/bignum-test.c (test_bignum): Likewise.

	* examples/nettle-openssl.c: When calling des_key_sched and
	des_ecb_encrypt, cst arguments to (void *). Openssl's typedefs
	des_cblock and const_des_cblock are too broken.

	* examples/nettle-benchmark.c (xalloc): New function. Use instead
	of alloca, for better portability.

	* examples/io.c (xalloc): New function.

	* Makefile.am (nodist_libnettleinclude_HEADERS): nettle-types.h
	should not be distributed.

Niels Möller's avatar
Niels Möller committed
2004-02-06  Niels Möller  <niels@s3.kth.se>
Niels Möller's avatar
Niels Möller committed
	* x86/sha1-compress.asm: Rename round -> ROUND.

Niels Möller's avatar
Niels Möller committed
	* x86/sha1-compress.asm: Store the magic constants on stack.
	Accessing them via %esp should be a little faster than using large
	immediate operands.

Niels Möller's avatar
Niels Möller committed
	* Makefile.am (EXTRA_DIST, DISTCLEANFILES): Handle
	sha1-compress.asm.

	* configure.ac: Use assembler file sha1-compress.asm if available.

	* x86/sha1-compress.asm (EXPAND): Fixed the rotation part of the
	data expansion.

Niels Möller's avatar
Niels Möller committed
2004-02-06  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed

	* x86/sha1-compress.asm: Assembler implementation of
	sha1_compress. (Not yet working).

	* Makefile.am (libnettle_a_SOURCES): Added sha1-compress.c.

	* sha1.c (sha1_transform): Function renamed to sha1_compress, and
Niels Möller's avatar
Niels Möller committed
	moved to...
Niels Möller's avatar
Niels Möller committed
	* sha1-compress.c: ... New file.

Niels Möller's avatar
Niels Möller committed
2004-02-05  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed
	* examples/rsa-encrypt.c (process_file): Copy the leftover to the
	start of the buffer, when preparing for the final processing.

Niels Möller's avatar
Niels Möller committed
	* examples/nettle-benchmark.c (bench_hash, time_hash): New functions.
	(main): Benchmark hash functions too.
	(BENCH_BLOCK): Increased 10K.
	(BENCH_INTERVAL): Decreased to 0.25s.

	* examples/nettle-benchmark.c (time_function): Loop around calling
	f, until 1s has elapsed. Returns seconds per call. Updated bench
	functions to not loop themselves.
	(display): Updated MB/s calculation.

	* testsuite/arcfour-test.c (test_main): Use test_cipher_stream.

	* testsuite/testutils.c (test_cipher_stream): New function, that
	tries dividing the input into varying size blocks before
Niels Möller's avatar
Niels Möller committed
	processing.

	* x86/arcfour-crypt.asm (nettle_arcfour_crypt): Bug fix, half of
	the S array swap was forgotten.
	* arcfour.c (arcfour_stream): Likewise.
	* arcfour-crypt.c (arcfour_crypt): Likewise.

Niels Möller's avatar
Niels Möller committed
2004-02-05  Niels Möller  <niels@s3.kth.se>
Niels Möller's avatar
Niels Möller committed
	* x86/arcfour-crypt.asm (nettle_arcfour_crypt): Must store the new
	i, j at the end of the loop.

Niels Möller's avatar
Niels Möller committed
	* Makefile.am (EXTRA_DIST): Make sure x86 assembler files are
Niels Möller's avatar
Niels Möller committed
	distributed.
Niels Möller's avatar
Niels Möller committed
	(DISTCLEANFILES): And that the symlinks and .s files are deleted.

Niels Möller's avatar
Niels Möller committed
	* x86/aes-encrypt.asm, x86/aes-decrypt.asm, x86/arcfour-crypt.asm:
	Fixed debug information.
Niels Möller's avatar
Niels Möller committed

	* x86/arcfour-crypt.asm: New file. About three times faster than
	the optimized C code.

	* configure.ac: Use assembler file arcfour-crypt.asm if available.

	* arcfour.c (arcfour_crypt): Moved function too...
	* arcfour-crypt.c (arcfour_crypt): New file.

Niels Möller's avatar
Niels Möller committed
	* arcfour.c (arcfour_crypt): Optimization suggested by Jonas
Niels Möller's avatar
Niels Möller committed
	Walldén. Makes arcfour up to 50% faster on x86 and ppc, and
Niels Möller's avatar
Niels Möller committed
	probably on other architectures as well.

Niels Möller's avatar
Niels Möller committed
2004-01-31  Niels Möller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed

	* configure.ac (AX_CREATE_STDINT_H): Also look for uint32_t and
	friends in sys/types.h.

Niels Möller's avatar
Niels Möller committed
2004-01-11  Niels Möller  <nisse@harpo.hack.org>
	* Makefile.am (libnettleinclude_HEADERS): Added bignum.h,
	memxor.h, pkcs1.h and rsa-compat.h.

Niels Möller's avatar
Niels Möller committed
	* configure.ac: Bumped version to 1.9.

Niels Möller's avatar
Niels Möller committed
2004-01-10  Niels Möller  <nisse@harpo.hack.org>
Niels Möller's avatar
Niels Möller committed
	* Released nettle-1.8.

Niels Möller's avatar
Niels Möller committed
	* examples/teardown-env: Delete more test files.

Niels Möller's avatar
Niels Möller committed
	* nettle.texinfo (Hash functions): Documented md2 and md4.

	* configure.ac (SHLIBMAJOR): Bumped to 2.

Niels Möller's avatar
Niels Möller committed
2004-01-09  Niels Möller  <nisse@harpo.hack.org>
Niels Möller's avatar
Niels Möller committed
	* examples/rsa-encrypt-test: New testcase.

Niels Möller's avatar
Niels Möller committed
	* examples/rsa-encrypt.c, examples/rsa-session.h: Expanded the
	comment describing the file format, and moved to rsa-session.h.

	* examples/rsa-decrypt.c (process_file): Finished this function.
	(main): Initialize x. Check the size of the session key after rsa
Niels Möller's avatar
Niels Möller committed
	decryption.

	* examples/io.c (write_string): Treat short item count as an error.

Niels Möller's avatar
Niels Möller committed
2004-01-08  Niels Möller  <niels@s3.kth.se>