Skip to content
Snippets Groups Projects
ChangeLog 81.2 KiB
Newer Older
  • Learn to ignore specific revisions
  • 2003-11-12  Niels Mller  <niels@s3.kth.se>
    
    	* list-obj-sizes.awk: New function for decoding hex values, with a
    	new function hex2int. Also implemented calculation of total
    	storage, removed the dependence on the .comment section, and use
    	the $FILTER environment variable as a regexp for restricting the
    	object files that are considered.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-09-21  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* testsuite/rsa-encrypt-test.c (test_main): Don't use gmp_printf,
    	as it seems it's only available with the newer gmp. Use
    	mpz_out_str instead.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-09-19  Niels Mller  <niels@s3.kth.se>
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* examples/Makefile.am (EXTRA_DIST): Added rsa-session.h.
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* tools/nettle-lfib-stream.c: New tool, which outputs a sequence
    	of pseudorandom (non-cryptographic) bytes, using Knuth's lagged
    	fibonacci generator.
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* examples/rsa-decrypt.c: Fixes to get the file to compile. It
    	won't work yet.
    
    	* examples/Makefile.am (EXTRA_PROGRAMS): Added rsa-encrypt and
    	rsa-decrypt.
    
    	* examples/io.c (write_file): New function.
    	(write_string): Simplified error check, it's no real point in
    	calling ferror unless we also call fflush.
    
    	* examples/rsa-keygen.c (main): Check return value from
    	simple_random. 
    
    	* examples/rsa-decrypt.c, examples/rsa-encrypt.c,
    	examples/rsa-session.h: New files, demonstrating rsa encryption
    	and decryption.
    
    	* configure.ac (RSA_EXAMPLES): Added rsa-encrypt and rsa-decrypt.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-09-01  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* testsuite/testutils.c (print_hex): Use const.
    
    
    2003-08-30  Niels Mller  <niels@s3.kth.se>
    
    	* md2.c, md2.h: Added reference to RFC 1319.
    	* md4.c, md4.h: Added reference to RFC 1320
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-08-26  Niels Mller  <niels@s3.kth.se>
    
    	* Makefile.am: Added md2 and md5 files. Deleted the print-path
    	hack. 
    
    	* configure.ac: Bumped version to 1.8.
    
    	* testsuite/testutils.c (test_rsa_set_key_1): New function.
    	* testsuite/rsa-test.c (test_main): Use it.
    
    	* testsuite/dsa-keygen-test.c: Deleted definition of UNUSED, it's
    	now in config.h.
    	* testsuite/rsa-keygen-test.c: Likewise.
    
    	* testsuite/Makefile.am (TS_PROGS): Added rsa-encrypt-test,
    	md4-test, and md2-test.
    
    	* testsuite/rsa-encrypt-test.c, testsuite/md4-test.c,
    	testsuite/md2-test.c: New test cases.
    
    	* nettle-meta.h: Declare nettle_md2 and nettle_md4.
    
    	* md5.c: Reorderd functions, putting md5_final at the end.
    
    	* md2.c, md2.h, md2-meta.c: New files, implemented md2.
    	* md4.c, md4.h, md4-meta.c: New files, implemented md4.
    
    
    2003-08-17  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* desCode.h (des_keymap, des_bigmap): Deleted extern declarations,
    	they conficted with the static definition in des.c. Reported by
    	Simon Josefsson.
    
    	* des.c (DesSmallFipsEncrypt, DesSmallFipsDecrypt): Moved
    	definitions after the definition of the des_kemap array. 
    	
    
    Niels Möller's avatar
    Niels Möller committed
    2003-08-11  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* rsa-encrypt.c (rsa_encrypt): Bugfix contributed by
    	leg@terra.com.br.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-06-10  Niels Mller  <niels@s3.kth.se>
    
    	* Makefile.am (EXTRA_DIST): Distribute sha-example.c.
    
    
    2003-06-05  Niels Mller  <nisse@lysator.liu.se>
    
    	* Makefile.am (DISTCLEANFILES): Delete .s files.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-05-27  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* testsuite/symbols-test: And allow symbols that start at the
    	beginning of the line, as output by AIX nm.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-05-26  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* testsuite/symbols-test: Allow symbols to start with a dot.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-05-14  Niels Mller  <niels@s3.kth.se>
    
    	* pgp.h (enum pgp_subpacket_tag): Copied values from RFC 2440. 
    	Renamed PGP_SUBPACKET_ISSUER to PGP_SUBPACKET_ISSUER_KEY_ID.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-05-13  Niels Mller  <nisse@cuckoo.hack.org>
    
    
    	* pgp.h: Do proper namemangling for pgp_put_public_rsa_key and
    	pgp_put_rsa_sha1_signature. 
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* pgp-encode.c (pgp_put_mpi): Fixed nettle_mpz_get_str_256 call.
    
    
    2003-05-12  Niels Mller  <nisse@cuckoo.hack.org>
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* rsa2openpgp.c (rsa_keypair_to_openpgp): Some bugfixes.
    
    	* pgp.h (enum pgp_subpacket_tag): New enum. Definition is bogus
    	and needs to be fixed.
    	Added forward declarations of structs, and prototypes for
    	pgp_put_public_rsa_key and pgp_put_rsa_sha1_signature.
    
    	* pgp-encode.c (pgp_put_mpi): Take a const mpz_t argument. Gugfix,
    	use nettle_mpz_get_str_256.
    	(pgp_put_public_rsa_key, pgp_put_rsa_sha1_signature):
    	Constification. Some bugfixes.
    
    	* Use "config.h", not <config.h>.
    
    
    	* Reordered includes in most or all .c-files. All should now
    	include config.h.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-05-12  Niels Mller  <niels@s3.kth.se>
    
    	* configure.ac: Use LSH_FUNC_ALLOCA.
    
    
    2003-04-25  Niels Mller  <niels@s3.kth.se>
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* Makefile.am (libnettle_a_SOURCES): Added hmac-sha256.c.
    
    
    	* testsuite/hmac-test.c (test_main): Added tests for hmac-256,
    	from draft-ietf-ipsec-ciph-sha-256-01.txt.
    
    	* hmac-sha256.c (hmac_sha256_digest): New file.
    
    
    2003-04-22  Niels Mller  <nisse@cuckoo.hack.org>
    
    
    	* sha-example.c (display_hex): Simplified by using printf better.
    
    
    	* nettle.texinfo (Example): Use @verbatiminclude to include the
    	example program.
    
    	* sha-example.c: Example program, for inclusion in the manual.
    
    	Fixed bugs reported by Mark Arking.
    
    Niels Möller's avatar
    Niels Möller committed
    2003-04-14  Niels Mller  <niels@s3.kth.se>
    
    	* x86/aes-encrypt.asm (nettle_aes_encrypt): Fixed references to
    
    Niels Möller's avatar
    Niels Möller committed
    	_nettle_aes_encrypt_table.
    	* x86/aes-decrypt.asm (nettle_aes_decrypt): Fixed references to
    
    Niels Möller's avatar
    Niels Möller committed
    	_nettle_aes_decrypt_table.
    	
    
    Niels Möller's avatar
    Niels Möller committed
    2003-04-12  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* testsuite/Makefile.am (TS_SH): New test case symbols-test.
    	(EXTRA_PROGRAMS): Added testutils, as a kludge to
    	get automake to track dependencies for testutils.o.
    
    	* x86/aes-encrypt.asm (nettle_aes_encrypt): Renamed function to
    	use the nettle_ prefix.
    	* x86/aes-decrypt.asm (nettle_aes_decrypt): Likewise.
    	* sparc/aes.asm (_nettle_aes_crypt): Likewise.
    
    	* examples/Makefile.am (EXTRA_PROGRAMS): Add "io", as a kludge to
    	get automake to track dependencies for io.o.
    	(LDADD): Added ../libnettle.a, for the dependency.
    
    	* des-compat.c: Use names with the nettle_ prefix when using
    	Nettle's des functions.
    
    	* base16-meta.c (base16_encode_update): Need to undef before
    	redefining. 
    
    	* New name mangling, to reduce the risk of link collisions. All
    	functions (except memxor) now use a nettle_ or _nettle prefix when
    	seen by the linker. For most functions, the header file that
    	declares a function also use #define to provide a shorter more
    	readable name without the prefix.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-03-11  Niels Mller  <nisse@cuckoo.hack.org>
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* Released nettle-1.7.
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* configure.ac: Bumped version to 1.7.
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* nettle.texinfo (DSA): New section.
    	(RSA): Updated documentation.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-03-02  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* examples/nettle-benchmark.c (time_cipher): Don't use GNU C
    	non-constant initializers. 
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-02-23  Niels Moller  <nisse@carduelis>
    
    	* configure.ac: Use LSH_GCC_ATTRIBUTES.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-02-19  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* acinclude.m4: Deleted file from cvs, use a link to lsh's
    	acinclude.m4 instead.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-02-16  Niels Mller  <nisse@cuckoo.hack.org>
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* Makefile.am (libnettleinclude_HEADERS): Added macros.h.
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* tools/Makefile.am (EXTRA_DIST): Added getopt.h.
    
    
    2003-02-14  Niels Mller  <niels@s3.kth.se>
    
    	* Makefile.am (print_path): Added target to print the used PATH,
    	for debugging.
    
    	(print-path): Moved dependency to all-local.
    
    Niels Möller's avatar
    Niels Möller committed
    2003-02-11  Niels Mller  <niels@s3.kth.se>
    
    	* buffer.c (nettle_buffer_copy): Bug fix, it didn't return any
    	value. 
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-02-11  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* testsuite/sexp-format-test.c (test_main): Added test for %( and
    	%). 
    
    	* sexp-format.c (sexp_vformat): Handle %( and %).
    
    	* realloc.c (nettle_xrealloc): Fixed out-of-memory check.
    
    	* configure.ac (SHLIBMAJOR): Bumped version number to 1.
    
    	* buffer.c (nettle_buffer_init_realloc): New function.
    	* buffer-init.c (nettle_buffer_init): Use nettle_buffer_init_realloc.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-02-10  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* testsuite/sexp-format-test.c (test_main): New test with tokens
    	in the format string.
    
    Niels Möller's avatar
    Niels Möller committed
    	(test_main): Test space-searated literals too.
    
    Niels Möller's avatar
    Niels Möller committed
    
    	* rsa2sexp.c (rsa_keypair_to_sexp): New argument ALGORITHM_NAME.
    	* examples/rsa-keygen.c (main): Updated call to rsa_keypair_to_sexp.
    	* testsuite/rsa2sexp-test.c (test_main): Likewise.
    
    	* sexp-format.c (sexp_vformat): Allow whitespace in format string.
    
    	* rsa2sexp.c (rsa_keypair_to_sexp): Use literals with sexp_format.
    
    	* sexp-format.c (format_string): New function.
    	(sexp_vformat): Implemented support for literals in the format
    	string. 
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-02-06  Niels Mller  <nisse@lysator.liu.se>
    	
    	* testsuite/sexp-conv-test (print_raw, print_nl): New functions.
    	The testfunctions use these instead of using echo directly.
    	Use the test input '3:"\x' instead of '2:"\', to be friendlier to
    	sysv echo.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-02-05  Niels Mller  <nisse@lysator.liu.se>
    
    	* des-compat.h (des_set_key): Different name mangling, if this
    	file is included, des_set_key should refer to a function that
    	behaves like openssl's.
    
    	* des-compat.c (des_key_sched, des_is_weak_key): Use the name
    	nettle_des_set_key for referring to Nettle's function.
    
    	* des.h (des_set_key): Name mangling, linker symbols should use a
    	"nettle_" prefix, and this one collided with openssl. Perhaps all
    	symbols should be mangled in a similar way, but that's for later. 
    
    	* configure.ac (LDFLAGS): --with-lib-path should add to LDFLAGS,
    	not replace it.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-01-30  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* tools/output.c (sexp_put_string): Fixed handling of escapable
    	characters. The code generated random escape sequences for
    	characters in the 0x10-0x1f range.
    
    	* testsuite/sexp-conv-test: More tests for hex and base64 input
    	and output.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-01-30  Niels Mller  <niels@s3.kth.se>
    
    	* sexp2bignum.c (nettle_mpz_set_sexp): Call sexp_iterator_next on
    	success. That means the iterator argument can't be const.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-01-29  Niels Mller  <niels@s3.kth.se>
    
    	* tools/Makefile.am (LDADD): Add libnettle.a, for the dependency.
    
    
    2003-01-27  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* sexp2dsa.c (dsa_signature_from_sexp): New function.
    
    	RSA renaming. Updated all callers.
    	* rsa-sign.c (rsa_private_key_init, rsa_private_key_clear) 
    	(rsa_private_key_prepare): Renamed functions.
    	* rsa.c (rsa_public_key_init, rsa_public_key_clear) 
    	(rsa_public_key_prepare): Renamed functions.
    
    
    2003-01-23  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* Makefile.am (libnettle_a_SOURCES): Added new rsa and pkcs1
    	files. Removed old rsa_md5.c and rsa_sha1.c.
    
    	* testsuite/Makefile.am (TS_PROGS): Added pkcs1-test.
    
    	* dsa-verify.c (dsa_verify_digest): New function.
    	(dsa_verify): Most of the code moved to dsa_verify_digest, which
    	is used here.
    	* dsa-sign.c (dsa_sign_digest): New function.
    	(dsa_sign): Most of the code moved to dsa_sign_digest, which is
    	used here.
    	* dsa.c (_dsa_hash): Deleted function.
    
    	* rsa_md5.c, rsa_sha1.c: Deleted files, contents spread over
    	several files for signing and verification.
    	* rsa-sign.c, rsa-sha1-verify.c, rsa-sha1-sign.c,
    	rsa-md5-verify.c, rsa-md5-sign.c:  New files.
    
    	* rsa-sha1-verify.c (rsa_sha1_verify_digest): New function.
    	* rsa-sha1-sign.c (rsa_sha1_sign_digest):  New function.
    	* rsa-md5-verify.c (rsa_md5_verify_digest):  New function.
    	* rsa-md5-sign.c (rsa_md5_sign_digest):  New function.
    	* rsa-verify.c (_rsa_verify): New file, new function.
    
    	* rsa.c (_rsa_check_size): Renamed from rsa_check_size, and made
    	non-static. Private key functions moved to rsa-sign.c.
    
    	* pkcs1.c, pkcs1.h, pkcs1-rsa-md5.c, pkcs1-rsa-sha1.c: New files. 
    	(pkcs1_signature_prefix): New function.
    
    	* testsuite/pkcs1-test.c: New test.
    	
    
    Niels Möller's avatar
    Niels Möller committed
    2003-01-22  Niels Mller  <niels@s3.kth.se>
    
    	* examples/Makefile.am (nettle_benchmark_LDADD): Use
    	OPENSSL_LIBFLAGS. 
    
    	* configure.ac (OPENSSL_LIBFLAGS): If libcrypto is found, add
    	-lcrypto to OPENSSL_LIBFLAGS, not the plain LDFLAGS.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-01-20  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* testsuite/Makefile.am (CLEANFILES): Delete test.in, test1.out
    	and test2.out.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-01-17  Niels Mller  <niels@s3.kth.se>
    
    	* examples/Makefile.am (AM_CPPFLAGS): Use AM_CPPFLAGS instead of
    	AM_CFLAGS. 
    	* testsuite/Makefile.am (AM_CPPFLAGS): Likewise.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-01-16  Niels Mller  <niels@s3.kth.se>
    
    	* testsuite/Makefile.am (check): Can't use quotes around
    	$(srcdir). 
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-01-14  Niels Mller  <nisse@lysator.liu.se>
    
    	* testsuite/Makefile.am (check): Don't use "run-tests" as a
    	target, as it's confused with the file with the same name.
    
    	* .bootstrap: Added missing #! /bin/sh.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-01-12  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* buffer.c (nettle_buffer_reset): New function.
    	(nettle_buffer_copy): New function.
    
    	* tools/input.c, tools/input.h, tools/output.c, tools/output.h,
    	tools/parse.c, tools/parse.h, tools/misc.c, tools/misc.h: Moved
    	parts ov sexp-conv.c to separate files
    
    	* tools/sexp-conv.c (sexp_convert_list): Inlined into
    	sexp_convert_item.
    
    	* tools/sexp-conv.c (struct sexp_input): Deleted string attribute.
    	Changed all related functions to take a struct nettle_buffer *
    	argument instead.
    	(struct sexp_compound_token): New struct.
    	(sexp_compound_token_init, sexp_compound_token_clear): New
    	functions. 
    	(struct sexp_parser): Added a struct sexp_compound_token
    	attribute, as a temporary measure.
    	(sexp_parse): Take a struct sexp_compound_token * as argument.
    	Updated all callers. Simplified handling of display types and
    	transport encoding.
    
    	* tools/sexp-conv.c (struct sexp_parser): Renamed struct (was
    	struct sexp_parse_state). Added input pointer. Updated users to
    	not pass around both parser and input.
    	(sexp_check_token): handle token == 0.
    	(sexp_parse): Simplified a little by calling sexp_check_token
    	unconditionally. 
    
    	* tools/sexp-conv.c (sexp_convert_string): Deleted function.
    	(sexp_skip_token): Likewise.
    
    	* tools/sexp-conv.c (enum sexp_token): New constant SEXP_DISPLAY.
    	Start constants from 1, to keep 0 free for special uses.
    	(struct sexp_parse_state): New struct for keeping track of parser
    	state. 
    	(sexp_parse_init): New function.
    	(sexp_check_token): New function, replacing sexp_skip_token.
    	(sexp_parse): New function.
    	(sexp_convert_item): Simplified by using sexp_parse.
    	(sexp_convert_list): Use sexp_parse.
    	(main): Likewise.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-01-08  Niels Mller  <niels@s3.kth.se>
    
    	* tools/sexp-conv.c (parse_options): Initialize prefer_hex.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-01-07  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* Makefile.am (des_headers): Refer to the desdata binary using
    	$(EXEEXT). 
    
    
    Niels Möller's avatar
    Niels Möller committed
    2003-01-01  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* testsuite/sexp-conv-test: New tests for hex and base64 literal
    	output. 
    
    	* tools/sexp-conv.c (sexp_put_string): Print binary strings using
    	either hex or base 64 (in advanced mode).
    	(parse_options): Implemented -s hex, for output using hex rather
    	than base64.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-12-30  Niels Mller  <nisse@cuckoo.hack.org>
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* testsuite/rsa2sexp-test.c: Don't include rsa.h (done by
    	testutils.h, if enabled).
    	* testsuite/sexp2rsa-test.c: Likewise.
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* rsa-decrypt.c: Make compilation conditional on WITH_PUBLIC_KEY.
    	* rsa-encrypt.c: Likewise.
    
    Niels Möller's avatar
    Niels Möller committed
    	* rsa-compat.c: Likewise.
    
    Niels Möller's avatar
    Niels Möller committed
    2002-12-04  Niels Mller  <niels@s3.kth.se>
    
    	* testsuite/Makefile.am (LDADD): Added path to ../libnettle.a,
    	which is redundant except for the dependency.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-12-04  Niels Mller  <nisse@cuckoo.hack.org>
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* testsuite/sexp-format-test.c (test_main): Use %0s instead of %z.
    	New test for %t.
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* sexp-format.c (format_length_string): Deleted function.
    	(format_string): Deleted function.
    	(sexp_vformat): New %t specifier, formatting an optional display
    	type. Deleted %z specifier. Instead, introduced a new modifier "0"
    	that can be used with %s, %l and %t, which says that the data is
    	NUL-terminated.
    
    	* rsa2sexp.c (rsa_keypair_to_sexp): Use %0s rather than %z, when
    	formatting s-expressions.
    
    	* buffer.c (nettle_buffer_grow): Fixed assertion.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-11-22  Niels Mller  <niels@s3.kth.se>
    
    	* buffer.c: Include assert.h.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-11-21  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* testsuite/testutils.c (print_hex): Add line breaks.
    
    	* Makefile.am (libnettleinclude_HEADERS): Added realloc.h.
    	(libnettle_a_SOURCES): Added buffer-init.c and realloc.c.
    
    	* sexp.c (sexp_iterator_exit_lists): New function, #if:ed out for
    	now. 
    
    	* desdata.c: Include config.h, to get definition of UNUSED.
    	* shadata.c: Likewise.
    
    	* buffer.c (nettle_buffer_grow): New function, replacing
    	grow_realloc. 
    	(nettle_buffer_clear): Rewritten to use buffer->realloc.
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* buffer.h (struct nettle_buffer): Replaced the GROW function
    	pointer with a nettle_realloc_func pointer and a
    	void *realloc_ctx.
    
    Niels Möller's avatar
    Niels Möller committed
    	(NETTLE_BUFFER_GROW): Deleted macro, use function instead.
    
    	* buffer-init.c (nettle_buffer_init): Moved to a separate file.
    
    	* realloc.c (nettle_realloc): New function.
    	(nettle_xrealloc): New function.
    
    	* realloc.h (nettle_realloc_func): New typedef.
    
    	* configure.ac: Check for gcc:s __attribute__.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-11-16  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* sexp2dsa.c, sexp2rsa.c: (macro GET): Check sign of parsed
    	numbers.
    
    	* sexp2bignum.c (nettle_mpz_set_sexp): In the first check against
    	limit, added some margin to allow for sign octets.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-11-15  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* testsuite/testutils.h (LDATA): Use sizeof instead of strlen. Now
    	handles strings including NUL-characters. But works only with
    	literals and character arrays, no char pointers.
    	(LLENGTH): New macro, computing length the same way as LDATA.
    
    	* testsuite/sexp-test.c (test_main): Test sexp_iterator_get_uint32.
    
    	* testsuite/sexp-format-test.c (test_main): Check that %i and %b
    	generate leading zeroes when needed. Check that %b handles
    	negative numbers.	
    
    	* testsuite/rsa2sexp-test.c (test_main): Updated test, one leading
    	zero is needed in the private key expression. In verbose mode,
    	print the generated keys.
    
    	* testsuite/sexp2rsa-test.c (test_main): Added a leading zero in
    	the private key expression.
    
    	* testsuite/bignum-test.c (test_bignum): Use
    	nettle_mpz_init_set_str_256_s. 
    	(test_size): New function.
    	(test_main): Test size computation and formatting of negative
    	numbers. 
    
    	* sexp2bignum.c (nettle_mpz_set_sexp): Use
    	nettle_mpz_set_str_256_s, to handle negative numbers correctly. 
    
    	* sexp-format.c (sexp_vformat): For %i, output a leading zero when
    	needed to get a correct, positive, sign. For %b, use
    	nettle_mpz_sizeinbase_256_s, to handle negative numbers properly.	
    
    	* bignum.c (nettle_mpz_sizeinbase_256_s): New function.
    	(nettle_mpz_sizeinbase_256_u): New name, was
    	nettle_mpz_sizeinbase_256. Updated all callers.
    	(nettle_mpz_to_octets): New function.
    	(nettle_mpz_get_str_256): Handle negative numbers.
    	(nettle_mpz_from_octets): New function.
    	(nettle_mpz_set_str_256_u): New name, was nettle_mpz_set_str_256.
    	(nettle_mpz_init_set_str_256_u): New name, was
    	nettle_mpz_init_set_str_256. 
    	(nettle_mpz_set_str_256_s): New function, handling negative two's
    	complement numbers.
    	(nettle_mpz_init_set_str_256_s): And an init variant.
    
    	* sexp.c (sexp_iterator_get_uint32): New function.
    	
    
    Niels Möller's avatar
    Niels Möller committed
    2002-11-10  Niels Mller  <nisse@cuckoo.hack.org>
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* testsuite/sexp-conv-test: Use input files without any trailing
    	newline character, in order to stress the end of file handling.
    
    	* tools/sexp-conv.c (sexp_get_token_string): Fixed end of file
    	handling.
    	(sexp_get_string): Fixed end of encoding/end of file handling.
    	(parse_options): Check for negative width and complain.
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* tools/sexp-conv.c: Use supplied getopt.
    	(werror): New function.
    	(sexp_output_hash_init): New function.
    	(sexp_put_char): Made base64 linebreaking configurable.
    	Implemented hashing. 
    	(sexp_put_code_start, sexp_put_code_end): Don't output any
    	delimiters here.
    	(sexp_put_string): Output base64 delimiters.
    	(sexp_put_digest): New function.
    	(sexp_convert_item): Output transport delimiters.
    	(sexp_convert_file): Deleted function, folded with main.
    	(parse_options): New function.
    	(main): Implemented --hash and --once, needed by lsh-authorize.
    
    	* sexp.h (struct sexp_iterator): New field start.
    
    	* sexp.c (sexp_iterator_subexpr): New function.
    	(sexp_iterator_parse): Initialize ITERATOR->start.
    
    	* sexp-format.c (sexp_vformat): Abort if format string contains
    	unhandled characters.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-11-08  Niels Mller  <niels@s3.kth.se>
    
    	* des-compat.c (des_ecb3_encrypt): Don't use struct initialization
    	(c89 doesn't allow non-constant initializers). Reported by James
    	Ralston. 
    	(des_ede3_cbc_encrypt): Likewise.
    
    	* examples/nettle-openssl.c: Moved from the top-level directory.
    	Should *not* be included in the nettle library.
    
    
    2002-11-08  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* testsuite/testutils.c (test_dsa_key): Bugfix for renamed DSA
    	constant (noted by James Ralston).
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-11-07  Niels Mller  <niels@s3.kth.se>
    
    	* testsuite/run-tests: Copied new version rom lsh/src/testsuite.
    	This version handles test scripts located in $srcdir.
    
    	* examples/Makefile.am (AM_CFLAGS): We need -I$(top_srcdir).
    	* tools/Makefile.am (AM_CFLAGS): Likewise.
    	* testsuite/Makefile.am (AM_CFLAGS): Likewise.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-11-07  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* Makefile.am (SUBDIRS): Added tools.
    	(libnettle_a_SOURCES): Added sexp-transport-format.c,
    	sexp2bignum.c, sexp2dsa.c.
    
    	* sexp2dsa.c (dsa_keypair_from_sexp_alist, dsa_keypair_from_sexp):
    	New file, new functions.
    
    	* rsa2sexp.c (rsa_keypair_to_sexp): %s -> %z renaming. 
    
    	* sexp-transport.c (sexp_transport_iterator_first): Fixed bug,
    	length was mishandled.
    
    	* sexp-transport-format.c (sexp_transport_format,
    	sexp_transport_vformat): New file, new functions.
    
    	* sexp-format.c (sexp_format): Return length of output. Allow
    	buffer == NULL, and onyl compute the needed length in this case.
    	Renamed %s to %z. New format specifiers %s, %i, and %l.
    	(sexp_vformat): New function.
    	(format_prefix): Rewrote to not use snprintf.
    
    	* sexp2rsa.c (rsa_keypair_from_sexp): New limit argument. Use
    	nettle_mpz_set_sexp. 
    
    	* dsa-keygen.c (dsa_generate_keypair): Added some newlines to
    	progress display. Use DSA_P_MIN_BITS.
    
    	* dsa.h (DSA_MIN_P_BITS): New constant (was DSA_MINIMUM_BITS).
    	(DSA_Q_OCTETS, DSA_Q_BITS): New constants.
    	(dsa_keypair_from_sexp_alist, dsa_keypair_from_sexp): New
    	prototypes. 
    
    	* configure.ac: Output tools/Makefile.
    
    	* sexp2bignum.c (nettle_mpz_set_sexp): New file, and new function.
    	Moved from sexp2rsa.c:get_value.
    
    	* examples/io.c (read_rsa_key): New limit argument in
    	call of rsa_keypair_from_sexp_alist.
    
    	* examples/Makefile.am (noinst_PROGRAMS): Removed sexp-conv.
    
    	* tools/sexp-conv.c: Moved file from examples directory.
    
    	* testsuite/Makefile.am (TS_SH): New variable. Added
    	sexp-conv-test. 
    
    	* testsuite/testutils.h (LDUP): New macro.
    
    	* testsuite/sexp2rsa-test.c (test_main): New limit argument in
    	call of rsa_keypair_from_sexp_alist.
    
    	* testsuite/sexp-test.c (test_main): Added test for lengths with
    	more than one digit. Added tests for transport mode decoding.
    
    	* testsuite/sexp-format-test.c (test_main): Added tests for %i and
    	%l. 
    
    	* testsuite/sexp-conv-test: Moved test from examples directory.
    	Updated path to sexp-conv, now in ../tools/sexp-conv.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-11-03  Niels Mller  <nisse@cuckoo.hack.org>
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* sexp-format.c, sexp_format.c: Renamed sexp_format.c to
    	sexp-format.c.
    	* Makefile.am (libnettle_a_SOURCES): Renamed sexp_format.c to
    	sexp-format.c.
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* examples/Makefile.am: Don't set CFLAGS or CPPFLAGS explicitly,
    	let automake handle that.
    	* testsuite/Makefile.am: Likewise.
    
    	* sexp2rsa.c (rsa_keypair_from_sexp_alist): New function.
    	(rsa_keypair_from_sexp): Use it.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-11-01  Niels Mller  <niels@s3.kth.se>
    
    	* examples/Makefile.am (LDADD): Use -lnettle, instead of an
    	explicit filename libnettle.a, so that we will use the shared
    	library, if it exists.
    	(AM_LDFLAGS): Added -L.., so we can find -lnettle.
    	(run-tests): Set LD_LIBRARY_PATH to ../.lib, when running the
    	testsuite. 
    	* testsuite/Makefile.am: Similar changes.
    	
    	* Makefile.am (LIBOBJS): Put @LIBOBJS@ into the make variable
    	LIBOBJS. 
    	(CLEANFILES): Delete libnettle.so.
    	(clean-local): Delete the .lib linkfarm.
    	($(SHLIBFORLINK)): When building libnettle.so, create a link from
    	.lib/$SHLIBSONAME. Needed at runtime, for the testsuite. 
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-11-01  Niels Mller  <nisse@lysator.liu.se>
    
    	* configure.ac: Fixed definitions using SHLIBMAJOR and SHLIBMINOR.
    	Also AC_SUBST SHLIBMAJOR and SHLIBMINOR. Reported by James
    	Ralston. 
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-10-31  Niels Mller  <niels@s3.kth.se>
    
    	* examples/sexp-conv.c(sexp_put_list_start): Deleted function. 
    	(sexp_put_list_end): Likewise.
    	(sexp_put_display_start): Likewise.
    	(sexp_put_display_end): Likewise.
    	(sexp_puts): Likewise.
    
    	* examples/sexp-conv.c (sexp_get_quoted_string): Deleted function.
    	Merged with sexp_get_String.
    	(sexp_get_hex_string): Likewise.
    	(sexp_get_base64_string): Likewise.
    	(sexp_get_string): Do hex and base64 decoding.
    	
    	* examples/sexp-conv.c (enum sexp_char_type): New enum, for end
    	markers in the input strem.
    	(struct sexp_input): Deleted LEVEL attribute. Deleted all usage of
    	it.
    	(sexp_get_raw_char): Use INPUT->c and INPUT->ctype to store
    	results. Deleted OUT argument.
    	(sexp_get_char): Likewise. Also removed the
    	INPUT->coding->decode_final call, for symmetry.
    	(sexp_input_end_coding): Call INPUT->coding->decode_final.
    	(sexp_next_char): New function.
    	(sexp_push_char): New function.
    	(sexp_get_token_char): Deleted function.
    	(sexp_get_quoted_char): Simplified. Deleted output argument.
    	(sexp_get_quoted_string): Simplified.
    	(sexp_get_base64_string): Likewise.
    	(sexp_get_token_string): Likewise.
    	(sexp_get_string_length): Skip the character that terminates the
    	string.
    	(sexp_get_token): Cleared upp calling conventions. Always consume
    	the final character of the token.
    	(sexp_convert_list): Take responsibility for converting the start
    	and end of the list.
    	(sexp_convert_file): Call sexp_get_char first, to get the token
    	reading started.
    	(sexp_convert_item): Cleared up calling conventions. Should be
    	called with INPUT->token being the first token of the expression,
    	and returns with INPUT->token being the final token of the
    	expression. Return value changed to void..
    
    	* examples/sexp-conv-test: Added test for transport mode input.
    
    	* examples/sexp-conv.c (sexp_get_char): Use the nettle_armor
    	interface for decoding.
    	(sexp_input_start_coding): New function.
    	(sexp_input_end_coding): New function.
    	(sexp_get_base64_string): Rewrote to use sexp_input_start_coding
    	and sexp_input_end_coding.
    	(sexp_get_token): Generate SEXP_TRANSPORT_START tokens.
    	(sexp_convert_list): Lists are ended only by SEXP_LIST_END.
    	(sexp_convert_item): Implemented transport mode, using
    	sexp_input_start_coding and sexp_input_end_coding.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-10-30  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* Makefile.am: Added base16 files.
    
    	* examples/sexp-conv-test: New tests for transport output.
    
    	* examples/sexp-conv.c: Deleted hex functions, moved to Nettle's
    	base16 files.
    	(struct sexp_output): Represent the current encoding as a
    	nettle_armor pointer and a state struct.
    	(sexp_output_init): Deleted MODE argument. Now passed to functions
    	that need it. 
    	(sexp_get_char): Updated to new base64 conventions.
    	(sexp_get_base64_string): Likewise.
    	(sexp_put_raw_char): New function.
    	(sexp_put_newline): Use sexp_put_raw_char.
    	(sexp_put_char): Use nettle_armor interface for encoding data.
    	Use OUTPUT->coding_indent for line breaking, so the INDENT
    	argument was deleted.
    	(sexp_put_code_start): New function, replacing sexp_put_base64_start.
    	(sexp_put_code_end): New function, replacing sexp_put_base64_end. 
    	(sexp_put_data): Deleted argument INDENT.
    	(sexp_puts): Likewise.
    	(sexp_put_length): Likewise.
    	(sexp_put_list_start): Likewise.
    	(sexp_put_list_end): Likewise.
    	(sexp_put_display_start): Likewise.
    	(sexp_put_display_end): Likewise.
    	(sexp_put_string): Likewise. Also changed base64 handling.
    	(sexp_convert_string): Deleted argument INDENT. New argument
    	MODE_OUT. 
    	(sexp_convert_list): New argument MODE_OUT.
    	(sexp_convert_file): Likewise.
    	(sexp_convert_item): Likewise. Also handle output in transport
    	mode. 
    	(match_argument): Simple string comparison.
    	(main): Adapted to above changes.
    
    	* testsuite/testutils.c (test_armor): Allocate a larger buffer
    	CHECK, to make decode_update happy. Updated to new base64
    	conventions.
    
    	* testsuite/base64-test.c (test_main): Fixed overlap test to not
    	change the base64 before decoding. Updated to new base64
    	conventions. 
    
    	* testsuite/Makefile.am (TS_PROGS): Added base16-test.
    
    	* testsuite/base16-test.c: New test.
    
    	* sexp-transport.c (sexp_transport_iterator_first): Updated to new
    	conventions for base64_decode_update and base64_decode_final.
    
    	* nettle-meta.h: Updated ascii armor declarations. New declaration
    	for nettle_base16.
    
    	* base64-decode.c (base64_decode_single): Return -1 on error.
    	Also keep track of the number of padding characters ('=') seen.
    	(base64_decode_update): New argument dst_length. Return -1 on error.
    	(base64_decode_status):  Renamed function...
    	(base64_decode_final): ... to this.
    
    	* base64.h (struct base64_decode_ctx): Deleted STATUS attribute.
    	Added PADDING attribute.
    
    	* base16.h, base16-encode.c, base16-decode.c, base16-meta.c: New
    	files. 
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-10-28  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* examples/sexp-conv.c (struct hex_decode_ctx): New hex decoding
    	functions. 
    	(sexp_get_raw_char): New function.
    	(sexp_get_char): Use sexp_get_raw_char.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-10-26  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* examples/sexp-conv.c (sexp_put_length): Bugfix, don't output any
    	leading zero.
    	(main): Implemented -s option.
    
    	* examples/sexp-conv-test: Test for echo -n vs echo '\c'. Added a
    	few tests for canonical output.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-10-25  Niels Mller  <niels@s3.kth.se>
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* examples/sexp-conv.c (struct sexp_input): Deleted the mode from
    	the state, that should be passed as argument to relevant
    	functions. Instead, introduces enum sexp_coding, to say if base64
    	coding is in effect.
    	(struct sexp_output): Added coding attribute.
    	(sexp_put_char): Use output->coding.
    	(sexp_put_base64_start): Likewise.
    	(sexp_put_base64_end): Likewise.
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* base64-decode.c (base64_decode_single): Simplified, got rid of
    	the done variable.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-10-25  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* examples/sexp-conv.c (sexp_put_newline): Return void, die on
    	error. 
    	(sexp_put_char, sexp_put_data, sexp_puts, sexp_put_length,
    	sexp_put_base64_start, sexp_put_base64_end, sexp_put_string,
    	sexp_put_list_start, sexp_put_list_end, sexp_put_display_start,
    	sexp_put_display_end, sexp_convert_string, sexp_convert_list,
    	sexp_skip_token): Likewise. 
    	(sexp_convert_item): Die on error.
    
    2002-10-24  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* examples/sexp-conv-test: Doesn't need echo -n anymore.
    
    	* examples/sexp-conv.c (die): New function.
    	(struct sexp_input): Deleted field ITEM.
    	(sexp_get_char): Die on failure, never return -1.
    	(sexp_get_quoted_char): Likewise.
    	(sexp_get_quoted_string): Die on failure, no returned value. 
    	(sexp_get_base64_string): Likewise.
    	(sexp_get_token_string): Likewise.
    	(sexp_get_string): Likewise.
    	(sexp_get_string_length): Likewise.
    	(sexp_get_token): Likewise.
    	(sexp_convert_string): Adapted to sexp_get_token.
    	(sexp_convert_list): Likewise.
    	(sexp_convert_file): New function.
    	(main): Use sexp_convert_file.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-10-23  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* examples/Makefile.am (TS_PROGS): Added sexp-conv-test.
    
    	* examples/sexp-conv.c (sexp_input_init): Initialize input->string
    	properly. 
    	(sexp_get_char): Fixed non-transport case.
    	(sexp_get_quoted_char): Fixed default case.
    	(sexp_get_token): Loop over sexp_get_char (needed for handling of
    	white space). Don't modify input->level. Fixed the code that skips
    	comments. 
    	(sexp_put_char): Fixed off-by-one bug in assertion.
    	(sexp_put_string): Fixed escape handling for output of quoted
    	strings. 
    	(sexp_convert_list): Prettier output, hanging indent after the
    	first list element.
    	(sexp_skip_token): New function.
    	(sexp_convert_item): Use sexp_skip_token to skip the end of a
    	"[display-type]".
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-10-22  Niels Mller  <nisse@cuckoo.hack.org>
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* examples/sexp-conv-test: New test program.
    
    	* examples/Makefile.am (noinst_PROGRAMS): Added sexp-conv.
    
    	* examples/sexp-conv.c (sexp_convert_list): New function.
    	(sexp_convert_item): New function.
    	(main): New function. Compiles and runs now, but doesn't work.
    
    	* base64-decode.c (base64_decode_single): New function.
    	(base64_decode_update): Use base64_decode_single.
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* examples/sexp-conv.c: Added output functions.
    
    
    2002-10-21  Pontus Skld  <pont@soua.net>
    
    	* base64-encode.c (base64_encode_raw): Fixed null statement
    	amongst variable declarations, broke compilation for non C99
    	compilers.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-10-21  Niels Mller  <nisse@lysator.liu.se>
    
    	* examples/sexp-conv.c: New sexp conversion program.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-10-21  Niels Mller  <niels@s3.kth.se>
    
    	* Makefile.am (libnettle_a_SOURCES): Added
    	sexp-format-transport.c. 
    
    	* sexp-transport.c (sexp_transport_iterator_first): New file and
    	function. 
    	* sexp.h (sexp_transport_iterator_first): Added protoype.
    
    	* sexp.c (sexp_iterator_next): Abort if iterator type is boogus.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-10-19  Niels Mller  <nisse@cuckoo.hack.org>
    
    	* testsuite/testutils.c (test_armor): Updated to new armor
    	conventions. 
    
    	* testsuite/base64-test.c (test_main): Test BASE64_ENCODE_LENGTH
    	and BASE64_DECODE_LENGTH. Updated test of base64_encode_raw (used
    	to be base64_encode). 
    
    	* base64.h (BASE64_ENCODE_LENGTH, BASE64_DECODE_LENGTH): Fixed and
    	documented macros.
    
    	* base64-meta.c (base64_encode_length, base64_decode_length): New
    	functions, corresponding to the macros with the same name.
    
    	* Makefile.am (libnettle_a_SOURCES): base64.c replaced by
    	base64-encode.c and base64-decode.c.
    
    	* pgp-encode.c (pgp_armor): Use new base64 conventions.
    
    	* nettle-meta.h: Updated nettle_armor definitions.
    
    	* base64.h: Major reorganization.
    
    	* base64.c: Deleted file, contents moved to base64-encode.c or
    	base64-decode.c. 
    
    	* base64-encode.c: New file. New supporting both encode-at-once
    	and streamed operation. 
    
    	* base64-decode.c: New file.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2002-10-09  Niels Mller  <nisse@cuckoo.hack.org>