aboutsummaryrefslogtreecommitdiff
path: root/src/ext/Iis/ca/scawebapp7.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext/Iis/ca/scawebapp7.cpp')
-rw-r--r--src/ext/Iis/ca/scawebapp7.cpp120
1 files changed, 120 insertions, 0 deletions
diff --git a/src/ext/Iis/ca/scawebapp7.cpp b/src/ext/Iis/ca/scawebapp7.cpp
new file mode 100644
index 00000000..94e6bb18
--- /dev/null
+++ b/src/ext/Iis/ca/scawebapp7.cpp
@@ -0,0 +1,120 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3#include "precomp.h"
4HRESULT ScaWriteWebApplication7(
5 __in_z LPCWSTR wzWebName,
6 __in_z LPCWSTR wzRootOfWeb,
7 SCA_WEB_APPLICATION* pswapp,
8 SCA_APPPOOL * /*psapList*/
9 )
10{
11 HRESULT hr = S_OK;
12
13 //all go to same web/root location tag
14 hr = ScaWriteConfigID(IIS_ASP_BEGIN);
15 ExitOnFailure(hr, "Failed to write WebApp ASP begin id");
16 hr = ScaWriteConfigString(wzWebName); //site name key
17 ExitOnFailure(hr, "Failed to write app web key");
18 hr = ScaWriteConfigString(wzRootOfWeb); //app path key
19 ExitOnFailure(hr, "Failed to write app web root");
20
21 // IIS7 Not Supported: Isolation
22 if (MSI_NULL_INTEGER != pswapp->iIsolation)
23 {
24 WcaLog(LOGMSG_TRACEONLY, "Not supported by IIS7: Isolation Mode, ignoring");
25 }
26
27 // allow session state
28 if (MSI_NULL_INTEGER != pswapp->fAllowSessionState)
29 {
30 //system.webServer/asp /session | allowSessionState
31 hr = ScaWriteConfigID(IIS_ASP_SESSIONSTATE);
32 ExitOnFailure(hr, "Failed to write WebApp ASP sessionstate id");
33 hr = ScaWriteConfigInteger(pswapp->fAllowSessionState);
34 ExitOnFailure(hr, "Failed to write allow session information for App: '%ls'", pswapp->wzName);
35 }
36
37 // session timeout
38 if (MSI_NULL_INTEGER != pswapp->iSessionTimeout)
39 {
40 //system.webServer/asp /session | timeout
41 hr = ScaWriteConfigID(IIS_ASP_SESSIONTIMEOUT);
42 ExitOnFailure(hr, "Failed to write WebApp ASP sessiontimepot id");
43 hr = ScaWriteConfigInteger(pswapp->iSessionTimeout);
44 ExitOnFailure(hr, "Failed to write session timeout for App: '%ls'", pswapp->wzName);
45 }
46
47 // asp buffering
48 if (MSI_NULL_INTEGER != pswapp->fBuffer)
49 {
50 //system.webServer/asp | bufferingOn
51 hr = ScaWriteConfigID(IIS_ASP_BUFFER);
52 ExitOnFailure(hr, "Failed to write WebApp ASP buffer id");
53 hr = ScaWriteConfigInteger(pswapp->fBuffer);
54 ExitOnFailure(hr, "Failed to write buffering flag for App: '%ls'", pswapp->wzName);
55 }
56
57 // asp parent paths
58 if (MSI_NULL_INTEGER != pswapp->fParentPaths)
59 {
60 //system.webServer/asp | enableParentPaths
61 hr = ScaWriteConfigID(IIS_ASP_PARENTPATHS);
62 ExitOnFailure(hr, "Failed to write WebApp ASP parentpaths id");
63 hr = ScaWriteConfigInteger(pswapp->fParentPaths);
64 ExitOnFailure(hr, "Failed to write parent paths flag for App: '%ls'", pswapp->wzName);
65 }
66
67 // default scripting language
68 if (*pswapp->wzDefaultScript)
69 {
70 //system.webServer/asp | scriptLanguage
71 hr = ScaWriteConfigID(IIS_ASP_SCRIPTLANG);
72 ExitOnFailure(hr, "Failed to write WebApp ASP script lang id");
73 hr = ScaWriteConfigString(pswapp->wzDefaultScript);
74 ExitOnFailure(hr, "Failed to write default scripting language for App: '%ls'", pswapp->wzName);
75 }
76
77 // asp script timeout
78 if (MSI_NULL_INTEGER != pswapp->iScriptTimeout)
79 {
80 //system.webServer/asp /limits | scriptTimeout
81 hr = ScaWriteConfigID(IIS_ASP_SCRIPTTIMEOUT);
82 ExitOnFailure(hr, "Failed to write WebApp ASP script timeout id");
83 hr = ScaWriteConfigInteger(pswapp->iScriptTimeout);
84 ExitOnFailure(hr, "Failed to write script timeout for App: '%ls'", pswapp->wzName);
85 }
86
87 // asp server-side script debugging
88 if (MSI_NULL_INTEGER != pswapp->fServerDebugging)
89 {
90 //system.webServer/asp | appAllowDebugging
91 hr = ScaWriteConfigID(IIS_ASP_SCRIPTSERVERDEBUG);
92 ExitOnFailure(hr, "Failed to write WebApp ASP script debug id");
93 hr = ScaWriteConfigInteger(pswapp->fServerDebugging);
94 ExitOnFailure(hr, "Failed to write ASP server-side script debugging flag for App: '%ls'", pswapp->wzName);
95 }
96
97 // asp client-side script debugging
98 if (MSI_NULL_INTEGER != pswapp->fClientDebugging)
99 {
100 //system.webServer/asp | appAllowClientDebug
101 hr = ScaWriteConfigID(IIS_ASP_SCRIPTCLIENTDEBUG);
102 ExitOnFailure(hr, "Failed to write WebApp ASP script debug id");
103 hr = ScaWriteConfigInteger(pswapp->fClientDebugging);
104 ExitOnFailure(hr, "Failed to write ASP client-side script debugging flag for App: '%ls'", pswapp->wzName);
105 }
106
107 //done with ASP application properties
108 hr = ScaWriteConfigID(IIS_ASP_END);
109 ExitOnFailure(hr, "Failed to write WebApp ASP begin id");
110
111 //write out app estensions
112 if (pswapp->pswappextList)
113 {
114 hr = ScaWebAppExtensionsWrite7(wzWebName, wzRootOfWeb, pswapp->pswappextList);
115 ExitOnFailure(hr, "Failed to write AppExtensions for App: '%ls'", pswapp->wzName);
116 }
117
118LExit:
119 return hr;
120}