Module Name: krb5 Committed By: raeburn Date: Wed Apr 13 20:38:37 UTC 2005 Modified Files: krb5/src/lib/crypto/des/ChangeLog krb5/src/lib/crypto/des/d3_cbc.c krb5/src/lib/crypto/des/f_cbc.c krb5/src/lib/crypto/des/f_cksum.c krb5/src/lib/crypto/des/f_tables.h Added Files: Removed Files: Log Message Allow compile-time specification that small code space is desired. * d3_cbc.c (krb5int_des3_cbc_encrypt, krb5int_des3_cbc_decrypt): Don't declare left and right variables as registers. * f_cksum.c (mit_des_cbc_cksum): Likewise. * f_cbc.c (krb5int_des_cbc_encrypt, krb5int_des_cbc_decrypt): Likewise. (krb5int_des_cbc_encrypt): For full blocks, use GET_HALF_BLOCK to read and then xor, instead of processing each byte individually. (krb5int_des_do_encrypt_2, krb5int_des_do_decrypt_2) [CONFIG_SMALL]: New functions, wrapping large macros with the DES inner loops. * f_tables.h (DES_DO_ENCRYPT_1, DES_DO_DECRYPT_1): Renamed from non-_1 names. (krb5int_des_do_encrypt_2, krb5int_des_do_decrypt_2): Declare if CONFIG_SMALL is defined. (DES_DO_ENCRYPT, DES_DO_DECRYPT): Expand to _1 macros or _2 function calls depending on whether CONFIG_SMALL is defined. With CONFIG_SMALL defined, on x86/gcc/glibc, this drops about 5K (25%) of the code/table space. To generate a diff of this commit: cvs diff -r5.119 -r5.120 krb5/src/lib/crypto/des/ChangeLog cvs diff -r5.10 -r5.11 krb5/src/lib/crypto/des/d3_cbc.c cvs diff -r1.20 -r1.21 krb5/src/lib/crypto/des/f_cbc.c cvs diff -r1.15 -r1.16 krb5/src/lib/crypto/des/f_cksum.c cvs diff -r1.8 -r1.9 krb5/src/lib/crypto/des/f_tables.h