diff --git a/examples/cli.c b/examples/cli.c index 2733209..9cd900b 100644 --- a/examples/cli.c +++ b/examples/cli.c @@ -21,7 +21,6 @@ #include "editline.h" #include -#include #define HISTORY "/tmp/.cli-history" @@ -117,33 +116,6 @@ el_status_t do_suspend(void) return CSstay; } -static int my_rl_check_secret(const char* source) -{ - const char* pattern = (char *)"^unlock\\s"; - regex_t regex; - - int reti; - int rez = 0; - - if (!pattern || !source) - return rez; - - /* Compile regular expression */ - reti = regcomp(®ex, pattern, 0); - if (reti) // If couldn't compile regex - return rez; - - /* Execute regular expression */ - reti = regexec(®ex, source, 0, NULL, 0); - if (!reti) // If regex match - rez = 1; - - /* Free memory allocated to the pattern buffer by regcomp() */ - regfree(®ex); - - return rez; -} - int main(void) { char *line; @@ -152,7 +124,6 @@ int main(void) /* Setup callbacks */ rl_set_complete_func(&my_rl_complete); rl_set_list_possib_func(&my_rl_list_possib); - rl_set_check_secret_func(&my_rl_check_secret); el_bind_key('?', list_possible); el_bind_key(CTL('C'), do_break); el_bind_key(CTL('D'), do_exit); diff --git a/include/editline.h b/include/editline.h index c47a0bc..eb1a569 100644 --- a/include/editline.h +++ b/include/editline.h @@ -45,7 +45,6 @@ typedef enum { /* Editline specific types, despite rl_ prefix. From Heimdal project. */ typedef int rl_list_possib_func_t(char*, char***); -typedef int rl_check_secret_func_t(const char*); typedef el_status_t el_keymap_func_t(void); typedef int rl_hook_func_t(void); typedef int rl_getc_func_t(void); @@ -77,7 +76,6 @@ extern char *rl_complete(char *token, int *match); extern int rl_list_possib(char *token, char ***av); extern char **rl_completion_matches(const char *token, rl_compentry_func_t *generator); extern char *rl_filename_completion_function(const char *text, int state); -extern int rl_check_secret(char *source); /* For compatibility with FSF readline. */ extern int rl_point; @@ -119,7 +117,6 @@ extern int write_history (const char *filename); extern rl_completion_func_t *rl_attempted_completion_function; extern rl_complete_func_t *rl_set_complete_func (rl_complete_func_t *func); extern rl_list_possib_func_t *rl_set_list_possib_func (rl_list_possib_func_t *func); -extern rl_check_secret_func_t *rl_set_check_secret_func (rl_check_secret_func_t *func); /* Alternate interface to plain readline(), for event loops */ extern void rl_callback_handler_install (const char *prompt, rl_vcpfunc_t *lhandler); diff --git a/src/complete.c b/src/complete.c index 3e67b3f..d6b8a4b 100644 --- a/src/complete.c +++ b/src/complete.c @@ -397,21 +397,6 @@ char *rl_complete(char *token, int *match) return el_filename_complete(token, match); } -static rl_check_secret_func_t *el_check_secret_func = NULL; -/* For compatibility with the Heimdal project. */ -rl_check_secret_func_t *rl_set_check_secret_func(rl_check_secret_func_t *func) -{ - rl_check_secret_func_t *old = el_check_secret_func; - el_check_secret_func = func; - return old; -} -int rl_check_secret(char *source) -{ - if (el_check_secret_func) - return el_check_secret_func(source); - return 0; -} - static rl_list_possib_func_t *el_list_possib_func = NULL; /* For compatibility with the Heimdal project. */ diff --git a/src/editline.c b/src/editline.c index eb213a6..30f64f1 100644 --- a/src/editline.c +++ b/src/editline.c @@ -159,16 +159,12 @@ static void tty_flush(void) ssize_t res; if (!ScreenCount) - return; + return; if (!el_no_echo) { - if (rl_check_secret(rl_line_buffer)) - res = write(el_outfd, "", 1); - else - res = write(el_outfd, Screen, ScreenCount); - - if (res > 0) - ScreenCount = 0; + res = write(el_outfd, Screen, ScreenCount); + if (res > 0) + ScreenCount = 0; } } @@ -1138,10 +1134,6 @@ static void hist_add(const char *p) if (s == NULL) return; - // Don't add secret information in history - if (rl_check_secret(s)) - return; - if (H.Size < el_hist_size) { H.Lines[H.Size++] = s; } else {