/// <summary>
 /// Initializes the LDAP DN safe lists.
 /// </summary>
 /// <returns>The DN safe list.</returns>
 private static char[][] InitialiseDistinguishedNameSafeList()
 {
     char[][] result = SafeList.Generate(255, new SafeList.GenerateSafeValue(SafeList.HashThenHexValueGenerator));
     SafeList.PunchSafeList(ref result, DistinguishedNameSafeList());
     EscapeDistinguisedNameCharacter(ref result, ',');
     EscapeDistinguisedNameCharacter(ref result, '+');
     EscapeDistinguisedNameCharacter(ref result, '"');
     EscapeDistinguisedNameCharacter(ref result, '\\');
     EscapeDistinguisedNameCharacter(ref result, '<');
     EscapeDistinguisedNameCharacter(ref result, '>');
     EscapeDistinguisedNameCharacter(ref result, ';');
     return(result);
 }
 /// <summary>
 /// Initializes the HTML safe list.
 /// </summary>
 private static void InitialiseSafeList()
 {
     AcquireWriteLock();
     try
     {
         if (characterValues == null)
         {
             characterValues = SafeList.Generate(65535, new SafeList.GenerateSafeValue(SafeList.HashThenValueGenerator));
             SafeList.PunchUnicodeThrough(ref characterValues, currentLowerCodeChartSettings, currentLowerMidCodeChartSettings, currentMidCodeChartSettings, currentUpperMidCodeChartSettings, currentUpperCodeChartSettings);
             ApplyHtmlSpecificValues();
         }
     }
     finally
     {
         ReleaseWriteLock();
     }
 }
 /// <summary>
 /// Marks characters from the specified languages as safe.
 /// </summary>
 /// <param name="lowerCodeCharts">The combination of lower code charts to use.</param>
 /// <param name="lowerMidCodeCharts">The combination of lower mid code charts to use.</param>
 /// <param name="midCodeCharts">The combination of mid code charts to use.</param>
 /// <param name="upperMidCodeCharts">The combination of upper mid code charts to use.</param>
 /// <param name="upperCodeCharts">The combination of upper code charts to use.</param>
 /// <remarks>The safe list affects all HTML and XML encoding functions.</remarks>
 public static void MarkAsSafe(LowerCodeCharts lowerCodeCharts, LowerMidCodeCharts lowerMidCodeCharts, MidCodeCharts midCodeCharts, UpperMidCodeCharts upperMidCodeCharts, UpperCodeCharts upperCodeCharts)
 {
     if (lowerCodeCharts == currentLowerCodeChartSettings && lowerMidCodeCharts == currentLowerMidCodeChartSettings && midCodeCharts == currentMidCodeChartSettings && upperMidCodeCharts == currentUpperMidCodeChartSettings && upperCodeCharts == currentUpperCodeChartSettings)
     {
         return;
     }
     AcquireWriteLock();
     try
     {
         characterValues = SafeList.Generate(65536, new SafeList.GenerateSafeValue(SafeList.HashThenValueGenerator));
         SafeList.PunchUnicodeThrough(ref characterValues, lowerCodeCharts, lowerMidCodeCharts, midCodeCharts, upperMidCodeCharts, upperCodeCharts);
         ApplyHtmlSpecificValues();
         currentLowerCodeChartSettings    = lowerCodeCharts;
         currentLowerMidCodeChartSettings = lowerMidCodeCharts;
         currentMidCodeChartSettings      = midCodeCharts;
         currentUpperMidCodeChartSettings = upperMidCodeCharts;
         currentUpperCodeChartSettings    = upperCodeCharts;
     }
     finally
     {
         ReleaseWriteLock();
     }
 }
 /// <summary>
 /// Initializes the LDAP filter safe list.
 /// </summary>
 /// <returns>The LDAP filter safe list.</returns>
 private static char[][] InitialiseFilterSafeList()
 {
     char[][] result = SafeList.Generate(255, new SafeList.GenerateSafeValue(SafeList.SlashThenHexValueGenerator));
     SafeList.PunchSafeList(ref result, FilterEncodingSafeList());
     return(result);
 }
Example #5
0
 /// <summary>
 /// Initializes the Url Path safe list.
 /// </summary>
 /// <returns>A list of characters and their encoded values for URL encoding.</returns>
 private static char[][] InitialisePathSafeList()
 {
     char[][] result = SafeList.Generate(255, new SafeList.GenerateSafeValue(SafeList.PercentThenHexValueGenerator));
     SafeList.PunchSafeList(ref result, UrlPathSafeList());
     return(result);
 }
Example #6
0
 /// <summary>
 /// Initializes the CSS safe list.
 /// </summary>
 /// <returns>
 /// The CSS safe list.
 /// </returns>
 private static char[][] InitialiseSafeList()
 {
     char[][] result = SafeList.Generate(255, new SafeList.GenerateSafeValue(SafeList.SlashThenSixDigitHexValueGenerator));
     SafeList.PunchSafeList(ref result, CssSafeList());
     return(result);
 }