Compare commits
	
		
			1 Commits
		
	
	
		
			2458--seed
			...
			2488-fix-c
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | f4b5eee171 | 
| @@ -434,7 +434,7 @@ namespace Kp2aAutofillParser | |||||||
|         public static List<string> ConvertToCanonicalLowerCaseHints(string[] supportedHints) |         public static List<string> ConvertToCanonicalLowerCaseHints(string[] supportedHints) | ||||||
|         { |         { | ||||||
|             List<string> result = new List<string>(); |             List<string> result = new List<string>(); | ||||||
|             foreach (string hint in supportedHints) |             foreach (string hint in supportedHints.Where(h => h != null)) | ||||||
|             { |             { | ||||||
|                 var canonicalHint = ToCanonicalHint(hint); |                 var canonicalHint = ToCanonicalHint(hint); | ||||||
|                 result.Add(canonicalHint.ToLower()); |                 result.Add(canonicalHint.ToLower()); | ||||||
| @@ -829,7 +829,7 @@ namespace Kp2aAutofillParser | |||||||
|             // * if there is no such autofill hint, we use IsPassword to  |             // * if there is no such autofill hint, we use IsPassword to  | ||||||
|  |  | ||||||
|             HashSet<string> autofillHintsOfAllFields = autofillView.InputFields.Where(f => f.AutofillHints != null) |             HashSet<string> autofillHintsOfAllFields = autofillView.InputFields.Where(f => f.AutofillHints != null) | ||||||
|                 .SelectMany(f => f.AutofillHints).Select(AutofillHintsHelper.ToCanonicalHint).ToHashSet(); |                 .SelectMany(f => f.AutofillHints).Where(x => x != null).Select(AutofillHintsHelper.ToCanonicalHint).ToHashSet(); | ||||||
|             bool hasLoginAutofillHints = autofillHintsOfAllFields.Intersect(_autofillHintsForLogin).Any(); |             bool hasLoginAutofillHints = autofillHintsOfAllFields.Intersect(_autofillHintsForLogin).Any(); | ||||||
|  |  | ||||||
|             if (hasLoginAutofillHints) |             if (hasLoginAutofillHints) | ||||||
| @@ -839,9 +839,9 @@ namespace Kp2aAutofillParser | |||||||
|                     string[] viewHints = viewNode.AutofillHints; |                     string[] viewHints = viewNode.AutofillHints; | ||||||
|                     if (viewHints == null) |                     if (viewHints == null) | ||||||
|                         continue; |                         continue; | ||||||
|                     if (viewHints.Select(AutofillHintsHelper.ToCanonicalHint).Intersect(_autofillHintsForLogin).Any()) |                     if (viewHints.Where(h => h != null).Select(AutofillHintsHelper.ToCanonicalHint).Intersect(_autofillHintsForLogin).Any()) | ||||||
|                     { |                     { | ||||||
|                         AddFieldToHintMap(viewNode, viewHints.Select(AutofillHintsHelper.ToCanonicalHint).ToHashSet().ToArray()); |                         AddFieldToHintMap(viewNode, viewHints.Where(h => h != null).Select(AutofillHintsHelper.ToCanonicalHint).ToHashSet().ToArray()); | ||||||
|                     } |                     } | ||||||
|  |  | ||||||
|                 } |                 } | ||||||
|   | |||||||
| @@ -31,8 +31,17 @@ namespace PluginTOTP | |||||||
| 				_muteWarnings = muteWarnings; | 				_muteWarnings = muteWarnings; | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
|  | 			/// <summary> | ||||||
|  | 			/// Check if specified Entry contains Settings that are not null. | ||||||
|  | 			/// </summary> | ||||||
|  | 			internal bool SettingsCheck(IDictionary<string, string> entryFields) | ||||||
|  | 			{ | ||||||
|  | 				string settings; | ||||||
|  | 				entryFields.TryGetValue(SettingsFieldName, out settings); | ||||||
|  | 				return !String.IsNullOrEmpty(settings); | ||||||
|  | 			} | ||||||
|  |  | ||||||
| 			internal bool HasSeed(IDictionary<string, string> entryFields) | 			internal bool SeedCheck(IDictionary<string, string> entryFields) | ||||||
| 			{ | 			{ | ||||||
| 				string seed; | 				string seed; | ||||||
| 				entryFields.TryGetValue(SeedFieldName, out seed); | 				entryFields.TryGetValue(SeedFieldName, out seed); | ||||||
| @@ -92,14 +101,14 @@ namespace PluginTOTP | |||||||
|  |  | ||||||
| 			private string[] SettingsGet(IDictionary<string, string> entryFields) | 			private string[] SettingsGet(IDictionary<string, string> entryFields) | ||||||
| 			{ | 			{ | ||||||
|                 return entryFields.TryGetValue(SettingsFieldName, out var settings) ? settings.Split(';') : new[] { "30", "6" }; | 				return entryFields[SettingsFieldName].Split(';'); | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| 			public TotpData GetTotpData(IDictionary<string, string> entryFields) | 			public TotpData GetTotpData(IDictionary<string, string> entryFields) | ||||||
| 			{ | 			{ | ||||||
| 				TotpData res = new TotpData(); | 				TotpData res = new TotpData(); | ||||||
|  |  | ||||||
| 				if (HasSeed(entryFields)) | 				if (SettingsCheck(entryFields) && SeedCheck(entryFields)) | ||||||
| 				{ | 				{ | ||||||
| 					bool ValidInterval; bool ValidLength; bool ValidUrl; | 					bool ValidInterval; bool ValidLength; bool ValidUrl; | ||||||
| 					if (SettingsValidate(entryFields, out ValidInterval, out ValidLength, out ValidUrl)) | 					if (SettingsValidate(entryFields, out ValidInterval, out ValidLength, out ValidUrl)) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user