This file, together with ChangeLog.0_9_7-stable_not-in-head_FIPS,
provides a collection of those CVS change log entries for the
0.9.7 branch (OpenSSL_0_9_7-stable) that do not appear similarly in
0.9.8-dev (CVS head).
    
ChangeLog.0_9_7-stable_not-in-head_FIPS  -  "FIPS" related changes
ChangeLog.0_9_7-stable_not-in-head       -  everything else

Some obvious false positives have been eliminated: e.g., we do not
care about a simple "make update"; and we don't care about changes
identified to the 0.9.7 branch that were explicitly identified as
backports from head.
    
Eliminating all other entries (and finally this file and its
compantion), either as false positives or as things that should go
into 0.9.8, remains to be done.  Any additional changes to 0.9.7 that
are not immediately put into 0.9.8, but belong there as well, should
be added to the end of this file.


2002-11-04 17:33  levitte

	Changed:
		Configure (1.314.2.38), "Exp", lines: +4 -2

	Return my normal debug targets to something not so extreme, and
	make the extreme ones special (or 'extreme', if you will :-)).

2002-12-16 19:17  appro

	Changed:
		crypto/bn/bn_lcl.h (1.23.2.3), "Exp", lines: +3 -0
		crypto/bn/bn_mul.c (1.28.2.4), "Exp", lines: +84 -445

	This is rollback to 0.9.6h bn_mul.c to address problem reported in
	RT#272.

2003-07-27 15:46  ben

	Changed:
		crypto/aes/aes.h (1.1.2.5), "Exp", lines: +3 -0
		crypto/aes/aes_cfb.c (1.1.2.4), "Exp", lines: +57 -0

	Add untested CFB-r mode. Will be tested soon.

2003-07-28 17:07  ben

	Changed:
		Makefile.org (1.154.2.69), "Exp", lines: +5 -1
		crypto/aes/aes.h (1.1.2.6), "Exp", lines: +3 -0
		crypto/aes/aes_cfb.c (1.1.2.5), "Exp", lines: +19 -0
		crypto/dsa/Makefile.ssl (1.49.2.6), "Exp", lines: +3 -2
		crypto/err/Makefile.ssl (1.48.2.4), "Exp", lines: +17 -16
		crypto/evp/e_aes.c (1.6.2.5), "Exp", lines: +8 -0
		crypto/evp/e_des.c (1.5.2.2), "Exp", lines: +1 -1
		crypto/evp/e_des3.c (1.8.2.3), "Exp", lines: +2 -2
		crypto/evp/evp.h (1.86.2.11), "Exp", lines: +28 -11
		crypto/evp/evp_locl.h (1.7.2.3), "Exp", lines: +2 -2
		crypto/objects/obj_dat.h (1.49.2.13), "Exp", lines: +10 -5
		crypto/objects/obj_mac.h (1.19.2.13), "Exp", lines: +5 -0
		crypto/objects/obj_mac.num (1.15.2.9), "Exp", lines: +1 -0
		crypto/objects/objects.txt (1.20.2.14), "Exp", lines: +4 -0
		fips/Makefile.ssl (1.1.2.3), "Exp", lines: +7 -0
		fips/aes/Makefile.ssl (1.1.2.2), "Exp", lines: +23 -1
		fips/aes/fips_aesavs.c (1.1.2.3), "Exp", lines: +9 -1
		test/Makefile.ssl (1.84.2.30), "Exp", lines: +101 -43

	Add support for partial CFB modes, make tests work, update
	dependencies.

2003-07-29 12:56  ben

	Changed:
		crypto/aes/aes_cfb.c (1.1.2.6), "Exp", lines: +9 -6
		crypto/evp/c_allc.c (1.8.2.3), "Exp", lines: +1 -0
		crypto/evp/evp_test.c (1.14.2.11), "Exp", lines: +17 -8
		crypto/evp/evptests.txt (1.9.2.2), "Exp", lines: +48 -1

	Working CFB1 and test vectors.

2003-07-29 15:24  ben

	Changed:
		crypto/evp/e_aes.c (1.6.2.6), "Exp", lines: +14 -0
		crypto/objects/obj_dat.h (1.49.2.14), "Exp", lines: +15 -5
		crypto/objects/obj_mac.h (1.19.2.14), "Exp", lines: +10 -0
		crypto/objects/obj_mac.num (1.15.2.10), "Exp", lines: +2 -0
		crypto/objects/objects.txt (1.20.2.15), "Exp", lines: +2 -0
		fips/aes/Makefile.ssl (1.1.2.3), "Exp", lines: +1 -1
		fips/aes/fips_aesavs.c (1.1.2.4), "Exp", lines: +34 -19

	The rest of the keysizes for CFB1, working AES AVS test for CFB1.

2003-07-29 19:05  ben

	Changed:
		crypto/aes/aes.h (1.1.2.7), "Exp", lines: +3 -0
		crypto/aes/aes_cfb.c (1.1.2.7), "Exp", lines: +14 -0
		crypto/evp/c_allc.c (1.8.2.4), "Exp", lines: +1 -0
		crypto/evp/e_aes.c (1.6.2.7), "Exp", lines: +4 -9
		crypto/evp/evptests.txt (1.9.2.3), "Exp", lines: +48 -0
		crypto/objects/obj_dat.h (1.49.2.15), "Exp", lines: +20 -5
		crypto/objects/obj_mac.h (1.19.2.15), "Exp", lines: +15 -0
		crypto/objects/obj_mac.num (1.15.2.11), "Exp", lines: +3 -0
		crypto/objects/objects.txt (1.20.2.16), "Exp", lines: +3 -0
		fips/aes/fips_aesavs.c (1.1.2.7), "Exp", lines: +11 -0

	AES CFB8.

2003-07-30 20:30  ben

	Changed:
		Makefile.org (1.154.2.70), "Exp", lines: +16 -5
		crypto/des/cfb_enc.c (1.7.2.1), "Exp", lines: +2 -1
		crypto/des/des_enc.c (1.11.2.2), "Exp", lines: +4 -0
		crypto/evp/e_aes.c (1.6.2.8), "Exp", lines: +7 -14
		crypto/evp/e_des.c (1.5.2.3), "Exp", lines: +37 -1
		crypto/evp/evp.h (1.86.2.12), "Exp", lines: +6 -0
		crypto/evp/evp_locl.h (1.7.2.4), "Exp", lines: +9 -0
		crypto/objects/obj_dat.h (1.49.2.16), "Exp", lines: +48 -23
		crypto/objects/obj_mac.h (1.19.2.16), "Exp", lines: +31 -6
		crypto/objects/obj_mac.num (1.15.2.12), "Exp", lines: +5 -0
		crypto/objects/objects.txt (1.20.2.17), "Exp", lines: +12 -6
		fips/Makefile.ssl (1.1.2.4), "Exp", lines: +8 -1
		fips/fips_make_sha1 (1.1.2.3), "Exp", lines: +3 -0
		fips/aes/Makefile.ssl (1.1.2.4), "Exp", lines: +1 -1
		fips/des/.cvsignore (1.1.2.1), "Exp", lines: +3 -0
		fips/des/Makefile.ssl (1.1.2.1), "Exp", lines: +96 -0
		fips/des/fingerprint.sha1 (1.1.2.1), "Exp", lines: +2 -0
		fips/des/fips_des_enc.c (1.1.2.1), "Exp", lines: +288 -0
		fips/des/fips_des_locl.h (1.1.2.1), "Exp", lines: +428 -0
		fips/des/fips_desmovs.c (1.1.2.1), "Exp", lines: +659 -0

	Whoops, forgot FIPS DES, also add EVPs for DES CFB1 and 8.

2003-08-01 12:25  ben

	Changed:
		crypto/des/cfb_enc.c (1.7.2.2), "Exp", lines: +45 -36
		crypto/evp/c_allc.c (1.8.2.5), "Exp", lines: +2 -0
		crypto/evp/e_des.c (1.5.2.4), "Exp", lines: +8 -3
		crypto/evp/evptests.txt (1.9.2.4), "Exp", lines: +6 -0

	Fix DES CFB-r.

2003-08-01 12:31  ben

	Changed:
		crypto/evp/evptests.txt (1.9.2.5), "Exp", lines: +4 -0

	DES CFB8 test.

2005-04-19 16:21  appro

	Changed:
		Configure (1.314.2.117), "Exp", lines: +24 -21
		Makefile.org (1.154.2.100), "Exp", lines: +1 -11
		TABLE (1.99.2.52), "Exp", lines: +20 -20
		apps/Makefile (1.1.4.15), "Exp", lines: +1 -1
		test/Makefile (1.1.4.12), "Exp", lines: +1 -1

	Enable shared link on HP-UX.

