endif
-EXTRA_DIST = mod_apache.cpp mod_shib_13.cpp mod_shib_20.cpp mod_shib13.vcproj mod_shib20.vcproj \
- resource.h mod_shib_13.rc mod_shib_20.rc
+if BUILD_AP22
+modshib22dir = $(libexecdir)
+modshib22_LTLIBRARIES = mod_shib_22.la
+mod_shib_22_la_SOURCES = mod_shib_22.cpp
+mod_shib_22_la_CXXFLAGS = $(APXS22_CFLAGS) -I$(APXS22_INCLUDE)
+mod_shib_22_la_LDFLAGS = -module -avoid-version
+mod_shib_22_la_LIBADD = \
+ $(top_builddir)/shib/libshib.la \
+ $(top_builddir)/shib-target/libshib-target.la
+
+install-exec-hook:
+ for la in $(modshib22_LTLIBRARIES) ; do rm -f $(DESTDIR)$(modshib22dir)/$$la ; done
+
+endif
+
+EXTRA_DIST = mod_apache.cpp mod_shib_13.cpp mod_shib_20.cpp mod_shib_22.cpp \
+ mod_shib13.vcproj mod_shib20.vcproj mod_shib22.vcproj \
+ resource.h mod_shib_13.rc mod_shib_20.rc mod_shib_22.rc
char* g_szSHIBConfig = NULL;
char* g_szSchemaDir = NULL;
ShibTargetConfig* g_Config = NULL;
+ string g_unsetHeaderValue;
static const char* g_UserDataKey = "_shib_check_user_";
}
}
virtual void clearHeader(const string &name) {
ap_table_unset(m_req->headers_in, name.c_str());
+ ap_table_set(m_req->headers_in, name.c_str(), g_unsetHeaderValue.c_str());
}
virtual void setHeader(const string &name, const string &value) {
ap_table_set(m_req->headers_in, name.c_str(), value.c_str());
ap_log_error(APLOG_MARK,APLOG_CRIT|APLOG_NOERRNO,SH_AP_R(s),"shib_child_init() failed to load configuration");
exit(1);
}
+
+ IConfig* conf=g_Config->getINI();
+ Locker locker(conf);
+ const IPropertySet* props=conf->getPropertySet("Local");
+ if (props) {
+ pair<bool,const char*> unsetValue=props->getString("unsetHeaderValue");
+ if (unsetValue.first)
+ g_unsetHeaderValue = unsetValue.second;
+ }
}
catch (...) {
ap_log_error(APLOG_MARK,APLOG_CRIT|APLOG_NOERRNO,SH_AP_R(s),"shib_child_init() failed to initialize system");
NULL /* post read-request */
};
-#elif defined(SHIB_APACHE_20)
+#elif defined(SHIB_APACHE_20) || defined(SHIB_APACHE_22)
extern "C" void shib_register_hooks (apr_pool_t *p)
{
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="..,..\..\..\opensaml\c,\Apache\include"
+ AdditionalIncludeDirectories="..;"..\..\cpp-opensaml1";\Apache\include"
PreprocessorDefinitions="_WINDOWS;EAPI;WIN32;_DEBUG"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="..,..\..\..\opensaml\c,\Apache2\include"
+ AdditionalIncludeDirectories="..;"..\..\cpp-opensaml1";\Apache2\include"
PreprocessorDefinitions="_WINDOWS;WIN32;_DEBUG"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
--- /dev/null
+<?xml version="1.0" encoding="Windows-1252"?>\r
+<VisualStudioProject\r
+ ProjectType="Visual C++"\r
+ Version="8.00"\r
+ Name="mod_shib22"\r
+ ProjectGUID="{B44C0852-83B8-4FB2-A86E-097C9C8256D0}"\r
+ >\r
+ <Platforms>\r
+ <Platform\r
+ Name="Win32"\r
+ />\r
+ </Platforms>\r
+ <ToolFiles>\r
+ </ToolFiles>\r
+ <Configurations>\r
+ <Configuration\r
+ Name="Release|Win32"\r
+ OutputDirectory=".\mod_shib22___Win32_Release"\r
+ IntermediateDirectory=".\mod_shib22___Win32_Release"\r
+ ConfigurationType="2"\r
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"\r
+ UseOfMFC="0"\r
+ ATLMinimizesCRunTimeLibraryUsage="false"\r
+ CharacterSet="2"\r
+ >\r
+ <Tool\r
+ Name="VCPreBuildEventTool"\r
+ />\r
+ <Tool\r
+ Name="VCCustomBuildTool"\r
+ />\r
+ <Tool\r
+ Name="VCXMLDataGeneratorTool"\r
+ />\r
+ <Tool\r
+ Name="VCWebServiceProxyGeneratorTool"\r
+ />\r
+ <Tool\r
+ Name="VCMIDLTool"\r
+ PreprocessorDefinitions="NDEBUG"\r
+ MkTypLibCompatible="true"\r
+ SuppressStartupBanner="true"\r
+ TargetEnvironment="1"\r
+ TypeLibraryName=".\mod_shib22___Win32_Release/mod_shib22.tlb"\r
+ HeaderFileName=""\r
+ />\r
+ <Tool\r
+ Name="VCCLCompilerTool"\r
+ Optimization="2"\r
+ InlineFunctionExpansion="1"\r
+ AdditionalIncludeDirectories="..,..\..\..\opensaml\c,\Apache22\include"\r
+ PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS"\r
+ StringPooling="true"\r
+ RuntimeLibrary="2"\r
+ EnableFunctionLevelLinking="true"\r
+ RuntimeTypeInfo="true"\r
+ PrecompiledHeaderFile=".\mod_shib22___Win32_Release/mod_shib22.pch"\r
+ AssemblerListingLocation=".\mod_shib22___Win32_Release/"\r
+ ObjectFile=".\mod_shib22___Win32_Release/"\r
+ ProgramDataBaseFileName=".\mod_shib22___Win32_Release/"\r
+ WarningLevel="3"\r
+ SuppressStartupBanner="true"\r
+ Detect64BitPortabilityProblems="true"\r
+ />\r
+ <Tool\r
+ Name="VCManagedResourceCompilerTool"\r
+ />\r
+ <Tool\r
+ Name="VCResourceCompilerTool"\r
+ PreprocessorDefinitions="NDEBUG"\r
+ Culture="1033"\r
+ />\r
+ <Tool\r
+ Name="VCPreLinkEventTool"\r
+ />\r
+ <Tool\r
+ Name="VCLinkerTool"\r
+ AdditionalDependencies="log4cpp.lib xerces-c_2.lib saml_5.lib libapr-1.lib libhttpd.lib"\r
+ OutputFile="mod_shib22___Win32_Release/mod_shib_22.so"\r
+ LinkIncremental="1"\r
+ SuppressStartupBanner="true"\r
+ AdditionalLibraryDirectories="../../../opensaml/c/saml/Release,\Apache22\lib"\r
+ ProgramDatabaseFile=".\mod_shib22___Win32_Release/mod_shib_22.pdb"\r
+ ImportLibrary=".\mod_shib22___Win32_Release/mod_shib_22.lib"\r
+ TargetMachine="1"\r
+ />\r
+ <Tool\r
+ Name="VCALinkTool"\r
+ />\r
+ <Tool\r
+ Name="VCManifestTool"\r
+ />\r
+ <Tool\r
+ Name="VCXDCMakeTool"\r
+ />\r
+ <Tool\r
+ Name="VCBscMakeTool"\r
+ SuppressStartupBanner="true"\r
+ OutputFile=".\mod_shib22___Win32_Release/mod_shib22.bsc"\r
+ />\r
+ <Tool\r
+ Name="VCFxCopTool"\r
+ />\r
+ <Tool\r
+ Name="VCAppVerifierTool"\r
+ />\r
+ <Tool\r
+ Name="VCWebDeploymentTool"\r
+ />\r
+ <Tool\r
+ Name="VCPostBuildEventTool"\r
+ />\r
+ </Configuration>\r
+ <Configuration\r
+ Name="Debug|Win32"\r
+ OutputDirectory=".\mod_shib22___Win32_Debug"\r
+ IntermediateDirectory=".\mod_shib22___Win32_Debug"\r
+ ConfigurationType="2"\r
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"\r
+ UseOfMFC="0"\r
+ ATLMinimizesCRunTimeLibraryUsage="false"\r
+ CharacterSet="2"\r
+ >\r
+ <Tool\r
+ Name="VCPreBuildEventTool"\r
+ />\r
+ <Tool\r
+ Name="VCCustomBuildTool"\r
+ />\r
+ <Tool\r
+ Name="VCXMLDataGeneratorTool"\r
+ />\r
+ <Tool\r
+ Name="VCWebServiceProxyGeneratorTool"\r
+ />\r
+ <Tool\r
+ Name="VCMIDLTool"\r
+ PreprocessorDefinitions="_DEBUG"\r
+ MkTypLibCompatible="true"\r
+ SuppressStartupBanner="true"\r
+ TargetEnvironment="1"\r
+ TypeLibraryName=".\mod_shib22___Win32_Debug/mod_shib22.tlb"\r
+ HeaderFileName=""\r
+ />\r
+ <Tool\r
+ Name="VCCLCompilerTool"\r
+ Optimization="0"\r
+ AdditionalIncludeDirectories="..,..\..\cpp-opensaml1,\Apache22D\include"\r
+ PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS"\r
+ MinimalRebuild="true"\r
+ BasicRuntimeChecks="3"\r
+ RuntimeLibrary="3"\r
+ RuntimeTypeInfo="true"\r
+ PrecompiledHeaderFile=".\mod_shib22___Win32_Debug/mod_shib22.pch"\r
+ AssemblerListingLocation=".\mod_shib22___Win32_Debug/"\r
+ ObjectFile=".\mod_shib22___Win32_Debug/"\r
+ ProgramDataBaseFileName=".\mod_shib22___Win32_Debug/"\r
+ BrowseInformation="1"\r
+ WarningLevel="3"\r
+ SuppressStartupBanner="true"\r
+ Detect64BitPortabilityProblems="true"\r
+ DebugInformationFormat="4"\r
+ />\r
+ <Tool\r
+ Name="VCManagedResourceCompilerTool"\r
+ />\r
+ <Tool\r
+ Name="VCResourceCompilerTool"\r
+ PreprocessorDefinitions="_DEBUG"\r
+ Culture="1033"\r
+ />\r
+ <Tool\r
+ Name="VCPreLinkEventTool"\r
+ />\r
+ <Tool\r
+ Name="VCLinkerTool"\r
+ AdditionalDependencies="log4cppD.lib xerces-c_2D.lib saml_5D.lib libapr-1.lib libhttpd.lib"\r
+ OutputFile="mod_shib22___Win32_Debug/mod_shib_22.so"\r
+ LinkIncremental="2"\r
+ SuppressStartupBanner="true"\r
+ AdditionalLibraryDirectories="../../../opensaml/c/saml/Debug,\Apache22D\lib"\r
+ GenerateDebugInformation="true"\r
+ ProgramDatabaseFile=".\mod_shib22___Win32_Debug/mod_shib_22.pdb"\r
+ ImportLibrary=".\mod_shib22___Win32_Debug/mod_shib_22.lib"\r
+ TargetMachine="1"\r
+ />\r
+ <Tool\r
+ Name="VCALinkTool"\r
+ />\r
+ <Tool\r
+ Name="VCManifestTool"\r
+ />\r
+ <Tool\r
+ Name="VCXDCMakeTool"\r
+ />\r
+ <Tool\r
+ Name="VCBscMakeTool"\r
+ SuppressStartupBanner="true"\r
+ OutputFile=".\mod_shib22___Win32_Debug/mod_shib22.bsc"\r
+ />\r
+ <Tool\r
+ Name="VCFxCopTool"\r
+ />\r
+ <Tool\r
+ Name="VCAppVerifierTool"\r
+ />\r
+ <Tool\r
+ Name="VCWebDeploymentTool"\r
+ />\r
+ <Tool\r
+ Name="VCPostBuildEventTool"\r
+ />\r
+ </Configuration>\r
+ </Configurations>\r
+ <References>\r
+ </References>\r
+ <Files>\r
+ <File\r
+ RelativePath="mod_shib_22.cpp"\r
+ >\r
+ <FileConfiguration\r
+ Name="Release|Win32"\r
+ >\r
+ <Tool\r
+ Name="VCCLCompilerTool"\r
+ AdditionalIncludeDirectories=""\r
+ PreprocessorDefinitions=""\r
+ />\r
+ </FileConfiguration>\r
+ <FileConfiguration\r
+ Name="Debug|Win32"\r
+ >\r
+ <Tool\r
+ Name="VCCLCompilerTool"\r
+ AdditionalIncludeDirectories=""\r
+ PreprocessorDefinitions=""\r
+ />\r
+ </FileConfiguration>\r
+ </File>\r
+ <File\r
+ RelativePath="mod_shib_22.rc"\r
+ >\r
+ <FileConfiguration\r
+ Name="Release|Win32"\r
+ >\r
+ <Tool\r
+ Name="VCResourceCompilerTool"\r
+ PreprocessorDefinitions=""\r
+ />\r
+ </FileConfiguration>\r
+ <FileConfiguration\r
+ Name="Debug|Win32"\r
+ >\r
+ <Tool\r
+ Name="VCResourceCompilerTool"\r
+ PreprocessorDefinitions=""\r
+ />\r
+ </FileConfiguration>\r
+ </File>\r
+ <File\r
+ RelativePath="resource.h"\r
+ >\r
+ </File>\r
+ </Files>\r
+ <Globals>\r
+ </Globals>\r
+</VisualStudioProject>\r
--- /dev/null
+/*
+ * Copyright 2001-2006 Internet2
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* mod_shib_22.cpp -- a wrapper around the apache module code to
+ * build for Apache 2.2
+ *
+ * Created by: Scott Cantor
+ *
+ */
+
+#define SHIB_APACHE_22 1
+
+#define MODULE_VAR_EXPORT AP_MODULE_DECLARE_DATA
+#define SH_AP_POOL apr_pool_t
+#define SH_AP_TABLE apr_table_t
+#define SH_AP_CONFIGFILE ap_configfile_t
+#define array_header apr_array_header_t
+
+#define SH_AP_R(r) 0,r
+#define SH_AP_USER(r) r->user
+
+#define SERVER_ERROR HTTP_INTERNAL_SERVER_ERROR
+#define REDIRECT HTTP_MOVED_TEMPORARILY
+#define ap_pcalloc apr_pcalloc
+#define ap_pstrdup apr_pstrdup
+#define ap_pstrcat apr_pstrcat
+#define ap_psprintf apr_psprintf
+#define ap_table_get apr_table_get
+#define ap_table_addn apr_table_addn
+#define ap_table_setn apr_table_setn
+#define ap_table_unset apr_table_unset
+#define ap_table_set apr_table_set
+#define ap_clear_pool apr_pool_clear
+#define ap_destroy_pool apr_pool_destroy
+#define ap_make_table apr_table_make
+
+#define ap_send_http_header(r)
+#define ap_hard_timeout(str,r)
+#define ap_reset_timeout(r)
+#define ap_kill_timeout(r)
+
+#define ap_http_method ap_http_scheme
+
+#include "mod_apache.cpp"
--- /dev/null
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "afxres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifndef _MAC
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,3,0,0
+ PRODUCTVERSION 1,3,0,0
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x40004L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "Comments", "\0"
+ VALUE "CompanyName", "Internet2\0"
+ VALUE "FileDescription", "Shibboleth Apache 2.2 Module\0"
+ VALUE "FileVersion", "1, 3, 0, 0\0"
+ VALUE "InternalName", "mod_shib_22\0"
+ VALUE "LegalCopyright", "Copyright © 2006 Internet2\0"
+ VALUE "LegalTrademarks", "\0"
+ VALUE "OriginalFilename", "mod_shib_22.so\0"
+ VALUE "PrivateBuild", "\0"
+ VALUE "ProductName", "Shibboleth 1.3\0"
+ VALUE "ProductVersion", "1, 3, 0, 0\0"
+ VALUE "SpecialBuild", "\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
+
+#endif // !_MAC
+
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+#endif // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+