Skip to content
Snippets Groups Projects
ChangeLog 94.1 KiB
Newer Older
  • Learn to ignore specific revisions
  • Niels Möller's avatar
    Niels Möller committed
    2004-09-22  Niels Mller  <niels@s3.kth.se>
    
    	* configure.ac: Setup SHLIBFORLINK and friends for cygwin. 
    
    	* 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.
    
    
    2004-08-31  Niels Mller  <nisse@lysator.liu.se>
    
    	* configure.ac: New command line option --disable-pic. Use
    	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 Mller  <nisse@lysator.liu.se>
    
    	* des-compat.c (des_cbc_cksum): Pad input with NUL:s, if it's not
    	an integral number of blocks.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2004-08-24  Niels Mller  <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 Mller  <nisse@lysator.liu.se>
    
    	* 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 Mller  <niels@s3.kth.se>
    
    	* 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 Mller  <niels@s3.kth.se>
    
    	* 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 Mller  <nisse@lysator.liu.se>
    
    	* 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.
    
    
    2004-03-20  Niels Mller  <nisse@lysator.liu.se>
    
    	* configure.ac: Use AC_CONFIG_AUX_DIR([.]).
    
    
    Niels Möller's avatar
    Niels Möller committed
    2004-03-18  Niels Mller  <niels@s3.kth.se>
    
    	* examples/io.c (read_file): Display a message if fopen fails.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2004-03-05  Niels Mller  <nisse@lysator.liu.se>
    
    	* 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 Mller  <nisse@lysator.liu.se>
    
    	* testsuite/symbols-test: Pass -g flag to nm.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2004-03-02  Niels Mller  <nisse@lysator.liu.se>
    
    	* configure.ac: Fixed EXEEXT workaround.
    
    
    2004-03-02  Niels Mller  <niels@s3.kth.se>
    
    	* configure.ac: Added workaround to get the correct $(EXEEXT)=''
    	when compiling with rntcl.
    
    
    2004-03-02  Niels Mller  <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 Mller  <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
    	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 Mller  <niels@s3.kth.se>
    
    	* 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 Mller  <nisse@lysator.liu.se>
    
    	* 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.
    	(cbc_crypt_func): Deleted typedef, use nettle_crypt_func instead.	
    
    	* cbc.h (nettle_crypt_func): Moved typedef here.	
    	* 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 Mller  <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 Mller  <niels@s3.kth.se>
    
    	* pgp.h: Include nettle-types.h.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2004-02-24  Niels Mller  <nisse@lysator.liu.se>
    
    	* 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 Mller  <niels@s3.kth.se>
    
    	* 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.
    	
    	* configure.ac (enable_assembler): Explicitly set
    	enable_assembler=no, on architectures where we have no assembler
    	files. 
    	(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 Mller  <niels@s3.kth.se>
    
    	* Makefile.am (%.o: %.asm): Added comment about OSF1 make problem.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2004-02-15  Niels Mller  <nisse@lysator.liu.se>
    
    	* testsuite/testutils.h: #include nettle-types.h instead of
    	inttypes.h. 
    
    
    Niels Möller's avatar
    Niels Möller committed
    2004-02-12  Niels Mller  <nisse@lysator.liu.se>
    
    	* examples/rsa-encrypt-test: Use -r option when invoking
    	rsa-encrypt. Needed for the test to work on systems with no
    	/dev/urandom.
    
    
    2004-02-12  Niels Mller  <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.
    
    
    2004-02-08  Niels Mller  <nisse@lysator.liu.se>
    
    	* configure.ac: Bumped version number to 1.10.
    
    
    2004-02-07  Niels Mller  <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 Mller  <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 Mller  <nisse@lysator.liu.se>
    
    	* 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
    	moved to... 
    	* sha1-compress.c: ... New file.
    
    
    2004-02-05  Niels Mller  <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
    	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 Mller  <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
    	distributed. 
    	(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
    	Walldn. Makes arcfour up to 50% faster on x86 and ppc, and
    	probably on other architectures as well.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2004-01-31  Niels Mller  <nisse@lysator.liu.se>
    
    	* 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 Mller  <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 Mller  <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.
    
    
    2004-01-09  Niels Mller  <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
    	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 Mller  <niels@s3.kth.se>
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* index.html: Added instructions for CVS access.
    
    	* dsa-keygen.c (dsa_nist_gen): Fixed declaration/statement order.
    
    
    Niels Möller's avatar
    Niels Möller committed
    	* rsa-keygen.c (bignum_next_prime): Fixed off-by-one error when
    	comparing input to the largest listed prime. General cleanup, as
    	prime_limit > 0 always. Use TMP_DECL and TMP_ALLOC.
    
    	* nettle-internal.h (TMP_DECL, TMP_ALLOC): New macros. When alloca
    	is unavailable, they work by allocating a fix amount of stack and
    	imposing a hard limit on what can be allocated. Updated all users
    	of alloca.
    
    
    Niels Möller's avatar
    Niels Möller committed
    2004-01-07  Niels Mller  <nisse@harpo.hack.org>
    
    	* nettle-types.h: New (generated) file, to be used instead of
    	including <inttypes.h> directly. Updated all users of inttypes.h.
    	
    	* Makefile.am (DISTCLEANFILES, libnettleinclude_HEADERS): Added
    	nettle-types.h. 
    
    	* configure.ac (AX_CREATE_STDINT_H): Create nettle-types.h.
    
    
    2003-11-16  Niels Mller  <nisse@harpo.hack.org>
    
    	* yarrow256.c (yarrow256_seed): Use const for the seed_file input.
    
    
    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.