Commit 08df4127 authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

PR: 1904

Submitted by: David Woodhouse <dwmw2@infradead.org>

Pass passphrase minimum length down to UI.
parent ac495542
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -523,6 +523,7 @@ __owur int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type);
__owur int	EVP_DigestFinal(EVP_MD_CTX *ctx,unsigned char *md,unsigned int *s);

int	EVP_read_pw_string(char *buf,int length,const char *prompt,int verify);
int	EVP_read_pw_string_min(char *buf,int minlen,int maxlen,const char *prompt,int verify);
void	EVP_set_pw_prompt(const char *prompt);
char *	EVP_get_pw_prompt(void);

+7 −2
Original line number Diff line number Diff line
@@ -89,6 +89,11 @@ char *EVP_get_pw_prompt(void)
 * in the DES library -- if someone ever wants to disable DES,
 * this function will fail */
int EVP_read_pw_string(char *buf, int len, const char *prompt, int verify)
	{
	return EVP_read_pw_string_min(buf, 0, len, prompt, verify);
	}

int EVP_read_pw_string_min(char *buf, int min, int len, const char *prompt, int verify)
	{
	int ret;
	char buff[BUFSIZ];
@@ -97,10 +102,10 @@ int EVP_read_pw_string(char *buf, int len, const char *prompt, int verify)
	if ((prompt == NULL) && (prompt_string[0] != '\0'))
		prompt=prompt_string;
	ui = UI_new();
	UI_add_input_string(ui,prompt,0,buf,0,(len>=BUFSIZ)?BUFSIZ-1:len);
	UI_add_input_string(ui,prompt,0,buf,min,(len>=BUFSIZ)?BUFSIZ-1:len);
	if (verify)
		UI_add_verify_string(ui,prompt,0,
			buff,0,(len>=BUFSIZ)?BUFSIZ-1:len,buf);
			buff,min,(len>=BUFSIZ)?BUFSIZ-1:len,buf);
	ret = UI_process(ui);
	UI_free(ui);
	OPENSSL_cleanse(buff,BUFSIZ);
+1 −1
Original line number Diff line number Diff line
@@ -105,7 +105,7 @@ int PEM_def_callback(char *buf, int num, int w, void *key)

	for (;;)
		{
		i=EVP_read_pw_string(buf,num,prompt,w);
		i=EVP_read_pw_string_min(buf,MIN_LENGTH,num,prompt,w);
		if (i != 0)
			{
			PEMerr(PEM_F_PEM_DEF_CALLBACK,PEM_R_PROBLEMS_GETTING_PASSWORD);