From: Assar Westerlund <[EMAIL PROTECTED]>
Hmm, this patch won't be applied in it's current form, and here's why:
The reason I moved those four functions to ui_compat (and therefore
out of the des directory) was that they (or at least two of them)
needed to be available even if des itself wasn't. People would use
des_read_ps_string() and des_read_pw() to read in passwords for other
algorithms as well.
And still, those are deprecated functions that are not meant to exist
in DES_ form. Instead, they should use the UI functions.
So, what I'm going to do is to move things around a bit again and see
if I can come up with something that goes along those reasons. To be
commited as soon as I can (perhaps not before tomorrow).
assar> There are some functions that didn't get the kick-away-old-des-and-
assar> replace-des-with-DES action. Here's a patch that adds DES_ and des_
assar> (in des_old.h) versions of des_read_pw_string et al. This patch
assar> includes some of the first des_old.h semi-colon macro fixes that I've
assar> already sent.
assar>
assar> /assar
assar>
assar> Index: crypto/des/des.h
assar> ===================================================================
assar> RCS file: /scratch/openssl-box/repo/openssl/crypto/des/des.h,v
assar> retrieving revision 1.39
assar> diff -u -w -r1.39 des.h
assar> --- crypto/des/des.h 2002/01/24 16:15:46 1.39
assar> +++ crypto/des/des.h 2002/02/04 20:15:45
assar> @@ -223,6 +223,9 @@
assar>
assar> #define DES_fixup_key_parity DES_set_odd_parity
assar>
assar> +/* for DES_read_pw_string et al */
assar> +#include <openssl/ui_compat.h>
assar> +
assar> #ifdef __cplusplus
assar> }
assar> #endif
assar> Index: crypto/des/des_old.c
assar> ===================================================================
assar> RCS file: /scratch/openssl-box/repo/openssl/crypto/des/des_old.c,v
assar> retrieving revision 1.9
assar> diff -u -w -r1.9 des_old.c
assar> --- crypto/des/des_old.c 2002/01/26 01:14:02 1.9
assar> +++ crypto/des/des_old.c 2002/02/04 20:28:24
assar> @@ -224,6 +222,26 @@
assar> void _ossl_old_des_random_key(des_cblock ret)
assar> {
assar> DES_random_key((DES_cblock *)ret);
assar> + }
assar> +int _ossl_old_des_read_password(des_cblock *key, const char *prompt,
assar> + int verify)
assar> + {
assar> + return DES_read_password(key, prompt, verify);
assar> + }
assar> +int _ossl_old_des_read_2passwords(des_cblock *key1, des_cblock *key2,
assar> + const char *prompt, int verify)
assar> + {
assar> + return DES_read_2passwords(key1, key2, prompt, verify);
assar> + }
assar> +int _ossl_old_des_read_pw_string(char *buf, int length, const char *prompt,
assar> + int verify)
assar> + {
assar> + return DES_read_pw_string(buf, length, prompt, verify);
assar> + }
assar> +int _ossl_old_des_read_pw(char *buf, char *buff, int length,
assar> + const char *prompt, int verify)
assar> + {
assar> + return DES_read_pw(buf, buff, length, prompt, verify);
assar> }
assar> void _ossl_old_des_set_odd_parity(des_cblock *key)
assar> {
assar> Index: crypto/des/des_old.h
assar> ===================================================================
assar> RCS file: /scratch/openssl-box/repo/openssl/crypto/des/des_old.h,v
assar> retrieving revision 1.7
assar> diff -u -w -r1.7 des_old.h
assar> --- crypto/des/des_old.h 2002/01/26 01:14:02 1.7
assar> +++ crypto/des/des_old.h 2002/02/04 20:27:26
assar> @@ -157,14 +157,22 @@
assar> _ossl_old_des_pcbc_encrypt((i),(o),(l),(k),(iv),(e))
assar> #define des_quad_cksum(i,o,l,c,s)\
assar> _ossl_old_des_quad_cksum((i),(o),(l),(c),(s))
assar> -#define des_random_seed(k);\
assar> - _ossl_old_des_random_seed((k));
assar> -#define des_random_key(r);\
assar> - _ossl_old_des_random_key((r));
assar> -#define des_set_odd_parity(k);\
assar> - _ossl_old_des_set_odd_parity((k));
assar> -#define des_is_weak_key(k);\
assar> - _ossl_old_des_is_weak_key((k));
assar> +#define des_random_seed(k)\
assar> + _ossl_old_des_random_seed((k))
assar> +#define des_random_key(r)\
assar> + _ossl_old_des_random_key((r))
assar> +#define des_read_password(k,p,v) \
assar> + _ossl_old_des_read_password((k),(p),(v))
assar> +#define des_read_2passwords(k1,k2,p,v) \
assar> + _ossl_old_des_read_2passwords((k1),(k2),(p),(v))
assar> +#define des_read_pw_string(b,l,p,v) \
assar> + _ossl_old_des_read_pw_string((b),(l),(p),(v))
assar> +#define des_read_pw(b,bf,s,p,v) \
assar> + _ossl_old_des_read_pw_string((b),(bf),(s),(p),(v))
assar> +#define des_set_odd_parity(k)\
assar> + _ossl_old_des_set_odd_parity((k))
assar> +#define des_is_weak_key(k)\
assar> + _ossl_old_des_is_weak_key((k))
assar> #define des_set_key(k,ks)\
assar> _ossl_old_des_set_key((k),(ks))
assar> #define des_key_sched(k,ks)\
assar> @@ -247,6 +255,11 @@
assar> long length,int out_count,des_cblock *seed);
assar> void _ossl_old_des_random_seed(des_cblock key);
assar> void _ossl_old_des_random_key(des_cblock ret);
assar> +int _ossl_old_des_read_password(des_cblock *key,const char *prompt,int verify);
assar> +int _ossl_old_des_read_2passwords(des_cblock *key1,des_cblock *key2,
assar> + const char *prompt,int verify);
assar> +int _ossl_old_des_read_pw_string(char *buf,int length,const char *prompt,int
verify);
assar> +int _ossl_old_des_read_pw(char *buf,char *buff,int size,const char *prompt,int
verify);
assar> void _ossl_old_des_set_odd_parity(des_cblock *key);
assar> int _ossl_old_des_is_weak_key(des_cblock *key);
assar> int _ossl_old_des_set_key(des_cblock *key,des_key_schedule schedule);
assar> Index: crypto/ui/ui_compat.c
assar> ===================================================================
assar> RCS file: /scratch/openssl-box/repo/openssl/crypto/ui/ui_compat.c,v
assar> retrieving revision 1.6
assar> diff -u -w -r1.6 ui_compat.c
assar> --- crypto/ui/ui_compat.c 2001/10/24 21:21:04 1.6
assar> +++ crypto/ui/ui_compat.c 2002/02/04 19:58:21
assar> @@ -61,25 +61,25 @@
assar> #include <openssl/ui_compat.h>
assar>
assar> #ifndef OPENSSL_NO_DES
assar> -int des_read_password(DES_cblock *key, const char *prompt, int verify)
assar> +int DES_read_password(DES_cblock *key, const char *prompt, int verify)
assar> {
assar> int ok;
assar> char buf[BUFSIZ],buff[BUFSIZ];
assar>
assar> - if ((ok=des_read_pw(buf,buff,BUFSIZ,prompt,verify)) == 0)
assar> + if ((ok=DES_read_pw(buf,buff,BUFSIZ,prompt,verify)) == 0)
assar> DES_string_to_key(buf,key);
assar> memset(buf,0,BUFSIZ);
assar> memset(buff,0,BUFSIZ);
assar> return(ok);
assar> }
assar>
assar> -int des_read_2passwords(DES_cblock *key1, DES_cblock *key2, const char *prompt,
assar> +int DES_read_2passwords(DES_cblock *key1, DES_cblock *key2, const char *prompt,
assar> int verify)
assar> {
assar> int ok;
assar> char buf[BUFSIZ],buff[BUFSIZ];
assar>
assar> - if ((ok=des_read_pw(buf,buff,BUFSIZ,prompt,verify)) == 0)
assar> + if ((ok=DES_read_pw(buf,buff,BUFSIZ,prompt,verify)) == 0)
assar> DES_string_to_2keys(buf,key1,key2);
assar> memset(buf,0,BUFSIZ);
assar> memset(buff,0,BUFSIZ);
assar> @@ -87,17 +87,17 @@
assar> }
assar> #endif
assar>
assar> -int des_read_pw_string(char *buf,int length,const char *prompt,int verify)
assar> +int DES_read_pw_string(char *buf,int length,const char *prompt,int verify)
assar> {
assar> char buff[BUFSIZ];
assar> int ret;
assar>
assar> - ret=des_read_pw(buf,buff,(length>BUFSIZ)?BUFSIZ:length,prompt,verify);
assar> + ret=DES_read_pw(buf,buff,(length>BUFSIZ)?BUFSIZ:length,prompt,verify);
assar> memset(buff,0,BUFSIZ);
assar> return(ret);
assar> }
assar>
assar> -int des_read_pw(char *buf,char *buff,int size,const char *prompt,int verify)
assar> +int DES_read_pw(char *buf,char *buff,int size,const char *prompt,int verify)
assar> {
assar> int ok = 0;
assar> UI *ui;
assar> Index: crypto/ui/ui_compat.h
assar> ===================================================================
assar> RCS file: /scratch/openssl-box/repo/openssl/crypto/ui/ui_compat.h,v
assar> retrieving revision 1.4
assar> diff -u -w -r1.4 ui_compat.h
assar> --- crypto/ui/ui_compat.h 2001/10/24 21:21:04 1.4
assar> +++ crypto/ui/ui_compat.h 2002/02/04 19:59:49
assar> @@ -73,13 +73,13 @@
assar> and are provided here for backward compatibility reasons. */
assar>
assar> #ifndef OPENSSL_NO_DES
assar> -int des_read_password(DES_cblock *key,const char *prompt,int verify);
assar> -int des_read_2passwords(DES_cblock *key1,DES_cblock *key2,
assar> +int DES_read_password(DES_cblock *key,const char *prompt,int verify);
assar> +int DES_read_2passwords(DES_cblock *key1,DES_cblock *key2,
assar> const char *prompt,int verify);
assar> #endif
assar>
assar> -int des_read_pw_string(char *buf,int length,const char *prompt,int verify);
assar> -int des_read_pw(char *buf,char *buff,int size,const char *prompt,int verify);
assar> +int DES_read_pw_string(char *buf,int length,const char *prompt,int verify);
assar> +int DES_read_pw(char *buf,char *buff,int size,const char *prompt,int verify);
assar>
assar> #ifdef __cplusplus
assar> }
--
Richard Levitte \ Spannv�gen 38, II \ [EMAIL PROTECTED]
Redakteur@Stacken \ S-168 35 BROMMA \ T: +46-8-26 52 47
\ SWEDEN \ or +46-733-72 88 11
Procurator Odiosus Ex Infernis -- [EMAIL PROTECTED]
Member of the OpenSSL development team: http://www.openssl.org/
Software Engineer, GemPlus: http://www.gemplus.com/
Unsolicited commercial email is subject to an archival fee of $400.
See <http://www.stacken.kth.se/~levitte/mail/> for more info.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]