About IAG unicode support

Applies To: Intelligent Application Gateway (IAG)

While users are accessing the internal network via Whale Communications Intelligent Application Gateway (IAG) 2007, IAG filtering performs various operations that require text manipulation, such as host address or server name translation, URL inspection, and more. By default, IAG supports manipulation of text that is encoded using the Unicode UTF-8 encoding format. However, in order to enable manipulation of text that is encoded using a different Unicode encoding format—UTF-16 or UTF-32— additional configuration is required.

This topic describes how you enable the manipulation of pages that use UTF-16 or UTF-32 encoding. If any of the pages in your site, with which users interact, use either of those encoding formats, follow the instructions in this topic to ensure the smooth operation of IAG.

Enabling UTF-16 and UTF-32 Encoding

In order to enable the manipulation of text that is encoded using the UTF-16 or UTF-32 encoding formats, you take the following steps on IAG:

  • Add a dedicated Encoding filter extension to the Whale Filter Extension List. Note the following:

    • The Encoding filter extension must be first in the Extension list.

    • After you edit the Filter Extension List you have to restart the Web service in the IIS.

    For details, refer to Activating the Encoding Filter Extension.

  • Create an encoding configuration file, and configure it to include each of the pages where UTF-16 or UTF-32 encoding is used. Note the following:

    • After the initial configuration, whenever you add files that use UTF-16 or UTF-32 encoding to your site, you need to update the configuration file to include the new files.

    • Whenever you update the configuration file, you need to activate the configuration.

    For details, refer to Creating and Updating the Encoding Configuration File.

The steps described here enable the manipulation of UTF-16 or UTF-32 encoded text for one site, accessed via one trunk. You need to repeat them for each trunk that includes pages that use these types of encoding.

Activating the Encoding Filter Extension

When you configure a trunk, the Whale Filter Extension List, WFEList.xml, is copied under the trunk’s folder on IAG:

…\Whale-Com\e-Gap\Von\Conf\WebSites\<Trunk_Name>\Conf

The Extension List controls the activation of the filter extensions listed in it. In order to activate the Encoding extension, you have to add it to the list, as described in this section.

To activate the Encoding extension

  1. At IAG, access the CustomUpdate folder under the trunk’s Conf folder; if it does not exist, create it:

    …\Whale-Com\e-Gap\Von\Conf\WebSites\<Trunk_Name>\ Conf\CustomUpdate

  2. Copy the file WFEList.xml from the trunk’s Conf folder to the CustomUpdate folder; if such a file already exists, use the existing file.

  3. In the Whale Filter Extension List, WFEList.xml, add the Encoding extension to the list by adding the following line directly under the tag <DLL_NAMES>:

    <DLL active="1" dll_name="WhlFiltEncoding.dll"/>

    Note

    Make sure the Encoding extension is first in the list, that is, the line you add here is first in the extension list, as shown in the example below.

    <DLL_LOADER ver="1.0">

    <DLL_NAMES>

    <DLL active="1" dll_name="WhlFiltEncoding.dll"/>

    <DLL active="1" dll_name="WhlFiltSecureRemote.dll"/>

    <DLL active="1" dll_name="WhlFiltSNT.dll"/>

    <DLL active="1" dll_name="WhlFiltRecorder.dll"/>

    <DLL active="1" dll_name="WhlFiltAppWrap.dll"/>

    <DLL active="1" dll_name="WhlFiltSSLVPN.dll"/>

    <DLL active="1" dll_name="WhlFiltLogOff.dll"/>

    <DLL active="1" dll_name="WhlFiltRuleSet.dll"/>

    <DLL active="1" dll_name="WhlFiltFormLogin.dll"/>

    <DLL active="1" dll_name="WhlFiltAuthorization.dll"/>

    </DLL_NAMES>

    </DLL_LOADER>

  4. Restart the Web service in the IIS. For details, refer to Restarting the Web Service in the IIS.

Creating and Updating the Encoding Configuration File

The encoding configuration file must include an entry for each of the pages in your site where UTF-16 or UTF-32 encoding is used. Whenever you add files that use these encoding methods to your site, you need to update the configuration file accordingly.

To configure the encoding configuration file

  1. Create the following file:

    • For HTTP trunks: WhlFiltEncoding_HTTP.xml

    • For HTTPS trunks: WhlFiltEncoding_HTTPS.xml

    Place the file in the following location:

    …\Whale-Com\e-Gap\Von\Conf\WebSites\<Trunk_Name>\Conf

  2. Edit the file in the following format:

    <WHLFILTENCODING ver="3.0">

    <URLS>

    <URL encoding="encoding_format" case_sensitive="true/false">URL</URL>

    </URLS>

    </WHLFILTENCODING>

    Tip

    You can see sample files under the following folder:

    …\Whale-Com\e-Gap\Von\samples\Encoding

    Where:

    • For each page that uses UTF-16 or UTF-32 encoding, you need to add one <URL> element.

    • URL defines the page where UTF-16 or UTF-32 encoding is used. Note the following:

      - URLs can be defined using regular expressions; for details, see About Regex++ syntax.

      - The Encoding extension receives the URL in its noncanonicalized form.

      - The URL must include the absolute path of the page. Since the Encoding extension is the first extension that is activated on the URL, the URL must also include the HAT signature that is added to the URL during link manipulation.

    Tip

    You can use the .* wildcard instead of adding the actual signature.

    • The encoding attribute defines the encoding format of the URL, as follows:

      - UTF-16: UTF-16 with Byte Order Mark (BOM)

      - UTF-16BE: UTF-16 without BOM, serialized in big-endian

      - UTF-16LE: UTF-16 without BOM, serialized in little-endian

      - UTF-32: UTF-32 with BOM

      - UTF-32BE: UTF-32 without BOM, serialized in big-endian

      - UTF-32LE: UTF-32, without BOM, serialized in little-endian

    • The case_sensitive attribute defines whether URL matching is case sensitive or not.

  3. Once you finish editing the file, in the IAG Configuration console, click the Activate icon to activate the configuration.

  4. In the Activate Configuration window, select the option “Apply changes made to external configuration settings”.