Remove dead code.
authorScott Cantor <cantor.2@osu.edu>
Sun, 19 Aug 2007 00:47:38 +0000 (00:47 +0000)
committerScott Cantor <cantor.2@osu.edu>
Sun, 19 Aug 2007 00:47:38 +0000 (00:47 +0000)
19 files changed:
Makefile.am
Shibboleth.sln
isapi_shib_gui/GUIDs.h [deleted file]
isapi_shib_gui/Shib_PropSheet.cpp [deleted file]
isapi_shib_gui/Shib_PropSheet.h [deleted file]
isapi_shib_gui/atou.cpp [deleted file]
isapi_shib_gui/atou.h [deleted file]
isapi_shib_gui/basesnap.Cpp [deleted file]
isapi_shib_gui/basesnap.Def [deleted file]
isapi_shib_gui/basesnap.h [deleted file]
isapi_shib_gui/extend.h [deleted file]
isapi_shib_gui/globals.h [deleted file]
isapi_shib_gui/isapi_gui.Rc [deleted file]
isapi_shib_gui/isapi_shib_gui.dsp [deleted file]
isapi_shib_gui/isapi_shib_gui.vcproj [deleted file]
isapi_shib_gui/registry.Cpp [deleted file]
isapi_shib_gui/registry.h [deleted file]
isapi_shib_gui/resource.h [deleted file]
nsapi_shib/nsapi_shib.cpp

index 7fd7ef7..4a131f5 100644 (file)
@@ -3,8 +3,7 @@ AUTOMAKE_OPTIONS = foreign
 ACLOCAL_AMFLAGS = -I .
 
 EXTRA_DIST = \
-       isapi_shib isapi_shib_gui \
-       Shibboleth.sln libtool.m4 acx_pthread.m4 depcomp \
+       isapi_shib Shibboleth.sln libtool.m4 acx_pthread.m4 depcomp \
        config_win32.h shibboleth.spec.in shibboleth.spec pkginfo.in pkginfo checkinstall
 
 dist-hook:
index 31262d4..9d5ca0a 100644 (file)
@@ -9,12 +9,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "isapi_shib", "isapi_shib\is
                {81F0F7A6-DC36-46EF-957F-F9E81D4403F7} = {81F0F7A6-DC36-46EF-957F-F9E81D4403F7}
        EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "isapi_shib_gui", "isapi_shib_gui\isapi_shib_gui.vcproj", "{D341DCD8-7DCD-43A2-8559-C07DAB838711}"
-       ProjectSection(WebsiteProperties) = preProject
-               Debug.AspNetCompiler.Debug = "True"
-               Release.AspNetCompiler.Debug = "False"
-       EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_shib13", "apache\mod_shib13.vcproj", "{D243B43E-728E-4F32-BDFF-B3A897037C6D}"
        ProjectSection(WebsiteProperties) = preProject
                Debug.AspNetCompiler.Debug = "True"
@@ -139,10 +133,6 @@ Global
                {87C25D4E-8D19-4513-B0BA-BC668BC2DEE3}.Debug|Win32.Build.0 = Debug|Win32
                {87C25D4E-8D19-4513-B0BA-BC668BC2DEE3}.Release|Win32.ActiveCfg = Release|Win32
                {87C25D4E-8D19-4513-B0BA-BC668BC2DEE3}.Release|Win32.Build.0 = Release|Win32
-               {D341DCD8-7DCD-43A2-8559-C07DAB838711}.Debug|Win32.ActiveCfg = Debug|Win32
-               {D341DCD8-7DCD-43A2-8559-C07DAB838711}.Debug|Win32.Build.0 = Debug|Win32
-               {D341DCD8-7DCD-43A2-8559-C07DAB838711}.Release|Win32.ActiveCfg = Release|Win32
-               {D341DCD8-7DCD-43A2-8559-C07DAB838711}.Release|Win32.Build.0 = Release|Win32
                {D243B43E-728E-4F32-BDFF-B3A897037C6D}.Debug|Win32.ActiveCfg = Debug|Win32
                {D243B43E-728E-4F32-BDFF-B3A897037C6D}.Debug|Win32.Build.0 = Debug|Win32
                {D243B43E-728E-4F32-BDFF-B3A897037C6D}.Release|Win32.ActiveCfg = Release|Win32
@@ -201,7 +191,6 @@ Global
                {1396D80A-8672-4224-9B02-95F3F4207CDB} = {26BA8F84-6E42-41FA-9B13-5D3F4B5B2050}
                {B44C0852-83B8-4FB2-A86E-097C9C8256D0} = {26BA8F84-6E42-41FA-9B13-5D3F4B5B2050}
                {87C25D4E-8D19-4513-B0BA-BC668BC2DEE3} = {26BA8F84-6E42-41FA-9B13-5D3F4B5B2050}
-               {D341DCD8-7DCD-43A2-8559-C07DAB838711} = {96AE4FC9-45EF-4C18-9F3B-EDA439E26E4C}
                {666A63A7-983F-4C19-8411-207F24305197} = {96AE4FC9-45EF-4C18-9F3B-EDA439E26E4C}
                {26D4FABF-ACDE-4947-9C4A-7AE1B50CD83A} = {96AE4FC9-45EF-4C18-9F3B-EDA439E26E4C}
                {26D4FABF-ACDE-4947-9C4A-7AE1B50CD83B} = {96AE4FC9-45EF-4C18-9F3B-EDA439E26E4C}
diff --git a/isapi_shib_gui/GUIDs.h b/isapi_shib_gui/GUIDs.h
deleted file mode 100644 (file)
index 34e6743..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-// {4DC08CD0-7141-4715-A1E6-A11E5FF231D6}
-DEFINE_GUID(CLSID_Shib_PropSheet, 
-0x4dc08cd0, 0x7141, 0x4715, 0xa1, 0xe6, 0xa1, 0x1e, 0x5f, 0xf2, 0x31, 0xd6);
-
-#define PBC_EXTENDER_NODES \
-       {{PropertySheetExtension,\
-    {0xa841b6c9, 0x7577, 0x11d0, { 0xbb, 0x1f, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x9c}},\
-       {0x4dc08cd0, 0x7141, 0x4715, { 0xa1, 0xe6, 0xa1, 0x1e, 0x5f, 0xf2, 0x31, 0xd6}},\
-    _T("Shibboleth Directives")},\
-\
-       {PropertySheetExtension,\
-    {0xa841b6c8, 0x7577, 0x11d0, { 0xbb, 0x1f, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x9c}},\
-       {0x4dc08cd0, 0x7141, 0x4715, { 0xa1, 0xe6, 0xa1, 0x1e, 0x5f, 0xf2, 0x31, 0xd6}},\
-    _T("Shibboleth Directives")},\
-\
-       {PropertySheetExtension,\
-    {0xa841b6c7, 0x7577, 0x11d0, { 0xbb, 0x1f, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x9c}},\
-       {0x4dc08cd0, 0x7141, 0x4715, { 0xa1, 0xe6, 0xa1, 0x1e, 0x5f, 0xf2, 0x31, 0xd6}},\
-    _T("Shibboleth Directives")},\
-\
-       {DummyExtension,\
-    NULL,\
-    NULL,\
-    NULL}}
\ No newline at end of file
diff --git a/isapi_shib_gui/Shib_PropSheet.cpp b/isapi_shib_gui/Shib_PropSheet.cpp
deleted file mode 100644 (file)
index 2d1eac1..0000000
+++ /dev/null
@@ -1,467 +0,0 @@
-#include <windows.h>
-#include "Shib_PropSheet.h"
-#include <crtdbg.h>
-#include <string>
-#include <tchar.h>
-#include <strsafe.h>
-#include "resource.h"
-#include "globals.h"
-#include "atou.h"
-using namespace std;
-
-       
-void Shib_PropSheet::ReplaceSlashes(string& buf)
-{
-       size_t p=0;
-
-       while ((p = buf.find('/',p)) != string::npos) {
-               buf.at(p) = '\\';
-               p++;
-       }
-}
-
-Shib_PropSheet::Shib_PropSheet() : m_cref(0)
-{
-       for (int i=0;i<NUM_DIRECTIVES;i++) {
-               directive[i].Init_Directive(i);
-       }
-
-       pwzService=NULL;
-       pwzParentPath=NULL;
-       pwzNode=NULL;
-       pwzMetaPath=NULL;
-       pwzMachineName=NULL;
-       pwzInstance=NULL;
-       pwzRegPath=NULL;
-       OBJECT_CREATED
-}
-
-
-Shib_PropSheet::~Shib_PropSheet()
-{
-       if ( pwzService )
-               ::LocalFree(pwzService); 
-       if ( pwzParentPath )
-               ::LocalFree(pwzParentPath);
-       if ( pwzNode )
-               ::LocalFree(pwzNode);
-       if ( pwzMetaPath )
-               ::LocalFree(pwzMetaPath);
-       if ( pwzMachineName )
-               ::LocalFree(pwzMachineName);
-       if ( pwzInstance )
-               ::LocalFree(pwzInstance);
-       if ( pwzRegPath )
-               ::LocalFree(pwzRegPath);
-       
-       OBJECT_DESTROYED
-}
-
-///////////////////////
-// IUnknown implementation
-///////////////////////
-
-STDMETHODIMP Shib_PropSheet::QueryInterface(REFIID riid, LPVOID *ppv)
-{
-       if (!ppv)
-               return E_FAIL;
-       
-       *ppv = NULL;
-       
-       if (IsEqualIID(riid, IID_IUnknown))
-               *ppv = static_cast<IExtendPropertySheet *>(this);
-       else if (IsEqualIID(riid, IID_IExtendPropertySheet))
-               *ppv = static_cast<IExtendPropertySheet *>(this);
-       
-       if (*ppv) 
-       {
-               reinterpret_cast<IUnknown *>(*ppv)->AddRef();
-               return S_OK;
-       }
-       
-       return E_NOINTERFACE;
-}
-
-STDMETHODIMP_(ULONG) Shib_PropSheet::AddRef()
-{
-       return InterlockedIncrement((LONG *)&m_cref);
-}
-
-STDMETHODIMP_(ULONG) Shib_PropSheet::Release()
-{
-       if (InterlockedDecrement((LONG *)&m_cref) == 0)
-       {
-               // we need to decrement our object count in the DLL
-               delete this;
-               return 0;
-       }
-       
-       return m_cref;
-}
-
-HRESULT Shib_PropSheet::ExtractData( IDataObject* piDataObject,
-                                                                       CLIPFORMAT   cfClipFormat,
-                                                                       BYTE*        pbData,
-                                                                       DWORD        cbData )
-{
-       HRESULT hr = S_OK;
-       
-       FORMATETC formatetc = {cfClipFormat, NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL};
-       STGMEDIUM stgmedium = {TYMED_HGLOBAL, NULL};
-       
-       stgmedium.hGlobal = ::GlobalAlloc(GPTR, cbData);
-       do 
-       {
-               if (NULL == stgmedium.hGlobal)
-               {
-                       hr = E_OUTOFMEMORY;
-                       break;
-               }
-               hr = piDataObject->GetDataHere( &formatetc, &stgmedium );
-               if ( FAILED(hr) )
-               {
-                       break;
-               }
-               
-               BYTE* pbNewData = reinterpret_cast<BYTE*>(stgmedium.hGlobal);
-               if (NULL == pbNewData)
-               {
-                       hr = E_UNEXPECTED;
-                       break;
-               }
-               ::memcpy( pbData, pbNewData, cbData );
-       } while (FALSE); 
-       
-       if (NULL != stgmedium.hGlobal)
-       {
-               ::GlobalFree(stgmedium.hGlobal);
-       }
-       return hr;
-} 
-
-
-void Shib_PropSheet::PopulateComboBox()
-{
-       
-       for (int i = 0; i <  NUM_DIRECTIVES; i++)
-       {       
-               LRESULT index = SendMessage(hProps, CB_ADDSTRING, 0, (LPARAM) (LPWSTR) directive[i].name.c_str());
-               LRESULT debug = SendMessage(hProps, CB_SETITEMDATA, (WPARAM)index, (LPARAM)i );
-       }
-       
-       LRESULT debug = SendMessage(hProps, CB_SETCURSEL, 0, 0);        // wparam = index, lparam = not used
-       
-}
-
-BOOL Shib_PropSheet::UpdateNewValue() {
-       _TCHAR value[MAX_REG_BUFF];
-       
-       DWORD index = SendMessage(hProps, CB_GETCURSEL, 0,0); 
-       UINT i = SendMessage(hProps, CB_GETITEMDATA, (WPARAM)index, 0 );
-       
-       if (directive[i].type == D_BOUND_INT || directive[i].type == D_BOUND_STRING) {
-               index = SendMessage(hValueBox, CB_GETCURSEL, 0,0); 
-               if (index == CB_ERR) { return FALSE; }
-               LRESULT debug = SendMessage(hValueBox, CB_GETLBTEXT, (WPARAM)index, (LPARAM)value );
-       } else {
-               LRESULT debug = SendMessage(hValueEdit, WM_GETTEXT, (WPARAM)MAX_REG_BUFF, (LPARAM)value );
-       }
-       
-       directive[i].new_value = value;
-       if (!_tcsicmp(directive[i].value.c_str(),value)) {
-               return FALSE;
-       } else {
-               return TRUE;
-       }
-}
-
-void Shib_PropSheet::GetHandles() {
-       hValueBox       = GetDlgItem(hwndDlg, IDC_ValueBox);
-       hValueEdit      = GetDlgItem(hwndDlg, IDC_ValueEdit);
-       hInheritedFrom  = GetDlgItem(hwndDlg, IDC_InheritedFrom);
-       hMoreInfo       = GetDlgItem(hwndDlg, IDC_MoreInfo);
-       hProps          = GetDlgItem(hwndDlg, IDC_PROPS);
-       hDelete         = GetDlgItem(hwndDlg, IDC_Delete);
-}
-
-void Shib_PropSheet::PopulatePage() {
-       
-       DWORD index = SendMessage(hProps, CB_GETCURSEL, 0,0); 
-       LRESULT i = SendMessage(hProps, CB_GETITEMDATA, (WPARAM)index, 0 );
-       
-       Set_Delete_Button(i);
-
-       if (directive[i].type == D_BOUND_INT || directive[i].type == D_BOUND_STRING) {
-               ShowWindow(hValueEdit,SW_HIDE);
-               ShowWindow(hValueBox,SW_SHOW);
-               SendMessage(hValueBox,CB_RESETCONTENT,0,0);
-               for(int vi=0;vi < NUM_BOUND_VAL;vi++) {
-                       if (directive[i].bound_val[vi].length()) {
-                               LRESULT index = SendMessage(hValueBox, CB_INSERTSTRING, -1, (LPARAM) (LPWSTR) directive[i].bound_val[vi].c_str());
-                       }
-               }
-               
-               SendMessage(hValueBox, WM_SETTEXT, 0, (LPARAM) directive[i].new_value.c_str());
-       } else {
-               ShowWindow(hValueEdit,SW_SHOW);
-               ShowWindow(hValueBox,SW_HIDE);
-               SendMessage(hValueEdit, WM_SETTEXT, 0, (LPARAM) directive[i].new_value.c_str());
-       }
-       
-       SendMessage(hMoreInfo, WM_SETTEXT, 0, (LPARAM) directive[i].description.c_str());
-       SendMessage(hInheritedFrom, WM_SETTEXT, 0, (LPARAM) directive[i].defined_in.c_str());
-       
-}
-
-void Shib_PropSheet::DeleteValue() {
-
-       DWORD index = SendMessage(hProps, CB_GETCURSEL, 0,0); 
-       LRESULT i = SendMessage(hProps, CB_GETITEMDATA, (WPARAM)index, 0 );
-
-       directive[i].DeleteValue();
-
-}
-
-void Shib_PropSheet::SetupPropSheet() {
-
-       GetHandles();
-       ReadCurrentValues();
-       PopulateComboBox();     
-       PopulatePage();
-
-}
-
-BOOL CALLBACK Shib_PropSheet::DialogProc(
-                                                                                HWND hwndDlg,  // handle to dialog box
-                                                                                UINT uMsg,     // message
-                                                                                WPARAM wParam, // first message parameter
-                                                                                LPARAM lParam  // second message parameter
-                                                                                )
-{
-       
-       if (uMsg == WM_INITDIALOG) {
-               Shib_PropSheet *pThis=reinterpret_cast<Shib_PropSheet *>(reinterpret_cast<PROPSHEETPAGE *>(lParam)->lParam);
-               pThis->hwndDlg=hwndDlg;                              //store property page handle in class
-               SetWindowLongPtr(hwndDlg,DWLP_USER,(LONG_PTR)pThis); //store class pointer in property page
-               pThis->SetupPropSheet();
-       } else { 
-               Shib_PropSheet *pThis = reinterpret_cast<Shib_PropSheet *>(reinterpret_cast<PROPSHEETPAGE *>(GetWindowLongPtr(hwndDlg,DWLP_USER)));  //retrieve class pointer from property page
-               switch (uMsg) {
-               case WM_COMMAND:
-                       if (HIWORD(wParam) == EN_CHANGE || HIWORD(wParam) == CBN_SELCHANGE) {
-                               if ((HWND)lParam == GetDlgItem(hwndDlg,IDC_PROPS)) {  //if the user changes directives
-                                       pThis->PopulatePage();  //redraw page
-                               } else {
-                                       if (pThis->UpdateNewValue()) {
-                                               //if anything else changes, light the apply button
-                                               SendMessage(GetParent(hwndDlg), PSM_CHANGED, (WPARAM)hwndDlg, 0); 
-                                       }
-                               }
-                       }
-                       if (wParam == IDC_Delete) { 
-                               pThis->DeleteValue();
-                               pThis->PopulatePage();
-                               SendMessage(GetParent(hwndDlg), PSM_CHANGED, (WPARAM)hwndDlg, 0); //light apply
-                       } else if (wParam == IDC_Refresh) {
-                               pThis->ReadCurrentValues(); //refresh values
-                               pThis->PopulatePage();      //refresh page
-                       }
-                       break;
-                       
-               case WM_DESTROY:
-                       break;
-                       
-               case WM_NOTIFY:
-                       switch (((NMHDR *) lParam)->code) {
-                       case PSN_APPLY:
-                               pThis->UpdateNewValue();    //collect last-minute changes
-                               pThis->WriteValues();       //write new values
-                               pThis->ReadCurrentValues(); //refresh values
-                               pThis->PopulatePage();      //refresh page
-                               return PSNRET_NOERROR;
-                       }
-                       break;
-               }
-       }
-       return FALSE;  //Seems to not fall through to parent page if you use DefWindowProc
-       //return DefWindowProc(hwndDlg, uMsg, wParam, lParam);
-}
-
-///////////////////////////////
-// Interface IExtendPropertySheet
-///////////////////////////////
-HRESULT Shib_PropSheet::CreatePropertyPages( 
-                                                                                       /* [in] */ LPPROPERTYSHEETCALLBACK lpProvider,
-                                                                                       /* [in] */ LONG_PTR handle,
-                                                                                       /* [in] */ LPDATAOBJECT lpIDataObject)
-{
-       PROPSHEETPAGE psp;
-       HPROPSHEETPAGE hPage = NULL;
-       
-       // cache this handle so we can call MMCPropertyChangeNotify
-       m_ppHandle = handle;
-       
-       UINT s_cfInstance =
-               RegisterClipboardFormat(_T("ISM_SNAPIN_INSTANCE"));
-       UINT s_cfMachineName =
-               RegisterClipboardFormat(_T("ISM_SNAPIN_MACHINE_NAME"));
-       UINT s_cfMetaPath =
-               RegisterClipboardFormat(_T("ISM_SNAPIN_META_PATH"));
-       UINT s_cfNode =
-               RegisterClipboardFormat(_T("ISM_SNAPIN_NODE"));
-       UINT s_cfParentPath =
-               RegisterClipboardFormat(_T("ISM_SNAPIN_PARENT_PATH"));
-       UINT s_cfService =
-               RegisterClipboardFormat(_T("ISM_SNAPIN_SERVICE"));
-       
-       if ( !lpProvider || !lpIDataObject )
-               return E_POINTER;
-       
-       HRESULT hr = S_OK;
-       
-       DWORD dwLength = MAX_PATH * sizeof(_TCHAR);
-       DWORD dwWLength = MAX_PATH * sizeof(wchar_t);
-       
-       LPWSTR pwztInstance = reinterpret_cast<LPWSTR>(::LocalAlloc(LPTR, dwWLength));
-       LPWSTR pwztMachineName = reinterpret_cast<LPWSTR>(::LocalAlloc(LPTR, dwWLength));
-       LPWSTR pwztMetaPath = reinterpret_cast<LPWSTR>(::LocalAlloc(LPTR, dwWLength));
-       LPWSTR pwztNode = reinterpret_cast<LPWSTR>(::LocalAlloc(LPTR, dwWLength));
-       LPWSTR pwztParentPath = reinterpret_cast<LPWSTR>(::LocalAlloc(LPTR, dwWLength));
-       LPWSTR pwztService = reinterpret_cast<LPWSTR>(::LocalAlloc(LPTR, dwWLength));
-
-       if ( pwztInstance )
-               Shib_PropSheet::ExtractWString(lpIDataObject, s_cfInstance, pwztInstance, dwLength);
-       if ( pwztMachineName )
-               Shib_PropSheet::ExtractWString(lpIDataObject, s_cfMachineName, pwztMachineName, dwLength);
-       if ( pwztMetaPath )
-               Shib_PropSheet::ExtractWString(lpIDataObject, s_cfMetaPath, pwztMetaPath, dwLength);
-       if ( pwztNode )
-               Shib_PropSheet::ExtractWString(lpIDataObject, s_cfNode, pwztNode, dwLength);
-       if ( pwztParentPath )
-               Shib_PropSheet::ExtractWString(lpIDataObject, s_cfParentPath, pwztParentPath, dwLength);
-       if ( pwztService )
-               Shib_PropSheet::ExtractWString(lpIDataObject, s_cfService, pwztService, dwLength);
-
-       /* IIS only supports Unicode clipboard formats */
-#ifdef _UNICODE
-       pwzInstance = pwztInstance;
-       pwzMachineName = pwztMachineName;
-       pwzMetaPath = pwztMetaPath;
-       pwzNode = pwztNode;
-       pwzParentPath = pwztParentPath;
-       pwzService = pwztService;
-#else
-       pwzInstance = reinterpret_cast<LPSTR>(::LocalAlloc(LPTR, dwLength));
-       pwzMachineName = reinterpret_cast<LPSTR>(::LocalAlloc(LPTR, dwLength));
-       pwzMetaPath = reinterpret_cast<LPSTR>(::LocalAlloc(LPTR, dwLength));
-       pwzNode = reinterpret_cast<LPSTR>(::LocalAlloc(LPTR, dwLength));
-       pwzParentPath = reinterpret_cast<LPSTR>(::LocalAlloc(LPTR, dwLength));
-       pwzService = reinterpret_cast<LPSTR>(::LocalAlloc(LPTR, dwLength));
-
-       UnicodeToAnsi(pwztInstance,&pwzInstance);
-       UnicodeToAnsi(pwztMachineName,&pwzMachineName);
-       UnicodeToAnsi(pwztMetaPath,&pwzMetaPath);
-       UnicodeToAnsi(pwztNode,&pwzNode);
-       UnicodeToAnsi(pwztParentPath,&pwzParentPath);
-       UnicodeToAnsi(pwztService,&pwzService);
-
-       if ( pwztService )
-               ::LocalFree(pwztService); 
-       if ( pwztParentPath )
-               ::LocalFree(pwztParentPath);
-       if ( pwztNode )
-               ::LocalFree(pwztNode);
-       if ( pwztMetaPath )
-               ::LocalFree(pwztMetaPath);
-       if ( pwztMachineName )
-               ::LocalFree(pwztMachineName);
-       if ( pwztInstance )
-               ::LocalFree(pwztInstance);
-
-#endif
-
-       for (int i=0;i<NUM_DIRECTIVES;i++) {
-               directive[i].MachineName = pwzMachineName; 
-       }
-       pwzRegPath = reinterpret_cast<LPTSTR>(::LocalAlloc(LPTR, (dwLength*2)+1));
-       
-       LPTSTR ppath = _tcschr(pwzParentPath,_T('/'));
-       if (ppath) {
-               StringCbCopy(pwzRegPath, MAX_PATH*2 ,ppath+1);
-               StringCbCat (pwzRegPath, MAX_PATH*2 ,_T("/"));
-       } else {
-               pwzRegPath[0] = 0;
-       }
-       StringCbCat(pwzRegPath, MAX_PATH*2 ,pwzNode);
-       
-       psp.dwSize = sizeof(PROPSHEETPAGE);
-       psp.dwFlags = PSP_DEFAULT | PSP_USETITLE | PSP_USEICONID;
-       psp.hInstance = g_hinst;
-       psp.pszTemplate = MAKEINTRESOURCE(IDD_PROPPAGE);
-       psp.pfnDlgProc = DialogProc;
-       psp.lParam = reinterpret_cast<LPARAM>(this);
-       psp.pszTitle = MAKEINTRESOURCE(IDS_PST_TAB_NAME);
-       
-       hPage = CreatePropertySheetPage(&psp);
-       _ASSERT(hPage);
-       
-       hr = lpProvider->AddPage(hPage);
-       
-       return hr;
-}
-
-HRESULT Shib_PropSheet::QueryPagesFor( 
-                                                                         /* [in] */ LPDATAOBJECT lpDataObject)
-{
-       return S_OK;
-}
-
-void Shib_PropSheet::Set_Delete_Button(int i) {
-
-       if (!_tcsicmp((directive[i].defined_in.c_str() + 1),pwzRegPath)) {
-               EnableWindow(hDelete,TRUE);
-       } else {
-               EnableWindow(hDelete,FALSE);
-       }
-}
-
-void Shib_PropSheet::ReadSelectedValue() {
-
-       DWORD index = SendMessage(hProps, CB_GETCURSEL, 0,0); 
-       unsigned int i = SendMessage(hProps, CB_GETITEMDATA, (WPARAM)index, 0 );
-       directive[i].Set_Path(pwzRegPath);
-       directive[i].new_value = directive[i].value;
-
-}
-
-void Shib_PropSheet::ReadCurrentValues() {
-
-       for (int i=0;i<NUM_DIRECTIVES;i++) {
-               directive[i].Set_Path(pwzRegPath);
-               directive[i].new_value = directive[i].value;
-       }
-}
-
-
-void Shib_PropSheet::WriteValues() {
-       string RegPath;
-
-       RegPath = _T(SHIB_DEFAULT_WEB_KEY);
-
-       if  (_tcslen(pwzRegPath)) {
-               RegPath += _T("\\");
-               RegPath += pwzRegPath;
-               ReplaceSlashes(RegPath);
-       } 
-       
-       for (int i=0;i<NUM_DIRECTIVES;i++) {
-               if (_tcscmp(STR_PENDING_DELETION,directive[i].new_value.c_str())){
-                       if (_tcsicmp(directive[i].value.c_str(),directive[i].new_value.c_str())) {
-                               directive[i].WriteValue(RegPath);
-                       }
-               } else { // Commit Delete
-                       directive[i].DeleteRegVal(RegPath);
-               }
-       }
-}
-
diff --git a/isapi_shib_gui/Shib_PropSheet.h b/isapi_shib_gui/Shib_PropSheet.h
deleted file mode 100644 (file)
index 7592052..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-
-#ifndef _Shib_PropSheet
-#define _Shib_PropSheet
-
-#include <tchar.h>
-#include <mmc.h>
-#include <string>
-using namespace std;
-
-#define D_FREE_STRING 0
-#define D_FREE_INT 1
-#define D_BOUND_INT 2
-#define D_BOUND_STRING 3
-
-typedef _TCHAR pool;
-
-#define STR_THIS_WEB_INSTANCE L"(This web instance)"
-#define STR_SERVER_DEFAULT    L"(Server Default)"
-#define STR_PROGRAM_DEFAULT   L"(Program Default)"
-
-#include "directives.h"
-#include "directive_class.h"
-
-#define debug_break() MessageBox(NULL,L"Break",L"Break",MB_OK);
-
-class Shib_PropSheet : public IExtendPropertySheet
-{
-        
-public:
-    Shib_PropSheet();
-    ~Shib_PropSheet();
-
-       HWND hwndDlg;
-       LPTSTR pwzRegPath;
-       LPTSTR pwzMachineName;
-       Directive directive[NUM_DIRECTIVES];
-
-       void SetupPropSheet();
-       void PopulatePage();
-       BOOL UpdateNewValue();
-       void DeleteValue();
-       void GetHandles();
-
-       ///////////////////////////////
-    // Interface IUnknown
-    ///////////////////////////////
-    STDMETHODIMP QueryInterface(REFIID riid, LPVOID *ppv);
-    STDMETHODIMP_(ULONG) AddRef();
-    STDMETHODIMP_(ULONG) Release();
-    
-    ///////////////////////////////
-    // Interface IExtendPropertySheet
-    ///////////////////////////////
-    virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePropertyPages( 
-        /* [in] */ LPPROPERTYSHEETCALLBACK lpProvider,
-        /* [in] */ LONG_PTR handle,
-        /* [in] */ LPDATAOBJECT lpIDataObject);
-        
-    virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryPagesFor( 
-        /* [in] */ LPDATAOBJECT lpDataObject);
-
-    
-private:
-    LONG_PTR m_ppHandle;
-       LPTSTR pwzInstance;
-       LPTSTR pwzMetaPath;
-       LPTSTR pwzNode;
-       LPTSTR pwzParentPath;
-       LPTSTR pwzService;
-    pool   p[MAX_REG_BUFF];
-       string defined_in;
-       HWND hValueBox;      
-       HWND hValueEdit;
-       HWND hInheritedFrom;
-       HWND hMoreInfo;
-       HWND hProps;    
-       HWND hDelete;
-    ULONG                              m_cref;
-    
-       static BOOL CALLBACK DialogProc(HWND hwndDlg,  
-        UINT uMsg,     
-        WPARAM wParam, 
-        LPARAM lParam  
-        );
-   
-    void PopulateComboBox();
-       void WriteValues();
-       void GetEffectiveValue(int i);
-       void ReplaceSlashes(string& buf);
-       void ReadCurrentValues();
-       void DeleteRegVal(const _TCHAR* szKey, const _TCHAR* szValueName);
-       void Set_Delete_Button(int i);
-       void ReadSelectedValue();
-       void ReadValAsString(LPTSTR key, int i, LPCTSTR defined_in);
-
-    ///////////////////////////////
-    // Private IDataObject support bits
-    ///////////////////////////////
-    HRESULT ExtractData( IDataObject* piDataObject,
-        CLIPFORMAT   cfClipFormat,
-        BYTE*        pbData,
-        DWORD        cbData );
-    
-    HRESULT ExtractWString( IDataObject *piDataObject,
-        CLIPFORMAT   cfClipFormat,
-        WCHAR       *pstr,
-        DWORD        cchMaxLength)
-    {
-        return ExtractData( piDataObject, cfClipFormat, (PBYTE)pstr, cchMaxLength );
-    }
-    
-};
-
-
-#endif _Shib_PropSheet_H_
diff --git a/isapi_shib_gui/atou.cpp b/isapi_shib_gui/atou.cpp
deleted file mode 100644 (file)
index 70bbd57..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-//==============================================================;
-//
-//  This source code is only intended as a supplement to existing Microsoft documentation.
-//
-//
-//
-//
-//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
-//  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-//  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
-//  PURPOSE.
-//
-//  Copyright (C) 1999 - 2001 Microsoft Corporation.  All Rights Reserved.
-//
-//
-//
-//==============================================================;
-#include <Windows.h>
-/*
- * AnsiToUnicode converts the ANSI string pszA to a Unicode string
- * and returns the Unicode string through ppszW. Space for the
- * the converted string is allocated by AnsiToUnicode.
- */ 
-
-HRESULT __fastcall AnsiToUnicode(LPCSTR pszA, LPOLESTR* ppszW)
-{
-
-    ULONG cCharacters;
-    DWORD dwError;
-
-    // If input is null then just return the same.
-    if (NULL == pszA)
-    {
-        *ppszW = NULL;
-        return NOERROR;
-    }
-
-    // Determine number of wide characters to be allocated for the
-    // Unicode string.
-    cCharacters =  strlen(pszA)+1;
-
-    // Use of the OLE allocator is required if the resultant Unicode
-    // string will be passed to another COM component and if that
-    // component will free it. Otherwise you can use your own allocator.
-    *ppszW = (LPOLESTR) CoTaskMemAlloc(cCharacters*2);
-    if (NULL == *ppszW)
-        return E_OUTOFMEMORY;
-
-    // Covert to Unicode.
-    if (0 == MultiByteToWideChar(CP_ACP, 0, pszA, cCharacters,
-                  *ppszW, cCharacters))
-    {
-        dwError = GetLastError();
-        CoTaskMemFree(*ppszW);
-        *ppszW = NULL;
-        return HRESULT_FROM_WIN32(dwError);
-    }
-
-    return NOERROR;
-}
-
-/*
- * UnicodeToAnsi converts the Unicode string pszW to an ANSI string
- * and returns the ANSI string through ppszA. Space for the
- * the converted string is allocated by UnicodeToAnsi.
- */ 
-
-HRESULT __fastcall UnicodeToAnsi(LPCOLESTR pszW, LPSTR* ppszA)
-{
-
-    ULONG cbAnsi, cCharacters;
-    DWORD dwError;
-
-    // If input is null then just return the same.
-    if (pszW == NULL)
-    {
-        *ppszA = NULL;
-        return NOERROR;
-    }
-
-    cCharacters = wcslen(pszW)+1;
-    // Determine number of bytes to be allocated for ANSI string. An
-    // ANSI string can have at most 2 bytes per character (for Double
-    // Byte Character Strings.)
-    cbAnsi = cCharacters*2;
-
-    // Use of the OLE allocator is not required because the resultant
-    // ANSI  string will never be passed to another COM component. You
-    // can use your own allocator.
-    *ppszA = (LPSTR) CoTaskMemAlloc(cbAnsi);
-    if (NULL == *ppszA)
-        return E_OUTOFMEMORY;
-
-    // Convert to ANSI.
-    if (0 == WideCharToMultiByte(CP_ACP, 0, pszW, cCharacters, *ppszA,
-                  cbAnsi, NULL, NULL))
-    {
-        dwError = GetLastError();
-        CoTaskMemFree(*ppszA);
-        *ppszA = NULL;
-        return HRESULT_FROM_WIN32(dwError);
-    }
-    return NOERROR;
-
-}
\ No newline at end of file
diff --git a/isapi_shib_gui/atou.h b/isapi_shib_gui/atou.h
deleted file mode 100644 (file)
index 502891b..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-//==============================================================;
-//
-//  This source code is only intended as a supplement to existing Microsoft documentation.
-//
-//
-//
-//
-//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
-//  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-//  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
-//  PURPOSE.
-//
-//  Copyright (C) 1999 - 2001 Microsoft Corporation.  All Rights Reserved.
-//
-//
-//
-//==============================================================;
-/*
- * AnsiToUnicode converts the ANSI string pszA to a Unicode string
- * and returns the Unicode string through ppszW. Space for the
- * the converted string is allocated by AnsiToUnicode.
- */ 
-
-HRESULT __fastcall AnsiToUnicode(LPCSTR pszA, LPOLESTR* ppszW);
-
-/*
- * UnicodeToAnsi converts the Unicode string pszW to an ANSI string
- * and returns the ANSI string through ppszA. Space for the
- * the converted string is allocated by UnicodeToAnsi.
- */ 
-
-HRESULT __fastcall UnicodeToAnsi(LPCOLESTR pszW, LPSTR* ppszA);
diff --git a/isapi_shib_gui/basesnap.Cpp b/isapi_shib_gui/basesnap.Cpp
deleted file mode 100644 (file)
index 1e13eb8..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-//==============================================================;
-//
-//  This source code is only intended as a supplement to existing Microsoft documentation. 
-//
-// 
-//
-//
-//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
-//  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-//  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
-//  PURPOSE.
-//
-//  Copyright (C) 1999 - 2001 Microsoft Corporation.  All Rights Reserved.
-//
-//
-//
-//==============================================================;
-
-#include <objbase.h>
-#include <olectl.h>
-#include <initguid.h>
-#include "globals.h"
-#include "resource.h"
-#include "guids.h"
-#include "basesnap.h"
-#include "Shib_PropSheet.h"
-#include "Registry.h"
-#include "Extend.h"
-
-// our globals
-HINSTANCE g_hinst;
-
-
-BOOL WINAPI DllMain(HINSTANCE hinstDLL, 
-                    DWORD fdwReason, 
-                    void* lpvReserved)
-{
-    
-    if (fdwReason == DLL_PROCESS_ATTACH) {
-        g_hinst = hinstDLL;
-    }
-    
-    return TRUE;
-}
-
-
-STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppvObj)
-{
-    if (rclsid != CLSID_Shib_PropSheet)
-        return CLASS_E_CLASSNOTAVAILABLE;
-    
-    
-    if (!ppvObj)
-        return E_FAIL;
-    
-    *ppvObj = NULL;
-    
-    // We can only hand out IUnknown and IClassFactory pointers.  Fail
-    // if they ask for anything else.
-    if (!IsEqualIID(riid, IID_IUnknown) && !IsEqualIID(riid, IID_IClassFactory))
-        return E_NOINTERFACE;
-    
-    CClassFactory *pFactory = NULL;
-    
-    // make the factory passing in the creation function for the type of object they want
-    if (rclsid == CLSID_Shib_PropSheet)
-        pFactory = new CClassFactory(CClassFactory::CONTEXTEXTENSION);
-    
-    if (NULL == pFactory)
-        return E_OUTOFMEMORY;
-    
-    HRESULT hr = pFactory->QueryInterface(riid, ppvObj);
-    
-    return hr;
-}
-
-STDAPI DllCanUnloadNow(void)
-{
-    if (g_uObjects == 0 && g_uSrvLock == 0)
-        return S_OK;
-    else
-        return S_FALSE;
-}
-
-
-CClassFactory::CClassFactory(FACTORY_TYPE factoryType)
-: m_cref(0), m_factoryType(factoryType)
-{
-    OBJECT_CREATED
-}
-
-CClassFactory::~CClassFactory()
-{
-    OBJECT_DESTROYED
-}
-
-STDMETHODIMP CClassFactory::QueryInterface(REFIID riid, LPVOID *ppv)
-{
-    if (!ppv)
-        return E_FAIL;
-    
-    *ppv = NULL;
-    
-    if (IsEqualIID(riid, IID_IUnknown))
-        *ppv = static_cast<IClassFactory *>(this);
-    else
-        if (IsEqualIID(riid, IID_IClassFactory))
-            *ppv = static_cast<IClassFactory *>(this);
-        
-        if (*ppv)
-        {
-            reinterpret_cast<IUnknown *>(*ppv)->AddRef();
-            return S_OK;
-        }
-        
-        return E_NOINTERFACE;
-}
-
-STDMETHODIMP_(ULONG) CClassFactory::AddRef()
-{
-    return InterlockedIncrement((LONG *)&m_cref);
-}
-
-STDMETHODIMP_(ULONG) CClassFactory::Release()
-{
-    if (InterlockedDecrement((LONG *)&m_cref) == 0)
-    {
-        delete this;
-        return 0;
-    }
-    return m_cref;
-}
-
-STDMETHODIMP CClassFactory::CreateInstance(LPUNKNOWN pUnkOuter, REFIID riid, LPVOID * ppvObj)
-{
-    HRESULT  hr;
-    void* pObj;
-    
-    if (!ppvObj)
-        return E_FAIL;
-    
-    *ppvObj = NULL;
-    
-    // Our object does does not support aggregation, so we need to
-    // fail if they ask us to do aggregation.
-    if (pUnkOuter)
-        return CLASS_E_NOAGGREGATION;
-    pObj = new Shib_PropSheet();
-   
-    if (!pObj)
-        return E_OUTOFMEMORY;
-    
-    // QueryInterface will do the AddRef() for us, so we do not
-    // do it in this function
-    hr = ((LPUNKNOWN)pObj)->QueryInterface(riid, ppvObj);
-    
-    if (FAILED(hr))
-        delete pObj;
-    
-    return hr;
-}
-
-STDMETHODIMP CClassFactory::LockServer(BOOL fLock)
-{
-    if (fLock)
-        InterlockedIncrement((LONG *)&g_uSrvLock);
-    else
-        InterlockedDecrement((LONG *)&g_uSrvLock);
-    
-    return S_OK;
-}
-
-//////////////////////////////////////////////////////////
-//
-// Exported functions
-//
-
-
-//
-// Server registration
-//
-STDAPI DllRegisterServer()
-{
-    HRESULT hr = SELFREG_E_CLASS;
-    
-    _TCHAR szName[256];
-    _TCHAR szSnapInName[256];
-    
-    LoadString(g_hinst, IDS_NAME, szName, (sizeof szName)/(sizeof szName[0]));
-    LoadString(g_hinst, IDS_SNAPINNAME, szSnapInName, (sizeof szSnapInName)/(sizeof szSnapInName[0]));
-    
- /*   _TCHAR szAboutName[256];
-    
-    LoadString(g_hinst, IDS_ABOUTNAME, szAboutName, (sizeof szAboutName)/(sizeof szAboutName[0]));
-   */ 
-    
-    // register our CoClasses
-    hr = RegisterServer(g_hinst, 
-        CLSID_Shib_PropSheet, 
-        szName);
-     
-    // place the registry information for SnapIns
-    if SUCCEEDED(hr)
-        hr = RegisterSnapin(CLSID_Shib_PropSheet, szSnapInName);
-    
-    return hr;
-}
-
-
-STDAPI DllUnregisterServer()
-{
-    if (UnregisterServer(CLSID_Shib_PropSheet) == S_OK)
-        return UnregisterSnapin(CLSID_Shib_PropSheet);
-    else
-        return E_FAIL;
-}
-
diff --git a/isapi_shib_gui/basesnap.Def b/isapi_shib_gui/basesnap.Def
deleted file mode 100644 (file)
index 88ae31e..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-
-EXPORTS
-       DllGetClassObject   PRIVATE
-       DllCanUnloadNow     PRIVATE
-       DllRegisterServer       PRIVATE
-       DllUnregisterServer     PRIVATE
diff --git a/isapi_shib_gui/basesnap.h b/isapi_shib_gui/basesnap.h
deleted file mode 100644 (file)
index 1076e3b..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-//==============================================================;
-//
-//  This source code is only intended as a supplement to existing Microsoft documentation. 
-//
-// 
-//
-//
-//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
-//  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-//  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
-//  PURPOSE.
-//
-//  Copyright (C) 1999 - 2001 Microsoft Corporation.  All Rights Reserved.
-//
-//
-//
-//==============================================================;
-#ifndef _BASESNAP_H_
-#define _BASESNAP_H_
-
-STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppvObj);
-STDAPI DllCanUnloadNow(void);
-
-ULONG g_uObjects = 0;
-ULONG g_uSrvLock = 0;
-
-class CClassFactory : public IClassFactory
-{
-private:
-    ULONG      m_cref;
-    
-public:
-    enum FACTORY_TYPE {CONTEXTEXTENSION = 0, ABOUT = 1};
-    
-    CClassFactory(FACTORY_TYPE factoryType);
-    ~CClassFactory();
-    
-    STDMETHODIMP QueryInterface(REFIID riid, LPVOID *ppv);
-    STDMETHODIMP_(ULONG) AddRef();
-    STDMETHODIMP_(ULONG) Release();
-    
-    STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID *);
-    STDMETHODIMP LockServer(BOOL);
-    
-private:
-    FACTORY_TYPE m_factoryType;
-};
-
-#endif _BASESNAP_H_
diff --git a/isapi_shib_gui/extend.h b/isapi_shib_gui/extend.h
deleted file mode 100644 (file)
index be98fc1..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-//==============================================================;
-//
-//     This source code is only intended as a supplement to 
-//  existing Microsoft documentation. 
-//
-// 
-//
-//
-//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
-//  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-//  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
-//  PURPOSE.
-//
-//  Copyright (C) 1999 - 2001 Microsoft Corporation.  All Rights Reserved.
-//
-//
-//
-//==============================================================;
-
-#ifndef _EXTEND_H
-#define _EXTEND_H
-
-struct EXTENSION_NODE
-{
-    GUID       GUID;
-    _TCHAR     szDescription[256];
-};
-
-enum EXTENSION_TYPE
-{
-    NameSpaceExtension,
-        ContextMenuExtension, 
-        ToolBarExtension,
-        PropertySheetExtension,
-        TaskExtension,
-        DynamicExtension,
-        DummyExtension
-};
-
-struct EXTENDER_NODE
-{
-    EXTENSION_TYPE     eType;
-    GUID                       guidNode;
-    GUID                       guidExtension;
-    _TCHAR                     szDescription[256];
-};
-
-#endif // _EXTEND_H
-
-
diff --git a/isapi_shib_gui/globals.h b/isapi_shib_gui/globals.h
deleted file mode 100644 (file)
index 0a0e3a0..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-//==============================================================;
-//
-//  This source code is only intended as a supplement to existing Microsoft documentation.
-//
-//
-//
-//
-//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
-//  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-//  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
-//  PURPOSE.
-//
-//  Copyright (C) 1999 - 2001 Microsoft Corporation.  All Rights Reserved.
-//
-//
-//
-//==============================================================;
-
-#ifndef _MMC_GLOBALS_H
-#define _MMC_GLOBALS_H
-
-#include <tchar.h>
-
-#ifndef STRINGS_ONLY
-        #define IDM_BUTTON1    0x100
-        #define IDM_BUTTON2    0x101
-
-        extern HINSTANCE g_hinst;
-        extern ULONG g_uObjects;
-
-        #define OBJECT_CREATED InterlockedIncrement((long *)&g_uObjects);
-        #define OBJECT_DESTROYED InterlockedDecrement((long *)&g_uObjects);
-
-#endif
-
-//=--------------------------------------------------------------------------=
-// allocates a temporary buffer that will disappear when it goes out of scope
-// NOTE: be careful of that -- make sure you use the string in the same or
-// nested scope in which you created this buffer. people should not use this
-// class directly.  use the macro(s) below.
-//
-class TempBuffer {
-  public:
-    TempBuffer(ULONG cBytes) {
-        m_pBuf = (cBytes <= 120) ? &m_szTmpBuf : HeapAlloc(GetProcessHeap(), 0, cBytes);
-        m_fHeapAlloc = (cBytes > 120);
-    }
-    ~TempBuffer() {
-        if (m_pBuf && m_fHeapAlloc) HeapFree(GetProcessHeap(), 0, m_pBuf);
-    }
-    void *GetBuffer() {
-        return m_pBuf;
-    }
-
-  private:
-    void *m_pBuf;
-    // we'll use this temp buffer for small cases.
-    //
-    char  m_szTmpBuf[120];
-    unsigned m_fHeapAlloc:1;
-};
-
-//=--------------------------------------------------------------------------=
-// string helpers.
-//
-// given a _TCHAR, copy it into a wide buffer.
-// be careful about scoping when using this macro!
-//
-// how to use the below two macros:
-//
-//  ...
-//  LPTSTR pszT;
-//  pszT = MyGetTStringRoutine();
-//  MAKE_WIDEPTR_FROMSTR(pwsz, pszT);
-//  MyUseWideStringRoutine(pwsz);
-//  ...
-#ifdef UNICODE
-#define MAKE_WIDEPTR_FROMTSTR(ptrname, tstr) \
-    long __l##ptrname = (lstrlenW(tstr) + 1) * sizeof(WCHAR); \
-    TempBuffer __TempBuffer##ptrname(__l##ptrname); \
-    lstrcpyW((LPWSTR)__TempBuffer##ptrname.GetBuffer(), tstr); \
-    LPWSTR ptrname = (LPWSTR)__TempBuffer##ptrname.GetBuffer()
-#else // ANSI
-#define MAKE_WIDEPTR_FROMTSTR(ptrname, tstr) \
-    long __cch##ptrname = (lstrlenA(tstr) + 1);\
-    long __l##ptrname = (lstrlenA(tstr) + 1) * sizeof(WCHAR); \
-    TempBuffer __TempBuffer##ptrname(__l##ptrname); \
-    MultiByteToWideChar(CP_ACP, 0, tstr, -1, (LPWSTR)__TempBuffer##ptrname.GetBuffer(), __cch##ptrname); \
-    LPWSTR ptrname = (LPWSTR)__TempBuffer##ptrname.GetBuffer()
-#endif
-
-#ifdef UNICODE
-#define MAKE_WIDEPTR_FROMTSTR_ALLOC(ptrname, tstr) \
-    long __l##ptrname = (lstrlenW(tstr) + 1) * sizeof(WCHAR); \
-    LPWSTR ptrname = (LPWSTR)CoTaskMemAlloc(__l##ptrname); \
-    lstrcpyW((LPWSTR)ptrname, tstr)
-#else // ANSI
-#define MAKE_WIDEPTR_FROMTSTR_ALLOC(ptrname, tstr) \
-    long __cch##ptrname = (lstrlenA(tstr) + 1);\
-    long __l##ptrname = (lstrlenA(tstr) + 1) * sizeof(WCHAR); \
-    LPWSTR ptrname = (LPWSTR)CoTaskMemAlloc(__l##ptrname); \
-    MultiByteToWideChar(CP_ACP, 0, tstr, -1, ptrname, __cch##ptrname)
-#endif
-
-//
-// similarily for MAKE_TSTRPTR_FROMWIDE.  note that the first param does not
-// have to be declared, and no clean up must be done.
-//
-// * 2 for DBCS handling in below length computation
-//
-#ifdef UNICODE
-#define MAKE_TSTRPTR_FROMWIDE(ptrname, widestr) \
-    long __l##ptrname = (wcslen(widestr) + 1) * 2 * sizeof(TCHAR); \
-    TempBuffer __TempBuffer##ptrname(__l##ptrname); \
-    lstrcpyW((LPTSTR)__TempBuffer##ptrname.GetBuffer(), widestr); \
-    LPTSTR ptrname = (LPTSTR)__TempBuffer##ptrname.GetBuffer()
-#else // ANSI
-#define MAKE_TSTRPTR_FROMWIDE(ptrname, widestr) \
-    long __l##ptrname = (wcslen(widestr) + 1) * 2 * sizeof(TCHAR); \
-    TempBuffer __TempBuffer##ptrname(__l##ptrname); \
-    WideCharToMultiByte(CP_ACP, 0, widestr, -1, (LPSTR)__TempBuffer##ptrname.GetBuffer(), __l##ptrname, NULL, NULL); \
-    LPTSTR ptrname = (LPTSTR)__TempBuffer##ptrname.GetBuffer()
-#endif
-
-#endif // _MMC_GLOBALS_H
diff --git a/isapi_shib_gui/isapi_gui.Rc b/isapi_shib_gui/isapi_gui.Rc
deleted file mode 100644 (file)
index 08dbd08..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.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
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE MOVEABLE PURE 
-BEGIN
-    "resource.h\0"
-END
-
-2 TEXTINCLUDE MOVEABLE PURE 
-BEGIN
-    "#include ""winres.h""\r\n"
-    "\0"
-END
-
-3 TEXTINCLUDE MOVEABLE PURE 
-BEGIN
-    "\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_PROPPAGE DIALOG DISCARDABLE  0, 0, 284, 215
-STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
-CAPTION "Property Page"
-FONT 8, "MS Sans Serif"
-BEGIN
-    GROUPBOX        "More Information",IDC_STATIC,3,130,275,81
-    COMBOBOX        IDC_PROPS,5,23,121,105,CBS_DROPDOWNLIST | CBS_SORT | 
-                    WS_VSCROLL | WS_TABSTOP
-    LTEXT           "Directive",IDC_NAME,5,6,116,11
-    LTEXT           "Value",IDC_STATIC,144,7,116,11
-    COMBOBOX        IDC_ValueBox,143,23,134,89,CBS_DROPDOWN | CBS_SORT | 
-                    WS_VSCROLL | WS_TABSTOP
-    LTEXT           "Static",IDC_MoreInfo,11,143,260,61
-    EDITTEXT        IDC_ValueEdit,143,23,134,14,ES_AUTOHSCROLL
-    LTEXT           "Static",IDC_InheritedFrom,146,73,130,31
-    LTEXT           "Inherited from:",IDC_InheritedFromStatic,143,58,116,11
-    PUSHBUTTON      "Remove value from this location",IDC_Delete,143,105,123,
-                    18,WS_DISABLED
-    PUSHBUTTON      "Refresh/reload current values",IDC_Refresh,12,105,113,
-                    18,NOT WS_VISIBLE
-END
-
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x17L
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904b0"
-        BEGIN
-            VALUE "Comments", "\0"
-            VALUE "CompanyName", "Internet 2\0"
-            VALUE "FileDescription", "Shibboleth GUI Snap-In for IIS console\0"
-            VALUE "FileVersion", "1, 0, 0, 1\0"
-            VALUE "InternalName", "\0"
-            VALUE "LegalCopyright", "Copyright (C) 2004\0"
-            VALUE "LegalTrademarks", "\0"
-            VALUE "OriginalFilename", "\0"
-            VALUE "PrivateBuild", "\0"
-            VALUE "ProductName", "Shibboleth\0"
-            VALUE "ProductVersion", "1, 0, 0, 1\0"
-            VALUE "SpecialBuild", "\0"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1200
-    END
-END
-
-#endif    // !_MAC
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE 
-BEGIN
-    IDS_NAME                "Shibboleth Directive Snap-in"
-    IDS_SNAPINNAME          "Shibboleth Directive Snap-in"
-    IDS_PST_TAB_NAME        "Shibboleth Directives"
-END
-
-#endif    // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
diff --git a/isapi_shib_gui/isapi_shib_gui.dsp b/isapi_shib_gui/isapi_shib_gui.dsp
deleted file mode 100644 (file)
index faa03e4..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-# Microsoft Developer Studio Project File - Name="isapi_shib_gui" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=isapi_shib_gui - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "isapi_shib_gui.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "isapi_shib_gui.mak" CFG="isapi_shib_gui - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "isapi_shib_gui - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "isapi_shib_gui - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "isapi_shib_gui - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "isapi_shib_gui___Win32_Release"
-# PROP BASE Intermediate_Dir "isapi_shib_gui___Win32_Release"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "isapi_shib_gui_EXPORTS" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\isapi_shib" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "isapi_shib_gui_EXPORTS" /FR /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo /o"Release/shib_gui.bsc"
-# ADD BSC32 /nologo /o"Release/shib_gui.bsc"
-LINK32=link.exe
-# ADD BASE LINK32 comctl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib mmc.lib /nologo /base:"0x13000000" /dll /machine:I386 /out:"Release/shib_gui.dll"
-# ADD LINK32 comctl32.lib mmc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /base:"0x13000000" /dll /machine:I386 /out:"Release/shib_gui.dll"
-# Begin Custom Build - Performing Registrations
-OutDir=.\Release
-TargetPath=.\Release\shib_gui.dll
-InputPath=.\Release\shib_gui.dll
-SOURCE="$(InputPath)"
-
-"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
-       regsvr32 /s /c "$(TargetPath)" 
-       echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" 
-       
-# End Custom Build
-
-!ELSEIF  "$(CFG)" == "isapi_shib_gui - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "isapi_shib_gui___Win32_Debug"
-# PROP BASE Intermediate_Dir "isapi_shib_gui___Win32_Debug"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I "..\isapi_shib" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /FR /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I "..\isapi_shib" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /FR /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo /o"debug/shib_gui.bsc"
-# ADD BSC32 /nologo /o"debug/shib_gui.bsc"
-LINK32=link.exe
-# ADD BASE LINK32 COMCTL32.LIB kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib mmc.lib /nologo /base:"0x13000000" /dll /debug /machine:I386 /out:"debug/shib_gui.dll"
-# ADD LINK32 COMCTL32.LIB mmc.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /base:"0x13000000" /dll /debug /machine:I386 /out:"debug/shib_gui.dll"
-# Begin Custom Build - Performing Registrations
-OutDir=.\Debug
-TargetPath=.\debug\shib_gui.dll
-InputPath=.\debug\shib_gui.dll
-SOURCE="$(InputPath)"
-
-"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
-       regsvr32 /s /c "$(TargetPath)" 
-       echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" 
-       
-# End Custom Build
-
-!ENDIF 
-
-# Begin Target
-
-# Name "isapi_shib_gui - Win32 Release"
-# Name "isapi_shib_gui - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\atou.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\basesnap.Cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\registry.Cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\Shib_PropSheet.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\atou.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\basesnap.Def
-# End Source File
-# Begin Source File
-
-SOURCE=.\basesnap.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\isapi_shib\directive_class.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\isapi_shib\directives.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\GUIDs.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Shib_PropSheet.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# Begin Source File
-
-SOURCE=.\isapi_gui.Rc
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/isapi_shib_gui/isapi_shib_gui.vcproj b/isapi_shib_gui/isapi_shib_gui.vcproj
deleted file mode 100644 (file)
index d4efa40..0000000
+++ /dev/null
@@ -1,374 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="8.00"
-       Name="isapi_shib_gui"
-       ProjectGUID="{D341DCD8-7DCD-43A2-8559-C07DAB838711}"
-       >
-       <Platforms>
-               <Platform
-                       Name="Win32"
-               />
-       </Platforms>
-       <ToolFiles>
-       </ToolFiles>
-       <Configurations>
-               <Configuration
-                       Name="Debug|Win32"
-                       OutputDirectory=".\Debug"
-                       IntermediateDirectory=".\Debug"
-                       ConfigurationType="2"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="false"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                               Description="Performing Registrations"
-                               CommandLine="regsvr32 /s /c &quot;$(TargetPath)&quot;&#x0D;&#x0A;echo regsvr32 exec. time &gt; &quot;$(OutDir)\regsvr32.trg&quot;&#x0D;&#x0A;"
-                               Outputs="$(OutDir)\regsvr32.trg"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               MkTypLibCompatible="true"
-                               SuppressStartupBanner="true"
-                               TargetEnvironment="1"
-                               TypeLibraryName=".\Debug/isapi_shib_gui.tlb"
-                               HeaderFileName=""
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               AdditionalIncludeDirectories="..\isapi_shib"
-                               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL"
-                               RuntimeLibrary="1"
-                               RuntimeTypeInfo="true"
-                               PrecompiledHeaderFile=".\Debug/isapi_shib_gui.pch"
-                               AssemblerListingLocation=".\Debug/"
-                               ObjectFile=".\Debug/"
-                               ProgramDataBaseFileName=".\Debug/"
-                               BrowseInformation="1"
-                               WarningLevel="3"
-                               SuppressStartupBanner="true"
-                               Detect64BitPortabilityProblems="true"
-                               DebugInformationFormat="4"
-                               CompileAs="0"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               Culture="1033"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalDependencies="COMCTL32.LIB mmc.lib odbc32.lib odbccp32.lib"
-                               OutputFile="debug/shib_gui.dll"
-                               LinkIncremental="2"
-                               SuppressStartupBanner="true"
-                               ModuleDefinitionFile=".\basesnap.Def"
-                               GenerateDebugInformation="true"
-                               BaseAddress="0x13000000"
-                               ImportLibrary=".\Debug/shib_gui.lib"
-                               TargetMachine="1"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCManifestTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCAppVerifierTool"
-                       />
-                       <Tool
-                               Name="VCWebDeploymentTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Release|Win32"
-                       OutputDirectory=".\Release"
-                       IntermediateDirectory=".\Release"
-                       ConfigurationType="2"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="false"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                               Description="Performing Registrations"
-                               CommandLine="regsvr32 /s /c &quot;$(TargetPath)&quot;&#x0D;&#x0A;echo regsvr32 exec. time &gt; &quot;$(OutDir)\regsvr32.trg&quot;&#x0D;&#x0A;"
-                               Outputs="$(OutDir)\regsvr32.trg"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               MkTypLibCompatible="true"
-                               SuppressStartupBanner="true"
-                               TargetEnvironment="1"
-                               TypeLibraryName=".\Release/isapi_shib_gui.tlb"
-                               HeaderFileName=""
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="2"
-                               InlineFunctionExpansion="1"
-                               AdditionalIncludeDirectories="..\isapi_shib"
-                               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;isapi_shib_gui_EXPORTS"
-                               StringPooling="true"
-                               RuntimeLibrary="0"
-                               EnableFunctionLevelLinking="true"
-                               PrecompiledHeaderFile=".\Release/isapi_shib_gui.pch"
-                               AssemblerListingLocation=".\Release/"
-                               ObjectFile=".\Release/"
-                               ProgramDataBaseFileName=".\Release/"
-                               BrowseInformation="1"
-                               WarningLevel="3"
-                               SuppressStartupBanner="true"
-                               Detect64BitPortabilityProblems="true"
-                               CompileAs="0"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               Culture="1033"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalDependencies="comctl32.lib mmc.lib odbc32.lib odbccp32.lib"
-                               OutputFile="Release/shib_gui.dll"
-                               LinkIncremental="1"
-                               SuppressStartupBanner="true"
-                               ModuleDefinitionFile=".\basesnap.Def"
-                               ProgramDatabaseFile=".\Release/shib_gui.pdb"
-                               BaseAddress="0x13000000"
-                               ImportLibrary=".\Release/shib_gui.lib"
-                               TargetMachine="1"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCManifestTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCAppVerifierTool"
-                       />
-                       <Tool
-                               Name="VCWebDeploymentTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-       </Configurations>
-       <References>
-       </References>
-       <Files>
-               <Filter
-                       Name="Source Files"
-                       Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-                       >
-                       <File
-                               RelativePath="atou.cpp"
-                               >
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               AdditionalIncludeDirectories=""
-                                               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;$(NoInherit)"
-                                               BrowseInformation="1"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               AdditionalIncludeDirectories=""
-                                               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;isapi_shib_gui_EXPORTS;$(NoInherit)"
-                                               BrowseInformation="1"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="basesnap.Cpp"
-                               >
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               AdditionalIncludeDirectories=""
-                                               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;$(NoInherit)"
-                                               BrowseInformation="1"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               AdditionalIncludeDirectories=""
-                                               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;isapi_shib_gui_EXPORTS;$(NoInherit)"
-                                               BrowseInformation="1"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="registry.Cpp"
-                               >
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               AdditionalIncludeDirectories=""
-                                               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;$(NoInherit)"
-                                               BrowseInformation="1"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               AdditionalIncludeDirectories=""
-                                               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;isapi_shib_gui_EXPORTS;$(NoInherit)"
-                                               BrowseInformation="1"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="Shib_PropSheet.cpp"
-                               >
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               AdditionalIncludeDirectories=""
-                                               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;$(NoInherit)"
-                                               BrowseInformation="1"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               AdditionalIncludeDirectories=""
-                                               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;isapi_shib_gui_EXPORTS;$(NoInherit)"
-                                               BrowseInformation="1"
-                                       />
-                               </FileConfiguration>
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Header Files"
-                       Filter="h;hpp;hxx;hm;inl"
-                       >
-                       <File
-                               RelativePath="atou.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="basesnap.Def"
-                               >
-                       </File>
-                       <File
-                               RelativePath="basesnap.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\isapi_shib\directive_class.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\isapi_shib\directives.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="GUIDs.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="Shib_PropSheet.h"
-                               >
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Resource Files"
-                       Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-                       >
-                       <File
-                               RelativePath="isapi_gui.Rc"
-                               >
-                       </File>
-               </Filter>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>
diff --git a/isapi_shib_gui/registry.Cpp b/isapi_shib_gui/registry.Cpp
deleted file mode 100644 (file)
index 4e91e04..0000000
+++ /dev/null
@@ -1,545 +0,0 @@
-//==============================================================;
-//
-//  This source code is only intended as a supplement to existing Microsoft documentation.
-//
-//
-//
-//
-//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
-//  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-//  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
-//  PURPOSE.
-//
-//  Copyright (C) 1999 - 2001 Microsoft Corporation.  All Rights Reserved.
-//
-//
-//
-//==============================================================;
-
-#include <objbase.h>
-#include <assert.h>
-#include "Registry.h"
-#include "Extend.h"
-#include "GUIDs.h"
-#include "globals.h"
-
-// if not standalone comment out next line
-//#define STANDALONE
-
-// list all nodes that are extendable here
-// List the GUID and then the description
-// terminate with a NULL, NULL set.
-EXTENSION_NODE _ExtendableNodes[] = {
-    {NULL, NULL}
-};
-// list all of the nodes that we extend
-EXTENDER_NODE _NodeExtensions[] = 
-       PBC_EXTENDER_NODES;
-
-////////////////////////////////////////////////////////
-//
-// Internal helper functions prototypes
-//
-
-// Set the given key and its value.
-BOOL setKeyAndValue(const _TCHAR* pszPath,
-                    const _TCHAR* szSubkey,
-                    const _TCHAR* szValue) ;
-
-// Set the given key and its value in the MMC Snapin location
-BOOL setSnapInKeyAndValue(const _TCHAR* szKey,
-                          const _TCHAR* szSubkey,
-                          const _TCHAR* szName,
-                          const _TCHAR* szValue);
-
-// Set the given valuename under the key to value
-BOOL setValue(const _TCHAR* szKey,
-              const _TCHAR* szValueName,
-              const _TCHAR* szValue);
-
-BOOL setSnapInExtensionNode(const _TCHAR* szSnapID,
-                            const _TCHAR* szNodeID,
-                            const _TCHAR* szDescription);
-
-// Delete szKeyChild and all of its descendents.
-LONG recursiveDeleteKey(HKEY hKeyParent, const _TCHAR* szKeyChild) ;
-
-////////////////////////////////////////////////////////
-//
-// Constants
-//
-
-// Size of a CLSID as a string
-//const int CLSID_STRING_SIZE = 39 ;
-
-/////////////////////////////////////////////////////////
-//
-// Public function implementation
-//
-
-//
-// Register the component in the registry.
-//
-HRESULT RegisterServer(HMODULE hModule,            // DLL module handle
-                       const CLSID& clsid,         // Class ID
-                       const _TCHAR* szFriendlyName)       //   IDs
-{
-    // Get server location.
-    _TCHAR szModule[512] ;
-    DWORD dwResult =
-        ::GetModuleFileName(hModule,
-        szModule,
-        sizeof(szModule)/sizeof(_TCHAR)) ;
-
-    assert(dwResult != 0) ;
-
-    // Get CLSID
-    LPOLESTR wszCLSID = NULL ;
-    HRESULT hr = StringFromCLSID(clsid, &wszCLSID) ;
-
-    assert(SUCCEEDED(hr)) ;
-
-    MAKE_TSTRPTR_FROMWIDE(pszCLSID, wszCLSID);
-
-    // Build the key CLSID\\{...}
-    _TCHAR szKey[64] ;
-    _tcscpy(szKey, _T("CLSID\\")) ;
-        _tcscat(szKey, pszCLSID) ;
-
-    // Add the CLSID to the registry.
-    setKeyAndValue(szKey, NULL, szFriendlyName) ;
-
-    // Add the server filename subkey under the CLSID key.
-    setKeyAndValue(szKey, _T("InprocServer32"), szModule) ;
-
-    // set the threading model
-    _tcscat(szKey, _T("\\InprocServer32"));
-    setValue(szKey, _T("ThreadingModel"), _T("Apartment"));
-
-    // Free memory.
-    CoTaskMemFree(wszCLSID) ;
-
-    return S_OK ;
-}
-
-//
-// Remove the component from the registry.
-//
-LONG UnregisterServer(const CLSID& clsid)       //   IDs
-{
-    // Get CLSID
-    LPOLESTR wszCLSID = NULL ;
-    HRESULT hr = StringFromCLSID(clsid, &wszCLSID) ;
-
-
-    // Build the key CLSID\\{...}
-    _TCHAR szKey[64] ;
-    _tcscpy(szKey, _T("CLSID\\")) ;
-
-    MAKE_TSTRPTR_FROMWIDE(pszT, wszCLSID);
-    _tcscat(szKey, pszT) ;
-
-    // Delete the CLSID Key - CLSID\{...}
-    LONG lResult = recursiveDeleteKey(HKEY_CLASSES_ROOT, szKey) ;
-    assert((lResult == ERROR_SUCCESS) ||
-               (lResult == ERROR_FILE_NOT_FOUND)) ; // Subkey may not exist.
-
-    // Free memory.
-    CoTaskMemFree(wszCLSID) ;
-
-    return S_OK ;
-}
-
-//
-// Register the snap-in in the registry.
-//
-HRESULT RegisterSnapin(const CLSID& clsid,         // Class ID
-                       const _TCHAR* szNameString)
-{
-    // Get CLSID
-    LPOLESTR wszCLSID = NULL ;
-    LPOLESTR wszAboutCLSID = NULL;
-    LPOLESTR wszExtendCLSID = NULL;
-    LPOLESTR wszNodeCLSID = NULL;
-    EXTENSION_NODE *pExtensionNode;
-    EXTENDER_NODE *pNodeExtension;
-    _TCHAR szKeyBuf[1024] ;
-    HKEY hKey;
-
-    HRESULT hr = StringFromCLSID(clsid, &wszCLSID) ;
-
-    MAKE_TSTRPTR_FROMWIDE(pszCLSID, wszCLSID);
-
-    // Add the CLSID to the registry.
-    setSnapInKeyAndValue(pszCLSID, NULL, _T("NameString"), szNameString) ;
-
-#ifdef STANDALONE
-    setSnapInKeyAndValue(pszCLSID, _T("StandAlone"), NULL, NULL);
-#endif
-
-    // register each of the node types in _ExtendableNodes as an extendable node
-    for (pExtensionNode = &(_ExtendableNodes[0]);*pExtensionNode->szDescription;pExtensionNode++)
-    {
-        hr = StringFromCLSID(pExtensionNode->GUID, &wszExtendCLSID);
-        MAKE_TSTRPTR_FROMWIDE(pszExtendCLSID, wszExtendCLSID);
-        setSnapInExtensionNode(pszCLSID, pszExtendCLSID, pExtensionNode->szDescription);
-        CoTaskMemFree(wszExtendCLSID);
-    }
-
-    // register each of the node extensions
-    for (pNodeExtension = &(_NodeExtensions[0]);*pNodeExtension->szDescription;pNodeExtension++)
-    {
-        hr = StringFromCLSID(pNodeExtension->guidNode, &wszExtendCLSID);
-        MAKE_TSTRPTR_FROMWIDE(pszExtendCLSID, wszExtendCLSID);
-        _tcscpy(szKeyBuf, _T("SOFTWARE\\Microsoft\\MMC\\NodeTypes\\"));
-        _tcscat(szKeyBuf, pszExtendCLSID);
-
-        switch (pNodeExtension->eType) {
-        case NameSpaceExtension:
-            _tcscat(szKeyBuf, _T("\\Extensions\\NameSpace"));
-            break;
-        case ContextMenuExtension:
-            _tcscat(szKeyBuf, _T("\\Extensions\\ContextMenu"));
-            break;
-        case ToolBarExtension:
-            _tcscat(szKeyBuf, _T("\\Extensions\\ToolBar"));
-            break;
-        case PropertySheetExtension:
-            _tcscat(szKeyBuf, _T("\\Extensions\\PropertySheet"));
-            break;
-        case TaskExtension:
-            _tcscat(szKeyBuf, _T("\\Extensions\\Task"));
-            break;
-        case DynamicExtension:
-            _tcscat(szKeyBuf, _T("\\Dynamic Extensions"));
-        default:
-            break;
-        }
-
-        // Create and open key and subkey.
-        long lResult = RegCreateKeyEx(HKEY_LOCAL_MACHINE ,
-            szKeyBuf,
-            0, NULL, REG_OPTION_NON_VOLATILE,
-            KEY_ALL_ACCESS, NULL,
-            &hKey, NULL) ;
-
-        if (lResult != ERROR_SUCCESS)
-        {
-            return FALSE ;
-        }
-
-        hr = StringFromCLSID(pNodeExtension->guidExtension, &wszNodeCLSID);
-        assert(SUCCEEDED(hr));
-
-        MAKE_TSTRPTR_FROMWIDE(pszNodeCLSID, wszNodeCLSID);
-        // Set the Value.
-        if (pNodeExtension->szDescription != NULL)
-        {
-            RegSetValueEx(hKey, pszNodeCLSID, 0, REG_SZ,
-                (BYTE *)pNodeExtension->szDescription,
-                (_tcslen(pNodeExtension->szDescription)+1)*sizeof(_TCHAR)) ;
-        }
-
-        RegCloseKey(hKey) ;
-
-        CoTaskMemFree(wszExtendCLSID);
-        CoTaskMemFree(wszNodeCLSID);
-    }
-
-
-    // Free memory.
-    CoTaskMemFree(wszCLSID) ;
-    return S_OK ;
-}
-
-//
-// Unregister the snap-in in the registry.
-//
-HRESULT UnregisterSnapin(const CLSID& clsid)         // Class ID
-{
-    _TCHAR szKeyBuf[1024];
-    LPOLESTR wszCLSID = NULL;
-
-    // Get CLSID
-    HRESULT hr = StringFromCLSID(clsid, &wszCLSID);
-        MAKE_TSTRPTR_FROMWIDE(pszCLSID, wszCLSID);
-    // Load the buffer with the Snap-In Location
-    _tcscpy(szKeyBuf, _T("SOFTWARE\\Microsoft\\MMC\\SnapIns"));
-
-    // Copy keyname into buffer.
-    _tcscat(szKeyBuf, _T("\\"));
-    _tcscat(szKeyBuf, pszCLSID);
-
-    // Delete the CLSID Key - CLSID\{...}
-    LONG lResult = recursiveDeleteKey(HKEY_LOCAL_MACHINE, szKeyBuf);
-    assert((lResult == ERROR_SUCCESS) ||
-               (lResult == ERROR_FILE_NOT_FOUND)) ; // Subkey may not exist.
-
-       //Uncomment following for loop to unregister all extendable node types
-       //Note that if a snap-in's extendable node types are unregistered,
-       //any extension snap-ins for these node types will have to be re-registered
-       //in order to rebuild their entries under the SOFTWARE\Microsoft\MMC\NodeTypes key
-
-/*
-    // Unregister each of the node types in _ExtendableNodes as an extendable node
-       // Note that this snap-in does not register any extendable node types
-
-    EXTENSION_NODE *pNode;
-       LPOLESTR wszExtendCLSID = NULL;
-
-    for (pNode = &(_ExtendableNodes[0]);*pNode->szDescription;pNode++)
-    {
-        hr = StringFromCLSID(pNode->GUID, &wszExtendCLSID);
-        MAKE_TSTRPTR_FROMWIDE(pszExtendCLSID, wszExtendCLSID);
-
-        // Load the buffer with the Snap-In Location
-        _tcscpy(szKeyBuf, _T("SOFTWARE\\Microsoft\\MMC\\NodeTypes\\"));
-        // Copy keyname into buffer.
-        _tcscat(szKeyBuf, pszExtendCLSID);
-        recursiveDeleteKey(HKEY_LOCAL_MACHINE, szKeyBuf);
-        CoTaskMemFree(wszExtendCLSID);
-    }
-
-*/
-
-    // free the memory
-    CoTaskMemFree(wszCLSID);
-
-    return S_OK;
-}
-
-//
-// Delete a key and all of its descendents.
-//
-LONG recursiveDeleteKey(HKEY hKeyParent,           // Parent of key to delete
-                        const _TCHAR* lpszKeyChild)  // Key to delete
-{
-    // Open the child.
-    HKEY hKeyChild ;
-    LONG lRes = RegOpenKeyEx(hKeyParent, lpszKeyChild, 0,
-        KEY_ALL_ACCESS, &hKeyChild) ;
-    if (lRes != ERROR_SUCCESS)
-    {
-        return lRes ;
-    }
-
-    // Enumerate all of the decendents of this child.
-    FILETIME time ;
-    _TCHAR szBuffer[256] ;
-    DWORD dwSize = 256 ;
-    while (RegEnumKeyEx(hKeyChild, 0, szBuffer, &dwSize, NULL,
-        NULL, NULL, &time) == S_OK)
-    {
-        // Delete the decendents of this child.
-        lRes = recursiveDeleteKey(hKeyChild, szBuffer) ;
-        if (lRes != ERROR_SUCCESS)
-        {
-            // Cleanup before exiting.
-            RegCloseKey(hKeyChild) ;
-            return lRes;
-        }
-        dwSize = 256 ;
-    }
-
-    // Close the child.
-    RegCloseKey(hKeyChild) ;
-
-    // Delete this child.
-    return RegDeleteKey(hKeyParent, lpszKeyChild) ;
-}
-
-//
-// Create a key and set its value.
-//   - This helper function was borrowed and modifed from
-//     Kraig Brockschmidt's book Inside OLE.
-//
-BOOL setKeyAndValue(const _TCHAR* szKey,
-                    const _TCHAR* szSubkey,
-                    const _TCHAR* szValue)
-{
-    HKEY hKey;
-    _TCHAR szKeyBuf[1024] ;
-
-    // Copy keyname into buffer.
-    _tcscpy(szKeyBuf, szKey) ;
-
-    // Add subkey name to buffer.
-    if (szSubkey != NULL)
-    {
-        _tcscat(szKeyBuf, _T("\\")) ;
-        _tcscat(szKeyBuf, szSubkey ) ;
-    }
-
-    // Create and open key and subkey.
-    long lResult = RegCreateKeyEx(HKEY_CLASSES_ROOT ,
-        szKeyBuf,
-        0, NULL, REG_OPTION_NON_VOLATILE,
-        KEY_ALL_ACCESS, NULL,
-        &hKey, NULL) ;
-    if (lResult != ERROR_SUCCESS)
-    {
-        return FALSE ;
-    }
-
-    // Set the Value.
-    if (szValue != NULL)
-    {
-        RegSetValueEx(hKey, NULL, 0, REG_SZ,
-            (BYTE *)szValue,
-            (_tcslen(szValue)+1)*sizeof(_TCHAR)) ;
-    }
-
-    RegCloseKey(hKey) ;
-    return TRUE ;
-}
-
-//
-// Open a key value and set it
-//
-BOOL setValue(const _TCHAR* szKey,
-              const _TCHAR* szValueName,
-              const _TCHAR* szValue)
-{
-    HKEY hKey;
-    _TCHAR szKeyBuf[1024] ;
-
-    // Copy keyname into buffer.
-    _tcscpy(szKeyBuf, szKey) ;
-
-    // Create and open key and subkey.
-    long lResult = RegCreateKeyEx(HKEY_CLASSES_ROOT ,
-        szKeyBuf,
-        0, NULL, REG_OPTION_NON_VOLATILE,
-        KEY_ALL_ACCESS, NULL,
-        &hKey, NULL) ;
-    if (lResult != ERROR_SUCCESS)
-    {
-        return FALSE ;
-    }
-
-    // Set the Value.
-    if (szValue != NULL)
-    {
-        RegSetValueEx(hKey, szValueName, 0, REG_SZ,
-            (BYTE *)szValue,
-            (_tcslen(szValue)+1)*sizeof(_TCHAR)) ;
-    }
-
-    RegCloseKey(hKey) ;
-    return TRUE ;
-}
-
-
-//
-// Create a key and set its value.
-//   - This helper function was borrowed and modifed from
-//     Kraig Brockschmidt's book Inside OLE.
-//
-BOOL setSnapInKeyAndValue(const _TCHAR* szKey,
-                          const _TCHAR* szSubkey,
-                          const _TCHAR* szName,
-                          const _TCHAR* szValue)
-{
-    HKEY hKey;
-    _TCHAR szKeyBuf[1024] ;
-
-    // Load the buffer with the Snap-In Location
-    _tcscpy(szKeyBuf, _T("SOFTWARE\\Microsoft\\MMC\\SnapIns"));
-
-    // Copy keyname into buffer.
-    _tcscat(szKeyBuf, _T("\\")) ;
-    _tcscat(szKeyBuf, szKey) ;
-
-    // Add subkey name to buffer.
-    if (szSubkey != NULL)
-    {
-        _tcscat(szKeyBuf, _T("\\")) ;
-        _tcscat(szKeyBuf, szSubkey ) ;
-    }
-
-    // Create and open key and subkey.
-    long lResult = RegCreateKeyEx(HKEY_LOCAL_MACHINE ,
-        szKeyBuf,
-        0, NULL, REG_OPTION_NON_VOLATILE,
-        KEY_ALL_ACCESS, NULL,
-        &hKey, NULL) ;
-    if (lResult != ERROR_SUCCESS)
-    {
-        return FALSE ;
-    }
-
-    // Set the Value.
-    if (szValue != NULL)
-    {
-        RegSetValueEx(hKey, szName, 0, REG_SZ,
-            (BYTE *)szValue,
-            (_tcslen(szValue)+1)*sizeof(_TCHAR)) ;
-    }
-
-    RegCloseKey(hKey) ;
-    return TRUE ;
-}
-
-BOOL setSnapInExtensionNode(const _TCHAR* szSnapID,
-                            const _TCHAR* szNodeID,
-                            const _TCHAR* szDescription)
-{
-    HKEY hKey;
-    _TCHAR szSnapNodeKeyBuf[1024] ;
-    _TCHAR szMMCNodeKeyBuf[1024];
-
-    // Load the buffer with the Snap-In Location
-    _tcscpy(szSnapNodeKeyBuf, _T("SOFTWARE\\Microsoft\\MMC\\SnapIns\\"));
-    // add in the clisid into buffer.
-    _tcscat(szSnapNodeKeyBuf, szSnapID) ;
-    _tcscat(szSnapNodeKeyBuf, _T("\\NodeTypes\\"));
-    _tcscat(szSnapNodeKeyBuf, szNodeID) ;
-
-    // Load the buffer with the NodeTypes Location
-    _tcscpy(szMMCNodeKeyBuf, _T("SOFTWARE\\Microsoft\\MMC\\NodeTypes\\"));
-    _tcscat(szMMCNodeKeyBuf, szNodeID) ;
-
-    // Create and open the Snapin Key.
-    long lResult = RegCreateKeyEx(HKEY_LOCAL_MACHINE ,
-        szSnapNodeKeyBuf,
-        0, NULL, REG_OPTION_NON_VOLATILE,
-        KEY_ALL_ACCESS, NULL,
-        &hKey, NULL) ;
-    if (lResult != ERROR_SUCCESS)
-    {
-        return FALSE ;
-    }
-
-    // Set the Value.
-    if (szDescription != NULL)
-    {
-        RegSetValueEx(hKey, NULL, 0, REG_SZ,
-            (BYTE *)szDescription,
-            (_tcslen(szDescription)+1)*sizeof(_TCHAR)) ;
-    }
-
-    RegCloseKey(hKey) ;
-
-    // Create and open the NodeTypes Key.
-    lResult = RegCreateKeyEx(HKEY_LOCAL_MACHINE ,
-        szMMCNodeKeyBuf,
-        0, NULL, REG_OPTION_NON_VOLATILE,
-        KEY_ALL_ACCESS, NULL,
-        &hKey, NULL) ;
-    if (lResult != ERROR_SUCCESS)
-    {
-        return FALSE ;
-    }
-
-    // Set the Value.
-    if (szDescription != NULL)
-    {
-        RegSetValueEx(hKey, NULL, 0, REG_SZ,
-            (BYTE *)szDescription,
-            (_tcslen(szDescription)+1)*sizeof(_TCHAR)) ;
-    }
-
-    RegCloseKey(hKey) ;
-
-    return TRUE ;
-}
diff --git a/isapi_shib_gui/registry.h b/isapi_shib_gui/registry.h
deleted file mode 100644 (file)
index 5a46fb0..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-//==============================================================;
-//
-//  This source code is only intended as a supplement to existing Microsoft documentation. 
-//
-// 
-//
-//
-//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
-//  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-//  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
-//  PURPOSE.
-//
-//  Copyright (C) 1999 - 2001 Microsoft Corporation.  All Rights Reserved.
-//
-//
-//
-//==============================================================;
-
-#ifndef __Registry_H__
-#define __Registry_H__
-
-#include <tchar.h>
-
-// This function will register a component in the Registry.
-// The component calls this function from its DllRegisterServer function.
-HRESULT RegisterServer(HMODULE hModule, 
-                       const CLSID& clsid, 
-                       const _TCHAR* szFriendlyName) ;
-
-// This function will unregister a component.  Components
-// call this function from their DllUnregisterServer function.
-HRESULT UnregisterServer(const CLSID& clsid) ;
-
-
-// This function will register a Snap-In component.  Components
-// call this function from their DllRegisterServer function.
-HRESULT RegisterSnapin(const CLSID& clsid,         // Class ID
-                       const _TCHAR* szNameString);   // NameString
-               
-
-
-HRESULT UnregisterSnapin(const CLSID& clsid);         // Class ID
-
-#endif
\ No newline at end of file
diff --git a/isapi_shib_gui/resource.h b/isapi_shib_gui/resource.h
deleted file mode 100644 (file)
index 49ebc35..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by isapi_gui.Rc
-//
-#define IDS_HELPFILE                    1
-#define IDS_SNAPINDESC                  2
-#define IDS_NAME                        3
-#define IDS_THIS_WEB_INSTANCE           4
-#define IDS_SERVER_DEFAULT              5
-#define IDS_SNAPINNAME                  6
-#define IDS_PROGRAM_DEFAULT             7
-#define IDS_ABOUTNAME                   9
-#define IDD_PROPPAGE_LARGE              10
-#define IDS_PST_TAB_NAME                10
-#define IDD_PROPPAGE_DIRECTIVE          10
-#define IDD_PROPPAGE                    10
-#define IDI_ICON1                       108
-#define IDI_PSI_ROCKET                  114
-#define IDR_SMICONS                     120
-#define IDR_LGICONS                     121
-#define IDB_SMOPEN                      124
-#define IDB_SMBMP                       125
-#define IDB_LGBMP                       126
-#define IDC_PROPS                       1006
-#define IDC_EDIT2                       1008
-#define IDC_COMBO3                      1009
-#define IDC_ValueBox                    1009
-#define IDC_ValueEdit                   1014
-#define IDC_InheritedFrom               1015
-#define IDC_MoreInfo                    1016
-#define IDC_NAME                        1018
-#define IDC_InheritedFromStatic         1019
-#define IDC_Delete                      1020
-#define IDC_Refresh                     1021
-#define EDIT1                           40027
-#define EDIT2                           40028
-#define EDIT3                           40029
-#define EDIT4                           40030
-#define COMBO1                          40031
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        127
-#define _APS_NEXT_COMMAND_VALUE         40032
-#define _APS_NEXT_CONTROL_VALUE         1023
-#define _APS_NEXT_SYMED_VALUE           101
-#endif
-#endif
index f27c8dc..38490d0 100644 (file)
@@ -75,6 +75,7 @@ namespace {
     string g_ServerName;
     string g_ServerScheme;
     string g_unsetHeaderValue;
+    bool g_checkSpoofing = true;
 
     static const XMLCh path[] =     UNICODE_LITERAL_4(p,a,t,h);
     static const XMLCh validate[] = UNICODE_LITERAL_8(v,a,l,i,d,a,t,e);
@@ -170,6 +171,9 @@ extern "C" NSAPI_PUBLIC int nsapi_shib_init(pblock* pb, ::Session* sn, Request*
         pair<bool,const char*> unsetValue=props->getString("unsetHeaderValue");
         if (unsetValue.first)
             g_unsetHeaderValue = unsetValue.second;
+        pair<bool,bool> checkSpoofing=props->getBool("checkSpoofing");
+        if (checkSpoofing.first && !checkSpoofing.second)
+            g_checkSpoofing = false;
     }
     return REQ_PROCEED;
 }
@@ -183,9 +187,10 @@ class ShibTargetNSAPI : public AbstractSPRequest
   mutable string m_body;
   mutable bool m_gotBody;
   mutable vector<string> m_certs;
+  char** m_env;
 
 public:
-  ShibTargetNSAPI(pblock* pb, ::Session* sn, Request* rq) : m_gotBody(false) {
+  ShibTargetNSAPI(pblock* pb, ::Session* sn, Request* rq) : m_gotBody(false), m_env(NULL) {
     m_pb = pb;
     m_sn = sn;
     m_rq = rq;
@@ -214,7 +219,10 @@ public:
     // In other cases, we're going to rely on the initialization process...
     host=g_ServerName.c_str();
   }
-  ~ShibTargetNSAPI() {}
+  ~ShibTargetNSAPI() {
+      if (m_env)
+          util_env_free(m_env);
+  }
 
   const char* getScheme() const {
     return security_active ? "https" : "http";
@@ -286,14 +294,23 @@ public:
       return m_body.c_str();
     }
   }
-  void clearHeader(const char* name) {
-    if (!strcmp(name,"REMOTE_USER")) {
+  void clearHeader(const char* rawname, const char* cginame) {
+    if (g_checkSpoofing) {
+        if (!m_env) {
+            // Populate the set of client-supplied headers for spoof checking.
+            //m_env = util_env_create();
+            m_env = pblock_pb2env(m_rq->headers, NULL);
+        }
+        if (util_env_find(m_env, const_cast<char*>(cginame)))
+            throw opensaml::SecurityPolicyException("Attempt to spoof header ($1) was detected.", params(1, rawname));
+    }
+    if (!strcmp(rawname,"REMOTE_USER")) {
         param_free(pblock_remove("auth-user",m_rq->vars));
         param_free(pblock_remove("remote-user",m_rq->headers));
     }
     else {
-        param_free(pblock_remove(name, m_rq->headers));
-        pblock_nvinsert(name, g_unsetHeaderValue.c_str() ,m_rq->headers);
+        param_free(pblock_remove(rawname, m_rq->headers));
+        pblock_nvinsert(rawname, g_unsetHeaderValue.c_str(), m_rq->headers);
     }
   }
   void setHeader(const char* name, const char* value) {
@@ -445,6 +462,7 @@ public:
     void unlock() { m_stKey->setData(NULL); m_propsKey->setData(NULL); m_mapper->unlock(); }
     Settings getSettings(const SPRequest& request) const;
     
+    const PropertySet* getParent() const { return NULL; }
     void setParent(const PropertySet*) {}
     pair<bool,bool> getBool(const char* name, const char* ns=NULL) const;
     pair<bool,const char*> getString(const char* name, const char* ns=NULL) const;