From 307f59065b4080005e59e619560231a32e71c2af Mon Sep 17 00:00:00 2001 From: Addison Beck Date: Fri, 25 Sep 2020 12:43:29 -0400 Subject: [PATCH 1/3] beefed up the restrictions on what is considered isLikePassword for autofill --- jslib | 2 +- src/services/autofill.service.ts | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/jslib b/jslib index 3bf322a904..f30d6f8027 160000 --- a/jslib +++ b/jslib @@ -1 +1 @@ -Subproject commit 3bf322a904cd7ccb8c7e77edbecf8e152feb7364 +Subproject commit f30d6f8027055507abfdefd1eeb5d9aab25cc601 diff --git a/src/services/autofill.service.ts b/src/services/autofill.service.ts index 8e2c0ed145..3853bca7d3 100644 --- a/src/services/autofill.service.ts +++ b/src/services/autofill.service.ts @@ -903,16 +903,20 @@ export default class AutofillService implements AutofillServiceInterface { if (value == null) { return false; } - const lowerValue = value.toLowerCase(); - if (lowerValue.indexOf('onetimepassword') >= 0) { + // Removes all whitespace and _ characters + const cleanedValue = value.toLowerCase().trim().replace(/[\s_]/g, ''); + + if (cleanedValue.indexOf('password') < 0) { return false; } - if (lowerValue.indexOf('password') < 0) { - return false; - } - if (lowerValue.indexOf('captcha') >= 0) { - return false; + + const ignoreList = ['onetimepassword', 'captcha', 'findanything'] + for (let index = 0; index < ignoreList.length; index++) { + if (cleanedValue.indexOf(ignoreList[index]) > -1) { + return false; + } } + return true; }; const isLikePassword = () => { From a2a994cb4d8a462cd4f1f91070a1972ec5f9ca8b Mon Sep 17 00:00:00 2001 From: Addison Beck Date: Mon, 28 Sep 2020 12:07:46 -0400 Subject: [PATCH 2/3] tweaked autofill ignore settings for code review --- src/services/autofill.service.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/services/autofill.service.ts b/src/services/autofill.service.ts index 3853bca7d3..de60fbbf53 100644 --- a/src/services/autofill.service.ts +++ b/src/services/autofill.service.ts @@ -903,18 +903,16 @@ export default class AutofillService implements AutofillServiceInterface { if (value == null) { return false; } - // Removes all whitespace and _ characters - const cleanedValue = value.toLowerCase().trim().replace(/[\s_]/g, ''); + // Removes all whitespace, _ and - characters + const cleanedValue = value.toLowerCase().replace(/[\s_-]/g, ''); if (cleanedValue.indexOf('password') < 0) { return false; } - const ignoreList = ['onetimepassword', 'captcha', 'findanything'] - for (let index = 0; index < ignoreList.length; index++) { - if (cleanedValue.indexOf(ignoreList[index]) > -1) { - return false; - } + const ignoreList = ['onetimepassword', 'captcha', 'findanything']; + if (ignoreList.some((i) => cleanedValue.indexOf(i) > -1)) { + return false; } return true; From 64dd14ffc54ed47207a9489f2958c22175863da3 Mon Sep 17 00:00:00 2001 From: Addison Beck Date: Mon, 28 Sep 2020 12:57:40 -0400 Subject: [PATCH 3/3] added an escape character to a regex string --- src/services/autofill.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/autofill.service.ts b/src/services/autofill.service.ts index de60fbbf53..10b90216c1 100644 --- a/src/services/autofill.service.ts +++ b/src/services/autofill.service.ts @@ -904,7 +904,7 @@ export default class AutofillService implements AutofillServiceInterface { return false; } // Removes all whitespace, _ and - characters - const cleanedValue = value.toLowerCase().replace(/[\s_-]/g, ''); + const cleanedValue = value.toLowerCase().replace(/[\s_\-]/g, ''); if (cleanedValue.indexOf('password') < 0) { return false;