Using Connection Manager URL Mapping
4/8/2010
Connection Manager supports Uniform Resource Locator (URL) mapping, which enables users to specify whether a particular URL should be mapped to the Internet or to a corporate network. The URL mapper resolves the particular URL with the GUID of the destination network.
Connection Manager exposes the ConnMgrMapURL function, which enables applications to use the URL mapping functionality. When an application calls ConnMgrMapURL, the URL mapper uses a primary list of URL mappings. This list maps specific domains to metanetworks that are XML-provisioned by device management. Users can also add mappings to this list by using the URL mapper override user interface.
If a user tries to browse a URL on a corporate network that uses a dotted format, such as www.microsoft.com, the URL mapper checks the primary list of URL mappings to determine if this specific domain has been provisioned to connect through the Internet or the corporate network. If a match is found for this URL in the primary list, the associated GUID is returned.
If there is no mapping in the primary list, the URL mapper searches a secondary list, which contains the mappings for the most general cases. The URL mapper follows the same steps when trying to locate a non-dotted Internet URL on a local area network (LAN) at a home office, such as myhomeoffice1.
The URL mapper uses a mapping table, which lists specific URLs or URL patterns and their corresponding destination network. The URL patterns consist of literal characters and the control characters shown in the following table.
Character | Description |
---|---|
* |
Placeholder for zero or more of any character. |
? |
Placeholder for any single character. |
[] |
Contains a list of matching characters, or specific character ranges. For example, [a - zA - Z] matches any alpha character. Ranges are simple; there is no support for dash at the beginning of a range to denote the dash itself. Also, currently there is no support for the "or" (|) operator. |
ConnMgrMapURL matches the input URL to the mapping table entries based on a literal match or a pattern match. The primary list contains identifier values ranging from 0 to 268435455. The secondary list contains identifiers from 268435456 and above.
The following table shows the URL mapping table that is used by Connection Manager.RangeUse1-500 | Wireless Application Protocol (WAP) network exceptions. |
---|---|
501-16777215 |
Device configuration of the primary list. These entries override manual URL entries. |
16777216-16842751 |
Manually entered URL exceptions, sequentially numbered from 0x01000000. There can be up to 65536 entries. |
16842752-268435455 |
Device configuration of the primary list. These entries do not override manual URL entries. |
268435456-536870911 |
Device configuration of the secondary list. |
536870912 |
WAP network. |
553648128 |
Secure WAP network. |
570425344 |
Internet metanetwork. |
Connection Manager calls the Windows Internet Services (WinInet) InternetCrackUrl function to parse the URL and pattern into separate pieces. Connection Manager then applies the pattern match to each piece separately. Patterns must be provisioned in a canonicalized format. For example, a blank space in the URL must be represented by the escape sequence %20
.