How to obtain the hotfix
This issue is fixed in the ISA Server 2006 Hotfix Package dated September 24, 2007. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
942639 Description of the ISA Server 2006 hotfix package: September 24, 2007
How to obtain the hotfix
This issue is fixed in the ISA Server 2004 Hotfix Package dated August 23, 2006. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
924410 Description of the ISA Server 2004 hotfix package: August 23, 2006
The hotfix enables an exception list to be configured. The exception list prevents the ISA Server 2004 or ISA Server 2006 forms-based authentication filter from adding the
Cache-Control: no-cache header to requests that contain the strings that are defined in the exception list.
After you apply the hotfix, you must run the following Visual Basic script on ISA Server 2004 or ISA Server 2006 to configure the exception list that has the necessary strings. To do this, follow these steps.
Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.
- Click Start, point to Programs, point to Accessories, and then click Notepad.
- Copy and paste the following code into a new Notepad document. Then, save the code to a file name that has a .vbs extension such as AddOwaASPExceptionList.vbs.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' Copyright (c) Microsoft Corporation. All rights reserved.
' THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE
' RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE
' USER. USE AND REDISTRIBUTION OF THIS CODE, WITH OR WITHOUT MODIFICATION, IS
' HEREBY PERMITTED.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' This script adds a new VendorParametersSets under the array root.
' This script is used to add new parameters that are needed for hotfixes or service packs.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub AddOwaASPExceptionList()
' Create the root obect.
Dim root ' The FPCLib.FPC root object
Set root = CreateObject("FPC.Root")
'Declare the other objects needed.
Dim array ' An FPCArray object
Dim VendorSets ' An FPCVendorParametersSets collection
Dim VendorSet ' An FPCVendorParametersSet object
' Get references to the array object
' and the network rules collection.
Set array = root.GetContainingArray
Set VendorSets = array.VendorParametersSets
On Error Resume Next
Set VendorSet = VendorSets.Item( "{143F5698-103B-12D4-FF34-1F34767DEabc}" )
If Err.Number <> 0 Then
Err.Clear
' Add the item
Set VendorSet = VendorSets.Add( "{143F5698-103B-12D4-FF34-1F34767DEabc}" )
CheckError
WScript.Echo "New VendorSet added... " & VendorSet.Name
Else
WScript.Echo "Existing VendorSet found... value- " & VendorSet.Value("OwaASPExceptionList")
End If
'
' The syntax for adding the exception strings is: "String1;String2;..;StringN;"
' Each string is terminated with a semicolon. Even if you need only one exception
' string, terminate it with a semicolon.
' The URl of the request is compared to all strings. If one match,or
' one of the exception strings is included in the URL, ISA will not add the
' "Cache-control" header to the response and will pass the header from
' the Web server.
'
'
Err.Clear
VendorSet.Value("OwaASPExceptionList") = "attachment.asp;"
If Err.Number <> 0 Then
CheckError
Else
VendorSets.Save false, true
CheckError
If Err.Number = 0 Then
WScript.Echo "Done with OwaASPExceptionList, saved!"
End If
End If
End Sub
Sub CheckError()
If Err.Number <> 0 Then
WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description
Err.Clear
End If
End Sub
AddOwaASPExceptionList
Notes - Replace the "attachment.asp" page in the Microsoft Visual Basic script with the strings that you want to add to the exclusion list, and then save the file.
- Double-click the .vbs file to run the script.
To remove the exception list, you must run the following Visual Basic script. To do this, follow these steps:
- Click Start, point to Programs, point to Accessories, and then click Notepad.
- Copy and paste the following code into a new Notepad document. Then, save the code to a file name that has a .vbs extension such as RemoveOwaASPExceptionList.vbs.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' Copyright (c) Microsoft Corporation. All rights reserved.
' THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE
' RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE
' USER. USE AND REDISTRIBUTION OF THIS CODE, WITH OR WITHOUT MODIFICATION, IS
' HEREBY PERMITTED.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' This script removes a VendorParametersSet under the array root.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub RemoveOwaASPExceptionList()
' Create the root obect.
Dim root ' The FPCLib.FPC root object
Set root = CreateObject("FPC.Root")
'Declare the other objects needed.
Dim array ' An FPCArray object
Dim VendorSets ' An FPCVendorParametersSets collection
Dim VendorSet ' An FPCVendorParametersSet object
' Get references to the array object
' and the network rules collection.
Set array = root.GetContainingArray
Set VendorSets = array.VendorParametersSets
On Error Resume Next
Set VendorSet = VendorSets.Item( "{143F5698-103B-12D4-FF34-1F34767DEabc}" )
If Err.Number = 0 Then
WScript.Echo "Existing VendorSet found... value- " & VendorSet.Value("OwaASPExceptionList")
Err.Clear
VendorSet.RemoveValue("OwaASPExceptionList")
If Err.Number <> 0 Then
CheckError
Else
VendorSets.Save false, true
CheckError
If Err.Number = 0 Then
WScript.Echo "Done with OwaASPExceptionList, saved!"
End If
End If
End If
End Sub
Sub CheckError()
If Err.Number <> 0 Then
WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description
Err.Clear
End If
End Sub
RemoveOwaASPExceptionList
- Double-click the .vbs file to run the script.