SEBWIN-314: Fixed issues with legacy URL filter implementation.
This commit is contained in:
		
							parent
							
								
									84be7afa97
								
							
						
					
					
						commit
						fa9b84ba68
					
				
					 2 changed files with 5 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -21,7 +21,7 @@ namespace SebWindowsConfig.Utilities
 | 
			
		|||
			if (!string.IsNullOrEmpty(filterExpressionString))
 | 
			
		||||
			{
 | 
			
		||||
				/// Convert Uri to a SEBURLFilterExpression
 | 
			
		||||
				string splitURLRegexPattern = @"(?:([^\:]*)\:\/\/)?(?:([^\:\@]*)(?:\:([^\@]*))?\@)?(?:([^\/\:]*))?(?:\:([0-9\*]*))?([^\?#]*)?(?:\?([^#]*))?(?:#(.*))?";
 | 
			
		||||
				string splitURLRegexPattern = @"(?:([^\:]*)\:\/\/)?(?:([^\:\@]*)(?:\:([^\@]*))?\@)?(?:([^\/\:]*))?(?:\:([0-9\*]*))?([^\?#]*)?(?:\?([^#]*))?(?:#(.*))?";
 | 
			
		||||
				Regex splitURLRegex = new Regex(splitURLRegexPattern);
 | 
			
		||||
				Match regexMatch = splitURLRegex.Match(filterExpressionString);
 | 
			
		||||
			   if (regexMatch.Success == false)
 | 
			
		||||
| 
						 | 
				
			
			@ -34,8 +34,8 @@ namespace SebWindowsConfig.Utilities
 | 
			
		|||
				this.password = regexMatch.Groups[3].Value;
 | 
			
		||||
				this.host = regexMatch.Groups[4].Value;
 | 
			
		||||
 | 
			
		||||
				// Treat a special case when a query is interpreted as part of the host address
 | 
			
		||||
				if (this.host.Contains("?"))
 | 
			
		||||
				// Treat a special case when a query or fragment is interpreted as part of the host address
 | 
			
		||||
				if (this.host.Contains("?") || this.host.Contains("#"))
 | 
			
		||||
				{
 | 
			
		||||
					string splitURLRegexPattern2 = @"([^\?#]*)?(?:\?([^#]*))?(?:#(.*))?";
 | 
			
		||||
					Regex splitURLRegex2 = new Regex(splitURLRegexPattern2);
 | 
			
		||||
| 
						 | 
				
			
			@ -64,7 +64,7 @@ namespace SebWindowsConfig.Utilities
 | 
			
		|||
						this.port = UInt16.Parse(portNumber);
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					this.path = regexMatch.Groups[6].Value.Trim(new char[] { '/' });
 | 
			
		||||
					this.path = regexMatch.Groups[6].Value.TrimEnd(new char[] { '/' });
 | 
			
		||||
					this.query = regexMatch.Groups[7].Value;
 | 
			
		||||
					this.fragment = regexMatch.Groups[8].Value;
 | 
			
		||||
				}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -77,7 +77,7 @@ namespace SebWindowsConfig.Utilities
 | 
			
		|||
					if (filterString.Length > 1 && filterString.StartsWith("."))
 | 
			
		||||
					{
 | 
			
		||||
						// Get host string without the "." prefix
 | 
			
		||||
						filterString = filterString.Substring(1, filterString.Length);
 | 
			
		||||
						filterString = filterString.Substring(1);
 | 
			
		||||
						// Get regex for host <*://example.com> (without possible subdomains)
 | 
			
		||||
						return RegexForFilterString(filterString);
 | 
			
		||||
					}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue