major source structure and module name changes

This commit is contained in:
soochoi
2006-06-07 16:34:19 +00:00
parent 5c75241b4b
commit 1fa6f07e83
651 changed files with 0 additions and 0 deletions

34
micasadk/Makefile.am Normal file
View File

@@ -0,0 +1,34 @@
#######################################################################
#
# Copyright (C) 2006 Novell, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
#
#######################################################################
SUBDIRS = $(TARGET_OS)
DIST_SUBDIRS = linux
EXTRA_DIST = *.c
.PHONY: package package-clean package-install package-uninstall
package package-clean package-install package-uninstall:
$(MAKE) -C $(TARGET_OS) $@
maintainer-clean-local:
rm -f Makefile.in

148
micasadk/c_micasadk.vcproj Normal file
View File

@@ -0,0 +1,148 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="micasa"
ProjectGUID="{99988A22-4C58-4BF7-A2DB-57761E76FB26}"
RootNamespace="c_micasadk"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\include"
PreprocessorDefinitions="WIN32"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
LinkIncremental="2"
AdditionalLibraryDirectories=""
ModuleDefinitionFile=".\micasa.def"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/c_micasadk.pdb"
SubSystem="2"
ImportLibrary="../../$(OutDir)/micasa.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="copy $(OutDir)/micasa.lib ../../"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\include"
PreprocessorDefinitions="WIN32"
RuntimeLibrary="0"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="micasacache.lib"
LinkIncremental="1"
AdditionalLibraryDirectories="..\c_micasacache\Release"
ModuleDefinitionFile=".\micasa.def"
GenerateDebugInformation="TRUE"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="../lib/Release/micasa.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath="..\c_common\sscs_ll.c">
</File>
<File
RelativePath=".\sscs_ndk.c">
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
<File
RelativePath="..\include\micasa.h">
</File>
<File
RelativePath="..\include\micasa_mgmd.h">
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

55
micasadk/link.w32 Normal file
View File

@@ -0,0 +1,55 @@
LINK_DEF_BLD = \
echo "$(addprefix $(OBJDIR),$(notdir $(OBJS)))" > $(LINKDEF);\
echo "/LIBPATH:$(MSC)lib" >> $(LINKDEF);\
echo "/LIBPATH:../lib/w32" >> $(LINKDEF);\
echo "kernel32.lib" >> $(LINKDEF);\
echo "micasacache.lib" >> $(LINKDEF);\
echo "/DLL" >> $(LINKDEF);\
echo "/OUT:$(BINDIR)$(basename $(notdir $@)).dll" >> $(LINKDEF);\
echo "/MAP:$(BINDIR)$(basename $(notdir $@)).map" >> $(LINKDEF);\
echo "/PDB:$(BINDIR)$(basename $(notdir $@)).pdb" >> $(LINKDEF);\
echo "/MACHINE:IX86" >> $(LINKDEF);\
echo "/SUBSYSTEM:WINDOWS" >> $(LINKDEF);\
echo "/INCREMENTAL:NO" >> $(LINKDEF);\
echo "/VERSION:$(BLD_VER)" >> $(LINKDEF);\
echo "/FIXED:NO" >> $(LINKDEF);\
echo "/NODEFAULTLIB:libc" >> $(LINKDEF);\
echo "/NODEFAULTLIB:oldnames" >> $(LINKDEF);\
echo "/NODEFAULTLIB:comctl32" >> $(LINKDEF);\
echo "/NODEFAULTLIB:olepro32" >> $(LINKDEF);\
echo "/NODEFAULTLIB:oleaut32" >> $(LINKDEF);\
echo "/NODEFAULTLIB:wininet" >> $(LINKDEF);\
echo "/NODEFAULTLIB:uuid" >> $(LINKDEF);\
echo "/NODEFAULTLIB:user32" >> $(LINKDEF);\
echo "/NODEFAULTLIB:libcmtd" >> $(LINKDEF);\
echo "/NODEFAULTLIB:msvcr71.lib" >> $(LINKDEF);\
echo "/OPT:REF" >> $(LINKDEF);\
echo "/EXPORT:miCASA_CreateSHSHandle" >> $(LINKDEF);\
echo "/EXPORT:miCASA_DestroySHSHandle" >> $(LINKDEF);\
echo "/EXPORT:miCASA_GetNextSHSEntry" >> $(LINKDEF);\
echo "/EXPORT:miCASA_AddSHSEntry" >> $(LINKDEF);\
echo "/EXPORT:miCASA_RemoveSHSEntry" >> $(LINKDEF);\
echo "/EXPORT:miCASASetCredential" >> $(LINKDEF);\
echo "/EXPORT:miCASAGetCredential" >> $(LINKDEF);\
echo "/EXPORT:miCASARemoveCredential" >> $(LINKDEF);\
echo "/EXPORT:miCASAOpenSecretStoreCache" >> $(LINKDEF);\
echo "/EXPORT:miCASACloseSecretStoreCache" >> $(LINKDEF);\
echo "/EXPORT:miCASAReadSecret" >> $(LINKDEF);\
echo "/EXPORT:miCASARemoveSecret" >> $(LINKDEF);\
echo "/EXPORT:miCASAWriteSecret" >> $(LINKDEF);\
echo "/EXPORT:miCASAWriteKey" >> $(LINKDEF);\
echo "/EXPORT:miCASAWriteBinaryKey" >> $(LINKDEF);\
echo "/EXPORT:miCASAReadKey" >> $(LINKDEF);\
echo "/EXPORT:miCASAReadBinaryKey" >> $(LINKDEF);\
echo "/EXPORT:miCASAGetStoreInformation" >> $(LINKDEF);\
echo "/EXPORT:miCASAEnumerateSecretIDs" >> $(LINKDEF);\
echo "/EXPORT:miCASARemoveSecretStore" >> $(LINKDEF);\
echo "/EXPORT:miCASASetMasterPassword" >> $(LINKDEF);\
echo "/EXPORT:miCASAIsSecretPersistent" >> $(LINKDEF);\
echo "/EXPORT:miCASAUnlockSecrets" >> $(LINKDEF);\
echo "/EXPORT:miCASAUnlockStore" >> $(LINKDEF);\
echo "/EXPORT:miCASALockStore" >> $(LINKDEF);\
echo "/EXPORT:miCASAAddKeyChain" >> $(LINKDEF);\
echo "/EXPORT:miCASARemoveKeyChain" >> $(LINKDEF);\
echo "/EXPORT:miCASAEnumerateKeyChainIDs" >> $(LINKDEF);

59
micasadk/link_mdd.w32 Normal file
View File

@@ -0,0 +1,59 @@
LINK_DEF_BLD = \
echo "$(addprefix $(OBJDIR),$(notdir $(OBJS)))" > $(LINKDEF);\
echo "/LIBPATH:$(MSC)lib" >> $(LINKDEF);\
echo "/LIBPATH:$(MSC)platformsdk/lib" >> $(LINKDEF);\
echo "/LIBPATH:../lib/w32" >> $(LINKDEF);\
echo "kernel32.lib" >> $(LINKDEF);\
echo "ole32.lib" >> $(LINKDEF);\
echo "micasacache.lib" >> $(LINKDEF);\
echo "/DLL" >> $(LINKDEF);\
echo "/OUT:$(BINDIR)$(basename $(notdir $@)).dll" >> $(LINKDEF);\
echo "/MAP:$(BINDIR)$(basename $(notdir $@)).map" >> $(LINKDEF);\
echo "/DEBUG" >> $(LINKDEF);\
echo "/MACHINE:IX86" >> $(LINKDEF);\
echo "/SUBSYSTEM:WINDOWS" >> $(LINKDEF);\
echo "/INCREMENTAL:NO" >> $(LINKDEF);\
echo "/VERSION:$(BLD_VER)" >> $(LINKDEF);\
echo "/FIXED:NO" >> $(LINKDEF);\
echo "/NODEFAULTLIB:oldnames" >> $(LINKDEF);\
echo "/NODEFAULTLIB:libc" >> $(LINKDEF);\
echo "/NODEFAULTLIB:uuid" >> $(LINKDEF);\
echo "/NODEFAULTLIB:MSVCRT" >> $(LINKDEF);\
echo "/NODEFAULTLIB:user32" >> $(LINKDEF);\
echo "/NODEFAULTLIB:gdi32" >> $(LINKDEF);\
echo "/NODEFAULTLIB:comdlg32" >> $(LINKDEF);\
echo "/NODEFAULTLIB:winspool" >> $(LINKDEF);\
echo "/NODEFAULTLIB:shell32" >> $(LINKDEF);\
echo "/NODEFAULTLIB:comctl32" >> $(LINKDEF);\
echo "/NODEFAULTLIB:olepro32" >> $(LINKDEF);\
echo "/NODEFAULTLIB:oleaut32" >> $(LINKDEF);\
echo "/NODEFAULTLIB:wininet" >> $(LINKDEF);\
echo "/OPT:REF" >> $(LINKDEF);\
echo "/EXPORT:miCASA_CreateSHSHandle" >> $(LINKDEF);\
echo "/EXPORT:miCASA_DestroySHSHandle" >> $(LINKDEF);\
echo "/EXPORT:miCASA_GetNextSHSEntry" >> $(LINKDEF);\
echo "/EXPORT:miCASA_AddSHSEntry" >> $(LINKDEF);\
echo "/EXPORT:miCASA_RemoveSHSEntry" >> $(LINKDEF);\
echo "/EXPORT:miCASASetCredential" >> $(LINKDEF);\
echo "/EXPORT:miCASAGetCredential" >> $(LINKDEF);\
echo "/EXPORT:miCASARemoveCredential" >> $(LINKDEF);\
echo "/EXPORT:miCASAOpenSecretStoreCache" >> $(LINKDEF);\
echo "/EXPORT:miCASACloseSecretStoreCache" >> $(LINKDEF);\
echo "/EXPORT:miCASAReadSecret" >> $(LINKDEF);\
echo "/EXPORT:miCASARemoveSecret" >> $(LINKDEF);\
echo "/EXPORT:miCASAWriteSecret" >> $(LINKDEF);\
echo "/EXPORT:miCASAWriteKey" >> $(LINKDEF);\
echo "/EXPORT:miCASAWriteBinaryKey" >> $(LINKDEF);\
echo "/EXPORT:miCASAReadKey" >> $(LINKDEF);\
echo "/EXPORT:miCASAReadBinaryKey" >> $(LINKDEF);\
echo "/EXPORT:miCASAGetStoreInformation" >> $(LINKDEF);\
echo "/EXPORT:miCASAEnumerateSecretIDs" >> $(LINKDEF);\
echo "/EXPORT:miCASARemoveSecretStore" >> $(LINKDEF);\
echo "/EXPORT:miCASASetMasterPassword" >> $(LINKDEF);\
echo "/EXPORT:miCASAIsSecretPersistent" >> $(LINKDEF);\
echo "/EXPORT:miCASAUnlockSecrets" >> $(LINKDEF);\
echo "/EXPORT:miCASAUnlockStore" >> $(LINKDEF);\
echo "/EXPORT:miCASALockStore" >> $(LINKDEF);\
echo "/EXPORT:miCASAAddKeyChain" >> $(LINKDEF);\
echo "/EXPORT:miCASARemoveKeyChain" >> $(LINKDEF);\
echo "/EXPORT:miCASAEnumerateKeyChainIDs" >> $(LINKDEF);

114
micasadk/linux/Makefile.am Normal file
View File

@@ -0,0 +1,114 @@
#######################################################################
#
# Copyright (C) 2006 Novell, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
#
#######################################################################
if DEBUG
TARGET_CFG = Debug
CFLAGS += -v -w
else
TARGET_CFG = Release
endif
SUBDIRS =
DIST_SUBDIRS =
EXTRA_DIST = *.exp
CASAROOT = ../..
CASALIBDIR = $(CASAROOT)/$(LIB)
OBJDIR = $(TARGET_CFG)/$(LIB)
BUILD_VER = 1.1.1
# handle Mono secondary dependencies
export MONO_PATH := $(MONO_PATH)
PLATFORMINDEPENDENTSOURCEDIR = ..
PLATFORMDEPENDENTSOURCEDIR = .
MODULE_NAME =libmicasa
MODULE_EXT =so
CFILES = ../sscs_ll.c \
../sscs_ndk.c
CSFILES_CSC :=
INCLUDES = -I. -I.. -I$(CASAROOT)/include -I/opt/gnome/include/gnome-keyring-1/
EXTRA_CFLAGS =
RESOURCES =
CFLAGS += $(EXTRA_CFLAGS) $(INCLUDES) $(DEFINES)
LIBS = -L/$(CASALIBDIR)/$(TARGET_CFG)
LDFLAGS = -Wl,-Bsymbolic -shared -Wl,--version-script=micasa_lux.exp \
-lpthread \
-ldl -Wl,-soname -Wl,libmicasa.so.1
OBJS = $(addprefix $(OBJDIR)/, $(CFILES:%.c=%.o))
#COMMON_OBJS = -L/../../c_common/linux/$(OBJDIR) ../../c_common/linux/$(OBJDIR)/sscs_ll.o
COMMON_OBJS = $(OBJDIR)/sscs_ll.o
CUR_DIR := $(shell pwd)
all: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT).$(BUILD_VER)
#
# Pattern based rules.
#
vpath %.c $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
vpath %.cpp $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
$(OBJDIR)/%.o: %.c
$(CC) -c $(CFLAGS) -o $@ $<
$(OBJDIR)/%.o: %.cpp
$(CC) -c $(CFLAGS) -o $@ $<
$(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT).$(BUILD_VER): $(OBJDIR) $(OBJS)
@echo [======== Linking $@ ========]
cc $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(CASALIBDIR)/$(TARGET_CFG)/libmicasacache.a
cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT).$(BUILD_VER) $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT).$(BUILD_VER)
ln -sf $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT).$(BUILD_VER) $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT).1
ln -sf $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT).$(BUILD_VER) $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT)
$(OBJDIR):
[ -d $(OBJDIR) ] || mkdir -p $(OBJDIR)
[ -d $(CASALIBDIR) ] || mkdir -p $(CASALIBDIR)
[ -d $(CASALIBDIR)/$(TARGET_CFG) ] || mkdir -p $(CASALIBDIR)/$(TARGET_CFG)
install-exec-local: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT)
$(mkinstalldirs) $(DESTDIR)$(libdir)
$(INSTALL_PROGRAM) $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(DESTDIR)$(libdir)/
uninstall-local:
cd $(DESTDIR)$(libdir); rm -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT)
rmdir $(DESTDIR)$(libdir)
#installcheck-local: install
# $(mkinstalldirs) $(DESTDIR)$(libdir)
# $(INSTALL_PROGRAM) $(DESTDIR)$(libdir)
# cd $(DESTDIR)$(libdir); $(MONO)
clean-local:
if [ -d $(TARGET_CFG) ]; then rm -rf $(TARGET_CFG); fi
distclean-local:
maintainer-clean-local:
rm -f Makefile.in

10
micasadk/linux/link.lux Normal file
View File

@@ -0,0 +1,10 @@
LINK = $(CC) \
-Wl,-Bsymbolic \
-shared \
-Wl,--version-script=$(TARGET)_$(PLAT).exp \
-Wl,-rpath -Wl,/usr/lib$(ARC) \
-L/usr/lib$(ARC) -lpthread -lc -ldl \
-Wl,-soname -Wl,lib$(TARGET).so.$(PROD_NUM) \
-o $(LIBDIR)$(XTRA)/lib$(TARGET).so.$(BLD_VER) \
-L$(LIBDIR)$(XTRA) \
$(OBJDIR)*.$(O) $(LIBDIR)$(XTRA)/libmicasacache.a

View File

@@ -0,0 +1,31 @@
VER_1.0
{
global:
miCASA_CreateSHSHandle;
miCASA_DestroySHSHandle;
miCASA_GetNextSHSEntry;
miCASA_AddSHSEntry;
miCASA_RemoveSHSEntry;
miCASAOpenSecretStoreCache;
miCASACloseSecretStoreCache;
miCASAReadSecret;
miCASAReadKey;
miCASARemoveSecret;
miCASAWriteSecret;
miCASAWriteKey;
miCASAGetStoreInformation;
miCASAEnumerateSecretIDs;
miCASARemoveSecretStore;
miCASASetMasterPassword;
miCASAUnlockSecrets;
miCASAUnlockStore;
miCASALockStore;
miCASARemoveKeyChain;
miCASARemoveCredential;
miCASASetCredential;
miCASAGetCredential;
miCASAIsSecretPersistent;
miCASASetMasterPasscode;
local:
*;
};

3
micasadk/linux/objs.lux Normal file
View File

@@ -0,0 +1,3 @@
OBJS=\
sscs_ll.$(O)\
sscs_ndk.$(O)

30
micasadk/micasa.def Normal file
View File

@@ -0,0 +1,30 @@
EXPORTS
miCASA_CreateSHSHandle
miCASA_DestroySHSHandle
miCASA_GetNextSHSEntry
miCASA_AddSHSEntry
miCASA_RemoveSHSEntry
miCASASetCredential
miCASAGetCredential
miCASARemoveCredential
miCASAOpenSecretStoreCache
miCASACloseSecretStoreCache
miCASAReadSecret
miCASARemoveSecret
miCASAWriteSecret
miCASAWriteKey
miCASAWriteBinaryKey
miCASAReadKey
miCASAReadBinaryKey
miCASAGetStoreInformation
miCASAEnumerateSecretIDs
miCASARemoveSecretStore
miCASASetMasterPassword
miCASAIsSecretPersistent
miCASAUnlockSecrets
miCASAUnlockStore
miCASALockStore
miCASAAddKeyChain
miCASARemoveKeyChain
miCASAEnumerateKeyChainIDs

3
micasadk/objs.w32 Normal file
View File

@@ -0,0 +1,3 @@
OBJS=\
sscs_ll.$(O)\
sscs_ndk.$(O)

3569
micasadk/sscs_ndk.c Normal file

File diff suppressed because it is too large Load Diff

612
micasadk/sscs_win_calls.c Normal file
View File

@@ -0,0 +1,612 @@
/***********************************************************************
*
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; version 2.1
* of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, Novell, Inc.
*
* To contact Novell about this file by physical or electronic mail,
* you may find current contact information at www.novell.com.
*
***********************************************************************/
#include "nsscs_idk.h"
#include "sscs_lldefs.h"
#include "sscs_cache.h"
#define INITGUID
#include <objbase.h>
//#include "walletdef.h"
#include "sscs_win_secretstoredef.h"
static PIVerifiedAccessSS pIAccess = NULL;
static PISecretStore pISecretStore = NULL;
/* ######################################################################## */
/* ############################### STUBS HERE ############################# */
/* ######################################################################## */
/*
* NAME - sscs_CacheOpenSecretStore
*
* DESCRIPTION
*
*
*/
void * sscs_CacheOpenSecretStore
(
void *secretStoreID,
unsigned long ssFlags,
void *reserved
)
{ /* beginning of the call */
/* ########################## DECLARATIONS START HERE ######################### */
NCSTATUS status;
SCHANDLE *hSC = malloc(sizeof(SCHANDLE));
/* ############################## CODE STARTS HERE ############################ */
CoInitialize(NULL);
status = CoCreateInstance(
(REFCLSID)&CLSID_SecretStoreClientService,
NULL,
CLSCTX_SERVER,
(REFIID)&IID_VerifyAccessSS_1,
(void **)&pIAccess);
if (status == NC_STATUS_SUCCESS)
{
status = pIAccess->lpVtbl->QuerySecureInterface(
pIAccess,
GetModuleHandle(NULL),
(PGUID)&IID_SSCS,
(void **)&pISecretStore);
pIAccess->lpVtbl->Release(pIAccess);
}
else if(status == REGDB_E_CLASSNOTREG)
{
OutputDebugString("SecretStore: Class not Registered");
}
else if (status == CLASS_E_NOAGGREGATION )
{
OutputDebugString("SecretStore: Class no aggregation");
}
else if (status == E_NOINTERFACE)
{
OutputDebugString("SecretStore: No Interface");
}
if (status != NC_STATUS_SUCCESS)
{
CoUninitialize();
return 0;
}
status = pISecretStore->lpVtbl->CacheOpenSecretStore (
pISecretStore,
secretStoreID,
ssFlags,
hSC,
NULL
);
if (status != NC_STATUS_SUCCESS)
{
CoUninitialize();
return 0;
}
else
return((void*)hSC);
/* ############################### CODE ENDS HERE ############################# */
} //* sscs_CacheOpenSecretStore
/*
* NAME - sscs_CacheCloseSecretStore
*
* DESCRIPTION
*
*
*/
int sscs_CacheCloseSecretStore
(
void *ssHandle,
unsigned long ssFlags,
void *reserved
)
{ /* beginning of the call */
/* ########################## DECLARATIONS START HERE ######################### */
NCSTATUS status;
SCHANDLE hSC = (SCHANDLE)ssHandle;
/* ############################## CODE STARTS HERE ############################ */
status = pISecretStore->lpVtbl->CacheCloseSecretStore (
pISecretStore,
0,
ssFlags,
reserved);
pISecretStore->lpVtbl->Release(pISecretStore);
CoUninitialize();
return status;
/* ############################### CODE ENDS HERE ############################# */
} //* sscs_CacheCloseSecretStore
/*
* NAME - sscs_CacheRemoveSecretStore
*
* DESCRIPTION
*
*
*/
int sscs_CacheRemoveSecretStore
(
void *ssHandle,
unsigned long ssFlags,
void *reserved
)
{ /* beginning of the call */
/* ########################## DECLARATIONS START HERE ######################### */
NCSTATUS status;
SCHANDLE hSC = (SCHANDLE)ssHandle;
/* ############################## CODE STARTS HERE ############################ */
status = pISecretStore->lpVtbl->CacheRemoveSecretStore (
pISecretStore,
&hSC,
ssFlags,
reserved);
return status;
/* ############################### CODE ENDS HERE ############################# */
} //* sscs_CacheRemoveSecretStore
/*
* NAME - sscs_CacheEnumerateKeychainIDs
*
* DESCRIPTION
*
*
*/
int sscs_CacheEnumerateKeychainIDs
(
void *ssHandle,
unsigned long ssFlags,
SSCS_SRCH_KEY_T *searchKey,
SSCS_KEYCHAIN_ID_LIST_T *kcIDList,
void *reserved
)
{ /* beginning of the call */
/* ########################## DECLARATIONS START HERE ######################### */
NCSTATUS status;
SCHANDLE hSC = (SCHANDLE)ssHandle;
/* ############################## CODE STARTS HERE ############################ */
status = pISecretStore->lpVtbl->CacheEnumerateKeyChainIDs (
pISecretStore,
0,
ssFlags,
searchKey,
kcIDList,
reserved);
return status;
/* ############################### CODE ENDS HERE ############################# */
} //* sscs_CacheEnumerateKeychainIDs
/*
* NAME - sscs_CacheAddKeychain
*
* DESCRIPTION
*
*
*/
int sscs_CacheAddKeychain
(
void *ssHandle,
unsigned long ssFlags,
SSCS_KEYCHAIN_ID_T *keyChainID,
void *reserved
)
{ /* beginning of the call */
/* ########################## DECLARATIONS START HERE ######################### */
NCSTATUS status = 0;
SCHANDLE hSC = (SCHANDLE)ssHandle;
/* ############################## CODE STARTS HERE ############################ */
status = pISecretStore->lpVtbl->CacheAddKeyChain(
pISecretStore,
0, // session
ssFlags, // flags
keyChainID, // keychainID
reserved);
return(status);
/* ############################### CODE ENDS HERE ############################# */
} //* sscs_CacheAddKeychain
/*
* NAME - sscs_CacheRemoveKeychain
*
* DESCRIPTION
*
*
*/
int sscs_CacheRemoveKeychain
(
void *ssHandle,
unsigned long ssFlags,
SSCS_KEYCHAIN_ID_T *keyChainID,
void *reserved
)
{
/* ########################## DECLARATIONS START HERE ######################### */
NCSTATUS status = 0;
SCHANDLE hSC = (SCHANDLE)ssHandle;
/* ############################## CODE STARTS HERE ############################ */
status = pISecretStore->lpVtbl->CacheRemoveKeyChain(
pISecretStore,
0, // session
ssFlags, // flags
keyChainID, // keychainID
reserved);
return(status);
/* ############################### CODE ENDS HERE ############################# */
} //* sscs_CacheRemoveKeychain
/*
* NAME - sscs_CacheEnumerateSecretIDs
*
* DESCRIPTION
*
*
*/
int sscs_CacheEnumerateSecretIDs
(
void *ssHandle,
unsigned long ssFlags,
SSCS_KEYCHAIN_ID_T *keyChainID,
SSCS_SRCH_KEY_T *searchKey,
SSCS_SECRET_ID_LIST_T *secretIDList,
void *reserved
)
{
/* ########################## DECLARATIONS START HERE ######################### */
NCSTATUS status = 0;
SCHANDLE hSC = (SCHANDLE)ssHandle;
/* ############################## CODE STARTS HERE ############################ */
status = pISecretStore->lpVtbl->CacheEnumerateSecretIDs(
pISecretStore,
0, // session
ssFlags, // flags
keyChainID, // keychainID
searchKey,
secretIDList,
reserved);
return(status);
/* ############################### CODE ENDS HERE ############################# */
} //* sscs_CacheEnumerateSecretIDs
/*
* NAME - sscs_CacheReadSecret
*
* DESCRIPTION
*
*
*/
int sscs_CacheReadSecret
(
void *ssHandle,
unsigned long ssFlags,
SSCS_KEYCHAIN_ID_T *keyChainID,
SSCS_SECRET_ID_T *secredID,
SSCS_SECRET_T *secretData,
SSCS_PASSWORD_T *epPassword,
unsigned int *bytesRequired,
void *reserved
)
{
/* ########################## DECLARATIONS START HERE ######################### */
NCSTATUS status = 0;
SCHANDLE hSC = (SCHANDLE)ssHandle;
/* ############################## CODE STARTS HERE ############################ */
status = pISecretStore->lpVtbl->CacheReadSecret(
pISecretStore,
0, // session
ssFlags, // flags
keyChainID, // keychainID
secredID,
secretData,
epPassword,
bytesRequired,
reserved);
return(status);
/* ############################### CODE ENDS HERE ############################# */
} //* sscs_CacheReadSecret
/*
* NAME - sscs_CacheWriteSecret
*
* DESCRIPTION
*
*
*/
int sscs_CacheWriteSecret
(
void *ssHandle,
unsigned long ssFlags,
SSCS_KEYCHAIN_ID_T *keyChainID,
SSCS_SECRET_ID_T *secredID,
SSCS_SECRET_T *secretData,
SSCS_PASSWORD_T *epPassword,
void *reserved
)
{
/* ########################## DECLARATIONS START HERE ######################### */
NCSTATUS status = 0;
SCHANDLE hSC = (SCHANDLE)ssHandle;
/* ############################## CODE STARTS HERE ############################ */
status = pISecretStore->lpVtbl->CacheWriteSecret(
pISecretStore,
0, // session
ssFlags, // flags
keyChainID, // keychainID
secredID,
secretData,
epPassword,
reserved);
return(status);
/* ############################### CODE ENDS HERE ############################# */
} //* sscs_CacheWriteSecret
/*
* NAME - sscs_CacheRemoveSecret
*
* DESCRIPTION
*
*
*/
int sscs_CacheRemoveSecret
(
void *ssHandle,
unsigned long ssFlags,
SSCS_KEYCHAIN_ID_T *keyChainID,
SSCS_SECRET_ID_T *secredID,
SSCS_PASSWORD_T *epPassword,
void *reserved
)
{
/* ########################## DECLARATIONS START HERE ######################### */
NCSTATUS status = 0;
SCHANDLE hSC = (SCHANDLE)ssHandle;
/* ############################## CODE STARTS HERE ############################ */
status = pISecretStore->lpVtbl->CacheRemoveSecret(
pISecretStore,
0, // session
ssFlags, // flags
keyChainID, // keychainID
secredID,
epPassword,
reserved);
return(status);
/* ############################### CODE ENDS HERE ############################# */
} //* sscs_CacheRemoveSecret
/*
* NAME - sscs_CacheGetSecretStoreInfo
*
* DESCRIPTION
*
*
*/
int sscs_CacheGetSecretStoreInfo
(
void *ssHandle,
unsigned long ssFlags,
SSCS_SECRETSTORE_INFO_T *ssInfo,
void *reserved
)
{
/* ########################## DECLARATIONS START HERE ######################### */
NCSTATUS status = 0;
SCHANDLE hSC = (SCHANDLE)ssHandle;
/* ############################## CODE STARTS HERE ############################ */
status = pISecretStore->lpVtbl->CacheGetSecretStoreInfo(
pISecretStore,
0, // session
ssFlags, // flags
ssInfo, //
reserved);
return(status);
/* ############################### CODE ENDS HERE ############################# */
} //* sscs_CacheGetSecretStoreInfo
/*
* NAME - sscs_GetKeychainInfo
*
* DESCRIPTION
*
*
*/
int sscs_GetKeychainInfo
(
void *ssHandle,
unsigned long ssFlags,
SSCS_KEYCHAIN_ID_T *keyChainID,
SSCS_KEYCHAIN_INFO_T *kcInfo,
void *reserved
)
{
/* ########################## DECLARATIONS START HERE ######################### */
NCSTATUS status = 0;
SCHANDLE hSC = (SCHANDLE)ssHandle;
/* ############################## CODE STARTS HERE ############################ */
status = pISecretStore->lpVtbl->CacheGetKeychainInfo(
pISecretStore,
0, // session
ssFlags, // flags
keyChainID, //
kcInfo,
reserved);
return(status);
/* ############################### CODE ENDS HERE ############################# */
} //* sscs_GetKeychainInfo
/*
* NAME - sscs_LockCache
*
* DESCRIPTION
*
*
*/
int sscs_LockCache
(
void *ssHandle,
unsigned long ssFlags,
void *reserved
)
{
/* ########################## DECLARATIONS START HERE ######################### */
NCSTATUS status = 0;
SCHANDLE hSC = (SCHANDLE)ssHandle;
/* ############################## CODE STARTS HERE ############################ */
status = pISecretStore->lpVtbl->LockCache(
pISecretStore,
0, // session
ssFlags, // flags
reserved);
return(status);
/* ############################### CODE ENDS HERE ############################# */
} //* sscs_LockCache
/*
* NAME - sscs_UnlockCache
*
* DESCRIPTION
*
*
*/
int sscs_UnlockCache
(
void *ssHandle,
unsigned long ssFlags,
SSCS_PASSCODE_T *passcode,
void *reserved
)
{
/* ########################## DECLARATIONS START HERE ######################### */
NCSTATUS status = 0;
SCHANDLE hSC = (SCHANDLE)ssHandle;
/* ############################## CODE STARTS HERE ############################ */
status = pISecretStore->lpVtbl->UnLockCache(
pISecretStore,
0, // session
ssFlags, // flags
passcode,
reserved);
return(status);
/* ############################### CODE ENDS HERE ############################# */
} //* sscs_UnlockCache

75
micasadk/sscsndk.rc Normal file
View File

@@ -0,0 +1,75 @@
/***********************************************************************
*
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; version 2.1
* of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, Novell, Inc.
*
* To contact Novell about this file by physical or electronic mail,
* you may find current contact information at www.novell.com.
*
***********************************************************************/
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
#include "ssbldver.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION WSS_BLD_NO
PRODUCTVERSION WSS_BLD_NO
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", SSS_WCLIENT_STRING "\0"
VALUE "CompanyName", SSS_COMPANY_STR "\0"
VALUE "FileDescription", SSS_NSSS_PR_STRING "\0"
VALUE "FileVersion", WSS_BLD_STR "\0"
VALUE "LegalCopyright", SSS_COPYRIGHT_STR "\0"
VALUE "LegalTrademarks", SSS_PATENT_STR "\0"
VALUE "OriginalFilename", SSS_NSSS_STR "\0"
VALUE "ProductName", SSS_PRODUCT_STR "\0"
VALUE "ProductVersion", GSS_BLD_STR "\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // !_MAC

107
micasadk/windows/Makefile.am Executable file
View File

@@ -0,0 +1,107 @@
#######################################################################
#
# Copyright (C) 2006 Novell, Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
#
#######################################################################
if DEBUG
TARGET_CFG = Debug
CFLAGS += -v -w
else
TARGET_CFG = Release
endif
SUBDIRS =
DIST_SUBDIRS =
EXTRA_DIST = $(SFILES)
CASAROOT = ../..
CASALIBDIR = $(CASAROOT)/lib
if LIB64
CASABINDIR = $(CASAROOT)/bin64
else
CASABINDIR = $(CASAROOT)/bin
endif
OBJDIR = ./$(TARGET_CFG)/$(LIB)
# handle Mono secondary dependencies
export MONO_PATH := $(MONO_PATH)
PLATFORMINDEPENDENTSOURCEDIR = ..
PLATFORMDEPENDENTSOURCEDIR = .
MODULE_NAME =micasa
MODULE_EXT =dll
SFILES = $(CASAROOT)/vs_solutions/CASAInstall/CASA.sln
PROJECT_NAME= micasa
CUR_DIR := $(shell pwd)
all: $(MODULE_NAME).$(MODULE_EXT)
#
# Pattern based rules.
#
vpath %.c $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
vpath %.cpp $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
$(MODULE_NAME).$(MODULE_EXT): $(OBJDIR) devenv
@echo [======== Building Solution $(SFILES) ========]
# cp -f ../micasa.def .
# cp -f ../c_micasadk.vcproj .
"$(VSINSTALLDIR)/devenv" /rebuild $(TARGET_CFG) /project $(PROJECT_NAME) $(SFILES) /out build.log
cp -f ../$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT) $(CASALIBDIR)/$(TARGET_CFG)
devenv:
@if ! test -x "$(VSINSTALLDIR)/devenv.exe";then echo "Error: MS Studio .NET is currently required to build MSI and MSM";exit 1;fi
$(OBJDIR):
@echo [ ==creating lib dir ===]
[ -d $(OBJDIR) ] || mkdir -p $(OBJDIR)
[ -d $(CASABINDIR) ] || mkdir -p $(CASABINDIR)
[ -d $(CASALIBDIR) ] || mkdir -p $(CASALIBDIR)
[ -d $(CASALIBDIR)/$(TARGET_CFG) ] || mkdir -p $(CASALIBDIR)/$(TARGET_CFG)
install-exec-local: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT)
$(mkinstalldirs) $(DESTDIR)$(libdir)
$(INSTALL_PROGRAM) $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(DESTDIR)$(libdir)/
uninstall-local:
cd $(DESTDIR)$(libdir); rm -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT)
rmdir $(DESTDIR)$(libdir)
clean-local:
if [ -d $(TARGET_CFG) ]; then rm -rf $(TARGET_CFG); fi
if [ -d ../$(TARGET_CFG) ]; then rm -rf ../$(TARGET_CFG); fi
if [ -f build.log ]; then rm -f build.log; fi
distclean-local:
maintainer-clean-local:
rm -f Makefile.in